Deterministic FA/ PDA Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 4 Updated by Marek Perkowski
Moret, Theory of Computation Numerical Acceptor A Non-intuitive Concept of a Language Is One Which Can Accept Binary Arithmetic Values, e.g. 1 5 3 2 4 Moret, Theory of Computation Check all strings, from shortest that are accepted. What is their language?
Languages Accepted by FA The Class of Languages Accepted by a Deterministic or Nondeterministic FA Is Closed Under Union Concatenation Kleene Star Complementation Intersection
Union of Languages M1 M2 e >
Concatenation of Languages M1 M2 e > F2 S1 F1 S1
Kleene Star of Languages M1 > F1 q0
Difference of Languages
Intersection of Languages
Give examples of languages that are not regular Languages and FA Kleene’s Theorem A Language Is Regular iff It Is Accepted by a Deterministic or Nondeterministic Finite Automata A Regular Language Is One Which Can Be Defined by a Regular Expression Not all languages are regular Give examples of languages that are not regular
Context Free Languages Up Until Now we learned the following: But This Is a Limited Class of Languages There Are Other Context-Free Languages Which Cannot Be Recognized by a DFA There Are Other Types of Machines Which Can Accept More Context-Free Languages
A Non-Regular Language Since a Language, L, Is a Subset of the Set of All Strings, I*, Are There Some Strings Which Cannot Be Produced by a Regular Expression or Recognized by a DFA? Yes, e.g.,
1 Lewis & Papadimitriou, Elements of the Theory of Computation an bn Regular? Theorem1: Let L be an infinite regular language. Then there are strings x, y, and z such that y e and x yn z L for each n 0 Proof based on pigeonhole principle If there are n + 1 pigeons and n pigeonholes, then at least two pigeons must be in the same hole If a string has more characters than there are states in the language recognizer, then some state must be entered more than once 1 Lewis & Papadimitriou, Elements of the Theory of Computation
an bn Regular? Language Is Infinite, Therefore Theorem Applies Is This Language Regular? If So, the Theorem Must Apply Three Cases to Study see next slides
an bn Regular? Case 1: y consists entirely of as
an bn Regular? Case 2: y consists entirely of bs Similar argument to Case 1
an bn Regular? Case 3: y contains both as and bs For n > 1, x yn z has an occurrence of b preceding an occurrence of a and therefore cannot be in L
Context Free Grammars: idea A More General Way to Describe and/or Generate Languages Context-Free Replacement Rules Can Be Applied Independently of the Preceding or Following Elements.
Context Free Grammar: definition A Quadruple, ( I, , R, s) where I An alphabet A set of terminals, R A finite set of rules, a subset of the crossproduct of the set of non-terminals and all strings,
Context Free Grammar: definition cont s The start symbol, a non-terminal The set of non-terminals AND ...
Context Free Grammar: definition cont For All Non-terminals, And Strings The Grammar, G, Maps the Non-Terminals to Strings for strings u, v, x, y, v’ I* and non-terminals
Context Free Grammar: definition of G-related u is G-related to v iff u = x A y v = x v’ y and
Context Free Grammar: the set of all possible relations The relation, , the * meaning the set of all possible relations, is reflexive transitive has closure I* G
Context Free Language The Language Generated by the Context Free Grammar, G, Is the Set of Strings Which Map From the Start Symbol, s, Under the Reflexive, Transitive, and Closed Relation,
Context Free Language A Context Free Language Is One Which Can Be Generated by a Context Free Grammar, and, The Context Free Grammar (CFG) Can Be Used to Generate Strings of the Language
A Derivation Example The Steps in Applying the Rules From the Start Symbol to Any String Is Called a Derivation in G, e.g.,
Pushdown Automata All Context-Free Languages can Be Recognized by a PDA { an bn } Is Context-Free, but Not Regular Problem is same number of as and bs PDA Assumes An unlimited memory in the form of a stack, LIFO The machine only has access to the top of the stack.
Pushdown Automata: formal definition A PDA is a Sextuple,
Pushdown Relation where “top of stack” is replaced by “new top of stack.”
Pushdown Relation Example s=p s=q x x s=q s=p
PDA Properties One Can Have the Same State Before and After a Transition, but Have Different Stack Contents Which Makes It Non-Deterministic State Changes May Occur in the Absence of an Input, but Only If the Stack Is Not Empty. i.e., non-causal behavior.
PDA Properties: what is the state of PDA? The “State” of the PDA Is Determined Not Only by S, and Not Only by the Top-of-Stack, but Rather by Both the Current State and the Complete Contents of the Stack, x This “State of the PDA” Is Called the “Configuration of the PDA”
PDA Notation The Input May Cause the PDA to Change From Configuration 1 to Configuration 2
PDA Recognizer A string w I* is accepted by a PDA
PDA Example* A Machine to Recognize Strings of the Form wcwR * Lewis & Papadimitriou, pg. 114
PDA Example wcwR Can Be Represented by a Context Free Grammar,
Equivalent NPDA wcwR can be represented by a NPDA where
Is abccba Accepted?
Is abccba Accepted?
Is abccba Accepted? The machine halts with unread inputs since there is no to be executed.
Is bacab Accepted?
Is bacab Accepted?
Is bacab Accepted? The machine halts with no unread input and nothing on the stack, therefore, bacab language wcwR.