ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.06.2024
Просмотров: 107
Скачиваний: 1
Команды |
Конфигурации |
|
0(72010 |
|
0^110 |
<730д4П |
01<7,10-*011?,0 |
OlfclO |
|
|
01? 5 00 |
|
0<7в100 |
|
с?в0Ю0 |
qa0q00C |
%0100 |
Как |
было уже сказано, на машинах |
Тьюринга оказалось |
воз |
можным |
осуществить или имитировать |
все алгоритмические |
про |
цессы, которые когда-либо описывались математиками. Было дока зано, что класс функций, вычислимых на этих машинах, точно сов падает с классом всех частично рекурсивных функций.
Вопрос о возможности или невозможности разрешающего алго ритма для задачи того или иного типа следует понимать как вопрос
о существовании или несуществовании машины Тьюринга, |
облада |
|||||
ющей нужным свойством. |
|
|
|
|
|
|
В зависимости от числа используемых |
лент, их назначения и |
|||||
числа состояний устройства управления определяются |
различные |
|||||
модификации машин Тьюринга. Рассмотрим |
основные из них. |
|||||
1.3.2. Машины Тьюринга с двумя выходами |
|
|
||||
Предположим, мы расширили |
определение машины |
Тьюринга, |
||||
добавив в устройство управления |
машины |
определенное |
состоя |
|||
ние q*. Будем говорить, |
что если |
устройство |
управления |
перехо |
||
дит в состояние qo для |
заданного |
входного |
слова х, |
то машина |
||
допускает х. Если устройство управления |
приходит в состояние q *, |
то машина запрещает х. Такое устройство будем называть маши
ной Тьюринга с двумя |
выходами. |
|
|
|
Тьюринга 7\ и Т2, |
||||
Оказывается, что если заданы две |
машины |
||||||||
которые допускают непересекающиеся |
множества слов Xi и Х2 соот |
||||||||
ветственно, то всегда |
можно построить машину Тьюринга Ts с дву |
||||||||
мя выходами, которая |
будет допускать Xt и запрещать Х2. Эти ма |
||||||||
шины Тьюринга |
будут нам полезны при рассмотрении |
вопроса о |
|||||||
разрешимости. |
|
|
|
|
|
|
|
|
|
Множество |
разрешимо, |
если |
существует |
машина |
Тьюринга |
||||
с двумя выходами, которая |
допускает все элементы |
этого множе |
|||||||
ства и запрещает элементы, не принадлежащие ему. |
|
|
|||||||
1.3.3. Многоленточная машина Тьюринга |
|
||||||||
Схема многоленточной |
машины |
Тьюринга |
представлена на |
||||||
рис. 6. Она состоит из некоторого |
конечного |
числа |
лент, |
разбитых |
|||||
на ячейки. В каждой ячейке |
может находиться |
один из символов |
|||||||
внешнего алфавита А |
— {s0, |
su ..., |
sn}. |
Ячейки |
с символом s0 бу- |
29
дут считаться пустыми. Устройство управления машины в каждый момент времени находится в одном из конечного множества состоя
ний Q = {#о, Яи • • •, |
Ят}- Состояние q0 считается |
заключительным |
||||||||||||||
состоянием |
машины. |
|
|
|
|
|
|
|
|
|
|
|
||||
Предположим, что в каждый |
момент времени машина «обозрева |
|||||||||||||||
|
|
|
|
|
|
|
|
|
ет» одну ячейку каждой ленты, |
|||||||
|
|
|
|
о. |
|
|
|
|
|
Конфигурация машины счи- |
||||||
r—i—I—г—|—I—1^| |
|
I—I—|—]—I—? |
тается заданной, |
если |
известно |
|||||||||||
? 1 1 |
1 |
1 1 |
1 I |
I I |
I I |
I |
! состояние устройства управле |
|||||||||
|
|
|
|
[ s„\ |
|
|
|
|
ния |
я, состояния |
|
всех |
ячеек |
|||
| |
| |
I |
] |
.[ |
~ ~ j |
|
|
всех |
лент |
и указаны |
ячейки, |
|||||
|
' ' |
|
—|—.—j—7 |
|
|
воспринимаемые машиной. Для |
||||||||||
|
|
|
fe-ленточной |
|
машины |
конфигу- |
||||||||||
|
\ |
|
|
|
|
I se [ |
I 1 } |
|
рация |
ее в г'-й момент |
||||||
|
|
|
|
Р и с 6 |
|
|
|
|
описывается системой А-слов |
|||||||
|
|
|
|
|
|
|
|
|
вида: |
|
|
|
|
|
|
|
|
|
|
|
|
Sill |
• • • SileQiStte+\ • • • snt> |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(9) |
по одному слову для каждой ленты первый |
индекс |
соответствует |
||||||||||||||
моменту |
времени, второй — номеру |
ленты, третий — номеру |
ячейки |
|||||||||||||
на ленте, считая слева направо. |
|
|
|
|
|
|
|
|
|
|||||||
В зависимости от внутреннего состояния |
устройства |
управле |
||||||||||||||
ния Яг содержимого |
обозреваемых в данный |
момент |
ячеек |
лент |
||||||||||||
Siie+i • •. Sike+i' машина |
переходит в следующее |
состояние |
посредст |
|||||||||||||
вом таких |
действий: |
|
|
|
|
|
|
|
|
|
|
|
||||
1) состояние каждой воспринимаемой ячейки заменяется новым |
||||||||||||||||
состоянием |
(которое может |
совпадать |
со старым); |
|
|
|
|
|||||||||
2) каждая лента передвигается на одну |
ячейку |
вправо, |
влево |
|||||||||||||
или остается неподвижной; |
|
|
|
|
|
|
q% переводится |
|||||||||
3) |
внутреннее состояние |
устройства |
управления |
|||||||||||||
в новое состояние Яз (которое может совпадать со старым). |
|
|||||||||||||||
Считается, что если устройство |
управления |
в какой-то |
момент |
|||||||||||||
приходит |
в заключительное |
состояние |
qo, то машина |
останавли |
||||||||||||
вается и в следующие моменты времени конфигурация |
машины не |
|||||||||||||||
меняется. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Говорят, что машина выполняет |
команду |
|
|
|
|
|
|
|||||||||
|
|
|
ЯМ |
. . . s^-^q^T, |
. . . s-,kTk, |
Т = |
{Л, С, П}, |
|
(10) |
если, находясь в состоянии qi и воспринимая ячейки с символами s«i . . . sak, машина переходит в состояние q;, заменяя содержимое ячеек соответственно символами spi . . . sp«. После этого ленты соответственно сдвигаются в направлениях 7\ . . . Тк.
Задать программу многоленточной машины Тьюринга — это значит для каждого слова
30
qtsaX . . . sak {i = 1, . . . , m; al, . . . , ak = 0,1, . . ., n)
задать какую-нибудь команду вида (10). Таким образом, ^-лен точная машина Тьюринга определяет алгоритм для переработки слов вида (9).
Заметим, что вычислимость на многоленточной машине Тьюрин га частично рекурсивных функций есть прямое следствие вычисли мости этих функций на одноленточной машине.
1.3.4. Универсальная машина Тьюринга
До сих пор мы придерживались той точки зрения, что различ ные алгоритмы осуществляются на различных машинах Тьюринга, отличающихся набором команд, внутренним и внешним алфави тами. Однако можно построить универсальную машину Тьюринга, способную в известном смысле выполнять любой алгоритм, а зна чит, способную выполнять работу любой машины Тьюринга.
В универсальной машине Тьюринга, как и во всякой тьюринговой машине, информация изображается символами, расположенны ми одновременно на магнитной ленте. При этом универсальная ма шина Тьюринга может располагать лишь фиксированным конечным внешним алфавитом. Между тем она должна быть приспособлена к приему в качестве исходной информации всевозможных состоя ний устройства управления и конфигураций, в которых могут встре чаться буквы из разнообразных алфавитов со сколь угодно боль шим числом различных букв.
Это достигается путем кодирования конфигурации и программы любой данной машины Тьюринга в символах входного (внешнего) алфавита универсальной машины. Само кодирование должно вы полняться следующим образом:
1) различные буквы должны заменяться различными кодовыми группами, но одна и та же буква должна заменяться всюду, где бы она ни встречалась, одной и той же кодовой группой;
2)строки кодовых записей должны однозначным образом раз биваться на отдельные кодовые группы;
3)должна иметь место возможность распознать, какие кодовые
группы соответствуют различным сдвигам, т. е. каждой из букв Л, П, С в отдельности, и различать кодовые группы, соответствую
щие буквам внутреннего алфавита и буквам внешнего |
алфавита. |
||||
Рассмотрим пример такого кодирования для |
машины Тьюрин |
||||
га Т, имеющей внешний алфавит А = |
{su s2, . . . , |
sf t } |
и |
внутренний |
|
алфавит Q = {qb q2,..., |
qm) • |
|
|
Тьюринга сос |
|
Если внешний алфавит универсальной машины |
|||||
тоит из символов А = |
{0, 1}, то эти |
условия |
будут |
наверняка |
|
соблюдены при следующем способе кодирования. |
|
|
|
1. В качестве кодовых групп берутся 3 + k + m различных слов вида 100 . . . 01 (между единицами — сплошь нули),
где k — число символов внешнего алфавита;
m — число состояний устройства управления.
31
Тогда разбивка строк на кодовые группы производится одно значным образом путем выделения последовательностей нулей, за ключенных между двумя единицами.
2. Сопоставление кодовых групп исходным символам внешнего и внутреннего алфавитов осуществляется согласно следующей таб лице кодирования:
|
Буква |
|
Кодовая группа |
|
|
|
Л |
|
101 |
|
|
|
с |
|
1001 |
|
|
|
п |
|
10001 |
|
|
Внешний |
|
|
100001—4 |
нуля |
Четное |
|
|
10000001—6 |
нулей |
число |
|
алфавит |
|
|
|||
S2 |
|
|
|
нулей, |
|
|
|
|
|
||
|
sK |
|
10 1 .' .' 01 2(к-Н) |
большее |
|
|
|
|
нулей |
чем 2 |
|
|
|
|
1000001—5 |
нулей |
Нечетное |
Внутренний |
92 |
100000001—7 |
нулей |
число |
|
алфавит |
|
|
|
|
нулей, |
(состояния) |
|
10; |
. 01 2 ( / и + 1 ) + 1 |
большее |
|
|
|
|
|
нулей ' |
чем 3 |
Так, например, для машины Тьюринга, перерабатывающей сло
ва bcadc в слово bcdcc, входное |
слово в универсальной |
машине |
|||
Тьюринга с данным кодом будет представлено следующей |
строкой: |
||||
10000001 1000000001 100001 |
100000000001 1000000001, |
|
|||
где 100001 — а, 10000001 — Ь, 1000000001 — с, 100000000001 — d. |
|||||
Программа же будет представлена |
следующими |
строками: |
|||
1000001 10000001 1000001 10000001 |
101 |
(цфцфЛ) |
|
|
|
1000001 1000000001 1000001 1000000001 101 (<7оС?осЛ) |
|
|
|||
1000001 100001 100000001 100001 101 [q^aqioR) |
(qid2q2cU) |
|
|||
100000001 100000000001 10000000001 |
1000000001 10001 |
|
|||
10000000001 100001 100000000000001 |
100000000001 10001 |
(d2aqudTl) |
При кодировании программ, конфигураций и входных слов вместо нулей и единиц можно брать любые другие два символа, на пример а и Ъ.
Таким образом, если какая-либо машина Тьюринга Т решает не которую задачу, то и универсальная машина Тьюринга способна решить эту задачу при условии, что кроме кодов исходных данных, этой задачи на ее ленту будет подан код программы машины Т. За давая универсальной машине Тьюринга Ти изображение програм мы любой данной машины Тьюринга Тп и изображение любого ее входного слова хп, получим изображение выходного слова уп, в ко торое машина Тп переводит слово хп-
Если же алгоритм, |
реализуемый |
машиной |
Tnj не применим |
|
к слову хп, то алгоритм, |
реализуемый |
универсальной машиной Ти, |
||
также не применим к слову, |
образованному из изображения хп и |
|||
программы машины Тп. |
|
|
Тп может |
|
Таким образом, машина |
Тьюринга |
рассматриваться |
||
как одна из программ для универсальной машины |
Ти. |
32