Универсальная машина – Универсальная машина Тьюринга — Википедия РУ

Универсальная машина Тьюринга — Википедия РУ

Универсальной машиной Тью́ринга называют машину Тьюринга, которая может заменить собой любую машину Тьюринга. Получив на вход программу и входные данные, она вычисляет ответ, который вычислила бы по входным данным машина Тьюринга, чья программа была дана на вход.

Программу любой детерминированной машины Тьюринга можно записать, используя некоторый конечный алфавит, состоящий из символов состояния, скобок, стрелки и т. п.; обозначим этот машинный алфавит как Σ1{\displaystyle \Sigma _{1}} . Тогда универсальной машиной Тьюринга U для класса машин с алфавитом Σ2{\displaystyle \Sigma _{2}}  и k входными лентами называется машина Тьюринга с k+1 входной лентой и алфавитом Σ1∪Σ2{\displaystyle \Sigma _{1}\cup \Sigma _{2}}  такая, что если подать на первые k лент входное значение, а на k+1 — правильно записанный код некоторой машины Тьюринга M1{\displaystyle M_{1}} , то U выдаст тот же ответ, какой выдала бы на этих входных данных M1{\displaystyle M_{1}} , или будет работать бесконечно долго, если M1{\displaystyle M_{1}}  на этих данных не остановится.

Теорема об универсальной машине Тьюринга утверждает, что такая машина существует и моделирует другие машины с не более чем квадратичным замедлением (то есть если исходная машина произвела t шагов, то универсальная произведёт не более ct²). Доказательство у этой теоремы конструктивное (такую машину несложно построить, надо только аккуратно её описать). Теорема была предложена и доказана Тьюрингом в 1947 г.

http-wikipediya.ru

Универсальная машина Тьюринга Википедия

Универсальной машиной Тью́ринга называют машину Тьюринга, которая может заменить собой любую машину Тьюринга. Получив на вход программу и входные данные, она вычисляет ответ, который вычислила бы по входным данным машина Тьюринга, чья программа была дана на вход.

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

Программу любой детерминированной машины Тьюринга можно записать, используя некоторый конечный алфавит, состоящий из символов состояния, скобок, стрелки и т. п.; обозначим этот машинный алфавит как Σ1{\displaystyle \Sigma _{1}}. Тогда универсальной машиной Тьюринга U для класса машин с алфавитом Σ2{\displaystyle \Sigma _{2}} и k входными лентами называется машина Тьюринга с k+1 входной лентой и алфавитом Σ1∪Σ2{\displaystyle \Sigma _{1}\cup \Sigma _{2}} такая, что если подать на первые k лент входное значение, а на k+1 — правильно записанный некоторой машины Тьюринга M1{\displaystyle M_{1}}, то U выдаст тот же ответ, какой выдала бы на этих входных данных M1{\displaystyle M_{1}}, или будет работать бесконечно долго, если M1{\displaystyle M_{1}} на этих данных не остановится.

Теорема об универсальной машине Тьюринга утверждает, что такая машина существует и моделирует другие машины с не более чем квадратичным замедлением (то есть если исходная машина произвела t шагов, то универсальная произведёт не более ct²). Доказательство у этой теоремы конструктивное (такую машину несложно построить, надо только аккуратно её описать). Теорема была предложена и доказана Тьюрингом в 1947 г.

См. также[ | ]

  • Машина Поста
  • JFLAP кроссплатформенная программа симулятор автоматов, машины Тьюринга, грамматик, рисует граф автомата

ru-wiki.ru

Универсальная машина Тьюринга — WiKi

Универсальной машиной Тью́ринга называют машину Тьюринга, которая может заменить собой любую машину Тьюринга. Получив на вход программу и входные данные, она вычисляет ответ, который вычислила бы по входным данным машина Тьюринга, чья программа была дана на вход.

