a
Заметим, что разность
Когда примитивная операция Ф нелинейна, значение
Здесь ek – новый шумовой символ и zk – верхняя граница ошибки аппроксимации. Выбор линейной аппроксимации должен принимать во внимание диапазоны операндов, которые подразумеваются аффинными формами
Важно заметить, что для дифференцируемой операции Ф граница ошибки zk хорошей чебышевской аппроксимации зависит квадратично от диапазонов операндов ||
Адекватные аппроксимационные алгоритмы были разработаны для основных арифметических операций и трансцендентных функций [5]. Например, при умножении двух аффинных форм
z0 = x0y0, zi = x0yi + y0xi, zk = ||
Граница ошибки ||
Как описывалось применительно к IA, формулы для оценки примитивных функций в AA могут быть автоматически объединены в формулы для произвольно сложных функций. Этот факт и возможность преобразования позволяют AA просто заменить IA.
В качестве простого примера того, как AA обрабатывает проблему зависимости, рассмотрим оценку z = x(10 – x) в AA для x в интервале [4, 6]:
10 –
[
Т.о. AA вычисляет оценку очень близкую к [24, 25] – действительному диапазону z. С другой стороны, IA оценка есть [16, 36]. Если выражение x(10 – x) раскрыто в 10x – x2, то IA оценка становится значительно хуже, [4, 44], в то время как оценка в AA точна – [24, 25].
Смешанная интервально-аффинная арифметика
Преимущество аффинной арифметики над интервальной арифметикой всецело зависит от ее способности определить и использовать зависимости между операндами. Когда такая зависимость отсутствует, или случайно согласуется с консервативными предположениями IA, AA оценки могут быть шире, чем в IA – даже не смотря на то, что аффинная арифметика более точна, чем интервальная.
Объяснением этого парадоксального факта служит то, что IA пытается окружить график каждой элементарной функции ортогональным параллелепипедом минимального вертикального размера, в то время как AA ищет наклонный параллелепипед минимального объема. Например, рассмотрим операцию возведения в квадрат z = x2, для xÎ[1, 3]. IA дает (узкий) диапазон [1, 9] для z; а AA представляет x как
Этот недостаток оценок диапазонов в AA, к сожалению, имеет тенденцию проявляться, когда в функции ¦ преобладают члены, подобные квадрату, оцениваемые возле своего минимума – именно там, где нам нужны точные нижние границы.
Эта проблема может быть решена путем объединения IA с AA. В этой смешанной модели каждая величина x представлена и аффинной формой
Управление ошибкой округления
Когда используется точная арифметика, IA и AA всегда вычисляют математически допустимые границы для диапазона значений последовательности операций. Эти границы могут включать реальный диапазон, но они всегда правильны. Однако IA и AA, будут выполняться на цифровом компьютере, который использует арифметику с плавающей точкой, которая подвержена ошибкам округления. Но все же IA и AA способны произвести математически допустимые границы на любом вычислительном устройстве, поддерживающем контроль над округлением. Наиболее современные вычислительные архитектуры обеспечивают контроль над ошибками округления, реализуя IEEE стандарт чисел с плавающей точкой [4].