<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=109.242.180.127&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=109.242.180.127&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/109.242.180.127"/>
		<updated>2026-05-19T17:59:54Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3%D0%B0&amp;diff=71986</id>
		<title>Машина Тьюринга</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3%D0%B0&amp;diff=71986"/>
				<updated>2019-12-12T12:35:07Z</updated>
		
		<summary type="html">&lt;p&gt;109.242.180.127: Отмена правки 71939, сделанной 84.47.152.2 (обсуждение)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
'''Машина Тьюринга''' (англ. ''Turing machine'') — модель абстрактного вычислителя, предложенная британским математиком Аланом Тьюрингом в 1936 году. Эта модель позволила Тьюрингу доказать два утверждения. Первое — проблема останова неразрешима, т.е. не существует такой машины Тьюринга, которая способна определить, что другая произвольная машина Тьюринга на её ленте зациклится или прекратит работу. Второе — не существует такой машины Тьюринга, которая способна определить, что другая произвольная машина Тьюринга на её ленте когда-нибудь напечатает заданный символ. В этом же году был высказан тезис Чёрча-Тьюринга, который терминах теории рекурсии формулируется как точное описание интуитивного понятия вычислимости классом общерекурсивных функций. В этой формулировке часто упоминается как просто тезис Чёрча. В терминах вычислимости по Тьюрингу тезис гласит, что для любой алгоритмически вычислимой функции существует вычисляющая её значения машина Тьюринга. В виду того, что классы частично вычислимых по Тьюрингу и частично рекурсивных функций совпадают, утверждение объединяют в единый тезис Чёрча — Тьюринга.&lt;br /&gt;
&lt;br /&gt;
Неформально машина Тьюринга определяется как устройство, состоящее из двух частей:&lt;br /&gt;
* бесконечной одномерной ленты, разделённой на ячейки,&lt;br /&gt;
* головки, которая представляет собой [[Детерминированные конечные автоматы|детерминированный конечный автомат]].&lt;br /&gt;
&lt;br /&gt;
При запуске машины Тьюринга на ленте написано входное слово, причём на первом символе этого слова находится головка, а слева и справа от него записаны пустые символы. Каждый шаг головка может перезаписать символ под лентой и сместиться на одну ячейку, если автомат приходит в допускающее или отвергающее состояние, то работа машины Тьюринга завершается.&lt;br /&gt;
&lt;br /&gt;
== Определение ==&lt;br /&gt;
=== Определение машины ===&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Формально '''машина Тьюринга''' (англ. ''Turing machine'') определяется как кортеж из восьми элементов &amp;lt;tex&amp;gt;\langle \Sigma, \Pi, B, Q, Y, N, S, \delta \rangle&amp;lt;/tex&amp;gt;, где&lt;br /&gt;
* &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt; — алфавит, из букв которого могут состоять входные слова,&lt;br /&gt;
* &amp;lt;tex&amp;gt;\Pi \supset \Sigma&amp;lt;/tex&amp;gt; — символы, которые могут быть записаны на ленту в процессе работы машины,&lt;br /&gt;
* &amp;lt;tex&amp;gt;B \in \Pi \setminus \Sigma&amp;lt;/tex&amp;gt; ­— пробельный символ (от слова ''blank''),&lt;br /&gt;
* &amp;lt;tex&amp;gt;Q&amp;lt;/tex&amp;gt; — множество состояний управляющего автомата,&lt;br /&gt;
* &amp;lt;tex&amp;gt;Y \in Q&amp;lt;/tex&amp;gt; — допускающее состояние автомата,&lt;br /&gt;
* &amp;lt;tex&amp;gt;N \in Q&amp;lt;/tex&amp;gt; — отвергающее состояние автомата,&lt;br /&gt;
* &amp;lt;tex&amp;gt;S \in Q&amp;lt;/tex&amp;gt; — стартовое состояние автомата,&lt;br /&gt;
* &amp;lt;tex&amp;gt;\delta : Q \times \Pi \to Q \times \Pi \times \{ \leftarrow, \rightarrow, \downarrow \}&amp;lt;/tex&amp;gt; — всюду определённая функция перехода автомата.&lt;br /&gt;
}}&lt;br /&gt;
Отметим, что существуют различные вариации данного выше определения (например, без отвергающего состояния или с множеством допускающих состояний), которые не влияют на вычислительные способности машины Тьюринга.&lt;br /&gt;
&lt;br /&gt;
=== Определение процесса работы ===&lt;br /&gt;
Кроме формального определения самой машины требуется также формально описать процесс её работы. В определении для простоты будем предполагать, что головка в процессе работы не записывает на ленту символ &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Это не ограничивает вычислительной мощности машин Тьюринга, поскольку для каждой машины можно сопоставить аналогичную ей, но не пищущую &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; на ленту.&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=conf&lt;br /&gt;
|definition=&lt;br /&gt;
Назовём '''конфигурацией''' машины Тьюринга тройку &amp;lt;tex&amp;gt;\langle w, q, v \rangle&amp;lt;/tex&amp;gt;, где&lt;br /&gt;
* &amp;lt;tex&amp;gt;q \in Q&amp;lt;/tex&amp;gt; — текущее состояние автомата,&lt;br /&gt;
* &amp;lt;tex&amp;gt;w, v \in (\Pi \setminus \{B\})^*&amp;lt;/tex&amp;gt; — строки слева и справа от головки до первого пробельного символа соответственно.&lt;br /&gt;
}}&lt;br /&gt;
В данной записи головка находится над ячейкой, на которой написана первая буква &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; (или &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;, если &amp;lt;tex&amp;gt;v = \varepsilon&amp;lt;/tex&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
В дальнейшем используются следующие обозначения: &amp;lt;tex&amp;gt;x, y, z \in \Pi&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;w, v \in \Pi^*&amp;lt;/tex&amp;gt;&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Определим на конфигурациях отношение перехода &amp;lt;tex&amp;gt;\langle w_1, q_1, v_1 \rangle \vdash \langle w_2, q_2, v_2 \rangle&amp;lt;/tex&amp;gt;:&lt;br /&gt;
* если &amp;lt;tex&amp;gt;\delta(q, x) = \langle p, y, \leftarrow \rangle&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\langle wz, q, xv \rangle \vdash \langle w, p, zyv \rangle&amp;lt;/tex&amp;gt;,&lt;br /&gt;
* если &amp;lt;tex&amp;gt;\delta(q, x) = \langle p, y, \rightarrow \rangle&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\langle w, q, xv \rangle \vdash \langle wy, p, v \rangle&amp;lt;/tex&amp;gt;,&lt;br /&gt;
* если &amp;lt;tex&amp;gt;\delta(q, x) = \langle p, y, \downarrow \rangle&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\langle w, q, xv \rangle \vdash \langle w, p, yv \rangle&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Особо следует рассмотреть случай переходов по пробельному символу:&lt;br /&gt;
* если &amp;lt;tex&amp;gt;\delta(q, B) = \langle p, y, \leftarrow \rangle&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\langle wz, q, \varepsilon \rangle \vdash \langle w, p, zy \rangle&amp;lt;/tex&amp;gt;,&lt;br /&gt;
* если &amp;lt;tex&amp;gt;\delta(q, B) = \langle p, y, \rightarrow \rangle&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\langle w, q, \varepsilon \rangle \vdash \langle wy, p, \varepsilon \rangle&amp;lt;/tex&amp;gt;,&lt;br /&gt;
* если &amp;lt;tex&amp;gt;\delta(q, B) = \langle p, y, \downarrow \rangle&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\langle w, q, \varepsilon \rangle \vdash \langle w, p, y \rangle&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
Очевидно, что определённое отношение является функциональным: для каждой конфигурации &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; существует не более одной конфигурации &amp;lt;tex&amp;gt;C'&amp;lt;/tex&amp;gt;, для которой &amp;lt;tex&amp;gt;C \vdash C'&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Для машины Тьюринга, которая пишет символ &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; на ленту также можно дать аналогичное формальное определение. Оно будет отличаться тем, что символы в строчках конфигурации могут содержать пробелы, и для того, чтобы эти строчки имекли конечную длину, нужно аккуратно учесть наличие пробелов при записи правил перехода.&lt;br /&gt;
&lt;br /&gt;
=== Результат работы ===&lt;br /&gt;
Машину Тьюринга можно рассматривать как распознаватель слов [[Основные определения: алфавит, слово, язык, конкатенация, свободный моноид слов; операции над языками|формального языка]]. Пусть &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; — машина Тьюринга, распознаваемый ей язык определяется как &amp;lt;tex&amp;gt;\mathcal L(M) = \{ x \in \Sigma^* \mid \exists y, z \in \Pi^*: \langle \varepsilon, S, x \rangle \vdash^* \langle y, Y, z \rangle \}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Также можно рассматривать машины Тьюринга как преобразователь входных данных в выходные. Машина &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; задаёт [[Вычислимые функции|вычислимую функцию]] &amp;lt;tex&amp;gt;f&amp;lt;/tex&amp;gt;, причём &amp;lt;tex&amp;gt;f(x) = y \Leftrightarrow \exists z \in \Pi^* : \langle \varepsilon, S, x \rangle \vdash^* \langle z, Y, y \rangle&amp;lt;/tex&amp;gt;. Переход автомата в состояние &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt; можно интерпретировать как аварийное завершение программы (например, при некорретном входе).&lt;br /&gt;
&lt;br /&gt;
Примеры машин-распознавателей и машин-преобразователей будут даны ниже.&lt;br /&gt;
&lt;br /&gt;
== Примеры машин Тьюринга ==&lt;br /&gt;
=== Прибавление единицы ===&lt;br /&gt;
Для начала приведём пример машины-преобразователя, которая прибавляет единицу к числу, записанному на ленте в двоичной записи от младшего бита к старшему. Алгоритм следующий:&lt;br /&gt;
* в стартовом состоянии головка идёт вправо от младшего бита к старшему, заменяя все единицы на нули,&lt;br /&gt;
* встретив нуль или пробельный символ головка записывает единицу, после чего переходит в состояние &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;,&lt;br /&gt;
* в состоянии &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; головка идёт влево от старшего бита к младшему, не изменяя символы 0 и 1 на ленте,&lt;br /&gt;
* встретив в состоянии &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; пробельный символ, головка перемещается на один символ вправо и переходит в состояние &amp;lt;tex&amp;gt;Y&amp;lt;/tex&amp;gt;, завершая работу.&lt;br /&gt;
&lt;br /&gt;
Формально: &amp;lt;tex&amp;gt;\Sigma = \{0, 1 \}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\Pi = \{0, 1, B\}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;Q = \{S, R, Y, N \}&amp;lt;/tex&amp;gt;. Таблица функции &amp;lt;tex&amp;gt;\delta&amp;lt;/tex&amp;gt; приведена ниже:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;5&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |width=&amp;quot;30&amp;quot;|&lt;br /&gt;
 |width=&amp;quot;100&amp;quot;| &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |width=&amp;quot;100&amp;quot;| &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |width=&amp;quot;100&amp;quot;| &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle R, 1, \downarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle S, 0, \rightarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle R, B, \leftarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle R, 0, \leftarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle R, 1, \leftarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle Y, B, \rightarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Проверка того, является ли слово палиндромом ===&lt;br /&gt;
В качестве примера машины-распознавателя приведём машину, распознающую палиндромы над алфавитом &amp;lt;tex&amp;gt;\{0, 1\}&amp;lt;/tex&amp;gt;. Алгоритм следующий:&lt;br /&gt;
* если строка на ленте — пустая, то перейти в допускающее состояние&lt;br /&gt;
* надо запомнить первый символ слова в состоянии автомата,&lt;br /&gt;
* стереть его,&lt;br /&gt;
* перейти в конец ленты:&lt;br /&gt;
** если оставшаяся строка на ленте — пустая, то перейти в допускающее состояние&lt;br /&gt;
** если последний символ совпадает с запомненным, стереть его, перейти в начало ленты и повторить с первого шага&lt;br /&gt;
** в случае несовпадения перейти в отвергающее состояние&lt;br /&gt;
&lt;br /&gt;
Формально: &amp;lt;tex&amp;gt;\Sigma = \{0, 1\}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\Pi = \{0, 1, B\}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;Q = \{S, F_0, F_1, B_0, B_1, R \}&amp;lt;/tex&amp;gt;. Таблица функции &amp;lt;tex&amp;gt;\delta&amp;lt;/tex&amp;gt; приведена ниже:&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;5&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |width=&amp;quot;30&amp;quot;|&lt;br /&gt;
 |width=&amp;quot;100&amp;quot;| &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |width=&amp;quot;100&amp;quot;| &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |width=&amp;quot;100&amp;quot;| &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle F_0, B, \rightarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle F_1, B, \rightarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle Y, B, \downarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;tex&amp;gt;F_0&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle F_0, 0, \rightarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle F_0, 1, \rightarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle B_0, B, \leftarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;tex&amp;gt;F_1&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle F_1, 0, \rightarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle F_1, 1, \rightarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle B_1, B, \leftarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;tex&amp;gt;B_0&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle R, B, \leftarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle N, 1, \downarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle Y, B, \downarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;tex&amp;gt;B_1&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle N, 0, \downarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle R, B, \leftarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle Y, B, \downarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 | &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle R, 0, \leftarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle R, 1, \leftarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 | &amp;lt;tex&amp;gt;\langle S, B, \rightarrow \rangle&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Варианты машины Тьюринга ==&lt;br /&gt;
В этом разделе приведены различные варианты машин Тьюринга, которые не отличаются от обычных машин Тьюринга по вычислительной мощности.&lt;br /&gt;
&lt;br /&gt;
=== Многодорожечная машина Тьюринга ===&lt;br /&gt;
Машиной Тьюринга с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; дорожками называется вычислитель, аналогичный машине Тьюринга, лишь с тем отличием, что лента состоит из &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; дорожек, на каждой из которых записаны символы ленточного алфавита. У многодорожечной машины одна головка, которая за один шаг переходит в одном направлении на всех дорожках одновременно. Соответственно, функция перехода имеет тип &amp;lt;tex&amp;gt;\delta : Q \times \Pi^n \to Q \times \Pi^n \times \{\leftarrow, \rightarrow, \downarrow\}&amp;lt;/tex&amp;gt;. Многодорожечная машина Тьюринга тривиально эквивалентна обычной с ленточным алфавитом &amp;lt;tex&amp;gt;\Pi' = \Pi^n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Машина Тьюринга с полубесконечной лентой ===&lt;br /&gt;
Заменив у машины Тьюринга бесконечную в обе стороны ленту на бесконечную в одну сторону, мы не теряем в вычислительной мощности. По произвольной машине Тьюринга строится двухдорожечная машина с полубесконечной лентой.&lt;br /&gt;
{{Теорема&lt;br /&gt;
|author=&lt;br /&gt;
|statement=Для любой машины Тьюринга существует эквивалентная машина Тьюринга, работающая на полубесконечной ленте.&lt;br /&gt;
|proof=Существует алгоритм, по которому для любой машины Тьюринга может быть построена эквивалентная машина Тьюринга с объявленным свойством. Сначала занумеруем ячейки рабочей ленты машины Тьюринга с ''бесконечной лентой'' следующим образом:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mt1.png]]&lt;br /&gt;
&lt;br /&gt;
Затем перенумеруем ячейки, и запишем символ &amp;lt;tex&amp;gt;c \in \Pi \setminus \Sigma, B&amp;lt;/tex&amp;gt; в начало ленты, который будет означать границу рабочей зоны:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mt2.png]]&lt;br /&gt;
&lt;br /&gt;
Наконец, изменим машину Тьюринга, удвоив число её состояний, и изменим сдвиг головки так, чтобы в одной группе состояний работа машины была бы эквивалентна её работе в заштрихованной зоне, а в другой группе состояний машина работала бы так, как исходная машина работает в незаштрихованной зоне. Если при работе машины Тьюринга встретится символ &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, значит головка достигла границы рабочей зоны:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mt3.png]]&lt;br /&gt;
&lt;br /&gt;
Начальное состояние новой машины Тьюринга устанавливается в одной или другой зоне в зависимости от того, в какой части исходной ленты располагалась головка считывания-записи в исходной конфигурации.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Многоленточная машина Тьюринга ===&lt;br /&gt;
В отличие от многодорожечной машины Тьюринга, ленты не зависят друг от друга и головки во время одного шага могут перемещаться по-разному. То есть, функция перехода теперь имеет тип &amp;lt;tex&amp;gt;\delta : Q \times \Pi^n \to Q \times \Pi^n \times \{\leftarrow, \rightarrow, \downarrow\}^n&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Многоленточная машина с &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; дорожками эмулируется многодорожечной машиной с &amp;lt;tex&amp;gt;2n&amp;lt;/tex&amp;gt; дорожками следующим образом: каждая нечётная дорожка соответствует ленте исходной машины, а на каждой чётной дорожке отмечены специальным символом &amp;lt;tex&amp;gt;*&amp;lt;/tex&amp;gt; позиция головки на ленте выше (считаем, что ленты нумеруются сверху вниз).&lt;br /&gt;
&lt;br /&gt;
Каждый шаг исходной машины эмулируется конечной последовательностью шагов построенной машины следующим образом: исходно головка находится в позиции самой левой отметки и идёт вправо до самой правой отметки, запоминая прочитанные около символов &amp;lt;tex&amp;gt;*&amp;lt;/tex&amp;gt; символы в состоянии. Пройдя до самой правой отметки, головка возвращается влево, совершая необходимые действия (переписывая символы около отметок и передвигая сами отметки). После такого прохода головка переходит в следующее состояние, завершая эмуляцию шага.&lt;br /&gt;
&lt;br /&gt;
Аланом Тьюрингом было сформулировано следующее утверждение:&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|about=Тезис Чёрча-Тьюринга&lt;br /&gt;
|statement=&lt;br /&gt;
Класс перечислимых языков совпадает с классом языков, перечислимых с помощью машин Тьюринга&lt;br /&gt;
}}&lt;br /&gt;
Иными словами, тезис говорит о том, что любой алгоритм можно запрограммировать на машине Тьюринга.&lt;br /&gt;
&lt;br /&gt;
== Универсальная машина Тьюринга ==&lt;br /&gt;
&lt;br /&gt;
Существует машина Тьюринга, которая принимает на вход закодированное описание произвольной машины и входную строку и эмулирует работу закодированной машины на заданном входном слове. Иными словами, [[Разрешимые (рекурсивные) языки#Пример неразрешимого множества|универсальный язык]] перечислим с помощью машины Тьюринга. Ссылки на явные конструкции универсальных машин Тьюринга приведены ниже.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Стековые машины, эквивалентность двухстековой машины МТ|Стековые машины]]&lt;br /&gt;
* [[Счетчиковые машины, эквивалентность двухсчетчиковой машины МТ|Счётчиковые машины]]&lt;br /&gt;
* [[Линейный клеточный автомат, эквивалентность МТ|Клеточные автоматы]]&lt;br /&gt;
* [[Возможность порождения формальной грамматикой произвольного перечислимого языка|Произвольные формальные грамматики]]&lt;br /&gt;
* [[Лямбда-исчисление|Нетипизированное лямбда-исчисление]]&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
* [http://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf Alan Turing {{---}} On computable numbers, with an application to the Entscheidungsproblem.]&lt;br /&gt;
* [http://www.ccs.neu.edu/home/viola/classes/papers/HennieStearns66.pdf F. C. Hennie, R. E. Stearn {{---}} Two-tape simulation of multitape Turing machines.]&lt;br /&gt;
* [http://www.cs.princeton.edu/theory/index.php/Compbook/Draft Sanjeev Arora, Boaz Barak {{---}} Computational Complexity: A Modern Approach.]&lt;br /&gt;
* [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.145.8958 Turlough Neary, Damien Woods {{---}} Four Small Universal Turing Machines.]&lt;br /&gt;
* [http://www.jflap.org/ JFLAP {{---}} ПО для изучения формальных языков, включает в себя эмулятор одноленточных и многоленточных машин Тьюринга с визуальным редактором.]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Теория вычислимости]]&lt;br /&gt;
[[Категория: Вычислительные формализмы]]&lt;/div&gt;</summary>
		<author><name>109.242.180.127</name></author>	</entry>

	</feed>