LectureNotes - Lecture Notes CISC 303 Automata Theory...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the 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, non-deterministic 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, non-empty 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, non-empty 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

{[ snackBarMessage ]}

Page1 / 29

LectureNotes - Lecture Notes CISC 303 Automata Theory...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online