CSC312 Automata Theory Lecture # 1 Introduction.

Slides:



Advertisements
Similar presentations
Mathematical Preliminaries
Advertisements

CS21 Decidability and Tractability
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture5: Context Free Languages Prof. Amos Israeli.
1 CSCI-2400 Models of Computation. 2 Computation CPU memory.
Fall 2005Costas Busch - RPI1 CSCI-2400 Models of Computation.
January 14, 2015CS21 Lecture 51 CS21 Decidability and Tractability Lecture 5 January 14, 2015.
CS311 Automata and Complexity Theory. Admistrative Stuff Instructor: Shahab Baqai Room # 428, Ext 4428 Lectures:Mon & Wed 1530 – 1710.
Costas Busch - RPI1 Mathematical Preliminaries. Costas Busch - RPI2 Mathematical Preliminaries Sets Functions Relations Graphs Proof Techniques.
CS 454 Theory of Computation Sonoma State University, Fall 2011 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall Original slides by Vahid and.
Courtesy Costas Busch - RPI1 Mathematical Preliminaries.
Theoretical Computer Science COMP 335 Fall 2004
Costas Busch - RPI1 CSCI-2400 Models of Computation.
Fall 2006Costas Busch - RPI1 CSCI-2400 Models of Computation.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
1 CSCI 2400 section 3 Models of Computation Instructor: Costas Busch.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 7 Mälardalen University 2010.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 5 School of Innovation, Design and Engineering Mälardalen University 2012.
Introduction to the Theory of Computation
CSC312 Automata Theory Lecture # 1 Introduction.
1 An Introduction to Formal Languages and Automata Provided by : Babak Salimi webAdd:
CS/IT 138 THEORY OF COMPUTATION Chapter 1 Introduction to the Theory of Computation.
INTRODUCTION TO THE THEORY OF COMPUTATION INTRODUCTION MICHAEL SIPSER, SECOND EDITION 1.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
© M. Winter COSC/MATH 4P61 - Theory of Computation COSC/MATH 4P61 Theory of Computation Michael Winter –office: J323 –office hours: Mon & Fri, 10:00am-noon.
L ECTURE 1 T HEORY OF A UTOMATA. P RAGMATICS  Pre-Requisites  No Pre-Requisite  Text book  Introduction to Computer Theory by Daniel I.A. Cohen 
Mathematical Preliminaries Strings and Languages Preliminaries 1.
CS 3813: Introduction to Formal Languages and Automata
Mathematical Preliminaries. Sets Functions Relations Graphs Proof Techniques.
Fall 2005Costas Busch - RPI1 Mathematical Preliminaries.
Prof. Busch - LSU1 Mathematical Preliminaries. Prof. Busch - LSU2 Mathematical Preliminaries Sets Functions Relations Graphs Proof Techniques.
CSC312 Automata Theory Lecture # 1 Introduction.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 11 Midterm Exam 2 -Context-Free Languages Mälardalen University 2005.
Saeid Pashzadeh Jan 2009 Theory of Computation 1.
Pushdown Automata Chapters Generators vs. Recognizers For Regular Languages: –regular expressions are generators –FAs are recognizers For Context-free.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 2:20-5:10 PM, Tuesday Place: BL 112.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL.
Models of Computation. Computation: Computation is a general term for any type of information processing information processing CPU memory.
THEORY OF COMPUTATION Komate AMPHAWAN 1. 2.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
CS 203: Introduction to Formal Languages and Automata
CSC312 Automata Theory Nonregular Languages Chapter # 10 by Cohen
Models of Computation نظریه زبان ها و ماشین ها Iranai.blog.ir IRANAI.BLOG.ir _
UNIT - I Formal Language and Regular Expressions: Languages Definition regular expressions Regular sets identity rules. Finite Automata: DFA NFA NFA with.
Chapter 8 Properties of Context-free Languages These class notes are based on material from our textbook, An Introduction to Formal Languages and Automata,
1 Mathematical Preliminaries. 2 Sets Functions Relations Graphs Proof Techniques.
CSCI 2670 Introduction to Theory of Computing October 13, 2005.
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 0 Introduction Some slides are in courtesy of Prof.
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 2 Context-Free Languages Some slides are in courtesy.
Push Down Automata Chapter 14. Introduction We have seen different types of languages so far –Regular Languages –Nonregular Languages –Context Free Languages.
Grammar Set of variables Set of terminal symbols Start variable Set of Production rules.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
Theory of Languages and Automata By: Mojtaba Khezrian.
Lecture 15: Theory of Automata:2014 Finite Automata with Output.
Theory of Computation. Introduction to The Course Lectures: Room ( Sun. & Tue.: 8 am – 9:30 am) Instructor: Dr. Ayman Srour (Ph.D. in Computer Science).
Chapter 1 INTRODUCTION TO THE THEORY OF COMPUTATION.
Topic 3: Automata Theory 1. OutlineOutline Finite state machine, Regular expressions, DFA, NDFA, and their equivalence, Grammars and Chomsky hierarchy.
Formal Foundations-II [Theory of Automata]
BCS2143 – Theory of Computer Science
Introduction to the Theory of Computation
CS-300 Theory of Computation 2nd Sem 2017 Lecture 1.
Lecture 1 Theory of Automata
PROPERTIES OF REGULAR LANGUAGES
Jaya Krishna, M.Tech, Assistant Professor
CSCI-2400 Models of Computation Costas Busch - RPI.
CSCI-2400 Models of Computation.
Mathematical Preliminaries Strings and Languages
Mathematical Preliminaries
Sub: Theoretical Foundations of Computer Sciences
Presentation transcript:

