Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

6.5. Машина Тьюринга. Классификация машин Тьюринга

Лекция



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

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

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

То есть всякий интуитивный алгоритм может быть реализован с помощью некоторой машины Тьюринга .

Физическое описание

В своем эссе 1948 года «Интеллектуальные машины» Тьюринг писал, что его машина состоит из:

... неограниченный объем памяти, полученный в виде бесконечной ленты, размеченной квадратами, на каждом из которых может быть напечатан символ. В любой момент в автомате есть один символ; он называется отсканированным символом. Машина может изменять отсканированный символ, и его поведение частично определяется этим символом, но символы на ленте в другом месте не влияют на поведение машины. Однако ленту можно перемещать вперед и назад через машину, что является одной из элементарных операций машины. Следовательно, у любого символа на ленте может быть иннингс. [18]

-  Тьюринг 1948, стр. 3

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

Формальное определение

Следуя Hopcroft & Ullman (1979 , p. 148) , (однопленочная) машина Тьюринга может быть формально определена как кортеж из семи элементов. 6.5. Машина Тьюринга. Классификация машин Тьюринга где

  • 6.5. Машина Тьюринга. Классификация машин Тьюринга- конечный непустой набор состояний ;
  • 6.5. Машина Тьюринга. Классификация машин Тьюринга- конечный непустой набор символов ленточного алфавита ;
  • 6.5. Машина Тьюринга. Классификация машин Тьюринга- пустой символ (единственный символ, который может встречаться на ленте бесконечно часто на любом этапе вычисления);
  • 6.5. Машина Тьюринга. Классификация машин Тьюринга- набор входных символов , то есть набор символов, разрешенных для появления в исходном содержимом ленты;
  • 6.5. Машина Тьюринга. Классификация машин Тьюринга- начальное состояние ;
  • 6.5. Машина Тьюринга. Классификация машин Тьюринганабор конечных состояний или принимающих состояний . Исходное содержание ленты , как говорят, принимаются по 6.5. Машина Тьюринга. Классификация машин Тьюринга если он в конечном итоге остановится в состоянии с 6.5. Машина Тьюринга. Классификация машин Тьюринга.
  • 6.5. Машина Тьюринга. Классификация машин Тьюринга- частичная функция, называемая функцией перехода , где L - сдвиг влево, R - сдвиг вправо. Если 6.5. Машина Тьюринга. Классификация машин Тьюрингане определен для текущего состояния и текущего символа ленты, тогда машина останавливается; [22]

Относительно необычный вариант позволяет "без сдвига", скажем, N, в качестве третьего элемента набора направлений. 6.5. Машина Тьюринга. Классификация машин Тьюринга.

Кортеж из 7 занятых бобров с 3 состояниями выглядит так (подробнее об этом занятом бобре см. В примерах машины Тьюринга ):

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

Изначально все ячейки ленты отмечены значком 6.5. Машина Тьюринга. Классификация машин Тьюринга.

Таблица состояний для 3 состояний, 2 символа занятого бобра
Лента символ Текущее состояние A Текущее состояние B Текущее состояние C
Написать символ Переместить ленту Следующее состояние Написать символ Переместить ленту Следующее состояние Написать символ Переместить ленту Следующее состояние
0 1 р B 1 L А 1 L B
1 1 L C 1 р B 1 р HALT

Дополнительные детали, необходимые для визуализации или реализации машин Тьюринга

По словам ван Эмде Боаса (1990), стр. Об этом говорит сайт https://intellect.icu . 6: «Теоретико-множественный объект [его формальное описание из семи кортежей, подобное приведенному выше] предоставляет только частичную информацию о том, как машина будет вести себя и как будут выглядеть ее вычисления».

Например,

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

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

6.5. Машина Тьюринга. Классификация машин Тьюринга

Рис.6.3

Рассмотрим, чем отличается машина Тьюринга от простой модели конечного автомата. Конечный автомат можно представить себе как устройство с конечным числом внутренних состояний Q = {q1, q2, …, qk }, работающее с двумя лентами: входной с конечным алфавитом X = {x1, x2, , xn} и выходной с конечным алфавитом Y = {y1, y2,…, ym} (рис. 6.3). Конечный автомат работает по тактам. На каждом такте он читает с помощью некоторой входной головки символ из обозреваемой ячейки входной ленты, изменяет свое состояние и печатает некоторый символ выходного алфавита в обозреваемую ячейку выходной ленты, после чего две его головки чтения и записи перемещаются на одну позицию вправо. Описание функционирования конечного автомата можно считать его программой, которая является фактически перечислением аргументов и соответствующих значений частично-определенной функции переходов и выходов автомата δ: Q×X→ Q'×Y.

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

Предложенная Тьюрингом формальная модель состоит: 1) из управляющего устройства, которое может находиться в одном из состояний, образующих конечное множество Q = {q1, q2, …, qk }; 2) ленты, разбитой на ячейки, в каждой из которых могут быть записаны символы конечного алфавита X = {x1, x2, , xn}; 3) устройства обращения к ленте, т. е. считывающей и пишущей головки, которая сдвигается на ячейку влево или вправо или остается на месте. Предложенная Тьюрингом формальная модель отличается от конечного автомата в двух аспектах: она имеет одну бесконечную рабочую ленту, с которой читает и куда пишет символы, и головку чтения-записи, которая может двигаться по рабочей ленте в любую сторону (см. рис. 6.4).

