Теория автоматов

27
Теория автоматов Теория автоматов Машины Тьюринга Машины Тьюринга

Upload: mark-silva

Post on 03-Jan-2016

43 views

Category:

Documents


0 download

DESCRIPTION

Теория автоматов. Машины Тьюринга. Машины Тьюринга. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Теория автоматов

Теория автоматовТеория автоматов

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

Page 2: Теория автоматов

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

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

Page 3: Теория автоматов

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

Алгоритм является фундаментальной концепцией Алгоритм является фундаментальной концепцией информатики, и вопросы по строения автоматических информатики, и вопросы по строения автоматических устройств, реализующих алгоритмы, — это один из устройств, реализующих алгоритмы, — это один из глав ных вопросов вычислительной науки. Какой глав ных вопросов вычислительной науки. Какой класс алгоритмов может быть пред ставлен класс алгоритмов может быть пред ставлен конечными автоматами, независимо от числа конечными автоматами, независимо от числа состояний автоматов, их фун кций переходов и состояний автоматов, их фун кций переходов и выходов? Поставим вопрос по-другому. Можно ли выходов? Поставим вопрос по-другому. Можно ли для любого алгоритма переработки информации для любого алгоритма переработки информации найти конечный автомат, его выполняющий? Ведь найти конечный автомат, его выполняющий? Ведь число различных конечных автоматов бесконечно число различных конечных автоматов бесконечно

Page 4: Теория автоматов

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

Очевидно, что ответом здесь будет «нет». Конечные Очевидно, что ответом здесь будет «нет». Конечные автоматы могут решать толь ко узкий класс автоматы могут решать толь ко узкий класс алгоритмических проблем. Конечный автомат как алгоритмических проблем. Конечный автомат как автоматическое устройство, перерабатывающее автоматическое устройство, перерабатывающее информацию, ограничен в своих возможностях. информацию, ограничен в своих возможностях. Например, мы уже знаем, что никакой КА не может Например, мы уже знаем, что никакой КА не может решить проблему умножения двух чисел, с помощью решить проблему умножения двух чисел, с помощью КА невозможно распознать язык {КА невозможно распознать язык {an b cnan b cn | | n n > 0}. > 0}. Иными сло вами, не все алгоритмы обработки Иными сло вами, не все алгоритмы обработки информации могут быть реализованы конечны ми информации могут быть реализованы конечны ми автоматами. Класс алгоритмов, которые могут быть автоматами. Класс алгоритмов, которые могут быть реализованы конечными автоматами, весьма реализованы конечными автоматами, весьма ограничен.ограничен.

Page 5: Теория автоматов

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

В данной главе мы рассмотрим более мощные В данной главе мы рассмотрим более мощные автоматические устройства по срав нению с конечными автоматические устройства по срав нению с конечными автоматами — машины Тьюринга. Как оказывается, с помо автоматами — машины Тьюринга. Как оказывается, с помо щью машин Тьюринга можно реализовать любой алгоритм. щью машин Тьюринга можно реализовать любой алгоритм. Понимание этого ут верждения требует рассмотрения Понимание этого ут верждения требует рассмотрения понятия алгоритма и подходов к формализации алгоритма. понятия алгоритма и подходов к формализации алгоритма. Именно это и составляет предмет изучения данной главы.В Именно это и составляет предмет изучения данной главы.В результате изучения материала главы читатель должен:результате изучения материала главы читатель должен:Q Q получить общее представление об алгоритмах и методах получить общее представление об алгоритмах и методах их формального пред ставления;их формального пред ставления;Q Q научиться представлять простейшие алгоритмы в виде научиться представлять простейшие алгоритмы в виде программы для маши ны Тьюринга;программы для маши ны Тьюринга;а понять смысл и значение тезиса Черча-Тьюринга, а понять смысл и значение тезиса Черча-Тьюринга, получить представление об алгоритмически получить представление об алгоритмически неразрешимых проблемах.неразрешимых проблемах.

Page 6: Теория автоматов

Формальные модели алгоритмовФормальные модели алгоритмов

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

Page 7: Теория автоматов

Формальные модели алгоритмовФормальные модели алгоритмов

