Coarse-to-fine recognition for weighted tree-stack automata Max - - PowerPoint PPT Presentation

coarse to fine recognition for weighted tree stack
SMART_READER_LITE
LIVE PREVIEW

Coarse-to-fine recognition for weighted tree-stack automata Max - - PowerPoint PPT Presentation

Coarse-to-fine recognition for weighted tree-stack automata Max Korn 27. Oktober 2017 1 / 2 Motivation Problem: Parsing with complicated grammars and recognition with complicated automata are time intensive 2 / 2 Motivation Problem:


slide-1
SLIDE 1

Coarse-to-fine recognition for weighted tree-stack automata

Max Korn

  • 27. Oktober 2017

1 / 2

slide-2
SLIDE 2

Motivation

◮ Problem: Parsing with complicated grammars and recognition

with complicated automata are time intensive

2 / 2

slide-3
SLIDE 3

Motivation

◮ Problem: Parsing with complicated grammars and recognition

with complicated automata are time intensive

◮ Example: multiple-context-free grammars and tree-stack

automata with restricted fanout k have a complexity of O(n3k)

2 / 2

slide-4
SLIDE 4

Motivation

◮ Problem: Parsing with complicated grammars and recognition

with complicated automata are time intensive

◮ Example: multiple-context-free grammars and tree-stack

automata with restricted fanout k have a complexity of O(n3k)

◮ Solution: use less complex grammar/ automaton

2 / 2

slide-5
SLIDE 5

Outline

3 / 2

slide-6
SLIDE 6

Outline

3 / 2

slide-7
SLIDE 7

Grammar Based Coarse-to-Fine Parsing

4 / 2

slide-8
SLIDE 8

Grammar Based Coarse-to-Fine Parsing

Grammar G

4 / 2

slide-9
SLIDE 9

Grammar Based Coarse-to-Fine Parsing

Grammar G coarse Grammar G ′

4 / 2

slide-10
SLIDE 10

Grammar Based Coarse-to-Fine Parsing

Grammar G coarse Grammar G ′ Parse w with G ′

4 / 2

slide-11
SLIDE 11

Grammar Based Coarse-to-Fine Parsing

Grammar G coarse Grammar G ′ Parse w with G ′ Parse w with G restricts

4 / 2

slide-12
SLIDE 12

Data-Storage

A tuple S = (C, P, R, ci) with

5 / 2

slide-13
SLIDE 13

Data-Storage

A tuple S = (C, P, R, ci) with

◮ set C (of configurations) ◮ set P (of predicates) with P ⊆ P(C) ◮ set R (of instructions) with R ⊆ P(C × C) ◮ initial configuration ci ∈ C

5 / 2

slide-14
SLIDE 14

Push-Down

a b c d e top

6 / 2

slide-15
SLIDE 15

Push-Down

a b c d e top bottom

6 / 2

slide-16
SLIDE 16

Tree-Stack

@ a c d f b e

7 / 2

slide-17
SLIDE 17

Tree-Stack

@ a c d f b e

up(1)

@ a c d g f b e

7 / 2

slide-18
SLIDE 18

Tree-Stack

@ a c d f b e

down

@ a c d g f b e

7 / 2

slide-19
SLIDE 19

Tree-Stack

@ a c d f b e

push(2, g)

@ a c d g f b e

7 / 2

slide-20
SLIDE 20

Tree-Stack

@ a c d f b e

set(g)

@ a c g g f b e

7 / 2

slide-21
SLIDE 21

Automata

q0 q1 a a q2 ǫ b q3 b

8 / 2

slide-22
SLIDE 22

Automata

q0 q1 a a q2 ǫ b q3 b L(M) = {anbm | n, m ≥ 1}

8 / 2

slide-23
SLIDE 23

Automata with Storage

q0 q1 (a, true, push(A)) (a, true, push(B)) q2 (ǫ, true, id) (b, top(B), pop) q3 (b, top(A), pop)

9 / 2

slide-24
SLIDE 24

