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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
show you
June 03, 2023
Programming
0
230
STEPの割り振りをStreamlit
ゲームのパラメータ割り振りを、PythonのライブラリであるStreamlitを使って行いました
show you
June 03, 2023
Tweet
Share
More Decks by show you
See All by show you
ラブライブ!向けのRDFを作ったよ!
showyou
0
85
AI真乃さんとLLMの発展
showyou
0
150
k8s低価格で使う
showyou
0
270
A horror story of digdag
showyou
1
1.1k
Other Decks in Programming
See All in Programming
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
AI巻き込み型コードレビューのススメ
nealle
2
420
dchart: charts from deck markup
ajstarks
3
1k
Raku Raku Notion 20260128
hareyakayuruyaka
0
340
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
今から始めるClaude Code超入門
448jp
8
8.9k
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
980
AI & Enginnering
codelynx
0
120
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
460
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
Fluid Templating in TYPO3 14
s2b
0
130
CSC307 Lecture 05
javiergs
PRO
0
500
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
140
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Navigating Weather and Climate Data
rabernat
0
110
Crafting Experiences
bethany
1
49
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
67
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
330
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
Thoughts on Productivity
jonyablonski
74
5k
Tell your own story through comics
letsgokoyo
1
810
The SEO identity crisis: Don't let AI make you average
varn
0
290
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