ああっと
いつの間にか8月も終わりですねー。
実家のほうがとても暑いです・・・そもそもこの時期にこっちにいるのは
とても損な気がしますが・・・・。
一ヶ月広告を消すためだけに更新しただけなので
特に書く事がないですw。
それではー。
実家のほうがとても暑いです・・・そもそもこの時期にこっちにいるのは
とても損な気がしますが・・・・。
一ヶ月広告を消すためだけに更新しただけなので
特に書く事がないですw。
それではー。
夏ですね
学習
今月はイベントは特にありませんでしたが、それなりに忙しかったです。
今月はイベントがあるのでかなり忙しくなりそうです。
来月は実家の方で仕事があるので実家に帰れそうです。
さてと、記事の題名の通り、少しだけmugenのAIにも関係がありますが、どちらかというと本当の"人工知能"に関係が深いものです。
今月は"NQeen問題"というものをニューラルコンピューティングを使って解決してみるという遊びをしていました。
NQueen問題とは
というものです。
単純に探索を使ってもかまわないのですが、Nの数が増加するにつれて指数関数的に探索枝が増え、64bitのOSに限界までメモリを積んだPCでもどうにもならない数のNが出現してしまいます。
もちろん、ニューラルネットワークを使ってもNが大きすぎるとどうにもならなくなりますが、対応できるNの数は通常の探索に比べると比較にならないくらいの大きさと計算速度を兼ね備えいます。
というわけで単純な 100Queenを解いた解答を載せます。
この程度の数ならプログラムを実行してから1分程度で出てしまいますね。

