鷹の爪団のアヤマル大作戦とナップサック問題
細々とやっていたコロプラ「鷹の爪団のアヤマル大作戦」ですが、
レベルも100を超えて怪人も溜まってきました。
で、気になっていたのが口撃・忍耐要員の選択ロジックですが、
どうも最善でないのでは?と常々気になっていました。
どうも予算に対して「口撃(忍耐)が大きな怪人から順に自動選択」している
ようなので、
予算25で 口撃2000の怪人
予算8で口撃1000の怪人3体(合計予算24で口撃3000)
だと前者が選択されてしまいます。
この問題、どこかで見た覚えがあるような。。。と思っていたら、
選択アルゴリズムのナップサック問題ではありませんか。
鷹の爪のデフォルトのロジックは貪欲アルゴリズムですね。
大学時代、プログラムとかしていました。えぇ、すっかり忘れてました。
というわけで、久々にナップサック問題を解くプログラムを書いてみましたよ。
懐かしいです。
結果、 口撃30000程度、忍耐29000程度だったのが共に10000くらい
アップしました!
最近金怪人(というのか?)と強化素材乱発でどの程度効果があるか
分かりませんが、しばらくこれで様子を見てみようと思います。
そのうちVBとかで書いてもっと自動化したいですが、まぁそのうち。。