- •ТЕОРИЯ АЛГОРИТМОВ
- •Введение
- •Таким образом, получили убывающую последовательность натуральных чисел
- •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. Совпадение класса всех нормально вычислимых функций с классом всех функций, вычислимых по Тьюрингу
- •СПИСОК ЛИТЕРАТУРЫ
|
|
|
|
|
|
p(x) |
p(x) |
q(x) |
p(x) q(x) |
p(x) q(x) |
p(x)→q(x) |
|
|
|
|
|
|
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
|
|
Таб.1.1. |
Пусть ϕp (x) – представляющая функция предиката р(х); |
|
|
ϕq (x) – представляющая функция |
предиката q(x), |
где в общем случае |
x = (x1 ,..., xn ). |
|
|
Тогда нетрудно проверить, что |
следующие |
функции являются |
представляющими функциями для соответствующих логических операций относительно предикатов представленных в таблице 1.1:
|
|
ϕp q = sg(ϕp (x)+ ϕq (x)) |
(23) |
||||
|
|
ϕp q = ϕp (x) ϕq (x) |
(24) |
||||
ϕp→q = |
|
(ϕp (x)+ |
|
|
(ϕq (x))) |
(25) |
|
sg |
sg |
||||||
|
|
ϕp = |
|
(ϕp (x)) |
(26) |
||
|
|
sg |
|||||
В виде упражнения, проверьте самостоятельно что представленные функции действительно удовлетворяют требуемому условию как представляющие функции предиката.
I.8. Операция навешивания ограниченного квантора над предикатами
Пусть задан двуместный предикат p(x,y), где в общем случае x = (x1 ,..., xn ). Определение. Говорят, что предикат R(x,z) получен из предикат p(x,y) с
применением операции навешивания ограниченного квантора существования, т.е. |
|
R(x, z)= ( y)y≤z p(x, y), если выполняется следующее равенство: |
|
R(x, z)= p(x,0) p(x,1) p(x, z). |
(27) |
Определение. Говорят, что предикат Q(x,z) получен из предиката p(x,y) с
применением операции навешивания ограниченного квантора всеобщности, т.е. |
|
Q(x, z)= ( y)y≤z p(x, y), если выполняется следующее равенство: |
|
Q(x, z)= p(x,0) p(x,1) ... p(x, z). |
(28) |
Приведем пример. Пусть
p(x, y)= (x + y = 5).
Рассмотрим
24
R(x, z)= ( y)y≤z p(x, y)
и
Q(x, z)= ( y)y≤z p(x, y).
Очевидно R(4,2)= ( y)y≤2 (4 + y = 5)= u
R(1,3)= ( y)y≤3 (1 + y = 5)= л
Q(4,2)= ( y)y≤2 (4 + y = 5)= л Q(5,0)= ( y)y≤0 (5 + y = 5)= u
|
Теорема 3. Операция навешивания ограниченных кванторов существования и |
|||
всеобщности |
сохраняет |
свойство примитивной рекурсивности |
функций |
|
относительно совокупности |
{p}. |
|
||
|
Доказательство. Пусть задан предикат p(x,y) и ϕp (x, y)–представляющая его |
|||
функция и пусть |
|
R(x, z)= ( y)y≤z p(x, y). |
|
|
|
|
|
|
|
|
Представляющую функцию предиката R(x, z) обозначим через ϕR (x, z) и |
|||
покажем, что ее можно представить следующим образом |
|
|||
|
|
|
ϕR (x, z)= ∏z ϕp (x, y). |
(29) |
|
|
|
y=0 |
|
|
Действительно: |
|
|
|
1) |
пусть предикат R(x, z0 )= u . Тогда по определению операции навешивания |
|||
ограниченного квантора существования, найдется y0 такое, что 0 ≤ y0 ≤ z0 и p(x, y0 )= u , следовательно ϕp (x, y0 )= 0 . Отсюда следует, что
ϕR (x, z)= ∏z ϕp (x, y)= 0 .
y=0
2)Предположим, что предикат R(x, z0 )= л.
Тогда по определению операции навешивания ограниченного квантора существования, для любого набора (x, y), p(x, y)= л, следовательно ϕp (x, y)=1 и
ϕR (x, z)= ∏z ϕp (x, y)=1.
y=0
Так как ранее у нас было доказано, что операция конечного произведения обладает свойством примитивной рекурсивности, то ϕR (x, z) является примитивно
рекурсивной относительно совокупности {ϕp (x, y) .
Пусть Q(x, z)= ( y)y≤z p(x, y).
25
Аналогично доказывается случай, когда задана операция навешивания ограниченного квантора всеобщности. Легко можно доказать, что в качестве представляющей функции предиката Q(x, z) можно брать
|
z |
|
(30) |
ϕQ (x, z)= Sg |
∑ϕp (x, y) |
||
y=0 |
|
|
|
и ϕR (x, z) является ПРФ относительно совокупности |
{ϕp (x, y) . В виде упражнение |
||
докажите самостоятельно.
Пусть задана совокупность функций {ϕ1 ,..., ϕk } и совокупность предикатов
{p1 ,..., pm }.
Определение. Функция f (x1 ,..., xn ), называется ПРФ относительно заданной совокупности функций и предикатов, если она ПРФ относительно совокупности
ψ = {ϕ1 ,..., ϕm , ϕp |
,..., ϕp |
m |
}, где |
ϕp |
i |
− представляющая функция предиката pi, |
|||
1 |
|
|
|
|
|
|
|||
1 ≤ i ≤ m . |
|
|
|
|
|
|
|
|
|
|
|
|
|
I.9. Кусочное задание функции |
|
||||
Пусть задана совокупность функций {f1,..., fk , fk +1} и совокупность предикатов |
|||||||||
{p1,..., pk }, где |
fi |
= fi (x1 ,..., xn ), i =1,2,..., k, k +1 и |
p j = p j (x1 ,..., xn ), |
j =1,..., k. , |
|||||
причем области истинности предикатов попарно не пересекаются. |
|
||||||||
Введем следующие обозначения: x = (x1 ,..., xn ). |
|
|
|||||||
Определение. |
Говорят, |
что |
|
функция f (x) |
задана кусочным |
образом |
|||
относительно заданной совокупности функций и предикатов, если она удовлетворяет следующим условиям:
|
f1 |
(x), |
|
если |
p1 |
(x)= u |
|
|
|
|
f |
2 |
(x), |
|
если |
p |
(x)= u |
|
|
|
|
|
|
|
1 |
|
|
|
|
f (x)= |
|
|
M |
|
M |
|
M |
, |
(31) |
|
f |
k |
(x), |
|
если |
p (x)= u |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
в |
остальных |
случаях |
|
|
|
fk +1(x), |
|
|
|||||||
Теорема 4. |
|
Функция |
f(x), заданная кусочным образом из совокупности |
||||||
{f1 ,..., fk , fk +1 , p1 ,..., pk |
}= ψ, является ПРФ относительно ψ. |
|
|||||||
Доказательство. |
Пусть ϕi (x)− |
представляющая функция для |
предиката |
||||||
pi(x), где 1 ≤ i ≤ k . Тогда покажем, что функцию f(x) можно представить следующим образом
|
f (x)= ∑k |
fi (x) |
|
(ϕi (x))+ f k +1 ∏k ϕi (x). |
(32) |
||
|
sg |
||||||
|
i=1 |
|
|
|
|
i=1 |
|
1) |
Рассмотрим произвольный набор x |
= (xo , xo ,..., xo ). |
|
||||
|
|
0 |
1 2 |
n |
|
||
26
Пусть для какого – то i0 |
предикат |
pi (x0 )= u , где 1 ≤ i0 ≤ k |
. |
Тогда по |
||
|
|
|
|
0 |
ϕp |
(x0 )= 0 , |
определению представляющей функции |
предиката, получаем, что |
|||||
следовательно |
|
|
|
i0 |
||
|
|
|
|
|||
|
|
(ϕi |
(x0 )) fi (x0 )= fi (x0 ) |
|
|
|
|
sg |
|
|
|||
0 |
0 |
0 |
|
|
||
а для всех остальных i≠i0 , pi(x0)=л, отсюда
sg(ϕi (x0 )) fi (x0 )= 0 .
Таким образом, в данном случае, мы получаем, что
|
∑k |
fi (x) |
|
(ϕi (x))= fi0 (x0 )= f (x0 ) |
|
|
sg |
||||
|
i=1 |
|
|
|
. |
2) |
Предположим, что для любого i, pi (x0 ) |
= л, тогда ϕi (x0 )= ϕk (x )=1, где |
|||
1 ≤i ≤ k . Следовательно, sg(ϕi (x0 )) fi (x0 )= 0 , а
f k +1 ∏k ϕi (x)= fk +1. i=1
Из пунктов 1–2 следует, что на множестве N n функция
∑k fi (x)sg(ϕi (x))+ fk +1 ∏k ϕi (x)
i=1 i=1
совпадает с функцией f (x), которая задана кусочным образом из совокупности ψ.
Так как операции конечного суммирования и конечного произведения сохраняют свойством примитивно рекурсивности функций, следовательно, рассматриваемая функция является ПРФ относительно ψ. Ч.т.д.
Пример. Предположим, что задана примитивно рекурсивная функция f (x1 ,..., xn ).
Рассмотрим конечное число точек, произвольным образом поменяем значения функции в каждой точке x1 ,..., xk и полученную функцию обозначим через f1 (x),
т.е.
|
C n (x), |
если |
x = x |
|
|
|
|
|
|
|
||
|
|
b1 |
|
|
1 |
|
|
|
|
|
|
|
|
если |
x = x |
|
|
|
|
|
|
|
|
||
|
C n (x), |
2 |
|
|
|
|
|
|
|
|||
f1 |
(x)= |
b2 |
|
|
|
|
|
|
|
|
|
|
M |
M |
M |
|
|
|
|
|
|
|
|
||
|
|
n |
если |
x = xk |
|
|
|
|
|
|
|
|
|
Cbk (x), |
(x |
|
|
|
|
|
|
||||
|
f (x), |
востальныхслучаях |
≠ x |
2 |
≠ ≠ x |
k |
) |
|||||
|
|
|
|
|
|
1 |
|
|
|
|
||
|
Возникает вопрос: |
сохраняет ли функция |
f (x1 ,..., xn ), свойство примитивной |
|||||||||
рекурсивности? |
функция f1 (x)–примитивно рекурсивная функция как заданная |
|||||||||||
|
Как видим, |
|||||||||||
кусочным образом из совокупности примитивно рекурсивных функций и предикатов.
27