ニューラルコンピューティングは重みづけによってニューロンの発火を促し、行動を選択しています。
単純に"良い""悪い"の信号を送るだけで他のニューロンとの重みを調整し、取るべき行動を選択しているのです。
mugenでもすでに学習が導入されているAIだとある技が相手の○○の状態の時に決まったか決まらなかったかで
重みづけ修正(技を出す確率修正)を行っているものがありますね。結構違いますが、大体そんな感じです。
基盤となる仕組みは同じなのですが、条件や周りの環境によって重みづけの組み合わせを組み替えることができるというのはかなり重要なことだと思います。
mugenのAIでももしも外部ファイル出力ができるのであれば(更にその外部出力を上手にmugenの記述として学習過程を記述する人間の技術があるのならば)
基盤の重みづけ学習を記述するだけでキャラごとに製作者がAIを学習させるだけでAIが強くなるかもしれませんねw。
(何が言いたいかというとキャラ名を記憶する(最初にデータベース分岐を作っておく必要はない)
->適当に対戦させる
->相手の○○ステートの時は△△という行動は通じるが××は通じないというのを重みづけ更新で学習
->学習結果を外部ファイル出力
次回対戦時からその学習結果を読み込んでそれを基にAIが行動。更に学習を続ける。
というものです。
学習と学習結果を読み込んだ際にステートに変換するところだけを作れば後は自動でAIは戦い方を決定していきます。
まぁ、mugenのAIだけでなくコンピュータのAIに共通して言えることですが、中身のAIを変えてしまうと今までの学習結果が全く通じなくなったりもします。その場合はまたそのAIから学習を再開するだけなのですが・・・。
後、他の問題点は相互にこのシステムを導入したとすると、最終的には学習が収束して結果がキャラ性能で大体決まってしまうということですね。
むしろ両者とも全く動かないことが起こりうるかもしれません。"勝利はしないが敗北もしない"ということですねw
(良い結果が勝利することであり、一番だめな結果が負けることだから。その意味では待ちガイルは最善の戦法)。
今のmugenはどうだか知りませんが、まだ難しい技術だし、実用的な技術じゃないかもしれませんね。
今回は"学習"という視点からAIに接近した内容でした。
それでは〜。
追記
更に問題点。MBAAのようなモード選択のあるキャラはどう考えても"名前"と"製作者名"で
学習結果を適応しても戦い方に違いが出てくるので通用しませんね。この通り探せばいくらでも問題がありそうな理論です。
今月はイベントがあるのでかなり忙しくなりそうです。
来月は実家の方で仕事があるので実家に帰れそうです。
さてと、記事の題名の通り、少しだけmugenのAIにも関係がありますが、どちらかというと本当の"人工知能"に関係が深いものです。
今月は"NQeen問題"というものをニューラルコンピューティングを使って解決してみるという遊びをしていました。
NQueen問題とは
N*Nのチェス(のような)盤上に、N個のクイーンを配置する。このとき、どの駒も他の駒に取られるような位置においてはいけない。
クイーンの動きは、上下左右斜めの8方向に、遮る物がない限り進める。将棋の飛車と角行を合わせた動きである。
というものです。
単純に探索を使ってもかまわないのですが、Nの数が増加するにつれて指数関数的に探索枝が増え、64bitのOSに限界までメモリを積んだPCでもどうにもならない数のNが出現してしまいます。
もちろん、ニューラルネットワークを使ってもNが大きすぎるとどうにもならなくなりますが、対応できるNの数は通常の探索に比べると比較にならないくらいの大きさと計算速度を兼ね備えいます。
というわけで単純な 100Queenを解いた解答を載せます。
この程度の数ならプログラムを実行してから1分程度で出てしまいますね。

ニューラルコンピューティングは重みづけによってニューロンの発火を促し、行動を選択しています。
単純に"良い""悪い"の信号を送るだけで他のニューロンとの重みを調整し、取るべき行動を選択しているのです。
mugenでもすでに学習が導入されているAIだとある技が相手の○○の状態の時に決まったか決まらなかったかで
重みづけ修正(技を出す確率修正)を行っているものがありますね。結構違いますが、大体そんな感じです。
基盤となる仕組みは同じなのですが、条件や周りの環境によって重みづけの組み合わせを組み替えることができるというのはかなり重要なことだと思います。
mugenのAIでももしも外部ファイル出力ができるのであれば(更にその外部出力を上手にmugenの記述として学習過程を記述する人間の技術があるのならば)
基盤の重みづけ学習を記述するだけでキャラごとに製作者がAIを学習させるだけでAIが強くなるかもしれませんねw。
(何が言いたいかというとキャラ名を記憶する(最初にデータベース分岐を作っておく必要はない)
->適当に対戦させる
->相手の○○ステートの時は△△という行動は通じるが××は通じないというのを重みづけ更新で学習
->学習結果を外部ファイル出力
次回対戦時からその学習結果を読み込んでそれを基にAIが行動。更に学習を続ける。
というものです。
学習と学習結果を読み込んだ際にステートに変換するところだけを作れば後は自動でAIは戦い方を決定していきます。
まぁ、mugenのAIだけでなくコンピュータのAIに共通して言えることですが、中身のAIを変えてしまうと今までの学習結果が全く通じなくなったりもします。その場合はまたそのAIから学習を再開するだけなのですが・・・。
後、他の問題点は相互にこのシステムを導入したとすると、最終的には学習が収束して結果がキャラ性能で大体決まってしまうということですね。
むしろ両者とも全く動かないことが起こりうるかもしれません。"勝利はしないが敗北もしない"ということですねw
(良い結果が勝利することであり、一番だめな結果が負けることだから。その意味では待ちガイルは最善の戦法)。
今のmugenはどうだか知りませんが、まだ難しい技術だし、実用的な技術じゃないかもしれませんね。
今回は"学習"という視点からAIに接近した内容でした。
それでは〜。
追記
更に問題点。MBAAのようなモード選択のあるキャラはどう考えても"名前"と"製作者名"で
学習結果を適応しても戦い方に違いが出てくるので通用しませんね。この通り探せばいくらでも問題がありそうな理論です。
近況ーー
まだ9日なのに1か月広告が出ちゃっていたので急きょ更新です。本当は明日の予定だったんですが....。
近況としては、mugenは全くと言っていいほど触らなくなってしまいました。
シエル先輩のAIを作りたいとは思いつつ触る回数が減ってしまいますねー。昔のあの記述が私のAIの才能のマックスだったのかもしれないなぁ.....と。
シロトさんのAIも十二分に強くてユニークなのでもしかしたら私のAIはもう作らないかもしれません。
誰も待っていないでしょうが、あれだけ作ると言っておいてこうなっちゃったのは非常に申し訳ない気持ちでいっぱいです。
mugen以外のコードは書く機会が本当に増えてしまってコードを触らない日は無いというくらい
プログラミングのほうはやっているんですけれどねー(99%趣味ですが).
話変わって、最近ようやくこっちも暖かくなってきました。むしろちょっと暑いくらいに。
もうちょっと暑くなるとビールが美味しくなりますね。夏は本州の実家のほうに帰ってビールを楽しみたいです!
まぁ、実家に帰りたいのはどちらかというと犬に会いたいからなんですけれどねw。
その他の話題としては、私のPCの内側の環境が結構変わりました。
windows7Professional64bitになったので4GBのメモリがフルに使えるようになったり、
プログラミングのエディタはVisualStudio2010Ultimateの製品版を導入したりと
なかなか大きな変化があった、程度ですかねー。
特にほかの話題もないので今日はこの辺で。
それでは〜。
近況としては、mugenは全くと言っていいほど触らなくなってしまいました。
シエル先輩のAIを作りたいとは思いつつ触る回数が減ってしまいますねー。昔のあの記述が私のAIの才能のマックスだったのかもしれないなぁ.....と。
シロトさんのAIも十二分に強くてユニークなのでもしかしたら私のAIはもう作らないかもしれません。
誰も待っていないでしょうが、あれだけ作ると言っておいてこうなっちゃったのは非常に申し訳ない気持ちでいっぱいです。
mugen以外のコードは書く機会が本当に増えてしまってコードを触らない日は無いというくらい
プログラミングのほうはやっているんですけれどねー(99%趣味ですが).
話変わって、最近ようやくこっちも暖かくなってきました。むしろちょっと暑いくらいに。
もうちょっと暑くなるとビールが美味しくなりますね。夏は本州の実家のほうに帰ってビールを楽しみたいです!
まぁ、実家に帰りたいのはどちらかというと犬に会いたいからなんですけれどねw。
その他の話題としては、私のPCの内側の環境が結構変わりました。
windows7Professional64bitになったので4GBのメモリがフルに使えるようになったり、
プログラミングのエディタはVisualStudio2010Ultimateの製品版を導入したりと
なかなか大きな変化があった、程度ですかねー。
特にほかの話題もないので今日はこの辺で。
それでは〜。





