книги / Математическая логика и теория алгоритмов. Анализ алгоритмов
.pdfДжон Бэкус
(John Backus, 1924–2007)
Петер Наур
(Peter Naur, род. 1928)
Джон Маккарти
(1927–2011)
Он был руководителем команды, разработавшей первый высокоуровневый язык программирования Фортран, изобретателем формы Бэкуса – Наура, одной из самых универсальных нотаций, используемых для определения синтаксиса формальных языков. Петер Наур – датский учёный в области информатики, один из пионеров компьютерной науки.
Наур известен также как один из разработчиков первого языка структурного программирования«Алгол60».
Так называемое λ-исчисление реализовано Джоном Маккарти в языке Лисп.
Дональд Кнут – американский учёный, иностранный член Российской академии наук, преподаватель и идеолог программирования.
Широко известна книга Дональда Кнута «Искусство программирова-
ния»(TheArtofComputerProgramming,
Дональд Кнут (род. 1938)
11
vol.1: Fundamental Algorithms). Боль-
шее влияние на юного Дональда Кнута оказали работы советского ученого Андрея Петровича Ершова, одного из пионеров отечественного теоретического и системного программирования, создателя сибирской школы информатики, академикаАН СССР.
Кнут вспоминал: «Когда я был студентом последнего курса, появилась книга Андрея «Программирование для БЭСМ», и мы,
группа студентов, смогли убедить преподавателя русского языка включить её вкурс в качестве одного из двух сборников текстов для изучения научной лексики на русском языке». Впоследствии Д. Кнут и А.П. Ершов стали друзьями.
В теории рекурсивных функций как одной из моделей алгоритмов описывается знаменитая функция Аккермана (всюду определённая вычислимая функция, которая не является примитивно рекурсивной). Аккерман – немецкийматематики логик.
Другой моделью алгоритма является так называемый нормальный алгорифм (алгоритм) Маркова (НАМ). А.А. Марков советский математик, основоположник советской школы конструктивной математики.
С 1959 по 1979 г. – заведующий кафедрой математической логики Московского государственного университета. Называются «алгорифмы» Маркова, а не «алгоритмы», так их назвал сам А.А. Марков, подчеркивая арабо-греческую этимологию слова. Интересно, что в дореволюционных российских энциклопедиях и учебниках использовалось слово «алгориϕм».
12
Отцом А.А. Маркова был другой выдающийся российский математик, это в честь его назван тип графов – марковские цепи.
Алгоритм может быть реализован не только программно (в терминах «софта»), но и аппаратно, соответственно сложность алгоритма может быть описана в терминах «железа».
В этом плане мы коснёмся теории автоматов. Иногда встречается название раздела математической логики, включающее автоматы: «Теория алгоритмов и автоматов». Клини Стефан Коул внёс огромный вклад в теорию конечных автоматов (теорема Клини, «звёздочка» Клини*, означающая итерацию, повторение символа).
Клини ввёл понятие «рекурсивная функция». Значительный вклад в теорию автоматов, вообще в математику, в том числе в дискретную и в математическую логику, внес и Виктор Михайлович Глушков.
В.М. Глушков – выдающийся советский кибернетик, академик. Сейчас это понятие редко употребляется. Под его руководством в 1966 г. была разработана первая персональная ЭВМ «МИР-1» (машина для инженерных расчётов). Метод синтеза автоматов назван метод Хаффмана – Глушкова. Алгоритмическая логика была им сформулирована ещё доХоара.
АндрейАндреевичМарков
(1903–1979)
КлиниСтефанКоул
(1909–1994)
ВикторМихайлович Глушков(1923–1982)
13
Один из авторов слышал легенду о том, что Виктор Михайлович якобы после защиты докторской диссертации был назначен преподавателем в Пермский государственный университет, на мехмат, но его направление дискретной математики в то время (в конце 50-х гг.) оказалось не востребовано. В «Википедии» же есть упоминание о работе на Урале «в одном из учреждений зарождающейся атомной промышленности» и о заведовании им кафедрой теоретической механики Уральского лесотехнического института тогда в Свердловске (сегодня Екатеринбург). Дальнейшая его деятельность связана с Украиной, Киевом и Вычислительным центром Академии наук Украинской Советской Социалистической Республики.
Логические схемы алгоритмов были предложены А.А. Ляпуновым.
Первую в СССР кафедру дискретной математики в МГУ возглавил Олег Борисович Лупанов – советский, российский математик, академик РАН, декан механико-математического факультета МГУ (1980–2006).
АлексейАндреевичЛяпунов |
ОлегБорисовичЛупанов |
(1911–1973)–выдающийсясоветский |
(1932–2006) |
математик,одинизосновоположников |
|
кибернетики,член-корреспондент |
|
АНСССР |
|
14
С именем О.Б. Лупанова (помимо самого Тьюринга) связана всемирно известная проблема самоприменимости в теории алгоритмов, асимптотические оценки сложности булевых функций.
Как известно, задачи (проблемы) с точки зрения теории алгоритмов делятся на P-(polynomial) полиномиальные, E-экспонен-
циальные, NP (non-deterministic polynomial) не детерминирован-
но-полиномиальные и NPC – (NP-complete) NP-полные (рис. В.1).
Рис. В.1. Классификация задач (проблем)
В настоящее время активно развивается такое направление теории алгоритмов, как эволюционные вычисления (например, так называемые генетические алгоритмы). Джон Генри Холланд (John Henry Holland) – американский учёный, профессор психологии, профессор электротехники и информатики в Мичиганском университете.
Холланд известен как «отец» генетических алгоритмов. И они уже, по существу, не совсем-то и алгоритмы…Здесь речь идёт уже
ДжонГенриХолланд
(JohnHenryHolland) (род.1929г.)
15
о специфических процессах решения переборных задач на основе моделирования эволюции живых организмов. Как ни странно это констатировать в наше цифровое время, алгоритмам подвластна совсем небольшая часть задач. Алгоритмы бессильны в области задач очень высокой сложности, например, распознавания сложных образов (запахов, не дай Бог! нехороших веществ, что крайне актуально при обеспечении безопасности в наше неспокойное время). Многие практические «интеллектуальные» задачи сегодня решаются методами моделирования работы нашего «бортового компьютера» – головного мозга. Это так называемые нейросетевые алгоритмы. И такие алгоритмы уже совсем не алгоритмы. Там задачи решаются не с использованием программирования в привычном нам смысле слова, а с помощью предварительного обучения нейронной сети на примерах. А обучение – это и есть цель предлагаемого учебного пособия!
Другим перспективным направлением являются так называемые квантовые вычисления. Один из пионеров в области квантовых вычислений – Дэвид Дойч.
Дэвид Дойч (David Elieser Deutsch, род. 1953 г.) –
британский физик-теоретик израильского происхождения, работающий в Оксфордском университете
Имеется модель «квантовой» машины Тьюринга. Вместо битов и байтов используются так называемые кубиты (рис. В.2), которые могут быть не в одном, а одновременно в нескольких состояниях (в суперпозиции классических разрешённыхсостояний).
16
Рис. В.2. Кубит
Важным направлением анализа алгоритмов является распознавание так называемых вредоносных алгоритмов (компьютерных вирусов). Известный изобретатель приемов защиты от компьютерных вирусов – Фредерик Б. Коэн.
Известно доказательство алгоритмической неразрешимости задачи определения вируса, которое Коэн выполнил в терминах машины Тьюринга. Известным отечественным специалистом в этой области является Е.В. Касперский.
ФредерикБ.Коэн |
|
(FrederickB.Cohen)(род.1956г.)– |
ЕвгенийВалентинович |
американскийинформатик |
Касперский(род.1965г.) |
17
Вопросы анализа алгоритмов рассматриваются в таких всемирно известных книгах, как, например, книга Альфреда Ахо «Компиляторы».
Альфред Ахо (Alfred Vaino Aho, род. 1941 г.) –
канадский учёный-информатик, один из создателей языка AWK
(Alfred Aho, Peter Weinberger, Brian Kernighan)
Одним из соавторов Ахо является другой всемирно известный учёный – Джеффри Дэвид Ульман.
Джеффри Дэвид Ульман (Jeffrey David Ullman) (род. 1942 г.) –
исследователь в области информационных технологий – Стэнфордский университет, США
Другой известной книгой является книга Томаса Кормена «Алгоритмы. Построение и анализ».
18
Томас Кормен (Thomas H. Cormen, род. 1956 г.)
и его книги. Дартмутский колледж, США
Его соавторы – Чарльз Лейерсон, Клиффорд Штайн.
Чарльз Лейерсон (Charles Eric |
Клиффорд Штайн (Clifford Seth |
Leiserson, род. 1953 г.) – |
Stein, род. 1965 г.) – американский |
американский специалист |
специалиствобластикомпьютерных |
вобластиинформатики,профессор |
наук,Колумбийскийуниверситет |
Массачусетскоготехнологического |
(Нью-Йорк, США) |
института, США |
|
Третьим соавтором является Рональд Ривест, одни из разработчиков алгоритма RSA (аббревиатура от фамилий Rivest, Shamir и Adleman).
19
Рональд Ривест (Ronald Linn Rivest,род.1947г.)–американский специалистпокриптографии, Массачусетскийтехнологический институт
ЛеонардМаксАдлеман(Leonard Adleman,род.1945г.),США
АдиШамир(род. 1952г.), лауреатпремииТьюринга
Shamir – это Ади Шамир известный израильский криптоаналитик, учёный в области теории вычислительных систем (Тель-Авивский университет, Институт Вейцмана).
Adleman – это Леонард Макс Адлеман – американский учёный-теоретик в области компьютерных наук, профессор компьютерных наук и молекулярной биологии в Университете Южной Калифорнии.
В нашем городе проблематикой анализа сложности алгоритмов занимался Александр Иванович Миков, советский, российский математик, доктор физико-математических наук, профессор, декан (1984–1989),
20