Введение в схемы, автоматы и алгоритмы

          

Ветвление (условный оператор)


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

Ветвление (условный оператор)
?*, на котором ? останавливается, ее результат {?}(x)
Ветвление (условный оператор)
{0, 1}, т.е. ? вычисляет некоторую двузначную функцию (возможно частичную) на словах из ?.

Лемма 9.5. Пусть ? - распознающая м.Т., м.Т.

Ветвление (условный оператор)
вычисляет функцию f(x), а м.Т.
Ветвление (условный оператор)
- функцию g(x). Тогда существует м.Т.
Ветвление (условный оператор)
вычисляющая функцию

Ветвление (условный оператор)

Доказательство. Требуемая м.Т.

Ветвление (условный оператор)

вначале копирует вход x и получает на ленте слово x*x, затем вычисляет параллельную композицию функций ?(x) и тождественной функции e(x)=x и переходит в конфигурацию p{?}(x)*x. Выбор между f и g происходит по следующим командам:

Ветвление (условный оператор)

Кроме того, обеспечим переход в новое заключительное состояние:

Ветвление (условный оператор)

Таким образом, мы реализовали в терминах машин Тьюринга обычный в языках программирования оператор ветвления:

Ветвление (условный оператор)



Содержание раздела