評価関数を用いた エージェント間の交渉

60
評評評評評評評評 評評評評評評評評 評評評評評評評評評評 評評評評評評評評評評 5 5 28 28 評評 評 評評 評 Artifical Intelligence 84(1996) 151-176 Artifical Intelligence 84(1996) 151-176 Compromise in negotiation : exploing w Compromise in negotiation : exploing w orth functions over states orth functions over states Gilad Zlotkin , Jeffrey S. Rosenschein Gilad Zlotkin , Jeffrey S. Rosenschein

Upload: maxwell-jordan

Post on 31-Dec-2015

18 views

Category:

Documents


0 download

DESCRIPTION

評価関数を用いた エージェント間の交渉. 5 月28日 河目 瞬. Artifical Intelligence 84(1996) 151-176. 『Compromise in negotiation : exploing worth functions over states』 Gilad Zlotkin , Jeffrey S. Rosenschein. 2人で野球観戦に行きたい. 2人で映画を見に行きたい. 話し合い. エージェント1. エージェント2. どうする?. 例:ミーティングの設定. ・時間帯が遅くなってから行いたい。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 評価関数を用いた エージェント間の交渉

評価関数を用いた評価関数を用いたエージェント間の交渉エージェント間の交渉

評価関数を用いた評価関数を用いたエージェント間の交渉エージェント間の交渉

55 月28日月28日河目 瞬河目 瞬

Artifical Intelligence 84(1996) 151-176Artifical Intelligence 84(1996) 151-176『『 Compromise in negotiation : exploing worth functionCompromise in negotiation : exploing worth function

s over statess over states 』』Gilad Zlotkin , Jeffrey S. RosenscheinGilad Zlotkin , Jeffrey S. Rosenschein

Page 2: 評価関数を用いた エージェント間の交渉

2人で野球観2人で野球観戦に行きたい戦に行きたい2人で野球観2人で野球観戦に行きたい戦に行きたい

2人で映画を2人で映画を見に行きたい見に行きたい2人で映画を2人で映画を見に行きたい見に行きたい

話し合い  

どうする?  

エージェント1 エージェント2

Page 3: 評価関数を用いた エージェント間の交渉

例:ミーティングの設定

Page 4: 評価関数を用いた エージェント間の交渉

二人はミーティングを行いたい

・時間帯が遅くなってから行いたい。・自分のオフィスで行いたい。

・時間帯が早いうちに行いたい。・自分のオフィスで行いたい。

エージェント A1

エージェント A2

Page 5: 評価関数を用いた エージェント間の交渉

価値の概念の導入

エージェントにとって、どれだけ好ま

しい状態なのかを表す指標

状態に価値を与える

Page 6: 評価関数を用いた エージェント間の交渉

0

20

40

60

80

100

120

140

160

180

200

9am 10am 11am noon 1pm 2pm 3pm 4pm

エージェント A1 の評価関数

ミーティングの時刻

価値

A 1にとって、午後4時のミーティングが最も高い価値

エージェント A1 の最も好ましい時間帯が、午後4時であるとする

Page 7: 評価関数を用いた エージェント間の交渉

0

20

40

60

80

100

120

140

160

180

200

9am 10am 11am noon 1pm 2pm 3pm 4pm

エージェント A2 の最も好ましい時間帯が、午前9時であるとする

エージェント A2 の評価関数

A2 にとって、午前9時のミーティングが最も高い価値

ミーティングの時刻

価値

Page 8: 評価関数を用いた エージェント間の交渉

0

10

20

30

40

50

60

70

80

90

100

エージェント A1 のコスト関数

コスト

ミーティングの場所A2 オフィスA1 オフィス

エージェント A1 にとって、自分のオフィスに近いほど、移動コストがかからない

A1 にとって、 A1 オフィスでのミーティングが最も低いコスト

Page 9: 評価関数を用いた エージェント間の交渉

0

10

20

30

40

50

60

70

80

90

100

エージェント A2 のコスト関数

コスト

ミーティングの場所A1 オフィス A2 オフィス

エージェント A2 にとって、自分のオフィスに近いほど、移動コストがかからない

A2 にとって、 A 2オフィスでのミーティングが最も低いコスト

Page 10: 評価関数を用いた エージェント間の交渉

双方のエージェントにとって、ユーティリティとは、  

ユーティリティ=価値ーコスト

エージェントは、これを最大にエージェントは、これを最大にしたいしたい

エージェントは、これを最大にエージェントは、これを最大にしたいしたい

ユーティリティの定義  

Page 11: 評価関数を用いた エージェント間の交渉

エージェント A1 のユーティリティ関数

A1 オフィス

A2 オフィス4pm

3pm

2pm

10m

noon

11am

10am

9am

020406080

100120140160180200

