私は、約16個の浮動小数点「定数」に依存する競技用のゲームプレイプログラムを作成しました。定数を変更すると、プレイスタイルと成功率に劇的な影響を与える可能性があります。
また、定数の最適値を生成するための簡単な遺伝的アルゴリズムを作成しました。ただし、アルゴリズムは「最適な」定数を生成しません。
考えられる理由:
- アルゴリズムにエラーがあります(当面はこれを除外してください!)
- 人口が少ない
- 変異率が高すぎる
- 配偶者率はもっと良いかもしれません
アルゴリズムは次のようになります。
- 最初に初期母集団が作成されます
- 各メンバーの初期定数が割り当てられます(私のバイアスに0.75から1.25の間のランダムな係数を掛けたものに基づいて)
- 世代ごとに、人口のメンバーはゲームの試合のためにペアになります
- ドロー両方が1回クローンされる場合、勝者は2回クローンされます。
- random()が変異率よりも小さい場合、クローニングは1つの遺伝子を変異させます
- 突然変異は、ランダム定数を0.75〜1.25のランダム係数で乗算します
- 一定の間隔で、交尾率に応じて、メンバーはペアになり、遺伝子は混合されます
私の現在の設定:
- 母集団:40(低)
- 変異率0.10(10%)
- 交配率0.20(5世代ごと)
個体数の大きさ、突然変異率、配偶者率のより良い値は何でしょうか?
推測は大歓迎です、正確な値は期待されていません!また、同様の遺伝的アルゴリズムに関する洞察がある場合は、共有したいと思います。そうしてください。
PS:誰かが興味を持っているなら、問題のゲームプレイ競争:http: //ai-contest.com/