2014 dxdy logo

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

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




 
 Задача на составление Машины Тьюринга
Сообщение22.06.2015, 13:54 
Есть такая задача:

Написать программу МТ, которая сдвигает входное слово на заданное число k ячеек вправо, а в освободившиеся k первых после маркера начала ленты ячейки записывает специальный символ $.

Я не могу понять знаки $ нужно записывать от начала ленты, но лента же бесконечная, либо мне надо записывать их на место букв?

 
 
 
 Re: Задача на составление Машины Тьюринга
Сообщение22.06.2015, 14:24 
serezha_ivanchenko в сообщении #1029649 писал(а):
Я не могу понять знаки $ нужно записывать от начала ленты
Да.

serezha_ivanchenko писал(а):
но лента же бесконечная
Конечно. Иначе со сдвигом исходного слова вправо могли бы возникнуть проблемы.

serezha_ivanchenko писал(а):
либо мне надо записывать их на место букв?
Нет, на пустое освободившееся место после сдвига.

 
 
 
 Re: Задача на составление Машины Тьюринга
Сообщение22.06.2015, 14:43 
3D Homer
Я все равно не могу понять вот эту формулировку : "...освободившиеся k первых после маркера начала ленты ячейки.."

Ведь лента бесконечная как слева так и справа, записывать первый $ надо на место 1 буквы слова?

 
 
 
 Re: Задача на составление Машины Тьюринга
Сообщение22.06.2015, 14:55 
serezha_ivanchenko в сообщении #1029667 писал(а):
Ведь лента бесконечная как слева так и справа
Нет, лента бесконечна только справа. Вернее, есть разные определения машин Тьюринга, эквивалентные с точки зрения вычислительных свойств. Но, мне кажется, я чаще видел определения, где лента бесконечна только справа. И у вас задача говорит про "маркер начала ленты", поэтому у ленты есть начало.

 
 
 
 Re: Задача на составление Машины Тьюринга
Сообщение22.06.2015, 15:01 
3D Homer

Спасибо, я понял.

 
 
 
 Re: Задача на составление Машины Тьюринга
Сообщение22.06.2015, 18:32 
Еще один вопрос:

Как машине объяснить, что сдвинуть надо на k элементов, как я понимаю это произвольное количество?

 
 
 
 Re: Задача на составление Машины Тьюринга
Сообщение22.06.2015, 18:47 
Здесь есть два варианта: либо $k$ дается машине на вход, либо оно встроено в саму машину, т.е. для каждого $k$ нужно построить свою машину. Судя по условию задачи, второй вариант мне кажется более вероятным.

 
 
 
 Re: Задача на составление Машины Тьюринга
Сообщение22.06.2015, 18:54 
3D Homer в сообщении #1029734 писал(а):
Здесь есть два варианта: либо $k$ дается машине на вход, либо оно встроено в саму машину, т.е. для каждого $k$ нужно построить свою машину. Судя по условию задачи, второй вариант мне кажется более вероятным.


Т.е я могу взять для примера любое$k$ .

А если рассмотреть вариант подачи на вход машине, означает ли это что путем хитрых преобразований это значение $k$ должно оказаться на ленте?

 
 
 
 Re: Задача на составление Машины Тьюринга
Сообщение22.06.2015, 19:06 
serezha_ivanchenko писал(а):
Т.е я могу взять для примера любое$k$ .
Скорее всего, вам нужно описать процедуру построения МТ для любого заданного k. Но для начала можно взять какое-то конкретное k.

serezha_ivanchenko писал(а):
А если рассмотреть вариант подачи на вход машине, означает ли это что путем хитрых преобразований это значение $k$ должно оказаться на ленте?
Да, тогда k присутствует на ленте в какой-то кодировке, например, как двоичное число. Но судя по тому, что условие предписывает сдвинуть все "входное слово", мне кажется, что нужно сдвинуть все, что находится на ленте. Поэтому, наверное, k там не находится, хотя это может быть и не так.

 
 
 
 Re: Задача на составление Машины Тьюринга
Сообщение22.06.2015, 19:12 
А где можно почитать как такое реализовать, в учебниках и лекциях все заканчивается на простыми примерами, речь даже не идет как построить МТ для любого $k$
:-(

 
 
 
 Re: Задача на составление Машины Тьюринга
Сообщение22.06.2015, 19:25 
Сейчас нет возможности порекомендовать книги. Возьмите для начала k = 3 и, начиная с правого края входного слова, скопируйте каждый символ на 3 клетки вправо. Символ запоминайте в состоянии. Не бойтесь заводить новые состояния и символы (например, перечеркнутые исходные символы).

 
 
 
 Re: Задача на составление Машины Тьюринга
Сообщение22.06.2015, 19:30 
3D Homer в сообщении #1029749 писал(а):
Сейчас нет возможности порекомендовать книги. Возьмите для начала k = 3 и, начиная с правого края входного слова, скопируйте каждый символ на 3 клетки вправо. Символ запоминайте в состоянии. Не бойтесь заводить новые состояния и символы (например, перечеркнутые исходные символы).


Да это я понимаю как сделать при конкретном k, не понятно как записать это для любого k (и в программе-эмуляторе и задать математически)

 
 
 
 Re: Задача на составление Машины Тьюринга
Сообщение22.06.2015, 19:35 
В программном эмуляторе я тоже не знаю. Математически можете сказать: для каждого символа $a$ заведем состояния $q_{a,1},\dots,q_{a,k}$ и добавим инструкции $(x,q_{a,i})\to(R,q_{a,i+1})$ (здесь $x$ — произвольный символ, а $R$ — инструкция передвинуть головку вправо). Или что-то в этом роде.

 
 
 
 Re: Задача на составление Машины Тьюринга
Сообщение22.06.2015, 19:44 
Аватара пользователя
3D Homer в сообщении #1029749 писал(а):
Возьмите для начала k = 3 и, начиная с правого края входного слова, скопируйте каждый символ на 3 клетки вправо.

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

 
 
 
 Posted automatically
Сообщение22.06.2015, 21:22 
Аватара пользователя
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Карантин»
Причина переноса: не приведены попытки решения

serezha_ivanchenko
serezha_ivanchenko в сообщении #1029727 писал(а):
Как машине объяснить, что сдвинуть надо на k элементов, как я понимаю это произвольное количество?
Приведите попытки решения, укажите конкретные затруднения.
Наберите все формулы и термы $\TeX$ом. Текст заданий набирайте буковками с клавиатуры, картинки сносите.
Инструкции по оформлению формул здесь или здесь (или в этом видеоролике).
См. также тему Что такое карантин, и что нужно делать, чтобы там оказаться.
После исправлений сообщите в теме Сообщение в карантине исправлено, и тогда тема будет возвращена.

 ! 
3D Homer в сообщении #1029749 писал(а):
k = 3

3D Homer, замечание за неоформление формул $\TeX$ом.

 
 
 [ Сообщений: 15 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group