2005/08/11 セマンティックウェブとメタデータ勉強会#3 5. Logic and Inference Rules 沼 晃介 総合研究大学院大学 国立情報学研究所 Outline • • • • • Introduction 単調ルール(Monotonic Rules) 非単調ルール(Nonmonotonic Rules) XMLによる単調ルールのマークアップ XMLによる非単調ルールのマークアップ 5.1 Introduction Logic • 明確な表現 • 形式的な意味論(semantics) • 論理的帰結(logical consequence)の正確な概念がある: 他の宣言の集合から宣言を導出可能かを決定する • 統語的(syntactic)に宣言(statement)を導出する証明シス テム(proof system)が存在する • 統語的な導出と一致する意味的な論理的帰結を導出で きる証明システムが存在する • 述語論理(predicate logic)は、健全で完全な証明システ ムが存在する点で他にない • 証明システムが存在すれば、論理的帰結を導く証明を トレースできる Rule System • 効率的な証明システムのある述語論理のサブ セット • Horn logicやdefinite logic programsとも • 形式: A1 ,..., An B A, Bは原子式(atomic formula) • 演鐸ルール(deductive rule)とリアクティブルール (reactive rule)の2つの読みが可能 • この章では演鐸ルールを扱う 記述論理vs述語論理 • 記述論理(description logic)と述語論理は相互独 立な関係(orthogonal) • 例)同じ街で勉強し暮らしている人は、「地元学 生」 – OWLではわからない – ルールでは容易 studies X , Y , lives X , Z , locY ,U , locZ ,U homeStudent X 単調ルールと非単調ルール • 例) 誕生日に特別割引をする – R1: もし誕生日なら特別割引をする – R2: もし誕生日でなければ特別割引はしない • でも誕生日がわからなかったら? – R1: もし誕生日なら特別割引をする – R2´: もし誕生日がわからなければ特別割引はしない • 2つの問題 – 述語論理の表現を超える – あとで誕生日が判明したら? • 単調なルール、非単調なルール 5.2-5.4 Monotonic Rules 単調ルール 5.2 単調ルールの例 • 基本述語 mother X , Y father X , Y male X femaleY • ルールを使い、述語を定義して、多くの関係を推論できる mother X , Y parent X , Y father X , Y parent X , Y male X , parent P, X , parent P, Y , notSame X , Y brother X , Y brother X , P , parent P, Y uncle X , Y mother X , P , parent P, Y grandmother X , Y parent X , Y ancestor X , Y ancestor X , P , parent P, Y ancestor X , Y 5.3 単調ルールの構文(syntax) loyalCustomer X , age X 60 discount X premises body • 変数(variables) head 値の保持場所: X • 定数(constants) 固定された値: 60 • 述語(predicates) オブジェクトの関連付け: loyalCustomer, > • 関数記号(function symbols) 特定の引数に関する値: age 5.3.1-5.3.3 Rules, Facts, Logic Programs • 述語論理解釈 ルール 解釈 r : B1 ,..., Bn A pl r : X 1...X k B1 ... Bn A X 1...X k A B1 ... Bn • 事実(Facts) 原子式 loyalCustomer(a345678) • 論理プログラム(Logic Programs) 事実とルールの有限集合 5.3.4 Goals • プログラムに対するクエリ G : B1 ,..., Bn • 背理法を用いて結論を得る – Gは以下と同値 X 1...X k B1 ... Bn X 1...X k B1 ... Bn – p(a) が事実、 p(X)→ がゴールとする – ゴールは ¬∃X p(X) と読める – 事実とゴールは矛盾 – ∃X p(X) が導かれた 5.4 単調ルールの意味論(semantics) • 5.4.1 述語論理意味論 – ルール、事実、クエリを述語論理的に解釈 – 述語論理の解釈とは; • 論理言語(記号)の要素には任意の意味を持たせられる • 述語論理モデルAには特定の意味を与える • 論理結合子¬、∨、∧、→、∀、∃は、直感的意味:否定、和、 積、含意、すべての、存在する、に対応 • A|=Ψ :論理式ΨがモデルAにおいて真かどうか • 論理式の集合Mが真であるモデルAにおいて、論理式Ψが 真のとき、ΨはMから帰結される(Ψ follows from M)という 5.4.1 述語論理意味論(cont’d) • 具体例 – プログラムP p a p X q X – クエリ q X を考える • q(a) であれば、pl(P) から帰結される:肯定 • q(b) では、pl(P) から帰結されない:否定 5.4.2 Ground and Parameterized Witnesses 1 • 次の事実とクエリがあるとき pa p X 答え Yes は正しいが、不満足 • 定数による証拠(Ground Witness) {X/a} という置換(substitution)の定数a 5.4.2 Ground and Parameterized Witnesses 2 • プログラム add X ,0, X add X , Y , Z add X , s Y , s Z ※ s は引数に 1 足したものを返す クエリ add X , s8 0, Z • 定数による証拠をあげると {X/0,Z/s8(0)}, {X/s(0),Z/s9(0)},…と無限にある • パラメータ化された証拠(Parameterized Witness) Z = s8(X) 5.5-5.6 Nonmonotonic Rules 非単調ルール 5.5 非単調ルール • 非単調ルールでは、ルールは棄却可能 (defeasible) • 否定の原子式がheadやbodyに出現 • 単調ルールとは別の矢印を使う • ルール間に優先順位をつける r1 : p X q X r2 : r X q X r1 r2 • 事実p(a), r(a)があると、p(a)が導出される 5.5.2 構文 • 形式 r : L1 , L2 ,..., Ln L • • • • ラベル(label): r body, 前提(premises): {L1, …, Ln} head: L リテラル: L, L1, …, Ln 肯定・否定のリテラル(関数記号を含まない原子式・その否定) • 論争論理プログラム(defeasible logic program) 事実の集合「F」、ルールの集合「R」、非循環2項関係「>」のトリプル(F, R, >) 5.6 具体例 • アパート探しの仲介 カルロスは少なくとも45平米で2部屋以上のアパートを探してい る。もし部屋が4階以上にあるのなら、建物にはエレベータがなけ ればならない。またペットの飼育も可能でなければならない。 カルロスは45平米で中心街にあるのであれば300ドル出しても いいと考えており、郊外で同じ条件以上であれば、250ドル出して もいいと考えている。加えて、部屋の広さが条件以上であれば、1 平米毎に5ドル、また庭については1平米につき2ドル出してもよ いと考えている。 彼は全体として400ドル以上は出せない。もし、複数の候補が 与えられれば、最も安い条件のアパートを購入するであろう。彼 の2番目の優先順位は庭があるということである。最も低い優先 順位はスペースの追加である。 5.6.1 要求の形式化 述語 • size(x,y) • bedrooms(x,y) • price(x,y) • floor(x,y) • garden(x,y) • lift(x) • pets(x) • central(x) • acceptable(x) • offer(x,y) アパートxの広さはy平米 xの部屋数はy xの値段はy xはy階にある xには広さyの庭がある xにはエレベータがある xはペット可 xは中心街にある アパートxはカルロスの要求にあう カルロスはxにyドル払える 5.6.1 要求の形式化(cont’d) r1 : acceptable X r2 : bedrooms X , Y , Y 2 acceptable X r3 : size X , Y , Y 45 acceptable X r4 : pets X acceptable X r5 : floor X , Y , Y 3, lift X acceptable X r6 : price X , Y , Y 400 acceptable X r2 r1 , r3 r1 , r4 r1 , r5 r1 , r6 r1 r7 : size X , Y , Y 45, garden X , Y , central X offer X ,300 2 Z 5(Y 45) r8 : size X , Y , Y 45, garden X , Y , central X offer X ,250 2 Z 5(Y 45) r9 : offer X , Y , price ( X , Z ), Y Z acceptable X r9 r1 5.6.2 購入可能なアパートの表現 アパート 寝室 広さ 中心街 階 エレベータ ペット 庭 価格 a1 a2 a3 a4 a5 a6 a7 1 2 2 2 3 2 3 50 45 65 55 55 60 65 yes yes no no yes yes yes 2 1 3 2 1 4 2 no no no yes no no no yes yes yes no yes no yes 0 0 0 15 15 0 12 300 335 350 330 350 370 375 5.6.2 購入可能なアパートの表現 (cont’d) • アパートa1 bedroomsa1 ,1 size a1 ,50 central a1 floor a1 ,1 lift a1 ,0 petsa1 garden a1 ,0 price a1 ,300 5.6.2 購入可能なアパートの表現 (cont’d) • アパートa1は寝室1つなのでNG(ルールr2) • ペットが飼えないのでa4とa6はNG(ルールr4) • a2は、カルロスが払える300ドルより高い(ルール r7とルールr9) • アパートa3とa5とa7は条件に合う(ルールr1) 5.6.3 アパートの選択 • 追加ルール r10 : cheapest X rent X r11 : cheapest X , largestGarden X rent X r12 : cheapest X , largestGarden X , largest X rent X r12 r10 , r12 r11, r11 r10 • 事実 cheapest a3 cheapest a5 largest a3 largest a7 largestGardena5 5.6.3 アパートの選択(cont’d) • ルールr11はa5に適用できる • ルールr10はa3に適用できるので、競合が起こる。 だが、この競合はルールr11がr10より強いという 条件から解消され、a5が残る。 • r11がr12の優先条件に当てはまるアパートはない ため、これが唯一の競合である。 5.7 Rule Markup in XML 単調ルール 5.7.1 項(term) • <term>, <function>, <var>, <const>を用いて表現 <term> <function>f</function> f X , a, g b, Y <term><var>X</var></term> <term><const>a</const></term> <term> <function>g</function> <term><const>b</const></term> <term><var>Y</var></term> </term> </term> 5.7.2 原子論理式(atomic formula) • <atom>, <predicate>を追加 <atom> <predicate>p</predicate> p X , a, f b, Y <term><var>X</var></term> <term><const>a</const></term> <term> <function>f</function> <term><const>b</const></term> <term><var>Y</var></term> </term> </atom> 5.7.3 事実 (fact) • 原子論理式を<fact>で囲む <fact> <atom> pa <predicate>p</predicate> <term><const>a</const></term> </atom> </fact> 5.7.4 ルール (rule) • <rule>, <head>, <body>を追加 p X , a, qY , b r X , Y <rule> <predicate>p</predicate> <head> <term><var>X</var></term> <atom> <term><const>a</const></term> <predicate>r</predicate> </atom> <term><var>X</var></term> <atom> <term><var>Y</var></term> <predicate>q</predicate> </atom> <term><var>Y</var></term> </head> <body> <atom> <term><const>b</const></term> </atom> </body> </rule> 5.7.5 クエリ (query) • ruleのbody(atomのリスト)で表現され、 <query>で囲む <query> <atom> p X , a , qY , b <predicate>p</predicate> <term><var>X</var></term> <term><const>a</const></term> </atom> <atom> <predicate>q</predicate> <term><var>Y</var></term> <term><const>b</const></term> </atom> </query> 5.7.6 DTD <!ELEMENT program ((rule | fact)*)> <!ELEMENT fact (atom)> <!ELEMENT rule (head, body)> <!ELEMENT head (atom)> <!ELEMENT body (atom*)> <!ELEMENT atom (predicate, term*)> <!ELEMENT term (const | var | (function, term*))> <!ELEMENT predicate (#PCDATA)> <!ELEMENT function (#PCDATA)> <!ELEMENT var (#PCDATA)> <!ELEMENT const (#PCDATA)> <!ELEMENT query (atom*)> 5.7.7 RuleML • 標準化中のルール記述手法 • 順番は関係ない この本のDTD RuleML program rulebase fact fact rule imp head _head body _body atom atom atom* and predicate rel const ind var var この本のRuleMLは Version 0.8くらい? 現在は改定が重ね られ、0.89になって、 だいぶ変わっている 5.8 Rule Markup in XML 非単調ルール 単調ルールとの構文比較 • • • • 関数記号はない 否定の原子式がルールのheadやbodyに現れる ルールはラベルを持つ プログラムには、ルールと事実のほかに、優先 順位を含む • 使用構文 – ラベル:ruleのid属性 – 優先順位:<stronger> – 否定:<neg> 5.8.2 DTD <!ELEMENT program ((rule | fact | stronger)*)> <!ELEMENT fact (atom | neg)> <!ELEMENT neg (atom)> <!ELEMENT rule (head, body)> <!ATTLIST rule id ID #IMPLIED> <!ELEMENT head (atom | neg)> <!ELEMENT body ((atom | neg)*)> <!ELEMENT atom (predicate, (var | const)*)> <!ELEMENT stronger EMPTY> <!ATTLIST stronger superior IDREF #REQUIRED> inferior IDREF #REQUIRED> <!ELEMENT predicate (#PCDATA)> <!ELEMENT var (#PCDATA)> <!ELEMENT const (#PCDATA)> <!ELEMENT query (atom*)> 5.9 Summary まとめ • ホーン論理は述語論理のサブセットであり、効率 的な推論が可能。ホーン論理は記述論理(DL) に対して直行的なサブセットを形成。 • ホーン論理は単調ルールの基礎。 • 非単調論理ルールは、利用可能な情報が完全 でない状況で便利。矛盾する証拠によって上書 きされることがあるルール。 • 優先順位は非単調論理の競合を解消する。 • XMLに似た記述言語によるルール表現はわか りやすい。 和訳部分はジャストシステム知識活用研究グループ Gnosis翻訳の『CD-ROMで始めるセマンティックWeb』 (2005年6月)から一部引用した。
© Copyright 2025 ExpyDoc