1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.

Slides:



Advertisements
Similar presentations
CSE 311 Foundations of Computing I
Advertisements

CSC 361NFA vs. DFA1. CSC 361NFA vs. DFA2 NFAs vs. DFAs NFAs can be constructed from DFAs using transitions: Called NFA- Suppose M 1 accepts L 1, M 2 accepts.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
Complexity and Computability Theory I Lecture #4 Rina Zviel-Girshin Leah Epstein Winter
Nondeterministic Finite Automata CS 130: Theory of Computation HMU textbook, Chapter 2 (Sec 2.3 & 2.5)
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 3 School of Innovation, Design and Engineering Mälardalen University 2012.
Applied Computer Science II Chapter 1 : Regular Languages Prof. Dr. Luc De Raedt Institut für Informatik Albert-Ludwigs Universität Freiburg Germany.
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
Finite Automata Great Theoretical Ideas In Computer Science Anupam Gupta Danny Sleator CS Fall 2010 Lecture 20Oct 28, 2010Carnegie Mellon University.
1 Introduction to Computability Theory Lecture2: Non Deterministic Finite Automata Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture4: Regular Expressions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
Introduction to Computability Theory
Lecture 3UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3.
Finite Automata and Non Determinism
CS5371 Theory of Computation
Courtesy Costas Busch - RPI1 Non Deterministic Automata.
1 Introduction to Computability Theory Lecture2: Non Deterministic Finite Automata (cont.) Prof. Amos Israeli.
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
Introduction to the Theory of Computation John Paxton Montana State University Summer 2003.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 1 Regular Languages Contents Finite Automata (FA or DFA) definitions, examples,
1 Single Final State for NFAs and DFAs. 2 Observation Any Finite Automaton (NFA or DFA) can be converted to an equivalent NFA with a single final state.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Nondeterminism.
CS5371 Theory of Computation Lecture 6: Automata Theory IV (Regular Expression = NFA = DFA)
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
Fall 2006Costas Busch - RPI1 Non-Deterministic Finite Automata.
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
1 Non-Deterministic Automata Regular Expressions.
1 Regular Languages Finite Automata eg. Supermarket automatic door: exit or entrance.
Introduction to Finite Automata Adapted from the slides of Stanford CS154.
Fall 2004COMP 3351 Another NFA Example. Fall 2004COMP 3352 Language accepted (redundant state)
Costas Busch - LSU1 Non-Deterministic Finite Automata.
Foundations of (Theoretical) Computer Science Chapter 1 Lecture Notes (Section 1.2: NFA’s) David Martin With some modifications.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
REGULAR LANGUAGES.
Theory of Languages and Automata
Theory of Computation, Feodor F. Dragan, Kent State University 1 Regular expressions: definition An algebraic equivalent to finite automata. We can build.
Lecture 05: Theory of Automata:08 Kleene’s Theorem and NFA.
4b 4b Lexical analysis Finite Automata. Finite Automata (FA) FA also called Finite State Machine (FSM) –Abstract model of a computing entity. –Decides.
Prof. Busch - LSU1 NFAs accept the Regular Languages.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 3 Mälardalen University 2010.
CHAPTER 1 Regular Languages
Formal Definition of Computation Let M = (Q, ∑, δ, q 0, F) be a finite automaton and let w = w 1 w w n be a string where each wi is a member of the.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
INHERENT LIMITATIONS OF COMPUTER PROGAMS CSci 4011.
CSCI 2670 Introduction to Theory of Computing September 13.
Finite State Machines 1.Finite state machines with output 2.Finite state machines with no output 3.DFA 4.NDFA.
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 1 Regular Languages Some slides are in courtesy.
Nondeterministic Finite Automata (NFAs). Reminder: Deterministic Finite Automata (DFA) q For every state q in Q and every character  in , one and only.
Chapter 5 Finite Automata Finite State Automata n Capable of recognizing numerous symbol patterns, the class of regular languages n Suitable for.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
Regular Languages Chapter 1 Giorgi Japaridze Theory of Computability.
Theory of Computation Automata Theory Dr. Ayman Srour.
1/29/02CSE460 - MSU1 Nondeterminism-NFA Section 4.1 of Martin Textbook CSE460 – Computability & Formal Language Theory Comp. Science & Engineering Michigan.
Theory of Computation Automata Theory Dr. Ayman Srour.
Theory of Computation Automata Theory Dr. Ayman Srour.
Theory of Languages and Automata By: Mojtaba Khezrian.
Non Deterministic Automata
CSC 4170 Theory of Computation Nondeterminism Section 1.2.
Non-Deterministic Finite Automata
COSC 3340: Introduction to Theory of Computation
Non-Deterministic Finite Automata
Non Deterministic Automata
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY
CSCI 2670 Introduction to Theory of Computing
CSC 4170 Theory of Computation Nondeterminism Section 1.2.
Chapter 1 Regular Language
Teori Bahasa dan Automata Lecture 6: Regular Expression
CHAPTER 1 Regular Languages
Presentation transcript:

