Этап "Нить Ариадны"

Тема исследования: Почему нужно добиваться высокой точности в вычислительной работе?

Объект исследования: компьютерная арифметика.
Цель исследования: Выявить влияние "плохой" погрешности на события, процессы окружающей действительности.
Задачи исследования:
  1. Сформировать понимание важности проблемы точности компьютерных вычислений.
  2. Научиться составлять план проведения экспериментальной работы.
  3. Научиться анализировать результаты экспериментальной работы.
  4. Научиться организовать поиск информации..
  5. Научиться анализировать информацию, выделять главное и представлять результаты анализа в адекватной форме.

Ход исследования:
Одним из примеров с точность компьютерных вычислений является расчет вычисления суммы начисления в банке по вкладу.

Задача: "Банк "ИНВЕСТИЦИИ" начисляет выгодные проценты по вкладам. Какова будет сумма вклада, положенная гражданином И. на 5 лет под 7,5%, если он внес 1233 тыс. рублей".



Получается, что сумма вклада становится равной 1770,1309591699217 тыс. руб и погрешность будет увеличиваться с каждым годом.

Если вычислить сумму вклада с помощью онлайн-калькулятора, то сумма вклада через пять лет будет равна 1695,459 тыс. руб.


Вычислив разницу между данными суммами, получаем: 74,671959169921 тыс.руб.

Получается, что компьютер наращивает сумму вклада из-за погрешности суммирования вещественных чисел.

Конечный продукт




Исторический пример "плохой" погрешности 

Ошибка Pentium FDIV

Ошибка Pentium FDIV — это ошибка в модуле операций с плавающей запятой в оригинальных процессорах Pentium, выпускавшихся фирмой Intel в 1994 году. Ошибка выражалась в том, что при проведении деления над числами с плавающей запятой при помощи команды процессора FDIV в некоторых случаях результат мог быть некорректным



Воспроизведение ошибки

Воспроизвести ошибку можно самостоятельно в приложениях, которые используют математический сопроцессор при работе с числами с плавающей запятой.
4195835.0/3145727.0 = 1.333 820 449 136 241 002 (правильное значение)
4195835.0/3145727.0 = 1.333 739 068 902 037 589 (ошибочное значение, возвращаемое процессором, содержащим дефект)
Более наглядный способ воспроизведения:
4195835*3145727/3145727 = 4195835 (при умножении и делении на одно и то же число получаем исходное число)
4195835*3145727/3145727 = 4195579 (ошибочное значение, возвращаемое процессором, содержащим дефект)

Методы защиты

  • В компиляторе Delphi предусмотрена опция Pentium Safe FDIV, заставляющая компилятор вместо использования ассемблерной команды FDIV в коде программы применять вызов специальной процедуры, которая при первом вызове производит проверку наличия ошибки, и, в зависимости от результата, при этом и последующих вызовах либо выполняет простой FDIV, либо производит коррекцию результата.
  • В компиляторе Visual Basic предусмотрена проверка наличия данной ошибки, которая включена по умолчанию. Однако она отключается специальной опцией компилятора — Remove Safe Pentium™ FDIV Checks. В случае её включения компилятор не генерирует дополнительного кода и в некоторых случаях скорость вычислений возрастает.


Ответ на вопрос: 

Почему нужно добиваться высокой точности в вычислительной работе?


Даже незначительные ошибки в вычислительной работе могут привести к большим проблемам в научных экспериментах, экономике, медицине, бизнесе и других сферах.

Перефразируя известное выражение можно сказать: "Сто раз проверь, один раз запусти программу в свет!"

Бонусное задание





Mind Map created by Татьяна Рязанова with GoConqr

3 комментария:

  1. Молодцы: отличный пример демонстрации негативного влияния погрешности компьютерных вычислений на результаты решения банковской задачи!

    ОтветитьУдалить
  2. СУПЕРРР РОЛИК! НАША КОМАНДА В ВОСТОРГЕ!

    ОтветитьУдалить
  3. Уважаемые экспериментаторы, проведенные вами исследования подтверждают практическую значимость проблемы точности компьютерных вычислений в реальной действительности. Ваши выводы и предложения по организации вычислительной работы на компьютере, имеют практическое значение. Прекрасное представление результатов вашей работы: двух примеров в двух видеороликах с использованием различных сервисов! Наличие ссылок на источники! Всё это вызывает уважение к вашему трудолюбию, компетентности, профессионализму. До встречи на заключительном этапе!

    ОтветитьУдалить