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

PMI_Nazarova_Diskretnye_struktury

.pdf
Скачиваний:
9
Добавлен:
03.03.2016
Размер:
4.73 Mб
Скачать

21

5)Зустрівшипорко,МТміркужнюпереходитьдозаключногостануі переміщуєтьсявправонаоди,переходямволнзаклюстандартнучи

конфігурацію.

Функціональнатаблиця

маєна

ступнвигляд.(табл.йі 1)

будуєтьсязаправилами :

1)

кожномустану

МТвідповідає рядокуфункціональнійтаблиці

;

2)

кожномусимволуізовнішньогоалфавітустовпець

;

3)у клітинахтаблиціперядкаетиністовз писуєтьсядіця

(прчавакомандистина),

 

якавиконуєтьсяцьомутані

 

 

прицьому

оглядаємомусимволі.

 

 

 

 

 

 

 

 

Таблиця1

– ФункціональнатаблицяМТ

 

 

 

qi / a j

a1

a2 ...

a j

an

 

 

 

q1

 

 

 

 

 

 

 

q2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

qi

 

 

qiʹaʹj v

 

 

 

 

 

 

 

 

 

 

qk

 

 

 

 

 

 

Приклад 1.Функцітаблицядприкладуональна1

 

 

 

 

 

 

 

qi

/ a j

0

1

λ

 

 

 

q0

 

q0 1R q0 0 R q0λL

 

 

 

q1

q10L q11L qzλR

 

 

Діаграмастанівграф(пере

 

ходів)

це орієнтованийграф

, уякого

кожномустану

відповідає ершинаграфу

,ак

ожнійкоманді

– позначена дуга

(див.рис. 2).

 

 

 

 

 

 

 

22

aj / aʹjv

qi qʹi

Рисунок2

– Діаграмастанівграф( переходів)

машини Тьюрінга

ЗадопомогоюМТжнаписувативикона

 

 

 

нняарифметичнихоперацій

 

надчислами.Прицьомучислапреднастрічціавляютьсяякслова

 

 

 

 

 

 

алфавіті,що

складаєтьсяізцифр

 

якої-небудьсистемичислення,і

 

розділених

спецізн,неальнимком

 

належанимдо

алфавіту A ,наприклад, *

.

 

Найбільшуживаноюсистемою

 

 

 

є унарна, щоскладається

зодного

символу – |.Число

настрічцізаписуєтьсясловом

 

|||||| ...|||||, (абоскорочено

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

|x )валфавіті

А={ | }.

 

 

 

 

 

 

Приклад 2. Операціядо

даваннядвохчисел

вунарном у коді:

x =||||| ...| .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

Початковаконфігурація:

 

 

q1 |a * |b .

Кінцеваконфігурація:

qz |a|b , тобто

додаванняфактичнозводитьсяприпчислаування

 

 

 

b дочисла

a .Для

цьогоперша

| стирається,

азаміняється* на

| .

 

 

Системакоманд

при

A = { |, λ, } та Q = {q1 ,q2 ,q3,qz } зображена

рисунку3.

 

 

 

 

 

 

 

 

1.q1 | q2λR

2.q1 * qz λR

3.q2 | q2 | R

4.q2 * q3 | L

5.q3 | q3 | L

6. q3λ → qz λR

Рисунок3

– Системакоманд

МТдляприкладу2

 

 

 

 

 

 

 

 

 

 

23

Комендосискомандтареми

 

 

 

прикладу2

.

 

 

 

1.

q1 | q2λR – витипершогосимволуання

 

 

|.

 

 

Яукомірціщо,щооглядається,записано

 

 

 

 

символ

| та

МТ

знаходиться устані

q1 ,

тоді станзмінюється

а

q2 ,символ

змінаюється

порожній, КП здвигаєтьсявправо

.

 

 

 

 

 

2. q1 * qz λR – витирання символу ,першийаргументдорівнює0.

 

 

Яукомірціщо,щооглядається,записано

 

 

 

символ та МТ знаходиться

устані

q1 (першийаргументдорівннулю)

є

 

 

, тоді станзмінаюється

qz ,

символ змінпорожнійаюється

 

, КП здвигаєтьсявправо

.

 

 

3.

q2 | q2 | R – здвигвправо.

 

 

 

 

 

 

Яукомірціщо,щооглядається,записа

 

 

 

но символ | та МТ знаходиться

устані

q2 ,

тоді

стан

тасимвол,щооглядаєтьсянезмінюю

 

 

ться,

КП

здвигаєтьсявправо

 

.

 

 

 

 

 

 

 

4. q2 * q3 | L – витсираннямволу

.

 

 

 

Яукомірціщо,щооглядає

 

 

ться,записано

символ та МТ знаходиться

устані

q2 , тоді станзмінаюється

 

q3 , тасимвол,щооглядаєтьсязмінюю

 

ться

на | , КП здвигаєтьсявлівокін( пеаргументуршогоць)

 

 

 

.

 

 

5. q3 | q3 | L – здвигвліво.

 

 

 

 

 

 

Яукомірціщо,щооглядається,записано

 

 

 

символ | та МТ знаходиться

устані

q3 ,

тоді

стан

тасимвол,щооглядаєтьсянезмінюю

 

 

ться,

КП

здвигаєтьсявліво

.

 

 

 

 

 

 

 

 

6. q3λ → qz λR – кінецьалгоритму.

 

 

 

 

 

Яукомірціщо,щооглядається,записано

 

 

 

символ λ та МТ знаходиться

устані

q3 ,

тоді станзмінаюється

 

qz ,

тасимвол,щооглядаєтьсяне

 

 

змінюється,

КП здвигаєтьсявправо(

 

кінецьалгори,КПрозтвмуашовано

 

 

началіробочоїзони)

 

.

 

 

 

 

 

 

 

ОписМТу

вигляді діаграми переходів (див.рис. 4).

 

 

24

 

 

 

| / λR

 

 

 

 

 

 

q1

 

 

 

 

q 2

| / | R

* / λR

 

 

* / | L

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q z

 

 

 

 

q 3

| / | L

 

 

λ / λR

 

 

 

 

 

 

 

 

 

 

Рисунок4

– Діагпереходівама

 

МТдляприкладу2

Таблиця1

– Функціональнатаблиця

 

 

МТ дляприкладу2

 

qi \aj

|

*

 

 

 

λ

 

q1

q2λR qz λR

 

 

-

 

q 2

q2 | R q3 | L

 

 

-

 

q 3

q3 | L

-

 

 

qz λR

ОбчисленнянаМТслов

арної функції

f будеморозумітивтакий

 

спосіб.Нехайупочатковій

 

конфігураціїнастрічцізаписано

слово α .Якщо

значення f ( α )

визначене,то

закінцевчислакрто(ківгоктів

 

)машина

повиннаперейтизаключнуконфігу

 

рацію,уякійнастрічцізаписанеслово

 

β = f ( α ).Упроти

лежному випадкуМТповипрацюватиннаескінченно.

 

 

Числовафункція

 

f ( x1 ,..., xn ) правильно обчислена(

абопросто

обчислена)по

Тьюрінгу,якщо

існуєМТ,що

переводить

конфігурацію

q1 |x1 * |x2 *...* 1xn вконфігурацію qz |y ,коли

f ( x1 ,..., xn ) = y ,абопрацює

нес,колиінченно

f ( x1 ,..., xn ) невизначена.

 

 

25

Тема№3

КОМАШИТЬЮРІНГАПОЗ ЦІЯ

Перерахованівищесп писусобиМТпрактможнавикористатично

 

 

 

 

тількидлянескладнихалгоритмів,

 

впротвилежномупадку

описстає

занадтогроміздким.

МашиниТьюрінгадляскладнихалгоритмівбуду

 

ються

ізвикористаннямуженаявних

 

 

елементарнихашин

Тьюрінга

йт ака

побудоназивається

композицією машинТьюрінга.

 

 

4основн ихспособикомпозиціїМТ:

 

 

 

 

- послідовнакомпозиція(

суперпозиція );

 

 

- паралельнакомпозиція;

 

 

 

 

- розгалуження абоумовнийперехід

;

 

 

- цикл.

 

 

 

 

 

1. Послідовноюкомпозицією

 

або суперпозицією машинТьюрінга

M 1

і M 2 ,щообчисл

юютьвідповідсловнифункі ціїові

 

f1( α ) й

f2 ( α ) в

алфавіті А,називаєтьсямашина

 

M,якаобчислюєфункцію

f ( α ) = f2 (

f1( α )).

Позначення: M = M 1 M 2 або M = M 2 ( M 1 ).

 

 

 

Послідовнукомпозицію

 

M = M 1 M 2 зображенрисункуао5.

 

 

α

 

 

f1( α )

 

 

f2 ( f1( α

 

 

 

M 1

 

 

M 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок5

– Послідовнакомпозиція

МТ

 

2Паралельною. композицією

 

 

машинТьюрінга

 

M 1 і M 2 ,що

обчислюютьвідповідні

словнифункціїові

 

f1( α ) й

f2 ( β ) валфавітах

А й В,

називаєтьсямашина

M,якаобчислюєсловнифункціюову

 

 

 

f ( α||β) = f1( α )|| f2 ( β).Тутзнак

|| викодляриозспритаєтьсяліводілу

 

 

 

 

 

 

 

 

 

26

паралельнійкомпозиціїМТ.

 

Паралельнукомпозицію

МТ M 1 і M 2

зобнар.аженоис

6.П означення: M = M 1 M 2 .

 

 

 

 

 

 

 

 

 

 

M

 

 

 

 

α

 

 

 

 

f1 (α)

 

 

 

 

 

 

 

M1

 

 

 

 

 

 

 

 

 

 

 

 

 

f 2 (β )

 

 

 

 

 

 

 

β

 

M 2

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок6 – Паралельна композиція МТ

ФактичнопаралельнакомпдвМТозиціядержуєхнавхідслово,що

 

складаєтьсяз2

-хслівурізнихалфавітах

авиходівидаєслово,якетакож

складаєтьсяз 2

-хслів,тобтоявляєсобоюдвіодночйнезалежносно

 

працюючімашини.ДляреалізпаркомпалельноїціїдвМТзиціїх

 

використаємашинаіздвоповерхтьсярічкою. вою

 

МашинаТьюрінгаіздвоповерхстрічкоювою

працюєвтакийспосіб:

1)слово β переписуєтьсянадругийпотаверхитираєтьсяна

першому;

 

 

 

2)

обчислюється

f1 ( α ) напершомуповерсі

;

3)

обчислюється

f2 ( β ) надругомуповерсі

;

4)f2 ( β ) переписується напершийповерх,можливозізрушенням.

 

 

qi

bk

qiʹ

bkʹ

a j ,bk

КомандаМТіздвоповерхстрічкою: вою

 

 

, де

a j

aʹj

бук,запвідповідноисанінапершомуйдругомуверхах

 

 

 

.Нехай

n,m

довжинаслів

α,β. Узагальномувипадкдовжинислів

 

 

α,β та f1( α ), f2 ( β )

неспівпадають.Нехайзадляпростотизображення

 

m = n ,тодіреалізація

пунктів1)

-4)наМТіздвопострічвиконуєтьсяерхтакийспосібвою

 

 

 

 

 

,

якпо казнрисункуано7.

 

 

 

 

 

 

Дляреалізкомпозиціїпаралельної

n машинвикористається

n-

повест.рховаічка

 

 

 

 

 

 

 

27

λ

λ

λ

λ

λ

λ

λ

λ

a1

a2

b1

an

 

 

 

 

 

 

b1

 

 

 

 

 

 

 

λ

 

 

b2

 

 

λ

 

a1

 

a2

 

 

 

 

λ

 

f2 ( β )

 

 

 

 

λ

 

f1( α )

 

 

 

 

λ

 

λλλλ...

λ

 

 

 

λ

 

f1(α )

 

 

 

f2 ( β )

 

 

 

 

 

 

Рисунок7 – Схемароботиіздвоповерхстрічкоювою

λ

λ

λ

λ

b2

bm

λ

 

bm

λ

 

 

an

λ

 

λ

 

 

 

λ

 

 

 

 

λ

 

 

 

λ

 

 

3. Розгалуженняабоумовнийп

 

 

ерехід

вкомашинпоз ції

Тьюрінга

 

 

 

 

 

 

 

 

 

 

 

ЯкщозадмаТьюрінгашинині

 

M 1 й M 2 ,щообчислюютьсловникові

 

функції f1( α ) й f2 ( α ),імашина

M P ,щообчислюєдеякийпредикат

 

 

P( α ) з

відновленнямтоб( безстиранняслова

 

 

α ), тодляреалірозгалуженняації

 

можебутипобудованамашина

 

 

M ,щообчислюєфункцію:

 

 

 

 

 

 

 

 

f1

( α ),

 

P( α ) " true"

.

 

 

 

 

f ( α ) =

( α ),

 

 

 

 

 

 

 

 

 

f2

 

P( α ) " false"

 

РозгалуженмашинТьюрінасхемахкомпозиціїнгая

 

 

 

 

 

 

 

(див.рис. 8)

позначається

M = M 1 M 2 , тут

w – результатроботимашини

 

 

M P ,що

приймаєзначення«1» (

 

true”)і «0» (

false”),

M 0

– машинаТьюрінга,що

реалізуєкопіюваннявхідногосл

 

 

ова α → α .

 

 

 

 

 

 

 

 

w* α

 

 

 

 

1

 

 

α

 

 

 

 

 

 

 

f1( α )

 

M p M0

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

M 1 M 2

 

 

f

2 ( α )

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок8 – РозгалуженмашинТьюрінасхемахкомпозиціїнгая

28

4. Цикл укомашиТьюрінгапоз ції

Цикл укомашпозТьюрінгареалізуєтьсяиціїзатимиж

принцип,щойрозг.Циклічнимамилуже ня

 

будемовважатинаступний

 

 

алгоритм:

« поки P( α )= true”,виконувати f ( α ) »,де α – словона

трічці

передпершимвиконаннямта

післячерговоговиконання

.

 

 

Длязображециклувикористаєтьсянняаступн

 

асхема

(див.рис. 9).

 

Введемопоз,нехай:ачення

 

 

 

 

M p – машинаТьюрінга,щореалізуєобчисленняпредикату

 

P( α );

M 0

– машинаТьюрінга,щореалізуєкопіюваннявхідногослова

 

;

 

M 1

– машинаТьюрінга,що

виконуєтьсяцикліта

реалізує f1( α );

M 2 – МТ,що виконуєприізциклуходітаься

реалізує

f2 ( α ).

 

 

 

w* α

1

f1( α )

α

M p M0

 

 

1

0

f2 ( α )

 

M 1

M 2

 

 

 

 

 

 

0

 

Рисунок9 – Цикл укомашпозТьюрінгаиції

ПрогрздопамуваннякомпозмашогоюТьюрінгаицій

:

1)

поблокудова

-схемидот,докиблокинестанутьелементарними,

 

щодореалізаціїїхнаМТ

;

 

2)

побудоваелементаМТ,реалізуючипростіблокиних

;

3)

об'єднанняелементарнихМТзарахуноккомпозиціїМТ.

 

Приклад.

Побудувати композицію МТ,

щореалізуєфункцію

z = x × y .

Нехай M 0 – машинаТьюрінга,щореалізуєкопіюваннявхідногослова

 

;

M 0 – машинаТьюрінга,щореалізуєфункціюустановкиконстанти

 

0;

M .>0 – машинаТьюрінга,якобчислюєпредикат

x > 0 ;

 

M ni – машинаТьюрінга,щореалізуєфункціювибору

i - тогоаргументу

із n аргументів;

 

 

 

M 1 – машинаТьюрізмеаргументшуєга

x нав1унарномукоді

;

29

M + – машинаТьюрінгавиконуєопераціюдодаргументіввохвання

унарномукоді.

x, y

z=0

0

x > 0

z

1

z = z + y

x = x 1

Рисунок10

– Блок-схемаобчисленняфункції

z = x × y

1x 1y

M0

1x 1y 1z=0

M>0 ( M31 ) M0

w 1x 1y 1z

M 0

α

 

 

 

1

 

 

1

0

 

M1( M31 ) M32 M+( M32 ,M33 )

α

M 0 M 33

end

 

 

 

0

 

Рисунок11

– КомпозашТьюрдляиобчисленнянцінгафункції

z = x × y

Слідзазнач,щоувсіхинптипочаткудкалгоритмупотрібнох

 

вставлятиперевіркувихіднихданихнаособливізначення(

найчастіше0 ),

недотриманняцієївиможепрогизацикленнявести.

30

Тема№4

НОРМАЛЬНІАЛГОРИТМИМАРКОВА

Нормальніалгоритми

булозапропоновано

у 1951р

оці

радянським

вченим А..

Марковим. АлгоритсистемаМарковічна

 

 

а –

це найостанніше

досягнення в теорії алгоритмів,не

пов'язане

 

арифметикою.

 

 

НормальніалгоритмиМарковаНАМ()представляютьсянормальною

 

 

 

 

 

 

схемоюпідст,якскладаєтьсяновокзсукупнпідстановокі,р з ашованих

 

 

 

 

 

 

 

впевномупорядку.

На відміну від машинТьюріннормальнігоритми

 

це не пристрій,а деякийнабір

 

(впорядкований ) елементоперарнихцій

над

словами.

 

 

 

 

 

 

 

 

НормальніалгоритмиМарковаНАМ()

 

 

 

 

представляютьсясхемою

підст,якскладаєтьсяновокзсукупнпідстановокі,р з ашованих

 

 

 

 

 

 

 

певномупорядку.

Навходіалгоритмуслово

 

 

 

γ зарахунзастосуванняк

алгоритмуМарковапереробляєтьсяслово

 

 

 

γʹ.

 

 

Марковськапідстановка

 

(МП)

– цеопераціянадсловами

 

α,β,γ,яка

полягаєвнаступному:

 

 

 

 

 

 

 

1)

ув хіднсломуві

γ

шукається крайнє лівевходженняслова

α ,

якщовоноіснує,

α заміняємона

β вслові

γ ;

 

 

 

2)отриманеслово γʹ є результзастосуваннямарковськоїтом

підстановкидослова γ ;

3) якщослово

α невходитьуслово

γ ,то

кажуть,щодана

марковськапідстановка

не можебути

застосовнад

ослова

γ .

ЗвичМПзаписуєтьсяйнояк

 

α → β.

 

 

| α | | β |: узагальномувипадкдовжинислів

 

 

α,β можутьне

збігатися.

 

 

 

 

 

| γ | | γʹ |: довжинислів

γ,γʹ

узагальномувипадктакожнеуть

 

збігатися.

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