計算の理論 II 帰納的関数(つづき) 月曜4校時 大月美佳.

Slides:



Advertisements
Similar presentations
北海道大学 Hokkaido University 1 情報理論 講義資料 2016/06/22 情報エレクトロニクス学科共通科目・2年次・第 1 学期〔必修 科目〕 講義「情報理論」第 5 回 第 3 章 情報源のモデル [ 後半 ] 3.5 情報源のエントロピー.
Advertisements

確率と統計 平成23年12月8日 (徐々に統計へ戻ります).
黒澤 馨 (茨城大学) 情報セキュリティ特論(4) 黒澤 馨 (茨城大学) 2017/3/4 confidential.
プログラミング論 I 補間
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
計算の理論 II NP完全 月曜4校時 大月美佳.
計算の理論 I ー DFAとNFAの等価性 ー 月曜3校時 大月 美佳.
計算の理論 II 文脈自由文法と プッシュダウンオートマトン
第 七 回 双対問題とその解法 山梨大学.
計算の理論 I -講義について+αー 月曜3校時 大月美佳.
離散数学I 第6回 茨城大学工学部 佐々木稔.
数理論理学 第11回 茨城大学工学部情報工学科 佐々木 稔.
第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校時 大月美佳.
7.4 Two General Settings D3 杉原堅也.
計算の理論 I -Myhill-Nerodeの定理 と最小化-
Extractor D3 川原 純.
計算の理論 II 言語とクラス 月曜4校時 大月美佳.
プログラミング言語論 第10回 練習問題解答例 情報工学科 篠埜 功.
計算の理論 II 時間量と領域量 月曜5校時 大月美佳 2019/4/10 佐賀大学理工学部知能情報システム学科.
計算の理論 II 計算量 月曜5校時 大月美佳 2019/4/10 佐賀大学理工学部知能情報システム学科.
計算の理論 II 前期の復習 -有限オートマトン-
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳.
9.通信路符号化手法1 (誤り検出と誤り訂正の原理)
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳 平成15年6月2日 佐賀大学知能情報システム学科.
計算の理論 I 正則表現とFAとの等価性 月曜3校時 大月 美佳 平成15年6月16日 佐賀大学知能情報システム学科.
数理論理学 第12回 茨城大学工学部情報工学科 佐々木 稔.
計算の理論 I ー閉包性ー 月曜3校時 大月 美佳.
計算の理論 I ー正則表現とFAの等価性 その1ー
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
計算の理論 I 反復補題 月曜3校時 大月 美佳 平成15年7月14日 佐賀大学知能情報システム学科.
計算の理論 I 非決定性有限オートマトン(NFA)
第14回 前半:ラムダ計算(演習付) 後半:小テスト
計算の理論 I -プッシュダウンオートマトン-
計算の理論 I ー正則表現とFAの等価性ー 月曜3校時 大月 美佳.
人工知能特論II 第8回 二宮 崇.
計算の理論 I プッシュダウンオートマトン 火曜3校時 大月 美佳 平成16年7月6日 佐賀大学知能情報システム学科.
データ解析 静岡大学工学部 安藤和敏
数理論理学 第9回 茨城大学工学部情報工学科 佐々木 稔.
プログラミング言語論 第10回 情報工学科 篠埜 功.
計算の理論 I -数学的概念と記法- 月曜3校時 大月 美佳.
ミニテスト12解答 月曜3校時 大月 美佳.
7.8 Kim-Vu Polynomial Concentration
述語論理式の構文と意味 一階述語論理式の構文 一階述語論理式の意味 述語,限量記号 自然言語文の述語論理式表現 解釈 妥当,充足不能
計算の理論 I -講義について+αー 月曜3校時 大月美佳 平成31年5月18日 佐賀大学理工学部知能情報システム学科.
確率論・数値解析及び演習 (第7章) 補足資料
計算の理論 I NFAとDFAの等価性 火曜3校時 大月 美佳 平成16年5月18日 佐賀大学理工学部知能情報システム学科.
計算の理論 I 反復補題 火曜3校時 大月 美佳 平成16年7月13日 佐賀大学知能情報システム学科.
計算の理論 I ー 正則表現 ー 月曜3校時 大月 美佳.
弱最内戦略を完全にするためのTRSの等価変換について
Cプログラミング演習 ニュートン法による方程式の求解.
Q q 情報セキュリティ 第8回:2004年5月28日(金) の補足 q q.
計算の理論 I ε-動作を含むNFAと等価なDFA
計算の理論 I ε-動作を含むNFA 火曜3校時 大月 美佳 平成16年5月25日 佐賀大学知能情報システム学科.
計算の理論 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 帰納的関数(つづき) 月曜4校時 大月美佳

