Reading Comprehension: An Interactive Process Chapter 7 Cohen and Cowan.
Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.
-
date post
20-Dec-2015 -
Category
Documents
-
view
235 -
download
0
Transcript of Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.
![Page 1: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/1.jpg)
Cohen, Chapter 6 1
Introductionto
Computational Theory
Chapter 6
![Page 2: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/2.jpg)
Cohen, Chapter 6 2
Automatic Door/FA
Frontpad
Rearpad
closed open
Front
Neither
Front,Rear,Both
Rear,Both,Neither
![Page 3: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/3.jpg)
Cohen, Chapter 6 3
Nondeterministic
When the ultimate path through a machine is not determined by input alone the machine is nondeterministic.
![Page 4: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/4.jpg)
Cohen, Chapter 6 4
Preamble to Chapter 6
NFAs– Non-deterministic finite automata– Vs. DFAs (deterministic – the book calls FAs)
We allow multiple transitions per letter per state– Including “lambda-transitions”
Move on a whim (w/o consuming input)– Accept if a path exists to a final state
Transition relation: 2QQ
![Page 5: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/5.jpg)
Cohen, Chapter 6 5
a
-
+
+
a
a
a
- +a a
a,ba,b
a
- +b
a
b
a,b
a,b
Examples
![Page 6: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/6.jpg)
Cohen, Chapter 6 6
Why Non-determinism?
More expressive model Easier to find machines for a language
– E.g., unions of two languages/machines
![Page 7: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/7.jpg)
Cohen, Chapter 6 7
Examples
(ab + aba)* Language over {a b} where last symbol is
repeated
![Page 8: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/8.jpg)
Cohen, Chapter 6 8
NFA – DFA Equivalence
There is an algorithm to convert a NFA to a DFA
Just track all the possibilities– Collapse lambda moves
States are a subset of 2Q
“Rabin-Scott” Algorithm Example: a+c*b*
![Page 9: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/9.jpg)
Cohen, Chapter 6 9
Lambda Transitions
Handy for combining machines– E.g., union of two languages: create a new start
state with lambda moves to the start states of the two machines
![Page 10: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/10.jpg)
Cohen, Chapter 6 10
Examples
a
- +b
b
a
x1
x2
x4
x3
a,b
a,b
![Page 11: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/11.jpg)
Cohen, Chapter 6 11
Examples
b b-x1 x2 +x4x3b
b
![Page 12: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/12.jpg)
Cohen, Chapter 6 12
Examples
b b-x1 x2 +x3
a,b a,b
![Page 13: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/13.jpg)
Cohen, Chapter 6 13
Examples
b
b
-x1
x2 x3
a,b a,b
x5 x6
x7+b
a
aa
![Page 14: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/14.jpg)
Cohen, Chapter 6 14
Transition Graphs
Abandon the requirement that the edges eat just one letter at a time.
- +baa
a,bAll else
a,b
- +baa
All else
![Page 15: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/15.jpg)
Cohen, Chapter 6 15
Crashes (Formerly, Hell State or Jail)
When an input string that has not been completely read reaches a state (final or otherwise) that it cannot leave because there is no outgoing edge that it may follow, we say that the input (or the machine) crashes at that state.
![Page 16: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/16.jpg)
Cohen, Chapter 6 16
Rejected Input
Trace a path ending in a non-final state Crash while being processed
- +
a,b
a,baa, bb
baa
![Page 17: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/17.jpg)
Cohen, Chapter 6 17
Acceptance
A string is accepted by a TG if there is some way it could be processed as to arrive at a final state.
There may also be ways in which this string does not get to a final state, but we ignore all failures.
![Page 18: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/18.jpg)
Cohen, Chapter 6 18
Transition Graph
A collection of three things:
1. A finite set of states, at least one of which is designated as the start state (-) and some (maybe none) of which are designated as final states (+)
2. An alphabet of possible input letters from which input strings are formed.
3. A finite set of transitions (edge labels) that show how to go from some states to some others, based on reading specified substrings of input letters (possibly even the null string )
![Page 19: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/19.jpg)
Cohen, Chapter 6 19
Successful Path
A successful path through a transition graph is a series of edges forming a path beginning at some start state (there may be several) and ending at a final state.
1- 2 3 4+abb a
aa
b
Free Rideabbab…
abbaa…
abbababba
A Lambda transition occurs when you get a free transition that was not initiated by user or system action/interaction. Move on a whim (w/o consuming input). Slide modified by Seals
![Page 20: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/20.jpg)
Cohen, Chapter 6 20
Equivalent Language Acceptors
+- 2
3aba
a
b
1
2-
3-
+
aba
a
b
1-
![Page 21: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/21.jpg)
Cohen, Chapter 6 21
Examples
-
-
+
-
-baaabba
![Page 22: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/22.jpg)
Cohen, Chapter 6 22
Examples
- +
+ +a
bb
- +
a,b
![Page 23: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/23.jpg)
Cohen, Chapter 6 23
Examples
(a + b)*b- +
a,b
bTG
- +
ab b
a
FA
![Page 24: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/24.jpg)
Cohen, Chapter 6 24
Examples
+
a,b
b
+
a,b
a
-
b
a
![Page 25: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/25.jpg)
Cohen, Chapter 6 25
Examples(EVEN-EVEN; cf. p. 69)
aa,bbab.ba aa,bb
ab.ba
![Page 26: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/26.jpg)
Cohen, Chapter 6 26
Example(p. 84)
a,b
ab
bbbb
bbbb
bbb
a
a a a
a
b
b
- +
![Page 27: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/27.jpg)
Cohen, Chapter 6 27
Examples(p. 85)
aa
+
-
aa
+
-+
![Page 28: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/28.jpg)
Cohen, Chapter 6 28
Example(Problem 17, p. 91)
L = {a abb bbaab bbbaa} 1) given a FA that accepts L, construct a TG
that accepts transpose(L)– Invert start/final states; reverse arrows
2) given a TG that accepts L, construct a TG that accepts transpose(L)– Same as 1, but reverse transition strings
![Page 29: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/29.jpg)
Cohen, Chapter 6 29
Generalized Transition Graph (GTG)
A collection of three things:
1. A finite set of states, at least one of which is designated as the start state (-) and some (maybe none) of which are designated as final states (+)
2. An alphabet of possible input letters from which input strings are formed.
3. Directed edges connecting some pairs of states, each labeled with a regular expression.
![Page 30: Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.](https://reader035.fdocuments.net/reader035/viewer/2022062407/56649d435503460f94a20059/html5/thumbnails/30.jpg)
Cohen, Chapter 6 30
Examples
3+1-
2
L1
L2
L3
L4
L5
+
)b( (ab + a)* a
a