Maieutic·Back to exercises
hog.py×
Unit III · Data Structures

Hog 决策系统:数学建模练习

Hog 决策系统:数学建模练习

目标

在实现任何代码之前,先建立这个游戏的数学模型。

本练习不讨论:

  • Python
  • Java
  • Swift
  • 数据库
  • API
  • 界面设计

只讨论:

  • 数学对象
  • 约束条件
  • 策略定义
  • 游戏性质

问题 1:什么是一个游戏?

请根据 Hog 的规则回答:

一个系统要满足哪些条件,才能被称为一个游戏?

请尝试列出:

  • 必须存在的对象
  • 必须满足的条件
  • 如果缺少某个条件会发生什么

问题 2:Hog 的数学对象是什么?

请识别 Hog 中最重要的数学对象。

例如:

  • 玩家
  • 状态
  • 动作
  • 规则
  • 胜负条件

思考:

哪些对象是核心对象?

哪些对象只是辅助信息?

问题 3:什么属于状态?

请说明:

在 Hog 中,哪些信息应该被记录在状态中?

哪些信息不应该被记录在状态中?

并解释原因。

问题 4:状态、动作和规则之间是什么关系?

请描述:

玩家如何根据状态选择动作?

动作如何改变状态?

规则如何限制动作和状态变化?

尝试画图或用自己的语言说明。

问题 5:什么是一个好状态?

对于 Hog:

一个状态为什么会比另一个状态更好?

请尝试提出一种衡量状态好坏的方法。

不要求正确。

只要求给出理由。

问题 6:什么是最优策略?

请先不要计算最优策略。

请先回答:

什么样的策略才有资格被称为“最优策略”?

例如:

  • 必胜?
  • 胜率最高?
  • 风险最低?
  • 收益最大?

请给出你的定义。

问题 7:什么时候无法定义最优策略?

请思考:

是否所有游戏都存在最优策略?

如果不存在,会是什么原因?

问题 8:如何比较两个策略?

假设:

策略 A 和策略 B 都可以玩 Hog。

你需要建立哪些数学对象或评价标准,才能证明:

A 比 B 更好?

问题 9:这个项目真正研究的问题是什么?

忽略代码实现。

忽略界面设计。

请用一句话总结:

这个项目最核心的数学问题是什么?

例如:

  • 找出最优策略
  • 判断游戏是否合法
  • 研究状态价值
  • 研究胜率变化

请给出你的版本。

Your specification · round 1

Write, in natural language, what the program must do. Be clear in specifying:

  1. What the inputs and outputs are
  2. What functions and structures you will use
  3. What assumptions you are making

The editor will unlock once the specification is precise enough.

✓ llm-readyphase 1 · specification
Python · Unit III · Data Structures