トピック
こう subwars

botに高速に学習させるには?

ターン制でないタイプのゲームにおいて 遺伝などよりも早く 僚機と同じミスを犯さない かつ 相手に対しての有効打を短期で学習する 群知能を作成したいのですが いかんせん遅い上に学習が上手く行かず 高速で学習出来る手法または その代替となり得るものはありませんか?
4そうだね
プレイ済み
返信[1]
親投稿
こう subwars
具体的には 艦船と戦闘機ベースの2D見下ろしSTG 自機側は戦闘機と艦船の二機 +自分で移動等の指揮を出せるbot CPは自軍と同等火力のランダム編成 指揮官は存在せず、魚群の行動ルーチンと 学習によって展開 ...というものを目指しているのですが 言うは易しってやつでしょうか
0そうだね
プレイ済み
返信[2]
親投稿
こう subwars
仲間と経験を共有すれば遺伝より早く 学習出来るのではないか? 完璧な解でなく、直感に近い状況判断の スキルをプログラムに与えるには 反射行動の内容を逐一更新するのが 一番手っ取り早いかもしれない
0そうだね
プレイ済み
返信[3]
親投稿
ひろ yf2mn276
無から学習させるのであればミスって覚えるようにさせて、BUTTONはビットでくぎって適当に押させる、とか。 調べれば細かく分かりそうです。
0そうだね
プレイ済み
返信[4]
親投稿
こう subwars
それも考えてはみたのですが いかんせん学習が遅く、最初の試合は ゲームにならないので とりあえずは魚群の回避ルーチンを デフォで組み込んでおいて 適宜に改良をCP自身が行う というものになりそうです
0そうだね
プレイ済み
返信[5]
親投稿
こう subwars
もしかして 即時性の高いメタヒューリスティクスの 手法ってあまりメジャーではないのか 探してもほとんど出て来ない...
0そうだね
プレイ済み
返信[6]
親投稿
れい rei-nntnd
メジャーでないっていうか。 その即時性って、普通に「現在より過去のデータ」いれて「逐次学習」させることと全く同値なので。 どんなゲームなのかいまいちよくわからないけど、2D追いかけっこ程度でもきちんとやるとプチコンでリアルタイムでやるのは計算量的に無理だね。 ノーフリーランチ定理が示す通り、問題を絞るしかない。 例えば、「敵機をひたすら追いかける」「横から狙う」「ひたすら逃げる」「ランダム歩行」等の行動パターンを用意しておいて、 その行動割合だけを学習させるとかね。 「追いかける」割合の高い僚機が落とされたらその割合を下げる、みたいな。
0そうだね
プレイ済み
返信[7]
親投稿
こう subwars
まだ組んだ訳ではないので想定 ・自機以外の全ての機体は 大まかな行動ルーチンに則り動く ・敵機は攻撃、回避、戦局判断、etc...を 高い頻度で交叉、淘汰、変異させる ・陣営の全滅等で勝敗を決める この際精度はある程度でいいから 遺伝アルゴリズム等より早く 解に近い数値を出したい ってだけです 早いかどうか確かめるためにも 戦局がコロコロ変わるRTSとSTGの 間の子を舞台にしようと。
0そうだね
プレイ済み
返信[8]
親投稿
れい rei-nntnd
いやだから、どんな手法で解を求めても、平均したら収束速度は同じなんだって。 遺伝的アルゴリズムより速くとかは、ない。 速くするには問題を制限するしかない。
0そうだね
プレイ済み
返信[9]
親投稿
こう subwars
問題は項目を絞るなりで制限してますよ 収束速度を求めるのなら仰る通り サンプル取って交叉したほうが良いです ただ、それだけの試合数を 人間がこなせるでしょうか? 仮にこなせたとして プレイヤーが変わった時、進化の方向は 変えられるでしょうか? 自分でもわかりませんが もしかしたら速度というよりは 柔軟性を求めているのかもしれません
0そうだね
プレイ済み
返信[10]
親投稿
こう subwars
なんにせよ夏休みもありますし お客が居る訳でもないので やりたいようにやりますよ
0そうだね
プレイ済み
返信[11]
親投稿
れい rei-nntnd
サンプルを抜き出すのではなく、「解空間」を狭めるのよ。 極端な話、「攻撃しかしない」か「回避しかしない」の2択しか答えを用意せず、 どっちが最適かという問題を解かせるなら速く答えが出せるでしょ? まぁそれじゃつまらないから、実際には中間的なのとか、変な行動とかいれてみたり、いくつかの行動をつなげたりとかして。 現時点で得られてる情報、場合によっては直近の数プレイ分の情報とかを用いて最適化を行う。 「即時性の高いメタヒューリスティクス手法」ってのは 現在までに得られている情報を用いて振舞いを動的に最適化するような処理の事だと思うが、 日本語だと「適応」、英語だと「adaptive」っていう。 「適応処理」とか「Adaptive Algorithm」とか。
0そうだね
プレイ済み
返信[12]
親投稿
こう subwars
適応なら自分のイメージしてるものと 近い気がします 項目 ・回避角度(回避成功率で判断) ・攻撃ルーチン(攻撃前後の戦力比で判断) ・攻撃タイミング (戦力比と成功率を評価して判断)
0そうだね
プレイ済み