- •18. Автоматы Мили с конечной памятью. Теорема Гилла.
- •19. Автоматы Мура. Теорема о сокращении. Теорема о неопределенности. Следствия.
- •20. Построение равносильного автомату Мили автомата Мура.
- •21.Построение равносильного автомату Мура автомата Мили.
- •22. Гомоморфизм и изоморфизм автоматов Мура.
- •23. Автоматы с магазинной памятью (мпа). Формальное представление. Принципы функционирования.
- •24. Язык мпа.
- •25 Машина Тьюринга (мт). Формальное представление. Принципы функционирования. Языки мт. Понятие останова мт.
- •26 Модификации мт. Память в состоянии. Многодорожечная мт. Подпрограммы.
- •27. Расширения мт. Многодорожечные мт. Недетерминированные мт.
- •28 Мт с ограничениями. Мт с полубесконечной лентой. Мультистековые мт. Счетчиковые мт.
- •29. Вычислительная мощность мт.
- •31. Регулярные выражения (рв) и языки. Операторы рв. Приоритеты операторов. Связь рв, дка, ε-нка, нка.
- •32. Преобразование дка в рв.
- •33. Преобразование дка в рв. Метод сокращения состояний.
- •34. Преобразование рв в конечный автомат.
- •35. Применение регулярных выражений.
- •37.Свойства регулярных языков (ря). Лемма о накачке для ря.
- •38. Свойства замкнутости ря
- •Временная сложность взаимных преобразований представлений регулярных языков. Вопросы разрешимости ря.
- •41.Деревья разбора. Определения. Свойства. Примеры.
- •42.Связь ксг с конечными автоматами. Нормальная форма Хомского.
- •43. Принцип микропрограммного управления. Теорема Глушкова. Понятия операционного и управляющих автоматов.
- •50.Кодирование внутренних состояний ца.
25 Машина Тьюринга (мт). Формальное представление. Принципы функционирования. Языки мт. Понятие останова мт.
МТ является более мощной, чем конечные автоматы. С помощью нее можно реализовать любой алгоритм (определенный на некотором языке, конечное предписание дающее дискретную последовательность действий для решения проблемы, выполняется пошагово)
Тезис Черча-Тьюринга:
Любое разумное определение алгоритма, предложенное в будущем, будет эквивалентно уже известным определениям.
Машина Тьюринга состоит из конечного управления, бесконечной ленты, разбитой на ячейки
За один такт работы машина изменяет состояние, причем следующее зависит от текущего и от считанного символа; записывает ленточный символ; считыватель сдвигается вправо или влево.
Формальное описание
М=(Q, ∑, Г, δ, q0, B, F), причем ∑ принадлежит Г
δ = δ(q, x)= (p, γ, D), p принадлежит Q, γ принадлежит Г
D=R/L || |
Для формального описания работы машины Тьюринга, вводится понятие мгновенного описания MOj=X1… Xi-1q Xi… Xn Используется отношение |--
Пусть δ(q, x)= (p, γ, L) ,т.е. головка сдвигается влево. Тогда
Х1Х2…Хi-1qХiХi+1…Хn|-- Х1Х2… Хi-2pХi-1YХi+1…Хn
Если i=1, то М переходит к пробелу слева от Х1. В этом случае
qХ1Х2…Хn|-- pBYХ2…Хn
Если i=n и Y=B, то
Х1Х2… Хn-1qХn|-- Х1Х2… Хn-2pХn-1
Пусть δ(q, x)= (p, γ, R) ,т.е. головка сдвигается вправо. Тогда
Х1Х2…Хi-1qХiХi+1…Хn|-- Х1Х2… Хi-1pYpХi+1…Хn
Если i=n, то
Х1Х2…Хn-1qХn|-- Х1Х2… Хn-1YpB
Если i=1 Y=B, то
qХ1Х2…Хn|-- pХ2…Хn
Существует понятие “Допустимости” для МТ – допустимость по останову. МТ останавливается, если попадает в состояние q, обозревая ленточный символ Х, и в этом положении нет переходов
26 Модификации мт. Память в состоянии. Многодорожечная мт. Подпрограммы.
Конечное управление, входящее в состав МТ, можно использовать не только для представления позиции в программе, но и для хранения конечного объема информации. Использование этой идеи и многодорожечной ленты показано на рисунке. Здесь КУ содержит не только управляющее состояние q, но и три элемента данных А, В, С. Состояние [q, А, В, С] просто рассматривается в виде кортежа, что позволяет описывать переходы более систематично.
Еще одним из полезных приемов является представление ленты МТ как образованную несколькими дорожками. Каждая дорожка может хранить 1 символ (в одной клетке) и алфавит состоит из кортежей, с одним компонентом для каждой “дорожки”. Например, клетка обозреваемая головкой содержит символ [X, Y, Z]. Данная модификация МТ не расширяет возможностей базовой модели.
МТ – это программы, и их полезно рассматривать как построенные из набора взаимодействующих компонентов, или “подпрограмм”. Подпрограмма МТ представляет собой множество состояний, выполняющее некоторый полезный процесс. Это множество содержит стартовое состояние и состояние возврата, не имеющее переходов. Вызов подпрограммы возникает везде, где есть переход в ее начальное состояние.