Тип работы:
Предмет:
Язык работы:


Применение самореферентной формулы Таппера для больших объемов данных

Работа №115899

Тип работы

Бакалаврская работа

Предмет

программирование

Объем работы46
Год сдачи2020
Стоимость4750 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
27
Не подходит работа?

Узнай цену на написание


Аннотация 2
ВВЕДЕНИЕ 5
ГЛАВА 1 САМОРЕФЕРЕНТНАЯ ФОРМУЛА ТАППЕРА 8
1.1 Общая постановка задачи 8
1.2 Формула Таппера 9
1.3 Анализ существующих решений 11
ГЛАВА 2 РАЗРАБОТКА АЛГОРИТМА 15
2.1 Анализ вычислительного алгоритма 15
2.2 Анализ методов программной реализации 18
ГЛАВА 3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ И АНАЛИЗ 21
3.1 Разработка программного обеспечения 21
3.2 Формирование графического интерфейса 28
3.3 Проведение сравнительного анализа 33
ЗАКЛЮЧЕНИЕ 43
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 45

С появлением компьютеров в математическом мире произошли сильные изменения. Спустя столетия трудов таких математиков, как Рене Декарта, Карла Фридриха Гаусса, Леонарда Эйлера и других, математика стала не только точной наукой, но и наукой о философии. Великие умы стали искать не только объяснения того, как устроен мир, но и эстетику в самой науке. Так, например, в 300 годах до нашей эры Евклид задался вопросом «А какое самое иррациональное число?» и, в поисках ответа на этот не столько научный, сколько эстетический вопрос первым приложил свои руки к открытию так называемого «золотого сечения».
Подобными вопросами задается каждый математик. После ответов на вопросы «как найти площадь окружности?» или «как найти точку пересечения двух прямых», практически любой ученый задается вопросом «а почему окружность?», «а почему параллельные прямые никогда не пересекаются?». В этом и заключается философская сторона математики.
Такой взгляд на мир не только эффективен, но и актуален. Альберт Эйнштейн в 1905 году благодаря философскому взгляду на науку подарил миру физическую концепцию теории относительности, известную всему миру как формулу «Е = м*е²». Пьер-Симон де Лаплас, размышляя о Солнечной системе и ее устройстве, создал фундаментальный труд «Небесная механика».
В 2000 году, Джефф Таппер, размышляя о графике и геометрии открыл формулу, названную в дальнейшем «самореферентной», так как, будучи отображенной на плоскости, создает собственное изображение. Реализовать такой алгоритм сложно, ввиду большого объема данных, которые приходится анализировать.
Реализация данного алгоритма представляет научно-практический интерес. На сегодняшний день существует множество математических проблем, которые невозможно решить, в связи с большими объемами вычислений. В таких случаях принято использовать мощности вычислительных технологий, однако, из-за иного подхода возникает новые проблемы: проблема оптимизации, то есть, как сконструировать программу так, чтобы проводила меньше вычислений или других математических операций; и проблема эффективности, то есть, как сконструировать программу так, чтобы ее можно было использовать на компьютерах с меньшей вычислительной мощностью, или использовать с большими объемами данных. Одним из примеров такой математической задачи является «самореферентная» формула Таппера. На данный момент существует несколько способов решения этой проблемы, которые, либо занимают много времени для решения, либо требуют большой вычислительной мощности. Таким образом, актуальность бакалаврской работы обусловлена отсутствием оптимизированно алгоритма решения математической задачи, поднятой Джеффом Таппером в 2001 году [1]. На примере ее решения и оптимизации можно будет решать и другие математические задачи, требующие работы с большими объемами данных или задачи, требующие большой вычислительной мощности.
Объект исследования - задача отображения графика «самореферентной» формулы Таппера.
Предмет исследования - алгоритм решения задачи и построения соответствующего графика.
Целью выпускной квалификационной работы является программная реализация решения задачи о «самореферентной» формуле Таппера, с применением методов программирования по работе с большими объемами данных.
Для достижения поставленной цели необходимо решить следующие задачи:
1) изучить теоретический материал о «самореферентной» формуле, изучить другие методы решения проблемы;
2) разработать алгоритм для решения задачи оптимизации, основываясь на примере реализованных ранее методов;
3) выполнить программную реализацию разработанного в предыдущей задаче алгоритма;
4) провести исследование эффективности алгоритма, реализованного в предыдущей задаче, на примере алгоритма, разработанного самим Джеффом Таппером;
Выпускная квалификационная работа состоит из введения, трех глав, заключения, списка используемых источников.
В главе 1 рассматривается общая постановка задачи «самореферентной» формулы Таппера, теоретическая информация о «самореферентности» и работе с большими объемами данных. В главе 2 приводится анализ существующих методов решения и формирование вычислительного алгоритма. В главе 3 разрабатывается программное обеспечение и интерфейс программы, а также проводится сравнительный анализ с существующими методами решения. В заключении представлены результаты и выводы о проделанной работе.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Тема бакалаврской работы была посвящена математической проблеме о «самореферентности», а также проблеме работы с большими объемами данных, на примере работы с большими числами.
В ходе выполнения данной работы был изучен теоретический материал, составленный Джеффом Таппером, сформулировавшим проблему. Был изучены несколько методов решения проблемы:
• Метод Джеффа Таппера;
• Метод Мэтта Паркера;
• Метод Джеймса Гриме.
После проведения анализа методов, для проведения дальнейшего сравнительного анализа был выбран последний метод - метод Джеймса Гриме, так как является наиболее эффективным.
В ходе дальнейшего выполнения работы было разработано программное обеспечение на базе языка программирования JavaScript, с использованием библиотеки по работе с большими объемами данных BigNumber. Дополнительно был реализован графический интерфейс на базе языка разметки HTML, для удобства использования и проведения сравнительного анализа.
В качестве примера, для проведения сравнения, был выбран код, разработанный Джеймсом Гриме. Код, практически без изменений, был дан самим Д. Гриме, реализованный на базе языка программирования Python.
Результат проведения сравнительного анализа показал, что с использованием современных методом программирования, в частности, с использованием методом библиотеки BigNumber, получилось оптимизировать работу программы в 8 раз.
Таким образом, на базе реализованного программного обеспечения в дальнейшем можно будет решать и другие математические проблемы, не решенные ранее в связи с нехваткой технического ресурса, доступного в то время, или в связи со слишком большими объемами входных значений.
Программа, реализованная в ходе выполнения бакалаврской работы, также может быть рекомендована для обучения и преподавания такого аспекта математики, как «самореферентность». На примере ее работы и на примере трудов Джеффа Таппера, можно обучать студентов высших учебных заведений на тему решения математических парадоксов.
Таким образом, основным результатом процесса проектирования является программная реализация решения задачи «самореферентности», сформулированная Д. Таппером, и ее дальнейшая оптимизация. Результат этой работы может быть рекомендован в различные сферы математики и информационных технологий, в частности, как описано выше: в разделы о «самореферентности» и математических парадоксах, в математике; или в разделы о работе с большими объемами данных, в информационных технологиях.


