- •Лекція 1 план
- •Зміст дисципліни "Теорія алгоритмів", її зв’язок із іншими дисциплінами
- •2. Поняття алгоритму. Основні властивості алгоритмів
- •3. Відносні алгоритми
- •4. Поняття числення, його зв’язок із поняттям алгоритму
- •5. Поняття формальної системи
- •1. Кодування. Універсальні класи алгоритмів
- •2. Формалізація поняття алгоритму
- •1. Машини Тьюрінга. Обчислюваність за Тьюрінгом
- •2. Нормальні алгоритми Маркова. Обчислюваність за Марковим
- •3. Система Поста. Обчислюваність за Постом
- •2. Алгебри чрф та прф
- •1. Програмні алгебри. Примітивні програмні алгебри
- •2. Програмовані функції
- •1. Поняття нумерації. Канторові нумерації пар та n-ок натуральних чисел
- •2. Функція Геделя та її основна властивість
- •3.Теорема про представлення операції примітивної рекурсії
- •1. Еквівалентність формальних моделей алгоритмів
- •2. Теза Чорча, її обгрунтування. Значення тези Чорча та її використання
- •2. Геделеві нумерації чрф
- •2. Еквівалентні визначення рпм
- •3. Властивості прм, рм і рпм
- •2. Властивості прп, рп та чрп
- •1. Нумеровані сукупності чрф. Теорема Райса і її значення
- •2. Теорема Райса − Шапіро
- •3. Продуктивні і креативні множини, їх властивості
- •Прості множини
- •Теорія алгоритмів Конспект лекцій
1. Еквівалентність формальних моделей алгоритмів
Обмежимося розглядом п-арних функцiй на множині N.
Теорема 1. Клас ЧРФ збігається з класом програмованих на N п-арних функцiй.
1) ЧРФ програмованi на N. Базовi функцiї о, s, I програмованi на N. Залишається показати, що функцiї, отриманi iз програмованих за допомогою операцiй R та M, теж програмованi. Зрозуміло, що функцiї +, програмованi. Згiдно з теоремою про представлення операцiї R досить показати, що якщо функцiя g програмована, то й функцiя f = M(g) програмована. Але операцiя M по сутi частковий випадок операцiї циклу. У випадку (п+1)-арної функції g операторний терм ППА-Ar-N для f = M(g) має вигляд Sn+2(N☼(Sn+2(g, I, ..., I, I), S2(s, I)), оп, I, ..., I).
2) Програмованi на N ЧРФ. Базовi програмованi на N п-арні функцiї о, s, I, +, є ЧРФ. Залишається показати, що якщо функцiї та f ЧРФ, то й функцiя N☼(, f) ЧРФ. Нехай маємо ЧРФ (x1, ..., xn) та f(x1, ..., xn). Розглянемо тепер функцiю (x1, ..., xn, у) по суті y-кратну iтерацiю функцiї f по x1, що задається такою схемою примiтивної рекурсiї:
(x1, ..., xn, у) = x1;
(x1, ..., xn, k+1) = f((x1, ..., xn, k), x2, ..., xn).
Отже, можна подати у виглядi R(g, h), де g та h суть функцiї g(x1, ..., xn)=x1 і h(x1, ..., xn, у, z) = f(z, x2,..., xn). Операторний терм алгебри ЧРФ для функції має вигляд R(I, Sn+1(f, I, I, ..., I)). Звiдси для функції N☼(, f) маємо:
N☼(, f)(x1, ..., xn)= (x1, ..., xn, y(((x1, ..., xn, у), x2, ..., xn)=0)).
Таким чином, N☼(, f) ЧРФ.
Теорема 2. Кожна ЧРФ МНР-обчислювана функцiя.
Базовi функцiї о, s, I обчислюванi такими МНР-програмами:
програма 1) Z(0) для функцiї о ;
програма 1) S(0) для функцiї s ;
програма 1) T(m-1,0) для функцiї I.
Нехай k-арна функцiя g та n-арнi функцiї g1, ..., gk обчислюванi вiдповiдно МНР-програмами G, G1, ..., Gk. Тодi функцiя Sn+1(g, g1, ..., gk) обчислюється МНР-програмою такого вигляду (тут m = max((G), (G1),..., (Gk))):
T(j, m+j+1) для всіх j{0,..., n-1}
Gj[m+1,...,m+n → m+n+j] для всіх j{0,..., n-1}
G[m+n+1,..., m+n+k → 0].
Нехай (n+1)-арна функцiя g обчислювана МНР-програмою G. Тодi функцiя M(g) обчислюється МНР-програмою такого вигляду (тут m=(G)):
T(j, m+j+1) для всіх j{0,..., n-1}
p) G[m+1,...,m+n+1→ 0]
J(0, m+n+2, q)
S(m+n+1)
J(0,0, p)
q) T(m+n+1, 0).
Нехай n-арна функцiя g та (n+2)-арнa функцiя h обчислюванi вiдповiдно МНР-програмами G і H. Тодi функцiя R(g, h) обчислюється МНР-програмою такого вигляду (тут m=max((G), (H)):
T(j, m+j+1) для всіх j{0,..., n}
p) G[m+1,..., m+n → m+n+3]
J(m+n+1, m+n+2, q)
H[m+1,..., m+n+2, m+n+3 → m+n+3]
S(m+n+2)
J(0,0, p)
q) T(m+n+3,0).
Отже, кожна ЧРФ МНР-обчислювана функцiя.
Правильне i зворотне твердження:
Теорема 3. Кожна МНР-обчислювана функцiя є ЧРФ.
Дамо iдею доведення. Нехай f(x1, ..., xn) обчислюється МНР-програмою P. Позначимо (x1, ..., xn, t) функцiю, значенням якої є вмiст 0-го регiстра пiсля t крокiв роботи P над x1, ..., xn, або пiсля qt крокiв, якщо на q-му кроцi програма P при роботi над x1, ..., xn зупинилась. Через (x1, ..., xn, t) позначимо функцiю, значенням якої є номер команди пiсля t крокiв роботи P над x1, ..., xn, або 0, якщо програма P при роботi над x1, ..., xn зупинилась на кроцi qt. Моделюючи роботу P над x1, ..., xn за t крокiв, можна довести примiтивну рекурсивнiсть функцiй та . Але
f(x1, ..., xn) = (x1, ..., xn, t((x1, ..., xn, t)=0)),
тому f є ЧРФ.
Наслiдок 1. Клас ЧРФ збігається з класом МНР-обчислюваних функцiй.
Ураховуючи результат теореми 1, маємо:
Наслiдок 2. Класи ЧРФ, МНР-обчислюваних функцiй та програмованих на N функцiй збігаються.
За кожною МТ можна збудувати еквiвалентний їй НА, який задає те ж вербальне вiдображення. З іншого боку, за кожним НА можна збудувати еквiвалентну йому МТ. Отже:
Твeрджeння 1. Клас МТ-обчислюваних функцiй збігається з класом НА-обчислюваних функцiй.
Ще в 1937 р. А.Тьюрiнг установив:
Твeрджeння 2. Клас МТ-обчислюваних функцiй збігається з класом ЧРФ.
Має мiсце також наступне твердження:
Твeрджeння 3. Клас функцiй, обчислюваних за Постом, збігається з класом НА-обчислюваних функцiй.
Пiдсумовуючи зазначені результати, дiстаємо:
Теорема 4. Наступнi класи функцiй збігаються:
1) клас ЧРФ;
2) клас програмованих на N п-арних функцiй;
3) клас МНР-обчислюваних функцiй;
4) клас функцiй, обчислюваних за Тьюрiнгом;
5) клас функцiй, обчислюваних за Марковим;
6) клас функцiй, обчислюваних за Постом.
Розглянутi нами вище формалiзми задають один i той же клас п-арних функцiй на N. При цьому самi визначення формалiзмiв такi, що забезпечують ефективну обчислюванiсть описуваних ними функцiй. Тому є всi пiдстави вважати, що такi формалiзми є рiзними математичними уточненнями iнтуїтивного поняття алгоритмiчно обчислюваної функцiї (АОФ). Уперше таке твердження стосовно рекурсивних функцiй було висунуте в 1936 роцi А. Чорчем, тому дiстало назву ”теза Чорча”. В цьому ж роцi С. Клiнi узагальнив тезу Чорча на випадок часткових функцiй. Розглянемо тезу Чорча в розширеному виглядi.