Automata with Storage

q0 q1 (a, true, push(A)) (a, true, push(B)) q2 (ǫ, true, id) (b, top(B), pop) q3 (b, top(A), pop) L(MS) = {anbn | n ≥ 1}

9 / 2

slide-25
SLIDE 25

Automata with Storage

q0 q1 (a, true, push(A), 1) (a, true, push(B), 1) q2 (ǫ, true, id, 0) (b, top(B), pop, 2) q3 (b, top(A), pop, 2) L(MS) = {anbn | n ≥ 1}

9 / 2

slide-26
SLIDE 26

Approximation

q0 q1 (a, true, push(A), 1) (a, true, push(B), 1) q2 (ǫ, true, id, 0) (b, top(B), pop, 2) q3 (b, top(A), pop, 2)

10 / 2

slide-27
SLIDE 27

Approximation

q0 q1 (a, true, push(A), 1) (a, true, push(B), 1) q2 (ǫ, true, id, 0) (b, top(B), pop, 2) q3 (b, top(A), pop, 2) ≈A q0 q1 (a, true, push(C), 1) (a, true, push(C), 1) q2 (ǫ, true, id, 0) (b, top(C), pop, 2) q3 (b, top(C), pop, 2)

10 / 2

slide-28
SLIDE 28

Approximation

q0 q1 (a, true, push(A), 1) (a, true, push(B), 1) q2 (ǫ, true, id, 0) (b, top(B), pop, 2) q3 (b, top(A), pop, 2) ≈A q0 q1 (a, true, push(C), 1) (a, true, push(C), 1) q2 (ǫ, true, id, 0) (b, top(C), pop, 2) q3 (b, top(C), pop, 2)

L(M≈A) = {anbm | n ≥ m ≥ 1}

10 / 2

slide-29
SLIDE 29

Outline

10 / 2

slide-30
SLIDE 30

We use three strategies to approximate the initial automaton:

11 / 2

slide-31
SLIDE 31

We use three strategies to approximate the initial automaton:

◮ Ignoring tree-structures inspired by Burden and Ljungl¨

  • f [1]

and Cranenburgh [3] (TTS)

11 / 2

slide-32
SLIDE 32

We use three strategies to approximate the initial automaton:

◮ Ignoring tree-structures inspired by Burden and Ljungl¨

  • f [1]

and Cranenburgh [3] (TTS)

◮ Relabelling to equivalence classes of stack symbols by

Charniak et al. [2] (RLB)

11 / 2

slide-33
SLIDE 33

We use three strategies to approximate the initial automaton:

◮ Ignoring tree-structures inspired by Burden and Ljungl¨

  • f [1]

and Cranenburgh [3] (TTS)

◮ Relabelling to equivalence classes of stack symbols by

Charniak et al. [2] (RLB)

◮ Reducing the amount of push-down configurations to a finite

number by Nederhof [5] (PTK)

11 / 2

slide-34
SLIDE 34

Ignore Tree-Structure

Initial M

12 / 2

slide-35
SLIDE 35

Ignore Tree-Structure

Initial M MPD ≈TTS

12 / 2

slide-36
SLIDE 36

@ a c d f b e

13 / 2

slide-37
SLIDE 37

@ a c d f b e

TTS

a d f

13 / 2

slide-38
SLIDE 38

@ a c d f b e

TTS

a d

13 / 2

slide-39
SLIDE 39

Equivalence-Classes of Stack symbols

Initial M MPD ≈TTS

14 / 2

slide-40
SLIDE 40

Equivalence-Classes of Stack symbols

Initial M MPD ≈TTS MRel ≈RLB

14 / 2

slide-41
SLIDE 41

a b c d e

15 / 2

slide-42
SLIDE 42

a b c d e

RLB

a ≡ d, b ≡ c

15 / 2

slide-43
SLIDE 43

a b c d e

RLB

a ≡ d, b ≡ c

[a] [b] [b] [a] [e]

15 / 2

