- •Контрольные вопросы по курсу “Алгоритмы и алгоритмическая сложность ”
- •2. Определение машины Тьюринга.
- •3. Тезис Черча-Тьюринга.
- •Машина Маркова.
- •Нумерация машин Тьюринга
- •6. Пример невычислимой функции, построенной по методу диагонализации Кантора
- •7.Распознающие машины Тьюринга и языки. Проблема распознавания языков
- •8.Неразрешимость проблемы самоприменимости
- •9. Неразрешимость проблемы остановки
- •10.Другие примеры неразрешимых алгоритмически задач
- •11.Методы задания машин Тьюринга
- •12.Граф-схемы и их связь диаграммой состояний автоматов.
- •14 .Операторы подстановки, рекурсии и минимизации. Частично рекурсивные функции
- •15.Тезис Черча
- •16.Рекурсивно перечислимые множества. Связь между рекурсивной перечислимостью и рекурсивностью
- •17.Сложность.Подходы к определению сложности алгоритмов
- •18.Алгоритмическая, информационная и инфологическая сложность
- •19. Понятие вычислительной сложности. Примеры ее определения
- •20.Детерминированная и недетерминированная машина Тьюринга
- •21.Класс p и np
- •22.Классы co-np, pspace, npspace
- •23.Задача выполнимость и теорема с.Кука о полноте задачи выполнимость
- •24.Другие np-полные задачи. Примеры сводимости в классе np
- •25.Метод резолюций Робинсона для задачи выполнимость.
- •26.Метод отсечения литер для задачи выполнимость
- •27.Метод групповых резолюций для задачи выполнимость
- •28.Гипотеза p≠np и ее обоснование
- •29.Смотри конспект!
- •30.Распознавание регулярных языков
2. Определение машины Тьюринга.
Машина Тьюринга – даёт достаточное математически-строгое определение алгоритма!!!
Тезис Тьюринга: каждая функция вычислима с помощью некоторой МТ. И каждая МТ. Вычисляет некоторую функцию.
Машина Тьюринга представляет собой устройство, содержащее пишущую ленту бесконечной длины, разбитую на ячейки Я1, Я2, …, Яn,… . В каждой ячейке может быть записан один и только один символ из входного алфавита машины Тьюринга. В дальнейшем для простоты будем рассматривать алфавит, состоящий всего из двух символов: 0 и 1. При этом также рассматривается пустой “символ” (именно так следует понимать содержимое ячейки, в которой не записан ни 0, ни 1). Пустой символ обычно обозначают как . В начальный момент на ленту записывается какое-то слово. Обычно это слово представляет собой описание некоторой задачи, на которых специализируется данная машина Тьюринга. Кроме ленты, у машины имеется читающая-пишущая головка, которая позволяется считать символ из ячейки или записать в ячейку, непосредственно находящуюся под головкой, какой-то один символ. Машина Тьюринга работает по тактам. Такты машины Тьюринга никак не привязываются к единицам времени, например, секундам. Но именно в тактах измеряется “время”, затрачиваемое машиной Тьюринга на то, чтобы выполнить обработку входного слова. Разумно и сложность задачи связывать с числом тактов, которую необходимо затратить на Машине Тьюринга для ее решения.
Машина Тьюринга работает по определенным правилам. По своей сути такие правила однотипны и сводятся к следующему: считать символ из текущей ячейки. По текущему состоянию машины и считанному символу определить новое состояние, в которое переходит машина, записать в ячейку новый символ и либо сдвинуть ленту на одну ячейку влево, либо сдвинуть ленту на одну ячейку вправо, либо оставить ленту в прежнем положении, после чего перейти к следующему такту. Машина завершает работу, если она попадает в конечное состояние. Такие правила удобнее всего представлять в виде таблицы. (можно написать пример таблицы).
3. Тезис Черча-Тьюринга.
Знаменитый тезис Черча утверждает, что класс частично-рекурсивных функций и класс частично-вычислимых функций суть один и тот же класс.
Тезис Тьюринга: каждая функция вычислима с помощью некоторой МТ. И каждая МТ. Вычисляет некоторую функцию.
Оба данных подхода, а также другие подходы ( Марков, Пост ) привели к одному и тому же классу алгоритмически вычислимых функций и подтвердили целесообразность использования тезиса Черча. Таким образом, сформировался круг понятий теории алгоритмов, важнейшими из которых являются вычислимая функция, рекурсивность (частичная рекурсивность), рекурсивная перечислимость, рекурсивная сводимость, алгоритмическая и вычислительная сложность и др.
Машина Маркова.
Норма́льный алгори́тм Ма́ркова (НАМ, также марковский алгоритм) — один из стандартных способов формального определения понятия алгоритма (другой известный способ — машина Тьюринга). Понятие нормального алгорифма введено А. А. Марковым (младшим) в конце 1940-х годов в работах по неразрешимости некоторых проблем теории ассоциативных вычислений.
Нормальный алгорифм описывает метод переписывания строк, похожий по способу задания на формальные грамматики