воскресенье, 22 декабря 2019 г.

Заключительный этап


Как выбрать лучшее решение.
Команда Феникс, Студенты факультета математики и информатики Гродненский государственный университет имени Янки Купалы
В современном мире, где компьютерные технологии прочно вошли в жизнь человека, роль вычислительных ошибок может быть очень велика. Существуют множество примеров, когда ошибки, возникающие при компьютерных расчетах, приводили к серьезным экономическим, медицинским, строительным, авиационным, этическим и другим проблемам.



Сетевой проект “Крушение иллюзий” поставил перед нами следующие вопросы: 
  • Как увидеть проблему?
  • Как выбор пути решения влияет на результат? 
  • Почему нужно добиваться высокой точности результата?
Ответы на эти вопросы и помогли нам ответить на основополагающий вопрос проекта: Как выбрать лучшее решение?

С первым вопросом «Как увидеть проблему?», мы встретились на первом этапе проекта, который назывался «Ахиллесова пята».
Нам было дано равенство   (a2-b2)/(a-b)=a+b
     Необходимо было:
1) решить полученную задачу, перебирая различные значения данных;
2) получить несколько значений данных, доказывающих, что равенство верно не всегда;
3) провести исследование на некоторых числовых промежутках, определяя частоту возникновения противоречивых результатов.
     Нами была написана программа для решения данного равенства на языке С++. Выяснилось, что при 100 проверках результат несовпадения - 37%.  Примером таких значений могут быть a=1.82 ; b=5.82 .
    
 На этапе «Архимедов рычаг» мы искали ответ на вопрос: Как выбор пути решения влияет на результат?
Для полученного выражения (1-1/4)(1-1/9)(1-1/16)...(1-1/n^2)=(n+1)/(2*n)
      Необходимо было:
1) получить решение предложенной задачи с помощью не менее двух различных вычислительных схем;
2) выбрать наиболее точный путь решения.
 К данной задаче мы написали программу, по которой определили, что наиболее точное решение при 1000 проверок дает схема слева направо.

На следующем этапе «Нить Ариадны» мы отвечали на вопрос: “Почему нужно добиваться высокой точности результата? Нами было рассмотрено несколько ситуации для того, чтобы ответить на поставленный вопрос. Смоделировали эти ситуации.

В блоге нашей команды представлены результаты всех этапов и экспериментов.

   
В итоге мы сформулировали следующее правило выбора лучшего решения вычислительной задачи.
Ответ:
1) понять, что в контексте данной задачи является лучшим решением;
2) оценить возможно допустимую погрешность при вычислениях данной задачи;
3) продумать, можно ли использовать упрощенное выражение для данных вычислений (чем меньше действий, тем меньше отклонений от точного результата);
4) при операции сложения, лучше выбирать схему "справа налево", при умножении - "слева направо".
     Это и будет лучшее решение!

Комментариев нет:

Отправить комментарий