Prologでナッシュ遂行理論を学ぶ

1
Prologでナッシュ遂行理論を学ぶ
(Learning Nash implementation theory by Prolog)
平成14年11月17日
報告者:犬童健良
所属: 関東学園大学経済学部経営学科
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
1.はじめに
 遂行理論(あるいはメカニズムデザイン理論)は、合理的エージェ
ントたちの分権的メカニズムを論じるゲーム理論の一分野である[3]。
入札制度、排出権取引、電子商取引、エージェントシステムといっ
た応用が研究されている。
 しかし解概念にナッシュ均衡を用いる、抽象的な社会選択環境で
のナッシュ遂行の必要十分条件は1990年代初めまでに解明され、
その条件を満たすSCCを遂行できるメカニズムが提案された
[1,2,4]。
 しかしその集合論的条件やメカニズムを理解することは、学習者に
とって必ずしも容易ではないと思われる。本論文では、 Prologによ
る論理プログラミングを用い、合理的選好や社会選択の領域をモ
デリングする。ごく小さな選好領域におけるSCCに焦点を絞り、シ
ミュレーションを通じて操作的に理解することを試みる。
 以降の部分では、第2節でPrologによる論理プログラミングについ
て簡単に述べる。第3節はSCCと合理的選好領域、第4節は単調
性やNVPなどSCCの重要な性質、第5節はナッシュ遂行シミュレー
ションの順に論じる。
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
2
実験システムの概要
今回作成した実験システムは、 SWI-Prolog 1.9.0を用いて開発・テストを
行った。その主な機能は以下のようである。ただし本発表では簡略版を示
す。
 モデリング機能: 対象は、A)選好領域、B)社会選択対応、およびC)
社会選択対応の諸性質、D)ゲーム理論的メカニズムおよび、E)これらの
下でのナッシュ均衡である。
 シミュレーション機能: 上記のモデルは、それぞれ対応する述語を用い
て、条件成立のチェックまたは可能解生成によるシミュレーションを行える。
なお部分集合の枚挙( subset_of /3 )は可能解・事例の自動生成の基礎に
なる。
 ユーザインタフェース: 計算の効率化や作業の系統化を計るため、選
好領域のモデル設定(setup_domain /1)や可能なSCCの枚挙
(gen_test_sccs /3)、遂行シミュレーション(test_impl /0, /5)と共に、若干の
対話的CUIを追加した。
 実験結果の再利用: 自動生成したメカニズム出力、SCC、最適反応な
どについてはファイルに保存し、Prologシステムに読み込んで再利用できる。
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
3
ナッシュ遂行理論の基本的仮定
 遂行理論(インプリメンテーションセオリ)では、まず計画者(プラン
ナー)が望ましいと考える目標を、社会選択対応(SCC)として定義する。
SCCはエージェントたちの真の選好状態によって変化する。計画者は、
ゲームのルール(=メカニズム)を設計し、その下でプレイされる非協力
ゲームの解の集合と所望のSCCとを一致させようとする。とくにナッシュ
遂行では ナッシュ均衡を解概念として用いる。
 仮定1: 各エージェントは可能な社会選択の結果に対する選好順序
をもつ。その選好順序は、エージェント同士はお互いに既知だが、プラン
ナーからは直接観察できない。
 仮定2: プランナーはSCCとゲームの結果を一致させるため、ゲーム
のルール(メカニズム)を設計する。
 仮定3: メカニズムと、実際のエージェントの選好組のペアは一つの
非協力ゲームを定義する。
 仮定4: (ナッシュ遂行の場合、標準形ゲームにおいて)各エージェ
ントはナッシュ戦略、つまり最適反応を用いると仮定する。
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
4
ナッシュ遂行理論の基本要素
 ナッシュ遂行可能性: もし、真の選好状態の組(プロフィール)がどうで
あっても、つねにナッシュ均衡の集合とSCCが一致するようなメカニズム
を提案することができれば、そのSCCはナッシュ遂行可能である。(ナッ
シュ遂行された、遂行に成功した、ともといわれる。)
ナッシュ遂行理論の基本要素:
 選択対象
 社会のメンバー(=エージェント)
 各エージェントの選好順序