Это определение, понятное в интуитивном смысле, не Это определение, понятное в интуитивном смысле, не является, однако, формаль ным. Действительно, что означает является, однако, формаль ным. Действительно, что означает «элементарная операция»? Или «предписание»? С какими «элементарная операция»? Или «предписание»? С какими объектами работает алгоритм: числами, матрицами, объектами работает алгоритм: числами, матрицами, словами?... Все это требует уточнения, если мы хотим говорить словами?... Все это требует уточнения, если мы хотим говорить об алгоритмах строго. Алгоритмы в интуитивном смысле не об алгоритмах строго. Алгоритмы в интуитивном смысле не являются математическими объектами, к ним не приме нимы являются математическими объектами, к ним не приме нимы формальные методы исследования и доказательства. Поэтому формальные методы исследования и доказательства. Поэтому в в XX XX веке были предприняты усилия в попытках формализации веке были предприняты усилия в попытках формализации понятия алгоритма. Формализа ция понятия алгоритма понятия алгоритма. Формализа ция понятия алгоритма необходима по разным причинам. Например, сравнение двух необходима по разным причинам. Например, сравнение двух алгоритмов по эффективности, проверка их эквивалентности и алгоритмов по эффективности, проверка их эквивалентности и т. д. возмож ны только на основе их формального т. д. возмож ны только на основе их формального представления представления

Page 8: Теория автоматов

Формализация понятия алгоритмаФормализация понятия алгоритма

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

Page 9: Теория автоматов

Формализация понятия алгоритмаФормализация понятия алгоритма

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

Page 10: Теория автоматов

Формализация понятия алгоритмаФормализация понятия алгоритма

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

Page 11: Теория автоматов

Формализация понятия алгоритмаФормализация понятия алгоритма

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

Page 12: Теория автоматов

Формализация понятия алгоритмаФормализация понятия алгоритма

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

Page 13: Теория автоматов

Формализация понятия алгоритмаФормализация понятия алгоритма

Исторически Алонзо Черч первый предложил Исторически Алонзо Черч первый предложил отождествить интуитивное поня тие алгоритма с отождествить интуитивное поня тие алгоритма с одним из эквивалентных между собой точных одним из эквивалентных между собой точных определений. Алан Тьюринг независимо высказал определений. Алан Тьюринг независимо высказал предположение, что любой алгоритм в интуитив ном предположение, что любой алгоритм в интуитив ном смысле может быть представлен машиной Тьюринга смысле может быть представлен машиной Тьюринга (а значит, и в любой дру гой эквивалентной форме). (а значит, и в любой дру гой эквивалентной форме). Это предположение известно как Это предположение известно как тезис Черча-Тъю-тезис Черча-Тъю-ринга. ринга. Тезис Черча-Тьюринга просто отражает нашу Тезис Черча-Тьюринга просто отражает нашу уверенность в том, что разра ботанные формальные уверенность в том, что разра ботанные формальные модели алгоритма достаточно полно представляют модели алгоритма достаточно полно представляют наше интуитивное его понимание.наше интуитивное его понимание.

Page 14: Теория автоматов

Формализация понятия алгоритмаФормализация понятия алгоритма

Тезис Черча-Тьюринга имеет важное практическое Тезис Черча-Тьюринга имеет важное практическое значение. Например, значение. Например, поскольку поскольку каждый компьютер (с каждый компьютер (с потенциально бесконечной памятью) может потенциально бесконечной памятью) может моделировать машину Тьюринга (см. пример 5.3) и, моделировать машину Тьюринга (см. пример 5.3) и, следовательно, алгоритмы в любом другом следовательно, алгоритмы в любом другом формализме, то из этого тезиса следует, что все формализме, то из этого тезиса следует, что все компьютеры, как маленькие персо нальные компьютеры, как маленькие персо нальные компьютеры, так и большие суперкомпьютеры, компьютеры, так и большие суперкомпьютеры, эквивалентны с точки зре ния эквивалентны с точки зре ния принципиальной принципиальной возможности решения алгоритмических проблем.возможности решения алгоритмических проблем.Определение машины Тьюринга среди других Определение машины Тьюринга среди других эквивалентных определений кажется наиболее эквивалентных определений кажется наиболее удобным для формального определения понятия удобным для формального определения понятия алгоритма.алгоритма.

Page 15: Теория автоматов

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

По сути своей, алгоритм есть механический По сути своей, алгоритм есть механический процесс обработки информации. Впер*"* вые процесс обработки информации. Впер*"* вые Алан Тьюринг определил понятие алгоритма Алан Тьюринг определил понятие алгоритма исходя из понятия автоматичес ки исходя из понятия автоматичес ки работающей машины; более того, он работающей машины; более того, он предложил формальную модель такого ус предложил формальную модель такого ус тройства, которое интуитивно моделирует тройства, которое интуитивно моделирует действия человека, решающего задачу, действия человека, решающего задачу, руководствуясь некоторым алгоритмом. Это руководствуясь некоторым алгоритмом. Это устройство было названо машиной Тьюринга. устройство было названо машиной Тьюринга. Как оказывается, машина Тьюринга является Как оказывается, машина Тьюринга является весьма простым расши рением модели весьма простым расши рением модели конечного автомата.конечного автомата.

