Главная › › 2-й курс › 3-й курс › 4-й курс › 5-й курс › Спецкурсы › Ссылки › Карта › (версия для печати)
|
>>
Входное слово:После загрузки на «ленту» машины
Схема МТ:
Служебный вывод:
Максимальное количество обрабатываемых правил: 20.
Максимальное количество циклов выполнения: 10 000. |
Краткие теоретические сведенияМашина Тьюринга (кратко — МТ) математическое понятие, введенное английским математиком А. Тьюрингом как формальное уточнение понятия алгоритма. В каждой МТ есть следующие 3 части:
Примеры на построение машин ТьюрингаПример 1. К непустовму входному слову в алфавите {a, b, c} приписать справа букву «a».
a b c Λ
q0 ,R, ,R, ,R, a,N,!
(загрузить в эмулятор)
В начале МТ ищет правую границу входного слова, а затем пишет a в пустую ячейку и останавливается.
Пример 2.
К числу, записанному в двоичной записи, добавить 1.
0 1 Λ
q0 ,R, ,R, ,L,1
q1 1,N,! 0,L, 1,N,!
(загрузить в эмулятор)
В начале МТ ищет правую границу входного слова, а затем переходит в состояние q1 и идёт влево, увеличивая разряды на 1, пока не встретит 0, либо пустой символ Λ.
Пример 3.
Из входного слова в алфавите {a, b, c} удалить все буквы a.
a b c Λ #
q0 ,R, ,R, ,R, #,L,1
q1 ,L, ,L, ,L, ,R,2 ,L,
q2 Λ,R, Λ,R,3 Λ,R,4 ,R,! Λ,R,!
q3 ,R, ,R, ,R, b,L,1 ,R,
q4 ,R, ,R, ,R, c,L,1 ,R,
(загрузить в эмулятор)
Так как МТ (в отличие от НАМ) не позволяет менять некоторую подстроку на другую произвольную подстроку, при решении подобных задач используют приём построения новой копии слова.
В начале МТ ставит символ «#» в конце слова, чтобы раззграничить исходное слова от строящегося.
Затем МТ циклически «переносит» по одному символу из начала входного слова в конец так, чтобы перенеслись все буквы, за исключением букв a.
Таким образом, все буквы a просто стираются.
По окончании работы МТ удаляет «#» и останавливается на новом слове.
Команда < ,R,! > в состоянии q2 позволяет избежать зацикливания при пустом входном слове.
Типовые задачи, решаемые студентами 110 и 111 групы на семинарах
|