計算の理論 II 言語とクラス

24
計計計計計 計計計計計 II II 計計計計計計 計計計計計計 計計 4 計計 計計計計

description

計算の理論 II 言語とクラス. 月曜4校時 大月美佳. 講義の前に. 今後の予定 講義: 1/22, 1/30, 2/2 試験: 2/9 レポート 回収延期: 1/30 まで待つ. 今日の講義内容. 予定 前回の復習 クラス P, NP, PSPACE, NSPACE, NLOG, DLOG 問題 時間があれば 還元可能性 NP 完全など. T(n) 時間限定. T(n) を関数とし、 M を k テープ NTM とする。 言語 L に対して以下の(1)(2)が成り立つとき、 M は L を 時間 T(n) で受理する という。 - PowerPoint PPT Presentation

Transcript of 計算の理論 II 言語とクラス

計算の理論 計算の理論 IIII言語とクラス言語とクラス

月曜 4 校時大月美佳

講義の前に

今後の予定講義: 1/22, 1/30, 2/2

試験: 2/9

レポート回収延期: 1/30 まで待つ

今日の講義内容

1. 予定1. 前回の復習2. クラス

P, NP, PSPACE, NSPACE, NLOG, DLOG

3. 問題2. 時間があれば

1. 還元可能性2. NP 完全など

T(n) 時間限定

T(n) を関数とし、 M を k テープ NTM とする。言語 L に対して以下の (1)(2) が成り立つとき、M は L を時間 T(n) で受理するという。また、 M は T(n) 時間限定 (T(n)-time bounded)であるという。

(1) L=L(M)(2) 有限個を除いてすべての x L∈ に対して

timeM(x) T(|x|)≦

S(n) 領域限定

S(n) を関数とし、 M を k テープ NTM とする。言語 L に対して以下の (1)(2) が成り立つとき、M は L を領域 S(n) で受理するという。また、 M は S(n) 領域限定 (S(n)-space bounded)

であるという。(1) L=L(M)

(2) 有限個を除いてすべての x L∈ に対して spaceM(x) S(|x|)≦

NTIME(T(n)), NSPACE(S(n))

NTIMEk(T(n))={L|L はある k テープ NTM によって時間 T(n) に

よって受理される }

NSPACEk(S(n))={L|L はある k テープ NTM によって領域 S(n) に

よって受理される }

1kk

1kk

))((NSPACE))((NSPSCE

))((NTIME))((NTIME

nSnS

nTnT

DTIME(T(n)), DSPACE(S(n))

DTIMEk(T(n))={L|L はある k テープ DTM によって時間 T(n) に

よって受理される }

DSPACEk(S(n))={L|L はある k テープ DTM によって領域 S(n) に

よって受理される }

1kk

1kk

))((DSPACE))((DSPSCE

))((DTIME))((DTIME

nSnS

nTnT

正規言語

L を正規言語とする。このとき、以下の (1), (2) が成立する。

(1) L DTIME(n)∈(2) L DSPACE(1)∈

領域構成可能

関数 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 の定義

)(DTIME))((DTIME

)()(

)(

0

...)(

)(DTIME

011

1

1k

k

k

m

mm

mm

k

nnp

nOnp

kmk

a

ananananp

nP

とを十分大きくとるのとき、

NP の定義

)(NTIME))((NTIME

)()(

)(NTIME1k

k

k

k

nnp

nOnp

P

nNP

と同様に

PSPACE, NSPACE

1k

1k

1k

)(

)(

)1( )()(

)(

k

k

kk

k

nNSPACE

nDSPACEPSPACE

knDSPACEnNSPACE

Savitch

nDSPACEPSPACE

の定理より

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 進数表現 }∈NPTM の動作

入力 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), u≦ ≦ j ,vj V (1 j m)∈ ≦ ≦ GRAPH DLOG∈

∴ GRAPH P∈

還元可能性

計算可能関数 f: Σ1*→Σ2*

言語 L1 Σ⊆ 1*, L2 Σ⊆ 2*

それぞれ TM M1 ,M2 で受理

すべての x Σ∈ 1* に対してx L∈ 1 ⇔ f(x) L∈ 2

となるとき、 L1 を L2 に還元 (reduce) できるという。

x L∈ 1 の判定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. L0 C∈

2. すべての 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)

最後に

次回– 明日 1/22 14:20 ~ 15:50– NP 完全まわり

開始