ta_lect7.ppt
- Количество слайдов: 49
АРИФМЕТИЧНІСТЬ ЧРФ ТА РПМ. ТЕОРЕМА ТАРСЬКОГО При iнтерпретацiї арифметичних формул на N = (N, ar) іменами натуральних чисел можуть бути замкнені терми 0, 1, 1+1, . . . , 1+. . . +1, . . . Можна визначити виразність на N предикатів, множин і функцій, використовуючи тільки замкнені арифметичні формули. Р : Nk→{T, F} арифметичний, якщо існує ар. формула (x 1, . . . , xk): L Nk арифметична, якщо існує арифметична формула (x 1, . . . , xk): Така виражає предикат Р / множину L. Класи арифметичних множин і предикатів позначаємо AМ і AП. f : Nk→N арифметична, якщо її графік f – арифметична множина. Арифметична формула виражає функцію f, якщо виражає f 1
Теорема 1. Кожна ЧРФ арифметична. Функції о, s, Imn, арифметичні. Виражаються формулами 1) x+y – z = x + y. 2) x y – z = x y. 3) o(x) – z = 0 & x = x. 4) s(x) – z = x+1. 5) Imn(х1, . . . , хп) – (z = xm) & (x 1 = x 1) &. . . & (xn = xn). 6) виражається ( v(x+v = y) z=0) & ( v(y+v = x) y+z = x). Sn+1 і M зберігають арифметичність: Нехай g(x 1, . . . , xn), g 1(x 1, . . . , xт), . . . , gn(x 1, . . . , xт) виражені формулами G(x 1, . . . , xn, z), G 1(x 1, . . . , xт, z), . . . , Gn(x 1, . . . , xт, z) Тоді функцію z = Sn+1(g, g 1, . . . , gn)(x 1, . . . , xт) виражає формула Нехай g(x 1, . . . , xп, у) виражена формулою G(x 1, . . . , xп, у, z). Функцію z = y(g(x 1, . . . , xп, у) = 0) виражає формула Gy, z[z, 0] & u(u < z t(Gy, z[u, t] & (t 0))) 2
Теорема 2. Кожна РПМ арифметична. Нехай L Nk є РПМ. Тоді L = Df для деякої ЧРФ f. Але f арифметична, нехай виражається ар. форм. (x 1, . . . , xп, z). Тоді Df виражається ар. форм. z Теорема 3. Клас АМ замкнений вiдносно операцiй , , доповнення. Нехай множини A та B виражаються ар. формулами та . Тоді A B, A B та A виражаються відповідно арифметичними формулами , & та Наслідок. Маємо строге включення РПМ АМ. D = {x| x(x) } є РПМ, тому D арифметична, звідки D арифметична, не РПМ 3
Теорема (Тарського). Множина T номерів усіх ІАФ неарифметична. Супр. : T арифметична T виразна ар. ф-ю U(x): n T N | За тезою Чорча f є ЧРФ, тому f арифметична. Нехай f виражена ар. формулою (x, y, z): Тоді N | та m має єдине вільне ім’я x. z( (x, y, z)&Ux[z]) позначимо (x, y). Тоді: N | m має єдине вільне ім’я x та N | x, y [x, x] позначимо (x). Нехай k її номер, тобто – це k. Тоді N | невірно, що k має єдине вільне x та N | Прийшли до суперечності, тому T неарифметична. 4
Семантично формула стверджує: "мій номер T", тобто "я хибна". Отже, вона виражає відомий парадокс брехуна Теорема Тарського засвідчує, що не iснує унiверсальної ІАФ, яка дозволяла б отримувати довiльну ІАФ за її номером. Фундаментальне значення теореми Тарського полягає в тому, що вона доводить неможливiсть повної формалiзацiї поняття iстини в достатньо багатих мовах, якi включають або можуть моделювати мову арифметики. 5
АРИФМЕТИЧНА ІЄРАРХІЯ Арифметична ієрархія – класифікація арифметичних множин і предикатів. Вона пов'язує теорію РФ з математичною логікою. n-префікс – послідовність кв. префіксів із n– 1 зміною однотипних кванторів, яка починається . n-префікс – починається . u z – 1 -префікс x y z – 2 -префікс x y u v w t z – 3 -префікс Нехай – множина ар. формул, значеннями яких є рекурсивні предикати. Введемо класи предикатів n, n – 0 = 0 = множина всіх РП – n – з усіх предикатів, виразних ф-ми вигл. , де n та – n – з усіх предикатів, вир. ф-ми вигл. , де n та – n = n n 6
п 1 маємо: – Р n Р = ( )N для деяких n і атомарної ; – Р n Р = ( )N для деяких n і атомарної . Класи предикатів n, n індукують відповідні класи множин: n = {IP | Р n}, n ={IP | Р n}, n = n n 0 = 0 = множина всіх РМ 1 – множина всіх РПМ, 1 – множина всіх доповнень до РПМ. За теоремою Поста 1 = 1 1 – це множина всіх РМ 1 = 0 Теорема 1. Р n Нехай Р = ( )N, де n та . Проносимо через квантори, дістанемо ' , де ' n, таку: ' . Однак , тому Р = ( ' )N n 7
Теорема 2. n n n+1. Нехай Р n. Тоді Р = ( )N для деяких n та . Візьмемо u . и неістотне для u Р = ( и )N. Але и n+1 Р n+1. и неістотне для и та и и та и . Отже, Р = ( и )N. При п непарному и n+1, при п парному и n+1. Тому Р n+1 Отже, n n+1 та n n+1, звідки n n+1 = n+1 Нехай Р n. Тоді Р = ( )N для деяких n та . Візьмемо u . и неістотне для и . Звідси Р = ( и )N. Однак и n+1, тому Р n+1. и неістотне для и та и и та и . Отже, Р = ( и )N При п парному и n+1, при п непарному и n+1. Тому Р n+1 Отже, n n+1 та n n+1, звідки n n+1 = n+1. 8
Теорема 3. Нехай Тоді Р n для деякого п 0, звідки Р AП. За теоремою 2 Р n+1, тому Нехай Р AП. Тоді Р = (А)N для деякої арифметичної формули А. Звівши А до пренексної форми, дістанемо пренексну : А . Така має вигляд для деяких n n і атомарної . 9
Теорема (Кліні про ієрархію). Для кожного п > 0 існує арифметичний предикат такий, що n n та n n Твердження теорем повністю переносяться на відповідні класи АМ. Теорема (сильна про ієрархію). Для кожного п 0 маємо М n+1 М є (п)-РПМ та М n+1 М є (п)-РМ. Наслідок. М n М 1 (п) та М n М 1 (п). Позначимо Тп та Тп множини номерів тих ІАФ, що мають пренексну форму з n-префіксом і n-префіксом Теорема. Тп 1 (п) Наслідок. Тп 0(п) та Тп 0(п) Теорема. Т 0( ) 10
Алгоритм Тарського–Куратовського – установлення належності множини до класів n чи n, тобто визначення її місця в арифметичній ієрархії. Суть алгоритму: використовуючи пренексні операції, подаємо предикат "x M" у вигляді ( )N , після чого встановлюємо n чи n для деякого п>0. Приклад 1. М = {x | Dx нескінченна} 2 Dx нескінченна z y(y>z & y Dx) z y(y>z & k(Px(y) за k кроків) z y k(y>z & Px(y) за k кроків). Предикати y>z та (Px(y) за k кроків) є РП. Приклад 2. М ={x | x не є РФ} 2 x M x не є РФ y( x(y) ) y k(Px(y) за k кроків) y k (Px(y) за k кроків). Предикат (Px(y) за k кроків) є РП. 11
Приклад 3. М ={x | Dx є РМ} 3 Предикат (Pu(v) за w кроків) позначимо Р(u, v, w). Використаємо співвідношення А В ( A B)&(A B). Tепер маємо: Dx є РМ z(Dx = Dz) z y(y Dx (y Dz)) z y( k. Р(x, y, k) n. Р(z, y, n)) z y( ( k Р(x, y, k) n. Р(z, y, n)) & ( k Р(x, y, k) n. Р(z, y, n)) z y( k n( Р(x, y, k) Р(z, y, n)) & k n(Р(x, y, k) Р(z, y, n)) z y k n l m( ( Р(x, y, k) Р(z, y, n)) & (Р(x, y, l) Р(z, y, m))). Предикат у дужках після кванторних префіксів є РП. 12
EФЕКТИВНІ ОПЕРАЦІЇ НА ФУНКЦІЯХ І МНОЖИНАХ Функції та множини – як правило, нескінченні об’єкти. Ефективність операцій на функціях та множинах полягає в збереженні обчислюваності функцій і перелічності множин. Fn – множина всіх n-арних функцій на N F – об'єднання множин Fn для всіх n 1 Tn – множина всіх тотальних функцій з Fn T – множина всіх тотальних функцій з F Cкінченну множину позначаємо F, скінченну функцію – . m-арний множинний оператор – функція вигляду : (2 N)m → 2 N m-арний функціональний оператор – функція вигляду : (F)m →F Функц. оператори називають операціями на функціях, композиціями. Приклади ФО – операції – суперпозиції Sn+1 : (F)n+1→F – мінімізації M : F→F – примітивної рекурсії R : F F →F 13
Монотонні та неперервні оператори Мн. О : (2 N)m→ 2 N монотонний: А 1 В 1, А 2 В 2, . . . , Аm Вm (А 1, . . . , Аm) (В 1, . . . , Вm). ФО : (F)m→F монотонний: f 1 g 1, f 2 g 2, . . . , fm gm (f 1, . . . , fm) (g 1, . . . , gm). Мн. О : (2 N)m→ 2 N неперервний: x N, A (2 N)m маємо x (A) F A: x (F). ФО : Fn→F неперервний: x Nn, y N, f Fn маємо (x, у) (f) f : (x, у) ( ). Аналогічно – визначення неперервного ФО вигляду : F. . . F→Fn. Теорема 1. Кожний неперервний оператор є монотонним. Нехай неперервний та f g. Візьмемо довільну (x, у) (f). неперервний f : (x, у) ( ). Однак g ( неперервний) (x, у) (g) (f) (g) монотонний 14
Задамо топологію скінченної інформації на 2 N скінченної F покладемо F = {A | F А}. Сукупність усіх таких F утворює базу топології. Неперервність оператора у "точці" A 2 N відносно топології означає: околу G : (A) G окіл F : A F та B F (B) G. Неформально: з "близькості" B та A в смислі B F та A F випливає "близькість" (B) та (A) в смислі (B) G та (A) G "неперервність" . Візьмемо довільну скінченну G: (A) G, тобто G (А). Нехай G = {x 1, . . . , xn}, тоді xі (A) і {1, . . . , n}. За неперервністю існують скінченні Fі A: xі (Fi) i {1, . . . , n}. Покладемо Тоді F А, звідки А F. Візьмемо довільну В: B F, тобто F В. За монотонністю (F) (В) та (Fi) (F) i {1, . . . , n}. Але xi (Fi) i {1, . . . , n}, тому xi (В) i {1, . . . , n}, звідки G (В). Отже, (B) G. Аналогічно – топологія скінченної інформації на Fn. Базу топології утворюють усі множини вигляду = {f | f} для скінченних функцій . 15
Оператори переліку Ефективність Мн. О : 2 N→ 2 N означає можливість ефективно задати (A), якщо ефективно задається A. Ефективний забезпечує породження (A), якщо задано процес породження А. Якщо ефективний, то на основі інформації про А можна ефективно встановити x (A). Це робиться за скінченну кількість кроків, з використанням лише скінченної інформації про А. Ефективні множинні оператори – оператори переліку. Задамо z N оператор z : 2 N→ 2 N: z(A) ={x | u(Fu А C(x, u) Dz)}. Маємо x z(A) u(Fu А C(x, u) Dz). ОП z задає перелік z(A), якщо задано перелік A: – паралельно – перелік A та Dz. – якщо до списку вже перелічених елементів Dz потрапило C(x, u) таке, що Fu є підмножиною множини вже перелічених елементів A, то додаємо x до списку елементів z(A). 16
Поняття n-арного оператора переліку zn : (2 N)m→ 2 N : zn(A 1, . . . , An) = = {x | u 1. . . un (Fu 1 A 1 . . . Fun An Cn+1(x, u 1, . . . , un) Dz)}. Теорема 2. 1) z(A) l(Dz). 2) z монотонний: якщо А В, то z(A) z(B). Теорема 3. Кожний оператор переліку неперервний. Покажемо: x z(A) F A: x z(F). Нехай x z(A). За визначенням z u(Fu A C(x, u) Dz). Звідси u(Fu Fu C(x, u) Dz), тому x z(Fu) для деякої Fu A. Нехай x z(F) для деякої F A. Тоді u(Fu F C(x, u) Dz). Однак F A, тому u(Fu A C(x, u) Dz). Звідси x z(A). 17
Частково рекурсивні та рекурсивні оператори А N однозначна, якщо С– 1(А) = {(l(x), r(x))} – функц. відношення. A однозначнa (Сm+1)– 1(A) – функціональне відношення m 1. Таким чином, A однозначнa m 1 f Fm : A = Сm+1(f). Звідси – позначення для множини всіх однозначних множин: CF = {С(f) | f F 1} = {Сm+1(f) | f Fm}. Кожний ФО : Fm→Fn задає Мн. О : CF→CF і навпаки: : Fm → Fn Сm+1 (Сm+1)– 1 Сn+1 (Сn+1)– 1 : CF → CF Звідси (f) = (Сn+1)– 1( (Сm+1(f))) та (A) = Сn+1( ((Сm+1)– 1(A))). ФО : Fm→Fn частково рекурсивний оператор, якщо z N: f Fm У цьому випадку оператор переліку z визначає ЧРО . 18
Тотальний ЧРО назвемо рекурсивним оператором (РО). : Fm→Fn – рекурсивний оператор, якщо z N: f Fm (f) = (Сn+1)– 1( z(Сm+1(f))) (df 1) Дамо визначення РО, не використовуючи поняття ОП ФО : Fm→Fn – РО, якщо z N: f Fm, (x, y) Nn+1 (x, у) (f) u( um f у = zn+1(u, x)) (df 2) Це визначення РО еквівалентне такому: ЧРФ така: f Fm, (x, у) Nn+1 маємо (x, у) (f) u( um f у = (u, x)) (df 3) Теорема 1. Визначення df 1, df 2, df 3 еквівалентні. Надалі – df 3 рекурсивного оператора. 19
Для формалізації поняття ефективної операції виявляється достатнім поняття алгоритму, ніяких нових понять вводити не потрібно. Це ще раз підкреслює універсальність і глибину поняття алгоритму. Теорема 2. Кожний рекурсивний оператор є неперервним. Доводимо для РО вигляду : F 1→F 1. Нехай – ЧРФ із df 3 РО , (х, у) (f). Тоді u( u f у = (u, x)) u( u u у = (u, x)) (х, у) ( u) за df РО. Нехай f: (х, у) ( ). За df РО f: u( u u у = (u, x)). Але u f (за df РО) (х, у) (f) 20
Приклад 1. Нехай : F 1→F 1 задається умовою Тоді немонотонний, отже, не РО. Візьмемо скінченну f і нескінченну f . Тоді ( ) = f та (f) = f. Маємо f та (f) ( ) не є монотонним. Приклад 2. Нехай оператор : F 1→F 1 задається умовою Візьмемо f з нескінченною Еf. Тоді (f) = f f та f ( ) = f Якщо (х, у) (f), то не існує скінченної f: (х, у) ( ), бо ( ) = f =. Отже, не є неперервним, тому і не РО. 21
Теорема 3. : Fm→Fn є РО неперервний і функція Доводимо . За df у = (u, x) (у = ( nm)(x) u – код деякої скінч. функції) (за df РО) a( nm у = (a, x) & u – код деякої скінч. функції). "у = (u, x)" є ЧРП є ЧРФ є неперервним. Доводимо . Маємо (x, y) (f) (неперервність ) f: (x, y) (f) (явно вказуючи код для , тобто um = ) x ( um f (x, y) ( um) u( um f y = (u, x)) (зa df ) Отже, є РО з функцією у ролі функції з визначення 22
Приклад 3. : Fm→Fn такий: (f) = g f Fm, де g – фіксована ЧРФ, є РО. Згідно (f) = ( ) = g скінченної f маємо (x, y) (f) (x, y) ( ) неперервний. Згідно з ТЧ Зa теоремою 3 є РО. Приклад 4. РО є оператор мінімізації М : Fn+1→Fn f Fn+1 маємо М(f)(x) = у(f(x, y) = 0). Оператор М неперервний: у = у(f((x, y) = 0) у = у( ((x, , y) = 0) вик-ся f: (x, 0), (x, 1), . . . , ((x, y)) D Тому такої f маємо y = М(f)(x) y = М( )(x). Згідно ТЧ 23
ЧРО : Fm→Fn – загальнорекурсивний (ЗРО), якщо Tm D та (Tm) Tn. Теорема 4. Нехай ЧРО : Fm→Fn такий: Tm D. Тоді є РО. Доводимо для випадку m=n=1. Нехай ЧРО визначений оператором переліку z : Припустимо супротивне: такий не рекурсивний нетотальний z(C(f)) неоднозначна для деякої f F 1. Візьмемо довільну тотальну g : . f g. Тоді C(f)) C(g)) z(C(f)) z(C(g)) за монотонністю ОП z z(C(g)) неоднозначна (g). Це суперечить T 1 D . Наслідок. Для класів ЗРО та РО маємо: ЗРО РО. За теоремою 4 ЗРО РО. Але РО прикладу 3 не ЗРО, якщо ЧРФ g – не РФ. 24
Теорема 5. Нехай 0 : F 1→F 1 задається умовами 0({(0, 0)}) = {(0, 0)} та 0({(1, 0)}) = {(0, 1)}; для інших f F 1 0(f). Тоді 0 розширюється до ЧРО та не розширюється до жодного РО. {C(0, 0)} = {0} = F 1 та {C(1, 0)} = {2} = F 4 беремо z: Dz = {C(0, 20), C(1, 22)}. Нехай ОП z задається таким Dz: x z(A) u(Fu A C(x, u) Dz). A 2 N z(A) l(Dz) = {0, 1}. Звідси: – якщо 0 A та 2 A, то z(A) = {0, 1}; – якщо 0 A та 2 A, то z(A) = {0}; – якщо 0 A та 2 А, то z(A) = {1}; – якщо 0 A та 2 А, то z(A) = . 25
Для ЧРО , який визначається таким z, маємо: 1) Якщо (0, 0) f та (1, 0) f, то 0 C(f) та 2 C(f), звідки z(C(f)) = {0, 1} – неоднозначна. Отже, для таких f (f) , тому не РО. 2) Якщо (0, 0) f та (1, 0) f, то 0 C(f) та 2 C(f), звідки z(C(f)) = {0} = C(0, 0). Отже, для таких f (f) = {(0, 0)}. 3) Якщо (0, 0) f та (1, 0) f, то 0 C(f) та 2 C(f), звідки z(C(f)) = {1} = C(0, 1). Отже, для таких f (f) = {(0, 1)}. 4) Якщо (0, 0) f та (1, 0) f, то 0 C(f) та 2 C(f), звідки z(C(f)) = . Отже, для таких f (f) = f. З 2) і 3) випливає, що ЧРО є розширенням оператора 0 26
Покажемо, що 0 не можна розширити до РО. Нехай = {(0, 0), (1, 0)}. Тоді ЧРО , що є розширенням 0, маємо: ( ) ({(0, 0)}) = 0({(0, 0)}) = {(0, 0)} та ( ) ({(1, 0)}) = 0({(1, 0)}) = {(0, 1)}. Аде тоді ( ) як множина не є функцією, тобто ( ). Отже, кожний такий ЧРО нетотальний, тобто не РО Наслідок 1. ЗРО РО ЧРО. Наслідок 2. Існують немонотонні ЧРО. Візьмемо ЧРО з доведення теореми. Для = {(0, 0), (1, 0)} маємо ( ) , але ({(0, 0)}) = {(0, 0)}. Тому з {(0, 0)} не випливає ({(0, 0)} ( ) 27
Теорема Майхілла – Шепердсона Кожний РО при обмеженні на ЧРФ задає на їх індексах ефективну операцію, тобто рекурсивну функцію. Теорема 1. РО : Fm→Fn РФ h така: k N ( nk) = nh(k) Нехай ЧРФ визначає РО : у = ( mk)(x) u( mu mk у = (u, x)). “у = ( mk)(x)” – ЧРП за ТЧ. Отже, ( mk)(x) є ЧРФ, позначимо її g(k, x). За s-m-n існує РФ h: g(k, x) = nh(k)(x) для всіх k, x. Тому ( nk) = nh(k) РФ h із теореми 1 має таку властивість: якщо mk = ml , то mh(k) = mh(l) Справді, за теоремою 1 mk = ml mh(k) = ( ml) = mh(l) РФ з такою властивістю – m-n-екстенсійнi 1 -1 -екстенсійні функції – просто екстенсійнi 28
Теорема 2. Існує РФ s: z, y N маємо z(Dy) = Ds(x, y). За визначенням z x z(Dy) u(Fu Dy C(x, u) Dz). “x z(Dy)” – ЧРП за ТЧ. Тоді Зa s-m-n РФ s така: ч. P (z, y, x) = s(x, y)(x) z, y, x. Маємо x Ds(x, y) x z(Dy), звідки z(Dy) = Ds(x, y) З теорем 1 та 2 Наслідок 1) Нехай є РО, f є ЧРФ. Тоді (f) є ЧРФ. 2) Нехай А є РПМ. Тоді z(A) є РПМ. 29
Теорема 3 (Майхілла – Шепердсона). Для кожної m-n-екстенсійної РФ h існує єдиний РО : Fm→Fn такий: k N маємо ( km) = h(k)m. Доводимо для випадку m = n = 1. На ЧРФ 1 задамо оператор : ( k) = h(k). Таке задання коректне, тому що за екстенсійністю h оператор визначений однозначно. Покажемо, що неперервний на ЧРФ 1: (x, y) (f) f: (x, y) ( ). x, y N визначимо xy = {f ЧРФ 1 | (x, y) (f)}. Звідси xy = { k | (x, y) ( k)} = { k | (х, у) h(k)}. Однак “(x, y) h(k)” є ЧРП, тому N( xy) = {k | (x, y) h(k)} є РПМ. За теоремою Райса–Шапіро f xy f: xy. Ураховуючи f xy (x, y) (f) та xy (x, y) ( ), отримуємо (x, y) (f) f: (x, y) ( ), тобто неперервний на ЧРФ 1. 30
Продовжимо оператор до оператора : F 1→F 1: (f) = {(x, y) | f: (x, y) ( )} для кожної f F 1. Визначення коректне, тому що задається однозначно. Справді, нехай для скінченних 1 f і 2 f маємо (x 1, y 1) ( 1) та (x 2, y 2) ( 2). Покажемо, що тоді у1 = у2. Покладемо = 1 2. Тоді 1 та 2 . Однак неперервний на ЧРФ 1, тому й монотонний. Звідси (x 1, y 1) ( ) та (x 2, y 2) ( ) у1 = у2. З визначення ЧРФ f(х, у) (f) f: (х, у) ( ) (за непеперервністю на ЧРФ 1) (х, у) (f). Отже, на ЧРФ 1 оператори та діють однаково, тому є продовженням . Однак ( ) = ( ) скінченної , так як усі скінченні функції є ЧРФ. Тому з df дістаємо умову неперервності для : (х, у) (f) f: (х, у) ( ) f F 1 та x, y N. 31
Доведемо рекурсивність оператора . Розглянемо функцію За ТЧ існує РФ k: k(u) = u, якщо u – код скінченної функції. Тоді ( u)(x) = ( k(u))(x) = h(k(u))(x). За ТЧ (u, x) є ЧРФ. Тому є РО. 32
Теореми про нерухому точку Принцип НТ зустрічається в багатьох розділах математики. Метод НТ використовується у програмуванні для визначення семантики рекурсивних програм. Розглянемо теореми про НТ для випадків Мн. О і ФО. Теорема 1 (Кліні). оператора переліку існує множина A: 1) (A) = A, тобто A – нерухома точка оператора ; 2) якщо (B) = B, то A B (тобто A – ННТ оператора ); 3) A є РПМ. Для побудови A задамо послідовність множин {An}n N так: A 0 = ; An+1 = (An) для n 0. Покладемо Це означає: x A n(x An). 33
1) Покажемо (A) = A. За побудовою A маємо An A n 0, звідки за монотонністю (An) (A) n 0, тобто An+1 (A) n 0. Звідси Нехай x (A). За неперервністю маємо, що F A: х (F). Однак F A n: F An. Тому n F (F An х (F)), звідки за неперервністю n (х (An)). Однак An+1 = (An), тому n (x An+1), звідки x A. Отже, (A) A. Ураховуючи A (A), маємо (A) = A. 2) Нехай B така, що (B) = B. Маємо = А 0 В. За індукцією маємо: якщо Аn В, то за монотонністю (An) (B), тобто An+1 (В) = В. Отже, An B n 0, звідки 34
3) Візьмемо РФ s таку: z(Dy) = Ds(x, y) z, y N. Нехай – оператор z, k – деякий індекс . Визначимо функцію : За ТЧ рекурсивна. Тепер A 0 = = Dk = D (0) An+1= z(An) = Ds(z, (n)) = D (n+1) для n 0. Звідси х А n (х An) n (х D (n)), тому "х А" є ЧРП, звідки A є РПМ. З доведення теореми 1 випливає загальніший, але послаблений результат: Теорема 2. Кожний неперервний оп-р : 2 N→ 2 N має ННТ. 35
Розглянемо теорему про нерухому точку для рекурсивних операторів. Теорема (Кліні). Для кожного РО : Fn→Fn існує функція f така: 1) (f) = f, тобто f – нерухома точка оператора ; 2) якщо (g) = g, то f g; це означає, що f – ННТ оператора ; 3) f є ЧРФ. Доводимо для випадку : F 1→F 1. Побудуємо функцію f. Задамо послідовність функцій {fn}n N: f 0 = f ; fn+1 = (fn) для n 0. Покладемо Це означає (x, y) f n((x, y) fn). 36
1) Покажемо (f) = f. Маємо fn f n 0, звідки за монотонністю маємо (fn) (f) n 0, тобто fn+1 (f) n 0. Звідси Нехай (x, y) (f). За неперервністю f: (x, y) ( ). Маємо f n: fn. Тому n ( fn (x, y) ( )), звідки за неперервністю n ((x, y) (fn)). Звідси згідно fn+1 = (fn) маємо n((x, y) fn+1), тому (x, y) f. Отже, (f) f. Звідси (f) = f. 2) Нехай g така, що (g) = g. Маємо f = f 0 g. За індукцією маємо: якщо fn g, то (fn) (g) за монотонністю , тобто fn+1 (g) = g. Отже, fn g n 0, звідки 37
3) За теоремою 1, візьмемо РФ h таку: ( x) = h(x) x N. Нехай k – деякий індекс f. Визначимо функцію : Згідно з ТЧ, є РФ. Mаємо f 0 = f = k = (0), fn+1 = ( (n)) = h( (n)) = (n+1) для n 0. Звідси (x, y) f n((x, y) fn) n((x, y) (n)), тому "(x, y) f" є ЧРП, звідки f є ЧРФ. З доведення теореми – загальніший, але дещо послаблений результат: Теорема 4. Кожний НО : Fn→Fn має ННТ. 38
Приклад 1. Знайдемо ННТ оператора : F 1→F 1, заданого умовою Оператор неперервний: (х, у) (f) (х, у) ( ): при х = 0 ця умова виконується скінченної f, при х>0 ця умова виконується скінченної f: x+1 D. Отже, має ННТ f. H, яку знайдемо методом послідовних наближень. Маємо f 0 = f. Знаходимо f 1 та f 2: Отже, f 2 = f 1. Стабілізація, тому fп = f 1 для всіх n>0. Звідси ННТ Всі інші нерухомі точки нашого оператора мають вигляд 39
Приклад 2. Знайдемо ННТ оператора : F 2→F 2, заданого так Оператор неперервний: умова (х, у, z) (f) (х, у, z) ( ) виконується при х=0 – скінченної f, при х>0 – скінченної f такої: (х, у) D та (х– 1, f(х, у)) D. має ННТ f. H, яку знайдемо методом послідовних наближень. Маємо: f 0 = f Отже, f 2 = f 1. Маємо стабілізацію, тому fп = f 1 для всіх n>0. Звідси ННТ f. H = f 1. 40
Приклад 3. Знайдемо ННТ оператора : F 1→F 1, заданого умовою неперервний: (х, у) (f) (х, у) ( ) виконується при х=0 – скінченної f, при х>0 – f такої, що x– 1 D. Отже, має ННТ. Маємо fп+1 fп n 0 метод послідовних наближень вимагає нескінченної к-ті кроків Нехай f. H –ННТ нашого оператора. Тоді х N f. Н(х) = (f. Н)(х) = 2 х– 1 + f. Н(х– 1) = 2 х– 1 + (f. Н)(х– 1) = = 2 х– 1 + 2 х– 3 + f. Н(х– 2) = … = 2 х– 1 + 2 х– 3+ … +1 + f. Н(0) = 2 х– 1 + 2 х– 3+ … +1 + 0 = х2. Отже, х N маємо f. Н(х) = х2. Така f. H – єдина нерухома точка . 41
Коли ННТ f неперервного є тотальною функцією, така f – єдина НТ . Для ЗРО ННТ може бути нетотальною функцією, тобто не РФ. Наприклад, тотожний оператор є ЗРО, але його ННТ – це f. Нехай РО : F 1→F 1 визначений ОП z. Тоді (f) = С– 1( z(С(f))) f F. Нехай A – НТ оператора z : A = z(A). Тоді f = С– 1(A) є НТ РО : (f) = С– 1( z(С(f))) = С– 1( z(A)) = С– 1(A) = f. З іншого боку, нехай f – НТ РО : (f) = f. Тоді A = С(f) – НТ ОП z : z(С(f)) = С(f). Для ЧРО , який не є РО, ННТ може не існувати. Це тоді, коли A – ННТ відповідного ОП z – неоднозначна. Тоді кожна B A неоднозначна, тому такий узагалі не має нерухомих точок. 42
Розглянемо зв’язок між теоремою Кліні про НТ для PO (теоремою Kl. RO) і теоремою Кліні про НТ для РФ (теоремою Kl. FP). Теореми Kl. RO та Kl. FP наз-ють 1 -ю та 2 -ю теор. Кліні про рекурсію Нехай : F 1→F 1 – РО. За теоремою M-Sh існує РФ h така: ( k) = h(k) k N. За Kl. FP для РФ h m N: m = h(m). Маємо ( m) = h(m) = m m – НТ . Kl. FP стверджує існування НТ, яка є ЧРФ, для кожного РО. Однак із Kl. FP не випливає, що РО має частково рекурсивну найменшу НТ. Kl. FP – загальніша, теорема Kl. RO частково випливає з неї. Kl. FP можна застосувати й до неекстенсійних РФ, які не отримуються за допомогою РО. У той же час, теорема Kl. RO дає більше інформації. Отже, обидві теореми про НТ взаємно доповнюють одна одну. 43
Теореми про НТ та семантика мов програмування Нехай (x) – вираз певної мови програмування L Якщо надавати x конкретне значення a, то (a) можна однозначно обчислити згідно правил семантики L. 1. Нехай ФС f (x). Тоді f(x) = (x) задає таку програму (алгоритм) для обчислення функції f : a значення f (a) отримується шляхом застосування операцій, відповідних виразу (a) згідно правил семантики L. 2. Нехай ФС f (x). Тоді маємо рекурсивну програму для обчислення f : f(x) = (f, x) Як надати точного значення такій програмі? 44
Обчислювальний метод Функція, яка визначається рекурсивною програмою f(x) = (f, x), задається в термінах методу її обчислення. Приклад 1. Рекурсивна програма (1) Можна формально обчислити, наприклад, f(3), проводячи формальні підстановки та обчислення згідно (1): f(3) = 2 f(2) = 2 2 f(1) = 2 2 2 f(0) = 2 2 2 1 = 8 Отже, якщо функція f визначається рек. програмою (1), то f (3) = 8 45
Приклад 1. Рекурсивна програма (2) Спробуємо формально обчислити, наприклад, f(1, 0). Маємо f(1, 0) = f(0, f(1, 0)) Справа – два входження f, але яке вибрати для підстановки (f, x, y) ? 1) беремо ліве входження: f(1, 0) = f(0, f(1, 0)) = 1, адже х = 0 2) беремо праве входження: f(1, 0) = f(0, f(1, 0))) = f(0, f(1, 0)))) = . . . Значення f(1, 0) невизначене 46
Правило обчислення – це правило R, яке вказує, що робити, коли при обчисленні виникає неоднозначність вибору підстановки Для кожних правила R та рекурсивної програми f(x) = (f, x) визначимо f , R : a f , R(a) – значення, формально обчислене згідно R Кожне правило обчислень придає смисл рекурсивній програмі (а також метод її використання). Але однозначності немає. Для рекурс. програми (2) сформулювали 2 правила обчислення: – правило лівого члена LM – правило правого члена RM Тоді f , LM (1, 0) = 1, f , RM (1, 0) Тут можливі ще й інші правила обчислень! Яке правило обчислень вибрати? В якому розумінні f , R задовольняє рівнянню f(x) = (f, x) ? Зробити обґрунтований вибір дозволяє метод нерухомої точки 47
Метод нерухомої точки Смисл рекурсивній програмі надається за допомогою теореми про НТ. Вираз (f, x) мови програмування визначає РО такий: (g)(x) = (g, x) функції g Скінченний та явний характер виразу (g, x) для абсолютної більшості МП гарантує, що такий – справді РО. За теоремою про НТ для РО такий має ННТ Отже, можна визначити функцію f як ННТ РО . Це розумно: – ННТ для РО є ЧРФ, тому f обчислювана – f (x) = (f )(x) = (f , x) 48
Переваги 1) Метод ННТ дає теоретичне обґрунтування вибору конкретного правила обчислень 2) відомо багато методів доведення за індукцією коректності, еквівалентності, інших властивостей програм із семантикою НТ Проте – проблема знаходження добрих практичних процедур для реалізації рекурсивних програм вигляду f(x) = (f, x) Обчислювальний метод та метод НТ взаємно доповнюють один одного. 49


