Formal Languages, Automata and Models of Computation

Slides:



Advertisements
Liknande presentationer
1.Numerical differentiation and quadrature Discrete differentiation and integration Ordinary.
Advertisements

1 CD5560 FABER Formal Languages, Automata and Models of Computation Exercise 2 Mälardalen University 2007.
För att uppdatera sidfotstexten, gå till menyfliken: Infoga | Sidhuvud och sidfot Fondbolagsträff 2015.
Hjälper huvudverbet att ange tid eller modalitet
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 0 - Intro Mälardalen University 2005.
Mathematics 1 /Matematik 1 Lesson 7 – complex numbers Lektion 7 – Komplexa tal.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 6 Mälardalen University 2006.
Formal Languages, Automata and Models of Computation
Arkitektrollen. Ansvar och uppgifter Architecture notebook Mycket intensivt elaboration – inception Mål: en stabil arkitektur i slutet på elaboration.
”National Champions” Nordiska konkurrensnätverket Bergen 2008 Hans Henrik Lidgard.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 1 Mälardalen University 2005.
 Who frågar efter en persons (eller personers) identitet (vem dem är).  Who is he?  Who are they?  Who is coming?
To practise speaking English for 3-4 minutes Genom undervisningen i ämnet engelska ska eleverna ges förutsättningar att utveckla sin förmåga att: formulera.
© 2007 Pearson Prentice Hall This work is protected by United States copyright laws and is provided solely for the use of instructors in teaching their.
Polygoner och samband mellan dessa
© Gunnar Wettergren1 IV1021 Project models Gunnar Wettergren
Learning study som aktionsforskningsprocess: Lärares och elevers parallella lärande.
1-1 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-1 Programmering 7.5 hp Programmering är... creativ, fascinerande, roligt,
Shannon dekomposition
CHI-TSONG CHEN KAPITEL 2- Systems Kortfattade läsanvisningar Läs hela kapitlet utom 2.9 och 2.10.
Don´t just try! Do! Emma Nääs
Lab Contact 1  Lab Assistants:  Meng Liu, Group B  Sara Abbaspour, Group A
APA American Psychological Association Föreläsning Göran Brante.
1 DVA215 INFORMATION - KUNSKAP - VETENSKAP GENERALISERBARHET Gordana Dodig-Crnkovic Akademin för innovation, design och teknik, Mälardalens högskola.
THINGS TO CONSIDER WHILE PLANNING A PARTY Planning an event can take an immense amount of time and planning. Even then, the biggest problem that arises.
STEPS TO FOLLOW FOR BECOMING A SHIP CAPTAIN A career as a ship captain can be a tedious task. Ship captains take care of business, navigation and operation.
SAFETY EQUIPMENT USED IN MARITIMEOPERATIONS One of the most important sections in maritime courses consists of boat and ship operations. Safety is an important.
Swedish for international students Kie FM Sandra Uitto Swedish teacher Language Center, Aalto University U-wing, II floor.
Advice from Bronx Best Real Estate Attorney. Jagiani Law office of New York has been successfully working as divorce attorney & Real estate attorney for.
Digitization and Management Consulting
Why you should consider hiring a real estate attorney!
Law abiding grounds of filing a divorce Jagianilaw.com.
Types of Business Consulting Services Cornerstoneorg.com.
GDPR - General Data Protection Regulation
Mathematics 1 /Matematik 1
Bringapillow.com. Online Dating- A great way to find your love! The words ‘Love’ and ‘Relationship’ are close to every heart. Indeed, they are beautiful!
Alternativ till DiVA? Elisabeth Uhlemann,
Work of a Family law attorney Jagianilaw.com. A Family Law Attorney basically covers a wide range spectrum of issues that a family may face with difficulty.
The Online Way to Engagement and Wedding Jewelry! Pearlleady.com.
Course info.
Meeting singles had never been so easy before. The growing dating sites for singles have given a totally new approach to getting into relationships. ‘Singles.
Planering i matematikundervisning
Hoppas det här går hem ! Bildspelet vecka 3 5 BE ® BrucElvis
We are the world There comes a time When we head a certain call When the world must come together as one There are people dying And it's time to lend.
Strategic Sustainable Development
Formal Languages, Automata and Models of Computation
Role of Divorce, Family Law and Commercial Attorneys.
How to Buy Engagement Rings for Women Online?. Buying engagement rings for women or tiffany celebration rings from the online market could be a bit challenging.
Amazing Wedding/Bridal Jewellery & Gifts Available Online Pearlleady.com.
You Must Take Marriage Advice to Stop Divorce! Dontgetdivorced.com.
Practice and challenges in involving fathers
Industrial Mathematics: Modeling, Simulation, and Optimization
Figure Types of analog-to-analog modulation
Eunis Research and Analysis Initiative
Publish your presentations online we present SLIDEPLAYER.SI.
Publish your presentations online we present SLIDEPLAYER.RS.
Publish your presentations online we present SLIDEPLAYER.IN.
Publish your presentations online we present SLIDEPLAYER.VN.
Publish your presentations online we present SLIDEPLAYER.RO.
Publish your presentations online we present SLIDEPLAYER.EE.
Publish your presentations online we present SLIDEPLAYER.CO.IL.
Publish your presentations online we present SLIDEPLAYER.AE.
Publish your presentations online we present SLIDEPLAYER.BG.
Publish your presentations online we present SLIDEPLAYER.AFRICA.
Publish your presentations online we present SLIDEPLAYER.MX.
Publish your presentations online we present SLIDEPLAYER.LT.
Publish your presentations online we present SLIDEPLAYER.LV.
Publish your presentations online we present SLIDEPLAYER.SK.
Presentationens avskrift:

