4. 決定不能な問題 決定不能な問題

1
4. 決定不能な問題
2
決定不能な問題
„決定不能=決定可能でない
Type1: 半決定可能であるが,決定可能でない
T
Type2:
2 半決定可能でない
•もし,この問題が決定可能だった
なら ソフトウ アのテストに非常に
なら,ソフトウェアのテストに非常に
有用である.
•残念ながらそのようなTMは構成
„Type1の例
できないことが証明できる.
¾ヒルベルトの第10問題,ポストの対応問題(次頁参照)
¾TMの停止性問題「入力wに対しTM Mは停止するか」
¾TMの受理判定問題「TM Mは入力wを受理するか」
入力
•TM M
•Mへの入力w
„Type2の例
Yes
wに対し
に対し
Mは停止するか?
No
こんなアルゴリズム(decider)作れますか,という問題
¾TMの等価性判定問題「2つのTM M1, M2が受理する言語は等しいか」
¾「TM Mはどの文字列も受理しないか」
1
ポストの対応問題
PCP: Post’s Correspondence Problem
3
„文字列の対のリスト(要素数は有限個)が与えられる.
⎧⎡ b ⎤ ⎡ a ⎤ ⎡ ca ⎤ ⎡ abc ⎤ ⎫
⎨⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢
⎥⎬
⎩⎣ ca ⎦ ⎣ ab ⎦ ⎣ a ⎦ ⎣ c ⎦ ⎭
„PCPは,「リストの中の要素を任意の順序で並べて(同じ要素を何回使っても
良い)上下とも同じ文字列にできるか」という問題.上記の例は次の解を持つ.
a b c a a a b c
a b c a a a b c
„一般に,以下のようにk個の対のリストが与えられた時に, ti1 ti2 ...til = bi1 bi2 ...bil
となる自然数の列i1, …, ilが存在するか,という問題
⎧⎡ t ⎤ ⎡ t ⎤ ⎡ t ⎤ ⎫
P = ⎨⎢ 1 ⎥ ,⎢ 2 ⎥ ,...,⎢ k ⎥ ⎬
⎩⎣ b1 ⎦ ⎣ b2 ⎦ ⎣ bk ⎦ ⎭
¾一見簡単そうだが決定不能...
4
決定不能な問題(Type1)の証明
„TMの受理判定問題「TM Mは入力wを受理するか」が決定不能で
あることを証明したい.対応する言語は以下の通り
LTM={〈M,w〉 | ΤΜ Μ はwを受理する}
証明の方針
¾LTMを決定するTM(decider)は存在しないことが言えればよい
¾このことを,対角線論法を使って証明する
2
5
対角線論法
„1891年Georg Cantorにより導入された背理法に基づいた証明手法
¾例えば,実数の集合などが非可算であることを証明するのに使用
„集合が可算:数え上げられる(自然数集合と1対1対応関係持つ)
„集合が非可算:数え上げることができない
6
無限集合と濃度
„目的:複数の無限集合間で,要素の多さ(濃度と呼ぶ)を比較したい
„定義4.1: 集合A, BとAの元からBの元への写像f を考える
¾a ≠ aa’のとき
のとき,常にf(a)
常にf(a) ≠ f(a
f(a’)なら
)なら,ff は単射(one-to-one)と呼ぶ
は単射(one to one)と呼ぶ
¾b∈Bのとき,常にf(a)=bとなるa∈Aが存在するなら,f は全射(onto)と呼ぶ
¾上記の2つの条件がともに満たされるとき,f を全単射(correspondence)と呼ぶ
A,B間に全単射写像f: A→Bが存在するとき,AとBの濃度(size)は等しいと言う
単射の例(全射ではない)
全射の例(単射ではない)
„例4.1: 自然数の集合Nと偶数の集合Eの濃度は等しい.
¾(証明)NからEへの全単射写像 f(n)=2n が存在する.□
„定義4.2: 任意の集合Aについて,Aが有限あるいはNと等しい濃度を持つなら,Aは
可算(countable)であると言う.そうでない場合,非可算(uncountable)と言う
3
7
定理4.1: 実数の集合Rは非可算である
(証明)
„NとRの間に全単射写像fが存在(1対1対応が存在)すると仮定する.
„f の例を以下に示す(全単射であればなんでも良い).
例を
に す(全単射 あればなん も良 )
„実数xを次のように構成する.
¾xの小数点以下の第n桁目の値を,f(n)のn桁目の値と異なるように選ぶ.
n∈N
1
2
3
4
…
f(n) ∈ R
3.14159…
5.55555…
0 12345
0.12345…
0.50000…
…
x=0.4641…
無限集合の対角成分(i番
目の要素のi番目の成分)
を取り出して組み合わせる
ことで,どの要素にも一致
とで,どの要素にも 致
しないものを作り出す方法
を「対角線論法」と呼ぶ.
このようにして構成したxは,どのようなnに対してもx ≠ f(n)となる.
従って,実数xに対応する自然数は存在しないことになり,仮定に矛盾する.
以上より,Rは非可算であることが証明された.□
8
定理4.2: 全てのTMの集合は可算である
(証明)
„TM Mを2進符号化する
¾「TMの符号化(第3回資料,p.13-14)」で述べた方法で〈
¾「TMの符号化(第3回資料
p 13 14)」で述べた方法で〈M〉を求める
¾〈M〉を構成する{a, q, d, 0, 1, “,”, “(”,“)”}の各記号を2進数で符号化
“a”: 001, “q”: 010, “d”: 011, “0”: 000, “1”: 111, “,”: 100, “(’’: 101, “)”: 110
¾全てのTMは2進列(すなわち,10進数で表記すると,自然数)で表せる.
„有効なTMの符号の集合を昇順に並べる
¾全ての(有効な)TMの符号を,対応する10進数が小さい順に並べると,TMのリスト
{〈M1〉, 〈M2〉, 〈M3〉, …}が得られる.
¾以上により 自然数の要素とTMの集合との1対1の対応(全単射写像)が得られた
¾以上により,自然数の要素とTMの集合との1対1の対応(全単射写像)が得られた.
¾∴全てのTMの集合は可算である.□
• 任意の2進列(任意の自然数)をTMの符号とみなす方法もある.
¾この場合,有効でないTMの符号は,何も受理しないTM M(すなわち,L(M)=∅)の符
号と考える.
4
定理4.3: 言語LTM={〈M,w〉 | ΤΜ Μはwを受理
する}は決定不能である
9
„基本方針:対角線論法で証明したい.
¾全てのTMのリストM1, M2, … を対象に,各TMの符号を入力として動作させた時の受理
状況(例)を以下の表で表す
状況(例)を以下の表で表す.
¾リストのどのTMとも異なる動作を行うTMを,対角線論法に基いて構成し矛盾を導く!
空白の部分はrejectもしくは停止しない
〈M1〉
M1
accept
M2
accept
p
〈M2〉
〈M3〉
accept
p
accept
p
〈M4〉
M1
accept
…
accept
accept
…
〈M3〉
…
〈M4〉
…
reject
j
accept
M3
reject
M4
accept
…
〈M2〉
reject
M2
accept
p
M3
M4
〈M1〉
…
…
…
この様な動作を行うTMは
M1, M2, …のどのTMとも一致
しない(対角線要素が異なる)
対角線要素に着目し,どの
要素とも異なる動作をする
TMを構成する!
10
定理4.3の証明
(1) LTMが決定可能,すなわち,LTMのdeciderであるTM Hが存在すると仮定する.
¾H(〈M,w〉) =
accept (Mがwを受理する時)
reject (Mがwを受理しない時)
•前頁右側の表の動作を
行うTMとしてDを構成する.
(2) 〈M〉 を入力として次のように動作するTM Dを構成する.
¾ 〈M〉から〈M, 〈M〉〉注をつくり,それを入力としてΗを模倣する.
¾DはHの判定結果を逆(HがacceptならDはreject)に報告する.
¾Hを使って以下のようにDを構成可能
Dは〈M〉を受け取り,
〈M, 〈M〉〉を構成
〈M〉
〈M, 〈M〉〉は〈M, M〉
と同じと思って良い
注
D
〈M, 〈M〉〉
DはHの判定を
逆に出力する
reject
accept
H
reject
accept
5
問い:Dに〈D〉 を入力し
て動作させた時に,どう
いう場合にacceptとなり,
どういう場合にrejectとな
るかを記述せよ
定理4.3の証明(つづき)
11
(3) Dを入力〈D〉 で動作させると以下のようになる.
¾D(〈D〉) =
accept (Dが〈D〉を受理しないとき)
reject (Dが〈D〉を受理するとき)
D
〈D〉
reject
〈D, 〈D〉〉
accept
H
reject
accept
この状況は矛盾しており,仮定が間違っていたことになる.
以上より,LTMは決定可能でないことが証明された.□
Hはdeciderなので,どん
な入力に対してもaccept
かrejectかを答える
証明のレビュー
以下,全てのTMのリストをM1,M2, …で表す.
〈M1〉
M1
accept
M2
accept
〈M2〉
M4
…
(1)
〈M4〉
accept
accept
accept
空白の部分は
rejectもしくは
停止しない
…
accept
〈M1〉
〈M2〉
〈M3〉
〈M4〉
accept
reject
accept
reject
M2
accept
accept
accept
accept
M3
reject
reject
reject
reject
M4
accept
accept
reject
reject
…
D
...
…
Miに〈Mj〉を入力したときの出力(例)
M1
〈M1〉
〈M2〉
〈M3〉
〈M4〉
M1
accept
reject
accept
reject
M2
accept
accept
accept
accept
M3
reject
reject
reject
reject
M4
accept
accept
reject
reject
…
accept
M3
accept
〈M3〉
…
12
…
…
…
(2) Hに〈Mi, 〈Mj〉〉を入力したときの出力
… 〈D〉 …
•定理4.1の証明のときと同じよ
うに,矛盾を導くことを目的に,
対角線論法に基づきDを構成
している.
…
…
reject
reject
accept
accept
???
(3) Dに〈Μj〉を入力したときの出力ÆΜjに〈Μj〉を入力した時の出力と異なるように決めている
ÆDの出力は,他のどのΤΜの出力(対角線成分の出力が違うので)とも一致しない
6
13
練習問題
„問4.1: 定理4.3の証明になぜ対角線論法が使えるのか答えよ.
¾ヒント:付録の定理4.5を参照せよ
„問4.2: 言語 LTM が半決定可能でないことを証明せよ(ヒント:過去に
出てきた定理を用いて良い).
14
まとめ
„決定不能な問題
¾deciderが構成できないような問題(言語)を,決定不能と呼ぶ
が構成できないような問題(言語)を,決定不能と呼ぶ
¾タイプが2種類存在(半決定可能だが決定可能でない,半決定可能でない)
„対角線論法
¾実数の集合Rなどが非可算であることの証明に使う
¾全ての言語の集合が非可算であることを証明できる(付録参照)
„言語LTM (TMの受理判定問題)が決定不能であることの証明
¾LTMが決定可能と仮定すると矛盾する(対角線論法で証明)
„Homework
¾問4.1~4.2
7
15
付録
„定理4.4: 「半決定可能でない言語が存在する」の証明
¾全てのTMの集合より,全ての言語の集合の方が「多い」ことを証明することに
よって 対応するd id /
よって,対応するdecider/recognizerが存在しない(決定可能/半決定可能でな
i が存在しない(決定可能/半決定可能でな
い)言語が存在することを証明する
全てのTM
の集合
全ての言語
の集合
16
定理4.4: 半決定可能でない言語が存在する
(証明の手順)
(1) 全てのTMの集合が可算であることを示す.Æ 定理4.2(証明済)
(2) 全ての言語の集合が非可算であることを示す.Æ 定理4.5
(3) (1), (2)より,TMの集合と言語の集合は1対1対応を持たないため,
対応するTMを持たない(すなわち,半決定可能でない)言語が存在
することが言える.
8
17
定理4.5: 全ての言語の集合は非可算である
(証明手順)
(1) 全ての無限2進列の集合B は非可算であることを証明する.
列の長さ=無限
無限2進列の集合B
101000001000100100101010101…
110101010100101010101000001…
010101010000101000101010001…
000010100100100101001010100…
1111101010101011110101011010…
…
要素数=無限
(2) 全ての言語の集合(Lと表記する)がB と同じ濃度を持つことを証明する.
(注)各言語は文字列の集合なので,全ての言語の集合Lは,集合の集合となる.
L とΣ*(全ての文字列を含む言語)を混同しないこと! Σ*は Lの要素である.
他のあらゆる言語はLの要素である.
18
「Bは非可算である」の証明
(証明)自然数の集合Nと無限2進列の集合Bの間に全単射写像fが存在(1対1対応
が存在)すると仮定する.f の例を以下の表に示す.
„表の要素から ある無限2進列xを次のように構成する.
„表の要素から,ある無限2進列
を次のように構成する
¾xの上位から第n桁目の値を,f(n)のn桁目の値と異なるように選ぶ.
n∈N
1
2
3
4
5
6
…
f(n) ∈ B
101100100…
010010101…
001010111…
110101100
110101100…
001101010…
100010001…
…
x=000011…
このようにして構成したxは,どのようなnに対しても
x ≠ f(n)となる.
従って,この無限2進列xに対応する自然数は存
在しないことになり,仮定に矛盾する.
以上より, B は非可算であることが証明された.□
9
19
定理4.5 「Lは非可算である」の証明
言語毎に固有に定まる無限長記号列
(証明)
„Σ={0,1}とする.
„任意の言語L ∈ Lに対し,Lの特徴系列χ
に対し Lの特徴系列 Lを次のように構成できる.
を次のように構成できる
¾ χLのi番目の文字= 1 言語Σ*のi番目の要素が言語Lに含まれる時
0 そうでない時
Σ*={ ε,
0,
L={
0,
χ L=
0
1
1,
0
00, 01, 10, 11,
000, 001, …}
00, 01,
000, 001, …}
1
1
0
0
1
1
…
¾上記の特徴系列の構成法は,LからBへの全単射写像(1対1対応)になってい
る.よって,p. 17の(2)が証明された.
„以上(1), (2)より,全ての言語の集合Lは非可算である.□
10