SlideShare une entreprise Scribd logo
1  sur  59
Theory of Automata
        &
Formal Languages
BOOKS
Theory of computer Science: K.L.P.Mishra &

  N.Chandrasekharan

Intro to Automata theory, Formal languages and
  computation:          Ullman,Hopcroft
                             Motwani

Elements of theory of computation Lewis &
                           papadimitrou
Syllabus
Introduction
Deterministic and non deterministic Finite
  Automata, Regular Expression,Two way
  finite automata,Finite automata with
  output,properties of regular sets,pumping
  lemma, closure properties,Myhill nerode
  theorem
Context free Grammar: Derivation trees,
 Simplification forms
Pushdown automata: Def, Relationship
 between PDA and context free
 language,Properties, decision
 algorithms
Turing Machines: Turing machine
 model,Modification of turing
 machines,Church’s
 thesis,Undecidability,Recursive and
 recursively enumerable languages Post
 correspondence problems recursive
 functions
Chomsky Hierarchy: Regular grammars,
 unrestricted grammar, context sensitive
 language, relationship among
 languages
temporary memory

                   input memory
        CPU
                   output memory

 Program memory
3
     temporary memory         f ( x) = x
        z = 2*2 = 4
      f ( x) = z * 2 = 8
                           input memory
                               x=2
               CPU
                           output memory
Program memory
      compute    x∗x
                   2
      compute    x ∗x
Automaton
temporary memory

Automaton
                   input memory
            CPU
                   output memory

  Program memory
temporary memory



                   input memory
  Finite
  Automaton
                   output 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
Turing Machine

         Random Access Memory



                                input memory
              Turing
              Machine
                               output memory


Algorithms    (highest computing power)
Power of Automata



Finite         Pushdown        Turing
Automata       Automata        Machine
Power sets
A power set 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 )
Cartesian Product
        A = { 2, 4 }              B = { 2, 3, 5 }


A X B = { (2, 2), (2, 3), (2, 5), ( 4, 2), (4, 3), (4, 4) }


                   |A X B| = |A| |B|


         Generalizes to more than two sets


                     AXBX…XZ
RELATIONS
R = {(x1, y1), (x2, y2), (x3, y3), …}


xi R yi


e. g. if R = ‘>’: 2 > 1, 3 > 2, 3 > 1




In relations xi can be repeated
Equivalence Relations
• Reflexive:       xRx
• Symmetric:       xRy        yRx
• Transitive:      x R Y and y R z      xRz


Example: R = ‘=‘
•x=x
•x=y                y=x
• x = y and y = z          x=z
Equivalence Classes
For equivalence relation R
      equivalence class of x = {y : x R y}


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}
Example of Equivalence relation
Let Z = set of integers
R be defined on it as:
R= {(x,y)| x ∈Z, y ∈ Z and
                      (x - y)is divisible by
  5}
This relation is known as
” congruent modulo 5”
The equivalence classes are
[0]R= {…-10, -5, 0, 5,10,…}
[1]R = {…..,-9, -4, 1, 6, 11, 16….}
[2]R= {….-8, -3,2,7,12,17…..}
[3]R = {….-7, -2, 3, 8 ,13,…}
[4]R = {….-6,-1,4,9,14,19,….}
Z/R ={[0]R, [1]R, [2]R, [3]R, [4]R}
PROOF TECHNIQUES

• Proof by induction


• Proof by contradiction
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
Trees
                root



                          parent

        leaf

                               child


Trees have no cycles
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
root
              Level 0



                 Level 1
leaf                          Height 3

                    Level 2



                    Level 3
Binary Trees
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) = 0




                                        l(3) = 8
Induction Step


 Level
   n               hypothesis: l(n) <= 2n

n+1
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


 Level
   n                            hypothesis: l(n) <= 2n

n+1


      l(n+1) <= 2 * l(n) <= 2 * 2n = 2n+1
Proof by Contradiction

We want to prove that a statement P is true


     • we assume that P is false
     • then we arrive at an incorrect conclusion
     • therefore, statement P must be true
Example
Theorem:         2   is not rational


Proof:
     Assume by contradiction that it is rational
             2   = n/m
           n and m have no common factors


     We will show that this is impossible
2   = n/m            2 m2 = n2



                                    n is even
Therefore, n2 is even
                                    n=2k


                                        m is even
2 m2 = 4k2         m2 = 2k2
                                        m=2p


  Thus, m and n have common factor 2

        Contradiction!
Basic Terms
Alphabet: A finite non empty set of
 elements.

      ∑∑     ={a,b,c,d,…z}
∑




    • String: A sequence of letters

       –        Examples: “cat”, “dog”, “house”, …

       –        Defined over an alphabet:
                      Σ={a, b, c,, z}

     Language: It is a set of strings on some
    alphabet
Alphabets and Strings
• We will use small alphabets:
• Strings                      Σ = { a, b}
              a
                          u = ab
              ab
                          v = bbbaaa
              abba
                          w = abba
              baba
              aaabbbaabab
String Operations
                               abba
    w = a1a2  an
                               bbbaaa
    v = b1b2  bm

              Concatenation

wv = a1a2  anb1b2 bm        abbabbbaaa
w = a1a2  an        ababaaabbb



           Reverse

 R
w = an  a2 a1       bbbaaababa
String Length
        w = a1a2  an
        w =n
• Length:

              abba = 4
• Examples:   aa = 2
              a =1
Recursive Definition of Length
                  a =1
For any letter:
                  wa   wa = w + 1
For any string     : abba   = abb + 1
                            = ab + 1 + 1
Example:
                            = a +1+1+1
                            = 1+1+1+1
                            =4
Length of Concatenation
             uv = u + v

        u = aab, u = 3
• Example: = abaab,
         v            v =5


        uv = aababaab = 8
        uv = u + v = 3 + 5 = 8
Proof of Concatenation Length
      uv = u + v
• Claim:
                                      v
• Proof: By induction on the length

                    v =1
  – Induction basis:
  –      From definition of length:

                 uv = u +1 = u + v
uv = u + v
– Inductive hypothesis:
                                  v = 1,2,, n
    •                     for



– Inductive step: we will prove    uv = u + v
–
–                          for     v = n +1
Inductive Step
       v = wa                   w = n, a = 1
• Write         ,     where
                               uv = uwa = uw + 1
• From definition of length:
                               wa = w + 1

• From inductive hypothesis:     uw = u + w

• Thus:
          uv = u + w + 1 = u + wa = u + v
Empty String
                               λ
• A string with no letters:

                  λ =0
• Observations:

                 λw = wλ = w

                 λabba = abbaλ = abba
Substring
• Substring of string:
  – a subsequence of consecutive
    characters
                   abbab             ab
•           String           Substring
                   abbab             abba
                   abbab             b
                   abbab             bbab
Prefix and Suffix
•    Prefixes    Suffixes
                            abbab w = uv
    λ            abbab
    a            bbab         prefix

    ab           bab                   suffix

    abb          ab
    abba         b
    abbab        λ
Another Operation
              wn = ww w
                   
                    
                       n

             ( abba ) = abbaabba
                   2
• Example:


               0
•   Definition:
                w =λ
    –
             ( abba ) = λ
                   0
The * Operation
 • Σ * : the set of all possible strings from
 • Σ alphabet




Σ = { a, b}
Σ* = { λ, a, b, aa, ab, ba, bb, aaa, aab,}
 •
The + Operation
  + : the set of all possible strings from
Σ
      alphabet Σ except λ

Σ = { a, b}
Σ* = { λ , a, b, aa, ab, ba, bb, aaa, aab,}

 +
Σ = Σ * −λ
 +
Σ = { a, b, aa, ab, ba, bb, aaa, aab,}
Language

• A language is any subset of   Σ*
           Σ = { a, b}
• Example: Σ* = { λ , a, b, aa, ab, ba, bb, aaa,}


            { λ}
            { a, aa, aab}
• Languages:
            {λ , abba, baba, aa, ab, aaaaaa}
Another Example
                       n n
                 L = {a b : n ≥ 0}
• An infinite language

 λ
 ab
                   ∈L    abb ∉ L
 aabb
 aaaaabbbbb
Operations on Languages

• The usual set operations

{ a, ab, aaaa}  { bb, ab} = {a, ab, bb, aaaa}
{ a, ab, aaaa}  { bb, ab} = {ab}
{ a, ab, aaaa} − { bb, ab} = { a, aaaa}
• Complement:
                   L = Σ * −L
  { a, ba} = { λ , b, aa, ab, bb, aaa,}
