IT系専門学生の作成物

つくったのてきとうにしょうかいするよ

TETRIS-GeneticAlgorithm-


遺伝的アルゴリズム テトリス

↑処理させてる時間長いから一時停止挟んで録画してます。

f:id:ajunjukira:20180210180337j:plain

f:id:ajunjukira:20180210180350j:plain

f:id:ajunjukira:20180210180404j:plain

システム名:TETRIS-GeneticAlgorithm-

作成日 :2017年12月前後

作成期間:一カ月程度

作業時間:70~150時間(僕個人)

作成メンバー:4名(同期)

 

システム概要:通常のTETRISを作成し、遺伝的アルゴリズムを使用したAIに最適化を行わせる事を目標としたアプリ

 

開発環境-開発ツール:Dxライブラリ

開発環境-開発言語 :c言語

動作環境-OS             :Windows

 

初めての取り組み

  1. 遺伝的アルゴリズムの使用
  2. 描写処理を行わない事による処理の高速化

 

今後の課題

  1. 移動キー複数入力時に駒が浮くバグの解決
  2. GAの処理速度、最適化の正確さの強化
  3. GAの結果セーブ機能

////////////////////////////////////////////////////////////

初めの1,2週間で班員皆でTETRISを作成、残る開発期間でぎりぎりまでGAを調整し続けた。

TETRIS作成もちょっとだけ工夫して、本家と同じようにTスピンとか実装したけど、

処理がどうなってるのかよく分からなくなって調整が出来なくなった。

コメントって大事。 

 

遺伝的アルゴリズムという名前を聞いた事すら無くて、

一からのスタートである程度の形になるまでとても時間が掛かった。

開発期間中、家族の車の中だったり学校の別の授業中だったり放課後だったり、

時間見つけては作業する日々で結構大変だった。

 

開発段階でなんか配列の合計数に上限あるな~って思ってて、

staticを付ければメモリをどっか良い所から取得してくれるらしいから上限上がる。

って最近知ったから、この頃は個体数66の遺伝子数4000,世代数260までしか作れなかった。

エリート法で上位5名残して、そのエリート達の動きの後半をランダムに作り直すだけの処理だから

準準準最適化位の曖昧さだと思う。

評価関数の得点一つでAIの動きがガラッと変わるから色々調整してて楽しかった。

処理高速化の為に垂直同期切ってfps800とか出る様にしてるけど、

ノートPCだと全力で排熱しだすからノートPCの寿命削るマンになってる。怖い

 

発表で学科内一位取れてうれしかった・。・v

 

f:id:ajunjukira:20180210180434j:plain

f:id:ajunjukira:20180210180425j:plain