6.5. Машина Тьюринга. Классификация машин Тьюринга

Рис.6.4

В каждой ячейке неограниченной ленты может храниться только один символ алфавита X, называемый внешним алфавитоммашины. Работа машины происходит по тактам. На каждом такте обозревается единственная ячейка и считываемый символ хiзаменяется другим хj, который определяется состоянием машины qv в данный тактовый момент из множества ее возможных состояний Q (при этом i = j означает, что символ не изменяется; стирание символа будем понимать как запись пустого символа Λ). Кроме того, вырабатывается последующее состояние машины qv+1 и управляющая перемещением по ленте команда,, которая подготавливает очередную ячейку для обозрения на следующем такте. Таких команд в машине Тьюринга только три: R – обозревать соседнюю справа ячейку, L – обозревать соседнюю слева ячейку и E – продолжать обозревать прежнюю ячейку. Совокупность символов Q = {q1, q2, …, qk } и D = {R, L, E} образует внутренний алфавит машины. Среди состояний управляющего устройства МТ следует выделить начальное состояние q1 и заключительное стоп-состояние, которое будем обозначать символом «!». В начальном состоянии машина находится перед началом работы; попав в заключительное состояние, машина останавливается.

Описание функционирования МТ можно считать ее программой, которая представлена конечным набором аргументов и соответствующих им значений частично-определенной функции переходов и выходов δ: Q×Х→ Q'×Х'×D.

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

Полное состояние машины Тьюринга, по которому однозначно можно определить ее дальнейшее поведение, определяется ее внутренним состоянием, состоянием ленты (т. е. словом, записанным на ленте) и положением головки на ленте. Полное состояние будем называть конфигурацией, или машинным словом, и обозначать тройкой α1 qv α2, где qv – текущее внутреннее состояние, α1 – слово слева от головки, а α2 – слово, образованное символом, считываемым головкой, и символами справа от него, причем слева от α1 и справа от α2 все ячейки ленты заполнены пустыми символами Λ.

классификация машин тьюринга

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

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

Попытка классификации машин Тьюринга, предпринята В.А. Успенским и А.Л. Семеновым [1987, с. 238–243]. Следуя ей, изобразим следующую классификационную схему:

6.5. Машина Тьюринга. Классификация машин Тьюринга

По отношению к случайности

  • Детерменированные
  • не детерминорованные
  • Вероятностные

По количеству лент

  • Одноленточные
  • многоленточне

По своству ленты

  • Лентны бенсконечные только вправо
  • Бесконенчные в обе стороны

По размерности

  • одномерная машина Тьюринга
  • двумерная машина Тьюринга
  • многомерная машина Тьюринга

Машина Тьюринга, работающая на полубесконечной ленте

В качестве примера такого сведения рассмотрим следующую теорему: Для любой машины Тьюринга существует эквивалентная машина Тьюринга, работающая на полубесконечной ленте (то есть на ленте, бесконечной в одну сторону).

Рассмотрим доказательство, приведенное Ю. Г. Карповым в книге «Теория автоматов». Доказательство этой теоремы конструктивное, то есть мы дадим алгоритм, по которому для любой машины Тьюринга может быть построена эквивалентная машина Тьюринга с объявленным свойством. Во-первых, произвольно занумеруем ячейки рабочей ленты МТ, то есть определим новое расположение информации на ленте:

6.5. Машина Тьюринга. Классификация машин Тьюринга

Затем перенумеруем ячейки, причем будем считать, что символ «*» не содержится в словаре МТ:

6.5. Машина Тьюринга. Классификация машин Тьюринга

Наконец, изменим машину Тьюринга, удвоив число ее состояний, и изменим сдвиг головки считывания-записи так, чтобы в одной группе состояний работа машины была бы эквивалентна ее работе в заштрихованной зоне, а в другой группе состояний машина работала бы так, как исходная машина работает в незаштрихованной зоне. Если при работе МТ встретится символ ‘*’, значит головка считывания-записи достигла границы зоны:

6.5. Машина Тьюринга. Классификация машин Тьюринга

Начальное состояние новой машины Тьюринга устанавливается в одной или другой зоне в зависимости от того, в какой части исходной ленты располагалась головка считывания-записи в исходной конфигурации. Очевидно, что слева от ограничивающих маркеров «*» лента в эквивалентной машине Тьюринга не используется.

Сравнение с реальными машинами

6.5. Машина Тьюринга. Классификация машин Тьюринга
Реализация машины Тьюринга с использованием деталей Lego

Часто говорят , что машины Тьюринга, в отличие от более простых автоматов, столь же мощны, как и настоящие машины, и способны выполнять любую операцию, которую может выполнять настоящая программа. В этом утверждении пренебрегают тем, что, поскольку реальная машина может иметь только конечное число конфигураций , эта «настоящая машина» на самом деле не что иное, как конечный автомат . С другой стороны, машины Тьюринга эквивалентны машинам, у которых есть неограниченный объем памяти для своих вычислений.

