2014 dxdy logo

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

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


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


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

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

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

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

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



Начать новую тему Ответить на тему
 
 Машина Тьюринга, деление на 2
Сообщение18.05.2012, 21:35 


10/12/11
11
Доброго времени суток.

Подскажите, пожалуйста, как написать алгоритм для деления числа на 2, используя алфавит только из 0 и 1.
Вход: 0111110, к примеру.

Спасибо!

 Профиль  
                  
 
 Re: Машина Тьюринга, деление на 2
Сообщение18.05.2012, 22:57 
Заслуженный участник


09/09/10
3729
Система счисления унарная или двоичная? Если двоичная, то все до неприличия просто. Если унарная и можно пользовать дополнительные символы: заменяйте все две идущие подряд единицы на одну, потом вернитесь в начало и уплотните.

 Профиль  
                  
 
 Re: Машина Тьюринга, деление на 2
Сообщение19.05.2012, 00:07 


10/12/11
11
Joker_vD в сообщении #573083 писал(а):
Система счисления унарная или двоичная? Если двоичная, то все до неприличия просто. Если унарная и можно пользовать дополнительные символы: заменяйте все две идущие подряд единицы на одну, потом вернитесь в начало и уплотните.

В случае с двоичной решение - сдвиг, это понятно. Я забыл указать, что система счисления унарная.
С дополнительными символами я так и предполагал решение, но преподаватель запрещает использовать их. А без дополнительных символов я не представляю, как отличить начало ленты от 0 между 1. За помощью с этим и обращаюсь.
Или с таким алфавитом ее невозможно решить?

 Профиль  
                  
 
 Re: Машина Тьюринга, деление на 2
Сообщение19.05.2012, 00:11 
Заслуженный участник


04/05/09
4582
А состояний много можно?

 Профиль  
                  
 
 Re: Машина Тьюринга, деление на 2
Сообщение19.05.2012, 00:20 


10/12/11
11
venco в сообщении #573124 писал(а):
А состояний много можно?

Неограниченно, но предполагается, что это нужно написать не более чем за 10-15 минут. Более 20 состояний, думаю, уже будет перебор.

 Профиль  
                  
 
 Re: Машина Тьюринга, деление на 2
Сообщение19.05.2012, 02:17 
Заслуженный участник


04/05/09
4582
Можно два нуля в начале сделать...

 Профиль  
                  
 
 Re: Машина Тьюринга, деление на 2
Сообщение19.05.2012, 12:26 


28/12/06
29
Новосибирск
ujh в сообщении #573121 писал(а):
А без дополнительных символов я не представляю, как отличить начало ленты от 0 между 1.

Ноль между единицами всегда один. Лента ведь бесконечная, то есть слева и справа неограниченное количество нулей, так? Значит, если при обратном движении каретки встретились два нуля подряд, то?

 Профиль  
                  
 
 Re: Машина Тьюринга, деление на 2
Сообщение19.05.2012, 16:43 
Заслуженный участник


04/05/09
4582
Сургонт Е Ф в сообщении #573246 писал(а):
ujh в сообщении #573121 писал(а):
А без дополнительных символов я не представляю, как отличить начало ленты от 0 между 1.

Ноль между единицами всегда один. Лента ведь бесконечная, то есть слева и справа неограниченное количество нулей, так? Значит, если при обратном движении каретки встретились два нуля подряд, то?
Я полагаю, о содержимом до и после ничего не известно. Но два нуля в начале можно себе обеспечить сразу.

 Профиль  
                  
 
 Re: Машина Тьюринга, деление на 2
Сообщение19.05.2012, 17:12 


28/12/06
29
Новосибирск
venco в сообщении #573327 писал(а):
Я полагаю, о содержимом до и после ничего не известно. Но два нуля в начале можно себе обеспечить сразу.

Ну, обычно в задачах о машине Тьюринга, если не оговорено обратное, лента предполагается бесконечной в обе стороны и пустой. (Это пусть ujh уточнит) Но если в данном случае это не так, то да, нужно специально отмечать начало числа. Можно двумя нулями, можно двумя единицами.

 Профиль  
                  
 
 Re: Машина Тьюринга, деление на 2
Сообщение21.05.2012, 21:56 


10/12/11
11
venco в сообщении #573327 писал(а):
Но два нуля в начале можно себе обеспечить сразу.

Сдвинуться влево и поставить там 0?
Сургонт Е Ф в сообщении #573333 писал(а):
Ну, обычно в задачах о машине Тьюринга, если не оговорено обратное, лента предполагается бесконечной в обе стороны и пустой. (Это пусть ujh уточнит) Но если в данном случае это не так, то да, нужно специально отмечать начало числа. Можно двумя нулями, можно двумя единицами.

А если она все-таки пустая, то у нас нет прав записи/чтения в те ячейки?

 Профиль  
                  
 
 Re: Машина Тьюринга, деление на 2
Сообщение21.05.2012, 23:08 
Заслуженный участник


04/05/09
4582
ujh в сообщении #574361 писал(а):
venco в сообщении #573327 писал(а):
Но два нуля в начале можно себе обеспечить сразу.

Сдвинуться влево и поставить там 0?
Нет. Заменять на ноль первую единицу каждой пары, а не вторую.

 Профиль  
                  
 
 Re: Машина Тьюринга, деление на 2
Сообщение22.05.2012, 04:49 


28/12/06
29
Новосибирск
ujh в сообщении #574361 писал(а):
А если она все-таки пустая, то у нас нет прав записи/чтения в те ячейки?

Ну если нет права записи, то лента всё равно что обрезана. Есть, конечно. В данном случае используется алфавит из двух символов, значит, заполнена она нулями. Но для задачи это не имеет значения, мой совет был, в общем, излишним, выходить за пределы заданного кусочка не надо.
Кстати, о разрешимости - если задача вообще разрешима на машине Тьюринга с произвольным алфавитом, то она разрешима и на машине с алфавитом из двух символов, так что в этом смысле пусть Вас сомнения не мучают.

 Профиль  
                  
 
 Re: Машина Тьюринга, деление на 2
Сообщение22.05.2012, 16:26 


10/12/11
11
venco, Сургонт Е Ф
Огромное спасибо за помощь.

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

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



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

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


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

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