slide-44
SLIDE 44

Limit Push-Down Height

Initial M MPD ≈TTS MRel ≈RLB

16 / 2

slide-45
SLIDE 45

Limit Push-Down Height

Initial M MPD ≈TTS MRel ≈RLB MNFA ≈PTK

16 / 2

slide-46
SLIDE 46

a b c

17 / 2

slide-47
SLIDE 47

a b c

17 / 2

slide-48
SLIDE 48

a b c

PTK4

a b c

17 / 2

slide-49
SLIDE 49

a b c d e

18 / 2

slide-50
SLIDE 50

a b c d e

18 / 2

slide-51
SLIDE 51

a b c d e

PTK4

b c d e

18 / 2

slide-52
SLIDE 52

Special Case

pushdown

a

PTK4(pushdown)

19 / 2

slide-53
SLIDE 53

Special Case

pushdown

a

PTK4(pushdown) top(a), set(b)

b

19 / 2

slide-54
SLIDE 54

Special Case

pushdown

a

PTK4(pushdown)

a

top(a), set(b)

b

PTK4(top(a), set(b))

b

19 / 2

slide-55
SLIDE 55

Special Case

pushdown

a

PTK4(pushdown)

c

top(a), set(b)

b

PTK4(top(c), set(d))

d

19 / 2

slide-56
SLIDE 56

Outline

19 / 2

slide-57
SLIDE 57

Initial M MPD ≈TTS MRel ≈RLB MNFA ≈PTK

20 / 2

slide-58
SLIDE 58

Initial M MPD ≈TTS MRel ≈RLB MNFA ≈PTK Recognise w with MNFA

20 / 2

slide-59
SLIDE 59

Initial M MPD ≈TTS MRel ≈RLB MNFA ≈PTK Recognise w with MNFA Does not recognise No run found

20 / 2

slide-60
SLIDE 60

Algorithm by Denkinger [4]

Input: proper total approximation strategy A, (S, Σ, K)-Automaton M, n ∈ N, word w ∈ Σ∗ and part. order (≤) ⊆ K × K Output: some set of n-best runs of M on w

21 / 2

slide-61
SLIDE 61

Algorithm by Denkinger [4]

Input: proper total approximation strategy A, (S, Σ, K)-Automaton M, n ∈ N, word w ∈ Σ∗ and part. order (≤) ⊆ K × K Output: some set of n-best runs of M on w

1: M′ ←≈A (M) 2: Pf ← ∅ 3: Pc ← RM′(w) 9: return Pf

21 / 2

slide-62
SLIDE 62

Algorithm by Denkinger [4]

Input: proper total approximation strategy A, (S, Σ, K)-Automaton M, n ∈ N, word w ∈ Σ∗ and part. order (≤) ⊆ K × K Output: some set of n-best runs of M on w

1: M′ ←≈A (M) 2: Pf ← ∅ 3: Pc ← RM′(w) 4: while

do

5:

θ ← smallest element of Pc

6:

Pc ← Pc \ {θ}

9: return Pf

21 / 2

slide-63
SLIDE 63

Algorithm by Denkinger [4]

Input: proper total approximation strategy A, (S, Σ, K)-Automaton M, n ∈ N, word w ∈ Σ∗ and part. order (≤) ⊆ K × K Output: some set of n-best runs of M on w

1: M′ ←≈A (M) 2: Pf ← ∅ 3: Pc ← RM′(w) 4: while

do

5:

θ ← smallest element of Pc

6:

Pc ← Pc \ {θ}

7:

for θ′ ∈≈−1

A (θ) do

8:

if θ′ ∈ RM then Pf ← Pf ∪ {θ′}

9: return Pf

21 / 2

slide-64
SLIDE 64

Algorithm by Denkinger [4]

Input: proper total approximation strategy A, (S, Σ, K)-Automaton M, n ∈ N, word w ∈ Σ∗ and part. order (≤) ⊆ K × K Output: some set of n-best runs of M on w

