程序麻将机比赛规则​

本文目录导读:

  1. 一、比赛核心宗旨
  2. 二、基本规则与环境
  3. 三、比赛赛制
  4. 四、评分与排名规则
  5. 五、比赛流程详细说明
  6. 六、特殊规定与注意事项
  7. 七、技术挑战与评判重点
  8. 总结

以下是一套典型且详细的比赛规则框架,融合了学术界和竞赛界(如“Computer Mahjong Championship”等)的常见实践。

比赛核心宗旨

  • 公平性: 确保所有参赛AI在相同的规则、环境和随机性下竞争。
  • 可复现性: 比赛结果应能通过相同的初始条件和程序被复现。
  • 竞技性: 全面评估AI在进攻(和牌)、防守(避铳)、局势判断、资源管理等方面的综合能力。

基本规则与环境

  1. 标准规则: 通常采用 日本麻将(立直麻将) 的规则作为基准,因为其规则体系严谨、开源实现成熟,具体细节需明确定义(如是否允许食断、是否有赤宝牌、翻数计算方式等),常见规则集为“特上房”或“天凤”规则。
  2. 统一接口: 所有AI程序必须遵守组委会提供的标准通信协议(例如通过标准输入/输出、TCP套接字或特定API)接收游戏状态信息并发出动作指令,接口会定义信息格式(JSON等)。
  3. 运行环境: 组委会提供统一的、隔离的沙盒运行环境(如Docker容器),规定操作系统、CPU/内存限制、运行时间限制(每手决策必须在毫秒级内完成)。
  4. 驱动程式: 由一个中立的“游戏服务器”程序负责洗牌、发牌、管理流程、结算分数,并与所有AI进行通信。

比赛赛制

通常分为两个主要阶段:预选赛/循环赛决赛/淘汰赛

  1. 预选赛/循环赛:

    • 目的: 让每个AI都有足够多的对局机会,以降低单局偶然性,评估其稳定性和平均表现。
    • 形式: 采用多桌、半庄制(东风战+南风战)
    • 分组: 将参赛AI随机分成多个4人小组(桌)。
    • 轮换: 进行多轮比赛,每轮后按一定规则(如瑞士轮)或完全随机重新排桌,确保每个AI能与更多不同的对手交手。
    • 晋级: 根据累计的标准分平均顺位排名,选出前N名进入决赛。
  2. 决赛/淘汰赛:

    • 目的: 决出最终冠军。
    • 形式: 通常采用更长的全庄制(东风战+南风战+西风战),或进行多场半庄的对抗赛,以增加对局深度。
    • 对阵: 可以是单败淘汰、双败淘汰或小型循环赛。

评分与排名规则

排名不单纯看“吃鸡”次数,而是采用更精细的评分系统。

  1. 单局计分:

    • 采用日本麻将标准的 “返点”制,起始点数(如25000点),终点通常为30000点。
    • 根据半庄/全庄结束时的点数换算成顺位点,最常见的换算方式是:
      • 1位:+50 ~ +60 顺位点
      • 2位:+10 ~ +20 顺位点
      • 3位:-10 ~ -20 顺位点
      • 4位:-30 ~ -50 顺位点
    • 最终根据顺位点之和进行总排名。
  2. 综合评估指标(用于分析,可能不作为排名直接依据):

    • 和牌率: 自主和牌的比例。
    • 放铳率: 给对手点炮的比例。
    • 副露率: 鸣牌(吃碰杠)的积极性。
    • 立直率: 宣布立直的比例。
    • 平均打点: 每次和牌的平均得分。
    • 平均顺位: 最直观的竞技实力指标。
    • 局时/内存消耗: 评估算法效率。

比赛流程详细说明

  1. 报名与提交: 参赛队提交可执行程序或代码(需符合接口规范)及运行说明文档。
  2. 环境测试: 组委会在统一环境中测试所有AI,确保能正常运行。
  3. 赛程进行:
    • 游戏服务器启动,加载4个AI程序。
    • 服务器生成随机种子,决定本局牌山。
    • 服务器按回合向AI发送JSON消息,包含:
      • seat(座位号)
      • tehai(手牌)
      • dora_indicators(宝牌指示牌)
      • kyoku(第几局)
      • honba(本场数)
      • scores(各家当前分数)
      • possible_actions(当前合法操作列表,如“摸切”、“吃”、“碰”、“杠”、“立直”、“和牌”等)
    • AI在时限内解析信息,计算后返回一个action指令(如{"type": "discard", "tile": "3m"})。
    • 服务器验证并执行动作,更新游戏状态,继续下一回合。
  4. 结果统计与公布: 所有对局结束后,自动生成积分榜和详细技术统计报告。

特殊规定与注意事项

  1. 随机种子: 每局比赛的随机种子会保存并公布,确保结果可完全复现。
  2. 断线/超时处理: AI程序崩溃、通信超时或决策超时,将被处以罚分(如直接判该局4位,或扣除大量点数),并可能由“默认策略”(如随机打牌)接管至局终。
  3. 禁止行为:
    • 作弊: 利用网络、读取其他进程内存、修改服务器状态等。
    • 恶意拖延: 故意在每手用尽时间。
    • 利用规则漏洞: 进行无意义但符合规则的操作干扰比赛(组委会有权裁定并修补规则)。
  4. 平局处理: 在半庄结束时出现多位选手同分,按麻将规则决定顺位(通常看“到达顺”)。
  5. 人类选手混战(表演赛): 有时会安排顶尖人类选手与AI同台竞技,规则同上,但会为人类提供图形化客户端界面。

技术挑战与评判重点

  • 不完全信息博弈: 麻将是不完全信息博弈的典范,AI需要根据公开信息和对手行动来推断其手牌和意图。
  • 巨大状态空间: 手牌组合、牌山剩余牌等状态空间远超围棋。
  • 平衡策略: 需要在“快速小牌”和“做大牌”之间,在“进攻”和“防守”之间做出动态权衡。
  • 终局策略: 对“流局听牌”、“防守弃和”等高级技巧的处理能力。

一场组织良好的程序麻将机比赛,其核心规则文档会非常详细,如同法律条文,覆盖从接口规范到犯规处理的所有细节,其目标不仅是决出胜负,更是推动麻将AI领域的研究与发展,探索智能决策的边界。

如果你想组织或参加此类比赛,强烈建议参考历史上著名的 “Computer Mahjong Championship”“天凤AI开发者竞赛” 的规则文档,它们是最佳的实践蓝本。

程序麻将机比赛规则​

相关资讯