
- •Курс «теория алгоритмов»
- •Краткие теоретические сведения
- •Построить машину Тьюринга, применимую ко всем словам в алфавите и переводящую их в слово .
- •Проверить работу машины Тьюринга над некоторыми словами.
- •Построить машину Тьюринга, вычисляющую числовую функцию .
- •Проверить работу построенной машины над некоторыми наборами значений переменных.
- •Написать формулу числовой функции , вычислимой машиной Тьюринга с множеством внутренних состояний , где 0 – заключительное, а 1 – начальное состояния, если машина задана своей программой.
- •Проверить работу машины Тьюринга с некоторым набором значений аргументов.
- •По данному коду n(t)восстановить программу машины Тьюринга.
- •Выяснить, является ли машина Тьюринга самоприменимой или несамоприменимой.
- •Построить машину Тьюринга, применимую ко всем словам в алфавите и переводящую их в слово .
- •Проверить работу машины Тьюринга над некоторыми словами.
- •Построить машину Тьюринга, вычисляющую числовую функцию .
- •Проверить работу построенной машины над некоторыми наборами значений переменных.
- •Написать формулу числовой функции , вычислимой машиной Тьюринга с множеством внутренних состояний , где 0 – заключительное, а 1 – начальное состояния, если машина задана своей программой.
- •Проверить работу машины Тьюринга с некоторым набором значений аргументов.
- •По данному коду n(t)восстановить программу машины Тьюринга.
- •Выяснить, является ли машина Тьюринга самоприменимой или несамоприменимой.
- •Практическая работа № 2.
- •Тема: «машины тьюринга»
- •- Страница 12 -
Курс «теория алгоритмов»
ПРАКТИЧЕСКАЯ РАБОТА № 2.
ТЕМА: МАШИНЫ ТЬЮРИНГА
Краткие теоретические сведения
Машиной Тьюринга называется пятерка объектов
,
где
– алфавит;
– множество внутренних состояний,
причем s0 –
заключительное, а s1
– начальное состояния.
– функция перехода;
– функция выхода;
– функция управления.
Командой машины Тьюринга
называется запись вида
,
где
– значения на наборе
функций
и
соответственно.
Программой машины Тьюринга называется набор ее команд.
Работа машины Тьюринга связана с
бесконечной лентой, разбитой на ячейки,
причем в каждой ячейке может быть записан
один символ некоторого алфавита, причем
является символом пустой ячейки.
Работы машины Тьюринга над словом
,
записанным на ленте, проходит следующим
образом:
машина Тьюринга начинает свою работу всегда в состоянии
, а ее считывающее устройство расположено над первым слева символом слова, записанного на ленте;
считав символ в ячейке, обозреваемой считывающим устройством машины Тьюринга, она печатает в эту ячейку символ, найденный с помощью функции выхода , двигается вдоль ленты вправо, влево или остается на месте, в случае, если функция
принимает значения П, Л или Н соответственно и переходит в состояние, определяемое с помощью функции перехода
; при переходе машины Тьюринга в состояние
считают, что она закончила работу над словом и говорят, что машина Тьюринга применима к слову .
Если машина Тьюринга при работе над словом не переходит в состояние , то говорят, что она не применима к слову .
Конфигурацией машины Тьюринга
называется запись
,
где b – символ ячейки,
обозреваемой считывающим устройством
машины Тьюринга, находящейся в состоянии
,
а
и
– слова, записанные на ленте соответственно
левее и правее символа b.
Кодом машины Тьюринга называется
запись набора ее команд в алфавите
,
позволяющая однозначно восстанавливать
каждую команду.
Машина Тьюринга называется самоприменимой (несамоприменимой), в случае, если она применима (не применима) к своему коду.
Числовой функцией называется функция
вида
.
Изображением набора аргументов
называется запись вида
(*), где
.
Числовая функция
называется вычислимой по Тьюрингу,
если существует машина Тьюринга,
применимая к любому слову вида (*),
переводящая его в слово
,
где
.
Задание 1.
Построить машину Тьюринга, применимую ко всем словам в алфавите и переводящую их в слово .
Проверить работу машины Тьюринга над некоторыми словами.
№ |
|
1. |
|
2. |
|
3. |
bb, если четно |
4. |
, если n – четно. |
5. |
|
6. |
|
7. |
|
8. |
bb,
если
|
9. |
ab, если n – четно, xn, если n - нечетно |
10. |
an, если xn-1=a, x1x2…xn-2ab, если xn-1=b |
11. |
x1x3x2x4x5…xn |
12. |
ax1x2…xn-2b |
13. |
a, если n<4, x1…xn, если n>3 |
14. |
a a, если в данном слове число букв нечетно, x1x2…xn-1, если четно |
15. |
x1…xn, если x2=b |
16. |
bab, если слово начинается на ab, x1x2 в других случаях |
17. |
x1x2...xnb, если n – четно, bx1x2…xn, если n – нечетно |
18. |
a b, если x2=a, x1…xn-1, если x2=b |
19. |
x1x2…xn-1xnxn, если n - четно |
20. |
an, если x1=a, x2, если x1=b |
21. |
x1x2…xn-1 |
22. |
|
23. |
x1xnx2x3…xn-1 |
24. |
bnx1…xn |
25. |
(ab)n |
26. |
x1x2…xn-2xn-1xn |
27. |
x1, если n – нечетно, xn, если n - четно |
28. |
xnxn-1…x1 |
29. |
|
30. |
ab, если слово начинается на ba, x1…xn-1 в других случаях |
Задание 2.