2024美赛C题思路/代码:网球中的动量

2024-02-02 19:36

本文主要是介绍2024美赛C题思路/代码:网球中的动量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

美赛直播b站,提前关注:川川菜鸟

美赛辅导预定:美赛服务

去年美赛C题:2023美赛C题

题目翻译

背景

在2023年温布尔登男子单打决赛中,20岁的西班牙新星阿尔卡拉兹击败了36岁的诺瓦克·德约科维奇。这是德约科维奇自2013年以来在温布尔登的首次失利,也终结了这位历史上最伟大的网球运动员之一在大满贯赛事中的非凡纪录。

这场比赛本身是一场精彩的战斗。德约科维奇似乎注定要轻松获胜,因为他在首盘以6比1(其中赢得了7个发球局)主宰了比赛。第二盘同样轻松,最终以6比2赢得比赛。但第三盘成为了第一盘的完全相反,阿尔卡拉兹以6比1赢得比赛。这位年轻的西班牙选手似乎在第四盘开始时完全控制了比赛,但不知怎的,形势再次发生了变化,德约科维奇以6比3将比赛拖入决胜盘。最后一盘开始时德约科维奇带着从第四盘的优势进入,但再次出现了方向的变化,阿尔卡拉兹获得了胜利并以6比4取得了胜利。这场比赛的数据集中有一组数据,其“match_id”为“2023-wimbledon-1701”。你可以在数据集中查看德约科维奇在首盘占优时的所有得分点,当时“set_no”列的数字等于1。这场比赛令人难以置信的波动,有时是许多分数甚至是整个发球局的波动,在比赛的某些时刻似乎占据了优势,这通常被归因于“动量”。

关于动量的一种字典定义是“通过运动或一系列事件获得的力量或力量”。在体育比赛中,一个团队或玩家可能会感到他们有动量,或者是“势头力量”,但这很难在比赛/游戏中衡量。更进一步,如果存在动量,很难看出比赛中的各种事件是如何创造或改变动量的。

题目

提供了2023年温布尔登网球锦标赛男子单打前两轮每一分的数据。你可以根据自己的判断,选择包含额外的球员信息或其他数据,但你必须完整地记录数据来源。使用这些数据来:

  1. 开发一个模型,捕捉比赛中得分发生时的比赛流程,并将其应用到一场或多场比赛中。你的模型应该识别哪位球员在比赛中的某个时刻表现更好,以及他们表现得有多好。提供一个基于你的模型来描绘比赛流程的可视化图表。注意:在网球中,发球的球员赢得比赛的概率要高得多。你或许希望以某种方式将这一因素纳入你的模型中。
  2. 一位网球教练对“势头”在比赛中发挥任何作用持怀疑态度。相反,他认为,一位球员比赛中的表现波动和连胜都是随机的。使用你的模型/指标来评估这一说法。
  3. 教练们非常想知道是否有指标可以帮助确定比赛流程何时会从有利于一位球员变为有利于另一位球员。
    3.1 使用至少一场比赛提供的数据,开发一个模型来预测这些比赛中的波动。有哪些因素似乎最相关(如果有的话)?
    3.2 鉴于过去比赛中“势头”的波动差异,你如何建议一位球员进入针对不同球员的新比赛?
  4. 在其他比赛中测试你开发的模型。你的模型预测比赛中的波动效果如何?如果模型有时表现不佳,你能识别出未来模型可能需要包含哪些因素吗?如何普遍化你的模型,使其能够用于未来的比赛(例如女子比赛)、不同的赛场表面以及其他体育项目,如乒乓球?
  5. 产生一份不超过25页的报告,概述你的发现,并包括一份至两页的备忘录,总结你的结果并提供建议,关于“势头”是什么,以及如何准备球员应对网球比赛中的势头变化。

提供文件

  1. Wimbledon_featured_matches.csv —— 2023年温布尔登网球锦标赛男子单打第二轮之后的数据集。
  2. data_dictionary.csv —— 数据集的描述。
  3. data_examples —— 帮助理解所提供数据的示例。

数据描述

例子1:

  • match_id - “2023-wimbledon-1301” 表示这是第三轮比赛中的第一个比赛,"01"表示这是那一轮的第一个比赛。
  • elapsed_time - “0:01:31” 表示从比赛开始到现在过去了一分钟三十一秒。
  • point_no, game_no, set_no - “4, 1, 1” 表示这是第一盘的第一局的第四分。
  • pl_sets, p2_sets, p1_games, p2_games - “0, 0, 0, 0” 表示这是比赛的第一局,所以两位选手都还没有赢得任何盘或局。
  • p1_score, p2_score - “15, 30” 表示这一分的时候,选手1的得分是15,选手2的得分是30。所以,选手1赢得了之前的一分,而选手2赢得了两分。
  • server - “1” 表示选手1(Alcaraz)在这一分发球。
  • serve_no - “1” 表示这是第一次发球。
  • point_victor - “1” 表示这一分是选手1(Alcaraz)赢得的。
  • p1_points_won, p2_points_won - “2, 2” 表示在这一分之后,两位选手在整个比赛中各自赢得了两分。
  • game_victor, set_victor - “0, 0” 表示这一分的赢家并没有使任何一方赢得这一局或这一盘。
  • p1_winner - “1” 表示这一分是选手1赢得的。
  • p1_ace - “0” 表示这一分不是通过发球得分(Ace)赢得的。
  • winner_shot_type - “F” 表示赢得这一分的是一个正手击球(而不是反手)。
  • p2_net_pt - “1” 表示选手2(Jarry)在这一分的某个时刻接近了网前。
  • p2_net_pt_won - “0” 表示尽管Jarry在网前,但是这一分没能赢得。
  • p1_distance_run, p2_distance_run - “51.108, 75.631” 表示在这一分中,每位选手分别跑了51.108米和75.631米。
  • rally_count - “13” 表示这一分中两位选手合计击球了13次。
  • speed_mph, serve_width, serve_depth, return_depth - “130, BW, CTL, D” 表示Alcaraz(发球者)以130英里每小时的速度发出了一次“Body Wide”的发球,而接发球者(之前我们看到了一个第一发球)将球打回了“Deep”在球场的另一端。

