Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Машина Тьюринга

Читайте также:
  1. Вантажопіднімальні крани за характером є рухомими машинами у процесі експлуатації яких виникають небезпечні ситуації.
  2. Композиция машин Тьюринга
  3. Лабораторная работа 1. Установка ОС в виртуальных машинах.
  4. Лекция 2. Машина Тьюринга
  5. Машина Тьюринга и алгоритмически неразрешимые проблемы
  6. Машинами
  7. Приготування суміші і обробка ґрунтів лінійними однопрохідними ґрунтозмішувальними машинами
  8. Система « Человек – машина » [ «Человек–машина–среда»] .
  9. Тема: Технологія розробки гірничих порід багатоковшевими екскаваторами та землерійно-транспортними машинами.

В 1936 году Алан Тьюринг опубликовал в трудах Лондонского математического общества статью "О вычислимых числах в приложении к проблеме разрешения", которая наравне с работами Поста и Черча лежит в основе современной теории алгоритмов.

Предыстория создания этой работы связана с формулировкой Давидом Гильбертом на Международном математическом конгрессе в Париже в 1900 году неразрешенных математических проблем. Одной из них была задача доказательства непротиворечивости системы аксиом обычной арифметики, которую Гильберт в дальнейшем уточнил как "проблему разрешимости" - нахождение общего метода, для определения выполнимости данного высказывания на языке формальной логики.

Статья Тьюринга давала ответ на эту проблему. Но значение статьи Тьюринга выходило далеко за рамки той задачи, по поводу которой она была написана.

Основные определения.

Алгоритмическая модель, известная как машина Тьюринга, содержит следующие составные части.

1. Управляющее устройство, которое может находиться в одном из множества состояний, образующих конечное множество Q.

2. Ленту, разбитую на ячейки, в каждую из которых может быть записан один из символов конечного алфавита А. Лента реализует память алгоритмической модели.

3. Устройство обращения к ленте, т.е. записывающую-считывающую головку, которая в каждый момент времени обозревает одну ячейку ленты, и в зависимости от символа, находящегося в этой ячейке, и состояния управляющего устройства записывает в ячейку символ, возможно, совпадающий с прежним или пустой (т.е. стирает символ при считывании), сдвигается на ячейку вправо или влево или остается на месте. При этом управляющее устройство переходит в новое состояние (или остается в старом).

В множестве состояний управляющего устройства выделяются начальное состояние q1 и заключительное состояние q0, попав в которое машина останавливается.

Лента разбита на ячейки. Во всякой ячейке в каждый дискретный момент времени находится один символ алфавита А={a0,a1,a2,...,an}, n ³ 1. В множестве символов алфавита выделяют пустой символ. Любая ячейка, содержащая пустой символ, называется пустой ячейкой. В качестве пустого символа обычно используется L. В некоторых случаях различают входной и выходной алфавит. Говорят, что рабочий алфавит Араб есть объединение АрабinÈAoutÈ{L}, где Аin - входной алфавит, Aout - выходной алфавит.

Лента предполагается потенциально неограниченной в обе стороны. Это следует понимать так, что в любой момент лента может быть продолжена в любую сторону, хотя в каждый данный момент она конечна.

Управляющее устройство в каждый момент находится в некотором состоянии qj Î Q, Q={q0,q1,q2,...,qr-1}. Множество Q называется внутренним алфавитом или множеством внутренних состояний. Иногда в Q выделяются подмножества Q1 и Q0 начальных и заключительных состояний соответственно. Предположим, что r>1, и в множестве состояний имеется одно начальное состояние q1 и одно заключительное состояние q0.

Считывающая (записывающая) головка перемещается вдоль ленты так, что в каждый момент она обозревает одну ячейку ленты. Головка считывает символ, находящийся в ячейке, и записывает в эту ячейку новый символ из внешнего алфавита, возможно совпадающий с тем, который обозревался в начале. В процессе работы управляющее устройство в зависимости от состояния, в котором оно находится, и символа, обозреваемого головкой, изменяет свое внутреннее состояние (может остаться в прежнем состоянии), выдает головке сообщение об очередном символе, печатаемом на ленте, и приказывает головке либо остаться на месте, либо сдвинуться вправо или влево на одну ячейку.

Работа управляющего устройства описывается тремя функциями:

G: Q´ A ® Q, F: Q ´ A ® A, D: Q ´ A ®{ R,L,S }.

