Upload
lebao
View
218
Download
0
Embed Size (px)
Citation preview
計算量理論令和元年5月27日
河村
http://www.fc.inf.kyushu-u.ac.jp/~kawamura/t/k3/
時点表示(作業テープが分れているとき)
00011011011
機械 𝑀
作業テープ0001101
𝑥 =
機械 𝑀 に 𝑥 を入力して計算
𝑞 ∈ 𝑄
内部状態
作業テープの内容
入力・作業テープ上の位置
𝑛
この組合せを時点表示と呼ぶ
或る時点での機械の状況を完全に記述するには……
機械 𝑀
多項式時間限定の機械であれば
時点表示は O log 𝑄 + 𝑝 𝑛 ビットで表される(𝑝 は多項式)
入力テープ(読取り専用)
再
𝜎 空間限定チューリング機械
入力テープ(読取り専用)
00011011011
機械 𝑀
作業テープ0001101
出力テープ(書込み専用)
0001101
𝑥 =入力の長さ 𝑥 のとき
多項式空間限定の機械で認識される言語の全体 𝐏𝐒𝐏𝐀𝐂𝐄
(𝜎:𝐍 → 𝐍)
多項式 𝑝 が存在してlog 𝑝 𝑛 空間限定
作業テープ上で訪れる枡目の個数
(入出力テープは度外視)
(停止し、それまでに)
が O 𝜎 𝑥 以下
対数空間限定の機械で認識される言語の全体 𝐋
入力よりも小さい作業領域!
「対数」 = O log 𝑥「多項式」 = 𝑥 O 1 = 2O log 𝑥
まとめると……
多項式時間 多項式空間対数空間 指数時間多項式 𝑝 が存在して𝑛 ↦ log𝑝 𝑛 空間限定
多項式 𝑝 が存在して𝑝 時間限定
多項式 𝑝 が存在して𝑝 空間限定
多項式 𝑝 が存在して
𝑛 ↦ 2𝑝 𝑛 時間限定
𝐋 𝐏 𝐏𝐒𝐏𝐀𝐂𝐄 𝐄𝐗𝐏⊆ ⊆ ⊆
……の機械で解ける判定問題の全体がそれぞれ
自明 後で後で
問題QBF
与えられた量化命題論理式
𝐏𝐒𝐏𝐀𝐂𝐄 に属する問題の例
偽真偽真偽偽偽真真真真真偽偽真真
∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧
∨ ∨ ∨ ∨
∧ ∧
∨
∃𝑋4. ∀𝑋3. ∃𝑋2. ∀𝑋1. 𝑋2 ∨ ¬𝑋3 ∧ 𝑋1 ∨ 𝑋4
𝑄𝑛𝑋𝑛. 𝑄𝑛−1𝑋𝑛−1…𝑄1𝑋1. 𝜑 𝑋1, … , 𝑋𝑛
の真偽を判定せよ
𝜑 𝑋1, 𝑋2, 𝑋3, 𝑋4
量化子(∀ か ∃)
命題変数真(1)か偽(0)の値をとる
𝜑 𝑋1, 𝑋2, 𝑋3, 𝑋4
∀𝑋1. 𝜑 𝑋1, 𝑋2, 𝑋3, 𝑋4
∃𝑋2. ∀𝑋1. 𝜑 𝑋1, 𝑋2, 𝑋3, 𝑋4
∀𝑋3. ∃𝑋2. ∀𝑋1. 𝜑 𝑋1, 𝑋2, 𝑋3, 𝑋4
∃𝑋4. ∀𝑋3. ∃𝑋2. ∀𝑋1. 𝜑 𝑋1, 𝑋2, 𝑋3, 𝑋4𝑋4
𝑋3
𝑋2
𝑋1
例
空間量 O(𝑛)深さ優先探索
QBF ∀𝑥. 𝜓 𝑥
= QBF 𝜓 0 ∧ QBF 𝜓 1深さ𝑛
QBF ∃𝑥. 𝜓 𝑥
= QBF 𝜓 0 ∨ QBF 𝜓 1
葉 2𝑛 枚容易に計算できる
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1
0 1
0 1 0 1 0 1 0 1
各葉の値は𝜑 0,0,1, 0 = 偽
𝐏𝐒𝐏𝐀𝐂𝐄 に属する問題の例
問題SIRITORI
二人による試合(手数は多項式)の勝敗 例えば
字引(ンで終らない語の一覧)と最初の字
その字からしりとりをすると先手必勝か?
サ
ス
メ
カカサ
サメ
カケス
カメスルメ
メダカスズメ
……
…
入力
出力
∃𝑟1. ∀𝑟2. ∃𝑟3. … . ∀𝑟𝑛. 𝐵 𝑥, 𝑟1, 𝑟2, 𝑟3, … , 𝑟𝑛うまく第一手
を打てばどの第二手に対しても
うまく第三手を打てば
先手の勝である
…(𝐵 ∈ 𝐏)
長さ poly 𝑥
問題ADD
与えられた二つの整数(十進表記)の和を求めよ
𝐅𝐋 に属する問題の例
空間量 O(log 𝑛)まとめて筆算
9872394872395862398472395872395872491862+ 8573458234634817591285738363645757684773
「端から見ていけば特に何も書き留めずにできる」
1982928827842935629384723+ 73402398561823472
+ 64409359203603958039572034+ 7286263498236423745
+ 8256204469283692834837
途中結果を憶える余裕はないが……
幾つかの
18445853107030679989758134236041630176635
作業領域(小さい)
66400551595582074160038811
※対数空間で解ける問題全体(判定に限らない)を 𝐅𝐋 で表す
定理
函数 𝑓 と 𝑔 が 𝐅𝐋 に属するならば合成 𝑓 ∘ 𝑔 もまた 𝐅𝐋 に属する
入力テープ
作業テープ
𝑥
𝑦出力テープ
𝑔 を計算します
入力テープ作業テープ
𝑧出力テープ𝑓 を計算
します
𝑦
𝑦 = 𝑔 𝑥
𝑧 = 𝑓 𝑦
𝑓 ∘ 𝑔 を計算します
𝒚𝒊
途中結果を実際には書かず必要に応じ再計算
𝑖 文字目読みたい
問題MUL
与えられた二つの整数の積を求めよ
作業領域(小さい)
×
対数空間
対数空間
合成
𝐅𝐋 に属する問題の例
時点表示グラフ
入力テープ00011011011
機械 𝑀
作業テープ0001101
𝑥 =
機械 𝑀 に 𝑥 を入力して計算
𝑞 ∈ 𝑄
内部状態
作業テープの内容
入力・作業テープ上の位置
𝑛
この組合せを時点表示と呼ぶ
時点表示は poly 𝑛 個
𝑀 が対数空間
或る時点での状況を完全に記述するには……
時点表示間の遷移関係を表すグラフ(𝑀 と 𝑥 から決る)
始
受
拒
機械 𝑀計算が停止するのであればこのグラフを から辿ると循環しないはず➡頂点数 poly(𝑛) 時間以内で終了
始
∴ 𝐋 ⊆ 𝐏問3.15同様に 𝐏𝐒𝐏𝐀𝐂𝐄 ⊆ 𝐄𝐗𝐏
𝐋
まとめ
𝐋 = 𝐏未解決?
𝐏 = 𝐏𝐒𝐏𝐀𝐂𝐄?
QBF
𝐏𝐒𝐏𝐀𝐂𝐄
𝐏
𝐄𝐗𝐏
課題
必須
問3.14 問3.15
(演習プリントの今回分を今朝更新したのでムードルから再ダウンロードして下さい)
問3.16 問3.17
問3.15
問3.18問3.13
中間試験
範囲は今日(5月27日)まで
再来週6月10日
A4判1ページ分(片面のみ)まで持込可 外界との通信不可
平均点5~6割になる難度(の積り)
演習プリントの第3節(と附録Aの関連部分)まで
※来週(6月3日)の講義は通常通り(中間試験の範囲には含めない)