- •Лекція 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. Продуктивні і креативні множини, їх властивості
- •Прості множини
- •Теорія алгоритмів Конспект лекцій
2. Функція Геделя та її основна властивість
Функцiя Геделя дозволяє кодувати одним натуральним числом довiльну скiнченну послiдовнiсть натуральних чисел. Функцiя Геделя визначається так:
(x,y) = mod(l(x), 1+(y+1)r(x)).
Отже, функція є ПРФ.
Теорема (про основну властивість функції Геделя). Для довiльної скiнченної послiдовностi натуральних чисел b0, b1, ..,bn знайдеться натуральне число t, таке, що (t, i)=bi для всiх i{0,..., n}.
Індукцiєю по n доведемо твердження, відоме як китайська теорема про остачі:
Лeма. Для довiльних натуральних чисел b0, b1 ,.., bn , для довiльних попарно взаємно простих чисел p0, p1 ,.., pn , таких, що pi>bi для всiх i{0,...,n}, знайдеться натуральне число M, таке, що M< p0...pn та mod(M,pi) = bi для всiх i{0,...,n}.
-
n=1. Для довiльних взаємно простих p, q
{mod(ip, q) | i{0,..., q-1}}={0,..., q-1}.
Справдi, для j, i таких, що q>j >i 0, маємо mod(jp, q) mod(ip, q), iнакше (j-i) p дiлиться на q, що суперечить взаємнiй простотi p та q. Тому для довiльних натуральних b0, b1 та для довiльних взаємно простих p0, p1, таких, що p0 > b0 та p1 > b1, iснують натуральнi 0, 1 такi, що 0 < p0, 1 < p1, mod(1p1, p0) = b0 і mod(0p0, p1)=b1. Узявши k = =0p0 + 1p1, маємо mod(k, p0)=b0 та mod(k, p1) = b1. Тодi M1=mod(k, p0p1) шукане M для випадку n=1. Справдi, M1< p0 , p1, mod(M1, p0)=b0, mod(M1, p1)=b1, бо k=p0p1+M1 для деякого N.
2) n=k n=k+1. Нехай твердження леми правильне для n=k. Вiзьмемо n=k+1. Маємо натуральнi b0, b1 ,.., bk+1 тa попарно взаємно простi p0, p1 ,.., pk+1, такi, що pi>bi для всiх i{0,..., k+1}. Покладемо c0=M1, c1=b2, ..., ck=bk+1, q0=p0p1, q1=p2, ..., qk=pk+1. Тодi числа q0, q1 ,.., qk попарно взаємно простi та qi>ci для всiх i{0,..., k}, тому за припущенням iндукцiї знайдеться натуральне число M, таке: M< q0q1...qk та mod(M, qi)=ci для всiх i{0,..., k}. Звiдси дістаємо M<p0...pk+1, mod(M,pi)=bi для всiх i{0,..., k+1} та mod(M, p0p1)=M1. Останнє означає, що M=p0p1+M1 для деякого N. Звiдси mod(M1, p0)=mod(M, p0)=b0 та mod(M1, p1)=mod(M, p1)= b1.
Отже, твердження леми правильне i для n=k+1.
Доводимо тепер теорему. Знайдемо числа M та b такi, що t=C(M,b) шукане, тобто (t,i)=mod(М, 1+(і+1)b))=bi для всiх i{0,...,n}.
Покладемо b=(1+n+b0+...+bn)!. Залишилось знайти число M. Позначимо pi=1+(і+1)b. Тодi pi>bi для всiх i{0,...,n}. Крiм того, числа p0, p1 ,.., pn попарно взаємно простi. Справдi, припустимо супротивне: iснує просте q>1, таке, що для деяких i, j, таких, що j>i, числа pi та pj дiляться на q. Тодi pi-pj =(j-i)b дiлиться на q. Але j-i<n, тому j-i входить як множник у число b, звiдки i дiлиться на q, тобто b = q для деякого N. Звiдси числа pi =1+(і+1)q та pj =1+(j+1)q не дiляться на q, a це суперечить припущенню.
Умови леми виконанi, тому знайдеться натуральне число M, таке, що M< p0...pn і mod(M,pi) = mod(М, 1+(і+1)b))=bi для всiх i{0,...,n}.