CSC312 Automata Theory Lecture # 1 Introduction

Administrative Stuff Instructor: Muhammad Usman Akram musmanakram@ciitahore.edu.pk Room # C-11 WebLink: http://usman-blog.com/category/courses/theory-of-automata-fa15/ Office Hrs: Mon-Thu 11:30 – 13:00 hrs (or by appointment) Prerequisite: CSC102 - Discrete Structures

Course Objectives: This course is designed to enable the students to study and mathematically model various abstract computing machines that serve as models for computations and examine the relationship between these automata and formal languages.

Course Outline Regular expressions, TG, DFA and NFAs. Core concepts of Regular Languages and Finite Automata; Moore and Mealy Machines, Decidability for Regular Languages; Non-regular Languages; Transducers (automata with output). Context-free Grammar and Languages; Decidability for Context-free Languages; Non-context-free Languages; Pushdown Automata, If time allows we will also have a short introduction to Turing machines.

Course Organization Text Book: i) Denial I. A. Cohen Introduction to Computer Theory, Second Edition, John Wiley & Sons. Reference Books: i) J. E. Hopcroft, R. Motwani, & J. D. Ullman Introduction to Automata Theory, Languages, and Computation, Third Edition, Pearson, 2008. Instruments: There will be 3~4 assignments, 3~4 quizzes, Weights: Assignments 10% Quizzes 15% S-I 10% S-II 15% Final Exam 50%

Schedule of Lectures Lect.# Topics/Contents 1 Introduction to Automata theory, Its background, Mathematical Preliminaries, Sets, Functions, Graphs, Proof Techniques 2 Formal Languages, Introduction to defining languages, alphabet, language, word, null string, length of a string, reverse of a string, Palindrome, Kleene closure. 3 Formal definition of Regular Expressions, Defining languages with regular expressions, Languages associated with regular expressions. 4 Equality of Regular Expressions, Introducing the language EVEN-EVEN. 5 More examples related to regular expressions. 6 Introducing Finite Automata., Defining languages using Finite Automata. Constructing Finite Automata for different languages. 7 Recognizing the language defined by the given Finite Automata. 8 More examples related to Finite Automata. 9 Transition Graphs with examples, Generalized Transition Graphs, Non-determinism in case of Transition Graphs. 10 Non-deterministic FA’s. Differences between FA, TG and NFA. 11 Sessional I

Schedule of Lectures 12 Discussion on the solution of S-I 13 Topics/Contents 12 Discussion on the solution of S-I 13 Kleene’s Theorem, Algorithm for turning TGs into REs 14 Kleene’s Theorem, Algorithm for turning REs into FAs 15 Different Rules for turning Res into FAs 16 Nondeterminism, NFA, converting NFA into FA. Union of two FAs using NFA. 17 Finite Automata with output, Moore’s machines and Mealy machines with examples. 1’s Complement machine, Increment machine. 18 Theorems for Converting Moore machines into Mealy machines and vice versa. 19 Transducers as models of sequential circuits. 20 Regular Languages, Closure properties (i.e. , Concatenation and Kleene closure) of Regular Languages with examples. 21 Complements and Intersections of Regular Languages, Theorems relating to regular languages and the related examples. 22 Non-Regular Languages, The pumping Lemma, Examples relating to Pumping Lemma.

Schedule of Lectures 23 Sessional-II 24 Decidability, decision procedure, Blue-paint method, Effective decision procedure to prove whether two given RE’s or FA’s are equivalent. Myhill-Nerode theorem, Related Examples. 25 Context-Free Grammars, CFG’s for Regular Languages with examples. CFG’s for non-regular languages. 26 CFG’s of PALINDROME, EQUAL and EVEN-EVEN languages, Backus-Naur Form. 27 Parse Trees, Examples relating to Parse Trees, Lukasiewicz notation, Prefix and Postfix notations and their evaluation. 28 Ambiguous and Unambiguous CFG’s, Total language tree. Regular Grammars, Semi-word, Word, Working String, Converting FA’s into CFG’s. 29 Regular Grammars, Constructing Transition Graphs from Regular Grammars. Killing null productions. Killing unit productions, 30 Chomsky Normal form with examples, Left most derivations. Pushdown Automata, Constructing PDA’s for FA’s, Pushdown stack.

Some basics Automaton = A self-operating machine or mechanism (Dictionary definition), plural is Automata. Automata = abstract computing devices Automata theory = the study of abstract machines (or more appropriately, abstract 'mathematical' machines or systems), and the computational problems that can be solved using these machines. Mathematical models of computation Finite automata Push-down automata Turing machines

