Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Машины Тьюринга
Если для решения некоторой массовой проблемы известен.алгоритм, то для его реализации необходимо лишь четкое выполнение предписаний этого алгоритма, Автоматизм, необходимый при реализации алгоритма естественно приводит к мысли о передаче функции человека, реализующего алгоритм, машине. Идею такой машины предложили в тридцатые годы американский математик Э. Пост и английский математик А. Тьюринг. Рассмотрим один из вариантов указанной машины, которая носит название машины Тьюринга. Устройство машины Тьюринга включает в себя: 1. Внешний алфавит, то есть конечное множество символов А = { a 1, a 2,.,., a n } * В этом алфавите в виде слова кодируется та информация, которая подается в машину. Машина перерабатывает информацию, поданную в виде слова, в новое слово. 2. Внутренний алфавит машины, состоящий из символов q1, q2,.,., qm, п, л, н. Символы q1, q2,.,., qm 3. Бесконечная в обе стороны лента (внешняя память машины). Она разбита на клетки. В каждую клетку может быть записана только одна буква. Пустую Управляющая головка. Она передвигается вдоль ленты и может останавливаться напротив какой-либо клетки, т.е. воспринимать символ. В одном такте работы Каждое сведение, хранящееся на ленте, изображается конечным набором символов (букв) внешнего алфавита, отличного от а0. К началу работы машины на ленту подается начальное сведение (начальная информация). В этом случае управляющая головка, как правило, находится у крайнего левого знака с указанием начального состояния ql (рис. 1) (начальная конфигурация). Работа машины складывается из тактов, по ходу которых происходит преобразование начальной информации в промежуточные информации.
Рис 1. В качестве начальной информации на ленту можно подать любую конечную систему знаков внешнего алфавита (любое слово в этом алфавите), расставленную произвольным образом по ячейкам. Но в зависимости от того, какая была подана начальная информация, возможны два случая: 1. После конечного числа тактов машина останавливается (переходит в стоп-состояние a 0), и при этом на ленте оказывается изображенной информация В. В таком случае говорят, что машина применима к начальной информации А и перерабатывает ее в результирующую информацию В.
2. Машина никогда не останавливается (не переходит в стоп-состояние). В таком случае говорят, что машина не применима к начальной информации А.
a i a j Здесь a v a j — буквы внешнего алфавита; gi qs — состояния машины; п, л, н — символы сдвига. В зависимости от того, какая буква на ленте обозревается управляющей головкой (в нашей записи аi) и в каком состоянии (в нашей записи qi) находится машина, в данном такте вырабатывается команда, состоящая из трех элементов:
обозреваемая буква (аv).
2) Адрес внешней памяти для следующего такта 3) Следующее состояние машины (qs). Совокупность всех команд образует программу машины Тьюринга. Программа представляется в виде двумерной таблицы и называется Тьюринговой функциональной схемой. Пример такой схемы изображен на рис. 2 (машина Тьюринга 1).
Рис.2 Ясно, что работа машины Тьюринга полностью определяется ее программой. Иными словами, две машины Тьюринга с общей функциональной схемой неразличимы, и различные машины Тьюринга имеют различные программы. Для простоты изображения различных конфигураций машины Тьюринга будем в дальнейшем записывать информацию в виде слова, не изображая ленты и ее разбивки на клетки, а вместо изображения управляющей головки и состояния машины записывать только состояние машины. Рассмотрим, как работает машина Тьюринга, заданная функциональной схемой 1. Пример 1. Пусть начальная конфигурация имеет вид:
|