Программу любой детерминированной машины Тьюринга можно записать, используя некоторый конечный алфавит, состоящий из символов состояния, скобок, стрелки и т. п.; обозначим этот машинный алфавит как Σ1{\displaystyle \Sigma _{1}} . Тогда универсальной машиной Тьюринга U для класса машин с алфавитом Σ2{\displaystyle \Sigma _{2}}  и k входными лентами называется машина Тьюринга с k+1 входной лентой и алфавитом Σ1∪Σ2{\displaystyle \Sigma _{1}\cup \Sigma _{2}}  такая, что если подать на первые k лент входное значение, а на k+1 — правильно записанный код некоторой машины Тьюринга M1{\displaystyle M_{1}} , то U выдаст тот же ответ, какой выдала бы на этих входных данных M1{\displaystyle M_{1}} , или будет работать бесконечно долго, если M1{\displaystyle M_{1}}  на этих данных не остановится.

Теорема об универсальной машине Тьюринга утверждает, что такая машина существует и моделирует другие машины с не более чем квадратичным замедлением (то есть если исходная машина произвела t шагов, то универсальная произведёт не более ct²). Доказательство у этой теоремы конструктивное (такую машину несложно построить, надо только аккуратно её описать). Теорема была предложена и доказана Тьюрингом в 1947 г.

ru-wiki.org

Универсальная машина Тьюринга

Систему
команд машины Тьюринга можно
интерпретировать и как описание работы
конкретного механизма, и как программу,
управляющей работой механизма МТ. Обе
интерпретации используют на практике.
Для современного инженера это
обстоятельство вполне естественно. Он
хорошо знает, что любой алгоритм
управления может быть реализован либо
аппаратурно – построением соответствующей
схемы, либо программно – написанием
программы для универсальной управляющей
ЭВМ. В одном случае МТ «запаивается» в
электронную схему (часто такой подход
применяется в военной технике). Во втором
случае мы имеем дело с привычной практикой
– разработки приложений на ЭВМ.

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

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

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

Любую
МТ U,
обладающую
указанными свойствами называют
универсальной
машиной Тьюринга
.

Лекция
3

1.2.3. Тезис Тьюринга

Определение
5.

Функция
является вычислимой, если существует
такая машина Тьюринга T, что если на вход
ей подать представленный в некоторой
кодировке x, то

  1. если
    функция f определена на x, и f(x) = y, то
    машина T останавливается на входе x, и
    на выходе у нее записано y;

  2. если
    функция f не определена на x, то машина
    T зацикливается (не останавливается за
    любое конечное число шагов) на входе
    x.

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

Тезис
Тьюринга.

Всякую
вычислимую функцию (алгоритм) можно
реализовать с помощью машины Тьюринга.

Таким
образом, если мы принимаем этот тезис,
то можем смело говорить о вычислимости,
не указывая конкретную модель Сразу
возникает вопрос: любую ли функцию y
= f(x)
,
можно вычислить на МТ?

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

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

не останавливается (не вычислима).

Теорема
1.

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

Полное
доказательство теоремы будет приведено
в курсе лекций «Математическая логика
и теория алгоритмов» здесь же приведем
некоторые неформальные соображения.

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

Приведем
примеры некоторых неразрешимых проблем
(вычислимости функции).

  1. Проблема
    остановки машины Тьюринга на пустом
    слове неразрешима.

  2. Нет
    алгоритма, который для заданной машины
    Тьюринга T
    и ее состояния qk выясняет: попадет ли
    машина в это состояние хотя бы для
    одного входного слова x
    .

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

Лекция
4

studfiles.net

Универсальная машина Тьюринга. Новый ум короля [О компьютерах, мышлении и законах физики]

Универсальная машина Тьюринга

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

