Knowledge Representation 知識表現 Propositional …...3 knowledge 知識 logic 論理学...

22
Knowledge Representation (知識表現) Propositional Logic (命題論理) Vumpus World (鬼の世界) 論理的に推論 参考: 「エージェントアプローチ」 III 知識と推論 6 2011.12.1

Transcript of Knowledge Representation 知識表現 Propositional …...3 knowledge 知識 logic 論理学...

1

• Knowledge Representation

(知識表現)

• Propositional Logic

(命題論理)

• Vumpus World

(鬼の世界)

論理的に推論

参考: 「エージェントアプローチ」 III 知識と推論 6

2011.12.1

2

knowledge logic propositional logic mean representation infer inference syntax semantics assuming

entail breeze pit smelly wumpus adjacent cave enumeration fact imply equivalent

Please look at the following words:

3

knowledge 知識

logic 論理学

propositional logic 命題論理

mean 手段

representation 表現

infer 推論する

inference 推論, 推理

syntax 文法

semantics 語義論

assuming 仮定して

entail 〈…を〉必然的に伴う

breeze 微風

pit 落とし穴

smelly 強い[いやな]においのする

Wumpus 鬼

adjacent 隣接した

cave 洞穴

enumeration 一覧表

fact 事実

imply 〈…を〉(必然的に)含む, 伴う,

equivalent 同等の

Please memorize them:

4

Logic (論理) (1)

論理とは何か?

簡単に言えば,正しい推論を行うための推理の議論の有効性に基づいたルールと定義される–

e.g.

5

Logic (論理) (2)

論理において

以下の2つの要素が必要である

“知識”を表現できる形式言語

上の言語で推論を導ける“手段”

例えば 自然言語による論理

もし 赤信号 ならば 停車する.

数学による論理

もし >0, ならば >0 かつ >0

命題による論理

A1,1 EastA W2,1 Forward

6

Logic (論理) (3)

命題: 個々を表現したもの

例: 赤信号である >0 A1,1

知識表現言語: 命題を表現するために用いられる

例: もし赤信号なら停車する

A1,1 EastA W2,1 Forward

知識ベース: その世界についての事実を表す集合

例: S1,1 S2,1 S1,2

[1,1] には臭いがない S1,1

[2,1] には臭いがない S2,1

[1,2] には臭いがある S1,2

例:鬼の世界

鬼の世界は、壁に囲まれた正方形のマスからなり、各マスにはエージェントやオブジェクトが存在する。エージェントは毎回左下隅のマス[1,1]からスタートする。エージェントのタスクは金を見つけ出し[1,1]に戻ることである

1 2 3 4

4

3

2

1

s p

START

g w b

A p

p

b

b

b

b

b

s

s

A

b

g

p

s

w

Agent エージェント

Breeze 微風

Gold 金

Pit 穴

Smelly 臭い

Wumpus 鬼

8

9

エージェントはどのように推論し行動するか

マス[1,1]に臭いも微風も検出されないという事実から、[1,2]と[2,1]には危険がないことを推論でき、各マスに”安全”とマークを付ける。 エージェントは安全だとわかっているマスに移動するので、この場合前進して[2,1]に進むか、向きを変えて[1,2]に進む

エージェントが先に[2,1]に進んだと仮定すると、[2,1]で微風を検出したという事実から、隣接している[2,2]・[3,1]のどちらかに穴があると推論し[2,2]と[3,1]に”P”とマークを付け、エージェントは180°向きを変えて[1,1]に戻る。

[1,1]に戻ったエージェントは[1,2]に進み、[1,2]で臭いを検出したという事実から、隣接しているマスに鬼がいると推論できる。ただし[2,1]で微風を検出したため、

それは[2,2]でないと推論でき、よって、エージェントは[1,3]に鬼がいると推論し、Wと印をつける。また[2,2]に穴がないことも推論し”穴は[3,1]にある”と推論できる。 一連の推論の結果[2,2]がまだ訪れていない安全なマスだとわかり、 [2,2]に移動する。

さて、次は [2, 3] と [3,2]のどちらに移動するか?

エージェントが[2,3]に移動すると仮定すると、そこで輝きを検出したという事実から、[2,3]に金があると推論できる。そしてエージェントは金を取得し”安全”とみなしたマスを通ってスタートに戻る

10

Keywords:

(1) Fact – 知覚情報、臭い, 微風, 輝き などの知識・事実

(2) Infer – 論理、命題論理、知識などを用いて推理する

(3) Know – 安全かどうか,穴があるか,鬼がいるか などの

推論の結果を知る

(4) Action – 向きを変える,前に進む などの行動

11

考え・知識を表現するには 知識表現

とはコンピューター上でエージェントが適切に実行するため扱いやすい形で使用できるように知識を表現することである

知識表現言語 (論理) は以下の2つの面で定義される

• 構文論 –命題が成り立つような構成を表現する。

命題を”言語”で定義する。

意味論 – ある世界において命題を参照し事実を決定する。

命題の”意味”を定義する。

例えば: x = y*z + 10; はJavaの正しい構文であるが x =yz10 は正しくない.

x+2y は数学の正しい式であるが x2+y > は正しくない

“I am a student.” は正しい英文であるが “I a student am.” は正しくない

