• 検索結果がありません。

ゲーム戦略獲得に関する自動プログラミングへの進化的アプローチ: University of the Ryukyus Repository

N/A
N/A
Protected

Academic year: 2021

シェア "ゲーム戦略獲得に関する自動プログラミングへの進化的アプローチ: University of the Ryukyus Repository"

Copied!
9
0
0

読み込み中.... (全文を見る)

全文

(1)

Title

ゲーム戦略獲得に関する自動プログラミングへの進化的

アプローチ

Author(s)

山城, 正; 山田, 孝治; 遠藤, 聡志

Citation

琉球大学工学部紀要(56): 115-122

Issue Date

1998-09

URL

http://hdl.handle.net/20.500.12000/14728

Rights

(2)

115

Evolutionary Approach to Automatic Programming for Game-Strategy Acquisition

Tadashi

YAMASHIRO·

Koji

YAMADA-

Satoshi

ENDO·

Abstract

In this paper, we discuss an automatic programming for game strategy acquisition using genetic programming ~GP).

This paper shows an implementation of MOO game. MOO is a guessing game. In this ~ar.ne, t~e .code~akerpicks a number consisting of three distinct decimal digits. Then the codebreaker guesses three distmct digits bemg scored on each guess. We show and evaluate the codebreaker program that is created automatically by the GP.

Key Words: Genetic Programming, game strategy, MOO, Hit & Blow

1. ~ ~jl~

i!i:~,

13

~~

,:

J*Jift"~ ~ATA~-=Er

}v

t t"~ ffi¥fl~

J!

(7)urti~tH: r~L. -c (7)r~IL,t>tiWi ~ -:>-c v1~. ~,:.

13

~~ (7)~-1*(7)1m-1*' ~Blt>{:j;f~;C7J'::';(A'i, 7'-A~&Ifr(7)m W~~(7)m.~J!)7J'::';(A~."t"~1i~, .~t~ J.>ffB7tt>{~

v".

~(7)!1~~.~~~~~ • •~J!(7)M~~;~i~L t.:~Jf'ltli, AI1:.~tL -cf/fLv"/"'77"-1A~mp~ L~~ ~J.>.

~(7)AI1:.~':iHtJ.>i1t1t/'\7.y-1A(7)m~~lj:-t=f.l;l~ t>{if:H~1'f.J7

}v

