
Математическая логика и теория алгоритмов.-2
.pdf31
Машина никогда не останавливается (не переходит в q0 состояние). В
этом случае машина не применима к начальной информации I1 .
В каждом такте работы машина Тьюринга действует по единой
функциональной схеме:
RL
ai q j al C qs ,
P
E
где ai , al A, q j , qs Q и ai – буква на ленте, обозреваемая считывающим устройством на данном такте, q j – текущее состояние машины
на данном такте.
На каждом такте функциональной схемой вырабатывается команда, состоящая из трех элементов (правая часть формулы):
1.Буква внешнего алфавита al , на которую заменяется обозреваемая буква ai .
2.Адрес внешней памяти и дополнительные действия для выполнения на следующем такте R, L, C, P или E .
3.Следующее состояние машины.
Формирование правой части функциональной схемы происходит по
командам, совокупность которых образует программу машины Тьюринга. Программа представляется в виде двумерной таблицы (табл. 5), называемой
тьюринговой функциональной схемой, в каждой клетке которой записываются отдельные команды. Работа машины Тьюринга полностью определяется ее программой.
Говорят, что непустое слово в алфавите A воспринимается машиной в стандартном положении, если оно записано в последовательных клетках ленты, все другие клетки пусты, и машина обозревает крайнюю клетку справа из тех, в которых записано слово .
Если данное состояние описывается машинным словом M , то машинное
слово, |
описывающее следующее состояние машины, будет обозначаться через |
M (1) . |
Далее аналогично M (i 1) (M (i) )(1) , i 0,1,2,.. . Переход машины |
Тьюринга из начального в последующие состояния изображается в виде цепочки слов M ├─ M (1) ├─ M (2) ├─…
32
Таблица 5. Функциональная схема Тьюринга
|
|
Символы внешнего алфавита |
|
||
Состояния |
|
|
|
|
|
a0 |
a1 |
… |
an |
||
|
|||||
q1 |
a2Lq3 |
a1Rq2 |
… |
a2Lq1 |
|
q2 |
a1Cq0 |
a2Cq1 |
… |
a1Cq2 |
|
… |
… |
… |
… |
… |
|
|
|
|
|
|
|
qm |
a1Pq3 |
a0 Rqm 1 |
… |
an 1Rq1 |
|
|
Чтобы описывать работу машины Тьюринга более удобным образом, текущее состояние машины пишут не внизу алфавита, а перед обозреваемой ячейкой. Например, пусть A {0,1}, Q {q0, q1, q2}, q0 - символ остановки.
Начальная информация: q111. Тогда программа строится следующим образом:
q10 q2R, q2 0 q01, q11 q1R, q21 q2R.
Если первое направление уточняет понятие алгоритма через класс рекурсивных функций, то второе, связанное с машинной арифметикой, сначала уточняет понятие алгоритма, а затем определяет класс вычислимых функций. Основная идея этого направления заключается в том, что алгоритмические процессы – это процессы, которые могут имитироваться на специально построенных машинах, которые описываются в точных математических терминах. В результате оказывается, что сложные процессы можно моделировать на простых устройствах. Всякий алгоритм может быть задан некоторой функциональной схемой и реализован в соответствующей машине Тьюринга. Эта гипотеза называется тезисом Тьюринга.
Пример 1: |
|
|
|
|
|
||
Пусть A a0 , a1, a2 , |
Q q0 , q1, q3, q4 R, L, C |
и машина Тьюринга |
|||||
управляется функциональной схемой: |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
Символы внешнего алфавита |
|
|||
|
Состояния |
|
|
|
|
|
|
|
|
a0 |
a1 |
|
a2 |
|
|
|
|
|
|
|
|||
|
q1 |
|
a2 Lq3 |
a1Rq2 |
|
a2 Lq1 |
|
|
q2 |
|
a1Cq0 |
a2Cq1 |
|
a1Cq2 |
|
|
|
|
|
|
|
|
|
|
q3 |
|
a0 Rq0 |
a1Rq4 |
|
a2Cq1 |
|
|
q4 |
|
a1Cq3 |
a0 Rq4 |
|
a2 Rq4 |
|
33
Определить конечный результат работы машины, если начальная конфигурация имеет вид:
а) a a a a a |
; |
б) a a a . |
||||||
0 |
1 |
2 |
2 |
0 |
0 |
1 |
0 |
|
|
|
q1 |
|
|
|
|
q1 |
|
Решение:
а) Рассмотрим работу машины пошагово:
1.Считывающим устройством обозревается буква a2 (слово считывается слева направо, a0 – пустая клетка), а машина находится в состоянии q1 :
a |
0 |
a a |
2 |
a |
2 |
a |
0 |
. При |
этом вырабатывается |
команда a2 Lq1 , т.е. |
|||
|
1 |
|
|
|
|
|
|
|
|
||||
|
|
q1 |
|
|
|
|
|
|
|
|
|
|
|
считывающее устройство |
сдвигается |
влево, |
a2 |
заменяется на a2 , |
|||||||||
состояние |
|
|
q1 меняется |
на |
q1 , |
получаем |
конфигурацию |
a0 a1a2 a2 a0 .
q1 |
|
|
|
|
|
|
|
|
2. Следующая конфигурация, по аналогии, будет: a |
0 |
a a |
2 |
a |
2 |
a |
0 |
|
|
1 |
|
|
|
||||
|
|
|
q1 |
|
|
|
|
|
(считывающее устройство сдвинулось |
влево). Теперь обозревается буква |
|||||
a1 , машина |
находится в |
состоянии |
q1 , |
т.е. вырабатывается команда |
||
a1Rq2 – считывающее устройство сдвигается вправо, a1 |
заменяем на a1 , |
|||||
состояние |
q1 меняется |
на |
q2 , |
получаем |
конфигурацию |
a0 a1a2 a2 a0 .
q2
3.Обозревается буква a2 , машина находится в состоянии q2 , т.е.
вырабатывается команда a1Cq2 – считывающее устройство стоит на месте, a2 заменяется на a1 , состояние q2 меняется на q2 , получаем
конфигурацию a0 a1a1a2 a0 .
q2
4.Обозревается буква a1 , машина находится в состоянии q2 , т.е.
вырабатывается команда a2Cq1 – считывающее устройство стоит на месте,
34
a1 заменяется на a1 , состояние q2 меняется на q1 , получаем
конфигурацию a0 a1a2 a2 a0 .
q1
Таким образом, мы пришли в начальное состояние. Процесс работы машины повторяется, и, следовательно, конечный результат не может быть получен. Данная машина Тьюринга не применима к исходной информации.
б) Пусть начальная информация имеет вид a0 a1a0 . Тогда, действуя
|
|
|
|
|
|
q1 |
аналогично, придем к следующим конфигурациям: |
||||||
1. a |
0 |
a a |
0 |
обозревается буква a1 , машина находится в состоянии q1 , |
||
|
1 |
|
|
|
||
|
|
q1 |
|
|
|
|
вырабатывается команда |
a1Rq2 – считывающее устройство сдвигается |
|||||
вправо, |
a1 |
заменяется на |
a1 , состояние q1 меняется на q2 , получаем |
конфигурацию a0 a1a0 .
q2
2.Обозревается буква a0 , машина находится в состоянии q2 ,
вырабатывается команда a1Cq0 – считывающее устройство стоит на месте, a0 заменяется на a1 , состояние q2 меняется на q0 , получаем
конфигурацию a |
0 |
a a a |
0 |
. Мы пришли |
в стоп состояние q0 , |
|||
|
|
1 |
1 |
|
|
|
||
|
|
|
q0 |
|
|
|
|
|
следовательно, слово |
a1a1 – результат ее работы, и машина применима к |
|||||||
исходной информации. |
|
|
|
|
|
|||
Пример 2: |
|
|
|
|
|
|
|
|
Пусть A {0,1}, |
Q {q0, q1, q2}, q0 - символ |
остановки,. |
Программа |
|||||
строится |
|
|
|
следующим |
|
образом: |
||
q10 q2R, q2 0 q01, q11 q1R, q21 q2R. Определить |
конечный |
|||||||
результат работы машины, если начальная конфигурация имеет вид: |
||||||||
а) q111; |
|
|
|
|
|
б) q2101. |
|
|
Решение:
35
а) q111├─ |
1q11 ├─ |
11q10 ├─ 110q2 0 ├─ 110q01 , |
|
|
|
|
|
|
|
|
||||||||||||||
где 0 – символ пустой ячейки ленты машины. |
|
|
|
|
|
|
|
|
|
|
||||||||||||||
б) q2101├─ 1q2 01├─ 1q011 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
Упражнения: |
|
A a0 , a1, a2 , a3 , |
|
q0 , q1, q3, q4 R, L, C |
|
|
|
|||||||||||||||||
8.1. |
Пусть |
|
Q |
|
и машина |
|||||||||||||||||||
Тьюринга управляется функциональной схемой: |
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
Символы внешнего алфавита |
|
|
|
|
|
|
|
||||||
Состояния |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a0 |
|
|
|
|
a1 |
|
|
a2 |
|
|
|
|
|
|
a3 |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
q1 |
|
|
|
|
|
a2Lq3 |
|
|
|
a1Rq2 |
|
|
a3Lq1 |
|
|
|
a2Cq1 |
|
||||||
q2 |
|
|
|
|
|
a3Cq0 |
|
|
|
a2Cq1 |
|
|
a1Cq2 |
|
|
|
a2 Rq0 |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
q3 |
|
|
|
|
|
a0 Rq0 |
|
|
|
a1Rq0 |
|
|
a2Cq1 |
|
|
|
a1Cq3 |
|
||||||
q4 |
|
|
|
|
|
a1Cq3 |
|
|
|
a0 Rq4 |
|
|
a3Rq4 |
|
|
|
a3Lq3 |
|
||||||
|
|
|
|
|
|
|||||||||||||||||||
Определить конечный результат работы машины, если начальная |
||||||||||||||||||||||||
конфигурация имеет вид: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
1) |
a a a a a |
|
; |
|
|
4) |
a a a |
2 |
a |
|
; |
|
||||||||||||
|
0 |
1 |
2 |
3 |
0 |
|
|
|
|
|
|
0 |
3 |
|
|
0 |
|
|||||||
|
|
|
|
|
q1 |
|
|
|
|
|
|
|
|
|
|
|
q4 |
|
|
|
|
|
|
|
2) |
a a |
a |
; |
|
|
|
|
|
5) |
a a a a |
|
; |
|
|||||||||||
|
0 |
|
|
2 |
0 |
|
|
|
|
|
|
|
|
0 |
1 |
1 |
0 |
|
|
|||||
|
|
q2 |
|
|
|
|
|
|
|
|
|
|
|
|
q1 |
|
|
|
|
|
|
|
||
3) |
a a a a a |
|
; |
|
|
6) |
a |
a a |
0 |
. |
|
|
|
|||||||||||
|
0 |
3 |
1 |
2 |
0 |
|
|
|
|
|
|
0 |
3 |
|
|
|
|
|
||||||
|
|
|
|
|
q3 |
|
|
|
|
|
|
|
|
|
|
|
q3 |
|
|
|
|
|
|
|
8.2. Построить |
|
машину |
|
Тьюринга |
для |
вычисления |
|
функции |
|
«левый сдвиг»: |
01x q10 q0 01x0 .
8.3. Построить машину Тьюринга для вычисления функции «правый сдвиг»:
q0 01x0 01x q0 0.
36
Рекомендуемая литература:
1.Игошин В.И. Математическая логика и теория алгоритмов: Учебное пособие для вузов. - М.: Академия, 2004. - 446 с.
2.Шапорев С. Д. Математическая логика. Курс лекций и практических занятий:
Учебное пособие для вузов. - СПб.: БХВ-Петербург, 2005. - 410 с.
3.Шевелев Ю. П. Математическая логика и теория алгоритмов: учебное пособие.
- Томск: Дельтаплан, 2007. - 219 с.
4.Шелупанов А.А.Математическая логика и теория алгоритмов: Учебное пособие. - Томск : STT, 2001. - 176 с.
5.Перемитина Т.О. Математическая логика и теория алгоритмов: методические указания к выполнению практических работ для студентов специальности
230102 - Автоматизированные системы обработки информации и управления. –
Томск: ТУСУР , 2007. - 36 с.