Formal Languages, Automata and Models of Computation CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 1 - Intro School of Innovation, Design and Engineering Mälardalen University 2012

Content Adminstrivia Mathematical Preliminaries Countable Sets (Uppräkneliga mängder) Uncountable sets (Överuppräkneliga mängder)

Lecturer & Examiner Gordana Dodig-Crnkovic

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

20 hours a week for this type of course (norm) How Much Work? 20 hours a week for this type of course (norm) 4 hours lectures 2 hours exercises 14 hours own work a week!

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.

Why Theory of Computation? 5. Robustness of a general computational model. 6. The Church-Turing thesis: "everything algorithmically computable is computable by a Turing machine." 7. Study of non-determinism: languages can be described by the existence or no-nexistence of computational paths. 8. Understanding unsolvability: for some computational problems there is no corresponding algorithm that will unerringly solve them.

Practical Applications Efficient compilation of computer languages String search Investigation of the limits of computation, recognizing difficult/unsolvable 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 (modelling by grammars)

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 (1646 - 1716) dream reasoning as calculus - "Characteristica Universalis" aiming at: "a general method in which all truths of the reason would be reduced to a kind of calculation. At the same time this would be a sort of universal language or script, but infinitely different from all those projected hitherto; for the symbols and even the words in it would direct reason; and errors, except those of fact, would be mere mistakes in calculation.“ de Morgan, Boole, Frege, Russell, Whitehead: Mathematics as a branch of symbolic logic!

1900 Hilberts program for axiomatization of mathematics, redefined "proof" to become a completely rigorous notion, totally different from the psycho/sociological "A proof is something that convinces other mathematicians.“ He confirms the prediction Leibniz made, that "the symbols would direct reason" 1880 -1936 first programming languages 1931 Gödels incompleteness theorems 1936 Turing maschine (showed to be equivalent with recursive functions). Commonly accepted: TM as ultimate computer 1950 automata 1956 language/automata hierarchy

Formalization of Mathematics Every mathematical truth expressed in a formal language is consisting of a fixed alphabet of admissible symbols, and explicit rules of syntax for combining those symbols into meaningful words and sentences Gödel's two incompleteness theorems of mathematical logic show limitations of all but the most trivial axiomatic systems. The theorems are widely interpreted as showing that Hilbert's program to find a complete and consistent set of axioms for all of mathematics is impossible, thus giving a negative answer to Hilbert's second problem.

Statement of Hilbert’s program The main goal of Hilbert's program was to provide secure foundations for all mathematics. In particular this should include: A formalization of all mathematics; in other words all mathematical statements should be written in a precise formal language, and manipulated according to well defined rules. Completeness: a proof that all true mathematical statements can be proved in the formalism. Consistency: a proof that no contradiction can be obtained in the formalism of mathematics. This consistency proof should preferably use only "finitistic" reasoning about finite mathematical objects. Decidability: there should be an algorithm for deciding the truth or falsity of any mathematical statement.

