1 / 137

CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 1 Mälardalen University

CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 1 Mälardalen University 2005. Content Mathematical Preliminaries Countable Sets (Uppräkneliga mängder) Uncountable sets (Överuppräkneliga mängder) Languages, Alphabets and Strings Strings & String Operations

keegan
Download Presentation

CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 1 Mälardalen University

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. CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 1 Mälardalen University 2005

  2. Content • Mathematical Preliminaries • Countable Sets (Uppräkneliga mängder) • Uncountable sets (Överuppräkneliga mängder) • Languages, Alphabets and Strings • Strings & String Operations • Languages & Language Operations • Regular Expressions

  3. Lecturer&Examiner • Gordana Dodig-Crnkovic

  4. Teaching Assistent • Andreas Ermedahl

  5. http://www.idt.mdh.se/kurser/cd5560/05_04 visit home page regularly! Course Home Page

  6. Why Theory of Computation? • A real computer can be modelled by a mathematical object: a theoretical computer. • A formal language is a set of strings, and can represent a computational problem. • A formal language can be described in many different ways that ultimately prove to be identical. • Simulation: the relative power of computing models can be based on the ease with which one model can simulate another.

  7. 5. Robustness of a computational model. • 6. The Church-Turing thesis: anything that can be computed can be computed by a Turing machine. • 7. Nondeterminism: languages can be described by the existence or nonexistence of computational paths. • 8. Unsolvability: for some computational problems there is no corresponding algorithm that will unerringly solve them.

  8. Practical Applications • Efficient compilation of computer languages • String searching • Identifying the limits; Recognizing difficult problems • Applications to other areas: • circuit verification • economics and game theory (finite automata as strategy models in decision-making); • theoretical biology (L-systems as models of organism growth) • computer graphics (L-systems) • linguistics (modeling by grammars)

  9. History • Euclid's attempt to axiomatize geometry • (Archimedes realized, during his own efforts to define the area of a planar figure, that Euclid's attempt had failed and that additional postulates were needed.) • Leibniz's dream of a symbolic logic • de Morgan, Boole, Frege, Russell, Whitehead: • Mathematics as branch of symbolic logic!

  10. 1900 Hilberts program 1880-1936 first programming languages 1931 Gödels incompleteness theorem 1936 Turing maschine (showed to be equivalent with recursive functions). Commonly accepted: TM as ultimate computer 1950 automata 1956 language/automata hierarchy

  11. Every mathematical truth expressed in a formal language consisting of • a fixed alphabet of admissible symbols, and • explicit rules of syntax for combining those symbols • into meaningful words and sentences

  12. Turing used a Universal Turing machine (UTM) to prove an even more powerful incompleteness theorem because it destroyed not one but two of Hilbert's dreams: • finding a finite list of axioms from which all mathematical truths can be deduced • Solving the entscheidungsproblem, ("decision problem“) by producing a "fully automatic procedure" for deciding whether a given proposition (sentence) is true or false.

  13. Mathematical Preliminaries

  14. Sets • Functions • Relations • Graphs • Proof Techniques

  15. SETS A set is a collection of elements We write

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

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

  18. 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 } B A U A-B

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

  20. { even integers } = { odd integers } Integers 1 odd 0 5 even 6 2 4 3 7

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

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

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

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

  25. Set Cardinality For finite sets A = { 2, 5, 7 } |A| = 3

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

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

  28. PROOF TECHNIQUES • Proof by construction • Proof by induction • Proof by contradiction

  29. 2 2 3 1 1 4 0 0 5 3 Construction We define a graph to be k-regular if every node in the graph has degree k. Theorem. For each even number n > 2 there exists 3-regular graph with n nodes. n = 6 n = 4

  30. Proof by Construction Construct a graph G = (V, E) with n > 2 nodes. V= { 0, 1, …, n-1 } E = { {i, i+1}  for 0  i  n-2}  {{n-1,0}} (*)  {{i, i+n/2 for 0  i  n/2 –1} (**) The nodes of this graph can be written consecutively around the circle. (*) edges between adjacent pairs of nodes (**) edges between nodes on opposite sides END OF PROOF

  31. Induction We have statements P1, P2, P3, … • If we know • for some k that P1, P2, …, Pk are true • for any n k that • P1, P2, …, Pn imply Pn+1 • Then • Every Pi is true

  32. Proof by Induction • Inductive basis • Find P1, P2, …, Pk which are true • Inductive hypothesis • Let’s assume P1, P2, …, Pn are true, • for any n  k • Inductive step • Show that Pn+1 is true

  33. Example TheoremA binary tree of height n has at most 2n leaves. Proof let L(i) be the number of leaves at level i L(0) = 1 L(3) = 8

  34. We want to show: L(i)  2i • Inductive basis • L(0) = 1 (the root node) • Inductive hypothesis • Let’s assume L(i)  2i for all i = 0, 1, …, n • Induction step • we need to show that L(n + 1)  2n+1

  35. Induction Step Level hypothesis: L(n)  2n n n+1

  36. Induction Step Level hypothesis: L(n)  2n n n+1 L(n+1)  2 * L(n)  2 * 2n = 2n+1 END OF PROOF

  37. Inductionsbevis: Potensmängdens kardinalitet Påstående:En mängd med n element har 2n delmängder • Kontroll • Tomma mängden {} (med noll element) har bara en delmängd: {}. • Mängden {a} (med ett element) har två delmängder: {} och {a}

  38. Påstående:En mängd med n element har 2n delmängder • Kontroll (forts.) • Mängden {a, b} (med två element) har fyra delmängder: {}, {a}, {b} och {a,b} • Mängden {a, b, c} (med tre element) har åtta delmängder: {}, {a}, {b}, {c} och {a,b}, {a,c}, {b,c}, {a,b,c} • Påstående stämmer så här långt.

  39. Bassteg • Enklaste fallet är en mängd med noll element (det finns bara en sådan), som har 20 = 1 delmängder.

  40. Induktionssteg • Antag att påståendet gäller för alla mängder med k element, dvs antag att varje mängd med k element har 2k delmängder. • Visa att påståendet i så fall också gäller för alla mängder med k+1 element, dvs visa att varje mängd med k+1 element har 2k+1 delmängder.

  41. Vi betraktar en godtycklig mängd med k+1 element. Delmängderna till mängden kan delas upp i två sorter: • Delmängder som inte innehåller element nr k+1:En sådan delmängd är en delmängd till mängden med de k första elementen, och delmängder till en mängd med k element finns det (enligt antagandet) 2k stycken. • Delmängder som innehåller element nr k+1:En sådan delmängd kan man skapa genom att ta en delmängd som inte innehåller element nr k+1 och lägga till detta element. Eftersom det finns 2k delmängder utan element nr k+1 kan man även skapa 2k delmängder med detta element. • Totalt har man 2k +2k = 2. 2k= 2k+1 delmängder till den betraktade mängden. • END OF PROOF • (Exempel från boken: Diskret matematik och diskreta modeller, K Eriksson, H. Gavel)

  42. Proof by Contradiction • We want to prove that a statement P is true • we assume that P is false • then we arrive at a conclusion that contradicts our assumptions • therefore, statement P must be true

  43. Example • Theorem is not rational • Proof • Assume by contradiction that it is rational • = n/m • n and m have no common factors • We will show that this is impossible

  44. = n/m 2 m2 = n2 n is even n = 2 k Therefore, n2 is even m is even m = 2 p 2 m2 = 4k2 m2 = 2k2 Thus, m and n have common factor 2 Contradiction! END OF PROOF

  45. Countable Sets(Uppräkneliga mängder)

  46. Infinite sets are either Countable or Uncountable

  47. Countable set There is a one to one correspondence between elements of the set and natural numbers

  48. We started with the natural numbers, then • add infinitely many negative whole numbers to get the integers, • then add infinitely many rational fractions to get the rationals, • then added infinitely many irrational fractions to get the reals. Each infinite addition seem to increase cardinality: |N| < |Z| < |Q| < |R| But is this true? NO!

  49. Example The set of integers is countable Integers: Correspondence: Natural numbers:

  50. The set of rational numbers is countable Example Positive Rational numbers:

More Related