計算の理論 II 試験前の準備 月曜4校時 大月美佳 講義の前に 今日の講義内容 1. 評価方法確認 2. 計算量残り 3. レポート回収 本講義の評価方法 出席 (MAX 20点) – 出席率2/3以下は出席点なし – 遅刻は20分まで レポート(MAX 40点) – 大(20点)×1 、小(10点)×2 定期試験 (MAX 40点) – ミニテスト+α(JABEE関連) – 再試は基本的になし カウンタ 作業用テープをカウンタとして使用 2進数x=b1…bm→$bm…b1BB… 1加える動作 (初期状態p, 終了状態q) →(p, add1, q) 1引く動作動作 (初期状態p, 終了状態q(x>0), r(x=0)) →(p, sub1, q, r) (p, add1, q) s1 X s2 Y D p $ p1 $ R 足す p1 0/B p2 1/1 L p1 1 p1 0 R 戻る p2 0/1 p2 0/1 L p2 $ q $ N (p, sub1, q, r) 引けない 借りる 引けた 先頭探し中 戻れる 先頭発見 0削除 戻れる 終了 戻り中 終了 s1 X s2 Y D p $ p1 $ R p1 B r B L p1 0 p1 1 R p1 1 p2 0 R p2 0 p2 0 R p2 1 p4 1 L p2 B p3 B L p3 0 p3 B L p3 1 p4 1 L p3 $ q $ N p4 0/1 p4 0/1 L p4 $ q $ N カウンタ使用時の領域量 L={w#w| ∈{0, 1}*}の領域量はO(log2n) 入力テープx=¢x1…xn#y1…ym$とする C1←1; C2←1; 1: 入力ヘッドをx1…xn#のC1番目に持っていき、そこ の記号Aを記憶する; 入力ヘッドを#まで右に動かし、y1…ymのC2番目に 持っていき、そこの記号Bを記憶する; if A=B then C1←C1+1; C2←C2+ 1; goto 1 else if A=# and B=$ then accept else reject 領域構成可能 関数S(n)は、 L(M)={1}*かつ 有限個を除いてすべてのx∈{1}*に対して spaceM(x)=|_S(x)_|となるDTM Mが 存在するとき、 領域構成可能(fully space constructible)である。 このときMはS(n)を、 領域構成する。 時間構成可能 関数T(n)は、 L(M)={1}*かつ 有限個を除いてすべてのx∈{1}*に対して timeM(x)=|_T(x)_|≧xとを満たすDTM Mが 存在するとき、 時間構成可能(fully time constructible)である。 このときMはT(n)を、 時間構成する。 P, NP P 決定性Turing機械によって多項式時間で 受理される言語 NP 非決定性Turing機械によって多項式時間で 受理される言語 P≠NP まだ証明されていない Pの定義 P DTIME (n ) k k 1 p(n) am n m am 1n m 1 ... a1n a0 am 0のとき、 kを十分大きくとる (m k )と p ( n) O ( n ) k DTIME ( p(n)) DTIME (n ) k NPの定義 NP NTIME (n ) k k 1 Pと同様に p ( n) O ( n ) k NTIME ( p (n)) NTIME (n ) k PSPACE, NSPACE PSPACE DSPACE (n ) k k 1 Savitchの定理より NSPACE(n ) DSPACE (n ) (k 1) k k PSPACE DSPACE (n ) k k 1 NSPACE(n ) k k 1 NLOG, DLOG 非常にわずかな領域しか使用しないTM によって受理される言語 NLOG=NSPACE(log n) DLOG=DSPACE(log n) 包含関係 DLOG⊆NLOG⊆P⊆NP⊆PSPACE このうち証明されているのはNLOG⊆PSPACE のみ 問題 写像A: Σ*→{0, 1} アルファベットΣで表現された 真偽問題(yes/no problem)、問題 Σ*の部分集合{x∈Σ*|A(x)=1} →AはΣ*上の言語 写像Aの複雑さ =言語{x∈Σ*|A(x)=1}を受理するTMの計算量 問題の例1 COMPOSITE ={x∈{0, 1}*|xは合成数の2進数表現} ∈NP TMの動作 入力wが与えられると、非決定的に動き、 第1作業テープと第2作業テープにxとyを書き出す。 x, yが2以上の2進数であることを調べた後で xとyを掛け算したものを第3作業テープに書き出し、 これが入力wと一致すればwを受理する。 wが受理される場合の時間量 |x|, |y|≦|w|であるので多項式時間 問題の例2 GRAPH 有限な有向グラフの符号化のひとつ G=(V, E) 頂点集合V={w1, …, wn} 辺集合E={(u1, v1), …, (um, vm)}⊆V×V G⊆(Γ∪{#})*として符号化 w1#…#wn##u1#v1#…#um#vm## wi∈Γ+ (1≦i≦n), uj ,vj ∈V (1≦j≦m) GRAPH∈DLOG ∴ GRAPH∈P 還元可能性 計算可能関数 f: Σ1*→Σ2* 言語 L1⊆Σ1*, L2⊆Σ2* それぞれTM M1 ,M2で受理 すべてのx∈Σ1*に対して x∈L1 ⇔ f(x)∈L2 となるとき、 L1をL2に還元(reduce)できるという。 x∈L1 の判定 M1 を走らせるかわりにf(x)がM2 で受理できるか調べる。 変換機 変換機(transducer) 1本の入力テープ(読みとりのみ) k本の作業テープ(読み書き可) 1本の書き出し専用テープ(左方向に動けない) 対数領域計算可能(log space computable) fが領域log2 nで計算可能 多項式時間計算可能(polynomial time computable) ある多項式p(n)とfが時間p(n)で計算可能 還元可能 対数領域還元可能 (log space reducible) L1≦log L2 (via f ) 多項式時間還元可能 (polynomial time reducible) L1≦p L2 (via f ) C≦log L0, C≦p L0 言語のクラスCがすべてのLについて L≦log L0, L≦p L0 NP完全、PSPACE完全、P完全 ≦log 完全、 ≦p 完全 1. 2. L0 ∈C すべてのL ∈Cに対してL≦log L0, L≦p L0 となる NP, P, PSPACEに対して それぞれ≦log 完全(または≦p 完全)であるとき NP完全(NP-complete) PSPACE完全(PSPACE-complete) P完全(P-complete) NP完全な言語 充足可能性問題(SAT) 和積標準形(CNF) 3和積標準形(3SAT) 頂点被覆問題(VERTEX COVER) 最後に 開始 小レポートを提出してから帰ること – 前回出席+今回出席 – +MAX10点
© Copyright 2024 ExpyDoc