- •ТЕОРИЯ АЛГОРИТМОВ
- •Введение
- •Таким образом, получили убывающую последовательность натуральных чисел
- •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. Совпадение класса всех нормально вычислимых функций с классом всех функций, вычислимых по Тьюрингу
- •СПИСОК ЛИТЕРАТУРЫ
но из задания функция ϕ0 |
следует, |
что значением |
ϕ0 (x, p(x)) является |
|
наименьшее простое число y, |
большее, |
чем p(x) и не превосходящее 22x+1 |
; но это |
|
и есть простое число с номером x+1, т.е. px+1 .
Таким образом, функция (35), как результат операции примитивной рекурсии над ПРФ, сама является примитивно рекурсивной функцией.
I.11. Частично рекурсивные функции
Пусть задана функция f (x1 ,..., xn , y).
Определение. Говорят, что ϕ(x1 ,..., xn ) получено из f (x1 ,..., xn , y) с
применением операции ограниченной минимизации, если имеет место следующее равенство:
|
|
|
y0 |
− наименьшемуизчисел |
y, ттакихчто |
|
|
|||||
ϕ(x |
,..., x |
|
f (x |
,..., x |
n |
, y |
|
)= 0, причемдлявсех y′ < y |
|
(44) |
||
|
)= |
1 |
|
|
0 |
|
|
0 |
||||
1 |
|
n |
f (x1 |
,..., xn , y′)≠ 0; |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
неопределена вовсех другихслучаях. |
|
|
|||||||
и обозначают |
|
ϕ(x1 ,..., xn )= μy(f (x1 ,..., xn , y)= 0). |
(45) |
Лемма 1.2. Операция ограниченной минимизации сохраняет свойство |
|
примитивной рекурсивности функции. |
|
Действительно, если имеется алгоритм Af , |
вычисляющий функции |
f (x1 ,..., xn , y), то есть и алгоритм Aϕ вычисляющий функции ϕ(x1 ,..., xn ).
Доказательство. Пусть требуется вычислить значение функции ϕ на произвольном наборе (x1 ,..., x n ).
1шаг. Применим алгоритм A f |
к набору (x1 ,..., xn ,0). Если |
через конечное число |
|||||
шагов алгоритм завершает свою работу результативно, т.е. |
вычислено значение |
||||||
f (x ,..., x |
n |
,0) и |
f (x ,..., x |
n |
,0)= 0, |
то значение функции ϕ на наборе (x1 ,..., x n ) |
|
1 |
|
1 |
|
|
|
||
32
считаем равным 0. Если f (x1 ,..., xn ,0)≠ 0 , то переходим к следующему этапу, на котором применяем алгоритм Af к набору (x1 ,..., xn ,1).
Если через конечное число шагов алгоритм завершает свою работу на данном
наборе результативно, т.е. вычислено значение |
f (x1 ,..., xn ,1) |
и |
f (x1 ,..., xn ,1)= 0 , то |
||||||||
значение |
функции |
ϕ |
на |
наборе |
(x1 ,..., xn ) |
считаем |
равным |
1. |
Если |
||
f (x1 ,..., xn ,1)≠ 0 , то переходим к следующему этапу и т.д. |
|
|
|
|
|||||||
Если на (t+1) шаге вычислено |
значение |
f (x1 ,..., x, t) |
и |
f (x1 ,..., x, t)= 0 , то |
|||||||
значение |
функции |
ϕ |
на |
наборе |
(x1 ,..., xn ) |
считаем |
равным |
t. |
Если |
||
f(x1 ,..., xn , t)≠ 0 , то переходим к следующему этапу.
Вслучае, когда алгоритм Af завершает свою работу на каком-то этапе
безрезультативно, или работает бесконечно, то будем считать, что значение ϕ не определено на данном наборе, т.е. на наборе (x1 ,..., xn ).
Пример 1. |
Пусть |
f (x, y)= x − y, x ≥ y |
||||||||
|
|
|
|
|
|
|
|
не определена в остальных случаях |
||
Тогда |
|
|
|
|
|
|
|
|
|
|
|
|
ϕ(x)= μy[f (x, y)= 0]= I11 (x)= x , |
||||||||
т.е. функция ϕ(x) только при y = x принимает значение нуль. |
||||||||||
Пример 2. |
Пусть |
f (x, y)= |
|
x − 2 y |
|
. |
||||
|
|
|||||||||
Определим |
ϕ(x)= μy[ |
|
x − 2 y |
|
= 0]. |
|||||
|
|
|||||||||
Очевидно, что функция ϕ определена только на числах вида 2k , k = 0,1,2,... ; и
для каждого из них
ϕ(2k )= k .
Пример 3. В качестве примера не всюду определенной функции можно привести следующую функцию:
f (x, y)= C82 (x, y).
33
Действительно, при этом функция ϕ(x) не определена во всех натуральных наборах, так как ϕ(x)= μy[C82 (x, y)= 0]–не имеет места ни для одного y.
Следовательно, будем говорить, что ϕ(x)– нигде не определенная функция.
Из этих примеров следует, что операция минимизации, вообще говоря, не сохраняет свойство всюду определенность функции (примеры 2, 3) и наоборот, применение операции минимизации к функции не везде определенной может дать всюду определенную функцию (пример 1).
Определение. Частично рекурсивным описанием (ЧРО) функции f называется конечная последовательность функций ϕ1 ,..., ϕk , удовлетворяющих следующим условиям:
1.ϕk = f ;
2.для любого i, 1 ≤ i ≥ k , ϕi – является либо элементарной функцией, либо получается из предшествующей ей последовательности функций с помощью одной из операций: подстановки, примитивной рекурсии или ограниченной
минимизации.
Определение. Функция f называется ЧРФ, если существует ее ЧРО. Определение. Функция f называется общерекурсивной, если она ЧРФ и всюду
определена. (В других источниках такие функции называются тотальными или просто рекурсивными.)
Не трудно показать, что всякая частично рекурсивная функция алгоритмически вычислима и операции подстановки, примитивной рекурсии и минимизации сохраняют свойству алгоритмическую вычислимость функций.
Очевидно, каждая примитивно рекурсивная функция является частично рекурсивной, но обратное неверно.
Введем обозначения:
KПРФ – класс примитивно рекурсивных функций; KОРФ – класс общерекурсивных функций;
KЧРФ – класс частично рекурсивных функций. Тогда между этими классами имеется соотношения:
34
