2024美赛数学建模C题:网球比赛中的动量,用马尔可夫链求解!详细分析

文末获取历年美赛数学建模论文,交流思路模型

接下来讲解马尔可夫链在2024年C题中的运用

1. 马尔科夫链的基本原理

马尔科夫链 是描述随机过程的一种数学模型,其核心特征是无记忆性

简单来说,系统在某一时刻的状态只取决于当前状态,而与之前的状态无关。

3. 为什么选择马尔科夫链分析网球比赛?

网球比赛中,每次得分可以视为一个随机事件,其得分结果由当前比赛状态决定:

  • 无记忆性:下一分的得分结果不依赖于之前的比分序列。
  • 有限状态:比赛的得分范围有限(如 (0,0)(0,0)(0,0) 到 (4,4)(4,4)(4,4))。
  • 动态变化:每次得分改变比分状态,符合状态转移的特征。

因此,马尔科夫链是分析比赛动量效应及胜率分布的理想工具。

python 复制代码
import numpy as np

# 定义基本参数
max_points = 4  # 一局比赛获胜需要的分数
p_A = 0.6  # 球员A基本得分概率
p_B = 0.4  # 球员B基本得分概率
momentum_factor = 0.1  # 动量因子

# 状态总数:得分从 (0, 0) 到 (max_points, max_points)
num_states = (max_points + 1) * (max_points + 1)

# 初始化转移矩阵
P = np.zeros((num_states, num_states))

# 定义状态索引函数
def state_index(a, b):
    return a * (max_points + 1) + b

# 构建转移矩阵
for a in range(max_points + 1):
    for b in range(max_points + 1):
        current_state = state_index(a, b)
        
        # 检查吸收状态
        if a == max_points or b == max_points:
            P[current_state, current_state] = 1
            continue
        
        # 正常转移状态
        # 动量调整得分概率
        prob_A = p_A + (momentum_factor if a > b else 0)
        prob_B = p_B + (momentum_factor if b > a else 0)
        prob_A, prob_B = prob_A / (prob_A + prob_B), prob_B / (prob_A + prob_B)
        
        # A得分
        next_state_A = state_index(a + 1, b)
        P[current_state, next_state_A] = prob_A
        
        # B得分
        next_state_B = state_index(a, b + 1)
        P[current_state, next_state_B] = prob_B

# 初始状态分布
initial_state = np.zeros(num_states)
initial_state[state_index(0, 0)] = 1

# 模拟比赛
steps = 50
state_distribution = initial_state
for _ in range(steps):
    state_distribution = np.dot(state_distribution, P)

# 提取最终吸收状态的概率
absorption_probabilities = state_distribution.reshape((max_points + 1, max_points + 1))
print("吸收状态概率分布:")
print(absorption_probabilities)
相关推荐
88号技师3 小时前
2026年3月中科院一区SCI-赏金猎人优化算法Bounty Hunter Optimizer-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法
Cathy Bryant4 小时前
聊聊拓扑学
笔记·算法·数学建模·拓扑学·高等数学
88号技师6 小时前
2026年3月新锐一区SCI-傅里叶变换优化算法Fourier transform optimizer-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法
by————组态1 天前
Ricon组态系统:物联网时代的连接桥梁
运维·物联网·数学建模·组态·组态软件
weixin_307779131 天前
2025年中国研究生数学建模竞赛C题:围岩裂隙精准识别与三维模型重构
c语言·数学建模·重构
Cathy Bryant1 天前
薛定谔方程
笔记·数学建模·高等数学·物理
Figo_Cheung2 天前
Figo以规范势为基本量的规范场论(GPFT):电磁相互作用与宏观量子态的统一框架——揭示:规范势 [特殊字符] [特殊字符] 是电磁相互作用的根本实体
数学建模·量子计算·拓扑学
weixin_307779134 天前
2025年中国研究生数学建模竞赛A题:通用神经网络处理器下的核内调度问题——解决方案与实现
开发语言·人工智能·python·数学建模·性能优化
Allen_LVyingbo4 天前
相干伊辛机在医疗领域及医疗AI领域的应用前景分析
人工智能·数学建模·知识图谱·健康医疗·量子计算
88号技师4 天前
2026年3月一区SCI-B样条曲线优化算法B-spline curves optimizer-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法