Reverse
                R        R
             L = {w : w ∈ L}
• Definition:

•
          { ab, aab, baba} = { ba, baa, abab}
    Examples:
                                R

                          n n
                    L = {a b : n ≥ 0}

                     R       n n
                    L = {b a : n ≥ 0}
Concatenation
                L1L2 = { xy : x ∈ L1, y ∈ L2 }
• Definition:


         { a, ab, ba}{ b, aa}
• Example:
         = { ab, aaa, abb, abaa, bab, baaa}
Another Operation
                Ln = 
                     LL  L
                        n
• Definition:

  { a, b}3 ={ a, b}{ a, b}{ a, b} =
  { aaa, aab, aba, abb, baa, bab, bba, bbb}

                     L0 = { λ}
• Special case:
                                    0
                     { a , bba , aaa } = { λ}
More Examples
          n n
•   L = {a b : n ≥ 0}

     2    n n m m
    L = {a b a b : n, m ≥ 0}

                        2
         aabbaaabbb ∈ L
Star-Closure (Kleene *)
                     0   1   2
                L* = L  L  L 
• Definition:


• Example:    λ ,                     
              a, bb,                  
                                      
 { a, bb} * =                         
               aa, abb, bba, bbbb,    
•
              aaa, aabb, abba, abbbb,
                                      
Positive Closure
           +    1    2
             L = L  L 
• Definition:  = L * −{ λ }


           a, bb,                  
        +                          
{ a, bb} = aa, abb, bba, bbbb,     
           aaa, aabb, abba, abbbb,
                                   
Finite Automaton
      Input
•
      String

                   Output
    Finite         String
    Automaton

Contenu connexe

Tendances

Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1
Srimatre K
 

Tendances (20)

Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)
Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)
Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)
 
Lecture: Automata
Lecture: AutomataLecture: Automata
Lecture: Automata
 
Automata
AutomataAutomata
Automata
 
Theory of Automata and formal languages unit 1
Theory of Automata and formal languages unit 1Theory of Automata and formal languages unit 1
Theory of Automata and formal languages unit 1
 
Ch3 4 regular expression and grammar
Ch3 4 regular expression and grammarCh3 4 regular expression and grammar
Ch3 4 regular expression and grammar
 
L3 cfg
L3 cfgL3 cfg
L3 cfg
 
Finite automata
Finite automataFinite automata
Finite automata
 
Regular Grammar
Regular GrammarRegular Grammar
Regular Grammar
 
Lecture 3,4
Lecture 3,4Lecture 3,4
Lecture 3,4
 
Theory of Automata Lesson 02
Theory of Automata Lesson 02Theory of Automata Lesson 02
Theory of Automata Lesson 02
 
Regular expressions
Regular expressionsRegular expressions
Regular expressions
 
Language
LanguageLanguage
Language
 
Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1
 
Automata theory
Automata theoryAutomata theory
Automata theory
 
Formal language
Formal languageFormal language
Formal language
 
Introduction TO Finite Automata
Introduction TO Finite AutomataIntroduction TO Finite Automata
Introduction TO Finite Automata
 
Finite automata(For college Seminars)
Finite automata(For college Seminars)Finite automata(For college Seminars)
Finite automata(For college Seminars)
 
Finite Automata
Finite AutomataFinite Automata
Finite Automata
 
TOC 1 | Introduction to Theory of Computation
TOC 1 | Introduction to Theory of ComputationTOC 1 | Introduction to Theory of Computation
TOC 1 | Introduction to Theory of Computation
 
Types of grammer - TOC
Types of grammer - TOCTypes of grammer - TOC
Types of grammer - TOC
 

Similaire à Finite automata intro

Class1
 Class1 Class1
Class1
issbp
 
Prin digcommselectedsoln
Prin digcommselectedsolnPrin digcommselectedsoln
Prin digcommselectedsoln
Ahmed Alshomi
 

Similaire à Finite automata intro (20)

Flat
FlatFlat
Flat
 
Class1
 Class1 Class1
Class1
 
L16
L16L16
L16
 
Ch01
Ch01Ch01
Ch01
 
Chap 1 real number
Chap 1 real numberChap 1 real number
Chap 1 real number
 
Chapter 3 REGULAR EXPRESSION.pdf
Chapter 3 REGULAR EXPRESSION.pdfChapter 3 REGULAR EXPRESSION.pdf
Chapter 3 REGULAR EXPRESSION.pdf
 
Finite mathematics
Finite mathematicsFinite mathematics
Finite mathematics
 
Mid semexam | Theory of Computation | Akash Anand | MTH 401A | IIT Kanpur
Mid semexam | Theory of Computation | Akash Anand | MTH 401A | IIT KanpurMid semexam | Theory of Computation | Akash Anand | MTH 401A | IIT Kanpur
Mid semexam | Theory of Computation | Akash Anand | MTH 401A | IIT Kanpur
 
Imc2020 day1&amp;2 problems&amp;solutions
Imc2020 day1&amp;2 problems&amp;solutionsImc2020 day1&amp;2 problems&amp;solutions
Imc2020 day1&amp;2 problems&amp;solutions
 
Mit6 094 iap10_lec03
Mit6 094 iap10_lec03Mit6 094 iap10_lec03
Mit6 094 iap10_lec03
 
Prin digcommselectedsoln
Prin digcommselectedsolnPrin digcommselectedsoln
Prin digcommselectedsoln
 
Unit i
Unit iUnit i
Unit i
 
Av 738- Adaptive Filtering - Wiener Filters[wk 3]
Av 738- Adaptive Filtering - Wiener Filters[wk 3]Av 738- Adaptive Filtering - Wiener Filters[wk 3]
Av 738- Adaptive Filtering - Wiener Filters[wk 3]
 
Pseudo and Quasi Random Number Generation
Pseudo and Quasi Random Number GenerationPseudo and Quasi Random Number Generation
Pseudo and Quasi Random Number Generation
 
Unit 3
Unit 3Unit 3
Unit 3
 
Unit 3
Unit 3Unit 3
Unit 3
 
Design and Analysis of Algorithms Lecture Notes
Design and Analysis of Algorithms Lecture NotesDesign and Analysis of Algorithms Lecture Notes
Design and Analysis of Algorithms Lecture Notes
 
CRYPTOGRAPHY AND NUMBER THEORY, he ha huli
CRYPTOGRAPHY AND NUMBER THEORY, he ha huliCRYPTOGRAPHY AND NUMBER THEORY, he ha huli
CRYPTOGRAPHY AND NUMBER THEORY, he ha huli
 
Lecture5
Lecture5Lecture5
Lecture5
 
Dirichlet processes and Applications
Dirichlet processes and ApplicationsDirichlet processes and Applications
Dirichlet processes and Applications
 

Plus de lavishka_anuj

Plus de lavishka_anuj (9)

Simplifiaction of grammar
Simplifiaction of grammarSimplifiaction of grammar
Simplifiaction of grammar
 
Properties of cfg
Properties of cfgProperties of cfg
Properties of cfg
 
One ques
One quesOne ques
One ques
 
Non regular languages
Non regular languagesNon regular languages
Non regular languages
 
Moore and mealy machines
Moore and mealy machinesMoore and mealy machines
Moore and mealy machines
 
Grammar
GrammarGrammar
Grammar
 
Finite automata
Finite automataFinite automata
Finite automata
 
Pushdown automata
Pushdown automataPushdown automata
Pushdown automata
 
Turing machines
Turing machinesTuring machines
Turing machines
 

Dernier

Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Dernier (20)

Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreel
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptx
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 

