Lecture 05

Pushdown Automata

Thesis II "Solving" \(\neq\) recognizing a language with a finite automata

E.g.

  1. \(L=\{0^n1^n:n\geq 1\}\)
  2. \(L=\{w\in\{(,)\}^*:w\) is a matching string of parentheses\(\}\)
  3. \(L=\{w\in\{0,1\}^*:w=w^R\}\)
------  ----  -------
|word|<-|FA|->|stack|
------  ----  -------

Definition For any set of symbols \(S\), the set \(S_{\epsilon}=S\cup\{\epsilon\}\), where \(\epsilon\not\in S\)

Definition A (non-deterministic) pushdown automata is a 6-tuple (\(Q,\Sigma,\Gamma,\delta, F, q_0\)) where

Definition A PDA \(M\) accepts \(w\in\Sigma^n\) if there exists \(c\geq n\) and \(w_1,...,w_m\in\Sigma_{\epsilon}\) and states \(r_0,...,r_m\in Q\) and string \(s_0,...,s_m\in\Gamma^*\) such that

  1. \(r_0=q_0\), \(s_0=\epsilon\)
  2. \(r_m\in F\)
  3. \(s=w_1w_2...w_m\)
  4. \(\forall i\in[m], \exists a,b\in\Gamma_{\epsilon}, t\in\Gamma^*\) such that \((r_i,b)\in\delta(r_{i-1}, w_i, a)\) and \(s_i=bt\) and \(s_{i-1}=at\)

E.g.

  1. \(L=\{0^n1^n:n\geq 1\}\)

Definition The PDA \(M\) recognizes the language \(L\) is \(L=\{w:M\) accepts \(w\}\)

Context-free Language

Definition \(L\) is a context-free language if it is recognized by some PDA

Thesis II' "Solving"=recognizable by PDA

Definition A context-free grammar is a 4-tuple (\(V,\Sigma, R, S\)) where

Definition \(uAv\) yields \(uWv\) in \(G\) for some \(u,v,w,\in(V\cup\Sigma)^*\), \(A\in V\) if the rule \(A\rightarrow W\) is in \(R\) (\(uAv\Rightarrow uWv\))

Definition \(u\Rightarrow^*v\) (\(u\) derives \(v\)) in \(G\) for \(u,v\in(V\cup\Sigma)^*\) if there is a sequence \(u_0,...,u_m\in(V\cup\Sigma)^*\) such that \(u=u_0,\forall i\in[m]\) \(u_{i-1}\) yields \(u\) in \(G\) and \(v=u_m\).

E.g.

  1. \(L=\{0^n1^n:n\geq 1\}\)
  2. \(L=\{w\in\{(,)\}^*:w\) is a matching string of parentheses\(\}\)
  3. \(L=\{w\in\{0,1\}^*:w=w^R\}\)