
- •Раздел 1. Формальная теория вычислимости
- •1. Интуитивное определение алгоритма. Примеры алгоритмов
- •2. Способы записи алгоритмов
- •3. Свойства алгоритмов
- •4. Исполнители и алгоритмы в школьной информатике
- •1. Машина Поста
- •2. Нормальные алгорифмы Маркова
- •2. Не распознаваемость самоприменимости машины Тьюринга
- •1. Примитивно-рекурсивные функции
- •2. Частично-рекурсивные и общерекурсивные функции
- •1. Перечислимые и разрешимые множества
- •2. Перечислимость и вычислимость
- •1. Универсальные функции и множества
- •2. Главные универсальные функции и множества
- •1. Нумерации
- •2. Теорема о неподвижной точке
- •Раздел 2. Формальные языки и грамматики
- •1. Понятие формального языка
- •2. Операции над языками
- •4. Иерархия языков по Хомскому
- •1. Конечные автоматы
- •2. Характеризация праволинейных языков
Раздел 1. Формальная теория вычислимости
Лекция № 1. Интуитивное представление об алгоритме
1. Интуитивное определение алгоритма. Примеры алгоритмов
2. Способы записи алгоритмов
3. Свойства алгоритмов
4. Исполнители и алгоритмы в школьной информатике
1. Интуитивное определение алгоритма. Примеры алгоритмов
«Последовательность действий, которую необходимо выполнить для достижения цели, принято называть алгоритмом», – таково интуитивное понимание термина «алгоритм» на уровне его бытового использования.
Появление понятия «алгоритм» связывают с именем узбекского математика IX века Мухаммеда аль-Хорезми. Латинский перевод (XII век) его сочинения об арифметики начинался словами «Dixit Algorizmi» и, поскольку оно было очень популярно в Европе, то имя автора вскоре стало нарицательным. Европейские математики в средние века алгоритмом называли арифметику, основанную на позиционной системе счисления. |
|
Мухаммед аль-Хорезми |
В современных школьных и вузовских учебниках по информатике термин «алгоритм» интерпретируется различным образом.
|
Под алгоритмом понимается строгая, конечная система правил, инструкций для исполнителя, определяющая некоторую последовательность действий и после конечного числа шагов приводящая к достижению поставленной цели. |
|
Алгоритм есть описание способа решения задачи, достижения цели, а собственно решение задачи или выполнение действий по данному способу является исполнением алгоритма. |
При таком широком подходе к интерпретации термина «алгоритм», алгоритмами называют: кулинарные рецепты, нотную запись мелодии, чертеж детали и т.д. В этом контексте обоснованным выглядит и утверждение:
|
«Алгоритмы – это способ фиксации и передачи знаний, накопленных человечеством, это богатство культуры, науки и техники»1. |
Из глубины веков дошел до нас алгоритм Евклида нахождения наибольшего общего делителя. Вот так выглядел приведенный в его знаменитых Началах пример нахождения НОД чисел 7200 и 3132: 7200=23132+936 3132=3936+324 936=2324+288 324=1288+36 288=8 36. |
|
Евклид |
За несколько веков до нашей эры греческий математик Эрастосфен предложил способ поиска простых чисел. Натуральные числа записывались от 1 до определенного числа. После чего из этого ряда вычеркивалась 1, затем все числа кратные 2 (за исключением 2); затем – кратные 3 (за исключением 3), затем все числа кратные 5 (за исключением 5) и т.д. «Записи» греки делали на натянутом папирусе, числа не вычеркивали, а выкалывали. В конце вычислений папирус напоминал решето, и потому способ получил название «решето Эратосфена. |
|
Эратосфен |
С тех пор было разработано множество различных алгоритмов, которые записываются разнообразными способами.