- •ТЕОРИЯ АЛГОРИТМОВ
- •Введение
- •Таким образом, получили убывающую последовательность натуральных чисел
- •I.1. Примитивно рекурсивные функции. Базис элементарных функций. Операции подстановки и примитивной рекурсии. Основные свойства
- •I.2. Примитивно рекурсивные функции относительно совокупности функций. Основные свойства.
- •I.3. Производные операции над функциями
- •I.4. Операции конечного суммирования и конечного произведения
- •Действительно
- •Очевидно, что
- •I.5. Предикат, логическая функция. Логические операции с предикатами.
- •I.6. Операции навешивания кванторов. Операции навешивания кванторов относительно двуместных предикатов
- •I.7. Примитивно рекурсивный предикат
- •I.8. Операция навешивания ограниченного квантора над предикатами
- •I.9. Кусочное задание функции
- •I.10. Операция ограниченной минимизации
- •I.11. Частично рекурсивные функции
- •Тогда
- •Контрольные вопросы
- •Практические задания
- •II.Уточнение понятия алгоритма через абстрактную математическую машину Тьюринга
- •II.1 Определение машины Тьюринга
- •II.2 Применение машин Тьюринга к словам
- •II.3 Вычислимые по Тьюрингу функции
- •II.5 Композиция машин Тьюринга
- •II.6 Тезис Тьюринга (основная гипотеза теории алгоритмов)
- •II.7 Машины Тьюринга и современные электронно-вычислительные машины
- •II.8 Вычислимость по Тьюрингу примитивно рекурсивных функций
- •II.9 Вычислимость по Тьюрингу частично рекурсивных функций
- •Контрольные вопросы
- •Практические задания
- •III.1. Уточнение понятие алгоритма через машину с неограниченными регистрами
- •Практические задания
- •IV. Марковские подстановки
- •IV.1. Нормальные алгоритмы Маркова
- •IV.2. Нормально вычислимые функции и принцип нормализации Маркова
- •IV.3. Совпадение класса всех нормально вычислимых функций с классом всех функций, вычислимых по Тьюрингу
- •СПИСОК ЛИТЕРАТУРЫ
по функциональной схеме машины Тьюринга, вычисляющей функцию, можно построить рекурсивное описание этой функции. Эта теорема впервые была доказана Тьюрингом.
Теорема 2. Если функция вычислима по Тьюрингу, то она частично рекурсивна.
Теорема 3. Функция вычислима по Тьюрингу тогда и только тогда, когда она частично рекурсивна.
Класс функций, вычислимых по Тьюрингу совпадает с классом частично рекурсивных функций. Совпадение этих двух классов вычислимых функций, в основе построения которых лежали совершенно разные подходы к формализации понятия вычислимости функции, говорит о том, что эти подходы оказались весьма состоятельными, и служит косвенным подтверждением того, что как тезис Тьюринга, так и тезис Черча не только не безосновательны, но и имеют все права на признание.
Контрольные вопросы
1.Охарактеризуйте машину Тьюринга. В чем отличие свойств МТ от реальной вычислительной машины.
2.Какие операции существуют для машины Тьюринга?
3.Покажите на примере реализацию операций композиции и ветвления с помощью машины Тьюринга.
4.Какими свойствами обладает операция композиции?
5.Что такое конфигурации машины Тьюринга и какие виды конфигураций существуют?
6.Какие элементарные машины Тьюринга существуют ?
7.Охарактеризуйте каждую элементарную машину.
8.Постройте копирующую машину Km с помощью остальных
элементарных машин.
9.Постройте выбирающую машину Tm с помощью остальных
элементарных машин.
10.Определите правильную вычислимость функции по Тьюрингу.
11.Докажите, что каждая элементарная функция правильно вычислима по Тьюрингу.
68
12.Докажите, что операции подстановки, примитивной рекурсии и минимизации сохраняют свойство правильной вычислимости функции по Тьюрингу.
13.Докажите, что всякая ПРФ, всякая ЧРФ – правильно вычислима по
Тьюрингу.
14.Объясните эквивалентность двух уточнений алгоритма.
15.Чем отличаются уточнения понятия алгоритма в виде рекурсивной функции от машины Тьюринга?
Практические задания
I.Постройте программы машин Тьюринга вычисляющие следующие функции:
1.f (x)= x + 3;
2.f (x)= 4 x ;
3.f (x)= 2 −& x ;
4.f (x)= 5 −& x ;
5.f (x)= x −& 3 ;
6.f (x)= x − 3 ;
7.f (x)= k x − 3 ;
8.f (x)= 2 x + 3 .
69
II. |
Используя базис элементарных машин и |
машины |
M1 , M 2 , M 3 , |
|||
вычисляющие соответственно функции f (x)= 2 x; |
f (x, y)= x + y ; |
|||||
f (x, y)= x −& y , с помощью операций композиции, ветвления и |
зацикливания |
|||||
постройте машины, вычисляющие функции: |
|
|
||||
1. |
f (x, y)= x y ; |
|
|
|
||
2. |
f (x, y)= 2 (x −& y) ; |
|
|
|||
3. |
f (x, y)= 2 x + y ; |
|
|
|||
4. |
f (x, y)= |
x |
|
; |
|
|
|
|
|
||||
|
y |
|
|
|
||
5. |
rest(x, y)= остатокот деления x на y, если |
y > 0 |
|
|||
|
|
0, если y = 0 |
|
|
||
6.f (x)= 2 x + 5 ;
7.f (x)= x −& 13 ;
8.f (x, y)= 2(x + y)−& (x −& y);
9. |
f (x,0)= 2 |
x |
|
; |
f (x, y), удовлетворяющей условию: |
|
f (x, y) |
||
|
f (x, y +1)= x −& |
|
||
10. |
f (x)= μy[(x + y)−& 5 = 0] . |
|
|
|
III. Из машин, составляющих базис элементарных машин, путем операций композиции, ветвления, зацикливания постройте машины, правильно вычисляющие следующие функции:
1.f (x)= x + 5;
2.f (x)= 3 x + 5 ;
3.f (x)= x −& 1;
1. |
|
1, |
x > 0 |
; |
|
Sgx = |
x = 0 |
|
|||
|
|
0, |
|
|
|
2. |
|
0, |
x > 0 |
; |
|
|
|||||
Sgx = |
x = |
0 |
|||
|
|
1, |
|
||
70