以上をまとめて選好領域あるいは単に「領域」モデルと呼ぶことにする。
 社会選択対応(SCC) (社会選択規則(SCR)ともいう)
 メカニズム(非協力ゲームのルールの部分)
 メカニズムの結果を予測する解概念(ナッシュ均衡)
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
5
6
ナッシュ遂行の図的説明
【選好順序】
preference(1,s2,[x,z,y,w]).
preference(2,s2,[y,z,x,w]).
preference(3,s2,[z,x,y,w]).
メ
ッ
セ
ー
ジ
表
明
ルール1~3
ゲーム結果の計算
【社会選択対応】
(s2)
scc(g,s2,[x]).
状態
【社会選択対応】
(s1)
【選好順序】
preference(1,s1,[x,z,y,w]).
preference(2,s1,[y,z,x,w]).
preference(3,s1,[z,x,w,y]).
2015/9/30
scc(g,s1,[x,w]).
メ
ッ
セ
ー
ジ
表
明
ルール1~3
ゲーム結果の計算
経営情報学会2002秋季研究発表大会(金沢)
2.Prologによる論理プログラミング
7
• 論理プログラミング言語Prologの特色を以下にまとめる。
 述語論理学におけるホーン節をプログラムの単位とする。
 その動作は導出原理と単一化アルゴリズム(Robinson,1965)に基づく自
動定理証明。
 論理的知識表現と、AIで普及したリスト処理(2進木操作)を融合 。
 バックトラッキング(後戻り処理)で可能解を探索・枚挙 。
 こうして、宣言的意味と手続き的意味の両面性を獲得。
• Prologは1990年代前半までに入門書が数多く出版された [8,10] 。国際規格
(ISO IEC13211-1)や制約処理への拡張版もある。
• 以下に述語 member /2 と実行例を示す。なお /2 は引数の数(アリ
ティ)を表す。
member(A, [A|B]).
?-member(X,[‘ 経 営 ’ , ‘ 情
報’]).
member(A, [B|C]) :-
X = ‘経営’;
member(A, C).
2015/9/30
X = ‘情報’ ;
No
経営情報学会2002秋季研究発表大会(金沢)
8
Prologの例1(知識ベース)

まず事実として、「スズメはトリである」、「ペンギンはトリである」、「ペンギ
ンはトリの例外である」に対応する節を登録する。
トリ(スズメ).
トリ(ペンギン).
トリの例外(ペンギン).

「トリは飛べる」という知識を以下のようなPrologのルール節として表す。
ただし例外的条件に該当しない限りという制限をつける。ただし記号\+は
「否定」を表す。
飛ぶ(X) :- トリ (X), \+トリの例外(X).

スズメは飛べるかどうかをゴール節として問い合わせると、 Prologシステ
ムはYesと答える。
?- 飛ぶ(スズメ). [enterキー ]
Yes

ペンギンはトリの例外として登録されており、以下の問合せに対し、
PrologシステムはNoと答える。
?- 飛ぶ(ペンギン). [enterキー ]
No
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
Prologの例2(問題解決システム)

Prologを使って人工的な知的エージェントの問題解決の機構(プランニン
グ・システム)を次のように作ることができる。
移動(状態(s1),手段(a),状態(s2),コスト(2)).
移動(状態(s1),手段(b),状態(s2),コスト(5)).
移動(状態(s2),手段(c),状態(s3),コスト(1)).
現在(状態(s1)).

再帰によるゴール追求
目標 (状態(G)) :-現在(状態(G)).
目標 (状態(G)) :目標 (状態(S)), 移動 (状態(S), _A,状態(G),_C).
?-目標 (状態(s3)). [enterキー ]
Yes

また手段系列(パス)を明示したり、到達コストを最小化するなども容易。
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
9
Prologの例3(集合論的操作)

知識ベースの例:
エージェント(名前(a),年齢(20),所得(0),身長(175)).
エージェント(名前(b),年齢(32),所得(800),身長(180)).
エージェント(名前(c),年齢(45),所得(1200),身長(168)).
お金がない (X,Z) :- エージェント(名前(X),_,所得(Z),_), Z < 10.
若者(X,Y) :- エージェント(名前(X),年齢(Y),_,_), Y < 35.
背が高い(X,H) :- エージェント(名前(X),_,_ ,身長(H)), H >= 175.

全称仮説テスト(forall/2) 例.「お金のない人は若者であるか?」
?- forall(お金がない(X,_Z) ,若者(X,_Y)). [enterキー ]
Yes

成功するゴールの収集( setof/3, bagof/3, findall/3 ) ^は記号存在
?- setof(X, A^若者(X,A), Y), setof(W, 背が高い(W,_M), Z). [enterキー]
Y = [a, b]
Z = [a] (条件に存在記号がないので_Mも単一化される)
Yes
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
10
Prologの例4(合理的選択)

