Ladda ner presentationen
Presentation laddar. Vänta.
1
a+ba+b q0q0 q1q1 q4q4 q2q2 q3q3 abb Motsvarande RE = ( a+b )* abb
2
DFA för ( a + b ) * abb s0s0 a s1s1 b s3s3 b s4s4 s2s2 a b b a a a b
3
Minimering av DFA s0s0 a s1s1 b s3s3 b s4s4 s2s2 a b b a a a b s 0, s 2 a s1s1 b s3s3 b s4s4 b a a a b sluttillstån d
4
DFA Minimization a ( b + c )* The subset construction q0q0 q1q1 a q4q4 q5q5 b q6q6 q7q7 c q3q3 q8q8 q2q2 q9q9 s3s3 s2s2 s0s0 s1s1 c b a b b c c Final states
5
Then, apply the minimization algorithm to produce the minimal DFA s3s3 s2s2 s0s0 s1s1 c b a b b c c s0s0 s1s1 a b + c final states
7
AB C D E
11
0 q
14
q0q0 q2q2 q1q1 a a b b b a
30
q0q0 q2q2 q1q1 a a b b b a
32
123456
38
Ratio(x,2)
39
Greater?
43
Sipser 2.10 p. 105
48
1 2 4 3 5
51
AB C D E
52
AB C D E
56
0 q
59
q0q0 q2q2 q1q1 a a b b b a
74
q0q0 q2q2 q1q1 a a b b b a
76
123456
82
Ratio(x,2)
83
Greater?
94
AB C D E
98
0 q
101
q0q0 q2q2 q1q1 a a b b b a
117
q0q0 q2q2 q1q1 a a b b b a
119
123456
125
Ratio(x,2)
126
Greater?
130
Sipser 2.10 p. 105
134
q0q0 q1q1 q2q2 q3q3 q4q4 b/x,R #,R #/b,R x/#,R a,L b,L #,L a,R b,R a,R b,R a,R #,R Q = {q 0, q 1, q 2, q 3, q 4 } = {a, b, x, #} B = # = {a, b} q 0 is the start state F = {q 4 } baabab###….. Accepted? Input:
135
Turingmaskin 1 – vad gör den? q0q0 q1q1 q2q2 q3q3 q4q4 b/x,R #,R #/b,R x/#,R a,L b,L #,L a,R b,R a,R b,R a,R #,R Q = {q 0, q 1, q 2, q 3, q 4 } = {a, b, x, #} B = # = {a, b} q 0 is the start state F = {q 4 } baabab###….. Accepteras? Input:
136
Turingmaskin 1 Initialt har den tapepekaren på första tecknet i inputsträngen. Strängen baabab är input och den strängen accepteras. Vid acceptans har tapen utseendet #aa#a##bbb och tapepekaren pekar på första b:et efter ##. Det maskinen gör är ersätta alla b:n med #:n i orginalsträngen och ge alla b:n som output sist. (Jag tror att q2->q2 genom a,R skulle kunna tas bort samt att q2->q2 #,b/R skulle kunna ersättas med q2->q2 #,b/L. Men jag är inte 100% säker och maskinen fungerar ju fint som den är. )
137
q0q0 q1q1 q2q2 q3q3 q4q4 q5q5 q6q6 #,R a,R #,R c,R z,R a,R y,R a/x,Rb/y,R b,R z,R c/z,L a,L b,L c,L x,L y,L z,L x,R #,R y,R z,R b,R c,R #,R b,R c,R #,R Q = {q 0,...,q 6 } = {a,b,c,x,y,z,#} B = # = {a,b,c} start state = q 0 F = {q 6 } aabbcc###….. Accepteras? Turingmaskin 2 – vad gör den? Input:
138
q0q0 q1q1 q2q2 q3q3 q4q4 q5q5 q6q6 #,R a,R #,R c,R z,R a,R y,R a/x,Rb/y,R b,R z,R c/z,L a,L b,L c,L x,L y,L z,L x,R #,R y,R z,R b,R c,R #,R b,R c,R #,R Q = {q 0,...,q 6 } = {a,b,c,x,y,z,#} B = # = {a,b,c} start state = q 0 F = {q 6 } aabbcc###….. Accepteras? Turingmaskin – vad gör den? Input:
139
Turingmaskin 2 Initialt har maskinen tapepekaren på första tecknet i inputsträngen. Strängen aabbcc är input. Den accepteras och då har tapen utseendet xxyyzz## och tapepekaren pekar på andra #:et på högersidan. Den har matchat uttrycket a n b n c n där n 1.
140
Q = {q 0,...,q 9 } = {a,1,#} B = # = {1} start state = q 0 F = {q 9 } Turingmaskin 3 – vad gör den? q0q0 q1q1 q2q2 q3q3 1/a,R #,R 1/a,R 1,R q4q4 #,R #/1,L 1,L #,L q5q5 a/1,R#,L 1,L #,L q6q6 a/1,R q7q7 1 x #1 y ## q8q8 q9q9 1,R #,R 1,R Input: Output?
141
Turingmaskin 3 Initialt har maskinen tapepekaren på första tecknet i inputsträngen. Turingmaskinen tar in två tal på unär form x och y. Den beräknar funktionen F(x,y) = x y och skriver sin output sist så att tapen efter körd funktion har utseendet 1 x #1 y #o där 1 x #1 y är orginalinput och o output. Vid färdig körning pekar tapepekaren på första 1:an i outputen.
142
Aug tenta- 2003-030820
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.