Statement of Hilbert’s program Gödel showed that most of the goals of Hilbert's program were impossible to achieve. His second incompleteness theorem stated that any consistent theory powerful enough to encode addition and multiplication of integers cannot prove its own consistency. This wipes out most of Hilbert's program as follows: It is not possible to formalize all of mathematics, as any attempt at such a formalism will omit some true mathematical statements. The most interesting mathematical theories are not complete. A theory such as Peano arithmetic cannot even prove its own consistency.

Turing’s Contribution Turing used a Universal Turing machine (UTM) to prove an incompleteness theorem even more powerful than Gödel’s 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.

Mathematical Preliminaries Based on C Busch, RPI, Models of Computation

Sets Functions Relations Proof Techniques Set Cardinality and Infinities Uncomputability

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 } Universal Set: All possible elements U = { 1 , … , 10 } 1 2 3 4 5 A U 6 7 8 9 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 } U A B A-B

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

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

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

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

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

Powersets A powerset is a set of sets S = { a, b, c } Powerset of S = the set of all the subsets of S S = { a, b, c } 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

PROOF TECHNIQUES Proof by construction Proof by induction Proof by contradiction

Proof by 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. 2 3 2 1 1 4 5 3 n = 6 n = 4

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 Proof by Construction END OF PROOF

Inductive Proof 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

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

Example Theorem A 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

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

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

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

Proof by induction: Cardinality of a power set Let S be a finite set with N elements. Then the powerset of S (that is the set of all subsets of S ) contains 2^N elements. In other words, S has 2^N subsets. This statement can be proved by induction. It's true for N=0,1,2,3 as can be shown by examination. The notation 2^N means 2 to the power N, i.e., the product of N factors all of which equal 2. 2^0 is defined to be 1

The size of a finite power set For the induction step suppose that the statement is true for a set with N-1 elements, and let S be a set with N elements. Remove on element x from S to obtain a set T with N-1 elements. There are two types of subsets of S: those that contain x and those that do not contain x. The latter are subsets of T, of which there are 2^ N-1. Every subset P of S that does contain x can be obtained from a subset Q of T by adding x. The set Q is simply the set P with x removed. Clearly there is a unique and distinct set Q for each set P and every subset Q of T gives rise to a unique and distinct subset P of S. There are thus also 2^ (N-1) subsets of S that contain x, for a total of 2^ (N-1) + 2^ (N-1) = 2^ N subsets of S.

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}

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.

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

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.

Vi betraktar en godtycklig mängd med k+1 element 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

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

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

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

Countable Sets

Infinite sets are either Countable or Uncountable

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

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, Each infinite addition seem to increase cardinality: |N| < |Z| < |Q| But is this true? NO!

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

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

Naive Idea Rational numbers: Correspondence: Natural numbers: Doesn’t work! we will never count numbers with nominator 2:

Better Approach ... ... ... ... Rows: constant numerator (täljare) Columns: constant denominator ...

... ... ... ...

We proved: the set of rational numbers is countable by describing an enumeration procedure

Definitions A language is a set of strings. A string is a sequence of symbols defined over an alphabet: An alphabet is a set of symbols.

Definition An enumeration procedure for is an algorithm that generates all elements of one by one. Let be a set.

Observation A set is countable if there is an enumeration procedure for it.

Example The set of all finite strings of symbols is countable. Proof We will describe the enumeration procedure.

Naive procedure: Produce the strings in lexicographic order: Doesn’t work! Strings starting with will never be produced.

Better procedure Proper Order 1. Produce all strings of length 1 2. Produce all strings of length 2 3. Produce all strings of length 3 4. Produce all strings of length 4 ..........

length 1 Produce strings in Proper Order length 2 length 3

Theorem The set of all finite strings is countable. Proof Find an enumeration procedure for the set of finite strings. Any finite string can be encoded with a binary string of 0’s and 1’s.

Produce strings in Proper Order length 2 length 3 length 1 1 00 01 10 11 000 001 …. 2 3 4 5 6 7 String = program Natural number

PROGRAM = STRING (syntactic way) PROGRAM = FUNCTION  (semantic way) PROGRAM string PROGRAM natural number n

Uncountable Sets

Definition A set is uncountable if it is not countable.

Theorem The set of all infinite strings is uncountable. Proof (by contradiction) We assume we have an enumeration procedure for the set of infinite strings.

Cantor’s diagonal argument Encoding Infinite string = ... = = ... ... ... ... ...

Cantor’s diagonal argument We can construct a new string that is missing in our enumeration! Conclusion The set of all infinite strings is uncountable!

