Adjoin Operation [β, 0, ra, i, j, k, l, ⊥] [γ, <strong>ad</strong>r, rb, j, p, q, k, ⊥] [γ, <strong>ad</strong>r, rb, i, p, q, l, ⊤] β ∈ SA(γ, <strong>ad</strong>r) A A [i,j,k,l,⊥] + A [j,p,q,k,⊥] A [i,p,q,l,⊤] 40 / 52
Recognizer Algorithm Algorithm (Recognizer; Joshi and Schabes, 1997) Input: String c 1 · · · c n TAG G = (N, T , I , A, S) (that only allows <strong>ad</strong>junction) { } Initialize: C := [α, 0, la, 0, −, −, 0, ⊥] ∣ α ∈ I , α(0) = S While ( new items can be <strong>ad</strong>ded to C ) apply the following operations on each item in C: [γ, <strong>ad</strong>r, la, i, j, k, l, ⊥] [γ, <strong>ad</strong>r, ra, i, j, k, l + 1, ⊥] [γ, <strong>ad</strong>r, la, i, j, k, l, ⊥] [γ, <strong>ad</strong>r, ra, i, j, k, l, ⊥] [γ, <strong>ad</strong>r, la, i, j, k, l, ⊥] [β, 0, la, l, −, −, l, ⊥] [γ, <strong>ad</strong>r, la, i, j, k, l, ⊥] [γ, <strong>ad</strong>r, lb, l, −, −, l, ⊥] [β, <strong>ad</strong>r, lb, l, −, −, l, ⊥] [γ, <strong>ad</strong>r ′ , lb, l, −, −, l, ⊥] γ(<strong>ad</strong>r) ∈ T , γ(<strong>ad</strong>r) = c l+1 γ(<strong>ad</strong>r) = ε γ(<strong>ad</strong>r) ∈ N, β ∈ SA(γ, <strong>ad</strong>r) γ(<strong>ad</strong>r) ∈ N, OA(γ, <strong>ad</strong>r) = ⊥ <strong>ad</strong>r = foot(β), β ∈ SA(γ, <strong>ad</strong>r ′ ) [γ, <strong>ad</strong>r, rb, i, j, k, l, ⊥] [β, <strong>ad</strong>r ′ , lb, i, −, −, i, ⊥] [β, <strong>ad</strong>r ′ , rb, i, i, l, l, ⊥] [γ, <strong>ad</strong>r, rb, i, j, k, l, <strong>ad</strong>j] [γ, <strong>ad</strong>r, la, h, −, −, i, ⊥] [γ, <strong>ad</strong>r, ra, h, j, k, l, ⊥] [γ, <strong>ad</strong>r, rb, i, −, −, l, <strong>ad</strong>j] [γ, <strong>ad</strong>r, la, h, j, k, i, ⊥] [γ, <strong>ad</strong>r, ra, h, j, k, l, ⊥] [β, 0, ra, i, j, k, l, ⊥] [γ, <strong>ad</strong>r, rb, j, p, q, k, ⊥] [γ, <strong>ad</strong>r, rb, i, p, q, l, ⊤] Output: If ( ∃ [α, 0, ra, 0, −, −, n, ⊥] ∈ C : α ∈ I , α(0) = S ) then return acceptance else return rejection <strong>ad</strong>r ′ = foot(β), β ∈ SA(γ, <strong>ad</strong>r) γ(<strong>ad</strong>r) ∈ N γ(<strong>ad</strong>r) ∈ N β ∈ SA(γ, <strong>ad</strong>r) 41 / 52