スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

個体値・努力値逆算アルゴリズム?

 勉強中ふと思いついて書いてみた。

 【定義】
・求める変数
 k : 個体値
 d : 努力値の4分の1の値

・入力する値
 S : 種族値
 C : 性格補正の逆数
 J : ステータス実数値
 L : レベル

 にはH,A,B,C,D,Sが入り、それぞれのステータスと対応


 目的関数
 minimize
    kH + kA + kB + kC + kD + kS
 (解説:努力値振りは基本的に最大まで行っていると考えると、入力されたステータスを実現する努力値と個体値を考えるとき、個体値の合計が最小になるときが実際のものに近くなると考える)

 制約関数
 subject to
    LkH + LdH = 100JH - 2SHL - 100L -1000
    LkA + LdA = 100JACA - 2SAL - 500
    LkB + LdB = 100JBCB - 2SBL - 500
    LkC + LdC = 100JCCC - 2SCL - 500
    LkD + LdD = 100JDCD - 2SDL - 500
    LkS + LdS = 100JSCS - 2SSL - 500
    dH + dA + dB + dC + dD + dS ≦ 127
    0 ≦ k ≦ 31(kは整数)
    0 ≦ d ≦ 63(dは整数)


 以上の制約を満たしながら、目的関数が最小になる個体値kと努力値dのそれぞれの値を求めろっていうナップサック問題です(たぶん)。
 連続緩和問題としてシンプレックス法を用いて解くか、分岐限定法を用いるかすれば解ける問題ですね。


 P.T.A.T.で実装してあるのは分岐限定法もどきのアルゴリズムです。分岐限定法ってのを知る前に組んだけどね!(´・ω・`)

 誰か挑戦してみたらいいんじゃないかな←
 個体値・努力値を予測できるのはあんまりない気がします。
スポンサーサイト

テーマ : ポケットモンスターブラック2・ホワイト2
ジャンル : ゲーム

コメントの投稿

非公開コメント

プロフィール

NLR

Author:NLR
ポケモンBWのツールをC#で開発中です。
絵はたしなむ程度ですが描くことがあります。

最新記事
リンク
カテゴリ
Counter
最新コメント
月別アーカイブ
最新トラックバック
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
検索フォーム
QRコード
QR
アフィリエイト・SEO対策
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。