
Многоленточные машины Тьюринга
Внешний алфавит А={0;1}. Машина трехленточная. Даны два числа в двоичном коде, они записаны на первой и второй ленте соответственно. Считается, что слова записаны нормально, то есть оба слова всегда есть и начинаются с единицы (исключение составляет нуль). Определить чему равна сумма этих двоичных чисел и результат записать на третью ленту.
Внешний алфавит А={0;1}. Машина двуленточная для распознавания двоичных палиндромов. Машина переписывает входное слово с первой ленты на вторую и сравнивает. Если слово на первой ленте – палиндром, то машина после сравнения переходит в заключительное состояние Ω, если нет – в некоторый момент очередной шаг машины не определен.
Применение теорем Шеннона
Преобразовать программу машины Тьюринга с тремя внутренними состояниями (машина А) в программу с двумя внутренними состояниями (машина В). Машина А печатает на чистой ленте бесконечную последовательность: 001001001…
Преобразовать программу машины Тьюринга с тремя символами внешнего алфавита (машина А) в программу с двумя символами внешнего алфавита (машина В). Машина А печатает на чистой ленте бесконечную последовательность: 001001001…
Примитивно-рекурсивные и частично-рекурсивные функции
Доказать примитивно-рекурсивность функций:
;
;
;
;
;
;
;
- целая часть от деления;
- остаток от деления x на у;
равенство:
неравенство:
больше:
больше или равно:
меньше:
меньше или равно:
;
где g(x) – примитивно-рекурсивная функция;
Восстановить функцию по схеме примитивной рекурсии:
;
;
.
Доказать, что следующие функции частично-рекурсивны:
нигде неопределенная функция ω, то есть функция с пустой областью определения;
функция, определенная в конечном числе точек.
Доказать, что следующие функции примитивно-рекурсивны:
- наименьшее общее краткое x и у, где
;
- наибольший общий делитель x и у, где
;
- x-тое простое число: p(0)=2; p(1)=3; …
;
;
.
F(x)=ax, где ax – х-тый после запятой знак в десятичном выражении корня из двух
ex(x,y) – экспонента числа px (x-тое простое число) в числе y.
C(x,y) – канторовский номер пары натуральных чисел.
Найти значения функции в заданных точках:
a)
в (x1=2; y1=2);
(x1=3; y1=3);
(x1=100; y1=100);
б)
в x1=5, x2=25,
x3=500;
в)
в x1=0, x2=10,
x3=50.
Доказать примитивно-рекурсивность множеств:
пустое множество;
множество всех натуральных чисел;
конечное множество натуральных чисел;
множество четных чисел;
множество точных квадратов;
множество простых чисел;
совокупность всех значений f(x), если f(x) – примитивно рекурсивная функция и f(x)≥x.
Найти обращения функций: