NFA TO DFA Non Deterministic Features of NFA
- Slides: 23
NFA TO DFA
Non Deterministic Features of NFA There are three main cases of non- determinism in NFAs: 1. 2. 3. Transition to a state without consuming any input. Multiple transitions on the same input symbol. No transition on an input symbol. To convert NFAs to DFAs we need to get rid of nondeterminism from NFAs.
Subset Construction Method Using Subset construction method to convert NFA to DFA involves the following steps: l l l For every state in the NFA, determine all reachable states for every input symbol. The set of reachable states constitute a single state in the converted DFA (Each state in the DFA corresponds to a subset of states in the NFA). Find reachable states for each new DFA state, until no more new states can be found.
Subset Construction Method Fig 1. NFA without λ-transitions
Subset Construction Method Fig 1. NFA without λ-transitions 3 a a b a a 2 b a, b 1 a, b 4 b 5 a
Subset Construction Method Fig 1. NFA without λ-transitions 3 a a b a a 2 b a, b 1 a, b 4 b Step 1 5 a Construct a transition table showing all reachable states for every state for every input signal.
Subset Construction Method Fig 1. NFA without λ-transitions 3 a a b a a 2 b a, b 1 a, b 4 b 5 a Fig 2. Transition table
Subset Construction Method Fig 2. Transition table Fig 1. NFA without λ-transitions a a a 3 q δ(q, a) a b 1 {1, 2, 3, 4, 5} {4, 5} 2 {3} {5} 3 ∅ {2} 4 {5} {4} 5 ∅ ∅ 2 b a, b 1 a, b 4 b 5 a δ(q, b)
Subset Construction Method Fig 1. NFA without λ-transitions 3 a a b a a 2 Starts here b a, b 1 a, b 4 b 5 a Transition from state q with Transition from state q Fig 2. Transition input a with inputtable b q δ(q, a) δ(q, b) 1 {1, 2, 3, 4, 5} {4, 5} 2 {3} {5} 3 ∅ {2} 4 {5} {4} 5 ∅ ∅
Subset Construction Method Fig 2. Transition table q δ(q, a) δ(q, b) 1 {1, 2, 3, 4, 5} {4, 5} 2 {3} {5} 3 ∅ {2} 4 {5} {4} 5 ∅ ∅ Step 2 The set of states resulting from every transition function constitutes a new state. Calculate all reachable states for every such state for every input signal.
Fig 3. Subset Construction table Fig 2. Transition table q δ(q, a) δ(q, b) 1 {1, 2, 3, 4, 5} {4, 5} 2 {3} {5} 3 ∅ {2} 4 {5} {4} 5 ∅ ∅ Starts with Initial state q δ(q, a) 1 {1, 2, 3, 4, 5} δ(q, b) {4, 5}
Fig 3. Subset Construction table Fig 2. Transition table q δ(q, a) δ(q, b) 1 {1, 2, 3, 4, 5} {4, 5} 2 {3} {5} 3 ∅ {2} 4 {5} {4} 5 ∅ ∅ Starts with Initial state q δ(q, a) 1 {1, 2, 3, 4, 5} {4, 5} δ(q, b) {4, 5}
Fig 3. Subset Construction table Fig 2. Transition table q δ(q, a) δ(q, b) 1 {1, 2, 3, 4, 5} {4, 5} 2 {3} {5} 3 ∅ {2} 4 {5} {4} 5 ∅ ∅ Starts with Initial state Step 3 Repeat this process(step 2) until no more new states are reachable. q δ(q, a) 1 {1, 2, 3, 4, 5} {4, 5} δ(q, b) {4, 5}
Fig 2. Transition table Fig 3. Subset Construction table δ(q, b) q δ(q, a) {4, 5} 1 {1, 2, 3, 4, 5} q δ(q, a) 1 {1, 2, 3, 4, 5} 2 {3} {5} 3 ∅ {2} 4 {5} {4} 5 ∅ ∅ {1, 2, 3, 4, 5} {4, 5} {2, 4, 5} δ(q, b) {4, 5} {2, 4, 5}
Fig 3. Subset Construction table Fig 2. Transition table q δ(q, a) 1 {1, 2, 3, 4, 5} δ(q, b) q δ(q, a) {4, 5} 1 {1, 2, 3, 4, 5} 2 {3} {5} 3 ∅ {2} 4 {5} {4} 5 ∅ ∅ {1, 2, 3, 4, 5} {4, 5} {2, 4, 5} 5 4 5 δ(q, b) {4, 5} {2, 4, 5} 4
Fig 3. Subset Construction table Fig 2. Transition table q δ(q, a) 1 {1, 2, 3, 4, 5} δ(q, b) q δ(q, a) {4, 5} 1 {1, 2, 3, 4, 5} 2 {3} {5} 3 ∅ {2} 4 {5} {4} 5 ∅ ∅ {1, 2, 3, 4, 5} {4, 5} 5 {2, 4, 5} {3, 5} 5 4 {3, 5} δ(q, b) {4, 5} {2, 4, 5} 4 4
Fig 3. Subset Construction table Fig 2. Transition table δ(q, b) q δ(q, a) {4, 5} 1 {1, 2, 3, 4, 5} q δ(q, a) 1 {1, 2, 3, 4, 5} 2 {3} {5} 3 ∅ {2} 4 {5} 5 ∅ {1, 2, 3, 4, 5} δ(q, b) {4, 5} {2, 4, 5} {4, 5} 5 {2, 4, 5} {3, 5} 4 4 {4} 5 ∅ ∅ ∅ 4 {3, 5} ∅
Fig 3. Subset Construction table Fig 2. Transition table q δ(q, a) 1 {1, 2, 3, 4, 5} δ(q, b) q δ(q, a) {4, 5} 1 {1, 2, 3, 4, 5} 2 {3} {5} 3 ∅ {2} 4 {5} {4} 5 ∅ ∅ {1, 2, 3, 4, 5} {4, 5} {2, 4, 5} {4, 5} 5 {2, 4, 5} {3, 5} 4 4 5 ∅ ∅ 4 5 4 {3, 5} We already got 4 and 5. So we don’t add them again. δ(q, b)
Fig 2. Transition table q δ(q, a) 1 {1, 2, 3, 4, 5} Fig 3. Subset Construction table δ(q, b) q δ(q, a) {4, 5} 1 {1, 2, 3, 4, 5} 2 {3} {5} 3 ∅ {2} 4 {5} {4} 5 ∅ ∅ {1, 2, 3, 4, 5} δ(q, b) {4, 5} {2, 4, 5} {4, 5} 5 {2, 4, 5} {3, 5} 4 4 5 ∅ ∅ 4 5 4 {3, 5} ∅ 2
Fig 2. Transition table q δ(q, a) 1 {1, 2, 3, 4, 5} Fig 3. Subset Construction table δ(q, b) q δ(q, a) {4, 5} 1 {1, 2, 3, 4, 5} 2 {3} {5} 3 ∅ {2} 4 {5} {4} 5 ∅ ∅ {1, 2, 3, 4, 5} δ(q, b) {4, 5} {2, 4, 5} {4, 5} 5 {2, 4, 5} {3, 5} 4 4 5 ∅ ∅ 4 5 4 {3, 5} ∅ ∅ 2 ∅
Fig 2. Transition table q δ(q, a) 1 {1, 2, 3, 4, 5} Fig 3. Subset Construction table δ(q, b) q δ(q, a) {4, 5} 1 {1, 2, 3, 4, 5} 2 {3} {5} 3 ∅ {2} 4 {5} {4} 5 ∅ ∅ {1, 2, 3, 4, 5} δ(q, b) {4, 5} {2, 4, 5} {4, 5} 5 {2, 4, 5} {3, 5} 4 4 5 ∅ ∅ 4 5 4 {3, 5} 2 ∅ ∅ ∅ 2 3 3 ∅ 5
Fig 3. Subset Construction table Fig 2. Transition table q δ(q, a) 1 {1, 2, 3, 4, 5} δ(q, b) q δ(q, a) {4, 5} 1 {1, 2, 3, 4, 5} 2 {3} {5} 3 ∅ {2} 4 {5} {4} 5 ∅ ∅ Stops here as there are no more reachable states {1, 2, 3, 4, 5} δ(q, b) {4, 5} {2, 4, 5} {4, 5} 5 {2, 4, 5} {3, 5} 4 4 5 ∅ ∅ 4 5 4 {3, 5} 2 ∅ ∅ ∅ 2 3 ∅ 5 3 ∅ 2
Fig 4. Resulting FA after applying Subset Construction to fig 1 Fig 3. Subset Construction table q δ(q, a) 1 {1, 2, 3, 4, 5} {4, 5} 5 {2, 4, 5} {3, 5} 5 4 {3, 5} ∅ 5 δ(q, b) {4, 5} b 12345 a 245 {2, 4, 5} 4 4 ∅ 4 2 ∅ ∅ 2 3 5 ∅ 2 3 a 35 a a, b a b 1 3 a, b b b 4 b a b 2 a 45 b a ∅ 5 a b
- Nfa non deterministic finite automata
- Nfa theory of computation
- Conversion of epsilon nfa to dfa
- Contoh soal dfa yang ekuivalen dengan nfa
- Nondeterministic
- Dfa vs nfa
- Dfa vs nfa
- Nfa to dfa
- Dari sebuah mesin nfa dapat dibuat mesin dfa yang?
- Dfa
- Automata
- Nfa e move
- Convert nfa to dfa
- Nfa to dfa subset construction method
- Dfa for (a/b)*abb
- Nfa to dfa conversion solved examples
- Convert nfa to dfa
- Recursive definition of nfa
- Dfa
- Accepters
- Dfa and nfa
- Automata
- Non-deterministic algorithm
- Non deterministic algorithm for sorting