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

Лекцiя • 13 з математично¨ логiки та теорi¨ множин Для студентiв-прикладникiв ММФ ХНУ 1 курсу 26 листопада 2009 року

Обчислюванiсть. Машини Тьюрiнга

1 Машини Тьюрiнга

1.1 Загальнi слова

Тьюрiнг Алан Матiсон (23.06.1912 7.6.1954) в 1936-37 роках ввiв формальне визначеня алгоритму та обчислювано¨ функцi¨. Незалежне проктично в той же час визначення алгоритма дав Емiль Леон Пост, використовуючи поняття абстрактно¨ обчислювально¨ машини. Пiзнiше визначеня алгоритма давали А.М.Колмогоров, А.А.Марков. Всi визначення виявилися еквiвалентними, тобто все, що ¹ агоритмом в одному визначеннi ¹ алгоритмом у всiх iнших визначення. Еквiвалентнiсть незалежних визначень дозволя¹ стверджувати, що всi визначення дають правильний , чи адекватний формальний вiдповiдник iнту¨тивному уявленню про алгоритм.

Перед тим, як щось говорити про формалiзацiю алгоритма (формалiзацiя - вiдкидання несутт¹вого) потрiбно поговорити про наше iнту¨тивне уявлення про нього.

Алгоритм уявля¹тья як послiдовнiсть певних дiй, якi застосовуються до певних предметiв. Окремi дi¨ простi, ¨х набiр обмежений, дi¨ виконуються одна за одною, послiдовно (по кроках). Предмети, до яких застосову¹ться алгоритм, можна назвати iменами (перенумерувати, замiнити, послiдовносятями букв, знакiв, цифр, ...) Те , що одержу¹ться в результатi, також можна назвати, позначити послiдовнiстю символiв. Сказане довзоля¹ розглядати лише алгоритми, що застосовуються до iмен, тобто до послiдовностей символiв.

Множини, елементи яких використовують для утворення послiдовностей iмен предметiв, називають алфавiтами. Елементи таких множин (алфавiтiв) називають буквами, а послiдовностi букв називають словами. Тепер ми можемо сказати. що алгоритми застосовують до слiв iз певного алфавiтку. Цей алфавiт називають вхiдним. Простiше всього iменувати предмети натуральними числами. Тому вхiдний алфавiт звичайно пристосований до запису натуральних чисел.

Результат виконання алгоритму також слово в якомусь алфавiтi. Цей алфавiт називають вихiдним. Вихiдний алфавiт також звичайно пристосований до запису натуральних чисел.

Приписи, що, коли i як робити, виконання окремих простих дiй (¨х називають елементарними) записують ще в одному алфавiтi в алфавiтi програми. Елементарних дiй повинна бути скiнченна множина.

Всi цi речi ми повиннi побачити на прикладi формалiзацi¨ алгоритма, який запропонував Алан Тьюрiнг.

Зауважимо, що обходитися в агоритмах тiльки додатнiми натуральними числами незручно. Тому до множини натуральних чисел дода¹ться нуль. Отже далi вважа¹мо що числа беруться iз розширеного натурального ряду iз множини натуральних чисел, до яко¨ добавлений нуль.

1.2 Аксiоми, що стосуються алгоритмiв

Аксiома запису Застосування алгоритму можна записати, i потiм (за записом застосування алгоритму до того, до чого цей алгоритм можна застосувати) кожен однозначно може взнатиякi були початковi данi, i який результат.

Аксiома програми Можна видiлити множину програм (приписiв), якi всiма розумiються чiтко, ¹диним чином. При цьому все буде писатися в одному алфавiтi. Кожен може вiдрiзнити

1

то голiвка повинна в тому вiчцi, на яке дивиться, надрукувати символ a0, перейти в стан q0
M = fS; R; Lg

програму вiд непрограми.

Аксiома кодування Можна вважати, що алгоритми застосовуються до натуральних чи- сел i результатом ¨х застосування ¹ натуральне число.

1.3 Будова машини Тьюрiнга.

Машина Тьюрiнга склада¹ться iз трьох чистин - стрiчки, голiвки i системного блока (керуючо¨ частини).

Ñòði÷êà ðîçäiëåíà íà âi÷êà1, тобто можна вважати, що стрiчка це потенцiйно нескiнченна влiво i вправо послiдовнiсть вiчок, в яких можна записати по одному символу iз вхiдного алфавiту. Вхiдний алфавiт ми можемо позначтити через

A = fa0; a1; a2; : : : ; an; n 1:g