Чтобы показать, как это может быть реализовано, нам потребуется какая-нибудь система нумерации машин Тьюринга. Рассмотрим список инструкций, определяющих произвольную машину Тьюринга, например, одну из описанных выше. Мы должны в соответствии с некоторыми четкими правилами представить эти инструкции в виде последовательностей нулей и единиц. Это можно сделать, например, с помощью процедуры «сокращения», которую мы использовали ранее. Тогда, если мы закодируем символы R, L, STOP, «стрелка» (?) и «запятая», скажем, числами 2, 3, 4, 5 и 6 соответственно, то мы сможем записать их в виде «сокращений» 110, 1110, 11110, 111110 и 1111110. Цифры 0 и 1, кодируемые, соответственно, как 0 и 10, могут быть использованы для записи строк этих символов, входящих в таблицу действий машины Тьюринга. Нам не нужны различные обозначения для «жирных» цифр 0 и 1 и для остальных цифр в таблице, поскольку расположение «жирных» цифр в конце двоичного кода является достаточным отличительным признаком. При этом 1101, например, будет читаться как двоичное число 1101, представляемое на ленте последовательностью 1010010. в частности, 00 будет читаться как 00, что без всякой двусмысленности можно закодировать как 0 или вовсе опустить. Можно существенно сэкономить, если не кодировать «стрелки» и непосредственно предшествующие им символы, а воспользоваться цифровым упорядочением команд, позволяющим определить, какими должны быть эти символы. Правда, для этого надо убедиться в отсутствии «дырок» в получившемся порядке и добавить, где требуется, «немые» команды. (Например, машина Тьюринга XN +1 не имеет команды, соответствующей коду 1100, поскольку такая комбинация в ходе ее работы никогда не встречается. Следовательно, мы должны ввести в список команд немую команду, скажем 1100 ? 00R, которая не вызовет каких бы то ни было изменений в работе машины. Сходным образом мы должны добавить немую команду 101 ? 00R в список команд машины XN х 2.) Без таких «немых» команд кодирование последующих команд было бы нарушено. Как можно видеть, на самом деле мы не нуждаемся и в запятой в конце каждой команды, поскольку символов L и R вполне достаточно для отделения команд друг от друга. Поэтому мы просто будем использовать такую систему кодирования:

0 для 0 или 0,

10 для 1 или 1,

110 для R,

1110 для L,

11110 для STOP.

В качестве примера выпишем команды для машины Тьюринга XN +1 (с дополнительной немой командой 1100 ? 00R). Опуская стрелки, цифры, непосредственно предшествующие им, и запятые, получим

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

которая на ленте записывается как последовательность

Есть еще два способа немного сэкономить. Во-первых, всегда можно удалить код 110 в начале записи (вместе с бесконечным участком пустой ленты, предшествующим этому коду). Он обозначает последовательность 00R, соответствующую начальной команде 00 ? 00R, которую я до сих пор неявно считал общей для всех машин Тьюринга, поскольку она необходима для того, чтобы устройство, начав работу в произвольной точке слева от начала записи на ленте, могло перемещаться вправо до тех пор, пока не встретит первую непустую клетку. Во-вторых, точно так же всегда можно удалить код 110 (и неявную бесконечную последовательность нулей, которая, по предположению, следует за ним) в конце записи, поскольку этой кодовой последовательностью должно заканчиваться описание любой машины Тьюринга (во всех случаях список команд заканчивается командой R, L или STOP). Получающееся двоичное число — это номер машины Тьюринга, который для XN + 1 будет выглядеть так:

В обычной десятичной записи этот номер равен

450813704461563958982113775643437908.

Иногда машину с номером n мы, не вполне точно, будем называть n-й машиной Тьюринга и обозначать ее Tn . В этом случае XN +1 становится

450813704461563958982113775643437908 — й

машиной Тьюринга!

Кажется поразительным факт, что нам надо пробежать так долго вдоль «списка» машин Тьюринга, чтобы найти машину, выполняющую такую тривиальную операцию, как прибавление единицы к натуральному числу (в расширенном двоичном представлении). (Я не думаю, что моя система кодирования была в целом настолько неэффективна, хотя в ней и есть еще возможности для незначительных улучшений.) В действительности, есть машины Тьюринга и с меньшими номерами, которые представляют интерес, например UN +1 с двоичным номером

101011010111101010,

который в десятичной записи превращается всего лишь в 177 642. Значит, особенно тривиальная машина UN +1, которая просто дописывает 1 единицу в конце последовательности единиц, является 177 642-й машиной Тьюринга. Интересно, что «умножение на два» в списке машин Тьюринга попадает где-то между этими двумя машинами, причем и в унарном, и в расширенном двоичном представлении: номер XN х 2 равен 10 389 728 107, а номер UN х 2 — 1492 923 420 919 872 026 917 547 669.

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

