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)
相关推荐
人大博士的交易之路14 小时前
今日行情明日机会——20250512
大数据·数学建模·数据挖掘·缠论·缠中说禅·涨停回马枪
小文数模2 天前
2025数维杯数学建模A题完整参考论文(共36页)(含模型、可运行代码、数据)
python·数学建模·matlab
C灿灿数模分号12 天前
2025 年数维杯数学建模 C 题完整论文代码模型
数学建模
XuX033 天前
MATLAB制作折线图:从入门到精通(下)
数学建模·matlab
小文数模3 天前
2025数维杯数学建模C题完整分析参考论文(共36页)(含模型、可运行代码、数据)
python·数学建模·matlab
热心网友俣先生4 天前
2025年深圳杯D题第一版本matlab代码 论文分享
人工智能·数学建模
How_doyou_do4 天前
项目实战-25年美赛MCM/ICM-基于数学建模与数据可视化的动态系统模型
python·数学建模·数据可视化
瑞雪兆丰年兮4 天前
数学实验(Matlab语言环境和线性代数实验)
算法·数学建模·matlab·数学实验
灏瀚星空5 天前
深度学习之LSTM时序预测:策略原理深度解析及可视化实现
python·深度学习·神经网络·算法·机器学习·数学建模·lstm
lynne2336 天前
计算广告-广告智能出价原理-出价的数学建模
数学建模