- •ТЕОРИЯ АЛГОРИТМОВ
- •Введение
- •Таким образом, получили убывающую последовательность натуральных чисел
- •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. Совпадение класса всех нормально вычислимых функций с классом всех функций, вычислимых по Тьюрингу
- •СПИСОК ЛИТЕРАТУРЫ
В качестве функций f |
j |
, j =1,2,..., k , взяты элементарные функции C n (x) и в |
|||||||
|
|
|
|
|
|
|
|
bk |
|
качестве предиката, взят предикат равенства, |
т.е. p j (x)= (x j = x), j =1,2,..., k . Так |
||||||||
как точки x j |
по условию задачи отличаются друг от друга, то области истинности |
||||||||
предикатов p j попарно не пересекаются. |
|
|
|
|
|||||
Таким |
образом, |
функция |
f (x1 ,..., xn ), |
сохраняет |
свойство |
примитивной |
|||
рекурсивности. |
|
|
|
|
|
|
|
|
|
Лемма |
1.1. Подстановка |
примитивно |
рекурсивной функции |
в |
предикат |
||||
равенства есть примитивно рекурсивный предикат. |
|
|
|
||||||
Доказательство. |
Пусть |
|
заданы примитивно |
рекурсивные |
функции |
||||
ϕ1 (x), ϕ2 (y) |
и пусть p(x, y)= |
(x = y)– предикат равенства. |
|
|
|
||||
Рассмотрим предикат вида
p(ϕ(x),ϕ(y))= (ϕ(x)= ϕ(y)) .
Он является примитивно рекурсивным предикатом. Действительно, для данного предиката представляющей функцией является функция вида
ϕp = Sg(ϕ1 (x)− ϕ2 (y)),
которая является ПРФ.
I.10. Операция ограниченной минимизации
Пусть задан всюду определенный предикат p(x1 ,..., xn , y).
Определение. Говорят, что функция ϕ(x1,..., xn , z) получена из предиката p(x1 ,..., xn , y) в результате операции ограниченной минимизации, т.е.
ϕ(x1 ,..., xn , z)= μy y≤z p(x1 ,..., xn , y), если выполняется следующие равенства.
|
наименьшемучислу y0 , (0 ≤ y0 ≤ z) |
|
|
|
||||||
ϕ(x1 |
такому, что p(x ,..., x |
|
, |
y |
|
)= u ипри |
|
|
(33) |
|
,..., xn , z)= |
1 |
n |
|
|
0 |
|
|
|
||
|
некторых y′ < y0 , p(x1 ,..., xn , y′)= л; |
|
, y)= л |
|||||||
|
z +1, |
еслидлявсех y = |
0,1,..., z, p(x |
,..., x |
n |
|||||
|
|
|
|
|
|
|
1 |
|
|
|
Теорема 5. Функция ϕ(x1 ,..., xn , z), полученная из предиката p(x1 ,..., xn , y) в
результате операции ограниченной минимизации, является примитивно рекурсивной функцией относительно {p}.
28
Доказательство. Пусть задан всюду определенный предикат p(x1 ,..., xn , y) и h(x1 ,..., xn , y)– представляющая функция данного предиката и пусть
ϕ(x1 ,..., xn , z)= μy y≤z p(x1 ,..., xn , y).
Покажем, что ϕ(x1 ,..., xn , z) можно представить в виде:
|
ϕ(x1 ,..., xn , z)= ∑z ∏j |
h(x1 ,..., xn , i) |
(34). |
|
j=0i=0 |
|
|
|
Действительно эта равенства имеет место. |
|
|
1) |
Пусть ϕ(x1 ,..., xn , z)= y0 , тогда p(x1 ,..., xn , y0 )= u |
и для всех y<y0 |
|
p(x1 ,..., xn , y)= л.
Следовательно
∑z ∏j h(x1 ,..., xn , i)= y0 .
j=0i=0
2)Пусть, ϕ(x1 ,..., xn , z)= z +1. Тогда по определению операции ограниченной
минимизации p(x1 ,..., xn , y)= л для всех y, где часть формуле (1), равна z+1 единиц.
Таким образом, из пунктов 1–2 следует, что формула (34) удовлетворяет заданию функции с помощью операции ограниченной минимизации. Так как операции конечного произведения и конечного суммирования сохраняют свойства примитивной рекурсивности функцией, то получаем, что функция ϕ(x1 ,..., xn , z)
является ПРФ относительно {p}.
Следствие. Операция ограниченной минимизации сохраняет свойство
примитивной рекурсивности функций. |
|
|
Пример. |
Пусть задана логическая функция p(x), значением |
которой на |
произвольном аргументе x является простое число с номером x т.е. |
|
|
|
p(x)= px , |
(35) |
где x = 0,1,2,..., n . Требуется доказать, что она является ПРФ. |
|
|
Решение. |
Из курса элементарной математики нам известно, что p является |
|
простым числом, если оно имеет в точности два различных делителя. |
|
|
29
Между множеством натуральных чисел и множеством простых чисел устанавливаем взаимно однозначное соответствие:
n |
0 |
1 |
2 |
3 |
4 |
5 |
… |
|
|
|
|
|
|
|
|
px |
2 |
3 |
5 |
7 |
11 |
13 |
… |
Таб.1.2
Покажем, что (35) – ПРФ.
Прежде всего, рассмотрим следующий предикат: pr (x)= (x − простоечисло)
и определим, что он является примитивно рекурсивным. Для этого сначала докажем, что следующие арифметические функции являются примитивно рекурсивным:
rest(x, y)= остатокот деления x на y; |
|
x, |
если y = 0. |
ι(x)= числоделителейчисла x; |
|
0, если |
x = 0. |
(36)
(37)
Используя ранее доказанного ПРФ, т.е. |
f (x, y)= |
x |
|
, легко можно показать, |
|
||||
|
y |
|
||
что обе функции являются ПРФ.
Действительно, их соответственно можно представить:
|
|
|
|
|
rest(x, y)= x −& |
y |
x |
|
(38) |
|
||||
|
y |
|
||
и |
|
|
|
|
|
|
|
|
|
|
|
|
|
ι(x)= ∑x |
|
|
|
(rest(x, i)). |
|
(39) |
|
||||
|
Sg |
|
|
|||||||||
|
|
i=1 |
|
|
|
|
|
|
|
|
|
|
Следовательно, они являются ПРФ. |
|
|
|
|||||||||
Очевидно, |
представляющей |
функцией |
для |
предиката |
||||||||
pr (x)= (x − простоечисло) является функция вида: |
|
|
||||||||||
|
ϕ(x)= |
|
( |
|
ι(x)− 2 |
|
), |
|
|
(40) |
||
|
Sg |
|
|
|||||||||
|
|
|
|
|
||||||||
которая является ПРФ.
30
Из курса теории чисел известно, что имеет место соотношение: |
px ≤ 22x . |
Рассмотрим следующий предикат: |
|
R(y, t)= [(y > t) pr (y)]. |
(41) |
Как видно, этот предикат является примитивно рекурсивным как конъюнкция двух примитивно рекурсивных предикатов. Очевидно, если применить к предикату R(y, t)= [(y > t) pr (y)], операцию ограниченной минимизации, то получим примитивно рекурсивную функцию. (Это следует, из того что кусочное задание функции сохраняет свойство примитивной рекурсивности функции) Полученную функцию обозначим через ϕ(z, t ), т.е.
|
ϕ(z, t)= μy y≤z R(y, t). |
|
(42) |
||||
Применяем к данной функции операцию суперпозиции, точнее вместо z в |
|||||||
данном равенстве подставляем 2 2 x +1 |
и полученную функцию обозначим через ϕ0 , |
||||||
т.е. |
|
|
|
|
|
|
|
|
ϕ |
|
|
2 |
2 x +1 |
|
(43) |
|
0 |
(x , t )= ϕ |
|
, t . |
|||
|
|
|
|
|
|
|
|
Так как операция |
суперпозиции |
сохраняет свойство |
примитивной |
||||
рекурсивности функций, то ϕ0 –ПРФ. |
|
|
|
|
|
||
Теперь покажем, что |
логическая функция p(x)–есть результат операции |
||||||
примитивной рекурсии над функциями: C20 , ϕ0 (x, t) , т.е. |
|
||||||
|
|
|
p(x)= R(C20 , ϕ0 (x, t)). |
|
|||
Действительно, по определению операции примитивной рекурсии: |
|
||||||
p(0)= 2 = C20 . |
|
|
|
|
|
|
|
Предположим, что для |
некоторого x верно, что p(x)= px . |
|
|||||
Покажем, что тогда p(x +1)= px+1.
Очевидно, из определения операции примитивной рекурсии следует, что
p(x +1)= ϕ0 (x, p(x)),
31
