Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 3 Машина Тьюринга...docx
Скачиваний:
4
Добавлен:
25.11.2019
Размер:
437.84 Кб
Скачать

Пример 1.

Счетчик четности. Рассмотрим машину сигнал на выходе которой ( в дальнейшем просто «выход») равен 1 или 0 в зависимости от того четное или нечетное число единиц записано в строке. Входная последовательность представлена записью на ленте МТ

В конце указанной последовательности имеется дополнительный символ В. Машина запускается в работу (из состояния ) под первым символом последовательности. Символ В говорит, что последовательность закончена. Машине требуется два состояния – одно для нечетного числа единиц , а другое – для четного: состояния меняются всякий раз, когда встречается 1. Соответствующая конечная машина представлена в таблице …..

Работа машины происходит так:

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

Задача. Замените пятерки так, чтобы входная последовательность символов не стиралась.

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

Пример2

Преобразователь единичного кода в двоичный. Пусть последовательность задана в виде серии единиц на бесконечной ленте, пустой на отдельных позициях:

Машина начинает свою работу с крайней летней единицы. Ее диаграмма показана на рис. .

Парные состояния, соответствующие движению в правую сторону, используются как в счетчике четности. При этом происходит вычеркивание единиц через одну ( они заменяются символами Х). Когда строка исходных символов проверена на четность, машина переходит в одно из состояний, ассоциированных с движением в левую сторону, которое отмечается символами А или В, вносимыми в первую свободную ячейку слева. Когда все единицы в строке вычеркнуты, машина останавливается. Оказывается, что последовательность символов А и В является двоичной записью исходного единичного кода. Чтобы убедиться в этом достаточно установить, что в момент перехода в состояние R, ассоциированное с движением вправо, состояния ленты имеют вид, показанный ниже.

Таким образом, ответ есть ВАВА=1010, что и есть запись 10 в двоичной системе счисления. Вычисления состоят в последовательном делении на 2, записи остатка (т.е. А или В), после чего процесс повторяется по отношению к частному, пока частное не станет равным нулю.

Структура этого процесса несколько более сложная, чем в предыдущих примерах. Реализация проверки на четность, для которой требуется два состояния. Может быть истолкована, как подпроцесс, который повторяется снова и снова, пока не выполнится некоторое условие, обнаруживаемое «контролирующим» процессом. Мы имеем «цикл в цикле» и можем различить иерархию управления в ее простейшем виде.

Этот тип вычислений не может быть выполнен машинами с конечным числом состояний.

Задача. Оказывается, что точно такой же результат может быть достигнут двоичной пересчетной схемой, для которой требуются только два состояния и тот же самый алфавит! Можно ли предложить такую машину Тьюринга с двумя состояниями?