Лекция № 3. Машины Тьюринга
1. Машины Тьюринга
2. Не распознаваемость самоприменимости машины Тьюринга
Формализация понятия «алгоритм» на основе так называемых машин Тьюринга была предложена английским математиком Аланом Тьюрингом в 1936 году. С тех пор эта абстрактная математическая модель широко применяется в теории алгоритмов для исследования вербальных алгоритмов. Переходя к неформальному описанию машин Тьюринга, отметим следующее. | |
В состав любой машины Тьюринга входит бесконечная в обе стороны лента, разделенная на ячейки, и головка, способная передвигаться вдоль ленты вправо и влево (см. рис. 4).
Рис. 4. Представление машины Тьюринга.
В ячейку ленты может быть записана буква из алфавита A=, a1, a2, … an>. Для каждой машины Тьюринга этот алфавит, называемый внешним, вообще говоря, свой. Но принято резервировать символ a для обозначения пустой ячейки при определении внешнего алфавита любой машины. Будем также считать, что непустое слово в алфавите A–> воспринимается любой машиной в стандартном положении, если головка находится напротив крайней справа ячейки ленты из тех, в которых записано слово[5] (см. рис. 5).
a | a | a | a | a | A | a | a |
Рис. 3. Стандартное положение в машине Тьюринга
Работа любой машины Тьюринга осуществляется дискретным образом – шагами (тактами). В каждом такте головка располагается напротив какой-либо ячейки, «обозревая» ее. При этом она может «читать», имеющуюся в ячейке букву; записать в ячейку букву (из алфавита A),предварительно стерев старую; сдвигаться на одну ячейку влево или вправо.
Полагается, что при каждом такте работы машина находится в каком-то состоянии, обозначаемом буквой qi из алфавита внутренних состояний – Q=, q1, q2, ….qm>
. Каждая машина Тьюринга имеет свой собственный алфавит внутренних состояний, но принято считать, что символом q в таком алфавите обозначается состояние остановки, а символом q1 – начальное состояние. Из состояния q1 машина начинает работать, а попав в состояние q, прекращает работу.
Работа любой машины Тьюринга осуществляется по своей собственной программе или в соответствии с функциональной схемой, представляющей собой совокупность выражений T(i, j) (1£i£m, 0£j£n, i,jÎZ), именуемыми командами, каждаяиз которыхможет иметь следующий вид (см. таблицу 1).
Функциональная схема машины Тьюринга (программа) может быть записана в виде последовательности команд или в виде таблицы (см. пример 3.1.1).
Таким образом, та или иная машина Тьюринга полностью определяется:
в) программой (функциональной схемой).
Команды машины Тьюринга | |
Формат команды | Описание команды |
qiaj →qkapЛ | В ячейке, которую «обозревает» головка, стирается буква aj. Вместо нее в эту ячейку записывается буква ap. Из состояния qi машина переходит в состояние qk. Головка сдвигается на одну ячейку влево (Л). |
qiaj →qkapП | В ячейке, которую «обозревает» головка, стирается буква aj. Вместо нее в эту ячейку записывается буква ap. Из состояния qi машина переходит в состояние qk. Головка сдвигается на одну ячейку вправо (П). |
qiaj →qkap | В ячейке, которую «обозревает» головка, стирается буква aj. Вместо нее в эту ячейку записывается буква ap. Из состояния qi машина переходит в состояние qk. Головка остается на месте. |
Говорят, что слово a перерабатывается машиной Тьюринга в слово b, если от слова a, воспринимаемого в начальном состоянии q1, машина после выполнения конечного числа команд программы приходит к слову b, воспринимаемому в положении остановки.
Пример 3.1.1. Машина Тьюринга определяется функциональной схемой в виде следующей таблицы:
Q A | q1 | q2 | q3 |
a | q31П | q1aЛ | |
q2aЛ | q21Л | q31П | |
* | qa | q2*Л | q31*П |
Слово, воспринимаемое в начальном состоянии q1 имеет вид:
Определим, в какое слово переработает это слово машина.
Так машина находится в состоянии q1, обозревая ячейку в которой находится 1, то первой должна быть выполнена команда, стоящая на пересечении столбца q1 и строки 1 функциональной схемы. Это команда q2aЛ. После ее выполнения машина перейдет в следующее состояние:
После выполнения следующей команды q2*Л (записанной на пересечении столбца q2 и строки 1)машина перейдет в следующее состояние:
На пересечении столбца q2 и строки 1в функциональной схеме машины Тьюринга записана команда q21Л, выполнение которой приведет к состоянию:
Полагая, что принцип работы с функциональной схемой машины Тьюринга изложен выше достаточно понятно, далее будем указывать только команды и результат их выполнения.
Лекция № 3. Машины Тьюринга
Дата добавления: 2013-12-23 ; просмотров: 4036 ; Нарушение авторских прав
Q → D
Q0 → 0Q
Q1 → 1Q
Q Þ l
Q1 → 1Q
Q+ → Q
1→ 11,
10 → 00
THORN; 1
применим к словам:
а) a=00 (M1(00)=00 – в функциональной схеме нет ни одной активной подстановки);
б) a=110 (M1(110)=000 – дважды применяется вторая подстановка);
в) a=010 (M1(010)=1 – применяется заключительная подстановка.
Этот же алгорифм не применим к словам: a=01; a=1; a=11 и т.д.
Вот еще два примера, заимствованных нами из [ ].
Пример 2.2.1. Алгорифм M2 вычисления суммы чисел, записанных в унарной системе счисления в алфавите A1= в виде 11+1 или 111+11+1 и т.п., работающий в алфавите A2=A1È,
определяется следующей функциональной схемой:
l → Q.
Пример 2.2.2. Алгорифм M3, работающий над алфавитом A1= в алфавите A2=A1È и прибавляющий 1 к двоичному числу, имеет следующую функциональную схему:
1D → D0
0D Þ 1
D Þ 1
l → Q.
1. Машины Тьюринга
2. Не распознаваемость самоприменимости машины Тьюринга
Формализация понятия «алгоритм» на основе так называемых машин Тьюринга была предложена английским математиком Аланом Тьюрингом в 1936 году. С тех пор эта абстрактная математическая модель широко применяется в теории алгоритмов для исследования вербальных алгоритмов. Переходя к неформальному описанию машин Тьюринга, отметим следующее. | |
В состав любой машины Тьюринга входит бесконечная в обе стороны лента, разделенная на ячейки, и головка, способная передвигаться вдоль ленты вправо и влево (см. рис. 4).
Рис. 4. Представление машины Тьюринга.
В ячейку ленты может быть записана буква из алфавита A=, a1, a2, … an>. Для каждой машины Тьюринга этот алфавит, называемый внешним, вообще говоря, свой. Но принято резервировать символ a для обозначения пустой ячейки при определении внешнего алфавита любой машины. Будем также считать, что непустое слово в алфавите A–> воспринимается любой машиной в стандартном положении, если головка находится напротив крайней справа ячейки ленты из тех, в которых записано слово[5] (см. рис. 5).
a | a | a | a | a | A | a | a |
Рис. 3. Стандартное положение в машине Тьюринга
Работа любой машины Тьюринга осуществляется дискретным образом – шагами (тактами). В каждом такте головка располагается напротив какой-либо ячейки, «обозревая» ее. При этом она может «читать», имеющуюся в ячейке букву; записать в ячейку букву (из алфавита A),предварительно стерев старую; сдвигаться на одну ячейку влево или вправо.
Полагается, что при каждом такте работы машина находится в каком-то состоянии, обозначаемом буквой qi из алфавита внутренних состояний – Q=, q1, q2, ….qm>
. Каждая машина Тьюринга имеет свой собственный алфавит внутренних состояний, но принято считать, что символом q в таком алфавите обозначается состояние остановки, а символом q1 – начальное состояние. Из состояния q1 машина начинает работать, а попав в состояние q, прекращает работу.
Работа любой машины Тьюринга осуществляется по своей собственной программе или в соответствии с функциональной схемой, представляющей собой совокупность выражений T(i, j) (1£i£m, 0£j£n, i,jÎZ), именуемыми командами, каждаяиз которыхможет иметь следующий вид (см. таблицу 1).
Функциональная схема машины Тьюринга (программа) может быть записана в виде последовательности команд или в виде таблицы (см. пример 3.1.1).
Таким образом, та или иная машина Тьюринга полностью определяется:
в) программой (функциональной схемой).
Команды машины Тьюринга | |
Формат команды | Описание команды |
qiaj →qkapЛ | В ячейке, которую «обозревает» головка, стирается буква aj. Вместо нее в эту ячейку записывается буква ap. Из состояния qi машина переходит в состояние qk. Головка сдвигается на одну ячейку влево (Л). |
qiaj →qkapП | В ячейке, которую «обозревает» головка, стирается буква aj. Вместо нее в эту ячейку записывается буква ap. Из состояния qi машина переходит в состояние qk. Головка сдвигается на одну ячейку вправо (П). |
qiaj →qkap | В ячейке, которую «обозревает» головка, стирается буква aj. Вместо нее в эту ячейку записывается буква ap. Из состояния qi машина переходит в состояние qk. Головка остается на месте. |
Говорят, что слово a перерабатывается машиной Тьюринга в слово b, если от слова a, воспринимаемого в начальном состоянии q1, машина после выполнения конечного числа команд программы приходит к слову b, воспринимаемому в положении остановки.
Пример 3.1.1. Машина Тьюринга определяется функциональной схемой в виде следующей таблицы:
Q A | q1 | q2 | q3 |
a | q31П | q1aЛ | |
q2aЛ | q21Л | q31П | |
* | qa | q2*Л | q31*П |
Слово, воспринимаемое в начальном состоянии q1 имеет вид:
Определим, в какое слово переработает это слово машина.
Так машина находится в состоянии q1, обозревая ячейку в которой находится 1, то первой должна быть выполнена команда, стоящая на пересечении столбца q1 и строки 1 функциональной схемы. Это команда q2aЛ. После ее выполнения машина перейдет в следующее состояние:
После выполнения следующей команды q2*Л (записанной на пересечении столбца q2 и строки 1)машина перейдет в следующее состояние:
На пересечении столбца q2 и строки 1в функциональной схеме машины Тьюринга записана команда q21Л, выполнение которой приведет к состоянию:
Полагая, что принцип работы с функциональной схемой машины Тьюринга изложен выше достаточно понятно, далее будем указывать только команды и результат их выполнения.