Page 16: Теория автоматов

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

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

Page 17: Теория автоматов

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

Если к модели КА добавить способность Если к модели КА добавить способность запоминания произвольно больших объе мов запоминания произвольно больших объе мов информации, то его возможности по выполнению информации, то его возможности по выполнению алгоритмов расширятся и мы получим автомат с алгоритмов расширятся и мы получим автомат с более широкими возможностями по преобразованию более широкими возможностями по преобразованию ин формации, иными словами, с более широким ин формации, иными словами, с более широким классом алгоритмов, которые могут быть выполнены классом алгоритмов, которые могут быть выполнены автоматами этого нового типа. Алан Тьюринг в 1936 автоматами этого нового типа. Алан Тьюринг в 1936 году пред ложил формальную модель вычислителя, году пред ложил формальную модель вычислителя, которая является результатом простого добавления которая является результатом простого добавления потенциально бесконечной памяти к конечному потенциально бесконечной памяти к конечному автомату.автомату.

Page 18: Теория автоматов

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

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

Page 19: Теория автоматов

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

автомата можно считать его программой: в ней просто автомата можно считать его программой: в ней просто перечислено конечное чис ло четверок (команд) <перечислено конечное чис ло четверок (команд) <ss, а, р, у)>, где , а, р, у)>, где s s — текущее состояние, а — очередной вход ной сигнал, р — — текущее состояние, а — очередной вход ной сигнал, р — следующее состояние и у — очередной выходной сигнал. следующее состояние и у — очередной выходной сигнал. Програм ма КА — это просто перечисление аргументов и Програм ма КА — это просто перечисление аргументов и соответствующих результатов ча стично-определенной функции соответствующих результатов ча стично-определенной функции переходов и выходов автомата б: переходов и выходов автомата б: SxXSxX—>—>SxYSxY..Рис. 5.1. Рис. 5.1. Сравнение определений машины Тьюринга и Сравнение определений машины Тьюринга и конечного автоматаконечного автоматаВ своем вычислительном устройстве Тьюринг смоделировал В своем вычислительном устройстве Тьюринг смоделировал доведенный до са мых элементарных операций процесс доведенный до са мых элементарных операций процесс выполнения произвольного алгоритма че ловеком. Человек выполнения произвольного алгоритма че ловеком. Человек имеет конечную память, и в этом смысле его можно имеет конечную память, и в этом смысле его можно представить системой с конечным числом состояний. Исходная представить системой с конечным числом состояний. Исходная информация к алгоритму обыч но представляется в виде информация к алгоритму обыч но представляется в виде цепочки символов. цепочки символов.

Page 20: Теория автоматов

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

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

Page 21: Теория автоматов

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

Page 22: Теория автоматов

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

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

Page 23: Теория автоматов

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

Машина Тьюринга работает по тактам. На каждом Машина Тьюринга работает по тактам. На каждом такте она читает символ из обо зреваемой ячейки такте она читает символ из обо зреваемой ячейки рабочей ленты, изменяет свое состояние в рабочей ленты, изменяет свое состояние в зависимости от свое го внутреннего состояния и зависимости от свое го внутреннего состояния и прочитанного символа и печатает символ в прочитанного символа и печатает символ в обозревае мую ячейку рабочей ленты, после чего ее обозревае мую ячейку рабочей ленты, после чего ее головка чтения-записи может перемес титься на одну головка чтения-записи может перемес титься на одну позицию влево, вправо или остается на месте. позицию влево, вправо или остается на месте. Описание функцио нирования МТ можно считать ее Описание функцио нирования МТ можно считать ее программой, которая представлена конечным программой, которая представлена конечным набором пятерок (команд) < набором пятерок (команд) < ss, а, р, у, , а, р, у, D D >, где >, где ss, , aa, , p p и и у у имеют тот же смысл, что и в конечном автомате, имеют тот же смысл, что и в конечном автомате, a a D D — направление перемещения головки по рабочей — направление перемещения головки по рабочей ленте, которое может быть одним из трех значений: ленте, которое может быть одним из трех значений: L L — влево, — влево, R R — вправо и Н — оста ваться на месте. — вправо и Н — оста ваться на месте.