Из этих машин T0 просто перемещается вправо, стирая все, что ей попадается на пути, никогда не останавливаясь и не меняя направления движения. Машина Т1 выполняет в сущности ту же операцию, но более громоздким путем, отступая на шаг назад каждый раз, когда она стирает очередную единицу на ленте. Так же как и T0, машина T2 двигается вправо, никогда не останавливаясь, но относится к ленте более «почтительно», попросту оставляя всю информацию нетронутой. Эти машины не могут использоваться в качестве машин Тьюринга, поскольку никогда не останавливаются. T3 — первая в этом списке «правильная» машина: она скромно прекращает действие после того, как изменяет первую (самую левую) единицу на нуль. T4 сталкивается с серьезной проблемой. Найдя первую единицу на ленте, она переходит во внутреннее состояние, которое нигде не описано, и, следовательно, машина не имеет никаких команд для следующего шага. С той же проблемой сталкиваются T8 T9 и T10 . С T7 возникают трудности еще более фундаментального характера. Строка нулей и единиц, которой она представляется, включает последовательность из пяти единиц: 110111110. Интерпретации этой последовательности не существует, поэтому T7 намертво застревает сразу же, как только доходит до первой единицы. (Я буду называть T7 , равно как и любую другую машину Tn, двоичное расширенное представлений которой содержит более четырех единиц, некорректно определенной.) Машины T5T6 и T12 испытывают те же трудности, что и T0, T1, T2: они просто никогда не останавливаются. Все эти машины — T0, T1 , T2 , T5 , T6 , T7 , T8, T9T10 и T12 — совершенно бесполезные устройства! Только T3 и T11 являются функциональными машинами Тьюринга, да и то не слишком интересными. Причем T11 даже скромнее, чем T3 : натолкнувшись на первую же единицу, она останавливается и вообще ничего не меняет!

Надо заметить, что наш перечень содержит избыточную информацию. Машина T12 идентична T6, а по действиям обе они аналогичны T0, поскольку ни T6, ни T12 никогда не переходят во внутреннее состояние 1. Но нам нет нужды волноваться из-за этой избыточности, равно как из-за изобилия неработоспособных (фиктивных) машин Тьюринга в нашем списке. На самом деле, мы могли бы изменить систему кодирования таким образом, чтобы избавиться от большого числа бесполезных устройств и значительно уменьшить избыточность списка машин. Но все это можно сделать только ценой усложнения нашей примитивной универсальной машины Тьюринга, которая должна расшифровывать вводимую в нее запись и имитировать машину Tn, чей номер она считала. Это было бы оправдано, если бы было можно избавиться от всех бесполезных (и повторяющихся) машин. Но это, как мы увидим чуть позднее, невозможно! Поэтому мы оставим нашу систему кодирования без изменений.

Будет удобно интерпретировать ленту с последовательностью меток на ней, например

…0001101110010000…,

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

110111001,

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

11011100,

которое соответствует десятичному числу 220. Эта процедура имеет то преимущество, что нуль также представляется непустой лентой, а именно:

… 0000001000000….

Рассмотрим, как действует машина Тьюринга Tn на некоторую (конечную) строку нулей и единиц на ленте, которая подается в устройство справа. Удобно рассматривать эту строку как двоичное представление некоторого числа, например m, в соответствии с приведенной выше схемой. Предположим, что после определенного числа шагов машина Tn в конце концов останавливается (т. е. доходит до команды STOP). Строка двоичных цифр, которые машина выписала к этому моменту на левой части ленты, и будет искомым результатом вычислений. Считывая эту последовательность в соответствии с той же схемой так же как двоичное представление некоторого числа, получим новое число, скажем, р. Тогда мы можем записать соотношение, выражающее тот факт, что результатом действия n машины Тьюринга Tn на число m является число p, следующим образом:

Tn(m)=p .

Взглянем на это соотношение с несколько иной точки зрения. Мы будем считать, что это выражение описывает некоторую специфическую операцию, которая применяется к паре чисел m и n для того, чтобы получить p. (Это означает: для заданных двух чисел n и m мы можем найти значение p, если введем m в n-ю машину Тьюринга.) Эта специфическая операция является полностью алгоритмической. Поэтому она может быть выполнена одной конкретной машиной Тьюринга U; иными словами, U, совершая действие над парой (n, m ), дает в результате p. Поскольку машина U должна производить операцию над обоими числами n и m, чтобы получить ответ, выражаемый одним числом p, то нам нужно придумать способ для записи пары (n, m) на одной ленте. С этой целью предположим, что n записывается в стандартной двоичной форме и заканчивается последовательностью 111110. (Вспомним, что двоичный номер всякой корректно определенной машины Тьюринга, — это последовательность символов, состоящая только из сочетаний вида 0, 10, 110, 1110 и 11110, поэтому он нигде не содержит более четырех единиц подряд. Таким образом, если Tn — корректно определенная машина, то появление последовательности 111110 действительно будет означать конец записи номера n.) Все, что следует за ней, должно быть просто записью числа m на ленте в соответствии с приведенными выше правилами (т. е. двоичное число m и строка 1000… непосредственно за ним). Таким образом, с этой второй частью ленты машина Tn и должна производить предполагаемые действия.

