主要观点:作者重新开始玩《英雄联盟》后,选择玩凯莎(Kai'Sa),因其技能有趣,且被动能随特定属性阈值进化。作者借此用线性规划(LP)解决找到凯莎最便宜进化装备build的问题,包括定义优化函数和约束条件等,用 Rust 语言结合good_lp
库实现代码,还获取了《英雄联盟》中物品数据,过滤出相关物品,最终找到最优化build,但此build在游戏中实际操作有局限性,如可考虑更多约束条件以探索其他解决方案等。
关键信息:
- 凯莎被动:三主动技能随特定属性阈值进化,如 100 攻击力(AD)时“Icathian Rain”技能从 6 枚导弹进化为 12 枚。
- 线性规划:定义优化函数和约束条件,如优化函数为装备成本,约束条件为达到技能进化所需属性阈值等。
- 代码实现:用 Rust 语言,创建
Item
结构体存储物品信息,通过solve
函数求解最优化build,包括声明变量、构建表达式、求解和打印结果等。 - 获取物品数据:利用 Riot 提供的Data Dragon服务获取物品数据,包括
item.json
,并过滤出相关物品。 - 最优build及局限:找到最优化build,但实际游戏中购买某些物品可能不是好的投资,且忽略了移动速度等因素。
重要细节:
- LP 求解需整数变量,不能直接用实数解四舍五入,需使用支持整数变量的 LP 求解器。
item.json
中物品包含多种信息,只关注与凯莎被动相关的攻击伤害、法术强度和攻击速度的统计数据。- 可通过添加额外约束条件找到其他解决方案,如更高成本、更适合后期或特定对局的build等,也可探索按顺序进化技能的约束条件,但可能需要更强大的工具。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。