計算理論のテスト用ノート
決定性有限オートマトン
- = 状態の集合
- = 入力の集合
- = 現在の状態状態 -> 入力 -> 新たな状態
- = 初期状態
- = 受理状態の集合
非決定性有限オートマトンはとなっている. ε付きは入力が空白の入力を受け付ける.
正規言語
- 列の長さ: その列に含まれる記号の個数, 列xの長さを|x|と書く.また長さ0の列を空列と呼び, εで表す.
- 列xとyの連接とは, 列xの後ろにyをつなげた列のことでxyと書く.またxxをと書くこともある.
- 列xの逆あるいは逆語とは, 列xを逆から並べた列のことで, と書く.例えばのとき, である.
- のとき, である.
チューリング機械
- = 入力記号
- = 入力記号の集合
- = テープ記号の集合
- = Q -> Γ -> (Q, Γ, {L, R})
- = 初期状態
- = 受理状態の集合
- = 停止状態の集合
オーダー記法
最高次の項の値だけを取り, 他と係数は無視する. 高々の時は. 正の整数とが存在して全ての整数に対してであるとき, と書く. であるときと書く.
P vs NP
クラスPの問題は多項式時間で判定可能. クラスNPの問題は多項式時間で判定不可能, 検証は可能. 多項式とはの形を取るとき, が定数のものを指す. 要するに変数で冪乗したら多項式ではない.
NP完全問題とその例
まず, クラスNP問題は判定問題であり, yes/noで答えられる問題が属します. また, クラスPに属さなくても, 有限時間で判定が出来ない問題, 例えば停止性問題などは多項式時間で検証が不可能なため, クラスNPには属しません.
NP完全問題とは
- クラスNPに属する
- 全てのクラスNPに属する問題から多項式時間で帰着(変換)可能
な問題を指します.
P問題はNP問題でもありますが, 2を満たさないためNP完全問題にはなりません.
2009年にHAL研究所が開発し, 任天堂が発売したニンテンドーDS向けの「立体ピクロス」というコンピュータ向けパズルゲームがあります.
これの解の存在判定はNP完全であることが第15回ゲームプログラミングワークショップの「立体ピクロスは NP 完全」という文献で示されています.
この文献はweb上に一般公開されています.
この証明は3SATからの帰着によってなされています.
ちなみにこの文献によると, 高さが1で普通数字・丸数字・四角数字を区別しない立体ピクロス, つまり簡単になった平面ピクロスの, 解の存在判定はクラスPで行えることが示されています.