計算の理論 II 計算量 月曜5校時 大月美佳 2019/4/10 佐賀大学理工学部知能情報システム学科.

Slides:



Advertisements
Similar presentations
計算の理論 I -言語とオートマトン- 月曜3校時 大月 美佳.
Advertisements

計算の理論 I 文脈自由文法 月曜3校時 大月 美佳 平成15年6月30日 佐賀大学知能情報システム学科.
アルゴリズムとデータ構造 第8回 ソート(3).
計算の理論 II 帰納的関数(つづき) 月曜4校時 大月美佳.
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
データ構造と アルゴリズム 理工学部 情報システム工学科 新田直也.
5.チューリングマシンと計算.
5.チューリングマシンと計算.
計算の理論 II NP完全 月曜4校時 大月美佳.
計算の理論 I ー DFAとNFAの等価性 ー 月曜3校時 大月 美佳.
授業展開#11 コンピュータは 何ができるか、できないか.
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II 文脈自由文法と プッシュダウンオートマトン
データ構造と アルゴリズム 知能情報学部 新田直也.
計算の理論 I -講義について+αー 月曜3校時 大月美佳.
スタック長の 特徴付けによる 言語の非DCFL性 証明
7.時間限定チューリングマシンと   クラスP.
チューリング機械 状態の有限集合 ヘッドの方向を表す。 L:1コマ左へ R:1コマ右へ テープ記号の有限集合 入力記号の有限集合 動作関数
第2章 「有限オートマトン」.
計算の理論 II NP完全 月曜5校時 大月美佳 平成17年1月17日 佐賀大学理工学部知能情報システム学科.
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II Turing機械の合成 月曜5校時 大月美佳 2004/11/15 佐賀大学理工学部知能情報システム学科.
計算の理論 I -Myhill-Nerodeの定理 と最小化-
計算の理論 II 帰納的関数 月曜4校時 大月美佳.
計算の理論 II 帰納的関数2 月曜4校時 大月美佳.
計算の理論 I 正則表現 火曜3校時 大月 美佳 平成16年6月8日 佐賀大学知能情報システム学科.
計算の理論 I ー 正則表現(今度こそ) ー 月曜3校時 大月 美佳.
計算の理論 I 正則表現 月曜3校時 大月 美佳 平成15年6月9日 佐賀大学知能情報システム学科.
計算の理論 I ー 正則表現 ー 月曜3校時 大月 美佳.
計算の理論 II Turing機械 月曜4校時 大月美佳.
計算の理論 I -Myhill-Nerodeの定理 と最小化-
計算の理論 II 言語とクラス 月曜4校時 大月美佳.
計算の理論 II 時間量と領域量 月曜5校時 大月美佳 2019/4/10 佐賀大学理工学部知能情報システム学科.
平成20年10月5日(月) 東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I 文脈自由文法の標準形 月曜3校時 大月美佳.
計算の理論 II 前期の復習 -有限オートマトン-
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳.
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳 平成15年6月2日 佐賀大学知能情報システム学科.
計算の理論 I 正則表現とFAとの等価性 月曜3校時 大月 美佳 平成15年6月16日 佐賀大学知能情報システム学科.
計算の理論 I ー閉包性ー 月曜3校時 大月 美佳.
チューリングマシン 0n1nを受理するチューリングマシン 入力テープ b b b b 状態遷移機械.
形式言語とオートマトン 中間試験解答例 2016年11月15実施 中島毅.
平成26年4月22日(火) 東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I ー正則表現とFAの等価性 その1ー
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
計算の理論 I 反復補題 月曜3校時 大月 美佳 平成15年7月14日 佐賀大学知能情報システム学科.
計算の理論 I 非決定性有限オートマトン(NFA)
計算の理論 I -数学的概念と記法- 火曜 12:50~14:20 大月 美佳 2004年4月20日.
5.チューリングマシンと計算.
計算の理論 I -プッシュダウンオートマトン-
計算の理論 I ー正則表現とFAの等価性ー 月曜3校時 大月 美佳.
計算の理論 I プッシュダウンオートマトン 火曜3校時 大月 美佳 平成16年7月6日 佐賀大学知能情報システム学科.
計算の理論 I -数学的概念と記法- 月曜3校時 大月 美佳.
ミニテスト12解答 月曜3校時 大月 美佳.
計算の理論 I -講義について+αー 月曜3校時 大月美佳 平成31年5月18日 佐賀大学理工学部知能情報システム学科.
計算の理論 I NFAとDFAの等価性 火曜3校時 大月 美佳 平成16年5月18日 佐賀大学理工学部知能情報システム学科.
計算の理論 I 反復補題 火曜3校時 大月 美佳 平成16年7月13日 佐賀大学知能情報システム学科.
Copyright 2002 守屋悦朗 オートマトンって? (Turing machine) (アニメーションで実行のこと)
計算の理論 I ー 正則表現 ー 月曜3校時 大月 美佳.
オートマトンって? (Turing machine).
計算の理論 I ε-動作を含むNFAと等価なDFA
計算の理論 I ε-動作を含むNFA 火曜3校時 大月 美佳 平成16年5月25日 佐賀大学知能情報システム学科.
非決定性有限オートマトン 状態の有限集合 入力記号の有限集合 注意 動作関数 初期状態 受理状態の有限集合.
情報数理Ⅱ 第10章 オートマトン 平成28年12月21日.
計算の理論 I -講義について+αー 火曜3校時 大月美佳 平成31年8月23日 佐賀大学理工学部知能情報システム学科.
計算の理論 I ー ε-動作を含むNFA ー 月曜3校時 大月 美佳.
計算の理論 I プッシュダウンオートマトン 月曜3校時 大月 美佳 平成15年7月7日 佐賀大学知能情報システム学科.
計算の理論 II 多テープTuring機械 月曜4校時 大月美佳 平成16年11月29日 佐賀大学知能情報システム学科.
計算の理論 II 時間量と領域量 月曜4校時 大月美佳 2019/9/13 佐賀大学理工学部知能情報システム学科.
計算の理論 I 最小化 月曜3校時 大月 美佳 平成15年6月23日 佐賀大学知能情報システム学科.
Presentation transcript:

計算の理論 II 計算量 月曜5校時 大月美佳 2019/4/10 佐賀大学理工学部知能情報システム学科

今日の講義 計算量 space(x), time(x) O記号 カウンタ 2019/4/10 佐賀大学理工学部知能情報システム学科

多テープTuring機械の例 1テープTuring機械(DTM) M M= (Q, Σ, Γ, δ, q0, B, F) Q={q0, q1, q2, q3}, Σ={0, 1, #}, Γ={B, 0, 1}, F= {q3}, δは右表 q a X δ(q, a, X) q0 B (q0, 0, R, R) 1 (q0, 1, R, R) # (q1, B, N, L) q1 (q1, 0, N, L) (q1, 1, N, L) $ (q2, $, R, R) q2 (q2, 0, R, R) (q2, 1, R, R) (q3, B, N, N) 2019/4/10 佐賀大学理工学部知能情報システム学科

計算の例 (q0, ¢10#10$, $BB…) ├ (q0, ¢10#10$, $1B…) ├ (q0, ¢10#10$, $10B…) 2019/4/10 佐賀大学理工学部知能情報システム学科

時間量(ステップ数) timeM(x) xを受理するMの最小ステップ。 timeM(x)=min{ t | ある受理計算状態D(x)に 対してC0(x)├tM D(x)} timeM(x)≧|x| 入力ヘッドは全ての入力記号を読んで 右エンドマーカに到達するから。 始点 終点 入力テープ ¢| 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | $ 2019/4/10 佐賀大学理工学部知能情報システム学科

領域量(ます目の量) space(x) xを受理するMの計算 α: C0(x)├ C1(x) …├ Ct(x) space(α)=max{hi(j)| 0≦j≦t, 1≦i≦k } ただし、 Cj(x): (pj , (h(j), ¢x$), (h1(j), ξ1(j)), …, (hk(j), ξk(j))) (0≦j≦t) spaceM(x)=min{ space(α) | ある受理計算状態 D(x)に対してα: C0(x)├*M D(x)} spaceM(x)≧1 ∵作業テープの始点つまりhi(0)は1 2019/4/10 佐賀大学理工学部知能情報システム学科

領域sで受理 Mがxを領域sで受理 ある自然数sに対して、 s≧spaceM(x) 2019/4/10 佐賀大学理工学部知能情報システム学科

ステップ数、ます目の量の例 先の1テープDTM x=w#wに対して、 spaceM(x)=|w|+1 |w| timeM(x)=3|w|+3 (q0, ¢10#10$, $BB…) ├ (q0, ¢10#10$, $1B…) ├ (q0, ¢10#10$, $10B…) ├ (q1, ¢10#10$, $10B…) ├ (q2, ¢10#10$, $10B…) ├ (q3, ¢10#10$, $10B…) |w| |w| |w| 2019/4/10 佐賀大学理工学部知能情報システム学科

2テープNTM M= (Q, Σ, Γ, δ, q0, B, F) Q={q0, q1, q2, q3, q4, q5}, a X1 X2 δ(q, a, X1, X2) q0 B {(q0, 0, B, R, R, N)} 1 {(q0, 1, B, R, R, N)} # {(q1, B, B, L, N, N), (q2, B, B, R, N, N)} q1 {(q1, B, B, L, N, N)} ¢ {(q0, B, B, R, N, N)} q2 {(q2, B, 0, R, N, R)} {(q2, B, 1, R, N, R)} $ {(q3, B, B, L, N, N), (q4, B, B, R, N, N)} q3 {(q3, B, B, L, N, N)} {(q2, B, B, R, N, N)} q4 {(q4, 0, 0, N, L, L)} {(q4, 1, 1, N, L, L)} {(q5, $, $, N, N, N)} M= (Q, Σ, Γ, δ, q0, B, F) Q={q0, q1, q2, q3, q4, q5}, Σ={0, 1, #}, Γ={B, 0, 1}, F= {q5}, δは右表 2019/4/10 佐賀大学理工学部知能情報システム学科

2テープNTMの計算 L(M)={u#v| u, v ∈{0, 1}*, m, n∈N, um=vn} 入力01#0101に対して 2019/4/10 佐賀大学理工学部知能情報システム学科

O記号 定義 f(n)=O(g(n)) 関数f(n), g(n)に対して、 ある定数c>0と整数n0≧0が存在して、 全てのn≧n0に対してf(n)≦cg(n)となるとき、 f(n)=O(g(n)) と書く。 2019/4/10 佐賀大学理工学部知能情報システム学科

O記号の例 n 2n Log2n log72n+2: O(log n), … O(log n)ではない, O(√n)ではない, O(n), O(n2), … 2n O(n)ではない, O(n2)ではない, O(2n), … Log2n O(√n)ではない, O(log n) , O(n), … log72n+2: O(log n), … 2019/4/10 佐賀大学理工学部知能情報システム学科

O(2n)≧O(n2)≧O(n) n≧4で2n≧n2 2019/4/10 佐賀大学理工学部知能情報システム学科

O(n)≧O(log n)≧O(√n) n≧3で2*log n≧√n 2019/4/10 佐賀大学理工学部知能情報システム学科

カウンタ 作業用テープをカウンタとして使用 2進数x=b1…bm→$bm…b1BB… 1加える動作 1引く動作動作 (初期状態p, 終了状態q) →(p, add1, q) 1引く動作動作 (初期状態p, 終了状態q(x>0), r(x=0)) →(p, sub1, q, r) 2019/4/10 佐賀大学理工学部知能情報システム学科

(p, add1, q) 足す 戻る s1 X s2 Y D p $ p1 R 0/B p2 1/1 L 1 0/1 q N 0/1 q N 足す 戻る 2019/4/10 佐賀大学理工学部知能情報システム学科

(p, add1, q):動作 1→10 逆向き 0→1 p$1B… p$BB… ├ $p11B… ├ $p1BB… ├ $0p1B… ├ q$01B… ├ $p1BB… ├ p2$1B… ├ q$1B… s1 X s2 Y D p $ p1 R 0/B p2 1/1 L 1 0/1 q N 1→10 逆向き 2019/4/10 佐賀大学理工学部知能情報システム学科

(p, sub1, q, r) 引けない 借りる 引けた 先頭探し中 戻れる 先頭発見 0削除 戻れる 終了 戻り中 終了 s1 X s2 Y D p $ p1 R B r L 1 p2 p4 p3 q N 0/1 引けない 借りる 引けた 先頭探し中 戻れる 先頭発見 0削除 戻れる 終了 戻り中 2019/4/10 終了 佐賀大学理工学部知能情報システム学科

(p, sub1, q, r):動作 10→1 0→失敗 p$01B… p$BB… ├ $p101B… ├ $p1BB… ├ $1p11B… X s2 Y D p $ p1 R B r L 1 p2 p4 p3 q N 0/1 10→1 0→失敗 p$01B… p$BB… ├ $p101B… ├ $1p11B… ├ $10p2B… ├ $1p30B… ├ $p31BB… ├ p4$1BB… ├ q$1BB… ├ $p1BB… ├ r$BB… 2019/4/10 佐賀大学理工学部知能情報システム学科

カウンタ使用時の領域量 L={w#w| ∈{0, 1}*}を領域O(log2n)で受理する DTM M C1←1; C2←1; 1: 入力ヘッドをx1…x2#のC1番目に持っていき、C1番目の記号Aを記憶する;  入力ヘッドを#まで右に動かす;  y1…ymのC2番目に持っていき、C2番目の記号Bを記憶する;  もしA=BならばC1←C1+1; C2←C2+ 1とし、ラベル1に戻る.  それ以外でもしA=#かつB=$ならば受理、  それ以外は非受理 2019/4/10 佐賀大学理工学部知能情報システム学科

DTM Mの構成例 作業用テープ4本 第1テープにカウンタC1 第2テープにカウンタC2 第3テープにAの文字保存 第4テープにBの文字保存 2019/4/10 佐賀大学理工学部知能情報システム学科

最後に 開始 ミニテストを提出して帰ること 次回は 領域量と時間量 2019/4/10 佐賀大学理工学部知能情報システム学科