ユーティリティ

エージェント A1 にとって午後4時に、A1 オフィスで開かれることが最も好ましい

4pm、 A1 オフィスでのユーティリティが最大

Page 12: 評価関数を用いた エージェント間の交渉

4pm

3pm

2pm

10m

noon

11am

10am

9am

0

50

100

150

200

エージェント A2 のユーティリティ関数

ユーティリティ

A2 オフィス

A1 オフィス

エージェント A2 にとって午前9時に、A2 オフィスで開かれることが最も好ましい

9 am 、 A2 オフィスでのユーティリティが最大

Page 13: 評価関数を用いた エージェント間の交渉

2人のユーティリティの和を最大にする

2人のユーティリティの積を最大にする

2人のエージェントの話し合いの結果として・・・

2人のユーティリティの兼ね合いが、最大になる点を結論として考える

2つのアプローチの仕方がある

Page 14: 評価関数を用いた エージェント間の交渉

2人のユーティリティの和を最大にする9a

m

10am

11am

noon

1pm

2pm

3pm

4pm

0

50

100

150

200

250ユーティリティの和

A1 オフィス

A2 オフィス

2人のユーティリティの和

が最大となる点を、話し合いの解決とする

上の4つの状態が、ミーティングの行われる状態となる

Page 15: 評価関数を用いた エージェント間の交渉

2人のユーティリティの積を最大にする9a

m

10am

11am

noon

1pm

2pm

3pm

4pm

0

2000

4000

6000

8000

10000

12000ユーティリティの積

A1 オフィス

A2 オフィス

2人のユーティリティの積

が最大となる点を、話し合いの解決とする

上の2つの状態が、ミーティングの行われる状態となる

Page 16: 評価関数を用いた エージェント間の交渉

2人のユーティリティの積を最大にする

ゲーム理論の「ナッシュの定理」に基づくもの。

「ナッシュの定理」とは?

2人交渉問題のナッシュ解は、5つの公準を満たし、かつ、この5つの公準を満たす解は、ナッシュ解に限る。

ナッシュ解:2人のユーティリティの積を        最大にする解

Page 17: 評価関数を用いた エージェント間の交渉

5つの公準

(1)個人合理性

(2)共同合理性

(3)利得の一次変換での不変性(4)対称性(5)無関連な代替案からの独立性

Page 18: 評価関数を用いた エージェント間の交渉

2人のユーティリティの積を最大にする解

5つの公準を満たす唯一解である

5つの公準とは、交渉の特性を述べている

交渉問題において、適切と思われるのは、ユーティリティの積を最大にする解である

つまり

Page 19: 評価関数を用いた エージェント間の交渉

( Worth Oriented Domains :価値指向領域)WOD の定義

Page 20: 評価関数を用いた エージェント間の交渉

WOD では、各エージェントが評価関数を用いて、全ての状態に価値を割り当てている。

WOD ( Worth Oriented Domains )

< S , A , J , c > S: 領域の状態A : エージェントJ : 共同プランc : コスト関数

Page 21: 評価関数を用いた エージェント間の交渉

S: 全ての取り得る、領域の状態の集合

< S , A , J , c >

A ={ A1,A2, ・・・ ,An }:エージェントリスト

J : 全ての取り得る、共同プランの集合j: S→S     j∈J

c: コスト関数

c(j) i : プラン j におけるエージェント i の 活動のコスト

c: J→ ( R +)n

Page 22: 評価関数を用いた エージェント間の交渉

WOD 内で問題を解くために、まずあるものとして、

<s , ( W1,W2, ・・・ Wn)>

さらに

s : 領域の初期状態Wk : エージェント k の評価関数

Page 23: 評価関数を用いた エージェント間の交渉

交渉のエージェントに関する5つの仮定

(1) Utility maximizer

各々のエージェントは、彼の期待したユーティリティを最大にすることを望む

(2) Complete knowledge

各々のエージェントは、全ての関連情報を知っている

Page 24: 評価関数を用いた エージェント間の交渉

(3) Isolated negotiation

各々のエージェントは、現在の振る舞いが将来の交渉においてどんな影響を及ぼすか予期することができない。

(4) Bilateral negotiation

交渉は一度に、エージェントのペア一組の間で行われる。

Page 25: 評価関数を用いた エージェント間の交渉

(5) Symmetric abilities

全てのエージェントは、同じ活動が実行できる。そして、活動のコストは、各エージェントにとって同じである。

Page 26: 評価関数を用いた エージェント間の交渉

例:ブロック移動問題 (1人のエージェントの

み)

Page 27: 評価関数を用いた エージェント間の交渉

1 2 3 4

エージェント A1

①黒い箱をテーブル2に置きたい。ただし、 直接テーブルの上には置かない。②白い箱をテーブル3にひとつだけで置 きたい。

