SlideShare une entreprise Scribd logo
1  sur  38
Lecture Pushdown Automata
tape




tape head
              stack head




    finite
                  stack
    control
a   l   p   h   a   b   e   t




The tape is divided into finitely many cells.
Each cell contains a symbol in an alphabet
Σ.
The stack head always scans the top
symbol of the stack. It performs two
basic operations:

Push: add a new symbol at the top.

Pop: read and remove the top symbol.


 Alphabet of stack symbols: Γ
a




• The head scans at a cell on the tape and
  can read a symbol on the cell. In each
  move, the head can move to the right cell.
• The finite control has finitely many states
  which form a set Q. For each move, the
  state is changed according to the
  evaluation of a transition function
                                     Q x (Γ U {ε})
  δ : Q x (Σ U {ε}) x (Γ U {ε}) → 2 .
a                      a



     q       v                  p     u


• (p, u) ∈ δ(q, a, v) means that if the tape head
  reads a, the stack head read v, and the finite
  control is in the state q, then one of possible
  moves is that the next state is p, v is replaced
  by u at stack, and the tape head moves one cell
  to the right.
a                         a



     q        v                p       u


• (p, u) ∈ δ(q, ε, v) means that this a ε-move.
a                      a



     q                          p     u




• (p, u) ∈ δ(q, a, ε) means that a push operation
  performs at stack.
a                      a



     q       v                  p




• (p, ε) ∈ δ(q, a, v) means that a pop operation
  performs at stack
s




• There are some special states: an initial
  state s and a final set F of final states.
• Initially, the PDA is in the initial state s and
  the head scans the leftmost cell. The tape
  holds an input string. The stack is empty.
x




              f




• When the head gets off the tape, the PDA
  stops. An input string x is accepted by the
  PDA if the PDA stops at a final state and
  the stack is empty.
• Otherwise, the input string is rejected.
• The PDA can be represented by
        M = (Q, Σ, Γ, δ, s, F)
  where Σ is the alphabet of input symbols
  and Γ is the alphabet of stack symbols.
• The set of all strings accepted by a PDA M
  is denoted by L(M). We also say that the
  language L(M) is accepted by M.
• The transition diagram of a PDA is an
  alternative way to represent the PDA.
• For M = (Q, Σ, Γ, δ, s, F), the transition diagram
  of M is an edge-labeled digraph G=(V, E)
  satisfying the following:

   V = Q (s =        ,f=      for f   ∈   F)

            a, v/u
   E={q               p | (p,u) ∈ δ(q, a, v) }.
Example 1. Construct PDA to accept
                n n
           L= {0 1 | n > 0}

Solution 1.

              1, 0/ε


         0, ε/0        1, 0/ε
Solution 2.

     Consider a CFG
     G = ({S}, {0,1}, {S → ε | 0S1}, S).



                        ε, S/1
          ε, ε/S
                                    ε, ε/S
                           ε, ε/0
               ε, S/ε

               0, 0/ε
               1, 1/ε
Theorem Every CFL can be accepted by a PDA.

Proof.   Consider a CFL L = L(G) for a CFG
         G = (V, Σ, R, S).

                      ε, A/xn     A → x1 x2 …xn in R
           ε, ε/S

                        ε, ε/x1
          a, a/ε for a in Σ

 Theorem
A language L is CFL ⇔ it can be accepted by a PDA.
Sometimes, constructing the PDA is easier than
constructing CFG.
Example 2

