This preview shows pages 1–3. Sign up to view the full content.
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
This note was uploaded on 02/01/2012 for the course CISC 303 taught by Professor Carberry,m during the Spring '08 term at University of Delaware.
 Spring '08
 Carberry,M

Click to edit the document details