Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod_druk1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
577.02 Кб
Скачать

Лекція 4. Нормальні алгоритми Маркова.

План:

1 Означення і основні властивості НАМ.

2.Алгоритм роботи НАМ.

3. Приклади роботи НАМ.

4.Функції обчислюванні за Марковим.

Література: [1], [3], [10].

Пiд нормальним алгоритмом (скорочено НА) в алфавiтi T розуміють впорядковану послiдовнiсть продукцiй (правил) вигляду , або , де , T*, а символи , T. Продукцiї вигляду  називають фiнальними.

Кожен НА у алфавiтi T задає деяке словникове відображення T*T*. Слово, яке є результатом обробки слова x нормальним алгоритмом A, позначається A(x). Обробка слова x нормальним алгоритмом A проводиться поетапно за наступною схемою.

Покладемо x0=x i будемо вважати, що x0 отримане iз слова x пiсля 0 етапiв роботи нормального алгоритму. Нехай слово xn отримане iз слова x пiсля n етапiв роботи. Тодi (n+1)-й етап виконується наступним чином.

Шукаємо першу за порядком продукцію  або  таку, що  є пiдсловом xn. Застосуємо цю продукцію до xn , тобто замінимо в xn найлiвiше входження  на . Отримане слово позначимо xn+1. Якщо застосована на (n+1)-му етапі продукція не фiнальна, тобто , то переходимо до (n+2)-го етапу. Якщо ця продукція фінальна, тобто , то пiсля її застосування A зупиняється i A(x)=xn+1. Якщо ж на (n+1)-му етапі жодна продукція A не застосовна до xn+1, тобто в A немає продукції, ліва частина якої - пiдслово слова xn+1, то A зупиняється i A(x)=xn.

Якщо в процесі обробки слова x нормальним алгоритмом A не зупиняється ні на якому етапі, то вважаємо, що A(x) невизначене. Тобто алгоритм до такого слова не застосовний.

Нормальний алгоритм називають нормальним алгоритмом над алфавітом T, якщо він є нормальним алгоритмом в деякому розширенні T’T. Такий нормальний алгоритм над T задає певне словникове відображення T*T*, використовуючи в процесі обробки слів допомiжнi символи поза алфавітом T. Але вхідне і фінальне слово не повинні містити символів, що не належать Т. Зупинка нормального алгоритму Маркова A над T при роботі над словом хT*, результативна, коли вона відбулась на слові yT*, інакше вважаємо, що результат роботи A над х невизначеним.

Два нормальні алгоритми Маркова A i B вважаться еквівалентними відносно алфавіту T, якщо для всіх xT* A(x) та B(x) одночасно визначені або невизначені, та у випадку визначеності A(x)=B(x).

Функція називається обчислюваною за Марковим, або НА-обчислюваною, якщо існує нормальний алгоритм, який її обчислює.

Наведемо приклади нормальних алгоритмів Маркова.

Приклад 1. Нормальний алгоритм Маркова, який кожне слово виду ax переводить в слово (тобто по суті задає функцію 2х в розширеному алфавіті Т=(а,d, λ)).da  add

ad  d

d  .d

λ  d

Приклад 2. Нормальний алгоритм Маркова, який реалізує функцію f(x,y)=x-y алфавіті Т=(1, -, λ) .

1-1  -

1-  . λ

Лекція 5 . Співідношення між різнимим формальними уточненнями аоф. Теза Чорча.

План:

1.Теореми про співпадання різних класів алгоритмічно обчислювальних функцій.

2.Обґрунтування тези Чорча.

3.Значення і застосування тези Чорча.

Література: [3], [9], [10].

В різний час математиками були доведені теореми про співпадання класів функцій, які представляють різні формальні уточнення алгоритму та АОФ. Сформулюєме і доведемо деякі із них.

Теореми. Кожна ЧРФ є МНР-обчислювальною функцією.

Доведення.

1. Кожна базова функція є МНР- обчислювальною. Зокрема функція обчислюється МНР програмою