1. Tupper, Jeff. «Reliable Two-Dimensional Graphing Methods for Mathematical Formulae with Two Free Variables», [Электронный ресурс]: Режим доступа: http://www.dgp.toronto.edu/people/mooncake/papers;
2. Bailey, D. H.; Borwein, J. M.; Calkin, N. J.; Girgensohn, R.; Luke, D. R.; and Moll, V. H. «Experimental Mathematics in Action». Natick, MA: A. K. Peters, p. 289, 2006;
3. Антонов А.С. Технологии параллельного программирования MPI и OpenMP: Учеб. пособие. Предисл.: В.А.Садовничий. - М.: Издательство Московского университета, 2012.-344 с.;
4. Comba, J.; Stolfi, J. «Affine Arithmetic and its Applications to Computer Graphics. In anais do VI Simp’osio Brasileiro de Compta, c’ao Gr’afica e Processamento de Imagens». (SIBGRAPI ’93), p. 9-18, 1993;
5. Weisstein, E. W. «Tupper’s Self-Referential Formula from MathWorld-A Wolfram Web», [Электронный ресурс]: Режим доступа: http: //mathworld. wolfram.com/T upperSelf-ReferentialF ormual .html.;
6. Marc Gregoire. Professional C++. Third Edition. John Wiley & Sons, Inc., 2014, P. 741-781;
7. Шляпкин А.В., Султанов Т.Г., Поведение потоков в среде исполнения Java [Текст] / Шляпкин А.В., Султанов Т. // Информационные технологии в моделировании и управлении: подходы, методы, решения: сб. статей - Тольятти, 2017. - С. 489-493;
8. Gregory R. Andrews. Foundations of Multhithreaded, Parallel and Distributed Programming. First Edition. University of Arizona, 2003, P. 324-477;
9. Лоусон Б., Шарп Р. Изучаем HTML5. Библиотека специалиста: Учеб. пособие. - П.: Издательский дом «Питер», 2012.-304 с.;
10. Эндрюс Г.Р. Основы многопоточного, параллельного и распределенного программирования / А.С. Подосельник, А.Б. Ставровский, Г.И. Сингаевская - Киев : Вильямс, 2003. - 512 с.;
11. Карпов В. Е. Введение в распараллеливание алгоритмов и программ: учебное пособие/ В.Е. Карпов- М.: Изд-во МФТИ, 2014. - 272 с.Немнюгин С.А. Средства программирования для многопроцессорных вычислительных систем / С.А. Немнюгин. - СПб.: БХВ, 2013. - 88 с.;
12. Scott Meyers. Effective Modern C++. O’Reilly, 2015.MPI: A Message Passing Interface Standard Version 2.2. [Электронный ресурс]: Режим доступа: http://www.mpi-forum.Org/docs/mpi-2.2/mpi22-report.pdf;
13. OpenMP Application Program Interface. Examples. Version 4.0.1 February 2014 [Электронный ресурс]: Режим доступа: http://www.openmp.org;
14. Learning PHP, MySQL, JavaScript, CSS & HTML5: A Step-by-Step Guide to Creating Dynamic Websites Третье издание Автор: Робин Никсон Издательство: Питер: 2015;
15. Pro HTML5 with Visual Studio 2015 Автор: Mark Collins Издательство: Apress: 2015;
...


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