189
правок
Изменения
→Bounding box
{{Определение
|definition =
}}
Распишем подробнее:<tex dpi =120>(c - a)\times(b - a) = Примеры (c_x - a_x)(b_y - a_y) - (c_y - a_y)(b_x - a_x) =V</tex> Какие при этом у нас будут погрешности? Допустим, что все числа положительные и будем писать без модулей: '''Замечание:''' при сложении складываются абсолютные погрешности, при умножении складываются относительные погрешности. <tex dpi ="150"> \delta (c - a)\times(b - a) = A \varepsilon \left(\frac{(c_x + a_x)}{(c_x \cdot a_x)} + \frac{(b_y + a_y)}{(b_y \cdot a_y)}\right) + B \varepsilon \left(\frac{(c_y + a_y)}{(c_y \cdot a_y)} + \frac{(b_x + a_x)}{(b_x \cdot a_x)}\right)</tex> Именно поэтому, когда угол между отрезками АВ и АС ''крайне мал'', мы можем получить неверное значение предиката. [[Файл:Tiny_angle.jpg]] Заметим, что все координаты (а, значит, и наши вычисления) производятся в вещественных числах, а это значит, что при вычислениях мы можем допустить ошибку. Распишем вещественное исчисление: <tex dpi = 140>V = (c - a)\times(b - a) \approx (c_x \ominus a_x)\otimes(b_y \ominus a_y) \ominus (c_y \ominus a_y)\otimes(b_x \ominus a_x) =</tex> <tex dpi = 130>= \big((c_x - a_x)(b_y - a_y)(1 + \delta_1)(1 + \delta_2)(1 + \delta_3)\ -</tex>
<tex dpi = 130>-\ (c_y - Например, обозначим предикатом EQa_y)(b_x - a_x)(1 + \delta_4)(x, y1 + \delta_5) отношение равенства («x 1 + \delta_6)\big)(1 + \delta_7) = y»), где ''x'' и ''y'' принадлежат множеству вещественных чисел. В этом случае предикат EQ будет принимать истинное значение для всех равных x и y.\tilde{V}</tex>
<tex dpi = 130>\mid\delta_i\mid \le \varepsilon_m = 2^{- Более житейским примером может служить предикат ПРОЖИВАЕТ(x, y, z) для отношения «x проживает в городе y на улице z» или ЛЮБИТ(x, y) для «x любит y», где множество ''M'' — это множество всех людей.54}</tex>;
Получим некую окрестность <tex dpi = 130>|V - \tilde{V}| \le 8 \varepsilon_m</tex>, если ноль попадает в наш интервал, то приходится пользоваться более тяжелой артиллерией, такими как [[Adaptive precision arithmetic|''adaptive precision arithmetic'']], либо [[Интервальная арифметика |''интервальная арифметика'']]. Во второй, исходные переменные будут вырожденными интервалами. Из-за погрешностей, возникающих при округлении вещественных чисел, истинные значения операций нам будут неизвестны, но они обязательно будет содержаться в посчитанных интервалах.