プチコン3号 SmileBASIC コミュニティトピック受付中Иあっキー#くさへび akkisato2017/08/25 16:42:12協力遺伝的アルゴリズムによるタイムアタック計画(?)どうも!お久しぶりです。きゃらくたぁ製作所ことあっキーです。 最近はマイクラPEでRS回路ばっかり組んでたので、あまりMiiverseには来ていなかったのですが、F-ZERO(GBA版)をプレイしていた時ふと面白そうなことを思いついたので 忘れる前に書いてみます。← なんだかんだで今3DSが使えないのでPCから投稿です。 アドバイス等募集。共同制作歓迎です! 説明はコメント欄で。9そうだね 13返信プレイ済み2017/11/03 17:17:02に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿Иあっキー#くさへび akkisato2017/8/25 16:58あ、コメのこも歓迎ですよ。 まだ作るって決めた訳じゃないですけど(笑) そもそも可能かどうかすら不明ですしおすし。 前置きが長くてすいません。 簡潔に言うと、 2DでF-ZEROもどき(仮)を作って これを遺伝的アルゴリズム(のようなもの)で より速くコースを走らせるという計画です。 TASならぬGAS(Genetic Algorithm Speedrun)ですね。 操作は某F-ZER○(今更伏字にする理由w)と同様、 旋回と左右移動、ブラスト(アクセル踏み直し)です。 タイムアタックなのでアクセルは固定。ブレーキは省略かな。 コースは短い方が分かりやすいかも。一画面に収めようか…1そうだね プレイ済み2017/11/03 17:17:02に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿Иあっキー#くさへび akkisato2017/8/25 17:07我ながら文章力の無さに嫌気がさしてきますね(白目) で、2DでF-ZEROっぽいものを作ってランダムの操作をさせて、コースアウトorゴールしたらそのデータを記録するって所までは、何となく分かるんですけど、問題はその中からより優れた個体を探し、交差させるところですね。 最初のうちは、ゴールする事すら間もならないでしょうから、ゴールからより遠くまで進んだ個体を選ぶ事になるでしょう…どうやって距離を測るか。 まずここが第一問題←早速 で、選んだとしても複数のデータをどのように掛け合わせるか。 ただ混ぜるだけなら、でたらめなデータになってしまいそう。 ここが第二問題ですね。 アドバイス求む!m(_ _)m1そうだね プレイ済み2017/11/03 17:17:02に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿ネタバレGodot orz_1272017/8/25 17:53第一問題は 「2DでF-ZEROっぽいものを作って」な気が。1そうだね プレイ済み2017/11/03 17:17:02に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿キルル2 kiruru22017/8/25 18:09F-ZEROのGBA版は私も持っていましたが、悲しいことにどこかに行ってしまったんですよね あれを2Dで作るんですね データをどのように掛け合わせるか 1代目の行動パターンは配列に格納しますよね?その中で優秀な個体を選んで、2つの配列の一部分を交換していく感じで良いと思います 突然変異体は、途中でデータの交換ではなく乱数の代入でできるのではないでしょうか?1そうだね プレイ済み2017/11/03 17:17:02に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿Иあっキー#くさへび akkisato2017/8/25 19:40Godotさん≫ まあまず作らないと始まりませんからね(笑) キルル2さん≫ 一様交差ってやつですかね・・・? なんかGA(遺伝的アルゴリズム)に拘らなくても SA(焼きなまし法)とか山登り法とかあるみたいですね・・・。 まあ全自動なら何でもありとします。0そうだね プレイ済み2017/11/03 17:17:02に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿Godot orz_1272017/8/25 21:22れいさんの「F-ねこ」でやってみては?0そうだね プレイ済み2017/11/03 17:17:02に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿MIKI ifconfig2017/8/25 21:48進み具合は コースの右端または左端に沿って順番に法線をたくさん引いて、 それを進み具合にすればいいのではないでしょうか ただ混ぜていいのです。 その結果たまたま進んだ遺伝子が生き残るわけで。 1そうだね プレイ済み2017/11/03 17:17:02に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿MIKI ifconfig2017/8/25 21:57ルールはまずは単純なモデルでいいと思います。 1. 位置P=(px, py) = (0,0), 速度V=(vx, vy) = (0,0)でスタート 2. vx, vy をランダムに +/-1 または 0 増加 (この増分を遺伝情報とする) 3. P'=P+V とし、線分 PP' がコース外に触れたら終了 4. P=P' 5. ゴールしたなら終了 6. goto 2 (実はあっキーさんと同じこと考えてた時があって、その時実装しようとしてたモデルです) 0そうだね プレイ済み2017/11/03 17:17:02に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿Иあっキー#くさへび akkisato2017/8/25 22:11Godotさん≫ それも良さそうですが、2Dの方が観察しやすそうだなぁと思いまして。 MIKIさん≫ あ、ただ混ぜるだけで良かったんですね^^ 単純なものといえば、ホバリングゲームを遺伝的アルゴリズムで動かそうとしたことがあるんですけど何故かうまくいきませんでしたね。 途中から結果が収束してしまっちゃったんだっけ… 評価の仕方が悪かったのか、それとも選別か、あるいは交差が原因か・・・。 他に何か簡単なもの…迷路とか? 品種改良で棘の無いウニでも作ろうかな(白目) 何か参考になることは無いかとニコ動を漁ってみたんですけど、ニューラルネットワークなるものがあるそうですね。むずかしそう。0そうだね プレイ済み2017/11/03 17:17:02に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿あ rejittsuan2017/8/26 11:08F-ZERO GBA版楽しいですよね! こめのこ1そうだね プレイ済み2017/11/03 17:17:02に取得
プチコン3号 SmileBASIC コミュニティ返信[11]親投稿ネタバレИあっキー#くさへび akkisato2017/8/26 16:53あさん≫ 久しぶりにやってみたら、 しばらくやってない間にコツを掴んでたみたい(?)で もしかしてこれコード無しでバーミリオン取れるのでは?と、 ファルコンmk2以外のマシンでグランプリを攻略中です。 関係薄いですが、初代DSってかっこいいですよね。←1そうだね プレイ済み2017/11/03 17:17:02に取得
プチコン3号 SmileBASIC コミュニティ返信[12]親投稿Иあっキー#くさへび akkisato2017/8/29 21:07ミバスが後二か月で終了・・・。 続きはまとめWikiでやる予定です。 引き続きよろしくお願いします。(?)0そうだね プレイ済み2017/11/03 17:17:02に取得