на стр 6, лекции 3, Очевидно "Ck <= модуль(Gk(е))*b(k+1)" (1) - , подскажите что значит "модуль" и почему это очевидно... |
Машины Тьюринга
Вычислимость и разрешимость
Упорядоченный набор из слов в алфавите
называется
-местным
набором над
. Множество всех
-местных наборов
над
обозначим через
.
Любое подмножество
множества
называется
-местным словарным отношением.
Любое, возможно частичное, отображение
называется
-местной словарной функцией. Область определения
функции
обозначается через
.
Результатом работы программы на входном
псевдослове
называется псевдослово
, которое появляется на ленте
в момент остановки программы; если программа работает бесконечно, то
результат не определен.
Программу, которая в процессе работы над любым псевдословом
не сдвигает головку левее пробела, расположенного слева от
-го слова
псевдослова
, будем называть
-программой.
Словарное -местное отношение
называется полуразрешимым, если
существует
-программа
, которая
останавливается в точности на всех псевдословах, имеющих вид


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



Вычислимые по Тьюрингу функции уместно было бы назвать полувычислимыми, а полувычислимые с разрешимой областью определения — вычислимыми, но это противоречит установившимся традициям.
Вычисление числовых функций
Чтобы вычислять значения числовых функций с помощью тьюринговых программ,
необходимо выбрать способ кодирования на ленте аргументов и значений
функции. Мы рассматриваем функции из в
,
где
— множество натуральных чисел,
включая
, а
.
Значения функции и ее аргументов будем записывать в бинарном, унарном или
каком-либо ином коде, для чего нам потребуется, соответственно, алфавит ,
и т.д. Значения аргументов
перед вычислением должны быть представлены на ленте в виде псевдослова




После вычисления содержимое ленты должно иметь вид


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