Если в качестве примера мы возьмем n =11 и m =6, то на ленте, вводимой в мащину U, мы будем иметь последовательность

000101111111011010000..

Она образована из следующих составляющих:

… 0000 (пустое начало ленты)

1011 (двоичное представление одиннадцати)

111110 (обозначает окончание числа n )

110 (двоичное представление шести)

10000… (остаток ленты)

То, что машина Тьюринга U должна была бы делать на каждом очередном шагу процедуры, выполняемой Tn над m — это исследовать структуру последовательности цифр в выражении n с тем, чтобы можно было произвести соответствующие изменения цифр числа m (т. е. «ленты» машины Tn ). В принципе, реализация такой машины не вызывает существенных затруднений (хотя и довольно громоздка на практике). Список ее собственных команд должен был бы просто содержать правила для чтения подходящей команды из «списка», закодированного в числе n, на каждом этапе выполнения действий над цифрами, считанными с «ленты», как они фигурируют в числе m. Можно предположить, что при этом совершалось бы значительное количество прыжков взад-вперед по ленте между цифрами, составляющими n и m, и выполнение процедуры было бы чрезвычайно медленным. Тем не менее, список команд подобной машины, несомненно, можно составить, и такая машина называется нами универсальной машиной Тьюринга. Обозначая ее действие на пару чисел (n, m ) через U(n, m ), мы получаем:

U(n, m ) = Тn(m )

при любых (n, m ), для которых Tn — корректно определенная машина Тьюринга[47]. Машина U, в которую первым вводится число n, в точности имитирует n-ю машину Тьюринга!

Поскольку U — машина Тьюринга, то она сама будет иметь номер. То есть, для некоторого числа u имеем

U = Tu.

Сколь велико u ? В сущности, мы можем положить, что u в точности равно следующему числу:

u =7244855335339317577

198395039615711237

952360672556559631

108144796606505059

404241090310483613

632359365644443458

382226883278767626

556144692814117715

017842551707554085

657689753346356942

478488597046934725

739988582283827795

294683460521061169

835945938791885546

326440925525505820

555989451890716537

414896033096753020

431553625034984529

832320651583047664

142130708819329717

234151056980262734

686429921838172157

333482823073453713

421475059740345184

372359593090640024

321077342178851492

760797597634415123

079586396354492269

159479654614711345

700145048167337562

172573464522731054

482980784965126988

788964569760906634

204477989021914437

932830019493570963

921703904833270882

596201301773727202

718625919914428275

437422351355675134

084222299889374410

534305471044368695

876405178128019437

530813870639942772

823156425289237514

565443899052780793

241144826142357286

193118332610656122

755531810207511085

337633806031082361

675045635852164214

869542347187426437

544428790062485827

091240422076538754

264454133451748566

291574299909502623

009733738137724162

172747723610206786

854002893566085696

822620141982486216

989026091309402985

706001743006700868

967590344734174127

874255812015493663

938996905817738591

654055356704092821

332221631410978710

814599786695997045

096818419062994436

560151454904880922

084480034822492077

304030431884298993

931352668823496621

019471619107014619

685231928474820344

958977095535611070

275817487333272966

789987984732840981

907648512726310017

401667873634776058

572450369644348979

920344899974556624

029374876688397514

044516657077500605

138839916688140725

455446652220507242

623923792115253181

625125363050931728

631422004064571305

275802307665183351

995689139748137504

926429605010013651

980186945639498

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

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

Поделитесь на страничке

Следующая глава >

fil.wikireading.ru

УНИВЕРСАЛЬНАЯ МАШИНА — это… Что такое УНИВЕРСАЛЬНАЯ МАШИНА?



