Visibly Pushdown Automaton
Visibly Pushdown Automaton (VPA)
nested wordをアクセプトするオートマトンをnested wordオートマトンという。VPAはnested wordオートマトンと等価な普通の(nested wordでない)語を受理するオートマトン。
nested wordオートマトンと関係がありそうだなあ…位のことは、遷移関数の定義を見ると、(直感的には)直ぐわかる。その辺りの対応に関する証明の詳細は調べてない。
普通、VPAと言った場合は決定的なものを指すっぽい(未確認)
定義
VPAは6つ組の形で定義されれる。
ここで、
- は状態の有限集合
- は入力アルファベットを表す。はの3つの部分からなり、それぞれcall記号,ret記号,内部記号を含む.
- はスタックアルファベットと呼ばれる有限集合で、空のスタックを表す特別な記号を含む.
- は遷移関数.ここで
- (call遷移関数)
- (ret遷移関数)
- (内部遷移関数)
- は初期状態
- は受理状態の集合