Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MLTA_shpory2.doc
Скачиваний:
101
Добавлен:
23.12.2018
Размер:
2.34 Mб
Скачать

69.Проблема остановки как пример алгоритмически неразрешимых проблем.

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

Требование, чтобы по любому алгоритму А и данным a можно было определить, приведет ли работа А при исходных данных a к результату или нет. Иначе говоря, нужно построить алгоритм В, такой, что В (А, a)=И, если А(a) дает результат, и В (А, a) =Л, если А(a) не дает результата. В силу тезиса Тьюринга эту задачу можно сформулировать как задачу о построении машины Тьюринга: построить машину T0 такую, что для любой машины Тьюринга Т и любых исходных данных a для машины Т T0(ST, a) =И, если машина Т(a) останавливается, и T0(ST, a) = Л, если машина Т(a) не останавливается. В силу тезиса Тьюринга невозможность построения машины Тьюринга означает отсутствие алгоритма решения данной проблемы. Поэтому полученная теорема дает первый пример алгоритмически неразрешимой проблемы, а именно,алгоритмически неразрешимой оказывается проблема остановки для машин Тьюринга, т. е. проблема определения результативности алгоритмов.

70. Машина Поста.

Информационная лента для записи входной, выходной и промежуточной информации, бесконечная и разделенная на одинаковые ячейки

Считывающая и записывающая головка

В каждой ячейке записан один символ из фиксированного алфавита (для машин Поста входная и выходная информация задаются в алфавите X={0, 1}). Клетки, в которых записаны единицы, называют отмеченными, а те, в которых записаны нули — неотмеченными. В любой момент времени машина обрабатывает ровно одну ячейку, называемую активной.

Машина Поста работает под управлением программы. Программа состоит из правил (команд), которые называются приказами. Команды машины Поста состоят из трех полей:

1. Номер команды

2. Операция

3. Отсылка (номер следующей команды)

Команды нумеруются с 1. Первой выполняется команда 1.

Операции:

1. ® — движение на одну клетку вправо (R)

2. ¬ — движение на одну клетку влево (L)

3. запись метки (1) в обозреваемую ячейку,

4. стирание метки (запись 0) в обозреваемую ячейку,

5. команда передачи управления (ветвление) — если ячейка неотмеченная — отсылка на команду M1, если отмеченная — на M2.

6. Стоп: HLT (END)

71. Рекурсивные функции. Примитивно-рекурсивные функции. Примитивно-рекурсивные операторы. Частично-рекурсивные функции. Тезис Черча.

Всякий алгоритм однозначно ставит в соответствие исходным данным результат. Поэтому с каждым алгоритмом однозначно связана функция, которую он вычисляет.

Верно ли обратное: для всякой ли функции существует вычисляющий ее алгоритм?

Вопрос: для каких функций алгоритмы существуют? Как описать такие алгоритмические, эффективно вычислимые функции?

Примитивно-рекурсивные функции

Очевидно, константы — вычислимые функции

Достаточно одной константы 0 и функции следования f(x) = x + 1 (х¢)

Кроме того, в базис включим семейство функций тождества (или введения фиктивных переменных):

Средства получения новых функций из уже имеющихся

Оператором суперпозиции называется подстановка в функцию от m переменных m функций от n одних и тех же переменных. Она дает новую функцию от n переменных. Например, для функций h(x1, ..., xm), gl(x1, ..., xn), …, gm(x1, ..., xn)

(h, gl, …, gm) = h(gl(x1, ..., xn), …, gm(x1, ..., xn)) = f(x1, ..., xn)

Функция называется примитивно-рекурсивной, если она может быть получена из константы 0, функции х¢ и функций Inm с помощью конечного числа применений операторов суперпозиции и примитивной рекурсии.

1. Функции 0, х¢ и Inm для всех натуральных n, m, где m £ n, являются примитивно-рекурсивными.

2. Если gl(x1, ..., xn), …, gm(x1, ..., xn), h(x1, ..., xm) — примитивно-рекурсивные функции, то (h, gl, …, gm) примитивно-рекурсивные функции для любых натуральных n, m.

3. Если g(x1, ..., xn) и h(x1, ..., xт, у, z) —примитивно-рекурсивные функции, то Rn(g, h) — примитивно-рекурсивная функция.

4. Других примитивно-рекурсивных функций нет.

Примеры: Умножение, Возведение в степень ,Арифметическое или урезанное вычитание, Cигнум (sg(x)=0, если x=0 и sg(x)=1, если x ¹ 0),модуль разности, минимум двух чисел, максимум двух чисел, деление (остаток и целая часть), «арифметизированные» логических функций

Оператор называется примитивно-рекурсивным, если он сохраняет примитивную рекурсивность функций, т. е. если результат его применения к примитивно-рекурсивным функциям дает снова примитивно-рекурсивную функцию.

Оператор условного перехода примитивно-рекурсивен, как и его обобщение

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]