Есть несколько способов объяснить, почему машины Тьюринга являются полезными моделями реальных компьютеров:

  1. Все, что может вычислить настоящий компьютер, может вычислить и машина Тьюринга. Например: «Машина Тьюринга может моделировать подпрограммы любого типа, имеющиеся в языках программирования, включая рекурсивные процедуры и любой из известных механизмов передачи параметров» (Хопкрофт и Ульман, стр. 157). Достаточно большой FSA может также смоделировать любой реальный компьютер, не обращая внимания на ввод-вывод. Таким образом, утверждение об ограничениях машин Тьюринга применимо и к реальным компьютерам.
  2. Разница заключается только в способности машины Тьюринга манипулировать неограниченным объемом данных. Однако с учетом конечного количества времени машина Тьюринга (как и реальная машина) может манипулировать только конечным объемом данных.
  3. Как и в случае с машиной Тьюринга, на реальной машине можно по мере необходимости увеличивать объем памяти, приобретая больше дисков или других носителей.
  4. Описание реальных машинных программ с использованием более простых абстрактных моделей часто намного сложнее, чем описания с использованием машин Тьюринга. Например, машина Тьюринга, описывающая алгоритм, может иметь несколько сотен состояний, в то время как эквивалентный детерминированный конечный автомат (DFA) на данной реальной машине имеет квадриллионы. Это делает невозможным анализ представления DFA.
  5. Машины Тьюринга описывают алгоритмы независимо от того, сколько памяти они используют. Существует предел памяти, которой обладает любая текущая машина, но этот предел может произвольно увеличиваться со временем. Машины Тьюринга позволяют нам делать утверждения об алгоритмах, которые (теоретически) сохранятся вечно, независимо от достижений в архитектуре обычных вычислительных машин.
  6. Машины Тьюринга упрощают формулировку алгоритмов. Алгоритмы, работающие на абстрактных машинах, эквивалентных Тьюрингу, обычно более общие, чем их аналоги, работающие на реальных машинах, потому что они имеют доступные типы данных произвольной точности и никогда не должны иметь дело с неожиданными условиями (включая, но не ограничиваясь, исчерпание памяти ) .
6.5. Машина Тьюринга. Классификация машин Тьюринга
Экспериментальный прототип машины Тьюринга

Ограничения машин Тьюринга

Теория вычислительной сложности

Ограничение машин Тьюринга состоит в том, что они плохо моделируют сильные стороны конкретной системы. Например, современные компьютеры с хранимой программой на самом деле являются экземплярами более конкретной формы абстрактной машины, известной как машина с хранимой программой с произвольным доступом или модель машины RASP. Подобно универсальной машине Тьюринга , RASP хранит свою «программу» в «памяти», внешней по отношению к «инструкциям» своего конечного автомата. В отличие от универсальной машины Тьюринга, RASP имеет бесконечное количество различимых, пронумерованных, но неограниченных «регистров» - «ячеек» памяти, которые могут содержать любое целое число (см. Элгот и Робинсон (1964), Хартманис (1971) и, в частности, Кука). -Rechow (1973); ссылки на машину с произвольным доступом). Конечный автомат RASP оборудован возможностью косвенной адресации (например, содержимое одного регистра может использоваться как адрес для указания другого регистра); таким образом, «программа» RASP может обращаться к любому регистру в последовательности регистров. Результатом этого различия является то, что существуют вычислительные оптимизации, которые могут быть выполнены на основе индексов памяти, что невозможно в обычной машине Тьюринга; таким образом, когда машины Тьюринга используются в качестве основы для ограничения времени работы, «ложная нижняя граница» может быть доказана на временах работы определенных алгоритмов (из-за ложного упрощающего предположения машины Тьюринга). Примером этого является бинарный поиск, алгоритм, который может работать быстрее при использовании модели вычислений RASP, а не модели машины Тьюринга.

Параллелизм

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

Взаимодействие

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

С 1970-х годов интерактивное использование компьютеров стало гораздо более распространенным. В принципе, это можно смоделировать, если внешний агент будет читать с ленты и записывать на нее одновременно с машиной Тьюринга, но это редко соответствует тому, как на самом деле происходит взаимодействие; поэтому при описании интерактивности обычно предпочтительны такие альтернативы, как автоматы ввода-вывода .

Пример решения запдач

Построить Машину Тьюринга,которая может найти сумму чисел и ответ записать в десятичной системе счисления

Дано число в десятичной системе счисления и число в троичной системе счисления. Найти их сумму и ответ записать в десятичной системе счисления (например, 576+100). Каретка располагается над крайней правой цифрой правого числа.

6.5. Машина Тьюринга. Классификация машин Тьюринга

6.5. Машина Тьюринга. Классификация машин Тьюринга 6.5. Машина Тьюринга. Классификация машин Тьюринга

Вау!! 😲 Ты еще не читал? Это зря!

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

создано: 2018-05-21
обновлено: 2021-11-22
132265



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Теория конечных автоматов

Термины: Теория конечных автоматов