知能情報システム特論 論理式による集合の定義(1) 山本 章博 京都大学 情報学研究科 知能情報学専攻 http://www.iip.ist.i.kyoto-u.ac.jp/member/akihiro/ [email protected] 帰納の例(数学的概念) 偶数とは 2 で割切れる自然数である 具体的な事実の観測(データの収集) 偶数である:22, 4, 16, 6, 184,… 偶数でない:7, 55, 13, 9, 1,… 法則の導出 一般的法則の探索・発想 S = { x | x は自然数 かつ x mod 2 = 0 } 具体的事実を用いた検証 計算機科学における概念定義方法 述語論理 数学的推論の形式化・機械化 S = { x | x は自然数 かつ x mod 2 = 0 } "x (even(x) nat(x) (x mod 2 = 0)) "x (even(x) nat(x) mod(x,2,0)) "x even(x) x = 0 y((x = y + 2)even(y)) 対象と対象の表現 偶数: 0, 2, 4, 6,… S = { x | x は自然数 かつ x mod 2 = 0 } 偶数の表現 : 0, 10, 00, 100, 110, 000, 010, … E= { x | x = 0で終わるような1と0からなる有限列} 1 0 0 1 対象と対象の表現(2) 3の倍数: 0, 3, 6, 9,… S = { x | x は自然数 かつ x mod 2 = 0 } 3の倍数の表現 : 0, 11, 00, 110, 000, 011, … E: 1 0 1 0 0 1 対象と対象の表現(3) 対象を直接扱うのではなく,その表現を扱う N {0, 1}* 0 1 0 1 001 2 0010 10 3 11 表現の構成法 (1) Primitiveな記号を(有限種)用意する (2) Primitiveな記号を組合せる方法を与える {0, 1}* 例 Primitiveな記号: 0, 1 記号を組合せる方法: 一列に並べる 0, 1, 00, 01, 10, 11, 000, 001, … {0, 1}*は述語論理では用いないが,述語論理と同 様の方法で集合を定義することができる(Smullyan) 述語論理で用いる表現(1) 数学で用いられる表現 0, 2, -56, 355674, 5+27, 4×8+2, 23,… ∠B, AB, △ABC,… 表記されない記号を明示する 前置き記法(prefix notation)で表す -(56), +(*(4, 8), 2), ^(2, 3) ,… ∠(B), d(A, B), △(A,B,C), (この講義では)アルファベット・数字などのISO文字 の列を用いることにする agl(B), d(A, B), tri(A, B, C),… 述語論理で用いる表現(2) (1) Primitiveな記号: 対象を表すための記号: 0, 2, 56, 355674,… 定数記号 A, B, C,… 関数を表すための記号: -, *, ^ , agl, d,… 関数記号 (2) 記号を組合せる方法: 対象に関数を繰り返し適用してゆく: *(4, 8), +(*(4, 8), 2), ^(2, 3), *(+(*(4, 8), 2), ^(2, 3)),… このような表現を基礎項(ground term), 基礎項 全体の集合をHerbrand Universeとよぶ 述語論理で用いる表現(3) 項は以下のように再帰的に定義される: (1) 定数記号は基礎項である. (2) f を関数記号, t1, t2,…,tn を基礎項とするとき f (t1, t2,…,tn ) は基礎項である. (3) (1), (2) を有限回適用して得られる式だけが 基礎項である. 述語論理で用いる表現(4) 対象を直接扱うのではなく,その表現を扱う U N 0 1 2 1 0 +(0, 1) 2 +(1,1) *(2,*(2,1)) 述語論理で用いる表現(5) (1) Primitiveな記号: 対象 0, 関数 s (2) 記号を組合わせる方法: s(s(…s(0)…)) N UN 0 0 1 s(0) 2 3 s(s(0)) s(s(s(0))) 論理式(1) 目標 基礎項の集合(Herbrand Universe Uの部分集 合) S = { x | p(x) } 基礎項の組の集合 S = { (x1, x2,…,xn) | q(x1, x2,…,xn) } を定義する方法を論理式を用いて与える. 基礎原子論理式(1) 基礎項 t や基礎項の組(t1, t2,…,tn )が S に属して いることを表すための式 : p(t), q(t1, t2,…,tn) 基礎原子論理式(ground atomic formula) p, q : 述語記号 例 Seven = {even(t) | t は偶数を表す基礎項} even : 述語記号 even(0)Seven, even(s(s(0)))Seven , even(s(0))Seven , even(s(s(s(0))))Seven , ... 基礎原子論理式(2) 例 Smod ={mod (t, s, u) | t (が表す自然数)を s で割ったときの余りが u } mod : 述語記号 mod(0, s(s(0)), 0)Smod, mod(s(0), s(s(0)), s(0))Smod, mod(s(s(s(0))), s(s(s(0))), 0))Smod , mod(s(0), s(s(0)), 0) Smod , ... 基礎原子論理式全体の集合をHerbrand baseと よぶ. 目標’ 基礎原子論理式の集合(Herbrand base) Bの部 分集合) S = {p(t1, t2,…,tn) | F [p]} を定義する方法を論理式を用いて与える. 量化子のない論理式(2) 項は以下のように再帰的に定義される: (1) 論理定数 □(^), ■ (T)は論理式である. (2) 基礎原子論理式は論理式である. (3) j , z を論理式とするとき j j zj z j z j z j z (4) (1), (2) を有限回適用して得られる式だけが 論理式である. 量化子のない論理式(1) 基礎原子論理式から論理結合子 を用いて構成される式 even(s(0)) even(s(s(0))) mod(s(s(0)), s(s(0)), 0) even(s(s(0))) even(0) even(s(s(s(s(0))))) even(s(s(0))) Cf. (–4 )×(6+5) 論理演算 論理演算 数学者 Boole により考案 2種類の値 1, 0 (真偽値)だけを用いる空間 1 は 真,0 は 偽 を表す. 真偽値同士の演算は真理値表により定義 真偽値の和,積はそれぞれ,自然数や実数の和, 積と非常に似た性質を持つ 論理式の意味を{0, 1}を用いて表す 多項式がn内の曲線や曲面を表すように, 論理 式は{0,1}n内の“曲線”や“曲面”を表す 論理演算 一般に,n変数の論理演算は2^(2^n)) 種類しか ない 真理値表で表現 x f(x) 0 1 x y 0 0 0 1 1 1 0 1 f(x, y) 代表的な論理演算 論理積 論理和 x y xy 0 0 0 x y x+y 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 1 1 1 否定 x y 0 1 1 0 単項(1引数)論理演算 単項(1引数)論理演算は22種類 x 0 1 f1(x) f2(x) f3(x) 0 0 1 0 1 0 否定 x f4(x) 1 1 2項(2引数)論理演算 2項(2引数)論理演算は24種類 x y f1 f16 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 論理積 x y 論理和 x + y 同値 x y 含意 x y 否定, 論理和, 論理積の性質 交換律 結合律 分配律 冪等律 零元 単位元 補元 x+ y = y + x xy = y x (x + y) + z = x + (y + z) (x y)z = x (y z) (x + y) z = x z + y z x y + z = (x + z)(y + z) x+x=x xx=x x+ 0 = x x・0 = 0 x ・1 = x x +1=1 x+x=1 xx=0 1 = 0, 0=1 二重否定 x=x ド・モルガン律 x + y = x y, x y = x + y 含意, 同値 x 0 0 1 1 y 0 1 0 1 xy 1 1 0 1 x 0 0 1 1 y 0 1 0 1 xy 1 0 0 1 x 0 0 1 1 x 0 0 1 1 y 0 1 0 1 y 0 1 0 1 x 1 1 0 0 x+y 1 1 0 1 x y y x (x y) (y x ) 1 1 1 1 0 0 0 1 0 1 1 1 含意(2) xw y+z = x+w +y+z 論理式の解釈(1) 解釈 I : Herbrand base B から{0, 1}への関数 基礎原子論理式に真偽値を“代入”する {0, 1}n 内の1点 解釈 I のもとでの論理式の解釈 1. 論理定数の解釈値 I (□) = 0, I (■) = 1 2. 論理演算子 I (j z ) = I (j) ・ I (z ) I (j z ) = I (j) + I (z ) I (j z ) = I (j) I (z ) I ( j ) = I (j) 論理式の解釈(2) 例 解釈 I: I(r) = 1, I(s) = 0, I(t) = 0, I(u) = 1, I(v) = 1 I (((r s) (t u)) v) = I ((r s) (t u)) I (v) = (I (r s)・I(t u)) I (v) = ((I (r) ・ I (s)) ・ (I(t)・ I(u))) I (v) = ((1 ・ 0 )・ (0 ・ 1)) 1 = (0 ・ 0 ) 1 =01=1 論理的帰結 zが j1,...,jn の論理的帰結: I(j1) =…= I(jn ) = 1 であるどのような解釈 I に 対しても I(z) = 1 j1,...,jn |=z 例 j1 =mod(s(s(0)), s(s(0)), 0) j2 =mod(s(s(0)), s(s(0)), 0) even(s(s(0))) z =even(s(s(0))) 量化子のない論理式による集合の定義 解釈 I : Herbrand base B から{0, 1}への関数 Herbrand base B の部分集合を指定している 論理的帰結 j1,...,jn |=z は j1,...,jnが表す集合から zが表す集合の 構成法を与えている 情報の階層モデル[原島・森島 89] 伝えたい内容・意図 意図・動機 意 味 概 念 構造・記号 モ デ ル 信号波形 意図・動機 意図・動機 意味情報 概念情報 構造・記号情報 意 味 概 念 構造・記号 モ デ ル パラメータ情報 信号波形情報 信号波形
© Copyright 2024 ExpyDoc