1. Z(0).

Функція s(x) програмою

  1. S(0).

Функція програмою

1. Т(m-1,0).

2. Нехай k-вимірна функція g та n-вимірні фукції g1 … gk обчислювальні відповідно МНР-програмами C, C1 ,…, Ck. Тоді операція суперпозиції Sk(g,g1,… ,gk) обчислюється МНР програмою такого виду:

T(j,m+j+1) , j=0,…,n-1

Gj(m+1,…,m+n → m+n+j+1) , j=0,…,k-1

G (m+n+1,…,m+n +k → 0).

Тут m максимальне число команд у програмах C, C1 ,…, Ck..

3) Нехай n–вимірна функція g та n+2 – вимірна функція h обчислюються відповідно МНР-програмами G та H. Тоді операція примітивної рекурсії R(g,h) обчислюється МНР програмою такого виду:

T(j,m+j+1) , j=0,…,n

G(m+1,…,m+n → m+n+3)

p) J(m+n+1,m+n+2,q)

p+1) H(m+1,…,m+n,m+n+2,m+n+3→m+n+3)

S(m+n+2)

J(1,1,p)

q) T(m+n+3, 0).

Тут m максимальне число команд в програмах G, H.

4) Нехай n+1–вимірна функція g обчислюється МНР-програмою G. Тоді операція мінімізації M(g) обчислюється МНР програмою такого виду:

T(j,m+j+1) , j=0,…,n

p) G(m+1,…,m+n+1 → 0)

J(0,m+n+2,q)

S(m+n+1)

J(1,1,p)

q)T(m+n+1, 0).

Тут m число команд в програмі G.

Отже, кожна ЧРФ є МНР-обчислювальною функцією.

Вірне і зворотне твердження: кожна МНР-обчислювальна функція є ЧРФ. Наведемо ідею доведення цього твердження. Нехай f(x1,…,xn) обчислюється МНР-програмою Р. Через R(x1,…,xn,t) позначимо функцію значенням якої є вміст 0–го регістру після t кроків роботи Р над x1,…,xn , або після q<t+1 кроків, якщо на q–ому кроці програма Р при роботі над x1,…,xn зупинилась. Через n(x1,…,xn,,t) позначимо функцію, значенням якої є номер команди після t кроків роботи Р над x1,…,xn , або 0, якщо програма Р при роботі над x1,…,xn зупинилась на кроці q<t+1.

Моделюючи роботу програму Р над x1,…,xn за t кроків, можна довести примітивну рекурсивність функцій R та n. Але f(x1,…,xn)=R(x1,…,xn, (n(x1,…,xn,,t))=0), тому функція f - є ЧРФ.

Наслідок. Клас ЧРФ співпадає із класом МНР-обчислювальних функцій.

За кожною МТ можна збудувати еквівалентний їй НАМ, який задає те ж словникове відображення (домашнє завдання: спробувати довести це твердження ). З іншого боку, за кожним НА можна збудувати еквівалентну йому МТ. Отже, робимо висновок, клас МТ- обчислювальних функцій співпадає з класом НА-обчислювальних функцій.

В 1937 р. А. Тьюрінг встановив, що клас МТ-обчислювальних функцій співпадає з класом ЧРФ.

В різний час були доведені і інші твердження про перехресне співпадання різних класів функцій, що задають формальне уточнення алгоритму та АОФ.

Підсумовуючи всі ці результати можна сформулювати наступну узагальнюючу теорему:

Теорема. Наступні класи функцій співпадають:

  1. Клас ЧРФ;

  2. Клас програмованих на N функцій;

  3. Клас МНР-обчислювальних функцій;

  4. Клас функцій обчислювальних за Тьюрінгом;

  5. Клас функцій обчислювальних за Марковим;

  6. Клас функцій обчислювальних за Постом.

