ВУЗ:
Составители:
Тьюринга, способную выполнять любой алгоритм, а значит работу любой машины
Тьюринга. В ней входное слово должно включать изображение программы и входное слово
интерпретируемой машины.
Чтобы получить изображение программы интерпретируемой машины, нужно
последовательно, строка за строкой, закодировать эту программу в алфавите универсальной
машины. Универсальная машина Тьюринга должна иметь фиксированный внешний
алфавит, используемый при записи программы, включая и алфавит интерпретируемой
машины.
Она должна быть приспособлена к приему в качестве исходной информации
всевозможных состояний устройства управления и конфигураций, в которых могут
встречаться буквы из разнообразных алфавитов со сколь угодно большим числом различных
букв.
Это достигается путем кодирования конфигурации и программы любой заданной
машины Тьюринга в символах входного алфавита универсальной машины. Само
кодирование должно выполняться следующим образом:
1) различные буквы должны заменяться различными кодовыми группами, но одна и та
же буква должна заменяться всюду, где бы она не встречалась, одной и той же кодовой
группой;
2) строки кодовых записей должны однозначным образом разбиваться на отдельные
кодовые группы;
3) должна существовать возможность распознать, какие кодовые группы соответствуют
различным сдвигам управляющей головки (R, L, E), и различать кодовые группы,
соответствующие буквам внутреннего алфавита и буквам внешнего алфавита.
Рассмотрим пример такого кодирования для машины Тьюринга Т, имеющей внешний
алфавит A = {a
1
, a
2
, ... , a
k
} и внутренний алфавит Q = {q
1
, q
2
, ... , q
z
}. Если внешний алфавит
состоит из символов А = {0, 1}, то условия кодирования будут соблюдены при следующем
способе кодирования.
1. В качестве кодовых групп возьмем 3+k+m различных слов вида 100...01, где между
единицами проставляются нули; k - число символов внешнего алфавита; m - число
состояний устройства управления.
Тогда разбивка строк на кодовые группы производится путем выделения
последовательностей нулей, заключенных между двумя единицами.
2. Сопоставление кодовых групп исходным символам внешнего и внутреннего
алфавитов осуществляется согласно следующей таблице кодирования:
Буква К одовая группа
R
E
L
101
1001
10001
a
1
a
2
a
k
100001
10000001
1 0 ...........0 1
.................................
Внешний
алфавит
- 6 нулей
2(k + 1) нулей
- 4 нуля
Четное
число
нулей,
больш ее
чем 2
q
1
q
2
1000001
100000001
q
m
1 0 ................0 1
.................................
Внутренний
алфавит
( со сто ян и я)
- 5 нулей
- 7 нулей
2(m + 1)+ 1 нулей
Нечетное
число
нулей,
больш ее
чем 3
Например, для машины Тьюринга, которая перерабатывает слово bcad в слово bccd,
входное слово в универсальной машине Тьюринга с данным кодом будет представлено
следующей строкой:
10000001 1000000001 100001 100000000001,
Тьюринга, способную выполнять любой алгоритм, а значит работу любой машины
Тьюринга. В ней входное слово должно включать изображение программы и входное слово
интерпретируемой машины.
Чтобы получить изображение программы интерпретируемой машины, нужно
последовательно, строка за строкой, закодировать эту программу в алфавите универсальной
машины. Универсальная машина Тьюринга должна иметь фиксированный внешний
алфавит, используемый при записи программы, включая и алфавит интерпретируемой
машины.
Она должна быть приспособлена к приему в качестве исходной информации
всевозможных состояний устройства управления и конфигураций, в которых могут
встречаться буквы из разнообразных алфавитов со сколь угодно большим числом различных
букв.
Это достигается путем кодирования конфигурации и программы любой заданной
машины Тьюринга в символах входного алфавита универсальной машины. Само
кодирование должно выполняться следующим образом:
1) различные буквы должны заменяться различными кодовыми группами, но одна и та
же буква должна заменяться всюду, где бы она не встречалась, одной и той же кодовой
группой;
2) строки кодовых записей должны однозначным образом разбиваться на отдельные
кодовые группы;
3) должна существовать возможность распознать, какие кодовые группы соответствуют
различным сдвигам управляющей головки (R, L, E), и различать кодовые группы,
соответствующие буквам внутреннего алфавита и буквам внешнего алфавита.
Рассмотрим пример такого кодирования для машины Тьюринга Т, имеющей внешний
алфавит A = {a1, a2, ... , ak} и внутренний алфавит Q = {q1, q2, ... , qz}. Если внешний алфавит
состоит из символов А = {0, 1}, то условия кодирования будут соблюдены при следующем
способе кодирования.
1. В качестве кодовых групп возьмем 3+k+m различных слов вида 100...01, где между
единицами проставляются нули; k - число символов внешнего алфавита; m - число
состояний устройства управления.
Тогда разбивка строк на кодовые группы производится путем выделения
последовательностей нулей, заключенных между двумя единицами.
2. Сопоставление кодовых групп исходным символам внешнего и внутреннего
алфавитов осуществляется согласно следующей таблице кодирования:
Буква К о д о в а я гр у п п а
R 101
E 1001
L 10001
Ч ет н о е
a1 100001 - 4 нуля ч и сл о
В н еш н и й a2 10000001 - 6 н у л ей н у л ей ,
а л фа в и т ................................. б о л ь ш ее
ak 1 0 ...........0 1 2 ( k + 1) н у л е й ч ем 2
В н у т р ен н и й q1 1000001 - 5 н у л ей Н еч ет н о е
а л фа в и т q2 100000001 - 7 н у л ей ч и сл о
(со ст о я н и я ) н у л ей ,
.................................
б о л ь ш ее
qm 1 0 ................0 1 2 ( m + 1) + 1 н у л е й ч е м 3
Например, для машины Тьюринга, которая перерабатывает слово bcad в слово bccd,
входное слово в универсальной машине Тьюринга с данным кодом будет представлено
следующей строкой:
10000001 1000000001 100001 100000000001,
Страницы
- « первая
- ‹ предыдущая
- …
- 18
- 19
- 20
- 21
- 22
- …
- следующая ›
- последняя »