12

Logic and inference(論理と推論)

Logic: A language is called a logic provided the syntax and semantics of the language are

defined precisely.

言語は、言語の構文論と意味論がはっきりと定義されている論理学と呼ばれている。

Inference: From the syntax and semantics, an inference mechanism for an agent that uses

the language can be derived.

構文論と意味論から、言語を使用するエージェントのための推論メカニズムは引き出すこ

とができる

• 事実はその世界から得る

• 事実は何らかの方法でエンコード(書き直)される

•すべての推論は事実に基づいて実行される

•構文は命題をつなぐための文法である

13

Entailment(含意) |-

生成された新しい命題は、古い命題が真であることを考えると、必ずしも真である。命題間のこの関係を含意という。

KB |-

知識ベース(Knowledge Base: KB)は命題 を伴い、KBがtrueなら常に がtrueになるのが必要十分条件である。

ここで KB は形式言語の命題の集合である。

例えば, x > 0 and y > 0 |- x+y > 0

1つの文の属性が、いくつかの他の命題に伴う。

e.g. >0 |- >0 and >0

論理的推論は、既存の命題の集合から伴意される新たな命題を生成する。

|- は論理的帰結関係を表す

14

Propositional logic: Syntax 構文論

•命題論理の記号は全体の命題(事実)を表し、論理定数trueかfalseの値を取る

• 論理結合子:

(否定), (論理積), (論理和), (含意), (等値文)

S が命題なら S も命題

S1 と S2 が命題なら, S1 S2 も命題

S1 と S2 が命題なら, S1 S2 も命題

S1 と S2 が命題なら, S1 S2 も命題

S1 と S2 が命題なら, S1 S2も命題

• 命題論理の優先順位は以下のようになる

, , , , (高→低)

15

Propositional logic: Semantics 意味論

否定: S is true S is false

連言: S1 S2 is true S1 is true and S2 is true

選言: S1 S2 is true S1 is true or S2 is true

含意: S1 S2 is true S1 is false or S2 is true

i.e., is false S1 is true and S2 is false

等値文: S1 S2 is true S1 S2 is true and S2 S1 is true

S1 S2 S1 S2 S1 S2 S1 S2

S1 S2 S1 S2 S1 S2 S1 S2

S1 is true,

then S2 is true.

S1 is false,

then S2 is either true or false

上の図で:灰色部分はtrue,白の部分はfalseを意味する

16

妥当性と推論

A B C A C B C KB

False

False

False

False

True

True

True

True

False

False

True

True

False

False

True

True

False

True

False

True

False

True

False

True

False

True

False

True

True

True

True

True

True

False

True

True

True

False

True

True

False

False

False

True

True

False

True

True

False

False

True

True

True

True

True

True

= A B , KB =(A C) (B C) とすると

Is it the case that KB |- ? はKBの論理的帰結

全ての取りうる状態を調べるとKBがtrueなら は必ずtrue

二重否定 ¬(¬P) = P

交換則 P∧Q = Q∧P

P∨Q = Q∨P

結合則 (P∧Q)∧R = P∧(Q∧R)

(P∨Q)∨R = P∨(Q∨R)

分配則 P∧(Q∨R) = (P∧Q)∨(P∧R)

P∨(Q∧R) = (P∨Q)∧(P∨R)

ド・モルガンの法則 ¬ (P∧Q) = (¬P) ∨ (¬Q)

¬ (P∨Q) = (¬P) ∧ (¬Q)

命題論理の性質:

例:真偽値の計算

, ,p qT F Tr

のとき

(

)

)

( p q r

T F T

F T

T

, ,p qT T Fr

のとき

(

)

)

( p q r

T T F

T F

F

P P

( ( ))P P Q Q

,P T FQ のとき

(

(

( )

))

( )

)

(T T F F

T

P P

T

Q

F F

F F

Q

例:恒真

20

宿題: 命令構文に従って以下の真理値表を埋めましょう

S1 S2 S1 S2 S1 S2 S1 S2 (S1 S2) S1S2

False

False

True

True

False

True

False

True

21

Wumpus World – 知識ベース

エージェントの知覚情報

知覚情報:

[1,1] に臭いがない S1,1

[1,1] に微風がない B1,1

[2,1] に臭いがない S2,1

[2,1] に微風がある B2,1

[1,2] に臭いがある S1,2

[1,2] に微風がない B1,2

22

知識命題:

もしマスに臭いがなければ、隣接しているどのするマスにも鬼はいない

R1: S1,1 W1,1 W1,2 W2,1

R2: S2,1 W1,1 W2,1 W2,2 W3,1

もし[1,2]に臭いがある場合、[1,2]に隣接している1つ又は複数のマスに鬼が存在する。

R3: S1,2 W1,3 W1,2 W2,2 W1,1

Wumpus World – 知識ベース

知覚情報から知っていること

もしマスに微風がなければ、隣接しているどのするマスにも穴はない

R4: B1,1 P1,1 P1,2 P2,1

R5: B1,2 P1,1 P1,2 P2,2 P1,3

もし[2,1]に微風がある場合、[2,1]に隣接している1つ又は複数のマスに穴が存在する。

R6: B2,1 P3,1 P2,1 P2,2 P1,1