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