History 1930s : Alan Turing defined machines more powerful than any in existence, or even any that we could imagine – Goal was to establish the boundary between what was and was not computable. 1940s/1950s : In an attempt to model “Brain function” researchers defined finite state machines. Late 1950s : Linguist Noam Chomsky began the study of Formal Grammars. 1960s : A convergence of all this into a formal theory of computer science, with very deep philosophical implications as well as practical applications (compilers, web searching, hardware, A.I., algorithm design, software engineering,…)

Computation memory CPU

temporary memory input memory CPU output memory Program memory

Example: temporary memory input memory CPU output memory Program memory compute compute

temporary memory input memory CPU output memory Program memory compute compute

temporary memory input memory CPU output memory Program memory compute compute

temporary memory input memory CPU Program memory output memory compute compute

Automaton temporary memory Automaton input memory CPU output memory Program memory

Different Kinds of Automata Automata are distinguished by the temporary memory Finite Automata: no temporary memory Pushdown Automata: stack Turing Machines: random access memory

Finite Automaton temporary memory input memory Finite Automaton output memory Example: Automatic Door, Vending Machines (small computing power)

Pushdown Automaton Stack Push, Pop input memory Pushdown Automaton output memory Example: Compilers for Programming Languages (medium computing power)

Turing Machine Random Access Memory input memory Turing Machine output memory Examples: Any Algorithm (highest computing power)

Power of Automata Finite Automata Pushdown Automata Turing Machine Less power More power Solve more computational problems

Mathematical Preliminaries Sets Functions Relations Graphs Proof Techniques

SETS A set is a collection of elements We write

Set Representations C = { a, b, c, d, e, f, g, h, i, j, k } C = { a, b, …, k } S = { 2, 4, 6, … } S = { j : j > 0, and j = 2k for some k>0 } S = { j : j is nonnegative and even } finite set infinite set

A = { 1, 2, 3, 4, 5 } 1 2 3 4 5 A U 6 7 8 9 10 Universal Set: all possible elements U = { 1 , … , 10 }

Set Operations A = { 1, 2, 3 } B = { 2, 3, 4, 5} Union A U B = { 1, 2, 3, 4, 5 } Intersection A B = { 2, 3 } Difference A - B = { 1 } B - A = { 4, 5 } A B 2 4 1 3 5 2 U 3 1 4 Venn diagrams 5

A A Complement Universal set = {1, …, 7} 4 A A 6 3 1 2 5 7 A = A

{ even integers } = { odd integers } 1 odd even 5 6 2 4 3 7

DeMorgan’s Laws A U B = A B U A B = A U B U

Empty, Null Set: = { } S U = S S = S - = S - S = U = Universal Set

Subset A = { 1, 2, 3} B = { 1, 2, 3, 4, 5 } A B U Proper Subset: A B U

Disjoint Sets A = { 1, 2, 3 } B = { 5, 6} A B = U A B

Set Cardinality For finite sets A = { 2, 5, 7 } |A| = 3 (set size)

Powersets A powerset is a set of sets S = { a, b, c } Powerset of S = the set of all the subsets of S 2S = { , {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c} } Observation: | 2S | = 2|S| ( 8 = 23 )

Generalizes to more than two sets Cartesian Product A = { 2, 4 } B = { 2, 3, 5 } A X B = { (2, 2), (2, 3), (2, 5), ( 4, 2), (4, 3), (4, 5) } |A X B| = |A| |B| Generalizes to more than two sets A X B X … X Z

FUNCTIONS domain range 4 A B f(1) = a a 1 2 b c 3 5 f : A -> B If A = domain then f is a total function otherwise f is a partial function

RELATIONS Let A & B be sets. A binary relation “R” from A to B R = {(x1, y1), (x2, y2), (x3, y3), …} Where and R ⊆ A x B xi R yi to denote e. g. if R = ‘>’: 2 > 1, 3 > 2, 3 > 1

GRAPHS A directed graph e b d a c Nodes (Vertices) edge c Nodes (Vertices) V = { a, b, c, d, e } Edges E = { (a,b), (b,c), (b,e),(c,a), (c,e), (d,c), (e,b), (e,d) }

Labeled Graph 2 6 e 2 b 1 3 d a 6 5 c

Walk e b d a c Walk is a sequence of adjacent edges (e, d), (d, c), (c, a)

Path e b d a c Path is a walk where no edge is repeated Simple path: no node is repeated

Cycle e base b 3 1 d a 2 c Cycle: a walk from a node (base) to itself Simple cycle: only the base node is repeated

Euler Tour 8 base e 7 1 b 4 6 5 d a 2 3 c A cycle that contains each edge once

Hamiltonian Cycle 5 base e 1 b 4 d a 2 3 c A simple cycle that contains all nodes

Trees root parent leaf child Trees have no cycles

root Level 0 Level 1 Height 3 leaf Level 2 Level 3

Binary Trees