Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория Алгоритмов (лекции).doc
Скачиваний:
10
Добавлен:
15.11.2018
Размер:
64 Кб
Скачать

Лекция 1. Введение. Интуитивное понятие об алгоритмах.

Понятие алгоритма — одно из основных понятий современной математики. Еще на самых ранних этапах ее развития ( Древняя Греция, Вавилон, Египет) в ней стали возникать процессы сугубо механического характера. Указанные процессы позволяли на базе исходных данных получать решение задачи с помощью определенных правил или инструкций. Со временем эти процессы получили название алгоритмы.

Сам термин алгоритм происходит от имени узбекского математика Аль-Харезми. Он в IX веке впервые сформулировал правила 4 математических действий в десятичной системе исчисления.

Процесс выполнения этих действий получил название «алгоризм».

С 1747 года вместо термина «алгоризм» стали употреблять «алгорисмус», понимая под этим комбинацию 4 действий (+ - * /)

С 1950 года вместо алгорисмуса стали употреблять алгорифм. Смысл этого термина наиболее часто связывали с алгорифмами Эвклида. Таким образом вплоть до 30-х годов ХХ века понятие алгоритма имело болше методологическое значение, чем математическое.

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

Это определение является интуитивным (не строгим, не математическим), поскольку в нем не содержаться строгие характеристики того, что следует понимать под классами задач и методами их однозначного решения.

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

Положение существенно изменилось, когда на передний план выдвинулись алгоритмические проблемы, положительное решение которых оказалось сомнительным. Например, в XVII веке Готфрид Лейбниц пытался найти общий алгоритм решений любых математических задач. Этот грандиозный замысел не был осуществлен, но и не был забыт, и несколько позже приобрел другую, более конкретную форму: найти алгоритм проверки правильности любой теоремы при любой системе аксиом.

Таким образом, постепенно возникало предположение, что рассматриваемые задачи являются «алгоритмически неразрешими». Это привело к тому, что потребовалось четкая формулировка алгоритма.

Существование алгоритма можно доказать посредством его фактического описания, а алгоритмическую неразрешимость таким путем доказать невозможно, следовательно для этого необходимо иметь четкие математические представления об алгоритмах.

В 20-х годах ХХ века задача строго определения понятия алгоритма стала одной из центральных математических проблем.

Решение этой задачи было получено в середине 30-х годов в трудах таких авторов, как Гилберт, Гёдель, Гьюринг, Клини, Пост, Черг.

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

В 50-х годах в работах Маркова и Калужина появилась несколько иная трактовка понятия алгоритма, основана на конструктивных отображениях между словами в абстрактных алфавитах.

Первоначально, теория алгоритмов возникла в связи с внутренними потребностями математики. В процессе развития в математических не числовых объектах (абстрактная алгебраическая теория, не Эвклидовая геометрия) возникла необходимость пересмотра самих принципов математических рассуждений (в частности при создании теории множеств традиционные рассуждения приводили к парадоксам).

Таким образом возник специфический раздел, где вместо традиционных используются финитные методы рассуждения (конечные действия, над конечным числом объектом).