Computational Complexity and Automata Theory Overview
370 likes | 390 Vues
Learn about finite automata, deterministic automata, regular languages, nondeterminism, and more in this lecture. Understand the concepts of language recognition, regular operations, and formal proofs in automata theory.
Computational Complexity and Automata Theory Overview
E N D
Presentation Transcript
Complexity and Computability Theory I Lecture #3 Rina Zviel-Girshin Leah Epstein Winter 2002-2003
Overview • Finite automata • Deterministic automata • Regular languages • Regular operations • Nondeterminism Rina Zviel-Girshin @ASC
FA vs. computer • Both a finite automaton (or a finite-state machine) and a real computer have a "central processing unit" of a fixed, finite capacity. • This is a common property of them both. • A FA delivers no output at all. • A FA is a language recognition device. • A FA is a restricted model of real computers with no memory apart from the fixed central processor. Rina Zviel-Girshin @ASC
Deterministic finite automata • A finite automaton is called deterministic if for each in and each qj in Q there exist a unique (qj,)=qk. Example: Rina Zviel-Girshin @ASC
Extended transition function • Notation: ’ • ’: Q*Q • The extended transition function ’ defines the computation of an automaton on word w= u. • Formal definition ’(q,u)= (’(q,u), )=m Rina Zviel-Girshin @ASC
q k m Example u where ’(q,u)= (’(q,u), )= (k, )= m Rina Zviel-Girshin @ASC
Language recognition • Let A=(Q,,,q0,F) be a finite automaton and w=12...n a string over *. A accepts w if there exists a sequence of states r0,r1,..rn in Q with the following properties: • r0 = q0 • (ri, i+1) = ri+1 for i=0,1,..n • rn F • We say A recognizes language L if L = {w| A accepts w}. Rina Zviel-Girshin @ASC
Regular language • A language is called “a regular language” if some finite automaton recognizes it. • Notation: R • The class of languages accepted by finite automata is identical to the class of regular languages. Rina Zviel-Girshin @ASC
Example is regular. Rina Zviel-Girshin @ASC
Example * is regular. Rina Zviel-Girshin @ASC
Example L={} is regular. Rina Zviel-Girshin @ASC
Example For each α in the language Lα = {α} is regular. Rina Zviel-Girshin @ASC
Regular operations • Union • Intersection • Complement • Minus • Concatenation Rina Zviel-Girshin @ASC
Union Theorem: The class of regular languages is closed under the union operation. If L1 and L2 are regular, so is L1L2. • Basic idea: • proof by construction: construct an automaton M that uses the automaton A of L1 and the automaton B of L2 and works by simulating both A and B. Rina Zviel-Girshin @ASC
How can M simulate A and B? • M could run w on A and if A accepts then M accepts. • Or it could run w on B and if B accepts then M accepts. But • if w not accepted by A? • We can't rewind the input tape. • Once the letter is used the is no way back. Rina Zviel-Girshin @ASC
Simulator Another approach: • We simulate A and B simultaneously. • To do so we need to remember the current states of both machines. • M will have states in QA QB. Rina Zviel-Girshin @ASC
Formal proof Let A recognize L1 where A = (QA, , A, q0A, FA) and B recognize L2 where B = (QB, , B, q0B, FB) . Construct M to recognize L1 L2, where M = ( Q, , , q0, F). • Q={ (rA,rB) | rA in QA and rB in QB}. • is the same for both A and B. Otherwise let construct = AB • is defined as follows: for each (rA,rB) in Q and in , let ((rA,rB),)=(A(rA,),B(rB,)). Rina Zviel-Girshin @ASC
Formal proof • q0 is a pair (q0A,q0B) • F is the set of pairs in which at least one member is an accept state of A or B. F = { (rA,rB) | rA in FA or rB in FB} or F = (FAQB)(QAFB). This concludes the construction of the finite automaton M that recognizes the union of L1 and L2. Rina Zviel-Girshin @ASC
Formal proof • Now we have to prove that L(M)= L1 L2. To prove the equality we have to prove that: • L1 L2 L(M). and • L(M) L1 L2. Rina Zviel-Girshin @ASC
L1 L2 L(M). • If x L1 L2then x L1orx L2 • That means: ’A(q0A,x)=rAFa or’B(q0B,x))= rBFB • So ’(q0,x)= ’((q0A,q0B),x)= (’A(q0A,x), ’B(q0B,x)) = (rA,rB) where (rA,rB) (FAQB) or (rA,rB) (QAFB). • By definition of F: ’(q0,x)=(rA,rB) (FAQB)(QAFB)=F • That means x L(M). Rina Zviel-Girshin @ASC
L(M) L1 L2 • If xL(M) then ’(q0,x)= ’((q0A,q0B),x)= (’A(q0A,x), ’B(q0B,x)) F • By definition of F: (’A(q0A,x), ’B(q0B,x))F means ’A(q0A,x) FA or ’B(q0B,x)) FB • So x belongs to L1or to L2. • By definition of union: x L1 L2 • That means L(M) L1 L2. Rina Zviel-Girshin @ASC
Intersection Theorem: The class of regular languages is closed under the intersection operation. If L1 and L2 are regular, so is L1L2. Basic idea: • proof by construction: construct an automaton M that uses the automaton A of L1 and the automaton B of L2 and works by simulating both A and B. Rina Zviel-Girshin @ASC
Formal proof Let A recognize L1 where A = (QA, , A, q0A, FA) and B recognize L2 where B = (QB, , B, q0B, FB) . Construct M to recognize L1 L2, where M = ( Q, , , q0, F). • Q={ (rA,rB) | rA in QA and rB in QB}. • is the same for both A and B. Otherwise let construct = A B • is defined as follows: for each (rA,rB) in Q and in , let ((rA,rB),)=(A(rA,),B(rB,)). Rina Zviel-Girshin @ASC
Formal proof • q0 is a pair (q0A,q0B) • F is the set of pairs in which each member is an accept state of A or B (respectively). F = { (rA,rB) | rA in FAand rB in FB} or F = FAFB. That concludes the construction of the finite automaton M that recognizes intersection of L1 and L2. Rina Zviel-Girshin @ASC
Correctness • To prove the correctness of the construction algorithm in a formal way we need to prove that • L(M)L(A) L(B) and • L(A) L(B)L(M). Rina Zviel-Girshin @ASC
L(M)L(A) L(B) • Let w* and wL(M) ’(q0,w)=’((q0A,q0B),w)=(’A(q0A,w),’B(q0B,w)) if wL(M) then ’(q0,w)=’((q0A,q0B),w)F (’A(q0A,w),’B(q0B,w))F=(FAFB) ’A(q0A,w)FA and ’B(q0B,w)FB means wL(A) and wL(B) wL(A)L(B) L(M)L(A) L(B). Q.E.D. Rina Zviel-Girshin @ASC
L(A) L(B)L(M) • Let w* and w L(A) L(B) wL(A) and wL(B) ’A(q0A,w)FA and ’B(q0B,w)FB ’(q0,w)=’((q0A,q0B),w)=(’A(q0A,w),’B(q0B,w))(FAFB)=F means wL(M) L(A) L(B)L(M). Q.E.D. Rina Zviel-Girshin @ASC
Complement Theorem: The class of regular languages is closed under the complement operation. If L is regular, so is “not L” (the complement language of L). Basic idea: • proof by construction: construct an automaton M that uses the automaton A of L and rejects all words A accepts and vice versa. Rina Zviel-Girshin @ASC
Formal proof Let A recognize L where A = (QA, , A, q0A, FA) . Construct M to recognize L, where M = ( Q, , , q0, F). • Q= QA • = A • is defined as follows: for each rA in Q and in , let (rA, )=A(rA,) • q0 =q0A • F = { rA | rA not in FA } or F = QA - FA. Rina Zviel-Girshin @ASC
The set minus operation Theorem: The class of regular languages is closed under the minus operation. If L1 and L2 are regular, so is L1-L2. Formal proof: L1-L2 = L1(notL2) Rina Zviel-Girshin @ASC
Concatenation Theorem: The class of regular languages is closed under the concatenation operation. If L1 and L2 are regular, so is L1L2. Rina Zviel-Girshin @ASC
Concatenation Basic idea: • To construct M we need to break a word w into two pieces u and v and check if u is in L1 and v is in L2. • But how to break an input into the pieces? • To solve this problem we need to use a new approach called nondeterminism. Rina Zviel-Girshin @ASC
Nondeterminism • In a nondeterministic machine several "next states" are possible. • The automaton may choose any of these legal next states. Rina Zviel-Girshin @ASC
Nondeterminism • It also allows to change a current state without reading an input. This situation called an - transition Rina Zviel-Girshin @ASC
DFA vs. NFA • Every deterministic finite automaton DFA is immediately a nondeterministic finite automaton NFA. • The opposite is not true. Rina Zviel-Girshin @ASC
Example • Construct a nondeterministic finite automaton for the following language: L = { w1 | w over *={0,1}*} Rina Zviel-Girshin @ASC
Any Questions? • More about non-determinism on next lecture. Rina Zviel-Girshin @ASC