УНИВЕРСАЛЬНАЯ МАШИНА

универсалка, см. Кормоперерабатывающие машины.

Сельскохозяйственный словарь-справочник. — Москва — Ленинград : Государстенное издательство колхозной и совхозной литературы «Сельхозгиз».
Главный редактор: А. И. Гайстер.
1934.

  • УЛЬТРА-СЕРА
  • УПАКОВКА ПЛОДОВ

Смотреть что такое «УНИВЕРСАЛЬНАЯ МАШИНА» в других словарях:

  • универсальная машина Тьюринга — universlioji Turing o mašina statusas T sritis automatika atitikmenys: angl. universal Turing machine vok. universelle Turingmaschine, f rus. универсальная машина Тьюринга, f pranc. machine universelle de Turing, f ryšiai: sinonimas –… …   Automatikos terminų žodynas

  • Универсальная машина Тьюринга — Универсальной машиной Тьюринга называют машину Тьюринга, которая может заменить собой любую машину Тьюринга. Получив на вход программу и входные данные, она вычисляет ответ, который вычислила бы по входным данным машина Тьюринга, чья программа… …   Википедия

  • Кухонная универсальная машина —         кухонный комбайн, электропривод с насадками, служащими для обработки продуктов в домашних условиях. Ручная К. у. м. крепится к доске стола; к ней присоединяются мясорубка, жерновая кофейная мельница, шинковка, сбивалки. Распространены… …   Большая советская энциклопедия

  • универсальная испытательная машина — универсальная машина Машина для испытания материалов на различные виды деформации в отдельности. [ГОСТ 14766 69] Тематики механические испытания Синонимы универсальная машина …   Справочник технического переводчика

  • Машина испытательная универсальная — – машина для испытания материалов на различные виды деформации в отдельности. [ГОСТ 14766 69] Рубрика термина: Испытательное оборудование Рубрики энциклопедии: Абразивное оборудование, Абразивы, Автодороги …   Энциклопедия терминов, определений и пояснений строительных материалов

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

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

  • универсальная — 23 универсальная головка: Устройство, по выбору выполняющее функции головки записи, воспроизведения, стирания или любой пары этих головок. Примечание. В зависимости от функций, выполняемых головкой, образуются видовые понятия, например… …   Словарь-справочник терминов нормативно-технической документации

  • Универсальная испытательная машина — 4. Универсальная испытательная машина Универсальная машина Машина для испытания материалов на различные виды деформации в отдельности Источник: ГОСТ 14766 69: Машины и приборы для определения механических свойств материалов. Термины и определения …   Словарь-справочник терминов нормативно-технической документации

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

dic.academic.ru

Универсальная машина Тьюринга — Википедия (с комментариями)


Ты — не раб!
Закрытый образовательный курс для детей элиты: «Истинное обустройство мира».

http://noslave.org

Материал из Википедии — свободной энциклопедии

Универсальной машиной Тью́ринга называют машину Тьюринга, которая может заменить собой любую машину Тьюринга. Получив на вход программу и входные данные, она вычисляет ответ, который вычислила бы по входным данным машина Тьюринга, чья программа была дана на вход.

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

Программу любой детерминированной машины Тьюринга можно записать, используя некоторый конечный алфавит, состоящий из символов состояния, скобок, стрелки и т. п.; обозначим этот машинный алфавит как <math>\Sigma_1</math>. Тогда универсальной машиной Тьюринга U для класса машин с алфавитом <math>\Sigma_2</math> и k входными лентами называется машина Тьюринга с k+1 входной лентой и алфавитом <math>\Sigma_1 \cup \Sigma_2</math> такая, что если подать на первые k лент входное значение, а на k+1 — правильно записанный код некоторой машины Тьюринга <math>M_1</math>, то U выдаст тот же ответ, какой выдала бы на этих входных данных <math>M_1</math>, или будет работать бесконечно долго, если <math>M_1</math> на этих данных не остановится.

Теорема об универсальной машине Тьюринга утверждает, что такая машина существует и моделирует другие машины с не более чем квадратичным замедлением (то есть если исходная машина произвела t шагов, то универсальная произведёт не более ct²). Доказательство у этой теоремы конструктивное (такую машину несложно построить, надо только аккуратно её описать). Теорема была предложена и доказана Тьюрингом в 1947 г.

