アラジン・フォーラムが提供する 言語処理ツールと言語データ2014/08/27 · アラジン・フォーラムが提供する 言語処理ツールと言語データ
計算の理論 II 言語とクラス
description
Transcript of 計算の理論 II 言語とクラス
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
領域構成可能
関数 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 の定義
)(DTIME))((DTIME
)()(
)(
0
...)(
)(DTIME
011
1
1k
k
k
m
mm
mm
k
nnp
nOnp
kmk
a
ananananp
nP
とを十分大きくとるのとき、
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)