машина Тьюринга

NatNiM
Сообщений: 42
Зарегистрирован: 26 мар 2009, 21:00

машина Тьюринга

Сообщение NatNiM » 05 май 2009, 06:12

Необходимо построить машину Тьюринга_Поста, вычисляющую функцию f (x,y,z)=max{x+y,z} и проиллюстрировать ee на примере слова A=1*111*111.
Начальное машинное слово m=q1a01^na01^ma0 - это пара чисел (n,m). После вычислений число n+m это машинное слово q0a(01^(n+m))a0.
A как сюда привязать максимум?
Последний раз редактировалось NatNiM 30 ноя 2019, 09:10, всего редактировалось 1 раз.
Причина: test

Dm13
Сообщений: 392
Зарегистрирован: 23 дек 2008, 21:00

машина Тьюринга

Сообщение Dm13 » 05 май 2009, 17:38

Для поиска максимума можно использовать следующую машину Тьюринга:
Алфавит: * (пусто), 1, !, %.
Состояния: 1, 2,...,7.

B верхней строке таблицы текущий символ на ленте. B левом столбце - состояния. Каждая ячейка содержит 3 элемента:
1) на что заменить текущий символ
2) куда двигать головку (L - влево, R - вправо, N - остаться на месте)
3) в какое состояние перейти.

$$\begin{array}{|l|l|l|l|l|}\hline \\  & * & 1 & % & !\\\hline \\1 & *L5 & !R2 &  &   \\\hline \\2 & *R3 & 1R2 & %R3  &   \\\hline3 & %N4 & %N4 & %R3  &   \\\hline4 & *L4 & 1L4 & %L4  & !R1   \\\hline5 & *R6 &  &   & !L5   \\\hline6 & *R7 &  &   & *R6   \\\hline7 & *N0 & 1R7  & 1R7  &    \\\hline\end{array}$$

K примеру, входное слово 11*1111 будет преобразовываться так:
!1*1111
!1*%111
!!*%%11
*!*%%11
***%%11
***1111
Последний раз редактировалось Dm13 30 ноя 2019, 09:10, всего редактировалось 1 раз.
Причина: test


Вернуться в «Дискретная математика»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 38 гостей