2014 dxdy logo

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

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


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


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

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 Машина Тьюринга для заданной функции
Сообщение05.05.2009, 09:08 


27/03/09
213
Построить машину Тьюринга Поста, вычисляющую функцию f, и проиллюстрировать ее работу на примере слова А.
f(x,y,z)=max{x+y,z}, A=1*111*111.

Это пара чисел m,n $$
M = q_1 a_0 1^n a_0 1^m a_0 
$$
Программа
$$
\eqalign{
  & q_1 a_0  \to q_2 R,q_2 1 \to q_2 R,q_2 a_0  \to q_3 1,q_3 1 \to q_3 R,q_3 a_0  \to q_4 L,  \cr 
  & q_4 1 \to q_5 a_0 ,q_5 a_0  \to q_6 L,q_6 1 \to q_6 L,q_6 a_0  \to q_0 a_0  \cr} 
$$

складывает числа, а как найти max?

 Профиль  
                  
 
 
Сообщение05.05.2009, 09:41 
Заслуженный участник
Аватара пользователя


06/10/08
6422
NatNiM в сообщении #211070 писал(а):
а как найти max?

бегать влево-вправо, слева отделятьть по одной единичке на шаг влево, справа отделять по одной единичке на шаг вправо.
Которое из чисел раньше кончится, то будет min.
А второе - max.

 Профиль  
                  
 
 
Сообщение05.05.2009, 09:44 


27/03/09
213
Xaositect писал(а):
NatNiM в сообщении #211070 писал(а):
а как найти max?

бегать влево-вправо, слева отделятьть по одной единичке на шаг влево, справа отделять по одной единичке на шаг вправо.
Которое из чисел раньше кончится, то будет min.
А второе - max.


Так это получится, как я понимаю, 2 отдельные программы: одна вначале складывает, затем вторая определяет max?

 Профиль  
                  
 
 
Сообщение05.05.2009, 09:47 
Заслуженный участник
Аватара пользователя


06/10/08
6422
ну можно сначала сложить и перейти в какое-нибудь ранее не использованное состояние, и начать вторую программу писать с неиспользованными состояниями. Получится одна большая программа.

 Профиль  
                  
 
 
Сообщение05.05.2009, 12:45 


27/03/09
213
Xaositect писал(а):
ну можно сначала сложить и перейти в какое-нибудь ранее не использованное состояние, и начать вторую программу писать с неиспользованными состояниями. Получится одна большая программа.


А на вход, стало быть, подавать все три числа? Как же можно одновременно их так обработать!

 Профиль  
                  
 
 
Сообщение05.05.2009, 13:14 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Давайте я напишу какой-нибудь пример.
Вот допустим.
Даны 3 числа, их все надо сложить.
Пишем сначала программу, которая складывает первые два. Только чуть-чуть отличающуюся от той, что Вы написали.
$q_1a_0\to q_2R, q_21\to q_3a_0, q_3a_0\to q_4R, q_41\to q_4R, q_4a_0\to q_51,q_51\to q_5L$
Она переводит конфигурацию $q_1a_01^na_01^na_0$ в конфигурацию $q_5a_01^{n+m}a_0$, не затрагивая того, что стоит правее.
Теперь, если мы заменим $q_5$ на $r_1$ и напишем эту программу еще раз, только с $r$ вместо $q$, то получим программу, которая сначала переводит
$q_1a_01^ma_01^na_01^ta_0$ в $r_1a_01^{m+n}a_01^t$, а потом $r_5a_01^{m+n+t}a_0$
Машины Тьюринга можно так склеивать.

 Профиль  
                  
 
 
Сообщение05.05.2009, 13:36 


27/03/09
213
Xaositect писал(а):
Давайте я напишу какой-нибудь пример.
Вот допустим.
Даны 3 числа, их все надо сложить.
Пишем сначала программу, которая складывает первые два. Только чуть-чуть отличающуюся от той, что Вы написали.
$q_1a_0\to q_2R, q_21\to q_3a_0, q_3a_0\to q_4R, q_41\to q_4R, q_4a_0\to q_51,q_51\to q_5L$
Она переводит конфигурацию $q_1a_01^na_01^na_0$ в конфигурацию $q_5a_01^{n+m}a_0$, не затрагивая того, что стоит правее.
Теперь, если мы заменим $q_5$ на $r_1$ и напишем эту программу еще раз, только с $r$ вместо $q$, то получим программу, которая сначала переводит
$q_1a_01^ma_01^na_01^ta_0$ в $r_1a_01^{m+n}a_01^t$, а потом $r_5a_01^{m+n+t}a_0$
Машины Тьюринга можно так склеивать.


ну так последнее выражение - сумма трех чисел, а не max. Или отсюда можно плясать к max?

 Профиль  
                  
 
 
Сообщение05.05.2009, 14:36 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Это пример.
Правила форума запрещают давать полные решения.
Да, отсюда можно плясать.

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

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



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

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


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

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