今日の講義内容 前回の訂正(兼復習) ミニテストとアンケート 帰納的関数つづき 初期関数、合成と原始帰納 原始帰納的関数 原始帰納的な集合と述語 帰納的関数と部分帰納的関数

初期関数 原始帰納的関数の素。 (1) Z(x)=0 S(x)=x+1 Uni(x1, …, xi, …, xn)=xi i番目のxiを取り出す。 Z(x) x 1 2 3 4 5 S(x) x 1 2 3 4 5

合成と原始帰納 初期関数に加える操作 訂正 合成 原始帰納 (primitive recursion) r変数の関数hとr個のn変数関数gi(1≦i≦r)から、 n変数の関数fを以下の操作で作ること。 f(x1, …,xn)=h(g1(x1, …,xn), …,gr(x1, …, xn)) 原始帰納 (primitive recursion) n-1変数の関数gとn+1変数の関数hから、 f(x1, …, xn)=g(x1, …,xn-1) (xn=0のとき) f(x1, …, xn)=h(x1, …, xn-1, xn-1, f(x1, …, xn-1)) (xn>0のとき) 訂正

原始帰納? xn-3 … xn-2 xn-1 f(x1, …, xn) =h(x1, …, xn-1, xn-1, f(x1, …, xn-1)) =h(x1, …, xn-1, xn-1, h(x1, …, xn-1, xn-2, f(x1, …, xn-2))) … =h(x1, …, xn-1, xn-1, h(x1, …, xn-1, xn-2, h(… g(x1, …,xn-1) ..))) xn-3 … xn-2 xn-1

原始帰納的関数 (primitive recursive) 定義 初期関数(1), (2), (3)に 操作(I), (II)を 有限回(0回以上)適用して 得られた関数。

原始帰納的関数の例 (4) 定数関数 Cnk(x1, …, xi, …, xn)=k なぜならば Cnk(x1, …, xi, …, xn) =S(S(…S(Z(Uni(x1, …, xn)))…))=k xを1個取り出す (どれでも良い) 0にk回1を加算 選ばれたxを0にする C53(x1, x2, x3, x4, x5)=S(S(S(Z(U54(x1, x2, x3, x4, x5))))) =S(S(S(Z(x4))))=S(S(S(0)))=S(S(1))=S(2)=3

原始帰納的関数の例 (5) x1+x2 plus(x1, x2)= x1+x2とおくと、 plus(x1, x2)= U11(x1) (x2=0のとき) plus(x1, x2)=S(U33(x1, x2-1, plus(x1, x2-1))) (x2>0のとき) plus(2, 4)=S(U33(2, 3, plus(2, 3)))=S(plus(2, 3)) =S(S(U33(2, 2, plus(2, 2))))=S(S(plus(2, 2))) =S(S(S(U33(2, 1, plus(2, 1)))))=S(S(S(plus(2, 1)))) =S(S(S(S(U33(2, 0, plus(2, 0))))))=S(S(S(S(plus(2, 0))))) =S(S(S(S(U11(2))))) =S(S(S(S(2))))=S(S(S(3)))=S(S(4))=S(5)=6 帰納的 g(x1)

原始帰納的関数の例 (6) x1・ x2 times(x1, x2)= x1・x2とおくと、 times(x1, x2)=Z(x1)=0 (x0=0のとき) times(x1, x2)=p(x1, x2-1, times(x1, x2-1)) (x2>0のとき) ここで、 p(x, y, z)= plus(U31(x, y, z), U33(x, y, z)) =x+z

