Скачать презентацию Deterministic FA PDA Sequential Machine Theory Prof K Скачать презентацию Deterministic FA PDA Sequential Machine Theory Prof K

8e91bd00ff4a3b5854a03164c21a0469.ppt

  • Количество слайдов: 46

Deterministic FA/ PDA Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Deterministic FA/ PDA Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 4 Updated by Marek Perkowski

Numerical Acceptor A Non-intuitive Concept of a Language Is One Which Can Accept Binary Numerical Acceptor A Non-intuitive Concept of a Language Is One Which Can Accept Binary Arithmetic Values, e. g. Our theory does not allow to create such machines automatically 4 0 1 0 1 2 1 1 0 5 1 0 3 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 Languages Accepted by FA • The Class of Languages Accepted by a Deterministic or Nondeterministic FA Is Closed Under – Union – Concatenation – Kleene Star – Complementation – Intersection Something new, this generalized to Boolean algebra Give examples of pattern recognizing sequences for hear attack prediction on blind people canes

Union of Languages M 1 e > e M 2 Union of Languages M 1 e > e M 2

Concatenation of Languages > e S 1 M 1 F 1 e S 1 Concatenation of Languages > e S 1 M 1 F 1 e S 1 M 2 F 2

Kleene Star of Languages e > q 0 e e S 1 M 1 Kleene Star of Languages e > q 0 e e S 1 M 1 F 1

Difference of Languages L 1 L 2 Difference of Languages L 1 L 2

Intersection of Languages L 1 L L 2 Intersection expressed by sums and differences Intersection of Languages L 1 L L 2 Intersection expressed by sums and differences only

Languages and FA • Kleene’s Theorem – A Language Is Regular iff It Is 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 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 the Context-Free Languages

A Non-Regular Language • Since a Language, L, Is a Subset of the Set 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. , We gave also other examples – palindromes (with deterministic and non-deterministic recognizers)

Is language n bn Regular? a • Theorem 1: Let L be an infinite Is language n bn Regular? a • Theorem 1: 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

