
- •Оглавление
- •1 Интуитивное понятие алгоритма. Необходимость его уточнения. 7
- •1.4 Вычислительные алгоритмы 16
- •1.1 Свойства, характерные для интуитивного понятия алгоритма
- •1.2 История развития понятия алгоритма
- •1.3 Алгоритмические модели и их представление
- •1.4 Вычислительные алгоритмы
- •1.5 Алгоритмы для исполнителей
- •1.6 Символьные алгоритмы
- •2 Машины тьюринга (одноленточные детерминированные)
- •2.1 Неформальное описание машины Тьюринга
- •2.2 Формальное определение машины Тьюринга
- •2.3 Операции над машинами Тьюринга
- •2.4 Варианты машины Тьюринга
- •2.5 Вычислимость по Тьюрингу и разрешимость
- •3 Проблема самоприменимости
- •3.1. Нумерация алгоритмов
- •3.2 Нумерация наборов чисел
- •3.3 Нумерация слов и словарные функции
- •3.4 Нумерация машин Тьюринга
- •Заключение
- •Список использованных источников
- •Контрольные вопросы
- •Глоссарий
- •Если аргумент и значения принадлежат к натуральным числам
2.3 Операции над машинами Тьюринга
Машина Тьюринга (МТ) — абстрактный исполнитель (абстрактная вычислительная машина).
Сочетания алгоритмов - это название, установившееся за рядом конкретных способов конструирования новых алгоритмов из нескольких заданных.
Теоремы о сочетаниях алгоритмов составляют важный раздел общей теории алгоритмов. Будучи доказанными однажды, они позволяют в дальнейшем убеждаться в осуществимости сложных и громоздких алгоритмов без фактического выписывания определяющих их схем.
Сочетания алгоритмов для машины Тьюринга описываются операциями над машинами Тьюринга.
1. Операция композиции.
Пусть M1 и M2 - машины Тьюринга, имеющие одинаковый внешний алфавит A«{a0,a1,...,ap}. Обозначим множества их состояний соответственно Q1«{q0,q1,...,qn} и Q2«{q0',q1',...,qm'}.
Определение.
Композицией машин M1 и M2 называют машину, обозначаемую M=M1×M2, программа которой имеет алфавит A, множество состояний Q«{q0,q1,...,qn,qn+1,...,qn+m} и получается из программ машин M1 и M2 следующим образом: везде в программе машины M1, где встречаются "тройки" с символом q1 (заключительное состояние машины M1), он заменяется на символ q0' (начальное состояние машины M2); все остальные символы в программах машин M1 и M2 остаются неизменными (в завершение остаётся перенумеровать все состояния машины M: {q0,q1',q2,...,qn,q0',q2',...,qm'}).
Композиция начинает "работать" как машина M1, но в тех случаях, когда машина M1 должна остановиться, происходит переключение на программу машины M2, вследствие замены q1 на q0'. Очевидно, что операция композиции ассоциативна, но не коммутативна.
Её работа равносильна последовательной работе машин T1 и T2 .
На рисунке изображена композиция машин Тьюринга, реализующая оператор суперпозиции для n=1 и m=1.
Рисунок 1.
Определение.
Итерацией машины Тьюринга M будем называть машину
2. Операция ветвления.
Пусть M1, M2 и M3 - машины Тьюринга, имеющие одинаковый внешний алфавит A«{a0,a1,...,ai,...,aj,...,ap} и, соответственно, множества состояний: Q1«{q0,q1,...,qn}, Q2«{q0',q1',...,qm'}, Q3«{q0",q1",...,ql"}.
Определение.
Результатом операции ветвления над машинами Тьюринга M1, M2 и M3 называется машина Тьюринга M, программа которой получается из программ машин M1,M2 и M3 следующим образом: записана программа машины M1, затем приписаны программы машины M2 и M3. Если в заключительном состоянии q1 машины M1 наблюдается символ ai, то управление передается на машину M2, т.е. символ q1 заменяется символом q0' и начинает работать машина M2. Если же в заключительном состоянии q1 машины M1 наблюдается символ aj, то управление передается на машину M3, т.е. символ q1 заменяется символом q0" и начинает работать машина M3. Все остальные символы в программах машин M1 и M2 остаются неизменными. Машина M завершает работу в заключительном состоянии q1 (в заключение остается осуществить сквозную перенумерацию состояний машины M).
Результат операции ветвления над машинами Тьюринга M1, M2 и M3 обозначается следующим образом:
Для двухбуквенных машин Тьюринга (машин Тьюринга с двухбуквенным алфавитом) операция ветвления над произвольными машинами Тьюринга M1, M2 и M3 обозначается следующим образом:
т.е. если при работе машины M1 в состоянии q1 наблюдается символ a0, то управление передается на машину M2, в противном случае - на машину M3.
3. Операция зацикливания.
Пусть M - машина Тьюринга с алфавитом A«{a0,a1,...,ap} и множеством состояний Q«{q0,q1,...,qn}.
Определение.
Результатом операции зацикливания будем называть машину Тьюринга, обозначаемую (i=0,2,3,...,n; j=0,1,2,...,p; s=0,2,3,...,n)
программа которой получается из программы машины M заменой в консеквенте команды qiaj®q1atr, rÎ{L,R,L}, t=0,1,2,...p, символа q1 на символ qs.