1 / 60

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-A: Tue 16:30 (C-6), Wed 16:30 (C-11) Sec-B: Mon 11:30 (C-13), Wed 15:00 (C-11)

lane-pope
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-A: Tue 16:30 (C-6), Wed 16:30 (C-11) Sec-B: Mon 11:30 (C-13), Wed 15:00 (C-11) • Office Hrs: Tue & Thu 1400 – 1600 hrs • (or by appointment) • Prerequisite: CSC102 - Discrete Structures

  3. Course Objectives: 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.

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

  6. Schedule of Lectures

  7. Schedule of Lectures

  8. Schedule of Lectures

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

  10. 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,…)

  11. Computation memory CPU Courtesy Costas Busch - RPI

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

  13. Example: 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 output memory Program memory compute compute Courtesy Costas Busch - RPI

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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. Trees root parent leaf child Trees have no cycles Courtesy Costas Busch - RPI

  48. root Level 0 Level 1 Height 3 leaf Level 2 Level 3 Courtesy Costas Busch - RPI

  49. Binary Trees Courtesy Costas Busch - RPI

  50. PROOF TECHNIQUES • Proof by induction • Proof by contradiction Courtesy Costas Busch - RPI

More Related