- •ТЕОРИЯ АЛГОРИТМОВ
- •Введение
- •Таким образом, получили убывающую последовательность натуральных чисел
- •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. Совпадение класса всех нормально вычислимых функций с классом всех функций, вычислимых по Тьюрингу
- •СПИСОК ЛИТЕРАТУРЫ
4. |
Пусть дана функция g(x) |
|
|
и |
ϕ(x)= g(x, x), то говорят, что функция ϕ |
|
|
|
||||||||||||||
получена из функции g с помощью операции отождествленной переменной. |
|
|
||||||||||||||||||||
|
Действительно, функцию ϕ можно представить следующим образом: |
|
|
|
||||||||||||||||||
|
|
|
ϕ = g(I11 , I11 ), |
т.е. ϕ(x)= S(g; I11 , I11 ). |
|
|
|
|
|
|
|
|||||||||||
5. |
Пусть заданы функции g, h1 , h2 ,..., hk , |
где hi , i =1,2,...k – некоторые функции |
||||||||||||||||||||
различного количества переменных. Если |
ϕ = g(h1 , h2 ,..., hk ), |
то |
говорят, |
что |
||||||||||||||||||
функция |
ϕ получена из функции |
g |
с |
помощью |
операции |
произвольной |
||||||||||||||||
подстановки (суперпозиции). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Например, пусть имеются функции |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
g(x1 , x2 , x3 ), |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
h1 |
(x) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h2 |
(x, y) |
|
|
|
|
|
|
|
|
|
|
||
и |
|
|
|
|
|
|
|
|
h3 |
(x, y, z) |
|
|
|
|
|
|
|
|
|
|
||
|
|
ϕ(x, y, z)= g(h1 (x), h2 (x, y), h3 (x, y, z)). |
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||
Тогда функция ϕ является ПРФ относительно совокупности {g, h1, h2 , h3}. |
|
|
|
|||||||||||||||||||
Покажем, что данная операция справедлива. |
Функции ϕ можно представить |
|||||||||||||||||||||
следующим образом. |
3 (x, y, z)), h |
|
(I |
|
|
|
|
|
(x, y, z)), h |
(I |
|
|
|
|
|
(x, y, z))). |
||||||
ϕ(x, y, z)= g(h (I |
2 |
3 (x, y, z), I 3 |
3 (x, y, z), I 3 |
(x, y, z), I 3 |
||||||||||||||||||
|
|
1 |
1 |
|
|
1 |
|
|
2 |
|
3 |
1 |
|
|
2 |
3 |
|
|
|
|||
Введем следующие обозначения: |
|
|
(I 3 |
(x, y, z)) |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
h* (x, y, z) |
= h |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
1 |
|
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h2* (x, y, z)= h2 |
(I13 (x, y, z), I 23 (x, y, z)) |
|
(x, y, z)) |
|
|
|
|
|
|
||||||||||
|
|
|
h* (x, y, z) |
= h |
|
(I 3 |
(x, y, z), I 3 (x, y, z), I 3 |
|
|
|
|
|
|
|||||||||
|
|
|
3 |
|
|
3 |
1 |
|
|
|
2 |
|
3 |
|
|
|
|
|
|
|
|
|
Как видим, что функции |
h* , h* |
получены из функции |
h , h |
2 |
соответственно |
|||||||||||||||||
|
|
|
|
|
|
1 |
|
2 |
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
операцией |
введения |
фиктивных |
|
переменных. |
Поэтому |
h* , |
|
является |
ПРФ |
|||||||||||||
относительно совокупности {h } |
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
{h |
|
}. |
|||||
|
|
и |
h* – ПРФ относительно совокупности |
2 |
||||||||||||||||||
|
|
|
1 |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
Очевидно, h3* – ПРФ относительно совокупности {h3 }. Тогда функция ϕ приобретает
вид:
ϕ = S(g; h1* , h2* , h3* ).
Следовательно, она ПРФ относительно совокупности {g, h1* , h2* , h3* }. Учитывая свойство 10 относительно примитивной рекурсивности , получаем, что функция ϕ – ПРФ относительно совокупности {g, h1 , h2 , h3 }.
I.4. Операции конечного суммирования и конечного произведения
Пусть задана функция g(x1,K, xn , y).
15
Определение. Говорят, |
что функция |
σ(x1,K, xn , z) получена |
из функции |
g(x1,K, xn , y) с применением операции конечного суммирования, если для любого |
|||
набора переменных (x1 ,K, xn , z) выполняется следующее равенство: |
|
||
σ(x1,K, xn , z)= g(x1 ,K, xn ,0) |
+ g(x1 ,K, xn ,1)+K+ g(x1 ,K, xn , z)= |
|
|
z |
|
|
(1) |
= ∑g(x1,K, xn , t) |
|
|
|
t=0 |
|
|
|
Определение. Говорят, |
что функция |
δ(x1,K, xn , z) получена |
из функции |
g(x1,K, xn , y) с применением операции конечного произведения, если для любого |
|||
набора переменных (x1,K, xn , z) выполняется следующее равенство: |
|
||
δ(x1 ,K, xn , z)= g(x1 ,K, xn ,0) g(x1 ,K, xn ,1) K g(x1 ,K, xn , z)= |
|
||
z |
|
|
(2) |
= ∏g(x1 ,K, xn , t) |
|
|
|
t=0
Теорема 1. Операции конечного суммирования и конечного произведения сохраняют свойство примитивной рекурсивности функции.
Доказательство. Приведем доказательство относительно операции конечного суммирования (аналогично доказывается относительно операции конечного произведения).
Пусть σ(x1 ,K, xn , z)= ∑z |
g(x1 ,K, xn , t), |
тогда по определению операции |
|||
|
|
t=0 |
|
|
|
примитивной рекурсии получим: |
|
|
|||
|
|
σ(x1,K, xn ,0)= g(x1,K, xn ,0) |
|
||
|
|
σ(x1,K, xn , z +1)= ∑z |
g(x1,K, xn ,t)+ g(x1 ,K, xn , z +1) |
||
|
|
|
t=0 |
|
|
Таким образом, функция σ получается по операцией примитивной рекурсии из |
|||||
функции |
′ |
|
|
|
′ |
g |
|
|
|
||
|
и h(x1,K, xn , z,u), т.е. σ = R(g , h). |
||||
Действительно
g ′(x1 ,K, xn )= g(I1n , I 2n ,K, I nn , C0n )
h(x1 ,K, xn , z, u)= g(I1n+2 (x1 ,K, xn , z, u),K, I nn+2 (x1 ,K, xn , z, u), I nn++12 ((x1 ,K, xn , z, u)+1)+ I nn++22 (x1 ,K, xn , z, u)
Очевидно, что
σ(x1 ,K, xn ,0)= g′(x1 ,K, xn )
σ(x1 ,K, xn , z +1)= h(x1 ,K, xn , z, σ(x1 ,K, xn , z))
Из задания функций g′ и h следует, что они являются ПРФ соответственно относительно совокупности {g}. Функция σ–ПРФ относительно функций g′ и h.
16
Следовательно, операция конечнего суммирования сохраняет свойство примитивной рекурсивности функции. Ч.т.д.
|
|
x |
|
|
y ≠ 0 |
|
Пример. |
|
целойчастиот делениячисла x на число y, если |
. |
|||
|
|
|
= |
|
||
|
|
|||||
|
y |
x, если y = 0 |
|
|
||
Покажем, что данная функция является примитивно рекурсивной. Для доказательства ПРФ данной функции используем операцию конечного суммирования.
Рассмотрим два случая:
1) пусть y > 0. Введем обозначения
x = q .y
Тогда по теореме о делении с остатком,
x = q y + r,
где 0 ≤ r < y .
Очевидно, что число q удовлетворяет соотношениям q y ≤ x < y (q +1).
Рассмотрим следующие разности:
y 0 −& x y 1 −& x
...
y q −& x
y (q +1)−& x
...
y x −& x
Нетрудно подсчитать, что число нулей в этой последовательности равно q +1.
Поэтому, исходя из вышеуказанной разности, q можно выразить следующим образом
q = |
x |
= |
x |
|
|
(y t − x)−1 |
|
|||
sg |
|
|||||||||
|
|
|
|
|||||||
|
|
|||||||||
|
|
∑ |
& & |
(3) |
||||||
|
y |
|
t=0 |
. |
||||||
2) Пусть y=0. В этом случае, функция |
x |
|
– может быть получена из функции |
|||||||
|
||||||||||
|
|
|
|
|
y |
|
|
|||
17