①のサブゴールの評価:4②のサブゴールの評価:6

箱を持ち上げるコスト:1箱を下ろすコスト:1

Page 28: 評価関数を用いた エージェント間の交渉

321 4

f1

f2

f3

サブゴール①を満たしている

サブゴール②を満たしている

両方のサブゴールを満たしている

コスト2

コスト4

コスト8

Page 29: 評価関数を用いた エージェント間の交渉

•f1の状態  W 4-C 2= U 2

•f2の状態  W6- C 4=

U 2•f3の状態 W (4+6)- C 8= U 2

3つの状態が皆同じユーティリティ。

W :評価(価値)C :コストU :ユーティリティ

Page 30: 評価関数を用いた エージェント間の交渉

ペナルティを導入

•f1の状態  W 4- C 2ーペナルティ6= U-4•f2の状態  W6- C 4ーペナルティ4= U-2•f3の状態  W (4+6)- C 8ーペナルティ0= U 2

f3の状態が、最良の状態。

サブゴールの不達成に対し、負の評価を与え

Page 31: 評価関数を用いた エージェント間の交渉

例:ブロック移動問題 (2人のエージェントによ

る)

Page 32: 評価関数を用いた エージェント間の交渉

混合共同プランの導入

・混合共同プランとは?

エージェントが、確率 p で共同プラン j =( j1 、 j2 )を実行し、また確率1ー p で対称的な共同プラン( j2 、 j1 )を実行するようなプランのこと

Page 33: 評価関数を用いた エージェント間の交渉

1 2 3 4

エージェント A1 エージェント A2

①黒い箱はテーブル1に置くが、その際、白い箱の上に置く。②灰色の箱はテーブル3に置く

①黒い箱はテーブル1に置くが、その際、白い箱の上に置く。②灰色の箱はテーブル4に置く

①の評価:10②の評価:4サブゴールの不達成によるペナルティ:①②ともにー2

Page 34: 評価関数を用いた エージェント間の交渉

両者が、サブゴール①を満たすには・・・

各々コスト2

1 432

灰色の箱を置く場所によって2つの最終状態がある

Page 35: 評価関数を用いた エージェント間の交渉

エージェント A1 が望む状態

エージェント A2 が望む状態

この状態にするプラン δ 1

この状態にするプラン δ 2

Page 36: 評価関数を用いた エージェント間の交渉

UA1(δ1) = W (10+4)- C (2+2)=10

UA1(δ2) = W 10ーペナルティ2ー C 2=6

UA2(δ1) = UA1(δ2) =6

UA2(δ2) = UA1(δ1) =10

ユーティリティを計算すると・・・

コスト10

  U = W (10+4)-C 10=4

1人で完全なゴールを達成するよりも U がいい。

Page 37: 評価関数を用いた エージェント間の交渉

マルチプラン deal の導入

エージェントが、確率qで混合共同プラン δ 1を

実行し、また確率1ーqで対称的な混合共同プラン δ 2を実行する。

・マルチプラン deal とは?

Page 38: 評価関数を用いた エージェント間の交渉

エージェント A1 が望む状態

エージェント A2 が望む状態

この状態にするプラン δ 1

この状態にするプラン δ 2

確率q

確率1-q

Page 39: 評価関数を用いた エージェント間の交渉

マルチプラン deal におけるユーティリティの定義

エージェントのユーティリティ   =q× ( δ 1でのユーティリティ)     +(1-q) × ( δ 2でのユーティリテ

ィ)

Page 40: 評価関数を用いた エージェント間の交渉

エージェント A1 が望む状態

エージェント A2 が望む状態

この状態にするプラン δ 1

この状態にするプラン δ 2

確率0.5

確率0.5

A1 ユーティリティ10A2 ユーティリティ6

A1 ユーティリティ6A2 ユーティリティ10

Page 41: 評価関数を用いた エージェント間の交渉

ユーティリティを計算すると・・・

UA1 =0.5 × 10+0.5 ×6=8UA2 =0.5 ×6+0.5 × 10=8

UA1 × UA2 = 8 × 8=64

Page 42: 評価関数を用いた エージェント間の交渉

エージェント A1 が望む状態

エージェント A2 が望む状態

この状態にするプラン δ 1

この状態にするプラン δ 2

A1 ユーティリティ10A2 ユーティリティ6

A1 ユーティリティ6A2 ユーティリティ10

Page 43: 評価関数を用いた エージェント間の交渉

例:タイルワールド

Page 44: 評価関数を用いた エージェント間の交渉

2 22

55

34

A 1

A 2穴(数字は、埋めた時の価

値)

タイル(これで穴を埋める)

障害物エージェント

エージェントによって違う価値

を当てられている穴

