Pushdown automata
- Z. Sawa (TU Ostrava)
Theoretical Computer Science December 3, 2020 1 / 31
Pushdown automata Z. Sawa (TU Ostrava) Theoretical Computer Science - - PowerPoint PPT Presentation
Pushdown automata Z. Sawa (TU Ostrava) Theoretical Computer Science December 3, 2020 1 / 31 Pushdown automaton Example: Consider the language over the alphabet = { ( , ) , [ , ] , < , > } consisting of correctly parenthesised
Theoretical Computer Science December 3, 2020 1 / 31
Theoretical Computer Science December 3, 2020 2 / 31
Theoretical Computer Science December 3, 2020 3 / 31
Theoretical Computer Science December 3, 2020 4 / 31
Theoretical Computer Science December 3, 2020 4 / 31
Theoretical Computer Science December 3, 2020 4 / 31
Theoretical Computer Science December 3, 2020 4 / 31
Theoretical Computer Science December 3, 2020 4 / 31
Theoretical Computer Science December 3, 2020 4 / 31
Theoretical Computer Science December 3, 2020 4 / 31
Theoretical Computer Science December 3, 2020 4 / 31
Theoretical Computer Science December 3, 2020 4 / 31
Theoretical Computer Science December 3, 2020 4 / 31
Theoretical Computer Science December 3, 2020 4 / 31
Theoretical Computer Science December 3, 2020 4 / 31
Theoretical Computer Science December 3, 2020 4 / 31
Theoretical Computer Science December 3, 2020 4 / 31
Theoretical Computer Science December 3, 2020 4 / 31
Theoretical Computer Science December 3, 2020 4 / 31
Theoretical Computer Science December 3, 2020 5 / 31
Theoretical Computer Science December 3, 2020 5 / 31
Theoretical Computer Science December 3, 2020 5 / 31
Theoretical Computer Science December 3, 2020 5 / 31
Theoretical Computer Science December 3, 2020 5 / 31
Theoretical Computer Science December 3, 2020 5 / 31
Theoretical Computer Science December 3, 2020 5 / 31
Theoretical Computer Science December 3, 2020 5 / 31
Theoretical Computer Science December 3, 2020 5 / 31
Theoretical Computer Science December 3, 2020 5 / 31
Theoretical Computer Science December 3, 2020 6 / 31
Theoretical Computer Science December 3, 2020 6 / 31
Theoretical Computer Science December 3, 2020 7 / 31
Theoretical Computer Science December 3, 2020 7 / 31
Theoretical Computer Science December 3, 2020 7 / 31
Theoretical Computer Science December 3, 2020 7 / 31
Theoretical Computer Science December 3, 2020 7 / 31
Theoretical Computer Science December 3, 2020 7 / 31
Theoretical Computer Science December 3, 2020 7 / 31
Theoretical Computer Science December 3, 2020 7 / 31
Theoretical Computer Science December 3, 2020 7 / 31
Theoretical Computer Science December 3, 2020 8 / 31
Theoretical Computer Science December 3, 2020 8 / 31
Theoretical Computer Science December 3, 2020 8 / 31
Theoretical Computer Science December 3, 2020 8 / 31
Theoretical Computer Science December 3, 2020 8 / 31
Theoretical Computer Science December 3, 2020 8 / 31
Theoretical Computer Science December 3, 2020 8 / 31
Theoretical Computer Science December 3, 2020 8 / 31
Theoretical Computer Science December 3, 2020 9 / 31
Theoretical Computer Science December 3, 2020 9 / 31
Theoretical Computer Science December 3, 2020 9 / 31
Theoretical Computer Science December 3, 2020 9 / 31
Theoretical Computer Science December 3, 2020 9 / 31
Theoretical Computer Science December 3, 2020 9 / 31
Theoretical Computer Science December 3, 2020 9 / 31
Theoretical Computer Science December 3, 2020 9 / 31
Theoretical Computer Science December 3, 2020 9 / 31
Theoretical Computer Science December 3, 2020 10 / 31
Theoretical Computer Science December 3, 2020 10 / 31
Theoretical Computer Science December 3, 2020 10 / 31
Theoretical Computer Science December 3, 2020 10 / 31
Theoretical Computer Science December 3, 2020 10 / 31
Theoretical Computer Science December 3, 2020 11 / 31
Theoretical Computer Science December 3, 2020 11 / 31
Theoretical Computer Science December 3, 2020 12 / 31
Theoretical Computer Science December 3, 2020 12 / 31
Theoretical Computer Science December 3, 2020 12 / 31
Theoretical Computer Science December 3, 2020 12 / 31
Theoretical Computer Science December 3, 2020 12 / 31
Theoretical Computer Science December 3, 2020 12 / 31
Theoretical Computer Science December 3, 2020 12 / 31
Theoretical Computer Science December 3, 2020 12 / 31
Theoretical Computer Science December 3, 2020 12 / 31
Theoretical Computer Science December 3, 2020 12 / 31
Theoretical Computer Science December 3, 2020 12 / 31
Theoretical Computer Science December 3, 2020 12 / 31
Theoretical Computer Science December 3, 2020 12 / 31
Theoretical Computer Science December 3, 2020 13 / 31
Theoretical Computer Science December 3, 2020 14 / 31
a
b
b
b
Theoretical Computer Science December 3, 2020 15 / 31
a
a
b
b
Theoretical Computer Science December 3, 2020 16 / 31
Theoretical Computer Science December 3, 2020 17 / 31
a
b
ε
a
b
a
a
b
b
a
b
ε
a
b
ε
a
b
ε
Theoretical Computer Science December 3, 2020 17 / 31
Theoretical Computer Science December 3, 2020 18 / 31
Theoretical Computer Science December 3, 2020 19 / 31
Theoretical Computer Science December 3, 2020 20 / 31
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 21 / 31
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 21 / 31
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 21 / 31
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 21 / 31
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 21 / 31
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 21 / 31
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 21 / 31
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 21 / 31
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 21 / 31
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 21 / 31
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 21 / 31
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 21 / 31
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 21 / 31
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 21 / 31
Theoretical Computer Science December 3, 2020 22 / 31
a
a
Theoretical Computer Science December 3, 2020 23 / 31
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 24 / 31
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 24 / 31
a
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 24 / 31
a
b
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 24 / 31
a
b
b
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 24 / 31
a
b
b
a
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 24 / 31
a
b
b
a
b
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 24 / 31
a
b
b
a
b
a
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 24 / 31
a
b
b
a
b
a
b
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 24 / 31
a
b
b
a
b
a
b
a
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 24 / 31
a
b
b
a
b
a
b
a
b
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 24 / 31
a
b
b
a
b
a
b
a
b
b
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 24 / 31
a
b
b
a
b
a
b
a
b
b
a
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 24 / 31
a
b
b
a
b
a
b
a
b
b
a
ε
q1Z
a
− → q1AZ q1Z
b
− → q1BZ q1A
a
− → q1AA q1A
b
− → q1BA q1B
a
− → q1AB q1B
b
− → q1BB q1Z
a
− → q2Z q1Z
b
− → q2Z q1A
a
− → q2A q1A
b
− → q2A q1B
a
− → q2B q1B
b
− → q2B q1Z
ε
− → q2Z q1A
ε
− → q2A q1B
ε
− → q2B q2Z
ε
− → q2 q2A
a
− → q2 q2B
b
− → q2
Theoretical Computer Science December 3, 2020 24 / 31
Theoretical Computer Science December 3, 2020 25 / 31
Theoretical Computer Science December 3, 2020 26 / 31
Theoretical Computer Science December 3, 2020 27 / 31
Theoretical Computer Science December 3, 2020 28 / 31
ε
a
Theoretical Computer Science December 3, 2020 29 / 31
Theoretical Computer Science December 3, 2020 30 / 31
Theoretical Computer Science December 3, 2020 31 / 31