Conclusion There are some integer functions that An infinite string can be seen as FUNCTION  (n:th output is n:th bit in the string) Conclusion There are some integer functions that that cannot be described by finite strings (programs/algorithms).

Example of uncountable infinite sets Theorem Let be an infinite countable set. The powerset of is uncountable.

Proof Since is countable, we can write

Elements of the powerset have the form: ……

We encode each element of the power set with a binary string of 0’s and 1’s Encoding Powerset element ... ... ... ...

Let’s assume (by contradiction) that the powerset is countable. Then: we can enumerate the elements of the powerset

Powerset element Encoding ... ... ... ... ...

Take the powerset element whose bits are the complements in the diagonal

... ... ... ... New element: (binary complement of diagonal)

The new element must be some of the powerset However, that’s impossible: from definition of the i-th bit of must be the complement of itself Contradiction!

Since we have a contradiction: The powerset of is uncountable END OF PROOF

uncountable infinite An Application: Languages Example Alphabet : The set of all finite strings: infinite and countable The powerset of contains all languages: uncountable infinite

Finite strings (algorithms): countable Languages (power set of strings): uncountable There are infinitely many more languages than finite strings.

Conclusion There are some languages that cannot be described by finite strings (algorithms).

Cardinality - Kardinaltal Kardinaltal är mått på storleken av mängder. Kardinaltalet för en ändlig mängd är helt enkelt antalet element i mängden. Två mängder är lika mäktiga om man kan para ihop elementen i den ena mängden med elementen i den andra på ett uttömmande sätt, dvs det finns en bijektion mellan dem.

Real Numbers http://teachers.henrico.k12.va.us/math/ms/c30708/pics/1_4realnumbers.jpg

Cardinality - Kardinaltal Kardinaltal kan generaliseras till oändliga mängder. Till exempel är mängden av positiva heltal och mängden av heltal lika mäktiga (har samma kardinaltal). Däremot kan man inte para ihop alla reella tal med heltalen på detta sätt. Mängden av reella tal har större mäktighet än mängden av heltal.

Cardinality - Kardinaltal Man kan införa kardinaltal på ett sådant sätt att två mängder har samma kardinaltal om och endast om de har samma mäktighet. T ex kallas kardinaltalet som hör till de hela talen för 0 (alef 0, alef är den första bokstaven i det hebreiska alfabetet). Dessa oändliga kardinaltal kallas transfinita kardinaltal.

Mer om oändligheter… More about Infinty Georg Cantor utvecklade i slutet av 1800-talet matematikens logiska grund, mängdläran. Den enklaste, "minsta", oändligheten kallade han 0. Det är den uppräkningsbara oändliga mängdens (exempelvis mängden av alla heltal) kardinaltalet. Kardinaltalet av mängden punkter på en linje, och även punkterna på ett plan och i en kropp, kallade Cantor 1. Fanns det större oändligheter?

Ja! Cantor kunde visa att antalet funktioner på en linje var ”ännu oändligare” än punkterna på linjen, och han kallade den mängden 2. Cantor fann att det gick att räkna med kardinaltalen precis som med vanliga tal, men räknereglerna blev något enahanda.. 0 + 1= 0 0 + 0 = 0 0 · 0 = 0.

Men vid exponering hände det något: 0 0 (0 upphöjt till 0) = 1. Mer generellt visade det sig att 2 n (2 upphöjt till n) = n+1 Det innebar att det fanns oändligt många oändligheter, den ena mäktigare än den andra!

Men var det verkligen säkert att det inte fanns någon oändlighet mellan den uppräkningsbara och punkterna på linjen? Cantor försökte bevisa den så kallade kontinuumhypotesen. Cantor: two different infinities 0 and 1 http://www.ii.com/math/ch/#cardinals Continuum Hypothesis: 0 < 1 = 2 0 Se även: http://www.nyteknik.se/pub/ipsart.asp?art_id=26484

Course materials based on Peter Linz, An Introduction to Formal Languages and Automata http://www.cs.rpi.edu/courses/fall00/modcomp3/ Models of Computation, C Busch Lenart Salling, Formella språk, automater och beräkningar http://www.cs.duke.edu/~rodger Mathematical Foundations of Computer Science; Susan H. Rodger; Duke University Rich Elaine, Automata, Computability and Complexity: Theory and Applications, Prentice Hall