This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: Lecture Notes CISC 303 Automata Theory Spring 2009 Timo Kötzing May 6, 2009 These are the o cial lecture notes as used for the introductory course on Automata Theory at the University of Delaware (CISC 303) in spring 2009. The main topics of the course are: • Regular Languages: deterministic nite automata, nondeterministic nite automata, pumping and regular expressions. • Context Free Languages: pushdown automata, deterministic pushdown automata, pumping and normal forms. • Introduction to Turing Machines. This document will (eventually) contain a section on each of these three topics in the given order. 1 Regular Languages 1.1 Deterministic Finite Automata (DFA) De nition 1.1.1. Any nite, nonempty set A of symbols is called an alphabet . Let A be an alphabet. Any nite string of symbols from A is called a word of A . The set of all words of A is denoted by A * . The string containing no symbols, the empty word, is denoted by ε . For two words u,w ∈ A * we write uw for the concatenation of all the symbols of u with all the symbols of w . For each w ∈ A * we write  w  to denote the length of w , the number of (not necessarily di erent) symbols in w . For example: Let A = { a,b } . Then a and b are the symbols of A . A * = { ε,a,b,aa,ab,ba,bb,aaa,... } .  aba  = 3 ,  ε  = 0 ,  a  = 1 . For any x ∈ A and w ∈ A * , we let first( xw ) = x and tail( xw ) = w . For i ∈ N and any symbol x , we write x i to denote the string of i repetitions of the symbol x . For w ∈ A * and n <  w  , we let w ( n ) denote the n + 1 th symbol of w . For w ∈ A * and n ≤  w  , we let w [ n ] denote the string of the rst n symbols of w (if n =  w  , then w [ n ] = w ). For w ∈ A * and j,k ∈ N such that ≤ j ≤ k ≤  w  we let w [ j,k ] denote the string of the rst k symbols of w without the rst j symbols of w . Examples: abbaa [2] = ab ; abbaa [0] = ε ; abbaa [1 , 4] = bba ; tail( abbaa ) = bbaa. Every set L ⊆ A * is called a language . For each language L , we let L = A * \ L be the complement of L . We let N = { , 1 ,... } be the set of all natural numbers. De nition 1.1.2. Let M = ( A,Q,δ,F,q ) be a tuple where • A is a nite, nonempty set of symbols (the alphabet of M ), • Q is a nite set (the states of M ), 1 Lecture Notes CISC 303 Automata Theory May 6, 2009 Timo Kötzing ([email protected]) • δ is a function Q × A → Q (the state transition function of M ), • F ⊆ Q (the nal states of M ) and • q ∈ Q (the inital or start state of M ). Then M is called a deterministic nite automaton (DFA) . We de ne δ * to be a function Q × A * → Q to be de ned iteratively thus. ∀ q ∈ Q : δ * ( q,ε ) = q ; (1) ∀ q ∈ Q,w ∈ A * ,x ∈ A : δ * ( q,wx ) = δ ( δ * ( q,w ) ,x ) . (2) The language accepted by M is de ned as L ( M ) = { w ∈ A *  δ * ( q ,w ) ∈ F } . (3) Any language L ⊆ A * is called regular i there is a DFA M such that L ( M ) = L ....
View
Full Document
 Spring '08
 Carberry,M
 Automata theory, Timo Kötzing, Lecture Notes CISC

Click to edit the document details