1: M′ ←≈A (M) 2: Pf ← ∅ 3: Pc ← RM′(w) 4: while |Pf | < n or maxθ∈Pf wt(θ) > minθ′∈Pcwt(≈−1

A (θ′)) do

5:

θ ← smallest element of Pc

6:

Pc ← Pc \ {θ}

7:

for θ′ ∈≈−1

A (θ) do

8:

if θ′ ∈ RM then Pf ← Pf ∪ {θ′}

9: return Pf

21 / 2

slide-65
SLIDE 65

Algorithm for multiple layers

M

≈A1

− − → M1

≈A2

− − → M2

≈A3

− − → . . .

≈Am

− − − → Mm

22 / 2

slide-66
SLIDE 66

Algorithm for multiple layers

M

≈A1

− − → M1

≈A2

− − → M2

≈A3

− − → . . .

≈Am

− − − → Mm Input: (S, Σ, K)-Automaton M, n ∈ N, word w ∈ Σ∗, part. order (≤) ⊆ K × K, proper total approximation strategy A1, proper total approximation strategy A2, proper total approximation strategy A3, . . . , proper total approximation strategy Am, Output: some set of n-best runs of M on w

22 / 2

slide-67
SLIDE 67

Algorithm for multiple layers

1: M1 ←≈A1 (M) 2: M2 ←≈A2 (M1)

. . .

3: Mm ←≈Am (Mm−1) 4: Pf ← ∅ 5: Pm ← RMm(w) 15: return Pf

23 / 2

slide-68
SLIDE 68

Algorithm for multiple layers

1: M1 ←≈A1 (M) 2: M2 ←≈A2 (M1)

. . .

3: Mm ←≈Am (Mm−1) 4: Pf ← ∅ 5: Pm ← RMm(w) 6: while |Pf | < n or maxθ∈Pf wt(θ) > minθ′∈Pm wt(≈−1

A (θ′)) do

7:

θm ← smallest element of Pm

8:

Pm ← Pm \ {θm}

15: return Pf

23 / 2

slide-69
SLIDE 69

Algorithm for multiple layers

1: M1 ←≈A1 (M) 2: M2 ←≈A2 (M1)

. . .

3: Mm ←≈Am (Mm−1) 4: Pf ← ∅ 5: Pm ← RMm(w) 6: while |Pf | < n or maxθ∈Pf wt(θ) > minθ′∈Pm wt(≈−1

A (θ′)) do

7:

θm ← smallest element of Pm

8:

Pm ← Pm \ {θm}

9:

for θm−1 ∈≈−1

Am (θm) do

10:

if θm−1 ∈ RMm−1 then

15: return Pf

23 / 2

slide-70
SLIDE 70

Algorithm for multiple layers

1: M1 ←≈A1 (M) 2: M2 ←≈A2 (M1)

. . .

3: Mm ←≈Am (Mm−1) 4: Pf ← ∅ 5: Pm ← RMm(w) 6: while |Pf | < n or maxθ∈Pf wt(θ) > minθ′∈Pm wt(≈−1

A (θ′)) do

7:

θm ← smallest element of Pm

8:

Pm ← Pm \ {θm}

9:

for θm−1 ∈≈−1

Am (θm) do

10:

if θm−1 ∈ RMm−1 then

11:

for θm−2 ∈≈−1

Am−1 (θm−1) do

12:

if θm−2 ∈ RMm−2 then

15: return Pf

23 / 2

slide-71
SLIDE 71

Algorithm for multiple layers

1: M1 ←≈A1 (M) 2: M2 ←≈A2 (M1)

. . .

3: Mm ←≈Am (Mm−1) 4: Pf ← ∅ 5: Pm ← RMm(w) 6: while |Pf | < n or maxθ∈Pf wt(θ) > minθ′∈Pm wt(≈−1

A (θ′)) do

7:

θm ← smallest element of Pm

8:

Pm ← Pm \ {θm}

9:

for θm−1 ∈≈−1