1Computer Sciences Department

Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department

 Finite automaton  Infinite automaton  Formal definition  State diagram  Regular and Non-regular languages  The regular operations  Regular expression  Non determinism/ determinism  Equivalence of NFAS and DFAS  Equivalence of regular expression with finite automata Computer Sciences Department4 objectives

REGULAR LANGUAGES 5Computer Sciences Department

FINITE AUTOMATA  Finite automata are good models for computers with an extremely limited amount of memory.  The controller for an automatic door is one example of such a device.  The controller is in either of two states: "OPEN" or "CLOSED," 6Computer Sciences Department

7 State transition table ? NFRB Closed Open Computer Sciences Department

Shapes “Figures ” State End state arrow 8 State transition table ? State input Computer Sciences Department 8

Finite automaton 9 It has three states, labeled ql, q2, and q3. The start state, q1, is indicated by the arrow pointing at it from nowhere. The accept state, q2, is the one with a double circle. The arrows going from one state to another are called transitions. Computer Sciences Department

10 For example, when we feed the input string 1101 to the machine (state diagram), the processing proceeds as follows. Start in state q1. 2. Read 1, follow transition from q1 to q2. 3. Read 1, follow transition from q2 to q2. 4. Read 0, follow transition from q2 to q3. 5. Read 1, follow transition from q3 to q2- 6. Accept because Machine is in an accept state q2 at the end of the input. Computer Sciences Department

FORMAL DEFINITION OF A FINITE AUTOMATON 11Computer Sciences Department

12 Case M1 Computer Sciences Department

13 Case M1 Computer Sciences Department …………………..100

EXAMPLES OF FINITE AUTOMATA 14 Case M2 Computer Sciences Department

EXAMPLES OF FINITE AUTOMATA 15 Case M2 Computer Sciences Department

16

17Computer Sciences Department

REGULAR LANGUAGES 18Computer Sciences Department

DESIGNING FINITE AUTOMATA  you want to construct a finite automaton to recognize (the/a) language.  you have determined the necessary information  For example, suppose that the alphabet is { 0,1 } and that the language consists of all strings with an odd number of 1’s. You want to construct a finite automaton E1 to recognize this language. 19Computer Sciences Department

1’s (even or odd)? 20 Formal description????? Final state?????? Computer Sciences Department

21

THE REGULAR OPERATIONS 22 In arithmetic, the basic objects are numbers and the tools are operations for manipulating them, such as + and x. In the theory of computation the objects are languages and the tools include operations specifically designed for manipulating them. Computer Sciences Department

THE REGULAR OPERATIONS (cont.) 23Computer Sciences Department

 Concatenation aabaab = aabaab  Union aa | baab = aa and baab  Closure ab*a = aa and abbba  Parentheses a(a|b)aab = aaaab and abaab  (0* U 1*)?????????????? Computer Sciences Department24 Examples

NON DETERMINISM/ DETERMINISM  In a nondeterministic machine, several choices may exist for the next state at any point.  Nondeterminism is a generalization of determinism.  Deterministic computation - when the machine is in a given state and reads the next input symbol, we know what the next state will be-it is determined. 25Computer Sciences Department

