>>
Входное слово:После загрузки на «ленту» машины
Схема МТ:
Служебный вывод:
Максимальное количество обрабатываемых правил: 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 групы на семинарах |