:11);(A~~ ~. mf~1'f.J7}v:11);(A .ifH~ 1't~7"0 7· 7 ~ :/~ (Genetic Algorithm/Programing) Uifi

f~-r(7)~J(.~r.~~¥4(7);C7J'::';(A~.~,:L -C. M~~ (7)ff/tm .~tt ~lIIf{*att L. -c v1

<

! 1~~t.;C"h.::.;( A (7)

rt~(7)':' t ~~~. ifH~l'fJ7}v::tl);(A'i. ~~(7)i1t1t~

~~ ~ ~;I.

v-I-

t"~I~I'f.J-=ET)v~~~, fi:i§~~t!t

L. -C, ~.tlt>"~~~~1ID1OO ~b-t:>. L.t>..b~9U~J!t (7)ft. fnt1t>{~v1':' t t>.. ;,

*

~ lj:WJf;ft>{~-tt-;

n

-Cv 1~.

!J',H:

~rz,(f.jlj:~~~J!(7):t$mh. ~f'F~ i1t1tl'fJf{t.(7)~?t(7) r.p~, 7' - Aliillltr~!H~

,:

r~t"J.>n~mfii(7)rm3£'i,

ftR

(7)~*,:~ l!~~tJ.>.~,~7" 0 ~A~ t~(7).t

-?

l: 7"0 ~'7 At"J.>t>..t v1 1.¢.i:~1It~~~M(7)-~~~~.

*fdf~~'i, i1Mttr-J7"O~7 ~ :/~=¥-1t(7)-~~~J.>im: fu(f.j7"o~7~:/~(GP)(7)~m~.t~, 7'-A • • (7)

nU!J

7"0 ~7 A (7)f3lfJ~1&: ~.Mt"~. GP 'i, ~J!:A;-?

ttj\';lj:t~(7)mji!l'fJ~JJ!~miJ.>! oJ ,:. iftf~-r~~*ffim

tL.-Cm~tr-J7~:1~;(A(GA) ~~.L~b(7)~~~.

-t-(7)*m~':3(J(-?~~~~t v1-:>t.:inf~T~f'F~1Jlli ~

.:.t~, ~~OO~~~~t"7"O~7A~§~~1&:t"~~~ -e~J.>. GP li~Wl-?m~. ~ATAfffJ~~t~(7)~4~$t

mf

':Ir:,m~

n,

-t-(7)~~ttt>{~ ~:tt-c v" J.>.

~JI:1998~51125 8 *I~~m.I!!1:f:t

(Dept. of Infonnation Engineering, Fac. of Eng.)

G P(7)~lI: ~"£

t

¥J~

t,

*(7)! 1 ,:~ ~.

1. GP li7"D~'7A~i1Ht~-tt-~b(7)~~~.

2. GP ,:!-:>-C, O;F'J I-(7)':10 ~'7 A~ AImti~(7)ro~ MMi*'1l~.~fl(J)t.:.~(7)7"0 ~7 At>t~1tA9,:

(fiIJ

~(f.jl:)

EJ

mb~nX: ~ n~.

3. GP li GAQ);Jfinl:£":1v 1-Cv 1J.>. -t-(7)iiv"'i, GA

t>{:El:&~1t~ EU~t"(7)':1;j" L. GP Ugc-ij-~J!B'~~ 7"O~'7A(7)~1&:~f3~tL-cv1J.>.

4. '::'.:z.- 7

)v

~';I I- 1] - 7 'i~1i~lj:~:@. ~fj~1 (7)

l:~;j"L. GP 'i~c~l'fJ~7"D~7A l:!~~}]!~~:f!

t" J.> .

GP~§mt"~~(7)7'-AM.tL.-C,3fi(7)ft~-C7'­

A (MOO, HitBlow) ~lfj(~.L~f~. '::(7)7'-A~~(7)~

fH:.t:>vl-c, GP ~~fjT~.::

t

,:.t ~. li&EI!~gH!Jt"~ ~~(7)M~7"o~7A(7)I3~~~~fi~1.

2. :'i~-rJf-.L.(MOO)

IT - A(7)£*tr-J~~m1!'i, 7'- A':~1JDt"J.> 7"

V-~-(7)At!<':!J.>b(7)~,

im'M'

2 A7'-At 3 APl.L(7)

7'-A

t

':*BIj~n~.

2 A 7' - A Ii.

JT -

AJ!~:@:1*t>~;h. -c, £*~ ~&Wtl

~*t.:L.-Cv1~t.:~, *fiJf?e~'i, 2A7'-A(7)-f!~~

~:'i~-rJf-.L. (MOO) ~J&~IJf, fiJf~~)1!~J.>.

MOO-e'i, 2 A(7)7"v--f-t>f7'-A~ff~1.

iliJm

tft M~#l: ~t>~n,

litr:#'ilEM

t t.lJ.>1fif.(7)~91J ~m:f: L -C~~L. -c.t3~, f~#t>t-t:tt~ ~-C~. 1~#(7)

ili

t"

1!trJH:,

"trtf'i~ /' " ~llit". v"t>.. ,:1tro't" J.>lill~ ~ ~'~

<

t" J.>t>.. 1J{, .:.(7).y - A (7)~

1 :/ "

~ ~ ~

.

2.1 Jf - .L.~Kfi

.: (7)7' - A =¥-JIIJUi, J;J,

r

(J):trH:~cV;; n~

.

=fJnt

1

WII=tf'i

0 t>.. ; 9 ~-r-(7)1iv1l:~~~~* (I)

t: - t--

t.t

L,t '*~) ~1i!-:>t.: 3

m

(J,jr"t:';l'::(7).t 1

~tt~ MOO:'it~~) ~lEMtL-cm.L, 1W~

#t>..C:>~~L-C.t3

<.

MOO~li10X9X8

=

720 ~ ~.

(3)

山城・山田・遠藤:ゲーム戦略穫得に関する自動プログラミングへの進化的アプローチ 116 題者は質問と正解の数を比較し,同じ数字が同じ桁に 出現する回数(Bullと呼ぶ),同じ数字が別の桁に出 現する回数(Cowと呼ぶ)をヒントとして与える.2 つのMOO数からBullとCowの対を求める計算を以 下ではMOO積と呼び,(Bull,CmD)という対で記述 する. 手順,質問に対するMOO積が(3,0)のとき,ゲーム は終了する.そうでなければ,手順2に戻る. 図1に,この様子を示す. MOO積 01 11 30 表1ゲームの進行例 す.図2はフレーム(Frame)と呼ばれる概念を表現する 言語によって,ジャックと変人の関係を記述したものであ

る[Winston92,pl88]ここで,akoは集合間の包含関係

(akindof),isaは要素が集合に帰属すること(isa)を 述べている.これを用いて人工知能ではさまざまな推論, 学習を試みる.図3は機械翻訳で用いられる導出木である

[Barr81,p308].“theboyatetheapples,,という文章を

句構造文法で解釈した結果が記述されている.さらに,図 4は数式の木構造である. 図LMOOゲームのフローチャート 2.2ゲームの進行例 ゲームの進行例を表1に示す.上級者になると,例のよ うに5回程度の質問で当てることが多いが,要領がわから ないうちは何十回質問をしても当たらないこともある.そ れでいて,初心者でもビギナーズラックで1回目の質問で 正解することもある点が,このゲームの面白さの1つと なっている. 3.遺伝的プログラミング 遺伝的プログラミング(GP,GeneticProgramming)は, 遺伝的アルゴリズム(GA,GeneticAlgorithm)の避伝子 図2.フレームによる概念木

ノ…鳴く

Ⅷ.uT…ツベ

イMFimiii、

遺伝的アルゴリズム(GA,GeneticAlgorithm)の避伝子 (GTYPE)を拡張し,構造的な表現を扱えるようにしたも ので,JohnKozaによって確立された.ここでの棡造的 表現とは,グラフ構造や木構造のことをいう.まずはじめ に,なぜこのような表現を扱う必要があるのかを説明する. 例として,エキスパートシステムや学習などの人工知 能の問題に,GAを応用することを考える.まず,人工知 能では記号的な構造表現,特にグラフ構造や木構造がしば しば登場することに注目する.これは知識表現としてグラ フ栂造が便利であるからであろう.例えば,図2と図3に 人工知能のシステムでしばしば用いられる知識表現を示 図3.樽文解析の木 したがって,複雑な数式や概念,関係などを木構造で表 現できることがわかる.このことから,グラフ構造(特に 木構造)を扱えるようにGAの手法を拡張することは意義 のあることであり,GAの適用範囲の拡大につながると恩 正解8723 回数 質問 MOO積 1 412 (0,1) 2 526 (1,0) 3 328 (1,1) 4 923 (2,0) 5 723 (3,0)

(4)

琉球大学工学部紀要第56号,1998年 117 十 +

化一一心

/、

//、烹、ぽ、可7,".

×船/、八/、

八…………×

//、、

×1.800169 に) (b) 図4.数式の木|愚造 (a)Qnum上ion progn PrOgTl ~ ~ prin上 prin上 X X (b)Ginversion

》〈川ごく川向

progn われる. OAを榔造的表現に拡張した枠組がGPであり,従来の GAの欠点を次のように補うことを試みるものである. 1.探索のための的確な部分櫛造の把握 2.問題の表現形式に基づいた効果的な探索の実現 3.より高次の知識の適応的な学習システムの櫛築 3.1GPの仕組み GPでは木と呼ばれる構造表現を扱う.木はサイクルを 持たないグラフのことであり,図5のような櫛造をいう. 、Cf

》八

ユ x2 X Progn 、Cf

》八

A46

x2 に)GcroBBover 図6.LISPのS式への適用例 図5.木榊造 木棡造はかっこつきの表現で記述でき,例えば図5の木は, (A(B) (C(D))) もしくは簡略化して, (AB (CD)) となる.この表記法を(LISPの)S式表現という.以下 では木栂造とS式を同一視する.なお,このような木構造 に関して,以下の用語を用いる. ・ノード:記号A,B,C,Dのこと ・根(ルート):A ・終端ノード:B,,(終端記号,葉ともいう) ・非終端ノード:A,C(非終端記号、S式の関数記号 ともいう) ・子供:Aにとっての子供はB,C(関数Aの引数とも いう) ・親:Cにとっての親はA 木に対するGAのオペレータとして,以下を導入する. これらはビット列を対象とする従来のGAオペレータの自 然な拡張である. Omutqtjo〃ノードのラベルの変更 Gimノe7sio〃兄弟の並べ換え OcmSSotjer部分木の取り換え これらのオペレータを木樽造に適用した例を図6に示す. この適用をS式で記述すると次のようになる.ただし,オ ペレータの適用部分には下線を付した. ・Gmutation (+zy) ↓ (+廼三) ・Ginversion (pro9ね(incノ⑰)(set9Z2)(mmZ)) ↓ (pro9”(set9⑰2)(、cノエ)(Pri刀tz)) ・Gcrossover (pro9ね(、cノ⑳)(set9毎2)(setWz))

(Pro,、(dec〃)(set9Z(*(sqrtZ池)(Prmtz))

↓ (pro97J(inc〃)(s9rU野)(set9U鰺)) (pro9”(dec〃)(Set9趣(*(ごct9Z2”)(Printエ)) Gcrossoverについてだが,GAの交叉との大きな違い は,同じ遺伝子を持った個体同士を交叉させても,同じ遺 伝子を持った子供が必ずしも生まれないという点である. GAの場合,図7となり,遺伝子構造が変わらないのに対 し,GPにおける交叉では,図8に示す通り,交叉点によっ

(5)

山城・山田・遠藤:ゲーム戦略痩得に関する自動プログラミングへの進化的アプローチ 118 て生成される個体の遺伝子が変化してしまうのである.

八・八・八八八八八人

一例一脚一回一⑥一回

八八八。八・八八八人

l:iに::

1011100 - 1011100 図7.GAの交叉の例

列、

'ハ,n

列、

'八肉

Progn ncf prユ、上 ユ X X

図9.GmuLatiomオペレータ progn nt ユ Sicp6以上によって求められた新しいGTYPEを,次の 世代の,:+,(i)として,Step2へ戻る. ただし,適合度は大きいものほど良いとしている.この アルゴリズムは,オペレータの違いを除いて,GAのアル ゴリズムと同一である.したがって,GPではGAの知見 の多くをそのまま用いることができる. GPでは次の5つの基本要素を設計することで,様々な 応用問題への適用が可能になる. 1非終端記号(以下Pで表す) 非終端ノードで使う記号.LISPのS式での関数. 2終端記号(以下Tで表す) 終端ノード(葉)で使う記号.LISPのS式でのア トム. 3.適合度 4.パラメータ 交叉,突然変異の起こる確率,集団サイズなど. 5.終了条件 Steplのランダムな木構造の生成は,TとFが与えら れたとき,次の手続きSUBTREEを呼ぶことでなされる. 図aGPの交叉の例 また,Gmutationについては次の種類がある(図9). 1.終端記号から非終端記号への突然変異(図9(a)) 新しい部分木の生成を伴う 2.終端ノードから終端ノードへの突然変異(図9(b)) ノードラベルの付け換えのみ 3.非終端ノードから終端ノードへの突然変異(図9(c)) 部分木の削除を伴う 4.非終端ノードから非終端ノードヘの突然変異 casej新しい非終端ノードと,古い非終端ノードの子 の数が同じ場合(図9(d)) ノードラベルの付け換えのみ case’新しい非終端ノードと,古い非終端ノードの子 の数が異なる場合(図9(e)) 部分木の生成・削除を伴う オペレータの適用の割合は確率的に制御される. 以上の準備のもとにGPのアルゴリズムは次の様になる. SZeplランダムに木構造GTYPE9t(i)を構成する.

Stcp2各GTYPE9t(i)の表現型PTYPEp(j)に対し

て適合度ノ(i)を求める. Step3適合度の大きなGTYPEに対して一定数のペアを 取り出す. Stepイ取り出したペアに対してGcrossoverを適用し, 適合度の小さなGTYPEと置き換える.

SteP5各GTYPEに関して,ランダムにGinversion,

Gmutationを適用する. 手続きSUBTREE: 1.TUFから1つのノードェをランダムに取り出す. 2.工eTならrを返して終わり. 3.〃EFならおの引数の数を〃とする.そして, SUBTREEをcallして,その結果をα,とする. SUBTREEをcallして,その結果をu2とする. SUBTREEをcallして,その結果をanとする. 最後に(za1a2…α、)という部分木を返して終わり. したがって,木構造は再帰的に生成されることがわかる. ただし,このままでは非常に深い木を得ることがあるため, 木の生成を適切に制御する必要がある. 3.2GPの応用例と問題点

(6)

琉球大学工学部紀要第56号,1998年 119 GPは様々な分野に応用され,その有効性が確かめられ ている.GPの適用範囲は,AIの問題解決から,ロボット, 分子生物学などの実際的な問題まで多岐に渡っている. GPでは木構造に交叉と突然変異を適用することで木を 変形し,LISP(S式の)プログラムや概念木などを探索 する.この方式の効果や有効性についてはまだ不明な点も 多い.GP研究の現状での最大の問題点は計算量である. 例えば,Kozaらの実験は集団数が4,000~16,000となっ ている.各世代でLISPのS式の評価が集団数分必要な ことを考えると,これは通常の計算機パワーの限界に近 い.GPの実験には実行が数日かかるというのも珍しくな い.Kozaによれば,集団数の多さはグラフ棡造の多様性

(populationdiversity)を保持するためであり,その結果,

実行に要する世代数は比較的少なくなっている(10~20程 度).これは通常のGAでの実行方法(集団数50~100前 後で世代を多く重ねる方式)とは対照的である.言い替え ると,GPの実行では各世代での木構造の評価の計算量が 莫大になり,実行が非常に遅くなる. また,GPを適用する際に最も重要なのはノードの表現 の設計(つまり終端記号と非終端記号を何にするか)であ る.これによって,交叉や突然変異によって木の意味が劇 的に変化するこの現象を意味破壊(semanticdisruption) と呼ぶが,GPオペレータにより意味破壊が頻繁におこる と探索が安定しないことがある. 4.GPの設定 本研究の目的は,GPをMOOゲームに適用させ,進化 学習を行なうことで戦略獲得を導く解答プログラムの自動 生成である. この章では,GPをMOOゲームに適用する際に必要な 設定について説明して,実験を行なう.はじめに,MOO ゲームの平均質問回数を求める解答プログラムを設定する. そして,進化学習対象プログラムを抽出して,このプログ ラムを表現できるノード(非終端記号,終端記号)を設計 することが本研究では最も重要である.これらの準備を基 に3.1節で説明した5つの基本要素を設計することで,GP の適用が可能となる. 4.1進化学習対象プログラム MOOの解答プログラムとして,図10のようなアルゴリ ズムを設定する. このアルゴリズムは,正解を求める一般的な解答プログ ラムである.つまり, 1.すべてのMOO数の中から,それまでの質問の応答 に当てはまる正解の候補の集合(以下では解のグルー プと呼ぶ)を求める. 2.解のグループの中から,次の質問をランダムに選ぶ. という手順でゲームを進行している. ここで,質問と正解とのMOO積をPl,質問と正解の 候補とのMOO積をP2と置くと,STEP4~STEP5の 部分は,P1とP2から正解の候補を選択することによっ て,解のグループを絞り込むということができる.つまり, この部分は解答プログラムの中でもっとも重要だといえる. 言い替えれば,この処理が戦略獲得につながっており,戦 略の評価は平均質問回数によって行なわれる.よってGP 図10.解答プログラム により進化学習させる対象は,解のグループの絞り込みを 行なうプログラムとする. GPの設定として,はじめに単純な処理を行なうノード (関数)をいくつか設計する.これらは非終端記号と終端 記号であり,この組み合わせによってプログラム処理が行 なわれる.この場合,質問とP1のみの情報から,P2を 計算して正解の候補の選択を行なうということを学習しな ければならない(図11).

質問 Pユ

進化学習

解のグループの絞り込み 図11.進化学習対象プログラム そこで,戦略を獲得するために,このプログラムの自動 生成を目的とする. 4.2基本要素設定 以下に,進化学習対象プログラムを表現するノード設計 (非終端記号,終端記号)を含めた基本要素設定を示す. 1.非終端記号(F)

(7)

山城・山田・遠藤:ゲーム戦略獲得に関する自動プログラミングへの進化的アプローチ 120 これは引数をとらない関数であり,正解の候補を解 のグループから削除する. .T=NOP これは引数をとらない関数でなにも実行しない. 3.適合度 まず,平均質問回数を求め,これに,個体によって計算 されたP2の誤差を加算した値を適合度とする.式を 以下に示す. ノit汎ess=9uestio〃_uU9+(le-bl+|e-cl)/100(1) ここで,questio刀型u9は平均質問回数,e-6,e-cは 各々,P2におけるDull,cotUの誤差である.計算さ れるP2の誤差を,評価関数に含めることで,P2計 算の学習を行なわせる.これより,解のグループの絞 り込み操作が可能となる. なお,ノjmessの値が小さいものほど適合度は良いも のとする. 4.パラメータ ・seed=11287 (乱数のシード) ・populationsize=100 (集団数) .max-depth-fbr-new-trees=6 (初期に生成される木の最大深さ) ・max-depth-after-crossover=17 (交叉で生成される木の最大深さ) ・maxmutant-depth=4 (突然変異で生成される木の最大深さ) ・grow-method=RAMPED (木の生成規則:集団内の個体ごとに木の成長方式 を変える) ・selection-method=FITNESSPROP (選択方式:ルーレット方式) ・crossover-fUnc-pLfraction=0.2 (非終端ノードでの交叉の確率) ・Crossover-any-pt-fraction=02 (非終端および終端ノードでの交叉の確率) ・fitness-prop-repro-fractio、=01 (コピーのみの確率) ・parsimony-fn心tor=OOOOOO (適合度の変換係数) ・世代数は200,平均質問回数を求めるためのゲーム 回数は100回とする. 5.終了条件 設定した世代数を終了したときとする. 以上の基本要素設定を基に,GPを実行する. 4.3実験結果 実験結果を図15に示す.このグラフは,集団における適 合度の最良値,平均値の推移を示している.縦軸を適合度, 横軸を世代数としている.世代が進むに連れ,適合度が減 少,つまり良くなってきているのが確認できる. 最良個体の平均質問回数の推移を,図16に示す.縦軸を 平均質問回数,横軸を世代数としている.平均質問回数は, 0世代目の約96回から,200世代目の約26回へとかなり 減少していることが確認できる. 。F={IFMOO11,JFMOO12,IFMOO13, IFMOO23,IFMOO23,IFMOO22IFMOO33} これらは2つの引数をとる関数である.質問と正解 の候補の各桁どうしを比較して,等しければ第1引 数を実行する.それ以外は第2引数を実行する.例 として,IFMOO13を挙げる(図12). ェFⅢ100エコ(引数1、引数2) 質問:abca=z一一引数1を実行

…瀞…_繧引…

図1ZIFMOO13 .F={IFBULL,IFOOW} これらは3つの引数をもつ関数である.P1とP2 におけるM1を,P1とP2におけるcouノを各々 比較する.前者が大きければ第1引数を,等しけれ ば第2引数を,そうでないときは第3引数を実行す る.例として,IFBULLを挙げる(図13). エ顕DLL(引数1、引数2,引数3) P1(bu1Lcow〉bulエユ>bull2-引数1を実行

ト‘…-…-壜…

P2(bull,Cow)bu111<bull2-引数3を実行 図13.IFBULL .F={PROG2PROG3) PROG2は2引数,PROG3は3引数をとる関数 である.前者は第1,2引数を順に,後者は第1,2, 3引数を順に実行していき,最後の引数を実行した 値を返す.例として,PROG3を挙げる(図14). PRoc3(引数1,引数2,引数3) 引数1 ̄引数2-引数3-PRoG3の返り値 実行実行実行 図14.PROG3 また,PROGなどの関数を用いて適切に非終端記 号を設計することでGPの生成するプログラムに冗 長性が導入できる.ここでの冗長性とは,ある状況 で有効でなくても,別の状況において有効であるよ うな部分構造の存在を意味する.冗長性は生成され たプログラムが未知のデータに対しても,うまく振 る舞うことを保証する. 2.終端記号(T) .T={BULL-ppCOW-pp} これらは引数をもたない関数である.P2における M1とcoujを各々インクリメントする. 。T=REMOVE-LIST

(8)

琉球大学工学部紀要第56号,1998年 121 300 100 最良値 平均値  ̄ 250 80 200 穏回霊題画株 60 釦 1 圏如圏 40 100 20 50 0 0 0 50 100 ft代 150 200 0 50 100 世代数 150 200 図16.最良個体の平均質問回数 図15.適合度の推移 182世代目で得られた最良個体のプログラムを,図17に 示す.このプログラムはLISP形式で記述されており,適 合度は約87.13,平均質問回数は27.18回である. 4.4考察 実験結果より,次のことが確認できる. L適合度は世代が進むに連れ向上していることから,集 団の段階的な進化学習. 2.平均質問回数の減少により,解のグループの絞り込み 操作の実行. よって,自動生成プログラムにより戦略を猶得するとい う段階まで進化することができたといえる. しかし,本実験における基本要素設定では,ここまでの 進化が限界であった.原因は,解のグループの絞り込みに おけるP2の計算が正確に行なわれていないことである. 181世代目で得られた最良個体の適合度と平均質問回数を 比較すると,約65の開きがある.つまり,適合度は平均 質問回数と個体によって計算されたP2の誤差を加算した ものであるから,この65という値はP2計算の誤差とい うことになる.よって,この誤差をなくすことにより,的 確な解のグループの絞り込みが行なわれ,最終的には平均 質問回数を約5回まで減少させることが可能である. これを実現するには,ノード設計(非終端記号,終端記 号)の改善,プログラムの長さを考慮した評価関数の設定 を考える必要がある.ノード設計改善策の一つとしては, PROGなどの関数を用いて適切に非終端記号を設計する ことでGPの生成するプログラムに冗長性を導入すること が挙げられる. また本実験においてはGP実行の際,計算量の問題から, パラメータを変更して比較実験を行なうことができなかっ た.例えば,木の最大深さのパラメータを変更することで, GeneraL1onl82Popula上ionOJWgSLdFiLneBs:】07.7369B2 BeSに-.[-genfiLncSS:87.1291B9 BeBc-oE-genLrec; (ZFBmLIXFHOO23(IF℃OWNOP(PR0Gコ(IFDnOO11IZFNOO12IIP別 (ZFBUILIXmOO23(IF℃OWNOP(PR0Gコ(IFDnOO11IZFTOOO12IIn《00コ3RpqOVE-LISTBUL (InqOO1。(PROC〕IIOPNOPIIFHOOZ](エFP1OO11DOOPEULL-PD)RmOOVE-LIST))mjUj-PPl (ⅡFBULL(IFCCnWBULL-ppCON-pp(エFDmO13(エnTOO12NOPNOP)(エPCWR口10VE-LIST RpZOVE-LZSTNOP)I(Ⅱ、00コ](ⅡFHOOユコBULL-pplIFTGOo23CaLppCCnLppl)CCni-pp)E (IFnIOO12(InIOO11Rp⑩V里LIST(ⅡFDqOO12NOPDlOP)lRp90VE-LⅡST)lIIOP)lⅡFTGOO11 (エFTIOO13R回UOVLmSTIエPCOmWR函0VこしZST(PROC2《PROC。(エFpIOO23(PRCC2BULL-pp (IFHOO12BULL-pp(xFHOO33BULL-ppC⑭U-ppl)11エ、1003コCOH-ppRpqOVE-LエSr)(エFOTOC R回gOVE-LISTBIOP)}NOP(エFNOO33(エ耐OO22BULL-PPR田I0VE-LⅡSTI(エnnOO22(IFBULL (IFTIOO23BULL-ppR国10V堅LエST)BULn-pp(PROG2CCnl-PPBULL-PP)) (IFCOHR画IOVE-LIST(エFNOO12COH-PPBULL-PP)I)(エFNOO11R回IOVE-LエSTBUL-PPl(IF COOU-ppCOW-ppNOP)I)INOP))(エFBUエLIIFc0WBUユd-ppCOH-pp(IPNDO1。R回80V旦LIST RpqOVE-LISTR回I0VE-LエSTIIOP)))(エFTOOO3。lIFNOO]3BUL凸_DP(エnGOO23Cm-pPCOW-P COW-pp)BUU←pp))1JPWOOZZIIFHOO13IIPDmOO1Zに、0012(エPEU[L(IFCOWNOPBUU七 Cad-ppl(InIOO13IOOPCOUO-pp)IⅡPNDOZ2CC例_pや(XmOOl2lUDPNOP)))(ⅡFmC2ZIInO DIOP(エFHOO13R曰OOVE-LISTBUUa-ppll(PR0G.BUU÷PPR曰⑱VE-LI罰BULI七DP)l)(XF亡C IPROC3IImOO13IImOOコユIエnOOO2ZBULL-ppⅨ」【ユセpDlCOnO-pp)COOLppl(PRDC3COH IIFD《0023IImOC1]IIFNOO33CC内i-pp(ZFDgOO13IIP℃0W(ⅡnOOC12COH-PPBmL-PP)BU (1m001.NOP(InlOO12IIOPRp00VE-LIST)l〕CCnO-Dpl)IOOP)(PROC2RpOOV堅LISTRDqOV R日仏OVE-LISTIR画《OVB-LISTlCOOV-pp)lRpOOVELLエST) (エmOO12IIOPIIFNOO13R曰l0VE-LエSTBU【L-pD))l) AVERACECoU3rlo2■27.180000 図17.最良個体のプログラム 良い結果が得られるということが考えられる. 5.むすび 本論文では,ゲームの戦略獲得に関して,3桁の数当て ゲーム(MOO)を対象に遺伝的プログラミング(GP)を 適用をすることにより,戦略獲得のためのプログラムの自 動生成を行なった. このことにより,自動プログラム生成の応用例として, 知識工学の分野における知識抽出プログラムの生成が可能 と思われる. 謝辞 本研究の一部は,財団法人テレコム先端技術研究支援セン

(9)

山城・山田・遠藤:ゲーム戦略狸得に関する自動プログラミングへの進化的アプローチ 122 ターの支援により実施した. 文献 吉永良正:“「複雑系」とは何か0,,講談社現代新瞥(1997). 田中哲期:数当てゲーム,松原・竹内縮「bit別冊ゲームプログラ ミング第3家」,共立出版(1997J 伊庭斉志:“遺伝的アルゴリズムの基礎一GAの謎を解く-,1,オーム [l] [2] [3] [4] [5] 側 ミンク第3家」,共立出版(1997J 伊庭斉志:“遺伝的アルゴリズムの基礎一GA 社(1994). 伊庭斉志:“遺伝的プログラミング,,,東京電 根路銘もえ子:“競合共進化に基づくゲーム] 究卵,琉球大学卒業論文(1996). 山城正:“進化的プログラミング手法に基づく 琉球大学情報工学科卒業論文. グラミング,,,東京電機大学出版局(1996). 進化に基づくゲーム戦略の学習に閲する研 戦略獲得法'''98年度

参照

関連したドキュメント

行列の標準形に関する研究は、既に多数発表されているが、行列の標準形と標準形への変 換行列の構成的算法に関しては、 Jordan

戦略的パートナーシップは、 Cardano のブロックチェーンテクノロジーを DISH のテレコムサービスに 導入することを目的としています。これにより、

  「教育とは,発達しつつある個人のなかに  主観的な文化を展開させようとする文化活動

BC107 は、電源を入れて自動的に GPS 信号を受信します。GPS

このように、このWの姿を捉えることを通して、「子どもが生き、自ら願いを形成し実現しよう

船舶の航行に伴う生物の越境移動による海洋環境への影響を抑制するための国際的規則に関して

に文化庁が策定した「文化財活用・理解促進戦略プログラム 2020 」では、文化財を貴重 な地域・観光資源として活用するための取組みとして、平成 32

「海洋の管理」を主たる目的として、海洋に関する人間の活動を律する原則へ転換したと