Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
STEPの割り振りをStreamlit
Search
show you
June 03, 2023
Programming
250
0
Share
STEPの割り振りをStreamlit
ゲームのパラメータ割り振りを、PythonのライブラリであるStreamlitを使って行いました
show you
June 03, 2023
More Decks by show you
See All by show you
ラブライブ!向けのRDFを作ったよ!
showyou
0
110
AI真乃さんとLLMの発展
showyou
0
170
k8s低価格で使う
showyou
0
270
A horror story of digdag
showyou
1
1.1k
Other Decks in Programming
See All in Programming
TAKTでAI駆動開発の品質を設計する
j5ik2o
5
610
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.1k
Moments When Things Go Wrong
aurimas
3
140
RTSPクライアントを自作してみた話
simotin13
0
440
dRuby over BLE
makicamel
2
300
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.5k
AI時代のUIはどこへ行く?その2!
yusukebe
19
6.5k
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
160
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
420
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.4k
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
310
The NotImplementedError Problem in Ruby
koic
0
280
Featured
See All Featured
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
Navigating Weather and Climate Data
rabernat
0
210
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Ruling the World: When Life Gets Gamed
codingconduct
0
240
HDC tutorial
michielstock
2
690
Rails Girls Zürich Keynote
gr2m
96
14k
KATA
mclloyd
PRO
35
15k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
190
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
410
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
260
How to train your dragon (web standard)
notwaldorf
97
6.7k
Transcript
シャニマスのS.T.E.P.最適化 Webアプリを作ってみた IM@Study 2023 しょうゆ 1
諸注意 • 当発表はしょうゆの趣味で作成しております • 本業(アイマスでいう所の副業)とは無関係となっております • ここで話す”シャニマス”は、enza版ブラウザゲームの”アイドルマスター シャイニー カラーズ”の事を指します (つい先日音ゲーのシャニソンが発表されたので念のため)
2
今日話す内容 • シャニマスのSTEPの(条件付きで)最適な割り振りを行うツールを作った • もう少し学術的な話 3
自己紹介 名前:しょうゆ JTCのデータエンジニア リングチームのマネージャ SNS: Twitter: @showyou, @shsub(こっちが趣味の話多め) mstdn.jp:
@showyou imastodon.net: @showyou (フサギコさんお世話になってます) アイマス歴: 現地参戦:シャニ3rd -> デレ10th幕張 -> 765AS幕張 -> ミリ9th -> MoIW 担当:真乃, 美希, 卯月, 愛梨 サブ:このみ、歌織 諸事情によりモバマスは初期から知ってます 4
シャニマスのS.T.E.P.とは • 育成ゲームであるシャニマスの中でも、特に育成に特化したパート • ストーリー部分は自動カット(後で見返し可能) • トレーニング等でポイントを稼いで、”成長”でパラメータを上げる • 1プレイ10分くらいで育成可能 •
現状センター以外の育成はこれ一択 • センターだけは親愛度の問題で 使えない(今のところは) そもそもグレフェスを何人プレイしてるのか 5
育成時の悩み 育成ポイントは溜まった。 で、どういう風に割り振れば属性値一番高くなるか? 6
ステータスを上げるために必要なポイント 線形になっていれば方程式を解くだけで最適解は求まる しかしS.T.E.P.は非線形に必要ポイントが上がるので、解きにくい 7
http://showyou41.win/shinystep 自動で最適化するツール作りました 8
技術的な紹介 Streamlit: pythonで軽く書くだけで、Webアプリケーションが作れるツール https://streamlit.io/ straylight.run()・・ではなく streamlit run hoge.py でWebサーバ立ち上げ可能 9
実装方法 • Streamlitで入力部分のパーツを作成 • 最適化ロジックを実装 • 結果をStreamlitで表示 • 通常、状態変更時遷移の実装が必要だが、Streamlitは勝手に対応 10
最適化ロジック 本気で対応しようとすると、後述の線形計画法等の知識が必要? ここでは簡易的に、以下の方針で対応した 1. まず上限+10をできる限り選択 -> この時の上限値 >= 上げたい能力の最大値 2.
ここから上げたい能力を上げて、ポイントが不足したら上限値を下げていく ただし能力 <= 上限は守ること 11
デモ 12
もうちょっと学術的な話 一定の制約条件の中で、値を最小化する問題を 組み合わせ最適化問題と呼ぶ 最大化はどうなんだ?って話もありそうですが、評価関数に -をつければ最大化も最小化の問題と捉え ることが可能 https://qard.is.tohoku.ac.jp/T-Wave/knapsack-with-integer-weights/ 例:ナップサック問題 重さWまで耐えられるナップサックに、価値c が最大になるように荷物を詰めたい
13 他にも工場の最適な生産計画を導出するの 等にも使われる
今回のS.T.E.P.で言うと • • • 上限 >= 属性値 を満たす最大の(属性強化回数, 上限強化回数) を見つける問題になる
ただしf_属性(x)とf_sp(x)は、右図やP8でも挙げた 非連続関数 (ちなみに属性値、上限値は 初期値 + 強化回数*10で計算可能) 14 団結力
よくある解法 普通のプログラミング言語では、動的計画法(DP)を使って解かれる事が多い 一方でPythonにはPulpなどの線形計画法(数理最適化のうち、不等式などで表現できる もの)のライブラリがあるので、使えば効率的に出せそう?(非連続だが) http://www.nct9.ne.jp/m_hiroi/light/pulp01.html 15
結論 • シャニマスのSTEPの計算ツールをStreamlitで作った ソース https://github.com/showyou/shinycolors_step_calculator • 組み合わせ最適化問題の話もした • Streamlitを使えば、最適値の計算ツールなども サクッと作れる
16
できていないところ 本来のS.T.E.P.の強化では、属性値、属性上 限以外にもSP値消費で取れる上限アップも あります。 今回はこれらの要素は計算に含めていませ ん (条件付き=>これ) 計算後に残りSPを出すようにしているので、 そのSPを使って上限アップを取得して下さい 17
で、今は? 18 あれ?
ステータスを上げるだけではグレ7には上がれない 19 ノウハウ収集・・パーフェクトリー・・
あといいわけ 20
権利絡み アイドルマスター シャイニーカラーズなどの権利は、バンダイナムコ様が保有しておりま す こういったデータの解析は怒られそうな気もしますが、S.T.E.P.に関しては全ての情報が ユーザに見えてるので許してほしい・・ 21