Page 45: 評価関数を用いた エージェント間の交渉

A

A

A

A 2A A

1マス移動でコスト1

Page 46: 評価関数を用いた エージェント間の交渉

159

A1

A2

11

5

10

5 10

世界の初期状態

Page 47: 評価関数を用いた エージェント間の交渉

15

A1

11

5

10

5 10

9

0A1

A1A1A1

A1A1

A1A1

A1 A1

エージェント A1 が1人で15の穴を塞ごうとすると・・・

コスト10

ユーティリティ5

Page 48: 評価関数を用いた エージェント間の交渉

15

11

5

10

5 10

A1

9

0A1

A1

A1

A1A1A1

A1

A1 A1 A1 A1

エージェント A1 が1人で9の穴を塞ごうとすると・・・

コスト12

ユーティリティ -3

Page 49: 評価関数を用いた エージェント間の交渉

15

11

5

10

5 10

A1

9

0A1

A1

A1

A1A1

A1A1

A1A1

A1 A1

A1 A1 A1 A1

エージェント A1 が1人で両方の穴を塞ごうとすると・・・

コスト16

ユーティリティ8

Page 50: 評価関数を用いた エージェント間の交渉

エージェント A1

15の穴のみを塞ぐ:ユーティリティ5

9の穴のみを塞ぐ:ユーティリティ-3

両方の穴を塞ぐ:ユーティリティ8

A1 は両方の穴を塞いで、最大ユーティリティ8を得る。

Page 51: 評価関数を用いた エージェント間の交渉

15

A2

11

5

10

5 10

9

0

A2

A2A2A2

A2A2

A2A2

A2 A2

エージェント A2 が1人で15の穴を塞ごうとすると・・・

コスト10

ユーティリティ5

Page 52: 評価関数を用いた エージェント間の交渉

15

11

5

10

5 10

9

0

A2

A2

A2 A2

A2 A2 A2

エージェント A2 が1人で9の穴を塞ごうとすると・・・

コスト6

ユーティリティ3

Page 53: 評価関数を用いた エージェント間の交渉

15

11

5

10

5 10

9

0

A2

A2

A2

A2A2

A2 A2

A2A2

A2 A2 A2

A2 A2 A2

A2

エージェント A2 が1人で両方の穴を塞ごうとすると・・・

コスト22

ユーティリティ2

Page 54: 評価関数を用いた エージェント間の交渉

エージェント A2

15の穴のみを塞ぐ:ユーティリティ5

9の穴のみを塞ぐ:ユーティリティ3両方の穴を塞ぐ:ユーティリティ2

A2 は15の穴のみを塞いで、最大ユーティリティ5を得る。

Page 55: 評価関数を用いた エージェント間の交渉

159

A1

A2

11

5

10

5 10

A2

A2

A1A1

A2

A1

A1

A1

A2

A1 A1 A1

2人のエージェントがA1 の両方の穴を塞ごうとすると・・・

A1コスト8

A2 コスト5

A1 ユーティリティ16 A2 ユーティリティ10

Page 56: 評価関数を用いた エージェント間の交渉

159

A1

A2

11

5

10

5 10

A1

A1

A2A2

A2

A1

A2

A2

A2 A2 A2

A2

2人のエージェントがA2 の両方の穴を塞ごうとすると・・・

A1コスト4

A2 コスト9

A1 ユーティリティ11 A2 ユーティリティ15

Page 57: 評価関数を用いた エージェント間の交渉

2人のエージェントA1 の穴を両方を塞ぐ:       A1 ユーティリティ16

       A2 ユーティリティ10A2 の穴を両方を塞ぐ:

       A1 ユーティリティ11

       A2 ユーティリティ15

160

165

2人は、 A2 の穴を両方塞ぐ

Page 58: 評価関数を用いた エージェント間の交渉

マルチプラン deal を適用させる

A1 の穴を両方を塞ぐ:     A1 ユーティリティ16     A2 ユーティリティ10

A2 の穴を両方を塞ぐ:     A1 ユーティリティ11     A2 ユーティリティ15

確率0.6

確率0.4

Page 59: 評価関数を用いた エージェント間の交渉

ユーティリティを計算すると・・・

UA1 =0.6× 16+0.4 × 11=13UA2 =0.4 × 10+0.6× 15=13

UA1 × UA2 = 13 × 13=169

Page 60: 評価関数を用いた エージェント間の交渉

まとめ

・交渉問題を考える手法のひとつとして、 WOD を紹介した。

・ WOD を使った例をいくつか紹介した。

参考文献

・『意思決定支援のためのマルチエージェントの協調機構と、  その応用に関する研究』             伊藤孝行

・『分散人工知能:交渉と均衡化』  桑原 和宏、石田 亨             

・『新ゲーム理論』                  鈴木 光男