大家好,又见面了,我是你们的朋友全栈君。
2022年美赛A题思路分析
咱们少说废话,直接进入正题:
问题解读
开发一个可应用于任何类型骑手的模型,确定骑手在球场上的位置与骑手应用的力量之间的关系。骑手在整个赛程中可以消耗的总能量是有限制的,同时也有因过去的攻击性和超过功率曲线限制而累积的限制。需要考虑的是:
- 在特定的时间长度内,功率曲线提供了骑手在给定时间内可以保持的最大功率。
- 骑手产生的功率越大,骑手在不得不减少功率并恢复之前维持该功率的时间就越短。
- 骑手可以选择短暂地超过功率曲线上的限制,但骑手需要额外的时间在较低的功率水平下恢复。
- 过去车手的功率输出很重要,随着比赛的进行,车手会越来越疲劳。
- 骑手们总是希望尽可能缩短完成给定距离所需的时间。
问题要求
- 定义两种类型骑手的功率曲线。你的一名骑手应该是计时专家,另一名骑手应该是不同类型的骑手。
- 将你的模型应用于各种计时赛事上;
- 确定天气条件的潜在影响,包括风向和风力,以确定结果对天气和环境的微小差异的敏感程度。
- 确定结果对偏离目标功率分布的骑手偏差的敏感性。
- 讨论如何扩展您的模型。
功率曲线
功率曲线是一段时间内可以产生的功率的图形表示。x轴上是时间,y轴上是瓦特。所有功率曲线都是唯一的,但通常都是左端较高,右端较低。这是因为我们能产生的能量随着时间的推移而减少。
正如题目所叙述,有多类不同类型的骑手:
短功率
短功率骑手可以保持一定的功率大约20秒,然后功率的曲线急剧下降:
持续功率
功率曲线从一分钟到五小时一直保持平坦,具有很高的抗疲劳能力,并且能够长时间保持接近阈值的功率。
VO2 Max
在曲线的两分钟和四分钟,功率增加。五分钟后,功率下降。属于短而有力的攀登爬坡类型的骑手。
不同类型的功率曲线对应不同类型的骑士,应当考虑到他们的特性去做一个解决方案。
数学模型
对于这类连续性优化问题,我们一般有两种方式去建模求解:
动态规划&Q-learning
我们设针对的骑士 i i i的当前坡道位置以及此时的环境等消息用数组或张量表示,记作状态 S t S_t St,加入在 t t t时骑手应用的力量可以用动作 A t A_t At表示,则我们的问题相当于找到一个最优的策略 π \pi π,使得我们最终最短时间的到达目的点,也就是我们应该对每个过程给予一定的惩罚,如果没有到达目的点,则反馈一个回报 R = − 1 R=-1 R=−1,则此时骑手状态的价值可以建模表示为:
max π E [ ∑ t = 0 H γ t R ( S t , A t , S t + 1 ) ∣ π ] \max _{\pi} \mathbb{E}\left[\sum_{t=0}^{H} \gamma^{t} R\left(S_{t}, A_{t}, S_{t+1}\right) \mid \pi\right] πmaxE[t=0∑HγtR(St,At,St+1)∣π]
对于上式的求解,.。。。。
程序
程序和思路详情:代码
将不断更新中
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143802.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...