Функция G называется функцией переходов, F-функцией выходов, D-функцией движения записывающей (считывающей головки). Функционирование алгоритмической модели можно задать списком пятерок вида:

(qi,aj, G(qi,aj ),F(qi,aj),D(qi,aj)). (2.1)

или короче (qiajqijaijdij). Эти пятерки называются командами.

В общем случае функции G, F, и D являются частичными, т.е. не для всякой пары вида (qi,aj) определена соответствующая пятерка вида (2.1). Список всех пятерок, определяющих работу машины Тьюринга, называется программой машины Тьюринга. Программу часто задают в виде таблицы, Табл. 13.

Если в программе для пары (qi,aj) пятерка вида (2.1) отсутствует, то в таблице на пересечении строки и столбца ставится прочерк.

 

Таблица 13Табличное задание программы машины Тьюринга

Q   A q0 qi qr-1  
  a0     . . .    
  aj   ... (qij,aij,dij) ...  
  an-1     . . .    

Работу машины Тьюринга удобно описывать на языке конфигураций. Пусть в некоторый момент самая левая непустая ячейка c1 содержит символ аi1, а самая правая непустая ячейка cs, s³2, содержит символ ais (между ячейками c1 и cs находятся v ячеек). В этом случае говорят, что на ленте записано слово Р= (ai1,ai2,...,ais), где aip - символ, содержащийся в этот момент в ячейке cp, 1£ p £ s. При s=1, т.е. когда на ленте записан один непустой символ, Р=a. Пусть в этот момент управляющее устройство находится в состоянии qi и головка обозревает пустую ячейку, расположенную слева или справа от слова Р, и между этой ячейкой и первой (соответственно последней) ячейкой слова Р расположено v пустых ячеек. Конфигурацией машины в этот момент является слово

Здесь L - пустой символ алфавита А.

Если в некоторый момент лента пуста, то конфигурацией машины будет слово qi L.

Если в программе машины нет пятерки вида (2.1) для пары (qi,aj) или новое состояние является заключительным, то машина прекращает работу, а соответствующая конфигурация называется заключительной. Конфигурация, соответствующая началу работы машины, называется начальной.

Зоной работы машины Т на слове Р называется множество всех ячеек, которые за время работы машины хотя бы один раз обозреваются головкой.

Пусть машина начинает работать в некоторый начальный момент времени. Слово, записанное на ленте в этот момент, называется исходным или начальным. Чтобы машина действительно начала работать, необходимо поместить записывающую (считывающую) головку против какой-либо ячейки на ленте и указать, в каком состоянии машина Т находится в начальный момент.

Если Р1 - исходное слово, то машина Т, начав работу на слове Р1 , либо остановится через определенное число шагов, либо никогда не остановится. В первом случае говорят, что машина Т применима к слову Р1 и результатом работы машины над словом Р1 является слово Р, соответствующее заключительной конфигурации, что обозначается как Р=Т(Р1). Во втором случае говорят, что машина Т не применима к слову Р1. Если какой-либо символ а алфавита встречается в слове Р подряд к раз, то этот фрагмент слова будем записывать как аК.

Если в некоторый момент времени конфигурация машины была К, а в следующий момент К1, то конфигурация К1 называется непосредственно выводимой из конфигурации К, что обозначается как КК1. Если К1 - начальная конфигурация, то последовательность К1К2 ├ …├ Кm, где любые две рядом расположенные конфигурации связаны отношением непосредственной выводимости при 1£i£m-1, называется тьюринговым вычислением. При этом говорят, что конфигурация Кm выводима из конфигурации К1 и пишут К1Кm. Если Кm - заключительная конфигурация, то Кm заключительно выводима из К1. Это записывают: К1Кm.

Пример. Выяснить, применима ли машина Т, заданная программой П, к слову Р. Если применима, то найти результат применения и заключительную конфигурацию. Принять, что пустой символ обозначается 0, q1 - начальное состояние, q0 - заключительное состояние.

П:     - обрабатываемое слово.

 

Последовательность конфигураций, проходимых машиной Т в процессе работы над словом Р, имеет вид:

q1130212 ├ 1q1120212 ├ 12q110212 ├ 13q10212 ├ 130q2012 ├ 1302q312

13021q21 ├1302q112 ├13021q11 ├ 130212q10 ├ 1302120q20 ├

13021202q30 ├ 13021202q00.

Машина Т применима к данному слову Р, и результат работы машины Т над словом имеет вид: Т(130212)=130212.




Дата добавления: 2014-11-24; просмотров: 154 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.485 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав