Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Машина Тьюринга. Описание, способы задания, особенности программирования машин Тьюринга (МТ). Основные операции над МТ, доказательство теоремы о существовании универсальной МТ. Примеры.

Алан Тьюринг (Turing) в 1936 году опубликовал в трудах Лондонского математического общества статью, где для уточнения понятия алгоритма был предложен абстрактный универсальный исполнитель. Эта работа наравне с работами Поста и Черча лежит в основе современной теории алгоритмов.

Предыстория её создания связана с формулировкой списка из 23 кардинальных проблем математики, представленного Давидом Гильбертом на II Международном Конгрессе математиков в Париже в 1900 году.

Характеристика, данная работе Тьюринга Джоном Хопкрофтом: «Тьюрингу пришлось дать четкое определение самого понятия метода. Отталкиваясь от интуитивного представления о методе как о некоем алгоритме, т.е. процедуре, которая может быть выполнена механически, без творческого вмешательства, он показал, как эту идею можно воплотить в виде подробной модели вычислительного процесса. Полученная модель вычислений, в которой каждый алгоритм разбивался на последовательность простых, элементарных шагов, и была логической конструкцией, названной впоследствии машиной Тьюринга». (с16)

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

Неформально, машина Тьюринга (далее МТ) представляет собой автомат с конечным числом состояний и неограниченной памятью, представленной бесконечной лентой. Лента поделена на бесконечное число ячеек, и на ней выделена стартовая ячейка.

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

С лентой взаимодействует головка чтения-записи, которой управляет «управляющее устройство» МТ — автомат с конечным множеством состояний.

Имеется выделенное стартовое состояние и состояние завершения.

Перед запуском МТ находится в начальном состоянии, а головка позиционируется на пустой ячейке ленты.

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

· записывать символ алфавита в ячейку (в том числе и пустой), заменяя находившийся в ней (в том числе и пустой);

· передвигать головку на одну ячейку влево, вправо или остается на месте;

· менять свое внутреннее состояние; (с18)

Рис.2 Машина Тьюринга

Формально машина Тьюринга может быть описана следующим образом (с19):

· конечное множество состояний – Q = { q0, q1,..., qn}, в которых может находиться машина Тьюринга, называемое внутренним алфавитом;

· конечное множество символов ленты – А = {a0, а1,...,аt} называемое внешним алфавитом;

· функция (функция переходов или программа), которая задает отображение пары из декартова произведения Q x А (машина находится в состоянии и обозревает символ ak) в тройку декартова произведения Q х А х {L,R,E} (машина переходит в состояние qj, заменяет символ ak на символ am и передвигается влево, вправо на один символ ленты или остается на месте) – Q x А-->Q х А х {L,R,E}: . Предполагается, что для каждой пары qiak, i=1,…n, k=0,…t имеется точно одна команда. Множество этих команд называется программой и в программе имеется n(t+1) команд;

· один символ (пустой);

· подмножество определяется как подмножество входных символов ленты, причем ; т.е. в начальный момент на ленте имеется конечное число непустых символов.

· одно из состояний – является начальным состоянием машины, а заключительным.

Обязательно требование детерминизма, т.е. не должно быть команд с одинаковой левой частью.

Должна быть команда, в правой части которой есть заключительное состояние.

Для МТ ниоткуда не следует, что начав работать из начального состояния, она когда-нибудь выйдет на заключительное состояние. Вводить это требование не получается, т.к. по описанию нельзя заранее предугадать эту ситуацию.

Способы задания МТ:

Список команд (с20)

Таблица переходов (с20)

Граф переходов. (с21)

Таблица переходов

МТ можно описать в виде таблицы, где строки соответствуют состояниям, а столбцы символам внешнего алфавита. Данное представление автоматически обеспечивает детерминизм и удобно тем, что видно, что задали все возможные команды, т.е. для любой левой части есть правая.

  a0 a1
q1 q2a1E q1a1R
q2 q0a0R q2a1L
q0




Дата публикования: 2015-01-10; Прочитано: 1256 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.012 с)...