Технологии Microsoft в теории и практике программирования


Технологии Microsoft в теории и практике программирования - стр. 85


Хитрик Д. В.

Обнинский государственный технический университет атомной энергетики (ИАтЭ), Факультет естественных наук

г. Обнинск, Калужская область

 

Оценка неопределённости вычислений, интервальные вычисления и апостериорный интервальный анализ. Существующие вычислительные программы можно заставить оценивать неопределённость результата автоматически, если вместо стандартного типа чисел с плавающей запятой использовать интервальный тип, для которого переопределены все основные арифметические операции. Этот приём, названный интервальным анализом [1], не требует написания дополнительного кода, а также даёт гарантированную оценку результату. Однако, результирующая погрешность при нарастании количества операций быстро растёт, и рассчитанная оценка может оказаться бессмысленной.

Схема апостериорного интервального анализа [2] учитывает формальные связи между операндами функции, обеспечивая уменьшение погрешности при усложнении оцениваемой функции. Схема состоит из двух этапов, на первом этапе проводятся обычные интервальные вычисления для оценки значения функции и её производных, а также динамически формируется код второй фазы. Во второй фазе производится расчет уточнённой погрешности на основе формулы конечных приращений. Как показывают эксперименты, апостериорный анализ может дать более точную оценку погрешности. Реализация схемы апостериорного анализа предполагает решение задачи автоматического дифференцирования функции, заданной программой.

Почему .Net? Схема апостериорного анализа была реализована для .Net Framework [3] по следующим причинам:

  • обеспечивается простой доступ к исполняемому коду,
  • привлекательной оказалась стековая модель вычислений в MSIL,
  • в рамках .Net Framework уже реализованы множество библиотек, которые избавили от необходимости задумываться над вспомогательным кодом.

Трехадресный код и стековая модель CLR. Разработка схемы апостериорного интервального анализа производилась в терминах трёхадресного кода. Потребовалось перейти от трёхадресной модели к стековой.




- Начало -  - Назад -  - Вперед -



Книжный магазин