今日はひさびさに朝から天気が良かったが、
午後から徐々に雲が増えてきて、
夜になると雨が降り出した。
明日の朝にかけては、
結構、荒れ模様の天気になりそうだ。
今日は特に予定が無く、
家内の通院の運転手で、
後は夕方に気の置けない仲間との
かなり久々の飲み会に参加した。
それ以外は、先日作ったダブルス組合せ
を生成するプログラムを改造していた。
このプログラムのロジックの根幹は
完成しており、組合せが上手くいかないと、
ヒューリスティックに試行錯誤をして、
より良い組合せを見つけようとする。
そのため、プログラムを走らせていると、
バックトラックが深くまで進むため、
例えば3コート14人程度の簡単な組合せでも
例えば1時間、とかかなりの時間がかかってしまう。
これを解消するために、
試行する順番を最適化したりしてみた。
その結果、思った以上に速度は向上した。
すると、ますます欲が出て、
更に別の条件を付加したくなる。
この繰り返しで、なかなか完成版とはならない。
現時点で、そこそこの組合せでも、
数分で計算できるようになった。
更に、対戦相手を今よりも最適化する
ロジックを入れたいのだが、
これを入れるとまた時間がかかるように
なってしまいそうだ。
これもある種のCI(継続的インテグレーション)
と言えるのかどうか、厳密には少し違う気もする。
しかし個人的には、趣味のプログラミングで
改造する楽しみを継続して楽しんでいる。
下手な受注ソフトウェア開発よりも、
最終的に良いプログラムが出来そうな気がする。