- •Исторически обзор теории алгоритмов
- •Определение машины Тьюринга
- •Тезис Черча-Тьюринга
- •Машина Маркова
- •Нумерация мт
- •Пример невычислимой функции, построенной по методу диагонализации Кантора.
- •Распознающие машины Тьюринга и языки. Проблема распознавания языков.
- •Неразрешимость проблемы самоприменимости.
- •Неразрешимость проблемы остановки.
- •Другие примеры неразрешимых алгоритмически задач.
- •Методы задания машин Тьюринга.
- •Граф-схемы и их связь диаграммой состояний автоматов.
- •Рекурсивные функции и их построение из простейших.
- •Операторы подстановки, рекурсии и минимизации. Частично рекурсивные функции.
- •Тезис Черча.
- •Рекурсивно перечислимые множества. Связь между рекурсивной перечислимостью и рекурсивностью.
- •Сложность. Подходы к определению сложности алгоритмов.
- •Алгоритмическая, информационная и инфологическая сложность.
- •19. Понятие вычислительной сложности. Примеры ее определения.
- •20. Детерминированная и недетерминированная машина Тьюринга.
- •21. Класс p и np.
- •22. Классы со-np, pspace, npspace.
- •23. Задача выполнимость и теорема с.Кука о полноте задачи выполнимость.
- •24. Другие np-полные задачи. Примеры сводимости в классе np.
- •25. Метод резолюции Робинсона для задачи выполнимость.
- •26. Метод отсечение литер для задачи выполнимость.
- •27. Метод групповых резолюций для задачи выполнимость.
- •28. Гипотеза p≠pn и ее обоснование.
- •29. Дерево решений. Эвристическая оценочная функция.
- •30. Распознавание регулярных языков.
Машина Маркова
Тезис Маркова: Для любой интуитивно вычислимой функции существует алгоритм, ее вычисляющий. Это что-то сродни Машине Тьюринга в том смысле, что применялось в основном для анализа таких проблем как алгоритмическая разрешимось задач. Суть этих самых алгоритмов Маркова в следующем. Задача для алгоритмов Маркова ставится в виде: найти алгоритм (написать программу) переводящую любую строку S (заданную на некотором алфавите (т.е. наборе символов, которые могут в нее входить)) из некоторого допустимого множества входных строк в строку f(S). Т.е., построить программу - преобразователь строк, выполняющую некое преобразование. Программа на языке алгоритмов Маркова - представляет из себя набор правил. Каждое правило представляет собой замену.
Правило машин Маркова можно проиллюстрировать на примере 1) ab ->cd, 2) ba->dc.
Если во входном слове встречается комбинация ab, то в результате применения правила 1 она меняется на cd.
МТ равносильна М. Маркова. Докажем. Рассмотрим 1 правило.
(*)
Для представления равносильного правила Маркова введем 2 новых обозначения T,Q – произвольный комбинации символов; x – произвольный символ. Запишем следующее правило Маркова:
(**)
Применив к (*) (**) получим
Нумерация мт
Существуют понятия:
У
Номер МТ
Входное слово
ниверсальная МТ – представляет собой некоторую функцию.
Fx(y)
Теорема К.Геделя: положительно целое число можно представить единственным способом в виде произведением простых множителей. Здесь - i-й простой множитель числа А; ni – степень, с которой данный множитель входит в разложение числа А. Пример 126=21 * 32 *71.
Данная Теорема является уникальной.
Определение. Класс всех одноместных функций , для каждой из которых имеется вычисляющая ее машина Тьюринга, называется классом вычислимых функций.
Теорема. Имеется функция, не являющаяся вычислимой. Функция является невычислимой, если для задаваемых ей отображений точек одного множества в точке другого множества, нельзя построить МТ, которая из каждой точки первого множества определит соответствующую точку второго множества.
Доказательство. Доказательство проводится методом, предложенным Кантором и называется канторовским диагональным методом.
Теорема. Для любых целых положительных чисел А и В взаимно однозначно определяется число
С=0.5*((А+В)2 +3А+В)
Теорема. Число невычислимых функций несчетно.
Пример невычислимой функции, построенной по методу диагонализации Кантора.
Функция является невычислимой, если для нее нет МТ (алгоритма), т.е. ее можно только описать, а алгоритм вычисления задать нельзя. Большую роль в доказательстве играет роль диагональный метод Кантора.
Составим таблицу.
В ячейках – значения функций. Определим новую функцию:
Данная функция принимает значения по диагонали таблицы.
ТЕОРЕМА. Функция является невычислимой. (для нее нет МТ и номера Гёделя)
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 1 1 1 0 1
0 0 0 0 1 0
5 |
1 |
5 |
8 |
1 |
2 |
7 |
3 |
8 |
5 |
4 |
2 |
3 |
7 |
6 |
9 |
5249 (+1)
63510