Page 24: Теория автоматов

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

. Иными словами, . Иными словами, программа МТ — это просто программа МТ — это просто конечный список пятерок, представляющих собой конечный список пятерок, представляющих собой аргументы и соответствующие им результаты аргументы и соответствующие им результаты частично-определенной функции переходов и частично-определенной функции переходов и выходов выходов 5: 5: SxXSxX—>8хХхГ.—>8хХхГ.Машина Тьюринга имеет один конечный рабочий Машина Тьюринга имеет один конечный рабочий алфавит алфавит XX, в котором входные и выходные символы , в котором входные и выходные символы не различаются: выходной символ, напечатанный на не различаются: выходной символ, напечатанный на ленте, машина может прочитать в последующих ленте, машина может прочитать в последующих тактах. Для удобства обычно считают, что тактах. Для удобства обычно считают, что X X содержит пустой символ Л, находящийся во всех содержит пустой символ Л, находящийся во всех ячейках рабочей ленты слева и справа от конечной ячейках рабочей ленты слева и справа от конечной цепочки «значащих» символов в начале работы.цепочки «значащих» символов в начале работы.

Page 25: Теория автоматов

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

Машина Тьюринга имеет один конечный рабочий Машина Тьюринга имеет один конечный рабочий алфавит алфавит XX, в котором входные и выходные символы , в котором входные и выходные символы не различаются: выходной символ, напечатанный на не различаются: выходной символ, напечатанный на ленте, машина может прочитать в последующих ленте, машина может прочитать в последующих тактах. Для удобства обычно считают, что тактах. Для удобства обычно считают, что X X содержит пустой символ Л, находящийся во всех содержит пустой символ Л, находящийся во всех ячейках рабочей ленты слева и справа от конечной ячейках рабочей ленты слева и справа от конечной цепочки «значащих» символов в начале работы.цепочки «значащих» символов в начале работы.Рассмотрим, как работает машина Тьюринга. Рассмотрим, как работает машина Тьюринга. Конфигурацией машины Тьюринга называется ее Конфигурацией машины Тьюринга называется ее текущее состояние, текущее состояние рабочей текущее состояние, текущее состояние рабочей ленты и место рас положения головки. При работе МТ ленты и место рас положения головки. При работе МТ в каждом такте происходит смена конфигура ций. в каждом такте происходит смена конфигура ций. Пусть МТ находится в состоянии Пусть МТ находится в состоянии s s и в обозреваемой и в обозреваемой ячейке ленты находится символ а. ячейке ленты находится символ а.

Page 26: Теория автоматов

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

. Если в программе МТ нет команды для пары <. Если в программе МТ нет команды для пары <ss, , aa>, >, то МТ останавлива ется. Если в программе МТ то МТ останавлива ется. Если в программе МТ несколько команд для данной пары несколько команд для данной пары <<ss, , aa>, то это — >, то это — недетерминированная машина Тьюринга, в ней недетерминированная машина Тьюринга, в ней выполняется одна из нескольких возможных команд выполняется одна из нескольких возможных команд с левой частью <с левой частью <ss, , aa>. Очевидно, что в любой >. Очевидно, что в любой момент работы на ленте МТ находится только момент работы на ленте МТ находится только конечная цепочка «значащих» символов. После конечная цепочка «значащих» символов. После останова машины Тьюринга эта цепочка является останова машины Тьюринга эта цепочка является результатом переработки вход ной цепочки. Таким результатом переработки вход ной цепочки. Таким образом, МТ является образом, МТ является автоматом-автоматом-преобразователем преобразователем символь ных цепочек.символь ных цепочек.

Page 27: Теория автоматов

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

Машина Тьюринга также может быть Машина Тьюринга также может быть распознавателем распознавателем множеств цепочек. В та кой МТ множеств цепочек. В та кой МТ выделяются специальные заключительные выделяются специальные заключительные состояния стоп или «!», и если МТ, работающая как состояния стоп или «!», и если МТ, работающая как распознаватель, останавливается в одном из этих со распознаватель, останавливается в одном из этих со стояний при пустой входной ленте, то она распознает стояний при пустой входной ленте, то она распознает входную цепочку. Если в заключительном состоянии входную цепочку. Если в заключительном состоянии останавливается машина-преобразовательостанавливается машина-преобразовательМашина Тьюринга информация на рабочей ленте Машина Тьюринга информация на рабочей ленте является результатом переработки входной является результатом переработки входной информации. "••<•*-'•информации. "••<•*-'•