例2:
这部分表格展示了网球比赛第一局最后四分的情况,演示了平分(“deuce”)和优势(“ad”)的概念。每一行代表比赛中的一个接下来的分数。
第8行:

  • p1_score, p2_score - “40, 40” 表示比分是40平,这也叫做“deuce”,每个选手已经赢了3个分。
  • point_victor - “1” 表示选手1(Alcaraz)赢得了这一分(在第8行)。

第9行:

  • p1_score, p2_score - “AD, 40” 因为Alcaraz赢了前一个分数(第7分),所以第8分的比分现在是对Alcaraz的“AD”和对Jarry的“40”,意味着Alcaraz已经赢了另外一个分数,如果他赢得下一个分数就能赢得这一局。
  • point_victor - “2” 表示Jarry(选手2)赢得了第9行的这一分。

第10行:

  • p1_score, p2_score - “40, 40” 比分又回到了40平,这意味着每个选手都赢了相同数量的前面几分,尽管现在是各自4分。
  • point_victor - “1” 表示Alcaraz赢得了第10行的这一分。

第11行:

  • p1_score, p2_score - “AD, 40” Alcaraz又一次获得了优势,因为他赢得了第9分。
  • point_victor - “1” 表示Alcaraz在第11行赢得了这一分,这意味着他赢得了这一局(现在他已经赢了两分)。

第12行:

  • game_no - “2” 这是第二局的第一个分。
  • p1_games - “1” 表示Alcaraz赢得了第一局。

网球比赛中的第51分,演示了“破发点”——即非发球方(接发球方)有机会赢得这一局的情形。
第51行:

  • p1_score, p2_score - “40, 30” 表示比分是40比30,选手1(Alcaraz)领先。
  • server - “2” 表示Jarry(选手2)在发球。
  • p1_break_pt - “1” 如果Alcaraz赢得这一分,他就将赢得这个游戏;因为他不是发球方,所以这是一个“破发点”。
  • point_victor - “1” 表示Alcaraz赢得了这个分数(因此赢得了这局比赛)。
  • p1_break_pt_won - “1” 表示Alcaraz赢得了这局比赛,并且他不是这一分的发球方。

术语表

  • 大满贯(Grand Slam):在网球中,大满贯是指在一个日历年中赢得四大主要锦标赛中的同一个单项赛事的成就。四大满贯赛事包括澳大利亚公开赛、法国公开赛、温布尔登锦标赛和美国公开赛,每个赛事持续两周。

术语表/关键术语概念

记分制:

  • 比赛:男子单打比赛为五盘三胜制(在温布尔登网球锦标赛中)
  • 盘:一系列局,6局赢一盘,但球员必须以两局以上的优势获胜
  • 局:一系列分,球员达到4分获胜,但必须以两分以上的优势走赢。详情见下文“一个局的记分方式”
    一个局的记分方式:

一个局的记分方式:

  • 0分 = Love
  • 1分 = 15分
  • 2分 = 30分
  • 3分 = 40分
  • 平分比如“30平”
  • 40比40 = Deuce(双方分数相同,至少各有3分)
  • 服务器赢得平分局得分 = Adv-in(或称“优势局内”)
  • 接球方赢得平分局得分 = Adv-out(或称“优势局外”)

发球:

球员轮流担任“发球者”(打出局的第一球的球员)和“接球者”。在职业网球中,发球者通常拥有很大优势。发球者每个分有两机会将球打入球场(进入“发球区”)。如果两次尝试都未能让发球落在球场内,则被判“双误”而丢分,对方获得分数。

  • 破发:接球方赢得一个局。
  • 破发点:如果接球方赢得该分,他们将赢得该局。
  • 保发:发球方赢得该局。

抢七局:
每个盘在一方赢得6局且至少领先两局时结束(比如6比4)。如果没有,比赛继续进行,直到比分达到6比6,然后进行抢七局在温布尔登,抢七局首先得到7分(必须领先2分)除非是比赛的第五盘,那时抢七局必须首先得到10分(必须领先2分)。

休息时间/换边:
每打完一局后,球员更换球场一边,然后每两局后再次更换。每局结束后允许90秒休息时间,球员在每个盘结束后的首次换边时也享有此休息。每个盘结束后至少休息2分钟。比赛中允许医疗暂停和一次卫生间休息。

问题一

思路

待定

模型

待定

程序

待定

问题二

待定

思路

待定

模型

待定

程序

待定

这篇关于2024美赛C题思路/代码:网球中的动量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/671743

相关文章

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

代码随想录冲冲冲 Day39 动态规划Part7

198. 打家劫舍 dp数组的意义是在第i位的时候偷的最大钱数是多少 如果nums的size为0 总价值当然就是0 如果nums的size为1 总价值是nums[0] 遍历顺序就是从小到大遍历 之后是递推公式 对于dp[i]的最大价值来说有两种可能 1.偷第i个 那么最大价值就是dp[i-2]+nums[i] 2.不偷第i个 那么价值就是dp[i-1] 之后取这两个的最大值就是d

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip