Pertemuan 14 - Turing Machines [Compatibilit · PDF fileTIU & TIK Memahami konsep : 1....

Preview:

Citation preview

Mesin Turing

1

Pertemuan Ke-14

Sri Handayaningsih, S.T., M.T.

Email : ning_s12@yahoo.com

Teknik Informatika

TIU & TIK

Memahami konsep :1. Definisi Mesin Turing2. Contoh aplikasi Mesin Turing3. Mesin Turing sebagai penerima bahasa4. Mesin Turing sebagai transducer

22

4. Mesin Turing sebagai transducer

Hirarki Bahasa

Bahasa Bebas Konteks

nnn cba ww? ?

3

*aBahasa Reguler

Bahasa Bebas Konteksnnba Rww

**ba

Bahasa Bebas Konteks

nnn cba ww

Bahasa yg diterimaMesin Turing

4

*aBahasa Reguler

Bahasa Bebas Konteksnnba Rww

**ba

Definisi Formaluntuk

Mesin Turing

5

Mesin Turing

Fungsi Transisi

1q 2qRba ,

6

),,(),( 21 Rbqaq

1q 2qLdc ,

Fungsi Transisi

7

),,(),( 21 Ldqcq

Definisi Mesin Turing:

),,,,,,( 0 FqQM

States

Inputalphabet

Pitaalphabet

8

),,,,,,( 0 FqQM

FungsiTransisi

Stateawal

kosong

Stateakhir

Konfigurasi

ba

1q

ac

9

Diskripsi secara instan : baqca 1

yx

2q

a bTime 4

yx

0q

a bTime 5

10

Gerakan : aybqxxaybq 02

yx

2q

a bTime 4

yx

0q

a bTime 5

Time 6 Time 7

11

bqxxyybqxxaybqxxaybq 1102

yx

1q

x b yx

1q

x b

bqxxyybqxxaybqxxaybq 1102

bqxxyxaybq 12

Notasi yg Equivalen :

12

bqxxyxaybq 12 Notasi yg Equivalen :

Initial configurasi: wq0

w

string Inputan

13

ba

0q

a b

Bahasa yg Diterima

Untuk setiap Mesin Turing M

}:{)( 210 xqxwqwML f

14

210 f

State awal State akhir

Standar Mesin Turing

• Deterministik

Sebuah mesin dikatakan standar jika :

15

• pita tak terhingga pada kedua arah

•Pita merupakan input/output file

Mesin Turing

............Tape

Read-Write headControl Unit

16

Control Unit

Pita

............

Read-Write head

Tidak punya batasan – panjang tak terhingga

17

Read-Write head

head bergerak kiri atau kanan

............

Read-Write head

Langkah head pada setiap waktu :

18

Langkah head pada setiap waktu :

1. Read (membaca) simbol2. Write (menulis) simbol3. Bergerak kiri atau kanan

............

Contoh :Time 0

............Time 1

a a cb

19

............Time 1

1. Reads

2. Writes

a b k c

ak

3. Bergerak kiri

............Time 1

a b k c

............Time 2

20

............ a k cf

1. Reads

2. Writes

bf

3. Bergerak kanan

String inputan

............

Simbol kosong

a b ca

string Inputan

21

head

b

Head mulai pada posisi kiripada string inputan

............

Simbol kosong

a b ca

string Inputan

22

head

b

Catatan : string inputan tidak pernah kosong

State & Transisi

q qLba ,

Read WriteBergerak ke kiri(Left)

23

1q 2qLba ,

1q 2qRba ,

BergerakKanan ( Right)

Contoh :

............ a b ca

Time 1

1qState saat ini

24

1q 2qRba ,

State saat ini

............ a b caTime 1

Time 2

1q

25

1q 2qRba ,

............ a b cbTime 2

2q

............ a b caTime 1

Time 2

1q

Contoh :

26

1q 2qLba ,

............ a b cbTime 2

2q

............ a b caTime 1

Time 2

1q

Contoh :

27

1q 2qRg ,

............ ga b cbTime 2

2q

Deterministik

2qRba ,

diterima Tdk diterima

2qRba ,

Mesin Turing adalah deterministik

28

1q

2q

3qLdb ,

1q

3qLda ,

Tidak ada transisi lambda yg mengikuti

Fungsi Transisi Parsial

............ a b ca

1q

Contoh :

29

1q

2qRba ,

3qLdb ,

1q

Tidak ada transisiuntuk simbol inputan c

Diterima :

Menolak

Mesin akan menolak jika tidak adatransisi untuk diikuti

30

transisi untuk diikuti

Contoh :

............ a b ca

1q

31

1q

1q

2qRba ,

3qLdb ,

Transisi tdk mungkin

HALT !!!

State Akhir

1q 2q Diterima

q q Tdk diterima

32

1q 2q Tdk diterima

•State akhir tdk mempunyai transisi keluar• pada state akhir mesin ditolak

Penerimaan

Input diterima Jika mesin ditolakPada state akhir

jika mesin halt

33

Input ditolak

jika mesin haltpada state bukan akhir

ataujika mesin pada loopTak terhingga

Contoh MesinTuring

Tentukan bahasa yg diterima oleh grafTransisi berikut ini ?

34

0q

Raa ,

L,1q

Jawaban

Mesin Turing menerima bahasa : *aa

35

0q

Raa ,

L,1q

aaTime 0

0q

a

36

0q

Raa ,

L,1q

aaTime 1

0q

a

37

0q

Raa ,

L,1q

aaTime 2

0q

a

38

0q

Raa ,

L,1q

aaTime 3

0q

a

39

0q

Raa ,

L,1q

aaTime 4

1q

a

40

0q

Raa ,

L,1q

Halt & diterima

Contoh yg ditolak

baTime 0

0q

a

41

0q

Raa ,

L,1q

baTime 1

0q

a

Transisi tidak mungkin

42

0q

Raa ,

L,1q

Transisi tidak mungkinHalt & ditolak

Tentukan bahasa yg diterima oleh grafTransisi berikut ini ?

Lbb ,

43

0q

Raa ,

L,1q

Lbb ,

Contoh Loop Tdk Berhenti

Lbb ,

Mesin Turinguntuk bahasa *)(* babaa

44

0q

Raa ,

L,1q

Lbb ,

baTime 0

0q

a

Lbb ,

45

0q

Raa ,

L,1q

Lbb ,

baTime 1

0q

a

Lbb ,

46

0q

Raa ,

L,1q

Lbb ,

baTime 2

0q

a

Lbb ,

47

0q

Raa ,

L,1q

Lbb ,

baTime 2

0q

a

baTime 3

0q

a

Looptidak

berhenti

48

baTime 4

0q

a

baTime 5

0q

a

Looptidak

berhenti

kenapa loop tidak berhenti, karena:

•State akhir tidak dapat direached

•Mesin tidak pernah halts

49

•Mesin tidak pernah halts

•inputan tidak diterima

Contoh Mesin Turing Lainya

Tentukan bahasa yg diterima oleh grafTransisi berikut ini ?

Ryy , Lyy ,q

50

0q 1q 2q3q Rxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

Jawaban :

Mesin Turing untuk bahasa : }{ nnba

Ryy , Lyy ,q

51

0q 1q 2q3q Rxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

Ryy , Lyy ,q

ba

0q

a bTime 0

52

0q 1q 2q3q Rxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

Ryy , Lyy ,q

bx

1q

a b Time 1

53

0q 1q 2q3q Rxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

Ryy , Lyy ,q

bx

1q

a b Time 2

54

0q 1q 2q3q Rxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

Ryy , Lyy ,q

yx

2q

a b Time 3

55

0q 1q 2q3q Rxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

Ryy , Lyy ,q

yx

2q

a b Time 4

56

0q 1q 2q3q Rxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

Ryy , Lyy ,q

yx

0q

a b Time 5

57

0q 1q 2q3q Rxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

Ryy , Lyy ,q

yx

1q

x b Time 6

58

0q 1q 2q3q Rxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

Ryy , Lyy ,q

yx

1q

x b Time 7

59

0q 1q 2q3q Rxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

Ryy , Lyy ,q

yx x y

2q

Time 8

60

0q 1q 2q3q Rxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

Ryy , Lyy ,q

yx x y

2q

Time 9

61

0q 1q 2q3q Rxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

Ryy , Lyy ,q

yx

0q

x y Time 10

62

0q 1q 2q3q Rxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

Ryy , Lyy ,q

yx

3q

x y Time 11

63

0q 1q 2q3q Rxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

Ryy , Lyy ,q

yx

3q

x y Time 12

64

0q 1q 2q3q Rxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

Ryy , Lyy ,q

yx

4q

x y

Halt & diterima

Time 13

65

0q 1q 2q3q Rxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

Jika dilakukan modifikasi padaMesin untuk bahasa }{ nnba

Observasi:

66

Dengan sangat mudah untukmenkontruksi mesin untukbahasa }{ nnn cba

Mesin untuk L = {vv|v in{a,b}*} ?

67

{a,b}*} ?

Fungsi Komputasidengan

Mesin Turing

68

Mesin Turing

fungsi )(wf

Domain: Range:

mempunyai:

D S

)(wf

69

Dw Swf )()(wf

Fungsi mungkin mempunyai banyak parameter :

yxyxf ),(

Contoh: Fungsi Penambahan

70

Domain Integer

Binary:

Desimal:

101

0,5

71

Unary: 11111

unary mudah utk dimanipulasi denganmesin Turing

Definisi:

fungsi bisa dikomputasi jikaMesinTuring mempunyai hal-hal sbb :

fM

Configurasi awal Configurasi akhir

72

Configurasi awal Configurasi akhir

Dw Domain

0q

w

fq

)(wf

State akhirState awal

Untuk semua

)(0 wfqwq f

fM

Dengan kata lain :

fungsi bisa dikomputasi jikaMesinTuring mempunyai hal-hal sbb :

73

Configurasi awal Configurasi akhir

Dw DomainUntuk semua

Contoh

Fungsi yxyxf ),( Dapat dikomputasi

Mesin Turing:

yx, integer

74

Mesin Turing:

string Inputan : yx0 unary

string Outputan : 0xy unary

0

0q

1 1 1 1

x y

1 Mulai

State awal

75

State awal

“0” memrupakan pembatasUntuk dua nomer yang sama

0

0q

1 1 1 1

x y

1 Start

State awal

76

0

fq

1 1

yx

11Finish

State akhir

‘0’ membantu ketika digunakanSbg kesimpulan untuk operasi lain

77

0

fq

1 1

yx

11Finish

State akhir

Mesin Turing untuk fungsi

L,11R,11 R,11

yxyxf ),(

78

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

Contoh eksekusi:

11x

11y 0

0q

1 1 1 1

Time 0

x y(2)

(2)

79

Kesimpulan akhir

0

4q

1 1 1 1yx

0

0q

1 1Time 0

L,11R,11 R,11

1 1

80

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

0q

L,11R,11 R,11

01 11 1Time 1

81

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

L,11R,11 R,11

0

0q

1 1 1 1Time 2

82

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

L,11R,11 R,11

1q

1 11 11Time 3

83

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

L,11R,11 R,11

1q

1 1 1 11Time 4

84

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

L,11R,11 R,11

1q

1 11 11Time 5

85

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

L,11R,11 R,11

2q

1 1 1 11Time 6

86

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

L,11R,11 R,11

3q

1 11 01Time 7

87

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

L,11R,11 R,11

3q

1 1 1 01Time 8

88

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

L,11R,11 R,11

3q

1 11 01Time 9

89

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

L,11R,11 R,11

3q

1 1 1 01Time 10

90

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

L,11R,11 R,11

3q

1 11 01Time 11

91

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

L,11R,11 R,11

4q

1 1 1 01Time 12

92

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

HALT & diterima

Pustaka1. Tedy Setiadi, Diktat Teori Bahasa dan Otomata, Teknik

Informatika UAD, 20052. Hopcroft John E., Rajeev Motwani, Jeffrey D. Ullman,

Introduction to Automata Theory, Languages, andComputation, 2rd, Addison-Wesley,2000

3. Martin C. John, Introduction to Languages and Theoryof Computation, McGraw-Hill Internatioanal edition,1991

4. Linz Peter,Introduction to Formal Languages &

93

4. Linz Peter,Introduction to Formal Languages &Automata, DC Heath and Company, 1990

5. Dulimarta Hans, Sudiana, Catatan Kuliah MatematikaInformatika, Magister Teknik Informatika ITB, 1998

6. Hinrich Schütze, IMS, Uni Stuttgart, WS 2006/07,Slides based on RPI CSCI 2400

Recommended