Враховуючи цей результат про співпадання класів функцій для шести різних формалізмів і те, що самі визначення цих формалізмів забезпечують ефективну обчислювальність заданих ними функцій, можна зробити припущення, що вони є різними математичним уточненнями інтуїтивного поняття алгоритмічно обчислювальної функції (АОФ). Вперше таке твердження стосовно рекурсивних функцій було висунуте в 1936 р. А. Чорчем і дістало назву ”теза Чорча”. В цьому ж році С. Кліні узагальнив тезу Чорча на випадок часткових функцій. В такому розширеному вигляді теза Чорча формулюється наступним чином:

Теза Чорча. Клас ЧРФ співпадає із класом часткових АОФ заданих на множині натуральних чисел.

Поняття АОФ не є строго визначеним математичним поняттям, тому теза Чорча строгому математичному доведенню не підлягає. Теза Чорча є природно-науковим фактом, який підтверджується такими результатами:

    1. Істотно різні формальні уточнення АОФ, запропоновані різними авторами в різний час, виявились еквівалентними в розуміння задання ними одного і того ж класу функцій;

    2. Перехід від задання функції в одному класі до задання цієї ж функції в іншому формалізмі є конструктивним, тобто він здійснюється за деяким алгоритмом (наприклад за операторним термом ефективно будується МНР-програма, яка задає ту ж функцію, що і цей терм);

    3. Для кожного із таких формалізмів всі задані у ньому функції – алгоритмічно обчислювальні в інтуїтивному змісті;

    4. Всі відомі до цих пір алгоритмічно обчислювальні функції виявились частково рекурсивними . Нікому ще не вдалося навести приклад функції, яка була би алгоритмічно обчислюваною і в той же час не була би ЧРФ.

Із тези Чорча, як наслідок, випливає, що клас РФ співпадає з класом тотальних (всюди визначених) АОФ, заданих на множині натуральних чисел.

Наукове значення тези Чорча полягає в наступному:

  1. Прийняття тези Чорча перетворює інтуїтивні поняття алгоритму, обчислювальності, розв’язності в об’єкти математичного вивчення. Це дає можливість ставити і розв’язувати питання про алгоритмічну обчислювальність функцій , алгоритмічну розв’язність чи нерозв’язність масових проблем.

  2. Використання тези Чорча, як своєрідної аксіоми, дозволяє у багатьох випадках замінити формальні задання алгоритмів на неформальні їх описи. Це, в ряді випадків, дає істотне спрощення доведень, дозволяє виділити основну ідею доведення чи побудови, звільняючи його від зайвих деталей. Проте такі доведення із використанням тези Чорча завжди вимагають ретельного обґрунтування. При виникненні сумнівів треба проводити формальні доведення.

Лекція 6. Нумерації. Канторові нумерації.

План:

1.Означення нумерації. Гьодельові та канторові нумерації.

2.Теорема про примітивну рекурсивність координатних функцій.

3.Приклади нумерацій.

4. Означення функції Гьоделя. Теорема про основну властивість функції Гьоделя.

Література: [3], [9], [10], [11].

Поняття МНР, ПРФ, РФ та ЧРФ введені нами на множині натуральних чисел N. Щоб перенести ці поняття на інші множини, елементи яких можуть мати досить складну будову (наприклад, множини функцій, термів і т.п.), будемо кодувати елементи цих множин натуральними числами. Введемо в розгляд поняття нумерації.

Нумерацією множини будемо називати функціональне відображення всієї множини N на множину . Це означає, що кожний елемент b має номер із N (можливо, не єдиний), але кожний елемент n N є номером єдиного елемента (п) .

Взаємно-однозначне відображення N на множину називають однозначною нумерацією множини .

В теорії алгоритмів особливий інтерес викликають гьодельові (або ефективні) нумерації, які дозволяють за кожним b ефективно (тобто за допомогою деякого алгоритму) визначити його номер, та за кожним n N ефективно визначити той елемент (п) = b , який нумерується цим n.

Більш строго, нумерація :N→ . називається гьодельовою, якщо

існує пара алгоритмів α та β таких що :

