2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Машина Тьюринга, узнать какую функцию вычисляет
Сообщение13.11.2009, 12:46 


21/03/09
406
Здравствуйте.
Помогите пожалуйста понять, как нужно подходить к решению задач следующего типа
Например
Цитата:
Какую функцию вычисляет следующая машина Тьюринга
$$\[\begin{array}{l}
 \delta ({q_0},0) = ({q_1},0,R), \\ 
 \delta ({q_0},1) = ({q_2},1,N), \\ 
 \delta ({q_0},b) = ({q_0},b,R), \\ 
  \\ 
 \delta ({q_1},0) = ({q_2},0,N), \\ 
 \delta ({q_1},0) = ({q_1},1,R), \\ 
 \delta ({q_1},0) = ({q_1},b,R), \\ 
  \\ 
 F = \{ {q_2}\}  \\ 
 \end{array}\]
$$


Машина Тьюрина у меня:
Состоит из одной ленты.
$\delta$ у меня функция перехода.
Допускаются команды:
  • Вправо - R
  • Влево - L
  • В некуда - N
$q_1, q_2... q_n$ - состояния
$F$ - множество конечных состояний.

 Профиль  
                  
 
 Re: Машина Тьюринга, узнать какую функцию вычисляет
Сообщение13.11.2009, 12:53 
Заморожен
Аватара пользователя


18/12/07
8774
Новосибирск
nbyte в сообщении #261575 писал(а):
В некуда - N

Это как? Через пятое измерение за пределы Вселенной?

Я Вам уже один раз писал, не понимаю, сколько можно повторять одно и то же... Если хотите, чтобы Вам помогли --- пишите все необходимые определения. Что значит "машина вычисляет функцию"? Каков формат входных данных? Каков формат выходныъх данных?

-- Пт ноя 13, 2009 15:58:36 --

У Вас там, помимо всего прочего, целых три значения $\delta(q_1,0)$. Это опечатка или машина недетерминированная?

 Профиль  
                  
 
 Re: Машина Тьюринга, узнать какую функцию вычисляет
Сообщение13.11.2009, 13:50 


21/03/09
406
Цитата:
Это опечатка или машина недетерминированная?

Машина прекращает работу при N.

Цитата:
Каков формат выходныъх данных?

Последовательность символов из 1,0 ограниченная с двух сторон бесконечным числом пустых элементов.
При начальном положении каретка смотрит на первый не пустой элемент слева.

 Профиль  
                  
 
 Re: Машина Тьюринга, узнать какую функцию вычисляет
Сообщение13.11.2009, 14:30 
Заслуженный участник


09/08/09
3438
С.Петербург
nbyte в сообщении #261598 писал(а):
Цитата:
Это опечатка или машина недетерминированная?

Машина прекращает работу при N.

Запись $\delta({q_0},0) = ({q_1},0,R)$ означает, что если МТ находится в состоянии $q_0$, и символ, на который указывает каретка, равен $0$, то МТ выводит в текущую позицию символ $0$, сдвигает каретку вправо ($R$) и переходит в состояние $q_1$.

Для состояния $q_1$ у Вас заданы 3 команды
nbyte в сообщении #261575 писал(а):
$$\[\begin{array}{l}  \delta ({q_1},0) = ({q_2},0,N), \\ \delta ({q_1},0) = ({q_1},1,R), \\ \delta ({q_1},0) = ({q_1},b,R)\} \\ \end{array}\] $$
причём все три - для случая, когда символ под кареткой равен $0$.

Т.о., поведение машины в состоянии $q_1$ является недетерминированным: встретив в этом состоянии символ $0$, она может
1. оставить $0$ в текущей позиции и, не сдвигая каретку ($N$), перейти в состояние $q_2$, либо
2. заменить $0$ на $1$, сдвинуть каретку вправо ($R$) и перейти в состояние $q_1$, либо
3. заменить $0$ на $b$, сдвинуть каретку вправо ($R$) и перейти в состояние $q_1$.
При этом реакция на символы $1$ и $b$ в состоянии $q_1$ не задана.

Вопрос: это действительно недетерминированная машина, или Вы просто условие неверно списали?

 Профиль  
                  
 
 Re: Машина Тьюринга, узнать какую функцию вычисляет
Сообщение13.11.2009, 15:08 


21/03/09
406
Цитата:
Вопрос: это действительно недетерминированная машина, или Вы просто условие неверно списали?

Пардон, я тут просто на форум не правильно написал.
Тут будет
$$\[\begin{array}{*{20}{c}}
   {\delta ({q_0},0) = ({q_1},0,R),}  \\
   {\delta ({q_0},1) = ({q_2},1,N),}  \\
   {\delta ({q_0},b) = ({q_0},b,R),}  \\
   {}  \\
   {\delta ({q_1},0) = ({q_2},0,N),}  \\
   {\delta ({q_1},1) = ({q_1},1,R),}  \\
   {\delta ({q_1},b) = ({q_1},b,R),}  \\
   {}  \\
   {F = \{ {q_2}\} }  \\
\end{array}\]
$$
Вроде-бы больше ошибок нет.

 Профиль  
                  
 
 Re: Машина Тьюринга, узнать какую функцию вычисляет
Сообщение13.11.2009, 15:36 
Заслуженный участник


09/08/09
3438
С.Петербург
Теперь давайте попробуем разобраться с состояниями. Начнём с $q_0$, которое, судя по всему, является начальным (хотя у Вас про это нигде сказано). Попробуйте на словах объяснить, как МТ ведёт себя в этом состоянии.

Про
nbyte в сообщении #261598 писал(а):
При начальном положении каретка смотрит на первый не пустой элемент слева.
забудьте (это Вы, скорее всего, сами придумали :))

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group