kirimaブログ(コロプラなど)

コロプラ、ドライブ、子育てなどが中心です。最近子供が言葉を覚えるスピードがものすごい。

鷹の爪団のアヤマル大作戦とナップサック問題

細々とやっていたコロプラ「鷹の爪団のアヤマル大作戦」ですが、

レベルも100を超えて怪人も溜まってきました。

 

で、気になっていたのが口撃・忍耐要員の選択ロジックですが、

どうも最善でないのでは?と常々気になっていました。

どうも予算に対して「口撃(忍耐)が大きな怪人から順に自動選択」している

ようなので、

 予算25で 口撃2000の怪人

 予算8で口撃1000の怪人3体(合計予算24で口撃3000)

 だと前者が選択されてしまいます。

 

この問題、どこかで見た覚えがあるような。。。と思っていたら、

選択アルゴリズムのナップサック問題ではありませんか。

鷹の爪のデフォルトのロジックは貪欲アルゴリズムですね。

大学時代、プログラムとかしていました。えぇ、すっかり忘れてました。 

 

というわけで、久々にナップサック問題を解くプログラムを書いてみましたよ。

懐かしいです。

結果、  口撃30000程度、忍耐29000程度だったのが共に10000くらい

アップしました!

最近金怪人(というのか?)と強化素材乱発でどの程度効果があるか

分かりませんが、しばらくこれで様子を見てみようと思います。 

そのうちVBとかで書いてもっと自動化したいですが、まぁそのうち。。