(Is language an bn Regular? • • Language Is Infinite, Therefore Theorem Applies Is (Is language an bn Regular? • • Language Is Infinite, Therefore Theorem Applies Is This Language Regular? If So, the Theorem Must Apply We match therefore x yn z L with an bn • as must go first, bs next Three Cases to Study for all possible numbers of a’s and b’s in parts x, y, z of string from theorem see next slides

n bn Regular? a Case 1: y consists entirely of as x yn z n bn Regular? a Case 1: y consists entirely of as x yn z L Thus we proved that in first case the string that satisfies regular languages cannot be in language L

n bn Regular? a Case 2: y consists entirely of bs Similar argument to n bn Regular? a Case 2: y consists entirely of bs Similar argument to Case 1 x yn z L Thus we proved that in second case the string that satisfies regular languages cannot be in language L

an bn Regular? Assume x yn z L For instance assume y=aab, then y an bn Regular? Assume x yn z L For instance assume y=aab, then y 2=aabaab 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 Thus we proved that in third case the string that satisfies regular languages cannot be in language L

a b a a Intuitive explanation b a a b Without loop I can a b a a Intuitive explanation b a a b Without loop I can do this only for limited value of n b b To accept a longer an I need to make loop b a a b b b or a b If I make loop in a-part, I will obtain strings that are not in L If I make loop in b-part, I will obtain strings that are not in L This way I create strings with b before a that are not in L

Context Free Grammars: idea • A More General Way to Describe and/or Generate Languages 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. Give grammars for language from previous example and palindromes (deterministic and not). Picture grammars

Example of grammar Building blocks Examples of good houses Good houses have at least Example of grammar Building blocks Examples of good houses Good houses have at least one window Good houses have door in first floor, may have more door. Good houses have roof or not. You cannot obviously build above roof.

Are they equivalent? 0, 1, 2 e 0 1 2 Of course not, the Are they equivalent? 0, 1, 2 e 0 1 2 Of course not, the first has arbitrary sequence of zeros at the beginning.

Context Free Grammar: definition A Quadruple, ( I, , R, s) where I An Context Free Grammar: definition A Quadruple, ( I, , R, s) where I An alphabet (note that now we assume that I is both terminal and nonterminal symbols) 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 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 Context Free Grammar: definition cont For All Non-terminals, And Strings The Grammar, G, Maps the Non-Terminals to Strings for strings and non-terminals u, v, x, y, v’ I*

Context Free Grammar: definition of G-related u is G-related to v iff u=x. Ay Context Free Grammar: definition of G-related u is G-related to v iff u=x. Ay v = x v’ y and

Context Free Grammar: the set of all possible relations • The relation, , the 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 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, Briefly. Language is a set of words over alphabet I that can be derived from initial symbol

Context Free Language • A Context Free Language Is One Which Can Be Generated 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 A Derivation Example • The Steps in Applying the Rules From the Start Symbol to Any String is called a Derivation in G, e. g. , Terminal symbols. It is more convenient to denote non-terminal symbols by capital letters

Pushdown Automata • All Context-Free Languages can Be Recognized by a PDA • { Pushdown Automata • All Context-Free Languages can Be Recognized by a PDA • { an bn } Is Context-Free, but Not Regular – Problem is the 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. LIFO means last in first out

Pushdown Automata: formal definition A PDA is a Sextuple, Pushdown Automata: formal definition A PDA is a Sextuple,

Pushdown Relation where “top of stack” is replaced by “new top of stack. ” Pushdown Relation where “top of stack” is replaced by “new top of stack. ”

Pushdown Relation Example x s=p x s=q Pushdown Relation Example x s=p x s=q

PDA Properties • One Can Have the Same State Before and After a Transition, 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 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 PDA Notation • The Input May Cause the PDA to Change From Configuration 1 to Configuration 2 Note: y is a word, xi are words

PDA Recognizer • A string w I* is accepted by a PDA PDA Recognizer • A string w I* is accepted by a PDA

PDA Example* A Machine to Recognize Strings of the Form wcw. R * Lewis PDA Example* A Machine to Recognize Strings of the Form wcw. R * Lewis & Papadimitriou, pg. 114

PDA Example wcw. R Can Be Represented by a Context Free Grammar, Please remember PDA Example wcw. R Can Be Represented by a Context Free Grammar, Please remember this grammar. We already showed how to build intuitively the stack machine for it.

Equivalent NPDA FSM state Observe that with this approach we have much non-determinism but Equivalent NPDA FSM state Observe that with this approach we have much non-determinism but there is a mechanical transformation of grammar to rules of PDA operation input New Top of stack On stack Top of stack

Is abccba Accepted? You should already know immediately that not T 1 pushed S Is abccba Accepted? You should already know immediately that not T 1 pushed S to empty stack S a. Sa S b. Sb S c Please not that we pop a from input and stack

Is abccba Accepted? T 3 added this Top of input Top of stack They Is abccba Accepted? T 3 added this Top of input Top of stack They are different

Is abccba Accepted? The machine halts with unread inputs since there is no transition Is abccba Accepted? The machine halts with unread inputs since there is no transition rule to be executed. If there is no transition rule among our set of rules , like above, then machine halts (for the previous sequence of non-deterministic choices)

Is bacab Accepted? You should already know immediately that yes nondeter minism You should Is bacab Accepted? You should already know immediately that yes nondeter minism You should analyze by yourself each transition, as we have done in previous example.

Is bacab Accepted? At this point stack the same as input Is bacab Accepted? At this point stack the same as input

Is bacab Accepted? The machine halts with no unread input and nothing on the Is bacab Accepted? The machine halts with no unread input and nothing on the stack, therefore, bacab language wcw. R. So in this case machine found sequence of rules to terminate with empty input and empty stack.

Typical Homework • Typical homework is to write a grammar for some (usually non-deterministic) Typical Homework • Typical homework is to write a grammar for some (usually non-deterministic) language (for instance, properly parenthesized simplified arithmetic expressions) and next use the method above to create a non-deterministic Push. Down Automaton. • Can for this particular language (like palindromes with a non-used elsewhere terminal symbol c in their middle) be accepted by a deterministic machine? • Give example of such language. • Give example of a graphical language that generates houses using a context-free grammar that is not regular.