NON DETERMINISM/ DETERMINISM (cont.)  The difference between a deterministic finite automaton, abbreviated DFA, and a nondeterministic finite automaton NFA: 1. State: every state of a DFA always has exactly one exiting transition arrow for each symbol in the alphabet. 2. Transition arrow’s Label: in a DFA, labels on the transition arrows are symbols from the alphabet. This NFA has an arrow with the label ɛ. 3. Nondeterminism may be viewed as a kind of parallel computation. 26Computer Sciences Department

NON DETERMINISM/ DETERMINISM (cont.)  If a state with an ɛ symbol on an exiting arrow is encountered, something similar happens. Without reading any input, the machine splits into multiple copies, one following each of the exiting є -labeled arrows and one staying at the current state. 27Computer Sciences Department

28Computer Sciences Department

The nondeterministic finite automaton 29Computer Sciences Department State q1 has one exiting arrow for 0, but it has two for 1 = NDFA

The computation of input Computer Sciences Department

31Computer Sciences Department

FORMAL DEFINITION OF A NONDETERMINISTIC FINITE AUTOMATON 32Computer Sciences Department

FORMAL DEFINITION OF A NONDETERMINISTIC FINITE AUTOMATON 33Computer Sciences Department

FORMAL DEFINITION OF A NONDETERMINISTIC FINITE AUTOMATON 34 The following example explains a NFA M, with a binary alphabet, which determines if the input contains an even number of 0s or an even number of 1s. (Note that 0 occurrences is an even number of occurrences as well.) -Let M = (Q, Σ, T, s 0, F). -Describe the formal description? -Describe state transition table? -Describe the state diagram? Computer Sciences Department

FORMAL DEFINITION OF A NONDETERMINISTIC FINITE AUTOMATON 35 Formal description: Σ = {0, 1}, Q = {s 0, s 1, s 2, s 3, s 4 }, E({s 0 }) = { s 0, s 1, s 3 } F = {s 1, s 3 }, and The transition function T can be defined by this state transition table. Computer Sciences Department

state diagram 1 36 The input contains an even number of 0s Computer Sciences Department

state diagram 2 37 The input contains an even number of 1s Computer Sciences Department

state diagram Computer Sciences Department

state diagram Computer Sciences Department

40 NFA An NFA for a language can be smaller and easier to construct than a DFA Strings whose next-to-last symbol is 1: DFA: NFA: Computer Sciences Department

EQUIVALENCE OF NFAS AND DFAS  NFAS AND DFAS machines are equivalent if they recognize the same language.  THEOREM 1.39  Every nondeterministic finite automaton has an equivalent deterministic finite automaton 41Computer Sciences Department

PROOF IDEA  How would you simulate the NFA if you were pretending to be a DFA?  What do you need to keep track of as the input string is processed?  In the examples of NFAs you kept track of the various branches of the computation by placing a finger on each state that could be active at given points in the input.  You updated the simulation by moving, adding, and removing fingers according to the way the NFA operates.  All you needed to keep track (the set of states having fingers on them). 42Computer Sciences Department

Regular Expressions and Non- regular Languages Computer Sciences Department43

REGULAR EXPRESSIONS  In arithmetic, we can use the operations + and x to build up expressions such as (5 + 3) x 4.  Similarly, we can use the regular operations to build up expressions describing languages, which are called regular expressions. An example is: (O U 1)0*. 44Computer Sciences Department

45

46 Computer Sciences Department

 Fact: Regular expressions and finite automata are equivalent in their descriptive power.  Any regular expression can be converted into a finite automaton that recognizes the language it describes, and vice versa. Computer Sciences Department47 EQUIVALENCE WITH FINITE AUTOMATA

Computer Sciences Department48

Computer Sciences Department49

Computer Sciences Department50

Computer Sciences Department51

52 Non-regularity Computer Sciences Department

53 Theorem - Pumping Lemma Computer Sciences Department

54 Proof of Th 1.37 Computer Sciences Department

55 Example Computer Sciences Department

56 Example Computer Sciences Department

57 Example Computer Sciences Department

58 Example - Pumping Down Computer Sciences Department