選好順序は推移的( transitive)、反射的( reflective)かつ完備
( complete)な代替案ペアの比較、すなわち弱順序である。無差別な
ペアa~bは、a>bかつb>aのように順序を交換した連言で表し、強順序の
場合は¬(a~b)かつa>bと定義する。以下の例では強順序を仮定する。

プログラム(事実節とルール節からなる)
エージェント(1).
代替案(a).
代替案(b).
代替案(c).
選好順序(エージェント(1), 状態(s1), [a, b, c]).
選好順序(エージェント(1), 状態(s2), [b, a, c]).
合理的選択(Agent,State,Choice):選好順序(Agent,State, Z, [Choice|_]).

ゴール節の実行例
?-合理的選択(1,s2,X).
X=b
Yes
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
11
12
Prologの例5(ナッシュ均衡)
右図の標準形ゲームとそのナッシュ均衡を求める
Prologプログラムの例およびその実行結果を示す。
ただし、これは後でナッシュ遂行のシミュレーションで
用いるものよりも、かなり簡単である。プログラムは略
すが、混合均衡の計算も試みている。
player 2
player 1 act(b1) act(b2)
act(a1)
[1,1]
[ 2, 0 ]
act(a2)
[0,2]
[-1, -1]
?- nash(A,B).
A = [a1,b1]
B = [1,1] ;
% finding an equilibrium
game( [player(1,act(a1)), player(2,act(b1)) ], payoffs([1,1])).
game( [player(1,act(a1)), player(2,act(b2)) ], payoffs([2,0])).
game( [player(1,act(a2)), player(2,act(b1)) ], payoffs([0,2])).
A = [[1,0],[0,1]]
B = [2,1]
Yes
game( [player(1,act(a2)), player(2,act(b2))] , payoffs([-1,-1])).
nash( [S1,S2], [P1,P2] ):-
game( [ player(1,act(S1)), player(2,act(S2)) ], payoffs([P1,P2]) ),
\+ ( game([ player(1,act(_X)), player(2,act(S2)) ], payoffs([Px,_]), Px > P1 ),
\+ ( game( [ player(1,act(S1)), player(2,act(_Y))], payoffs([_,Py])),
2015/9/30
Py > P2 ).
経営情報学会2002秋季研究発表大会(金沢)
3.社会選択対応(SCC)と合理的選好領域
 選好順序(プリファレンス・オーダー)は完備性、推移性、反射性を満た
す代替案集合上の2項関係である。強順序領域では反射性を除き、反対称
性を加える。
 非制限的領域は、すべての可能な選好順序から成り立つ。例えば2人
のエージェントN={1, 2}と2つの代替案A={a,b} の場合、各人の可能な選
好順序2通りずつ、計4通りある。これらに通し番号をつけて、状態集合
S={s1, s2, s3, s4}とし、状態上にSCCを定義し直すと便利である。
 一般に社会選択対応(SCC: Social Choice Correspondence)f:
Rs→2A/{}は、全エージェントN={1,2,…,n}の可能な選好順序組の集合Rs
から有限の代替案集合A={a,b,…}の部分集合への関数であり、通常、空集
合は除外される。
 PrologでのSCCのモデル化例。
scc(f,state(1),[a]). % f(状態1)= [a]
scc(f,state(2),[b]).
scc(f,state(3),[a]).
scc(f,state(4),[b]).
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
13
選好領域(ドメイン)モデル
 順序や部分集合については、Prologのリスト記法を用いるのが便利である。
preference(agent(1),state(1),[a,b]). %1は状態1と2においてaをbよりも好む。
preference(agent(1),state(2),[a,b]).
preference(agent(1),state(3),[b,a]).
preference(agent(1),state(4),[b,a]).
preference(agent(2),state(N),[a,b]):-member(N,[1,3]).
preference(agent(2),state(N),[b,a]):-member(N,[2,4]).
 社会選択対応を表す述語scc /3 とエージェントの選好順序を表す述語
preference /3 は、ともに本論文のモデル化において最も基本的なデータを与える。
エージェント2の選好については、member /3を使って2つのルールにしてある。
 また以下では代替案、エージェント、状態それぞれの集合を定義しているが、代
替案以外に組み込み述語setof /3 を用いた。
alternatives([a,b]).
agents(Js):-setof(J,S^R^preference(J,S,R),Js). % 選好順序→エージェント集合。
states(Ss):-setof(S,J^R^preference(J,S,R),Ss). %選好順序→状態集合。
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
14
劣位集合(Lcc)、2項関係、最善案
 2項関係は前述の選好モデルから導出できる。強順序の場合、リスト結合append
/3を使って以下のように、まず劣位集合の述語lcc /3を作り、次に2項順序の述語
is_prefer_to /4を作成する。劣位集合は後でナッシュ均衡の導出にも利用する。
劣位集合L(a,Rj) :={b∈A|a Rj b}はある代替案aを含みエージェントjにとってそれ
より好ましくない代替案の集合である。またX⊆Aにおけるjの最善案a∈M(X,Rj)は
a∈X⊆L(a,Rj) と定義され、述語is_maximal /3 で表す。
lcc([I,S,R],A,L) :preference(I,S,R), member(A,R), append(_Upper, [A|Lower], R),
sort([A|Lower],L). % 整列
is_prefer_to(I,S,X,Y):lcc([I,S,_R],X,L), member(Y,L).
is_maximal([I,S,R],A,X):lcc([I,S,R],A,Lcc), member(A,X), subset(X,Lcc).
NAF(失敗による否定)のため、上のモデルは強順序と解釈される。無差別関係
( (X,Y)かつ (Y,X))や強順序( (X,Y)かつ無差別でない)の扱いは別の工夫がいる。
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
15
4.ナッシュ遂行の諸条件
 1977年のE.Maskinの論文以降、SCCの単調性はその必要条件と
して知られており、また拒否権なし(NVP)の条件が満たされていれ
ば、単調性は3人以上では十分条件である[3]。 なおMaskin(と
Vind)の開発したメカニズムを用いれば、単調かつNVPであるSCCを
ナッシュ遂行できる。
 Maskinの云う「単調性」とは、直観的には順位の逆転が生じない
限り、選好変化前のSCC結果は保たれるということである。ただし単
調性だけでは必要だが十分ではない。
 また「NVP」は皆が最善と云う案を、誰も単独で覆せないことだが、
それ自体はナッシュ遂行の必要条件ではない。
 なお、2人の場合を含めたナッシュ遂行の必要十分条件は、長ら
く未解明だったが1990年代初めにMooreとRepullo、DuttaとSenに
よって解かれた [2,4]。
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
16
17
単調性のモデリング例
monotone(F):- scc(F,_,_)->
forall(
( scc(F,S,C), member(A,C), scc(F,S1,C1), \+ member(A,C1) ),
( nl,write( dropped(A,F,[S,C],[S1,C1])),tab(3),
lcc([I,S,_R],A,L1),
lcc([I,S1,_R1],A,L2),
\+ subtract(L1,L2,[]),
write(reversal (I,L1,L2))
)
).
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
単調性のテスト
• 明らかにfは単調だが、これを上のプログラムを実行して確認してみよう。
4 ?- monotone(f).
dropped(a, f, [state(1),[a]], [state(2),[b]]) reversal(agent(2), [a,b], [a])
dropped(a, f, [state(1),[a]], [state(4),[b]]) reversal(agent(1), [a,b], [a])
dropped(b, f, [state(2),[b]], [state(1),[a]]) reversal(agent(2), [a,b], [b])
dropped(b, f, [state(2),[b]], [state(3),[a]]) reversal(agent(2), [a,b], [b])
dropped(a, f, [state(3),[a]], [state(2),[b]]) reversal(agent(2), [a,b], [a])
dropped(a, f, [state(3),[a]], [state(4),[b]]) reversal(agent(2), [a,b], [a])
dropped(b, f, [state(4),[b]], [state(1),[a]]) reversal(agent(1), [a,b], [b])
dropped(b, f, [state(4),[b]], [state(3),[a]]) reversal(agent(2), [a,b], [b])
Yes
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
18
NVPのモデリングとテスト
veto_outcome(A,J,S,F):-
nvp(F):- agents(Is),
scc(F,S,C),
scc(F,_,_)->
alternatives(As),
forall(member(J,Is),
subtract(As,C,D),
member(A,D),
\+veto_outcome(_A,J,_S,F)
).
agents(Is),
6 ?- veto_outcome(A,J,S,f).
preference(J,S,_R),
A=b
forall((member(K,Is),K\=J),
J = agent(1)
lcc([K,S,_Rk],A,As)
).
2015/9/30
19
S = state(1)
Yes
経営情報学会2002秋季研究発表大会(金沢)
20
SCCの自動生成(1)
 また部分集合枚挙ルーチンを作成し、選好領域上の可能な
SCCを生成検査することは容易である(プログラムは省略)。上の
モデルでは20個の単調性を満たすSCCと4個のNVP(+単調
性)を満たすSCCの存在を確認した。なおmonotoneの引数
gen(C)は、自動生成したSCCを変数Cで参照する。
10 ?- scc_tuples(C),monotone(gen(C)).
C = [[s1,[b]],[s2,[b]],[s3,[b]],[s4,[b]]] ;
C = [[s1,[a]],[s2,[b]],[s3,[b]],[s4,[b]]] ;
C = [[s1,[a,b]],[s2,[b]],[s3,[b]],[s4,[b]]] ;
(・・・途中省略・・・)
C = [[s1,[a,b]],[s2,[a,b]],[s3,[a,b]],[s4,[a,b]]] ;
No
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
21
SCCの自動生成(2)
 4個のNVP(+単調性)を満たすSCC
11 ?- scc_tuples(C),nvp(gen(C)).
C = [[s1,[a]],[s2,[a,b]],[s3,[a,b]],[s4,[b]]] ;
C = [[s1,[a,b]],[s2,[a,b]],[s3,[a,b]],[s4,[b]]] ;
C = [[s1,[a,b]],[s2,[a,b]],[s3,[a,b]],[s4,[a]]] ;
C = [[s1,[a,b]],[s2,[a,b]],[s3,[a,b]],[s4,[a,b]]] ;
No
 ところでこの領域では、#状態=(#順序)^2=(#代替案)!^2、#
SCC=#(2^(#代替案)^#状態)である。2人と2代替案のときは256個、
非空だけのものは81個である。したがって以下で述べるDanilovの3条
件をチェックすれば、Hurwicz-Schmeidlerの不可能性定理[3,4]をシミュ
レーションで観察できる。(→付録E)
 しかし代替案を1つ増やすだけで#状態=36となってしまう。実際、e
m、mr、irの3条件を同時に満たすSCCは6つ生成され、そのうちパレー
ト最適性を満たしたのは、fを含む2つの独裁的SCCだけであった。
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
5.ナッシュ遂行のメカニズム例

ナッシュ遂行のメカニズムは、各エージェントjの戦略の集合
Mjと結果関数g: M1×…× Mn→Aを追加する。つまりメカニ
ズムは可能な選好組ごとに、別々の標準形ゲームを定義する。

標準形ゲームΓ:=<N,R,A,g>のナッシュ均衡とは、各エー
ジェントj∈Nの最適反応の組である。すなわち各j∈Nの可達集
合C (a,Rj)が、劣位集合L(a,Rj)に含まれる。可達集合は結果a
をもたらす戦略組m∈Mに対し、jが単独で戦略変更して得られ
る結果の集合である。
mechanism(gDict(1, f), [a,a], [a]).
mechanism(gDict(1, f), [a,b], [a]).
mechanism(gDict(1, f), [b,a], [b]).
mechanism(gDict(1, f), [b,b], [b]).

2015/9/30
独裁的SCCは、つねに独裁者の主張する案を採択する上のメ
カニズムによって、明らかにナッシュ遂行可能である。
経営情報学会2002秋季研究発表大会(金沢)
22
独裁者用メカニズムgDict
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
23
遂行シミュレーションの例(1/1)
checking the on-SCC patterns:
[s1,a][s2,a][s3,b][s4,b]
For state s1,outcome=a,rule=1, message= [a,a]
• 右図は社会選
択対応fについ
ての遂行シミュ
レーションの結
果を、若干加工
して示したもの。
ただしCzsは元
の結果を除く可
達集合を表す。
agent=1,Czs=[b],Lcc=[a,b]
agent=2,Czs=[a],Lcc=[a,b] < NE>
For state s2,outcome=a,rule=1, message =[a,a]
agent=1,Czs=[b],Lcc=[a,b]
agent=2,Czs=[a],Lcc=[a] < NE>
For state s3,outcome=b,rule=1,message=[b,a]
agent=1,Czs=[a],Lcc=[a,b]
agent=2,Czs=[b],Lcc=[b] < NE>
For state s4,outcome=b,rule=1,message=[b,a]
agent=1,Czs=[a],Lcc=[a,b]
agent=2,Czs=[b],Lcc=[a,b] < NE>
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
24
遂行シミュレーションの例(1/2)
checking the off-SCC patterns:
[s1,b][s2,b][s3,a][s4,a]
For state s1,outcome=b,rule=1,message=[b,a]
agent=1,Czs=[a],Lcc=[b]
agent=2,Czs=[b],Lcc=[b]
For state s1,outcome=b,rule=1,message=[b,b]
agent=1,Czs=[a],Lcc=[b]
agent=2,Czs=[b],Lcc=[b]
(以下省略)
Summary Result
[s1,a,yes,in][s1,b,no,out]
[s2,a,yes,in][s2,b,no,out]
[s3,a,no,out][s3,b,yes,in]
[s4,a,no,out][s4,b,yes,in]
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
25
26
おわりに
 Prologの論理プログラミングによって、ナッシュ遂行理論をモデ
リングした。具体的には、選好領域、社会選択対応、ナッシュ遂行のた
めの諸条件、メカニズムを、ほぼ定義どおりモデリングし、シミュレーション
することができた。また選好領域を固定して社会選択対応を自動生成し、
ナッシュ遂行可能性他任意の条件を満たすものを抽出できた。また文献
の定理等を用いて、開発コードのテストとデバッグを行った。
 問題点として、メカニズムのモデリングには、まだデバッグ不十
分な所が残っている。経済学的環境などの特殊領域、より発展したメカニ
ズムの実装を含め、改良の余地は多い。
 また今回、Prologで実際にさまざまな集合論的条件をモデリングし
てみると、確かに自分の貧しい想像力と計算力を補ってくれること
が分かった。つまり、その正例や負例を自在に検証・生成できるよ
うになった。しかし、網羅的なSCC生成やナッシュ遂行の逐次的テスト
は、非常に小さな領域モデルに限られており、またメカニズムの直接的シ
ミュレーションは計算効率が悪い。それゆえ直接の限界としては、計算
量の壁が厚い。またはメタ知識の水準での「洞察」に欠けている。
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
27
今後の課題:知的CAIを超えるために
 最後に本実験システムでのモデリングを、知的CAIの系譜として眺めてみ
よう。明らかに、学習者モデルは欠如しており、また指導方略としては、「作っ
てみて、動かして、デバッグして分かる」間接的指導といえるだろう。非明示的
な学習者モデルは自分の頭脳に暮らす虫(バグ)の生態を記録したプログラム
を観察しつつ、仕様書代わりの定義・定理・証明にくらいついて、テストを繰り
返し、「ああ、そういうことか。」とようやく気づく。学習者の手本となるべき領域モ
デルは、 学習者が定式化を忠実に論理表現できたとき、それ自体が問題を
解く能力を持つ規範的エキスパートシステムとなる。実際、SCCの遂行の
条件を厳密に判定したり、任意の条件を満たすSCCの正例や負例を生
成できた。しかし、遂行の諸条件やメカニズム自体を洞察あるいは帰納
する水準には至っていない。本当の意味で「メカニズムデザインという知的
作業」はモデリングされていないのではないかという疑念が生じた。もし将来
的に、メカニズム設計者・研究者の作業支援や、20世紀の知的遺産の継承
(教育)という高い目標を目指すのであれば、SCCに適合した最小メカニズム
の提案、制約処理あるいは構文論レベルの証明の自動化などが必要だろう。
またメカニズム設計者の数学的な「洞察力」とそれを導いている「知的興奮」を
探求する認知科学的研究が考えられる。
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)
28
文献
[1] Danilov, V. (1992). Implementation via Nash equilibria.
Econometrica 60(1): 43-56.
[2] Dutta, B. and A. Sen (1991). A necessary and sufficient condition
for two-person Nash implementation. Review of Economic Studies
58:121-8.
[3] Maskin,E. (1999). Nash equilibrium and welfare optimality.
Review of Economic Studies 66:23-38.
[4] Moore, J. and R. Repullo (1990). Nash implementation: A full
charaterization. Econometrica 58(5): 1083-99.
[5] Wielemaker, J. (1994). SWI-Prolog 1.6 Reference Manual. In
Kantrowitz(ed.), CMU AI Repository.(http://www2.cs.cmu.edu/afs/cs/project/airepository/ai/lang/prolog/impl/prolog/s
wi_pl/)
2015/9/30
経営情報学会2002秋季研究発表大会(金沢)