IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Переставить местами верхние и нижние 4 байта, Машина Тьюринга.
сообщение
Сообщение #1


Гость






Не знал в каком топике отпостить. Помогите пожалуйста записать алгоритм для машины Тьюринга.
Переставить в 8ми битном слове старшие и младшие 4 бита.
Алгоритм вроде как надо сохранить старшие или младшие 4 бита, затем поменять перепасать в сохраненную область оставшиеся 4 бита и на другое место записать сохраненные биты. Помогите записать сами команды для машины Тьюринга. Ну типа такого:
q0 0 -> q1 (лямбда) R
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Например:
10010110
Сохраним 0110 (младшие 4 бит).
Запишем 1001 на место 0110.
Запишем из сохренной области на место старших бит
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


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


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Свободное место на ленте есть! Считается что она бесконечна.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






По сути мне нужна конкретная таблица переходов. Просто мне не совсем понятно, в примере сохранения у меня присутствует следующая запись:
(Здесь за L обозначим лямбда)
Q0 1 -> Q1 L R
Q0 0 -> Q2 L R
Мне нужна вся таблица таких переходов. А конкретно не понятно следующее: есть состояние Q0, если в нем содержится 1 то пишем в состояние 1(ну или за границу 8 бит), если 0 то в другое. Как для переноса эти состояния записать?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Цитата(-Дмитрий- @ 24.12.2006 14:30) *

Мне нужна вся таблица таких переходов. А конкретно не понятно следующее: есть состояние Q0, если в нем содержится 1 то пишем в состояние 1(ну или за границу 8 бит), если 0 то в другое. Как для переноса эти состояния записать?


В состояниях ничего не содержиться...машина тьюринга состоит из головки и бесконечной ленты...это головка может находиться в различных состояниях q1 q2 q3 (q0-конечное)...и это головка передвигаеться по ленте...
смотря в каком состоянии головка и что находиться на ленте выбираеться нужное действие...
запись q1L->1Rq2 озночает, что если головка находиться в состоянии q1 попадает на ленту в ячейке которой написано L, то L заменяеться на 1...головка принимает состояние q2 и движеться вправо...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Fanat
***

Группа: Пользователи
Сообщений: 261
Пол: Мужской
Реальное имя: Сергей

Репутация: -  5  +


Алгоритм немного другой так как сохранить 4 бита негде...так что придёться переносить по символу в конец слова...и удалять символ который мы переносим...

На рисунке реализован перенос 1-го бита...чтобы перенести 4 надо по аналогии длописать несколько строк...думаю разберёшься...(в столбике состояние,в строке алфавит,на пересечении результа)

Прикрепленное изображение

Сообщение отредактировано: Fanat -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 14:58
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name