1 / 65

CSC312 Automata Theory Lecture # 1 Introduction

CSC312 Automata Theory Lecture # 1 Introduction. Administrative Stuff. Instructor: Dr. Mudasser Naseer mnaseer@ciitahore.edu.pk Cabin # 1, Faculty Room C7 Lectures: Sec-B: Wed 1630, Thu 1800 hrs. Sec-C: Wed 1800, Thu 1630 hrs. Office Hrs: Tue & Thu 1400 – 1600 hrs

jbiggins
Download Presentation

CSC312 Automata Theory Lecture # 1 Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSC312 Automata Theory Lecture # 1 Introduction

  2. Administrative Stuff • Instructor: Dr. Mudasser Naseer • mnaseer@ciitahore.edu.pk Cabin # 1, Faculty Room C7 • Lectures: Sec-B: Wed 1630, Thu 1800 hrs. • Sec-C: Wed 1800, Thu 1630 hrs. • Office Hrs: Tue & Thu 1400 – 1600 hrs • (or by appointment) • Prerequisite: CSC102 - Discrete Structures

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

  4. Course Outline Study and mathematically model various abstract computing machines that serve as models for computations and examine the relationship between these automata and formal languages. Regular expressions, NFAs. Core concepts of Regular Languages and Finite Automata; Decidability for Regular Languages; Non-regular Languages; Context-free Languages and Pushdown Automata; Decidability for Context-free Languages; Non-context-free Languages; Turing Machines and Their Languages are important part of the course. Transducers (automata with output).

  5. Schedule of Lectures

  6. Schedule of Lectures (Cont…)

  7. Schedule of Lectures (Cont…)

  8. 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

  9. 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/150s : 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,…)

  10. Computation memory CPU Courtesy Costas Busch - RPI

  11. temporary memory input memory CPU output memory Program memory Courtesy Costas Busch - RPI

  12. Example: temporary memory input memory CPU output memory Program memory compute compute Courtesy Costas Busch - RPI

  13. temporary memory input memory CPU output memory Program memory compute compute Courtesy Costas Busch - RPI

  14. temporary memory input memory CPU output memory Program memory compute compute Courtesy Costas Busch - RPI

  15. temporary memory input memory CPU Program memory output memory compute compute Courtesy Costas Busch - RPI

  16. Automaton temporary memory Automaton input memory CPU output memory Program memory Courtesy Costas Busch - RPI

  17. Different Kinds of Automata • Automata are distinguished by the temporary memory • Finite Automata: no temporary memory • Pushdown Automata: stack • Turing Machines: random access memory Courtesy Costas Busch - RPI

  18. Finite Automaton temporary memory input memory Finite Automaton output memory Example: Vending Machines (small computing power) Courtesy Costas Busch - RPI

  19. Pushdown Automaton Stack Push, Pop input memory Pushdown Automaton output memory Example: Compilers for Programming Languages (medium computing power) Courtesy Costas Busch - RPI

  20. Turing Machine Random Access Memory input memory Turing Machine output memory Examples: Any Algorithm (highest computing power) Courtesy Costas Busch - RPI

  21. Power of Automata Finite Automata Pushdown Automata Turing Machine Less power More power Solve more computational problems Courtesy Costas Busch - RPI

  22. Mathematical Preliminaries • Sets • Functions • Relations • Graphs • Proof Techniques Courtesy Costas Busch - RPI

  23. SETS A set is a collection of elements We write Courtesy Costas Busch - RPI

  24. 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 Courtesy Costas Busch - RPI

  25. U A 6 8 2 3 1 7 4 5 9 10 A = { 1, 2, 3, 4, 5 } • Universal Set: all possible elements • U = { 1 , … , 10 } Courtesy Costas Busch - RPI

  26. B A • 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 } 2 4 1 3 5 U 2 3 1 Venn diagrams Courtesy Costas Busch - RPI

  27. Complement • Universal set = {1, …, 7} • A = { 1, 2, 3 } A = { 4, 5, 6, 7} 4 A A 6 3 1 2 5 7 A = A Courtesy Costas Busch - RPI

  28. { even integers } = { odd integers } Integers 1 odd 0 5 even 6 2 4 3 7 Courtesy Costas Busch - RPI

  29. DeMorgan’s Laws A U B = A B U A B = A U B U Courtesy Costas Busch - RPI

  30. Empty, Null Set: = { } S U = S S = S - = S - S = U = Universal Set Courtesy Costas Busch - RPI

  31. U A B U A B Subset A = { 1, 2, 3} B = { 1, 2, 3, 4, 5 } Proper Subset: B A Courtesy Costas Busch - RPI

  32. A B = U Disjoint Sets A = { 1, 2, 3 } B = { 5, 6} A B Courtesy Costas Busch - RPI

  33. Set Cardinality • For finite sets A = { 2, 5, 7 } |A| = 3 (set size) Courtesy Costas Busch - RPI

  34. 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 ) Courtesy Costas Busch - RPI

  35. 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 Courtesy Costas Busch - RPI

  36. FUNCTIONS domain range B 4 A 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 Courtesy Costas Busch - RPI

  37. 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 Courtesy Costas Busch - RPI

  38. Equivalence Relations • Reflexive: x R x • Symmetric: x R y y R x • Transitive: x R y and y R z x R z • Example: R = ‘=‘ • x = x • x = y y = x • x = y and y = z x = z Courtesy Costas Busch - RPI

  39. Equivalence Classes Given an equivalence relation R on a set A and an element , the equivalence class ofis the set Example: R = { (1, 1), (2, 2), (1, 2), (2, 1), (3, 3), (4, 4), (3, 4), (4, 3) } Equivalence class of 1 = {1, 2} Equivalence class of 3 = {3, 4} Courtesy Costas Busch - RPI

  40. GRAPHS A directed graph e b node d a 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) } Courtesy Costas Busch - RPI

  41. Labeled Graph 2 6 e 2 b 1 3 d a 6 5 c Courtesy Costas Busch - RPI

  42. e b d a c Walk Walk is a sequence of adjacent edges (e, d), (d, c), (c, a) Courtesy Costas Busch - RPI

  43. e b d a c Path Path is a walk where no edge is repeated Simple path: no node is repeated Courtesy Costas Busch - RPI

  44. 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 Courtesy Costas Busch - RPI

  45. Euler Tour 8 base e 7 1 b 4 6 5 d a 2 3 c A cycle that contains each edge once Courtesy Costas Busch - RPI

  46. Hamiltonian Cycle 5 base e 1 b 4 d a 2 3 c A simple cycle that contains all nodes Courtesy Costas Busch - RPI

  47. Finding All Simple Paths e b d a c origin Courtesy Costas Busch - RPI

  48. Step 1 e b d a c origin (c, a) (c, e) Courtesy Costas Busch - RPI

  49. Step 2 e b d a (c, a) (c, a), (a, b) (c, e) (c, e), (e, b) (c, e), (e, d) c origin Courtesy Costas Busch - RPI

  50. Step 3 e b d a c (c, a) (c, a), (a, b) (c, a), (a, b), (b, e) (c, e) (c, e), (e, b) (c, e), (e, d) origin Courtesy Costas Busch - RPI

More Related