1.2 Nondeterminism What's a Deterministic machine? What's a Nondeterministic machine? What's the key characteristic of transitions in a Deterministic Finite Automaton? How are transitions different in a Nondeterministic Finite Automaton? Draw an example NFA on the board. strings of a's and b's beginning with two a's or ending in two a's How does an NFA process input or execute? What does an NFA do when it has a choice? How does an NFA execute epsilon transitions? Trace the execution of the example machine with inputs aabb, abba. With multiple branches executing at once, how does an NFA know whether to accept or reject? What advantages do NFAs have over DFAs? can be easier to build for some languages can be much smaller Classwork (You may work with a partner.) Design a machine with four states that recognizes the language. (w is a string of 0's and 1's) { w | w contains the substring 00 or contains the substring 11 } What's a Formal Definition of an NFA? 5-tuple (Q, S, d, q0, F) 1. Q is a finite set (states) 2. S is a finite set (input alphabet) 3. d: QxSe -> P(Q) is transition function 4. q0 is a member of Q (start state) 5. F is a subset of Q (accept states) How is the formal definition of an NFA different from a DFA? transition function is different includes epsilon in the domain maps state and input to a set of states Give the formal definition of the example machine.