1) для кожного b , α(b) -1(b);

2) для кожного n N, β(n)= (n).

Спочатку розглянемо нумерацію пар та n-ок натуральних чисел, яку називають канторовими. Канторові нумерації є однозначними гьодельовими нумераціями.

Введемо у розгляд канторові нумерації послідовно для випадку n=2 і для довільного n. Для випадку n=2 всі пари натуральних чисел розташуємо у впорядковану послідовність наступним чином: будемо вважати, що пара (x,y) знаходиться в ній раніше за пару (u,v), якщо x+y<u+v, або, якщо x+у =и+v та х<u:

(0,0);

(0,1); (1,0);

(0,2); ( 1,1); (2,0);

(0,3); (1,2); (2,1); (3,0);…

(0,n); (1,n-1); (2,n-2);...,(n,0).

Номер пари (х,у) в такій послідовності позначають С(х,у) і називають канторовим номером пари (х,у). Наприклад, С(0,0)=0, С(0,2)=3. Ліву та праву компоненти пари з номером n позначають відповідно l(n) та r(п). Наприклад, l(4) = 1, r(3) = 2.

Функції l(n) та r(n) називають, відповідно, лівою та правою координатними функціями . Функцію С(х,у) називають функцією канторового номера.

Теорема. Функції С(х,у), l(n) та r(n) є примітивно рекурсивними функціями.

Доведення.

Справді, пара (х,у) знаходиться на х-му місці після пари (0,x+y). Перед парою (0,x+y) знаходиться х+у груп пар із однаковою сумою компонент, причому у групі із сумою компонент m міститься m+1 пара. Тому перед парою (0,х+y) знаходиться всього

n =1+2+...+ (х+у)=(х+у+1)·(х+у)/2 пар. Звідси С(х,у)=n+x , тобто С(х,y)=[(x+y+1)·(x+y)/2]+х=[((x+y)2+3·x+у)/ 2] є ПРФ.

Нехай х=l(n), у=r(n). Маємо 2 n=2 С(х, у)=+у )2+3 х + у, тому 8·n+1=(2·х+2·y+1)2+8·х=(2·x+2·y+3)2–8y–8. Звідси одержуємо 2·х+2·у+1 []<2·х+2·у+3,aбo х+у+1 [([]+1)/2]<х+у+2. Отже, х+y+1=[([]+1)/2]. Але n=С(х,у)=[{х+у+1)·(x+y)/2]+х, звідки маємо, що функція

l(n)=х=n÷[(х+у+1)·(х+у)/2]=

=n÷[[([]+1)/2]/2] [[([]-1)/2]/2]- є ПРФ.

Тепер для правої координатної функції r(n).

r(n)=у=(х+у+1)÷(x+1)=[([]+1)/2]÷+1)=

=[([]+1)/2]÷(l(n)+1)-ПРФ

Функції С(x,y), l(n), r(n) зв'язані наступними тотожностями:

1. С(l(n),r(n))=n;

2. l(C(х,у))=х;

3. r(С(х,у))=у.

Маючи нумерацію пар натуральних чисел (випадок n=2), для довільного n можна узагальнити канторову нумерацію n-ок натуральних чисел таким чином:

C3123) = С(С(х1, х2),х3);

Ck+1 12,…,xk+1)=Ck(C1, х2),x3,…,xk+1) для к>2.

Якщо Cn1,...,хn) = т, то координатні функції Сn1,...,Cnп вводимо наступним чином:

Сn1 (m)= x1; Сn2 (m) = х2;...Сnn (m) = хn.

Для функцій Cn, Сn1,..., Сnn маємо такі тотожності:

Cn(Cn1(x),..,Сnn(х)) = х;

Сnj(Сn(x1,…,xn)) = xj ,1≤ j≤ n.

Теорема. Функції Cn, Сn1,...,Сnn є ПРФ.

Доведення. Справді, маємо

Cn12,...,хn) = C(...С(С(х1, х2),х3),...,xn)

