Nondeterministic Finite Automata NFAs Reminder Deterministic Finite Automata
![Nondeterministic Finite Automata (NFAs) Nondeterministic Finite Automata (NFAs)](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-1.jpg)
![Reminder: Deterministic Finite Automata (DFA) For every state q in Q and every character Reminder: Deterministic Finite Automata (DFA) For every state q in Q and every character](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-2.jpg)
![Expressiveness of DFA • DFA are a type of programs • Contains concepts of Expressiveness of DFA • DFA are a type of programs • Contains concepts of](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-3.jpg)
![Another Example a b A b > s a q a What is the Another Example a b A b > s a q a What is the](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-4.jpg)
![Nondeterministic Finite Automata a b b r a > s a a q b Nondeterministic Finite Automata a b b r a > s a a q b](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-5.jpg)
![Nondeterministic Finite Automata (NFA) For every state q in S and every character in Nondeterministic Finite Automata (NFA) For every state q in S and every character in](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-6.jpg)
![Nondeterministic Finite Automaton (NFA) A nondeterministic finite automaton (NFA) is a 5 -tuple (Q, Nondeterministic Finite Automaton (NFA) A nondeterministic finite automaton (NFA) is a 5 -tuple (Q,](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-7.jpg)
![Nondeterministic Finite Automata (NFA) What else can occur in NFAs? q e q’ If Nondeterministic Finite Automata (NFA) What else can occur in NFAs? q e q’ If](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-8.jpg)
![Formal Definition of Computation for NFAs • Given a nodeterministic finite automaton N= (Q, Formal Definition of Computation for NFAs • Given a nodeterministic finite automaton N= (Q,](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-9.jpg)
![Same Example a b b r a > s a a q b a Same Example a b b r a > s a a q b a](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-10.jpg)
![Example a >s b q b r b 1. Why is this automation nondeterministic? Example a >s b q b r b 1. Why is this automation nondeterministic?](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-11.jpg)
![Why We Study Nondeterministic Computation? • Makes it easier to prove properties about Automata Why We Study Nondeterministic Computation? • Makes it easier to prove properties about Automata](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-12.jpg)
![Oracle in NFAs • The oracle explanation of NFAs: given a choice between possible Oracle in NFAs • The oracle explanation of NFAs: given a choice between possible](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-13.jpg)
![NFA vs DFA • Every DFA can be seen as an NFA • But NFA vs DFA • Every DFA can be seen as an NFA • But](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-14.jpg)
![NFA vs DFA (2) • How about this one? a b b r a NFA vs DFA (2) • How about this one? a b b r a](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-15.jpg)
- Slides: 15
![Nondeterministic Finite Automata NFAs Nondeterministic Finite Automata (NFAs)](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-1.jpg)
Nondeterministic Finite Automata (NFAs)
![Reminder Deterministic Finite Automata DFA For every state q in Q and every character Reminder: Deterministic Finite Automata (DFA) For every state q in Q and every character](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-2.jpg)
Reminder: Deterministic Finite Automata (DFA) For every state q in Q and every character in , one and only one transition of the following form occurs: q > s b a p q’ b a q b r a a a b t b
![Expressiveness of DFA DFA are a type of programs Contains concepts of Expressiveness of DFA • DFA are a type of programs • Contains concepts of](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-3.jpg)
Expressiveness of DFA • DFA are a type of programs • Contains concepts of imperative languages: sequences, branching and loops. • Can implement a newspaper vendor machine or even control a character in a video game • Can implement pattern matching: find all text containing “Britney Spears” (or “Justin Timberlake”) • Can only implement programs that require a constant amount of memory
![Another Example a b A b s a q a What is the Another Example a b A b > s a q a What is the](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-4.jpg)
Another Example a b A b > s a q a What is the language recognized by A? a B a > s q b b What is the language recognized by B? r b a r b
![Nondeterministic Finite Automata a b b r a s a a q b Nondeterministic Finite Automata a b b r a > s a a q b](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-5.jpg)
Nondeterministic Finite Automata a b b r a > s a a q b a b q q’ b r r’ a b 1. Why is this automaton nondeterministic? 2. What is the language accepted by this automaton?
![Nondeterministic Finite Automata NFA For every state q in S and every character in Nondeterministic Finite Automata (NFA) For every state q in S and every character in](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-6.jpg)
Nondeterministic Finite Automata (NFA) For every state q in S and every character in , one of the following will happen: • No transition: q • One or more transitions: q occurs q’ … q’ p occurs
![Nondeterministic Finite Automaton NFA A nondeterministic finite automaton NFA is a 5 tuple Q Nondeterministic Finite Automaton (NFA) A nondeterministic finite automaton (NFA) is a 5 -tuple (Q,](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-7.jpg)
Nondeterministic Finite Automaton (NFA) A nondeterministic finite automaton (NFA) is a 5 -tuple (Q, , , s, F) where: • Q is a finite set of elements called states • is a finite input alphabet “the empty word” • Q × ( {e}) × Q • s Q called the start state • F Q called the favorable states The crucial point is that is a relation Book says: (Q, , , s, F) where: is a transition function, Q × ( {e}) × (Q) Are and representing the same transitions? “power set”
![Nondeterministic Finite Automata NFA What else can occur in NFAs q e q If Nondeterministic Finite Automata (NFA) What else can occur in NFAs? q e q’ If](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-8.jpg)
Nondeterministic Finite Automata (NFA) What else can occur in NFAs? q e q’ If next word to process in q is aaabbb and apply this transition, what is the word to be processed in q’? aaabbb “e-transitions” do not process any characters, they just allow to “jump” between states
![Formal Definition of Computation for NFAs Given a nodeterministic finite automaton N Q Formal Definition of Computation for NFAs • Given a nodeterministic finite automaton N= (Q,](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-9.jpg)
Formal Definition of Computation for NFAs • Given a nodeterministic finite automaton N= (Q, , , s, F), and let w = w 1 w 2 …wn, where each wi is in M accepts w if we can write w as: w = y 1 y 2 …ym , where each yi is in ( {e}) and there is a sequence of states r 0 r 1, r 2 … rm in Q such that: 1. r 0 is the start state of M 2. ri+1 (ri , wi+1) for i = 0, …, m-1 3. rm F • Language recognized by N: {w in * : N accepts w}
![Same Example a b b r a s a a q b a Same Example a b b r a > s a a q b a](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-10.jpg)
Same Example a b b r a > s a a q b a b q q’ b r r’ a b Language accepted by this automaton is the set of all strings containing either the substring “aa” or the substring “bb”
![Example a s b q b r b 1 Why is this automation nondeterministic Example a >s b q b r b 1. Why is this automation nondeterministic?](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-11.jpg)
Example a >s b q b r b 1. Why is this automation nondeterministic? 2. What is the language accepted by this automaton?
![Why We Study Nondeterministic Computation Makes it easier to prove properties about Automata Why We Study Nondeterministic Computation? • Makes it easier to prove properties about Automata](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-12.jpg)
Why We Study Nondeterministic Computation? • Makes it easier to prove properties about Automata – In particular, makes it easier to prove certain properties: • If A is a regular language then AR is also regular • It also makes it possible to understand the boundaries of computation – P = NP?
![Oracle in NFAs The oracle explanation of NFAs given a choice between possible Oracle in NFAs • The oracle explanation of NFAs: given a choice between possible](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-13.jpg)
Oracle in NFAs • The oracle explanation of NFAs: given a choice between possible transitions, there is a device, called the oracle, that always chooses the transition that leads to a favorable state. . . … . . . Oracle chooses this transition “current state” because it leads. . . to a favorable state • Is the oracle explanation compatible with our definition of acceptability in NFAs? • Sometimes it is useful to use the oracle when creating NFAs
![NFA vs DFA Every DFA can be seen as an NFA But NFA vs DFA • Every DFA can be seen as an NFA • But](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-14.jpg)
NFA vs DFA • Every DFA can be seen as an NFA • But not every NFA can be seen as a DFA • Are DFA’s more expressive? What does this means? It means that there an NFA can be constructed that accepts a language L for which no DFA can be constructed that accepts L • For example, is there an DFA that accepts the same language accepted by the following NFA? a >s b q b r b
![NFA vs DFA 2 How about this one a b b r a NFA vs DFA (2) • How about this one? a b b r a](https://slidetodoc.com/presentation_image_h/7b9db72de90ee7356ef122b5035c2fab/image-15.jpg)
NFA vs DFA (2) • How about this one? a b b r a > s a a q b a b q q’ b r r’ a b • It turns out that for every NFA, a DFA can be constructed such they both accept the same language. • We will study a formal proof of this on Wednesday
Finite automation
Deterministic finite state automata
Ekivalensi
Push down
An introduction to formal languages and automata
Nfas are ___ dfas.
Deterministic finite automaton
Dfa ndfa
Tm in automata
Nondeterministic
Learning objectives for finite and non finite verbs
Learning objectives of non finite verbs
Finite and non finite verb
Non finite subordinate clause
Finite and non finite
Limitations of finite automata