(6)´の計算例 times(3, 4)=p(3, 3, times(3, 3))=3+times(3, 3) =3+3+3+3+Z(3)=3+3+3+3+0=12

原始帰納的関数の例 (7) xy power(x1, x2)= x1x2とおくと、 ここで、 power(x1, x2)=S(Z(x1))=1 (x2=0のとき) power(x1, x2)=p(x1, x2-1, power(x1, x2-1)) = x1・power(x1, x2-1) (x2>0のとき) ここで、 p(x, y, z)= times(U31(x, y, z), U33(x, y, z)) =x・z g(x1) h(x1, x2-1, f(x1, x2-1))

原始帰納的関数の例 (8) x1! factorial(x1)= x!とおくと、 ここで、 factorial(x1)=S(Z(k))=1 (x1=0のとき) factorial(x1)=p(x1-1, factorial(x1-1)) = x1・factorial(x1-1) (x1>0のとき) ここで、 p(x, y)= times(S(U21(x, y)), U22(x, y)) =(x+1)・y g(k) h(x1-1, f(x1-1))

原始帰納的関数の例 (9) pd(x1)を pd(x1)=0 (x1=0のとき) pd(x1)= x1-1 (x1>0のとき) とおくと、 pd(x1)=Z(k)=0 (x1=0のとき) pd(x1)=p(x1-1, pd(x1-1))=x1-1 (x1>0のとき) ここで、 p(x, y)= U21(x, y)=x g(k) h(x1-1, f(x1-1))

原始帰納的関数の例 (10) 自然数上での減算x1ーx2を ・ x1ーx2 = x1- x2 (x1≧x2のとき) とする。 x1ーx2 =n-minus(x1, x2)とおくと、 n-minus(x1, x2)= U11(x1) (x2=0のとき) n-minus(x1, x2)=p(x1, x2-1, n-minus(x1, x2-1)) =pd(n-minus(x1, x2 -1)) (x2>0のとき) ここで、 p(x, y, z)= pd(U33(x, y, z))=pd(z) ・ ・ ・ g(x1) h(x1, x2-1, f(x1, x2-1))

原始帰納的関数の例 (11) (11) 差の絶対値| x1-x2 |を | x1-x2 | = x1-x2 (x1≧x2のとき) とする。 | x1-x2 | =abs-minus(x1, x2) =plus(n-minus(x1, x2), n-minus (x2, x1)) = x1ーx2+x2ーx1 ・ ・