Сnn (m) = хп = r(m); Сn n-1(т) = хп-1 = r(l(m));...

С n2 (m) = x2= r(l…l(m))..);Сn1 (m) = x1,= 1(1..1(т)..).

Враховуючи такі представлення цих функцій і результати попередньої теореми робимо висновок що ці функції є ПРФ.

Функція Гьоделя дозволяє кодувати одним натуральним числом довільну скінчену послідовність натуральних чисел.

За визначенням функція Гьоделя,яка має вигляд

Г(x,y)=mod(l(x)), 1+(y+1)r(x))

є примітивно рекурсивною.

Справедлива наступна теорема.

Теорема. (про основну властивість функції Гьоделя) Для довільної скінченої послідовності натуральних чисел b0 ,b1 …,bn , знайдеться натуральне число t таке, що Г(t,i)= bi i=0…n.

Доведення теорема суттєвим чином опирається на лему.

Лема. Для довільної скінченої послідовності натуральних чисел b0 b1 …bn і для довільних взаємно простих чисел p0 ,p1 ,…,pn таких pi< bi i=1,…,n знайдеться натуральне число M таке, що М< p0 p1 …pn для якого виконується

mod(M, pi)= bi i=0…n.

Лему доводимо методом від супротивного.

Лекція 7. Гьодельові нумерації формальних моделей алгоритму.

План:

1. Алгоритми гьоделевих нумерацій МНР.

2. Алгоритми гьоделевих нумерацій машин Тьюрінга.

Література: [1], [6], [9], [10], [11].

Однозначну гьодельову нумерацію МНР задамо в два етапи.

На першому етапі кожну МНР-програму, яка складається із n команд кодуємо нумерацією µ, що утворює послідовність натуральних чисел за наступною схемою

µ (Z(n))=4n;

µ(S(n)) = 4n+1;

µ(T(m,n))= 4•С(m,n)+2.

µ(J(m,n,q))= 4•С(C(m,n),q)+3

За побудовою нумерація µ є бієктивним відображенням множини N на множину усіх команд МНР.

На другому етапі задамо однозначну гьодельову нумерацію v всіх скінчених числових послідовностей натуральних чисел наступним чином:

v(а12,...,аn)=2a1+2а1+а2+1+ ... + 2а1+а2+…+аn+n-1 -1.

Так як обидві нумерації, за побудовою, є однозначними, гьодельовими, то і їх композиція є однозначною гьодельовою нумерацією.

Гьодельову нумерацію всіх МТ задамо на основі кодування МТ. Кожну МТ можна задати послідовністю її команд такою, що перша команда містить в лівій частині q0 остання команда містить в правій частині q*. Множину команд МТ можна впорядкувати у вигляді послідовності із вищевказаною властивістю багатьма способами, тому наша нумерація МТ неоднозначна. Домовимося впорядковувати команди (нумерувати ) МТ зліва направо по рядкам. Фінальний стан q* будемо позначати числом на одиницю більшим від номер останнього робочого стану.

Занумеруємо внутрішні стани МТ та символи стрічки:

Q = {q0 ,…,qn},Т = {а0 ,...,аm).

Кодування команд МТ задамо так:

µ= (qiaj →qkalS)=3C4 (i, j, k, l);

µ(qiaj → qkal L) = 3•С4(i, j, k, l)+1;

µ(qiaj → qkal R)= 3•С4(i, j, k, l)+2.

Таке кодування μ є бієктивним відображенням множини всіх можливих команд МТ на N. Використовуючи наведене вище кодування v: Nk →N, визначимо код машини Тьюрінга М, яка задана послідовністю команд I1,…,Ik, таким чином : ρ(m) = v(μ(I1 ,I2 ,…,Ik)). Але μ та v бієктивні, тому ρ теж бієкція. Тоді φ = ρ-1 - однозначна нумерація послідовностей команд МТ, але неоднозначна нумерація всіх МТ. Неважко переконатись, що така нумерація гьодельова.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]