Am (θm) do

10:

if θm−1 ∈ RMm−1 then

11:

for θm−2 ∈≈−1

Am−1 (θm−1) do

12:

if θm−2 ∈ RMm−2 then . . .

13:

for θ0 ∈≈−1

A1 (θ1) do

14:

if θ0 ∈ RM then Pf ← Pf ∪ {θ0}

15: return Pf

23 / 2

slide-72
SLIDE 72

Initial M MPD ≈TTS MRel ≈RLB MNFA ≈PTK Recognise w with MNFA Does not recognise No run found

24 / 2

slide-73
SLIDE 73

Initial M MPD ≈TTS MRel ≈RLB MNFA ≈PTK Recognise w with MNFA Does not recognise No run found Runs of MRel ≈−1

PTK, filter via MRel

24 / 2

slide-74
SLIDE 74

Initial M MPD ≈TTS MRel ≈RLB MNFA ≈PTK Recognise w with MNFA Does not recognise No run found Runs of MRel ≈−1

PTK, filter via MRel

Runs of MPD ≈−1

RLB, filter via MPD

24 / 2

slide-75
SLIDE 75

Initial M MPD ≈TTS MRel ≈RLB MNFA ≈PTK Recognise w with MNFA Does not recognise No run found Runs of MRel ≈−1

PTK, filter via MRel

Runs of MPD ≈−1

RLB, filter via MPD

Runs of M ≈−1

TTS, filter via M

24 / 2

slide-76
SLIDE 76

Initial M MPD ≈TTS MRel ≈RLB MNFA ≈PTK Recognise w with MNFA Does not recognise No run found Runs of MRel ≈−1

PTK, filter via MRel

Runs of MPD ≈−1

RLB, filter via MPD

Runs of M ≈−1

TTS, filter via M

no run found

24 / 2

slide-77
SLIDE 77

Outline

24 / 2

slide-78
SLIDE 78

Implementation1

1using rustomata https://github.com/tud-fop/rustomata 25 / 2

slide-79
SLIDE 79

Implementation1

Preprocessing: app0 tts − − → app1 rlb − − → app2 ptk − − → app3

1using rustomata https://github.com/tud-fop/rustomata 25 / 2

slide-80
SLIDE 80

Implementation1

Preprocessing: app0 tts − − → app1 rlb − − → app2 ptk − − → app3

for run1 in app3.recognise(word ). take(n) { let trans_runs1 = ctf_level(run1 , &ptk , &app2 ); for run2 in trans_runs1 { let trans_runs2 = ctf_level(run2 , &rlb , &app1 ); for run3 in trans_runs2 { let trans_runs3 = ctf_level(run3 , &tts , &app0 ); for run4 in trans_runs3 { println !("{:?}", run4 ); } } } }

1using rustomata https://github.com/tud-fop/rustomata 25 / 2

slide-81
SLIDE 81

Outline

25 / 2

slide-82
SLIDE 82

Experiments

◮ Grammars created by using the first 5, 10, 15 and 20

sentences of the NEGRA corpus2

2http://www.coli.uni-saarland.de/projects/sfb378/negra-corpus/

negra-corpus.html

3http:

//www.coli.uni-saarland.de/projects/sfb378/negra-corpus/stts.asc

26 / 2

slide-83
SLIDE 83

Experiments

◮ Grammars created by using the first 5, 10, 15 and 20

sentences of the NEGRA corpus2

◮ Grammars converted into Automata by rustomata

2http://www.coli.uni-saarland.de/projects/sfb378/negra-corpus/

negra-corpus.html

3http:

//www.coli.uni-saarland.de/projects/sfb378/negra-corpus/stts.asc

26 / 2

slide-84
SLIDE 84

Experiments

◮ Grammars created by using the first 5, 10, 15 and 20

sentences of the NEGRA corpus2

◮ Grammars converted into Automata by rustomata ◮ 2 equivalence classes, one using fanout and the other using

tag-grouping3