См. также

  • JFLAP кроссплатформенная программа симулятор автоматов, машины Тьюринга, грамматик, рисует граф автомата

Напишите отзыв о статье «Универсальная машина Тьюринга»

Отрывок, характеризующий Универсальная машина Тьюринга

– Непременно надо перенести на кровать, здесь никак нельзя будет…
Больного так обступили доктора, княжны и слуги, что Пьер уже не видал той красно желтой головы с седою гривой, которая, несмотря на то, что он видел и другие лица, ни на мгновение не выходила у него из вида во всё время службы. Пьер догадался по осторожному движению людей, обступивших кресло, что умирающего поднимали и переносили.
– За мою руку держись, уронишь так, – послышался ему испуганный шопот одного из слуг, – снизу… еще один, – говорили голоса, и тяжелые дыхания и переступанья ногами людей стали торопливее, как будто тяжесть, которую они несли, была сверх сил их.
Несущие, в числе которых была и Анна Михайловна, поровнялись с молодым человеком, и ему на мгновение из за спин и затылков людей показалась высокая, жирная, открытая грудь, тучные плечи больного, приподнятые кверху людьми, державшими его под мышки, и седая курчавая, львиная голова. Голова эта, с необычайно широким лбом и скулами, красивым чувственным ртом и величественным холодным взглядом, была не обезображена близостью смерти. Она была такая же, какою знал ее Пьер назад тому три месяца, когда граф отпускал его в Петербург. Но голова эта беспомощно покачивалась от неровных шагов несущих, и холодный, безучастный взгляд не знал, на чем остановиться.
Прошло несколько минут суетни около высокой кровати; люди, несшие больного, разошлись. Анна Михайловна дотронулась до руки Пьера и сказала ему: «Venez». [Идите.] Пьер вместе с нею подошел к кровати, на которой, в праздничной позе, видимо, имевшей отношение к только что совершенному таинству, был положен больной. Он лежал, высоко опираясь головой на подушки. Руки его были симметрично выложены на зеленом шелковом одеяле ладонями вниз. Когда Пьер подошел, граф глядел прямо на него, но глядел тем взглядом, которого смысл и значение нельзя понять человеку. Или этот взгляд ровно ничего не говорил, как только то, что, покуда есть глаза, надо же глядеть куда нибудь, или он говорил слишком многое. Пьер остановился, не зная, что ему делать, и вопросительно оглянулся на свою руководительницу Анну Михайловну. Анна Михайловна сделала ему торопливый жест глазами, указывая на руку больного и губами посылая ей воздушный поцелуй. Пьер, старательно вытягивая шею, чтоб не зацепить за одеяло, исполнил ее совет и приложился к ширококостной и мясистой руке. Ни рука, ни один мускул лица графа не дрогнули. Пьер опять вопросительно посмотрел на Анну Михайловну, спрашивая теперь, что ему делать. Анна Михайловна глазами указала ему на кресло, стоявшее подле кровати. Пьер покорно стал садиться на кресло, глазами продолжая спрашивать, то ли он сделал, что нужно. Анна Михайловна одобрительно кивнула головой. Пьер принял опять симметрично наивное положение египетской статуи, видимо, соболезнуя о том, что неуклюжее и толстое тело его занимало такое большое пространство, и употребляя все душевные силы, чтобы казаться как можно меньше. Он смотрел на графа. Граф смотрел на то место, где находилось лицо Пьера, в то время как он стоял. Анна Михайловна являла в своем положении сознание трогательной важности этой последней минуты свидания отца с сыном. Это продолжалось две минуты, которые показались Пьеру часом. Вдруг в крупных мускулах и морщинах лица графа появилось содрогание. Содрогание усиливалось, красивый рот покривился (тут только Пьер понял, до какой степени отец его был близок к смерти), из перекривленного рта послышался неясный хриплый звук. Анна Михайловна старательно смотрела в глаза больному и, стараясь угадать, чего было нужно ему, указывала то на Пьера, то на питье, то шопотом вопросительно называла князя Василия, то указывала на одеяло. Глаза и лицо больного выказывали нетерпение. Он сделал усилие, чтобы взглянуть на слугу, который безотходно стоял у изголовья постели.

wiki-org.ru