Show that {x ∈ {a, b} | #b ( x) ≤ # a ( x) ≤ 2#b ( x)} is a CFL


         Construct a PDA or a CFG?


                     PDA!!!



   Sometimes, constructing the PDA is easier than
   constructing CFG.
Idea
To check if #b ( x) ≤ # a ( x) ≤ 2#b ( x), we need to cancel a with b.
For each b, we need to cancel sometimes one a and sometimes
two a. Do we need to make a deterministic choice at each
cancellation? No, the concept of nondeterministic computation
solves this trouble : As long as a correct choice exists, the input
string x would be accepted!
a                    a



      s                    p   s


• (p, s) ∈ δ(s, ε, ε)


                ε ,ε / s
a                       a



    p                       p   a
             s
                                s
(q, s) ∈ δ(p, a, s)
(p, a) ∈ δ(q, ε, ε)
                 a, s / s

              ε ,ε / a
a                       a



    p                       p   a
             a
                                a
      ∈
(q1, a) δ(p, a, a)
(p, a) ∈ δ(q1, ε, ε)
                 a, a / a

             ε ,ε / a
a                         a



p                         p
    b




                  (p, ε) ∈ δ(p, a, b)

        a,b / ε
a                           a



p                           p       b’
    b




                    (p, b’)∈ δ(p, a, b)

        a, b / b'
a                            a



p                            p
    b’




                    (p, ε) ∈ δ(p, a, b’)

         a,b' / ε
b                       b



    p                       p   b
             s
                                s
(r1, s)∈ δ(p, b, s)
(p, b) ∈ δ(r1, ε, ε)
                 b, s / s

              ε ,ε / b
b                       b



    p                       p   b
             b
                                b
(r2, b)∈ δ(p, b, b)
(p, b) ∈ δ(r2, ε, ε)
                 b, b / b

              ε ,ε / b
b                      b



    p                      p   b
             b’
                               b’
(r3, b’) ∈ δ(p, b, b’)
(p, b) ∈ δ(r3, ε, ε)
              b, b' / b'

              ε ,ε / b
b                          b



p                          p
    a




                   (p, ε) ∈ δ(p, b, a)

        b, a / ε
b                              b



   p                              p
            a
            a



(t, ε) ∈ δ(p, b, a)        (p, ε) ∈ δ(t, ε, a)
                b, a / ε

             ε,a /ε
b                                    b



       p                                    p   b’
                  a
                  z                             z
                           z≠a

(t, ε) ∈ δ(p, b, a) (u, x) ∈ δ(t, ε, x) (p, b’) ∈ δ(u, ε, ε)
                      b, a / ε

                                 ε, z / z
             ε ,b' / ε           z≠a
p                         p
    s




                 (p, ε) ∈ δ(p, ε, s)

        ε,s /ε
a,b / ε
                        a, b / b'
                        a,b' / ε
           ε ,ε / s                a, z / z
                                   z ≠ b,b'

                                   ε ,ε / a
                                               ε,s /ε
               b, a / ε
           b, a / ε                b, z / z
                                    z≠a
           ε,a /ε
ε, z / z                            ε ,ε / b
 z≠a                  ε , ε / b'
Example 3
Construct PDA accepting {x ∈ {a, b} | #b ( x) <# a ( x) ≤ 2#b ( x)}.


 Idea

To have #b ( x) <# a ( x), we must have a b which cancel two a ' s.
Let the first b do the job.
a,b / ε
Solution
                                    a, b / b'                 a, z / z
                                   a,b' / ε              1
                                                             z ≠ b,b'
     ε ,ε / s          a, b / b'             a, z / z
                  11                        z ≠ b,b'         ε ,ε / a
  b, a / ε        ε,a /ε
                             ε , ε / b'
                                            ε ,ε / a
              ε, z / z
               z≠a                                             ε,s /ε
                                 b, a / ε
                       b, a / ε              b, z / z
                                              z≠a
                                                             b, z / z
                        ε,a /ε                           1
           ε, z / z                           ε ,ε / b       z≠a
            z≠a                  ε , ε / b'
                                                             ε ,ε / b
Example 4
Construct PDA accepting {x ∈ {a, b} | #b ( x) ≤# a ( x) < 2#b ( x)}.


 Idea

To have # a ( x) < 2#b ( x), we must have a b which cancel one a.
Let the first b do the job.
a,b / ε
Solution
                          a, b / b'                         a, z / z
                          a,b' / ε                     1
                                                           z ≠ b,b'
   ε ,ε / s      a,b / ε           a, z / z
               1
               1
                                  z ≠ b,b'                 ε ,ε / a
                 b, a / ε
                                   ε ,ε / a
                                                             ε,s /ε
                               b, a / ε
                    b, a / ε                b, z / z
                                            z≠a
                                                           b, z / z
                    ε,a /ε                             1
         ε, z / z                           ε ,ε / b       z≠a
          z≠a                  ε , ε / b'
                                                           ε ,ε / b

Contenu connexe

Tendances

The Radon-Nikody ́m Theorem for vector measures and factorization of operator...
The Radon-Nikody ́m Theorem for vector measures and factorization of operator...The Radon-Nikody ́m Theorem for vector measures and factorization of operator...
The Radon-Nikody ́m Theorem for vector measures and factorization of operator...
esasancpe
 
THE CHORD GAP DIVERGENCE AND A GENERALIZATION OF THE BHATTACHARYYA DISTANCE
THE CHORD GAP DIVERGENCE AND A GENERALIZATION OF THE BHATTACHARYYA DISTANCETHE CHORD GAP DIVERGENCE AND A GENERALIZATION OF THE BHATTACHARYYA DISTANCE
THE CHORD GAP DIVERGENCE AND A GENERALIZATION OF THE BHATTACHARYYA DISTANCE
Frank Nielsen
 
Vector measures and operators on Banach function spaces
Vector measures and operators on Banach function spacesVector measures and operators on Banach function spaces
Vector measures and operators on Banach function spaces
esasancpe
 
36b1995264955a41dc1897b7a4dce260
36b1995264955a41dc1897b7a4dce26036b1995264955a41dc1897b7a4dce260
36b1995264955a41dc1897b7a4dce260
Ouäfa AL Rabaani
 
Cut and Count
Cut and CountCut and Count
Cut and Count
ASPAK2014
 
Best polynomial approximation
Best polynomial approximationBest polynomial approximation
Best polynomial approximation
Dadang Hamzah
 
74 permutations and combinations
74 permutations and combinations74 permutations and combinations
74 permutations and combinations
math126
 

Tendances (18)

Functionalanalysis ejemplos infinitos
Functionalanalysis ejemplos infinitosFunctionalanalysis ejemplos infinitos
Functionalanalysis ejemplos infinitos
 
Polytopes inside polytopes
Polytopes inside polytopesPolytopes inside polytopes
Polytopes inside polytopes
 
Wasserstein GAN
Wasserstein GANWasserstein GAN
Wasserstein GAN
 
Optimization of probabilistic argumentation with Markov processes
Optimization of probabilistic argumentation with Markov processesOptimization of probabilistic argumentation with Markov processes
Optimization of probabilistic argumentation with Markov processes
 
The Radon-Nikody ́m Theorem for vector measures and factorization of operator...
The Radon-Nikody ́m Theorem for vector measures and factorization of operator...The Radon-Nikody ́m Theorem for vector measures and factorization of operator...
The Radon-Nikody ́m Theorem for vector measures and factorization of operator...
 
THE CHORD GAP DIVERGENCE AND A GENERALIZATION OF THE BHATTACHARYYA DISTANCE
THE CHORD GAP DIVERGENCE AND A GENERALIZATION OF THE BHATTACHARYYA DISTANCETHE CHORD GAP DIVERGENCE AND A GENERALIZATION OF THE BHATTACHARYYA DISTANCE
THE CHORD GAP DIVERGENCE AND A GENERALIZATION OF THE BHATTACHARYYA DISTANCE
 
Vector measures and operators on Banach function spaces
Vector measures and operators on Banach function spacesVector measures and operators on Banach function spaces
Vector measures and operators on Banach function spaces
 
36b1995264955a41dc1897b7a4dce260
36b1995264955a41dc1897b7a4dce26036b1995264955a41dc1897b7a4dce260
36b1995264955a41dc1897b7a4dce260
 
Cut and Count
Cut and CountCut and Count
Cut and Count
 
Lesson 16: Inverse Trigonometric Functions (slides)
Lesson 16: Inverse Trigonometric Functions (slides)Lesson 16: Inverse Trigonometric Functions (slides)
Lesson 16: Inverse Trigonometric Functions (slides)
 
Best polynomial approximation
Best polynomial approximationBest polynomial approximation
Best polynomial approximation
 
Lesson 19: The Mean Value Theorem
Lesson 19: The Mean Value TheoremLesson 19: The Mean Value Theorem
Lesson 19: The Mean Value Theorem
 
g∗S-closed sets in topological spaces
g∗S-closed sets in topological spacesg∗S-closed sets in topological spaces
g∗S-closed sets in topological spaces
 
Declare Your Language: Constraint Resolution 2
Declare Your Language: Constraint Resolution 2Declare Your Language: Constraint Resolution 2
Declare Your Language: Constraint Resolution 2
 
ON OPTIMALITY OF THE INDEX OF SUM, PRODUCT, MAXIMUM, AND MINIMUM OF FINITE BA...
ON OPTIMALITY OF THE INDEX OF SUM, PRODUCT, MAXIMUM, AND MINIMUM OF FINITE BA...ON OPTIMALITY OF THE INDEX OF SUM, PRODUCT, MAXIMUM, AND MINIMUM OF FINITE BA...
ON OPTIMALITY OF THE INDEX OF SUM, PRODUCT, MAXIMUM, AND MINIMUM OF FINITE BA...
 
A Unified Perspective for Darmon Points
A Unified Perspective for Darmon PointsA Unified Perspective for Darmon Points
A Unified Perspective for Darmon Points
 
Convex Analysis and Duality (based on "Functional Analysis and Optimization" ...
Convex Analysis and Duality (based on "Functional Analysis and Optimization" ...Convex Analysis and Duality (based on "Functional Analysis and Optimization" ...
Convex Analysis and Duality (based on "Functional Analysis and Optimization" ...
 
74 permutations and combinations
74 permutations and combinations74 permutations and combinations
74 permutations and combinations
 

Similaire à Lect14

Owf 2013 rii veri t fontaine speaker4
Owf 2013 rii veri t fontaine speaker4Owf 2013 rii veri t fontaine speaker4
Owf 2013 rii veri t fontaine speaker4
Patrick MOREAU
 
Lect1 No 873503264
Lect1 No 873503264Lect1 No 873503264
Lect1 No 873503264
yangrong
 
Class1
 Class1 Class1
Class1
issbp
 

Similaire à Lect14 (20)

Discrete mathematic question answers
Discrete mathematic question answersDiscrete mathematic question answers
Discrete mathematic question answers
 
590-Article Text.pdf
590-Article Text.pdf590-Article Text.pdf
590-Article Text.pdf
 
590-Article Text.pdf
590-Article Text.pdf590-Article Text.pdf
590-Article Text.pdf
 
On Hadamard Product of P-Valent Functions with Alternating Type
On Hadamard Product of P-Valent Functions with Alternating TypeOn Hadamard Product of P-Valent Functions with Alternating Type
On Hadamard Product of P-Valent Functions with Alternating Type
 
The Persistent Homology of Distance Functions under Random Projection
The Persistent Homology of Distance Functions under Random ProjectionThe Persistent Homology of Distance Functions under Random Projection
The Persistent Homology of Distance Functions under Random Projection
 
Owf 2013 rii veri t fontaine speaker4
Owf 2013 rii veri t fontaine speaker4Owf 2013 rii veri t fontaine speaker4
Owf 2013 rii veri t fontaine speaker4
 
A sharp nonlinear Hausdorff-Young inequality for small potentials
A sharp nonlinear Hausdorff-Young inequality for small potentialsA sharp nonlinear Hausdorff-Young inequality for small potentials
A sharp nonlinear Hausdorff-Young inequality for small potentials
 
Sensors and Samples: A Homological Approach
Sensors and Samples:  A Homological ApproachSensors and Samples:  A Homological Approach
Sensors and Samples: A Homological Approach
 
String Matching with Finite Automata and Knuth Morris Pratt Algorithm
String Matching with Finite Automata and Knuth Morris Pratt AlgorithmString Matching with Finite Automata and Knuth Morris Pratt Algorithm
String Matching with Finite Automata and Knuth Morris Pratt Algorithm
 
11.[29 35]a unique common fixed point theorem under psi varphi contractive co...
11.[29 35]a unique common fixed point theorem under psi varphi contractive co...11.[29 35]a unique common fixed point theorem under psi varphi contractive co...
11.[29 35]a unique common fixed point theorem under psi varphi contractive co...
 
slides CIRM copulas, extremes and actuarial science
slides CIRM copulas, extremes and actuarial scienceslides CIRM copulas, extremes and actuarial science
slides CIRM copulas, extremes and actuarial science
 
Lect1 No 873503264
Lect1 No 873503264Lect1 No 873503264
Lect1 No 873503264
 
L03 ai - knowledge representation using logic
L03 ai - knowledge representation using logicL03 ai - knowledge representation using logic
L03 ai - knowledge representation using logic
 
Approximate Bayesian Computation with Quasi-Likelihoods
Approximate Bayesian Computation with Quasi-LikelihoodsApproximate Bayesian Computation with Quasi-Likelihoods
Approximate Bayesian Computation with Quasi-Likelihoods
 
BAYSM'14, Wien, Austria
BAYSM'14, Wien, AustriaBAYSM'14, Wien, Austria
BAYSM'14, Wien, Austria
 
On Some Types of Fuzzy Separation Axioms in Fuzzy Topological Space on Fuzzy ...
On Some Types of Fuzzy Separation Axioms in Fuzzy Topological Space on Fuzzy ...On Some Types of Fuzzy Separation Axioms in Fuzzy Topological Space on Fuzzy ...
On Some Types of Fuzzy Separation Axioms in Fuzzy Topological Space on Fuzzy ...
 
Lundi 16h15-copules-charpentier
Lundi 16h15-copules-charpentierLundi 16h15-copules-charpentier
Lundi 16h15-copules-charpentier
 
Logic
LogicLogic
Logic
 
Class1
 Class1 Class1
Class1
 
Discrete mathematics
Discrete mathematicsDiscrete mathematics
Discrete mathematics
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Lect14

  • 2. tape tape head stack head finite stack control
  • 3. a l p h a b e t The tape is divided into finitely many cells. Each cell contains a symbol in an alphabet Σ.
  • 4. The stack head always scans the top symbol of the stack. It performs two basic operations: Push: add a new symbol at the top. Pop: read and remove the top symbol. Alphabet of stack symbols: Γ
  • 5. a • The head scans at a cell on the tape and can read a symbol on the cell. In each move, the head can move to the right cell.
  • 6. • The finite control has finitely many states which form a set Q. For each move, the state is changed according to the evaluation of a transition function Q x (Γ U {ε}) δ : Q x (Σ U {ε}) x (Γ U {ε}) → 2 .
  • 7. a a q v p u • (p, u) ∈ δ(q, a, v) means that if the tape head reads a, the stack head read v, and the finite control is in the state q, then one of possible moves is that the next state is p, v is replaced by u at stack, and the tape head moves one cell to the right.
  • 8. a a q v p u • (p, u) ∈ δ(q, ε, v) means that this a ε-move.
  • 9. a a q p u • (p, u) ∈ δ(q, a, ε) means that a push operation performs at stack.
  • 10. a a q v p • (p, ε) ∈ δ(q, a, v) means that a pop operation performs at stack
  • 11. s • There are some special states: an initial state s and a final set F of final states. • Initially, the PDA is in the initial state s and the head scans the leftmost cell. The tape holds an input string. The stack is empty.
  • 12. x f • When the head gets off the tape, the PDA stops. An input string x is accepted by the PDA if the PDA stops at a final state and the stack is empty. • Otherwise, the input string is rejected.
  • 13. • The PDA can be represented by M = (Q, Σ, Γ, δ, s, F) where Σ is the alphabet of input symbols and Γ is the alphabet of stack symbols. • The set of all strings accepted by a PDA M is denoted by L(M). We also say that the language L(M) is accepted by M.
  • 14. • The transition diagram of a PDA is an alternative way to represent the PDA. • For M = (Q, Σ, Γ, δ, s, F), the transition diagram of M is an edge-labeled digraph G=(V, E) satisfying the following: V = Q (s = ,f= for f ∈ F) a, v/u E={q p | (p,u) ∈ δ(q, a, v) }.
  • 15. Example 1. Construct PDA to accept n n L= {0 1 | n > 0} Solution 1. 1, 0/ε 0, ε/0 1, 0/ε
  • 16. Solution 2. Consider a CFG G = ({S}, {0,1}, {S → ε | 0S1}, S). ε, S/1 ε, ε/S ε, ε/S ε, ε/0 ε, S/ε 0, 0/ε 1, 1/ε
  • 17. Theorem Every CFL can be accepted by a PDA. Proof. Consider a CFL L = L(G) for a CFG G = (V, Σ, R, S). ε, A/xn A → x1 x2 …xn in R ε, ε/S ε, ε/x1 a, a/ε for a in Σ Theorem A language L is CFL ⇔ it can be accepted by a PDA.
  • 18. Sometimes, constructing the PDA is easier than constructing CFG.
  • 19. Example 2 Show that {x ∈ {a, b} | #b ( x) ≤ # a ( x) ≤ 2#b ( x)} is a CFL Construct a PDA or a CFG? PDA!!! Sometimes, constructing the PDA is easier than constructing CFG.
  • 20. Idea To check if #b ( x) ≤ # a ( x) ≤ 2#b ( x), we need to cancel a with b. For each b, we need to cancel sometimes one a and sometimes two a. Do we need to make a deterministic choice at each cancellation? No, the concept of nondeterministic computation solves this trouble : As long as a correct choice exists, the input string x would be accepted!
  • 21. a a s p s • (p, s) ∈ δ(s, ε, ε) ε ,ε / s
  • 22. a a p p a s s (q, s) ∈ δ(p, a, s) (p, a) ∈ δ(q, ε, ε) a, s / s ε ,ε / a
  • 23. a a p p a a a ∈ (q1, a) δ(p, a, a) (p, a) ∈ δ(q1, ε, ε) a, a / a ε ,ε / a
  • 24. a a p p b (p, ε) ∈ δ(p, a, b) a,b / ε
  • 25. a a p p b’ b (p, b’)∈ δ(p, a, b) a, b / b'
  • 26. a a p p b’ (p, ε) ∈ δ(p, a, b’) a,b' / ε
  • 27. b b p p b s s (r1, s)∈ δ(p, b, s) (p, b) ∈ δ(r1, ε, ε) b, s / s ε ,ε / b
  • 28. b b p p b b b (r2, b)∈ δ(p, b, b) (p, b) ∈ δ(r2, ε, ε) b, b / b ε ,ε / b
  • 29. b b p p b b’ b’ (r3, b’) ∈ δ(p, b, b’) (p, b) ∈ δ(r3, ε, ε) b, b' / b' ε ,ε / b
  • 30. b b p p a (p, ε) ∈ δ(p, b, a) b, a / ε
  • 31. b b p p a a (t, ε) ∈ δ(p, b, a) (p, ε) ∈ δ(t, ε, a) b, a / ε ε,a /ε
  • 32. b b p p b’ a z z z≠a (t, ε) ∈ δ(p, b, a) (u, x) ∈ δ(t, ε, x) (p, b’) ∈ δ(u, ε, ε) b, a / ε ε, z / z ε ,b' / ε z≠a
  • 33. p p s (p, ε) ∈ δ(p, ε, s) ε,s /ε
  • 34. a,b / ε a, b / b' a,b' / ε ε ,ε / s a, z / z z ≠ b,b' ε ,ε / a ε,s /ε b, a / ε b, a / ε b, z / z z≠a ε,a /ε ε, z / z ε ,ε / b z≠a ε , ε / b'
  • 35. Example 3 Construct PDA accepting {x ∈ {a, b} | #b ( x) <# a ( x) ≤ 2#b ( x)}. Idea To have #b ( x) <# a ( x), we must have a b which cancel two a ' s. Let the first b do the job.
  • 36. a,b / ε Solution a, b / b' a, z / z a,b' / ε 1 z ≠ b,b' ε ,ε / s a, b / b' a, z / z 11 z ≠ b,b' ε ,ε / a b, a / ε ε,a /ε ε , ε / b' ε ,ε / a ε, z / z z≠a ε,s /ε b, a / ε b, a / ε b, z / z z≠a b, z / z ε,a /ε 1 ε, z / z ε ,ε / b z≠a z≠a ε , ε / b' ε ,ε / b
  • 37. Example 4 Construct PDA accepting {x ∈ {a, b} | #b ( x) ≤# a ( x) < 2#b ( x)}. Idea To have # a ( x) < 2#b ( x), we must have a b which cancel one a. Let the first b do the job.
  • 38. a,b / ε Solution a, b / b' a, z / z a,b' / ε 1 z ≠ b,b' ε ,ε / s a,b / ε a, z / z 1 1 z ≠ b,b' ε ,ε / a b, a / ε ε ,ε / a ε,s /ε b, a / ε b, a / ε b, z / z z≠a b, z / z ε,a /ε 1 ε, z / z ε ,ε / b z≠a z≠a ε , ε / b' ε ,ε / b