2http://www.coli.uni-saarland.de/projects/sfb378/negra-corpus/

negra-corpus.html

3http:

//www.coli.uni-saarland.de/projects/sfb378/negra-corpus/stts.asc

26 / 2

slide-85
SLIDE 85

Experiments

◮ Grammars created by using the first 5, 10, 15 and 20

sentences of the NEGRA corpus2

◮ Grammars converted into Automata by rustomata ◮ 2 equivalence classes, one using fanout and the other using

tag-grouping3

◮ PTK heights of 5, 10, 15 and 20

2http://www.coli.uni-saarland.de/projects/sfb378/negra-corpus/

negra-corpus.html

3http:

//www.coli.uni-saarland.de/projects/sfb378/negra-corpus/stts.asc

26 / 2

slide-86
SLIDE 86

Experiments

◮ Grammars created by using the first 5, 10, 15 and 20

sentences of the NEGRA corpus2

◮ Grammars converted into Automata by rustomata ◮ 2 equivalence classes, one using fanout and the other using

tag-grouping3

◮ PTK heights of 5, 10, 15 and 20 ◮ recognising three sentences contained in the corresponding

corpus

2http://www.coli.uni-saarland.de/projects/sfb378/negra-corpus/

negra-corpus.html

3http:

//www.coli.uni-saarland.de/projects/sfb378/negra-corpus/stts.asc

26 / 2

slide-87
SLIDE 87

Experiments

◮ Grammars created by using the first 5, 10, 15 and 20

sentences of the NEGRA corpus2

◮ Grammars converted into Automata by rustomata ◮ 2 equivalence classes, one using fanout and the other using

tag-grouping3

◮ PTK heights of 5, 10, 15 and 20 ◮ recognising three sentences contained in the corresponding

corpus M MPD TTS MRel RLB MNFA PTK

2http://www.coli.uni-saarland.de/projects/sfb378/negra-corpus/

negra-corpus.html

3http:

//www.coli.uni-saarland.de/projects/sfb378/negra-corpus/stts.asc

26 / 2

slide-88
SLIDE 88

Experiments

◮ Grammars created by using the first 5, 10, 15 and 20

sentences of the NEGRA corpus2

◮ Grammars converted into Automata by rustomata ◮ 2 equivalence classes, one using fanout and the other using

tag-grouping3

◮ PTK heights of 5, 10, 15 and 20 ◮ recognising three sentences contained in the corresponding

corpus M MPD TTS MRel RLB MNFA PTK 1 layer

2http://www.coli.uni-saarland.de/projects/sfb378/negra-corpus/

negra-corpus.html

3http:

//www.coli.uni-saarland.de/projects/sfb378/negra-corpus/stts.asc

26 / 2

slide-89
SLIDE 89

Experiments

◮ Grammars created by using the first 5, 10, 15 and 20

sentences of the NEGRA corpus2

◮ Grammars converted into Automata by rustomata ◮ 2 equivalence classes, one using fanout and the other using

tag-grouping3

◮ PTK heights of 5, 10, 15 and 20 ◮ recognising three sentences contained in the corresponding

corpus M MPD TTS MRel RLB MNFA PTK 2 layers

2http://www.coli.uni-saarland.de/projects/sfb378/negra-corpus/

negra-corpus.html

3http:

//www.coli.uni-saarland.de/projects/sfb378/negra-corpus/stts.asc

26 / 2

slide-90
SLIDE 90

Experiments

◮ Grammars created by using the first 5, 10, 15 and 20

sentences of the NEGRA corpus2

◮ Grammars converted into Automata by rustomata ◮ 2 equivalence classes, one using fanout and the other using

tag-grouping3

◮ PTK heights of 5, 10, 15 and 20 ◮ recognising three sentences contained in the corresponding

corpus M MPD TTS MRel RLB MNFA PTK 3 layers

2http://www.coli.uni-saarland.de/projects/sfb378/negra-corpus/

negra-corpus.html

3http:

//www.coli.uni-saarland.de/projects/sfb378/negra-corpus/stts.asc

26 / 2

slide-91
SLIDE 91

Results

10 20 30 40 50 60 70 80 90 no app. 1 layer 2 layer 3 layer Time (s)

27 / 2

slide-92
SLIDE 92

Results

5 10 15 20 no app. 1 layer 2 layer 3 layer Time (s)

28 / 2

slide-93
SLIDE 93

Results

0.2 0.4 0.6 0.8 1 ·106 20 40 60 80 number of configurations time (s) no Appr. 1 layer 2 layer 3 layer

29 / 2

slide-94
SLIDE 94

Results

0.5 1 1.5 2 2.5 3 ·105 5 10 15 20 number of configurations time (s) no Appr. 1 layer 2 layer 3 layer

30 / 2

slide-95
SLIDE 95

Results

0.5 1 1.5 2 2.5 3 ·105 5 10 15 20 number of configurations time (s) no Appr. 1 layer 2 layer 3 layer

31 / 2

slide-96
SLIDE 96

Results

0.5 1 1.5 2 2.5 3 ·105 5 10 15 20 number of configurations time (s) no Appr. 1 layer 2 layer 3 layer

32 / 2

slide-97
SLIDE 97

References

[1] H˚ akan Burden and Peter Ljungl¨

  • f. “Parsing Linear Context-Free

Rewriting Systems”. In: Proceedings of the Ninth IWPT (2005),

  • pp. 11–17.

[2] Eugene Charniak et al. “Multilevel coarse-to-fine PCFG parsing”. In: Proceedings of the HLT-NACL. 2006. [3] Andreas van Cranenburgh. “Efficient Parsing with Linear Context-Free Rewriting Systems”. In: Proceedings of the 13th Conference of the

  • EACL. (2012), pp. 460–470.

[4] Tobias Denkinger. “Approximation of Weighted Automata with Storage”. In: Proceedings Eighth International Symposium on GandALF. 2017,

  • pp. 91–105.

[5] Mark-Jan Nederhof. “Regular approximations of CFLs: A grammatical view”. In: Proceedings of the IWPT (1997), pp. 159–170.

33 / 2

slide-98
SLIDE 98

Stateless Push-Down Automata

33 / 2

slide-99
SLIDE 99

Stateless Push-Down Automata

replace(a1a2a3 . . . ak

  • current symbols

, b1b2b3 . . . bl

  • new symbols

)

33 / 2

slide-100
SLIDE 100

Stateless Push-Down Automata

replace(a1a2a3 . . . ak

  • current symbols

, b1b2b3 . . . bl

  • new symbols

) pop iff top = a1 pop iff top = a2 pop iff top = ak push(b1) push(b2) push(bl)

33 / 2

slide-101
SLIDE 101

◮ push(γ) = replace(ε, γ) for all γ ∈ Γ

33 / 2

slide-102
SLIDE 102

◮ push(γ) = replace(ε, γ) for all γ ∈ Γ ◮ pop(γ) = replace(γ, ε) for all γ ∈ Γ

33 / 2

slide-103
SLIDE 103

◮ push(γ) = replace(ε, γ) for all γ ∈ Γ ◮ pop(γ) = replace(γ, ε) for all γ ∈ Γ ◮ id(γ) = replace(γ, γ) for all γ ∈ Γ

33 / 2

slide-104
SLIDE 104

◮ push(γ) = replace(ε, γ) for all γ ∈ Γ ◮ pop(γ) = replace(γ, ε) for all γ ∈ Γ ◮ id(γ) = replace(γ, γ) for all γ ∈ Γ ◮ id = replace(ε, ε)

33 / 2

slide-105
SLIDE 105

Stateless Tree-Stack Automata

Every instruction is preceded and followed by a set(γ).

33 / 2

slide-106
SLIDE 106

Stateless Tree-Stack Automata

Every instruction is preceded and followed by a set(γ). State behaviour is encoded into stack-symbols.

33 / 2