В даному викладеннi в прикладах будемо використовувати вхiдний алфавiт iз двох символiв0 та 1. Вихiднiй алфавiт при використаннi машин Тьюрiнга збiга¹ться iз вхiдним.

Голiвка напрямлена на вiчко на стрiчцi. Голiвка вмi¹ прочитати вмiст цього вiчка, цi¹¨ дiлянки стрiчки, може при необхiдностi надрукувати в цьому вiчку iнший символ iз вхiдного а лфавiту, а також може рухатися вздовж стрiчки. Елементарний (найпростiший) рух на одне вiчко влiво або на одне вiчко вправо. Для позначння рухiв використоу¹мо алфавiт рухiвмножину iз трьох букв

. Буква S символiзу¹ вiдсутнiсть руху, буква L рух влiво на одне вiчко, буква R рух вправо

íà îäíå âi÷êî.

Керуюча частина (системний блок) ма¹ внутрiшнi стани (внутрiшнiй алфавiт)

Q = fq0; q1; q2; : : : ; qm; g m 1;

i в ньмоу мiститься програма роботи машини. Один iз внутрiшнiх станiв (звичайно це q1) називають початковим i один або декiлька станiв кiнцевi. Звичайно q0 кiнцевий стан.

Системний блок мiстить програму. Програма це набiр команд, скiнченна не порожня

множина команд. Команда це припис, який вказу¹, що робити машинi у випадку, коли

вона знаходиться у певному внутрiшньому станi i голiвка бачить певний символ на стрiчцi. А

робити машина може наступне може щось надрукувати в тому вiчцi, на яке дивиться, може

зробити рух (або його не робити) i може перейти в iнший внутрiшнiй стан. Якщо команда

записана у виглядi

aq 7!a0q0m;

a; a0 2 A; q; q0 2 Q; m 2 M;

 

то це означа¹, що у випадку, коли машина знаходиться у станi q ¨¨ голiвка чита¹ символ a, i

зробити рух m. Запис 1q8 7!0q3R i запис q81 7!q30R означають одне i те ж якщо машина

знаходиться у станi q8 i голiвка бачить 1, то голiвка повинна замiнити в тому вiчку, на яке вона

дивиться, 1 на 0, i просунутися на одне вiчно направо, а системниий блок повинен перейти у стан q3.

1.4 Запис даних i тлумачення результату роботи машини Тьюрiнга.

Основний машинний код k( ) äëÿ n çìiííèõ = (x1; x2; : : : ; xn). Приклад запису вектора= (x1; x2; x3) з правильним розташуванням голiвки:

000

#

11 : : : 1

0 11 : : : 1

0 11 : : : 1

00

1

1Зустрiчав назву комiрка

|

 

 

{z1

 

}

| {z

 

}

| {z

 

}

 

x

 

 

 

 

 

 

 

+1

 

x2+1

x3+1

 

2

Приклад запису (2; 1; 0; 3), причому голiвка чита¹ третю одиницю в x1:

#

0011 1 0110101111

Приклад пристрою iз внутрiшнiм станом вимикач ЕОМ: при натисканнi на нього ЕОМ вмика¹ться, якщо була вимкнена, i вимика¹ться, якщо була умiмкнена.

Зовнiшнiй алфавiт fa0; a1; : : : akg, сукупнiсть внутрiшiнiх станiв внутрiшнiй алфавiт fq0; q1; : : : qmg. Скупнiсть рухiв (руха¹ться стрiчка!) fR; L; Sg.

Конфiгурацiя трiйка вказiвок: яке слово написане на стрiчi; де знаходиться голiвка; в якому станi знаходиться машина. Приклад конфiгурацiщ 0011q710100 на стрiчцi знаходиться

слово 11101, машина знаходиться в станi q7, голiвка чита¹ третю одиницю (що машина чита¹записано справа вiд запису стану). Ще один запис 01xq101y на стрiчцi записано x òà

y одиничок, що роз'¹днанi знаком 0. Голiвка знаходиться над нулем, який роз'¹дну¹ групи одиниць, машина знаходиться в станi q1.

Запис програми мовою конфiгурацiй. Приклади слiв на стрiчцi та ¨х обробка машиною iз заданою програмою.

Визначення: Машина обчислю¹ часткову функцiю y = f(x1; : : : xn), $ якщо у випадку, коли нaлежить областi визначення, тодi

1.машина закiнчу¹ роботу в кiнцевому станi;

2.на стрiчцi знаходиться основний код числа y;

3.голiвка розташована над першою одиничкою коду,

а у випадку, коли не нaлежить областi визначення функцi¨, тодi при роботi машини створиться одна iз ситуацiй

1.машина закiнчу¹ роботу, але не в кiневому станi;

2.машина нескiнченно продовжу¹ роботу;

3.машина закiнчу¹ роботу, але на стрiчцi лиша¹ться не основний машинний код набору змiнних (вектор змiнних),

Ситуацiю, коли машина закiнчу¹ роботу в кiнцевому станi, на стрiчцi основний код набору змiнних, але голiвка не над першою одиницею, не розгляда¹мо, оскiльки таку машину можна видозмiнити, i голiвка буде над першою одиничкою.

1.5 Програми. Обчислюванiсть конкретних функцiй.

Приклади програм, що згадуються, виносяться на iспит, на iспитi потрiбно ¨х писати у вiдповiдi на теоретичне питання. Але на лекцi¨ не всi приклади будуть наведенi решта прикладiв повиннi бути зробленi (створенi програми) самостiйно або на практичних заняттях.

Перший приклад програми, це програма, яка "правильно"розташову¹ голiвку машина повинна почати роботу на стрiчцi, де записаний машинний код (набiр змiнних), i не змiнюючи на стрiчцi нiчого закiнчу¹ роботу в кiнцевому станi над першою одиничкою коду.

Програма знаходження лiво¨ одиницi основного коду у випадку, коли на стрiчцi знаходиться основний код, а голiвка знаходиться будь-де на стрiчцi.

3

Вважа¹мо, для визначеностi, що руха¹ться голiвка, а стрiчка лиша¹ться на мiсцi. У поча- тковому станi q1 машина перевiря¹, який символ розгляда¹ голiвка

q11 ! q21L; q10 ! q30L:

Ó ñòàíi q2 машина зна¹, що на стрiчi нема¹ нiчого зайвого (крiм основного машинного коду),

голiвка чита¹ символ всерединi коду (розташована над кодом), машинi потрiбно шукати першу одиницю коду злiва.

Ó ñòàíi q3 машина ще не зна¹, де знаходиться код. 0, який вона розгляда¹, може бути i

роздiловим нулем, i нулем поза кодом як злiва так i прсправа. Машина пробу¹ знайти код на сусiднiй злiва дiлянцi.

Ó ñòàíi q3 машина розгляда¹ символ злiва вiд початкового i усува¹ певну невизначенiсть,

якщо бачить одиницю, то голiвка уже розташована над кодом, а якщо нуль, то голiвка розташована поза кодом, i машина почина¹ створювати мiтки для переглянуто¨ частини стрiчки.

q31 ! q21L; q30 ! q41R:

q4 означа¹, що голiвка знаходиться поза межами коду i почина¹ створення двох мiток (двох

одиниць, якими вона буде вiдмiчати лiву та праву границю переглянуто¨ частини стрiчки. Лiва мiтка-одниця уже створена.

q40 ! q51L:

Ó ñòàíi q5 машина зна¹, що уже створенi двi одиницi-мiтки для переглянуто¨ частини стрi-

чки, i машина бажа¹ рухатися налiво для вiдшукування лiво¨ одиницi-мiтки i перегляду можливостi пересунути лiву мiтку на крок влiво.

q51 ! q60L; q50 ! q50L:

q6 означа¹, що лiва мiтка знайдена, знищена i голiвка зсунута ще на один символ налiво для дослiдження можливостi пересунути мiтку.

q61 ! q131R; q60 ! q71R:

q13 означа¹, що злiва вiд початкового стану знайдено код, але шукати першу його одницю рано

потрiбно спочатку знищити створену праву мiтку.

q7 означа¹, що код ще не знайдено, лiва мiтка пересунута, машина повинна йти до правого краю переглянуто¨ частини стрiчки i пошукати код справа.

q71 ! q80R; q70 ! q70R:

Ó ñòàíi q8 машина знайшла праву мiтку, знищила ¨¨ i пробу¹ пересунути ¨¨ направо, дослiджуючи символ справа вiд розглянуто¨ частини дiлянки.

q81 ! q91L; q80 ! q51L:

q9 означа¹, що знайдено код (першу його одиницю) справа вiд початкового стану, але зупинятися не можна, оскiльки на стрiчцi лишилася зайва лiва мiтка-одиниця.

q91 ! q100R; q90 ! q90L:

Ó ñòàíi q10 машина знищила всi мiтки, зна¹, що код знаходиться справа, голiвка повинна рухатися направо до першо¨ одинички.

4

q101 ! q01S; q100 ! q100R:

Далi розберемося, що повинна робити машина у станi q13, коли вона знайшла код злiва, але лишилася права мiтка.

q131 ! q140L; q130 ! q130R:

Ó ñòàíi q14 машина зна¹, що мiтки знищенi, код знаходиться злiва вiд початкового стану. Машина повинна знайти цей код. Коли машина його знайде, вона повинна перейти у стан q2

q141 ! q21L; q140 ! q140L:

Тепер потрiбно розiбратися ip випадком, коли машина знаходиться над символом коду, мiток нiяких нема¹, i ¨й потрiбно знайти лiву одиницю.

q21 ! q21L; q20 ! q110L:

Ó ñòàíi q11 машина шука¹ кiнець коду, знайшла 0, але сумнiва¹ться, це кiнець коду чи просто роздiловий нуль.

q111 ! q21L; q110 ! q120R:

Ñòàí q12 означа¹, що машина проскочила першу одиницю, ¨й потрiбно повернутися назад i

закiнчити роботу.

 

 

q12

0 ! q00R:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q1

q2

q3

q4

q5

q6

q7

q8

q9

q10

q11

q12

q13

q14

0

q30R

q110L

q41R

q51R

q50R

q71R

q70R

q51L

990L

q100R

q120R

q00R

q130R

q140L

1

q21L

 

q21L

q21L

q60L

q131R

q80R

q91L

q100R

q01S

q21L

 

q140L

q21L

Наявнiсть згадано¨ програми дозволя¹ не перейматися мiсцем, де машина закiнчила роботу (позицiя на cтрiчцi, яка розгляда¹ться голiвкою), тому що невелика видозмiна програми за допомогою згадано¨ пiдпрограми дасть нам машину Тьюрiнга, яка закiнчу¹ роботу в належнiй позицi¨ (розглядаючи першу одиничку).

У випадку, коли зустрiлася команда q21 ! q21S, вважа¹мо, що машину зациклило , вона

не закiнчила роботу, машина повинна закiнчити роботу виключно в кiнцевому станi, i не повинно iснувати команди, яка б стосувалася машини у кiнцевому станi (хоч фактично машина зупинилася).

Будемо вважати, що початковий стан у машини один (зазвичай це q1, але при необхiдностi

ми можемо його перепозначати) а кiнцевих один q0 àáî äåêiëüêà q01; q02; : : : q00 ; q000; : : :. Наявнiсть кiлькох кiнцевих станiв важлива при обчисленнi предикатiв та при передачi результатiв роботи однi¹¨ машини iншим машинам.

Теорема (про обчислюванiсть найпростiйших функцiй) Функцi¨

0(x1; x2; : : : ; xn) = 0; s(x) = x + 1; Imn (x1; x2; : : : ; xn) = xm

обчислюванi на машинi Тьюрiнга.

Доведення теореми конструктивне створюються програми.

Iнту¨тивне уявлення про предикати висловлювання зi змiнними, приклади: x сидить мiж y òà z; x < y, x = y, x парне зисло.

5

1.6 Предикати, ¨х обчислюванiсть

Iнту¨тивне уявлення про предикати висловлювання зi змiнними, приклади: x сидить мiж y

òà z; x < y, x = y, x парне зисло.

Уява про фунцкцiю сформована у школi. Термiн предикат на сьогоднi новий. Формально n ìiñíèì (àáî n арним )предикатом на множинi називають пiдмножину n го декартового

степеня (n 1) цi¹¨ множини. Символ, яким познача¹ться предикат, назива¹ться пердикатним

символом. 0-мiснi предикати зараз ми не розгляда¹мо.

Неформально предикатом називають висловлювання iз змiнними (стiл x дерев'яний, сма двох чисел парна, студент x сидить мiж студентами y òà z. Якщо замiсть змiнних пiдставити предмети, то висловлення стане або iстинним, або хибним. Якщо змiнних n то предикат n мiсний. Множина, на якiй задано предикат (столди, числа, студенти) визнача¹ться мовним

оточенням. Символ, яким позначають предикат, також називають предикатом. Вся ця неформальна нечiткiсть не призводить до помилок (якщо не захотiти ¨х створити навмисно.) Якщо ж непорозумiння все ж виникли iз визначенням, тодi потрiбно використовувати формальне визначення.

Визначення: Предикат P (x1; : : : xn) обчислюваний (на машинi Тьюрiнга), якщо iсну¹ ма-

шина Тьюрiнга, яка починаючи роботу iз основного машинного коду набору змiнних закiнчу¹ роботу в одному iз двох кiнцевих станiв у залежностi вiд iстиностi предиката на цьому наборi.

Приклад обчислюваного предиката число x парне . Щоб довести обчислюванiсть, потрiбно

створити машину Тьюрiнга (написати програму), яка б обчислювала цей предикат. Створимо програму.

Отже наша машина розрахована на те, що на стрiчцi знаходиться основний машинний код числа x. Передбача¹мо початковий стан q1 i два кiнцевих стани q00 ; q000: Буду¹мо машину так, щоб вона закiнчила роботу у станi qq0 , коли число парне, i в станi q000, коли число непарне.

Ñòàí q2 буде нам сигналiзувати, що машина уже бачила непарну кiлькiсть одиниць, а стан

q1 буде нам сигналiзувати, що машина уже бачила парну кiлькiсть одиниць. Отже шуканою програмою буде така програма:

 

q1

q2

q3

q4

0

q3L

q40L

q00 0R

q0000R

1

q21

q11

q31L

q41L

З кожним предикатом P (x1; x2; : : : xn) пов'язу¹ться його характеристична функцiя fP (x1; x2; : : : ; xn).

Характеристична функцiя дорiвню¹ одиницi на тих наборах змiнних, на яких предикат iстинний, i дорiвню¹ нулю на тих наборах, на яких цей предикат хибний.

Теорема (про обчислюванiсть характеристично¨ функцi¨ предиката). Предикат обчислюваний тодi i тiльки тодi, коли його характеристична функцiя обчислювана.

Доведення використову¹ роботу двох машин на однiй стрiчцi. Проведемо його пiзнiше. Оскiльки машин Тьюрiнга злiченна множина, а пiдмножин множини натуральних чисел

незлiченна множина, то iснують необчислюванi предикати.

Теорема (про обчислюванiсть найпростiших предикатiв) Предикати x = y, x < y,

x = 0, x парне зисло обзислюванi.

Доведення конструктивне.

Щодо лiтератури, то Гаврилов-Сапоженко найзручнiший, цього збiрника i дотримуюсь.

1.7 Органiзацiя роботи декiлькох машин на однiй стрiчцi.

Одна iз можливостей машин Тьюрiнгра об'¹днання в однiй машинi кiлькох. Таким чином ¹ одна стрiчка, а потрiбно органiзувати на нiй роботу кiлькох машин. Рорзглядають три сутт¹во рiзнi випадки органiзацi¨ роботи кiлькох машин.

6

з кiнцевим
ç ïî÷à-

Перший випадок, коли з даними (з усiма), що на стрiчнцi, працю¹ одна машина, i коли вона закiнчу¹ роботу, з усiма новими даними працю¹ iнша машина.

Другий випадок, коли машина Тьюрiгна кiлька разiв працю¹ на стрiчцi весь час з новими даними.

I третя можливiсть, коли кiлька машин Тьюрiнга окремо працюють на рiзних дiлянках стрiчки, не заважаючи одна однiй.

В першому випадку iз двох машин Тьюрiнга створю¹мо нову, яку назива¹мо композицi¹ю цих двох машин.

Композицiя машин Тьорiнга. Беремо двi машини T1; T2 з програмами P1; P2, вважахмо, що щх внутрiшнi алфавiти Q1; Q2 не перетинаоться, нехай q0 2 Q1; q00 2 Q2 вiдповiдно якийсь

кiнцевий стан машини T1 i початковий стан машини T2. Будухмо нову машину T = T1T2. øù внутрiшнiй алфавiт Q1 [ Q2 n fq0g. Для побудови програми P новощ машини об'хднуоть програми P1; P2 i скрiзь замiняоть q0 íà q00. Першоо дiяти починах машина T1. Нижче наведено

приклад машни T1 з початковим станом q1 та кiнцевими станами q01; q02, машини T2 тковим станом q3 та кiнцевими станами q03; q04. Ототожнооiи початковий стан q3 станом q02 одержуэмо композицiо T1T2

 

T1

 

 

 

T2

 

 

 

 

T1T2

 

 

q1

q2

 

 

q3

q4

 

 

q1

q2

q3

q4

0

q01

q1

0

q4

q03

0

q01

q1

q4

q03

1

q02

q2

1

q04 q4

1

q3

q2

q04 q2

Âдругому випадку створю¹ться так звана iтерацiя машини Тьюрiнга. Для iтерацi¨ машини Тьорiнга поляга¹ в тому, що один iз ¨¨ кiнцевих станiв ототожню¹ться з некiнцевим (початковим, або просто зручним) станом. За допомогоо iтерацi¨ органiзовуються циклiчнi обчислення, цикли.

Âтретьюму випадку на стрiчцi для роботи однi¹¨ машини видiляють дiлянку, на якiй вона буде пр ацювати i не буде заважати роботi iнших машин. Такi дiлянки називають гратками.

Ми уже зна¹мо, як записати на стрiчцi данi (основний ашинний код даних), тепер покажемо, як можна записати данi для декiлькох машин так, щоб цi данi можна було легко розрiзняти. Це робиться за допомогою так званого граткового коду, квазiосновного коду.

Спочатку на стрiчцi видiля¹мо одне вiчко i кажемо, що це вiчко ма¹ номер 0. Пiсля цього всi вiчка одержують номери цiлi числа. Гратка iз кроком l послiдовнiсть дiлянок (вiчок)

стрiчки, номери яких порiвнюванi за модулем l, тобто рiзниця номерiв дiлиться на l. Для прикладу, якщо на стрiчцi ма¹мо 16 дiлянок iз записами

0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 ;

то дiлянки з номерами 2,5,8,11,14 знаходяться на гратцi з кроком 3, на цiй гратцi сто¨ть основний машинний код

1 1 1 0 1

набору (2,0).

Якщо основний машинний код набору чисел записати (послiдовно) на гратцi, то те, що одержиться, називають квазiосновним кодом.

Теорема (про органiзацiю роботи машини на гратцi): Äëÿ áóäü-ÿêî¨ машини M

можна побудувати нову машину M0 òàêó, ùî

1.За межами гратки M0 не змiню¹ записи;

2.На гратцi M0 викону¹ ту ж роботу, що i задана машина M.

7

Доведення. Дано: Машина M тобто зовнiшнiй алфавiт A = f0; 1g, внутрiшнiй алфавiт Q i ðóõè fR; L; Sg. Машина M ма¹ програму. ™ гратка з кроком n.

Буду¹мо нову машину з тим же зовнiшнiм алфавiтом f0; 1g. Для кожного внутрiшнього

стану q створю¹мо 2 (n 1) нових станiв riq; i = 1; 2; : : : n 1 òà liq; i = 1; 2; : : : n 1. Уявля¹мо,

ùî ó ñòàíi riq òà liq машина пам'ята¹ кiлькiсть i òà ñòàí q.

Для ново¨ програми беремо всi команди старо¨ програми, якi мають вигляд qa ! q0a0S; q; q0 2

Q; a; a0 2 f0; 1g;.

q; q0 2 Q;

a; a0 2 f0; 1g створю¹мо n нових

За кожною командою вигляду qa ! q0a0L;

команд

qa ! l1q0a0L; li 1;q0x ! liq0xL;

2 < i < n;

ln 1;q0x ! q0xL;

 

За кожною командою вигляду qa ! q0a0R;

q; q0 2 Q;

a; a0 2 f0; 1g створю¹мо n команд

 

qa ! r1q0a0R; ri 1;q0x ! riq0xR;

2 < i < n;

rn 1;q0x ! q0xR;

Створенi новi команди утворюють нову потрiбну програму. Доведення закiнчене.

8

Покажчик

Колмогоров, 1 Пост, 1 Тьюрiнг, 1 аксiома

кодування, 2 програми, 1 запису, 1

аксiоми алгоритмiв, 1

алфавiт, 1 вхiдний, 1 зовнiшнiй, 3

алгоритм, 1 формалiзацiя, 1 iнту¨тивне уявлення, 1

арков, 1 буква, 1 функцiя

êîä характеристична, 6

квазiосновний, 7 основний ашинний, 2

композицiя

машин Тьюрiнга, 6 конфiгурацiя, 3 машина

Òüþðiíãà, 1

абстрактна обчислювальна, 1 машина Тьюрiнга

кiнцевий стан, 2 колiвка, 2 команда, 2 комiрка, 2 початковий стан, 2 програма, 2

рух голiвки, 2 системний блок, 2 стрiчка, 2

тлумачення результату, 2 вiчко, 2

запис даних, 2 множина

злученна, 6 обчислюванiсть, 5 функцi¨, 6 предиката, 6

програма, 3

слово, 1 ñòàíкiнцевий, 3

початковий, 3 внутрiшнiй, 3

9

Соседние файлы в папке лекції по мат.логике