原始帰納的関数の例 (12) xの符号を表す関数 sg(x1)=0 (x1=0のとき) sg(x1)=1 (x1>0のとき) とすると、 sg(x1)=Z(k)=0 (x1=0のとき) sg(x1)=S(Z(U21 (x1-1, sd(x1-1))) (x1>0のとき) 訂正

今日のミニテストとアンケート (7)~(12)の計算練習 答えだけはダメ。 定義式に従って計算すること。 ただし、中に出てくる他の原始帰納関数の 計算は省略して良い。 times(3, 4)=… =3+3+3+p(3, 0, times(3, 0))=3+3+3+3+times(3, 0) =3+3+3+3+Z(3)=12+0=12

原始帰納的な集合と述語 特徴関数CS, Cp 集合S∈Nn 述語P(x1, …, xn) CS(x1, …, xn)=0 ((x1, …, xn)∈Sのとき) CS(x1, …, xn)=1 ((x1, …, xn)∈Sのとき) が原始帰納的であるとき、Sは原始帰納的集合。 述語P(x1, …, xn) Cp(x1, …, xn)=0 (P(x1, …, xn)のとき) Cp(x1, …, xn)=1 (¬P(x1, …, xn)のとき) が原始帰納的であるとき、Pは原始帰納的述語。

原始帰納的集合の性質 集合S, R∈Nnが原始帰納的であれば、 S=Nn―S S∪R S∩R も原始帰納的。 →証明

原始帰納的述語の性質 1 P(x1, …, xr)を原始帰納的述語とし、 h1, …, hrをn変数の原始帰納的関数とする。 このとき述語 P(h1(x1, …, xn), …, hr (x1, …, xn)) は原始帰納的。 →証明

原始帰納的述語の性質 2 g1, …, gm+1をn変数の原始帰納的関数とし、 P1, …, Pmをn変数の原始帰納的述語で、 各(x1, …, xn)に対して高々1個のPi(x1, …, xn)が 真になるものとする。 このとき関数 f(x1, …, xn)=g1(x1, …, xn) (P1(x1, …, xn)のとき) … f(x1, …, xn)=gm(x1, …, xn) (Pm(x1, …, xn)のとき) f(x1, …, xn)=gm+1(x1, …, xn) (それ以外のとき) は原始帰納的。→証明

原始帰納的述語の性質 3 P(x1, …, xn), Q(x1, …, xn)を 原始帰納的述語とすれば、述語 ¬P(x1, …, xn) は原始帰納的。→証明

原始帰納的述語の性質 4 P(x1, …, xn, y)を原始帰納的述語とすれば、 述語 (∃y)<zP(x1, …, xn , y) ⇔P(x1, …, xn , 0)∨…∨ P(x1, …, xn , z-1) (∀y)<zP(x1, …, xn , y) ⇔P(x1, …, xn , 0)∧…∧ P(x1, …, xn , z-1) は原始帰納的。→証明

有界μ作用素 述語P(x1, …, xn, y)に対して、 (μy)<zP(x1, …, xn, y)をn+1変数の 以下のような関数として定義する。 (μy)<zP(x1, …, xn, y) =min{y|y<z∧P(x1, …, xn, y)} ((∃y)<zP(x1, …, xn, y)のとき) =z (¬(∃y)<zP(x1, …, xn, y)のとき)

原始帰納的述語の性質 5 述語P(x1, …, xn, y)が原始帰納的であれば (μy)<zP(x1, …, xn, y)は原始帰納的である。 →証明

原始帰納的述語と関数の例 1 述語x=y 述語x<y 述語x≦y 関数max(x, y) 関数min(x, y) 関数max(x1, …, xn) 述語x|y (xはyを割り切る) 述語Pr(x) (xは素数である)

原始帰納的述語と関数の例 2 述語x/y (xをyで割ったときの商) 第n+1番目の素数を表す関数pn 関数 aとiの関数 l(a)=aの素因数分解における0でない数の個数 (a≠0のとき) l(a)=0 (a=0のとき) aとiの関数 (a)i=aの素因数分解におけるpiのべき数  (a≠0のとき) (a)i=0 (a=0のとき)

原始帰納的述語と関数の例 3 関数

μ作用素 (μ-operator) n+1変数の述語からn変数の関数を作る操作 定義 述語P(x1, …, xn, y)に対して μyP(x1, …, xn, y) =min{y|P(x1, …, xn, y)} ((∃y)P(x1, …, xn, y)のとき) =無定義 (¬(∃y)P(x1, …, xn, y)のとき)

正則 述語P(x1, …, xn, y)が正則 関数g(x1, …, xn, y)が正則 = 任意の(x1, …, xn)に対してP(x1, …, xn, y)を真とするyが存在する。 関数g(x1, …, xn, y)が正則 =任意の(x1, …, xn)に対してg(x1, …, xn, y)=0となるyが存在する。

2つの新操作 (III) 全域的であることが保証されない。 (III´) 全域的であることが保証される。 関数g(x1, …, xn, y)から関数f (x1, …, xn)を 以下の操作で作る。 f(x1, …, xn)=μy(g(x1, …, xn, y)=0) (III´) 全域的であることが保証される。 正則関数g(x1, …, xn, y)から関数f (x1, …, xn)を

部分帰納的関数と帰納的関数 部分帰納的(partial recursive)関数 帰納的(recursive)関数 初期関数(1), (2), (3)に操作(I), (II), (III)を 有限回適用して定義された関数。 帰納的(recursive)関数 (一般帰納的(general recursive)関数) 初期関数(1), (2), (3)に操作(I), (II), (III´)を

各関数の関係 部分帰納的関数 帰納的関数 原始帰納的関数

最後に 開始 ミニテストを提出してから帰ること 次回こそは、 Turing機械