by Daniel Neider and Ufuk Topcu
有限状態オートマトンで表現された (safety) 無限ゲームをオートマトン学習で解くというもの。Winning set を記述するオートマトンを反例駆動で探す。なお本論文で扱っているゲームは通常の意味での games over pushdown graph よりも難しいことに注意。
概要
有限アルファベット を固定して、ノード集合が であるような safety game を考える。Safety game はプレイヤー 0 と 1 の頂点 (ただし )と辺 と初期頂点集合 と到達してはいけない頂点集合 で定まる。ゲームが regular であるということを、この論文では、 であって、部分集合 がすべて正規言語であって、 が(有限状態非決定性トランスデューサで表現できるという意味で)正規関係であることをいう。それぞれのオートマトン表現を入力とし、ゲームにプレイヤー 0 が勝てるか否か(そして勝てる場合には winning set)を出力する問題を考える。
本論文の手法は regular な winning set をオートマトン学習で予想するというものである。正規言語 が与えられたときに、それが winning set であるかどうかの判定は容易にできる。Winning set でない場合には、次の4種類の反例のうちいずれかを構成することができる。
- であることの証拠となる (positive counterexample)
- であることの証拠となる (negative counterexample)
- (プレイヤー 0 の次の手の非存在) から 内への辺がないことの証拠である、組 であって かつ であるもの (existential implicational counterexample)
- (プレイヤー 1 の合法手の考慮不足) が から到達可能な頂点で閉じていないことの証拠である、組 であって かつ であるもの (universal implicational counterexample)
winning set の学習は、上記反例を蓄積しつつ、これまでに与えられた反例たちと consistent なオートマトンのうち最小サイズのものを作ることで行われる。最小サイズのオートマトンの構成は propositional SAT への帰着する。具体的には「状態数 N のオートマトンで、これまでに与えられた反例たちと consistent なオートマトンが存在する」ことを表す命題論理式を作り、UNSAT だった場合には N をインクリメントすることを繰り返す。命題論理式は、素朴に「各状態が受理状態か」を表す命題変数 N 個と、「状態 i で記号 a を読んだ時に状態 j に遷移するか」を表す命題変数 個を使って自然に表現したものを使う。
私見
まずはゲームの表現力について。まずは下限から。論文では pushdown game などと比べられているが、本論文の "regular game" は通常の意味の "pushdown game" (= pushdown automaton の configuration graph 上のゲーム)よりも強いことに注意*1。実際、pushdown automaton の configuration 上の遷移関係 は regular relation であるので、pushdown automaton の configuration graph は本論文の意味で regular である。あとは一工夫して、スタック と状態 と読むべき語 の3つ組を頂点としたゲームグラフを考えて、初期ノード集合を (初期スタック、初期状態、任意の語) という形の組み合わせすべてとすると、pushdown automaton の受理言語が全体集合 かという問題を、本論文のゲームに帰着できる。よって特に本論文のゲームは決定不能である*2。
つぎに上限だが、body に ∀ を許した CHC よりは弱いことが容易に分かる。したがって、-calculus + 文字列データの -fragment に帰着可能でもある。その意味で Beyene et al. POPL14 の game solving で扱っている問題(=CHC + ∃-head + well-foundedness predicate)よりは、理論的には大幅に簡単である。
設定さえ正しく理解できれば、手法自体は素朴という印象であった。