Finite automata intro

  • 1. Theory of Automata & Formal Languages
  • 2. BOOKS Theory of computer Science: K.L.P.Mishra & N.Chandrasekharan Intro to Automata theory, Formal languages and computation: Ullman,Hopcroft Motwani Elements of theory of computation Lewis & papadimitrou
  • 3. Syllabus Introduction Deterministic and non deterministic Finite Automata, Regular Expression,Two way finite automata,Finite automata with output,properties of regular sets,pumping lemma, closure properties,Myhill nerode theorem
  • 4. Context free Grammar: Derivation trees, Simplification forms Pushdown automata: Def, Relationship between PDA and context free language,Properties, decision algorithms Turing Machines: Turing machine model,Modification of turing machines,Church’s thesis,Undecidability,Recursive and recursively enumerable languages Post correspondence problems recursive functions
  • 5. Chomsky Hierarchy: Regular grammars, unrestricted grammar, context sensitive language, relationship among languages
  • 6. temporary memory input memory CPU output memory Program memory
  • 7. 3 temporary memory f ( x) = x z = 2*2 = 4 f ( x) = z * 2 = 8 input memory x=2 CPU output memory Program memory compute x∗x 2 compute x ∗x
  • 8. Automaton temporary memory Automaton input memory CPU output memory Program memory
  • 9. temporary memory input memory Finite Automaton output memory
  • 10. Different Kinds of Automata Automata are distinguished by the temporary memory • Finite Automata: no temporary memory • Pushdown Automata: stack • Turing Machines: random access memory
  • 11. Turing Machine Random Access Memory input memory Turing Machine output memory Algorithms (highest computing power)
  • 12. Power of Automata Finite Pushdown Turing Automata Automata Machine
  • 13. Power sets A power set 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 )
  • 14. Cartesian Product A = { 2, 4 } B = { 2, 3, 5 } A X B = { (2, 2), (2, 3), (2, 5), ( 4, 2), (4, 3), (4, 4) } |A X B| = |A| |B| Generalizes to more than two sets AXBX…XZ
  • 15. RELATIONS R = {(x1, y1), (x2, y2), (x3, y3), …} xi R yi e. g. if R = ‘>’: 2 > 1, 3 > 2, 3 > 1 In relations xi can be repeated
  • 16. Equivalence Relations • Reflexive: xRx • Symmetric: xRy yRx • Transitive: x R Y and y R z xRz Example: R = ‘=‘ •x=x •x=y y=x • x = y and y = z x=z
  • 17. Equivalence Classes For equivalence relation R equivalence class of x = {y : x R y} 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}
  • 18. Example of Equivalence relation Let Z = set of integers R be defined on it as: R= {(x,y)| x ∈Z, y ∈ Z and (x - y)is divisible by 5} This relation is known as ” congruent modulo 5”
  • 19. The equivalence classes are [0]R= {…-10, -5, 0, 5,10,…} [1]R = {…..,-9, -4, 1, 6, 11, 16….} [2]R= {….-8, -3,2,7,12,17…..} [3]R = {….-7, -2, 3, 8 ,13,…} [4]R = {….-6,-1,4,9,14,19,….} Z/R ={[0]R, [1]R, [2]R, [3]R, [4]R}
  • 20. PROOF TECHNIQUES • Proof by induction • Proof by contradiction
  • 21. 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
  • 22. Trees root parent leaf child Trees have no cycles
  • 23. 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
  • 24. root Level 0 Level 1 leaf Height 3 Level 2 Level 3
  • 26. 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) = 0 l(3) = 8
  • 27. Induction Step Level n hypothesis: l(n) <= 2n n+1
  • 28. 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
  • 29. Induction Step Level n hypothesis: l(n) <= 2n n+1 l(n+1) <= 2 * l(n) <= 2 * 2n = 2n+1
  • 30. Proof by Contradiction We want to prove that a statement P is true • we assume that P is false • then we arrive at an incorrect conclusion • therefore, statement P must be true
  • 31. Example Theorem: 2 is not rational Proof: Assume by contradiction that it is rational 2 = n/m n and m have no common factors We will show that this is impossible
  • 32. 2 = n/m 2 m2 = n2 n is even Therefore, n2 is even n=2k m is even 2 m2 = 4k2 m2 = 2k2 m=2p Thus, m and n have common factor 2 Contradiction!
  • 33. Basic Terms Alphabet: A finite non empty set of elements. ∑∑ ={a,b,c,d,…z}
  • 34. • String: A sequence of letters – Examples: “cat”, “dog”, “house”, … – Defined over an alphabet: Σ={a, b, c,, z} Language: It is a set of strings on some alphabet
  • 35. Alphabets and Strings • We will use small alphabets: • Strings Σ = { a, b} a u = ab ab v = bbbaaa abba w = abba baba aaabbbaabab
  • 36. String Operations abba w = a1a2  an bbbaaa v = b1b2  bm Concatenation wv = a1a2  anb1b2 bm abbabbbaaa
  • 37. w = a1a2  an ababaaabbb Reverse R w = an  a2 a1 bbbaaababa
  • 38. String Length w = a1a2  an w =n • Length: abba = 4 • Examples: aa = 2 a =1
  • 39. Recursive Definition of Length a =1 For any letter: wa wa = w + 1 For any string : abba = abb + 1 = ab + 1 + 1 Example: = a +1+1+1 = 1+1+1+1 =4
  • 40. Length of Concatenation uv = u + v u = aab, u = 3 • Example: = abaab, v v =5 uv = aababaab = 8 uv = u + v = 3 + 5 = 8
  • 41. Proof of Concatenation Length uv = u + v • Claim: v • Proof: By induction on the length v =1 – Induction basis: – From definition of length: uv = u +1 = u + v
  • 42. uv = u + v – Inductive hypothesis: v = 1,2,, n • for – Inductive step: we will prove uv = u + v – – for v = n +1
  • 43. Inductive Step v = wa w = n, a = 1 • Write , where uv = uwa = uw + 1 • From definition of length: wa = w + 1 • From inductive hypothesis: uw = u + w • Thus: uv = u + w + 1 = u + wa = u + v
  • 44. Empty String λ • A string with no letters: λ =0 • Observations: λw = wλ = w λabba = abbaλ = abba
  • 45. Substring • Substring of string: – a subsequence of consecutive characters abbab ab • String Substring abbab abba abbab b abbab bbab
  • 46. Prefix and Suffix • Prefixes Suffixes abbab w = uv λ abbab a bbab prefix ab bab suffix abb ab abba b abbab λ
  • 47. Another Operation wn = ww w    n ( abba ) = abbaabba 2 • Example: 0 • Definition: w =λ – ( abba ) = λ 0
  • 48. The * Operation • Σ * : the set of all possible strings from • Σ alphabet Σ = { a, b} Σ* = { λ, a, b, aa, ab, ba, bb, aaa, aab,} •
  • 49. The + Operation + : the set of all possible strings from Σ alphabet Σ except λ Σ = { a, b} Σ* = { λ , a, b, aa, ab, ba, bb, aaa, aab,} + Σ = Σ * −λ + Σ = { a, b, aa, ab, ba, bb, aaa, aab,}
  • 50. Language • A language is any subset of Σ* Σ = { a, b} • Example: Σ* = { λ , a, b, aa, ab, ba, bb, aaa,} { λ} { a, aa, aab} • Languages: {λ , abba, baba, aa, ab, aaaaaa}
  • 51. Another Example n n L = {a b : n ≥ 0} • An infinite language λ ab ∈L abb ∉ L aabb aaaaabbbbb
  • 52. Operations on Languages • The usual set operations { a, ab, aaaa}  { bb, ab} = {a, ab, bb, aaaa} { a, ab, aaaa}  { bb, ab} = {ab} { a, ab, aaaa} − { bb, ab} = { a, aaaa} • Complement: L = Σ * −L { a, ba} = { λ , b, aa, ab, bb, aaa,}
  • 53. Reverse R R L = {w : w ∈ L} • Definition: • { ab, aab, baba} = { ba, baa, abab} Examples: R n n L = {a b : n ≥ 0} R n n L = {b a : n ≥ 0}
  • 54. Concatenation L1L2 = { xy : x ∈ L1, y ∈ L2 } • Definition: { a, ab, ba}{ b, aa} • Example: = { ab, aaa, abb, abaa, bab, baaa}
  • 55. Another Operation Ln =  LL  L n • Definition: { a, b}3 ={ a, b}{ a, b}{ a, b} = { aaa, aab, aba, abb, baa, bab, bba, bbb} L0 = { λ} • Special case: 0 { a , bba , aaa } = { λ}
  • 56. More Examples n n • L = {a b : n ≥ 0} 2 n n m m L = {a b a b : n, m ≥ 0} 2 aabbaaabbb ∈ L
  • 57. Star-Closure (Kleene *) 0 1 2 L* = L  L  L  • Definition: • Example: λ ,  a, bb,    { a, bb} * =    aa, abb, bba, bbbb,  • aaa, aabb, abba, abbbb,  
  • 58. Positive Closure + 1 2 L = L  L  • Definition: = L * −{ λ } a, bb,  +   { a, bb} = aa, abb, bba, bbbb,  aaa, aabb, abba, abbbb,  
  • 59. Finite Automaton Input • String Output Finite String Automaton