编程

博弈论分析免费版

试用

策略互动分析工具,支持纳什均衡、囚徒困境与决策树分析。Use when 需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于实时流数据处理。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。支持多场景应用和灵活配置。

它能做什么

策略互动分析工具,支持纳什均衡、囚徒困境与决策树分析。Use when 需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于实时流数据处理。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。支持多场景应用和灵活配置。

技能文档

博弈论分析 (免费版)

概述

本工具帮助学生、研究者与决策者分析策略互动情境,求解纳什均衡,理解囚徒困境、重复博弈、决策树等博弈论核心概念。通过收益矩阵分析、逻辑推导与可视化,把抽象的博弈论转化为可操作的分析工具. 免费版聚焦个人学习与基础分析,适合经济学学生、商业决策者、游戏设计师使用.

核心能力

能力模块描述免费版支持
收益矩阵分析2x2 博弈分析支持
纳什均衡求解纯策略均衡支持
囚徒困境经典案例库支持
优势策略严格/弱优势分析支持
决策树序贯博弈分析支持
重复博弈有限/无限重复基础
混合策略概率化策略基础
演化博弈演化稳定策略不支持 (升级 PRO)
机制设计反向博弈设计不支持 (升级 PRO)
多人博弈n 人博弈不支持 (升级 PRO)
实验数据行为博弈实验不支持 (升级 PRO)

核心功能执行

input_params参数进行配置.

处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志.

  • 执行此能力时使用input_params参数,支持创建/查询/导出操作

参数配置与调用

config_options参数进行配置.

处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回参数配置与调用的响应数据,包含状态码、结果和日志.

  • 执行此能力时使用config_options参数,支持修改/重置/导入操作

结果处理与输出

output_format参数进行配置.

处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回结果处理与输出的响应数据,包含状态码、结果和日志.

  • 执行此能力时使用output_format参数,支持导出/保存/转换操作 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:策略互动分析工具、支持纳什均衡、囚徒困境与决策树、面向学生、研究者与决策者的、博弈论分析工具、核心能力、适用场景、经济学学习、商业决策分析、谈判策略、游戏设计、社会科学研究、差异化、免费版聚焦个人学、习与基础分析、提供清晰的逻辑推、导与可视化、适用关键词、博弈论、策略分析等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.

使用场景

场景一: 经典囚徒困境

分析最经典的博弈论案例.

情境: 两名嫌疑人被分别审讯,各有"坦白"或"沉默"两个选择.
收益 (A, B 表示刑期年数,越少越好):
# ...
              B 坦白    B 沉默
A 坦白       (5, 5)    (0, 10)
A 沉默      (10, 0)    (1, 1)
# ...
分析:
1. 优势策略分析:
   - 对 A: 无论 B 选什么,坦白都比沉默好 (5 < 10, 0 < 1)
   - 对 B: 无论 A 选什么,坦白都比沉默好
   - 双方坦白是严格优势策略均衡
2. 纳什均衡: (坦白, 坦白) = (5, 5)
3. 帕累托最优: (沉默, 沉默) = (1, 1)
4. 困境: 个人理性导致集体非最优
# ...
洞察:
- 短期单次博弈中,合作难以达成
- 重复博弈中,"以牙还牙"策略可促进合作
- 现实应用: 价格战、军备竞赛、公地悲剧

场景二: 商业竞争分析

分析两家公司的定价策略博弈.

# 定价博弈分析
import numpy as np
# ...
class GameTheoryAnalyzer:
    def __init__(self, payoff_matrix, row_player="A", col_player="B"):
        self.payoff = np.array(payoff_matrix)
        self.row_player = row_player
        self.col_player = col_player
        self.row_strategies = []
        self.col_strategies = []
# ...
    def find_dominant_strategies(self):
        """寻找优势策略"""
        row_player_payoffs = self.payoff[:, :, 0]  # 行玩家收益
        col_player_payoffs = self.payoff[:, :, 1]  # 列玩家收益
# ...
        row_dominant = self._find_row_dominant(row_player_payoffs)
        col_dominant = self._find_col_dominant(col_player_payoffs)
# ...
        return row_dominant, col_dominant
# ...
    def find_nash_equilibrium(self):
        """寻找纳什均衡 (纯策略)"""
        equilibria = []
        for i in range(self.payoff.shape[0]):
            for j in range(self.payoff.shape[1]):
                if self._is_nash(i, j):
                    equilibria.append((i, j, self.payoff[i, j]))
        return equilibria
# ...
    def _is_nash(self, i, j):
        """检查 (i,j) 是否纳什均衡"""
        row_payoff = self.payoff[i, j, 0]
        col_payoff = self.payoff[i, j, 1]
# ...
        # 行玩家不能通过单方面改变策略获益
        for k in range(self.payoff.shape[0]):
            if self.payoff[k, j, 0] > row_payoff:
                return False
        # 列玩家不能通过单方面改变策略获益
            if self.payoff[i, k, 1] > col_payoff:
                return False
        return True
# ...
# 示例
# 收益 (万元利润): [咖啡店A利润, 咖啡店B利润]
analyzer = GameTheoryAnalyzer([
    [[10, 10], [15, 5]],   # A 高价
    [[5, 15], [8, 8]],     # A 低价
], row_player="咖啡店A", col_player="咖啡店B")
# ...
analyzer.row_strategies = ["高价", "低价"]
analyzer.col_strategies = ["高价", "低价"]
# ...
print("优势策略:", analyzer.find_dominant_strategies())
print("纳什均衡:", analyzer.find_nash_equilibrium())
# ...
# 输出:
# 优势策略: (None, None) - 双方都无优势策略
# 纳什均衡: [(1, 1, [8, 8])] - 双方都低价

场景三: 决策树分析

分析序贯博弈 (一方先行动).

class DecisionTree:
    def __init__(self):
        self.nodes = {}
# ...
    def add_node(self, node_id, player, actions=None, payoff=None):
        self.nodes[node_id] = {
            "player": player,
            "actions": actions or {},
            "payoff": payoff,
        }
# ...
    def add_edge(self, parent, action, child):
        self.nodes[parent]["actions"][action] = child
# ...
    def backward_induction(self, node_id):
        """逆向归纳求解子博弈完美均衡"""
        node = self.nodes[node_id]
        if node["payoff"]:
            return node["payoff"], []
# ...
        best_payoff = None
        best_path = None
        for action, child in node["actions"].items():
            child_payoff, child_path = self.backward_induction(child)
            player_idx = 0 if node["player"] == "A" else 1
            if best_payoff is None or child_payoff[player_idx] > best_payoff[player_idx]:
                best_payoff = child_payoff
                best_path = [action] + child_path
# ...
        return best_payoff, best_path
# ...
# 案例: 进入市场博弈
tree = DecisionTree()
tree.add_node("root", "A")  # A 决定是否进入
tree.add_node("enter", "B")  # B 决定是否反击
tree.add_node("exit", None, payoff=[0, 10])  # A 不进入
tree.add_node("fight", None, payoff=[-5, -5])  # B 反击
tree.add_node("accommodate", None, payoff=[5, 5])  # B 默认
tree.add_edge("root", "进入", "enter")
tree.add_edge("root", "退出", "exit")
tree.add_edge("enter", "反击", "fight")
tree.add_edge("enter", "默认", "accommodate")
# ...
payoff, path = tree.backward_induction("root")
print(f"子博弈完美均衡路径: {path}, 收益: {payoff}")
# 输出: 路径: ['进入', '默认'], 收益: [5, 5]

不适用场景

以下场景博弈论分析免费版不适合处理:

  • 实时流数据处理
  • 小规模数据手动分析
  • 非结构化文本情感分析

触发条件

需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于非本工具能力范围的需求.

快速开始

Step 1: 定义博弈

# 用收益矩阵定义博弈
# 矩阵形状: (行策略数, 列策略数, 2)
# 第 3 维 [0] 是行玩家收益, [1] 是列玩家收益
# ...
cooperation_game = [
    [[3, 3], [0, 5]],   # 合作
    [[5, 0], [1, 1]],   # 背叛
]

Step 2: 分析均衡

analyzer = GameTheoryAnalyzer(cooperation_game)
find_nash_equilibrium())
find_dominant_strategies())

Step 3: 解读结果

解读要点:
1. 纳什均衡: 双方都不愿单方面改变的状态
2. 优势策略: 无论对手如何都最优的策略
3. 帕累托最优: 无法在不损害他人的前提下让某人更好的状态
4. 社会最优: 双方收益之和最大的状态

配置示例

经典博弈案例库

CLASSIC_GAMES = {
    "prisoners_dilemma": {
        "name": "囚徒困境",
        "matrix": [[[-5, -5], [0, -10]], [[-10, 0], [-1, -1]]],
        "strategies": ["坦白", "沉默"],
        "nash": [(0, 0)],
        "pareto_optimal": [(1, 1)],
        "insight": "个人理性导致集体非最优",
    },
    "stag_hunt": {
        "name": "猎鹿博弈",
        "matrix": [[[5, 5], [0, 3]], [[3, 0], [3, 3]]],
        "strategies": ["猎鹿", "猎兔"],
        "nash": [(0, 0), (1, 1)],
        "pareto_optimal": [(0, 0)],
        "insight": "存在多个均衡,需协调",
    },
    "chicken_game": {
        "name": "胆小鬼博弈",
        "matrix": [[[0, 0], [3, -1]], [[-1, 3], [-3, -3]]],
        "strategies": ["直行", "转向"],
        "nash": [(0, 1), (1, 0)],
        "pareto_optimal": [(0, 1), (1, 0)],
        "insight": "谁先转向谁吃亏,但都不转向两败俱伤",
    },
    "battle_of_sexes": {
        "name": "性别战",
        "matrix": [[[3, 2], [0, 0]], [[0, 0], [2, 3]]],
        "strategies": ["看球赛", "看电影"],
        "nash": [(0, 0), (1, 1)],
        "pareto_optimal": [(0, 0), (1, 1)],
        "insight": "利益冲突下的协调问题",
    },
}

分析模板

# 博弈分析报告
# ...
## 1. 情境描述
[参与方、可选策略、收益规则]
# ...
## 2. 收益矩阵
|              | 玩家 B 策略 1 | 玩家 B 策略 2 |
|:-----|:-----|:-----|
| 玩家 A 策略 1 | (a11, b11)   | (a12, b12)   |
| 玩家 A 策略 2 | (a21, b21)   | (a22, b22)   |
# ...
## 3. 优势策略分析
- 玩家 A: [有/无] 优势策略
- 玩家 B: [有/无] 优势策略
# ...
## 4. 纳什均衡
- 均衡点: [...]
- 均衡收益: [...]
# ...
## 5. 帕累托最优
- 帕累托最优状态: [...]
# ...
## 6. 洞察与应用
[现实意义与建议]

最佳实践

1. 收益矩阵规范

# 收益矩阵规范:
# 1. 第一个数字总是行玩家 (玩家 A) 的收益
# 2. 第二个数字总是列玩家 (玩家 B) 的收益
# 3. 收益数值: 正数表示收益,负数表示损失
# 4. 数值大小表示偏好强度
# ...
# 示例: 标准囚徒困境 (刑期年数,负数表示损失)
# 收益: [-5, -5] 表示 A 被判 5 年,B 被判 5 年

2. 现实情境建模

建模步骤:
1. 识别参与方 (谁在做决策?)
2. 列出每个参与方的可选策略
3. 评估每个策略组合的收益 (主观效用)
4. 构建收益矩阵
5. 求解均衡并解读
# ...
注意事项:
- 收益不一定是金钱,可以是效用 (满足感、声誉等)
- 收益是相对的,只关心排序而非绝对值
- 模型是简化,现实决策还需考虑道德、长期影响

3. 重复博弈的洞察

def repeated_game_insight(game_type, repetitions):
    """重复博弈洞察"""
    if game_type == "prisoners_dilemma":
        if repetitions == "infinite":
            return "无限重复可达成合作 (无名氏定理),以牙还牙策略有效"
        else:
            return f"有限重复 {repetitions} 次,合作难以维持 (逆向归纳导致背叛)"
    return "需要具体分析"

常见问题

Q1: 纳什均衡一定存在吗?

有限博弈中至少存在一个纳什均衡 (可能混合策略)。纯策略均衡不一定存在.

Q2: 纳什均衡是最优解吗?

不一定。纳什均衡是"稳定"状态,不一定是帕累托最优 (如囚徒困境).

Q3: 免费版支持多人博弈吗?

免费版聚焦 2 人博弈。n 人博弈需要 PRO 版本.

Q4: 现实中如何应用博弈论?

博弈论提供分析框架,帮助识别策略互动、预测均衡、设计机制。但现实决策还需结合道德、长期影响等因素.

Q5: 如何处理不完全信息博弈?

免费版支持完全信息博弈。贝叶斯博弈 (不完全信息) 需要 PRO 版本.

依赖说明

运行环境

  • Agent 平台: 支持 SKILL.md 规范的任意 AI Agent (Claude Code、Cursor、Codex、Gemini CLI 等)
  • 操作系统: Windows / macOS / Linux
  • Python: 3.8+ (用于数值计算)

依赖详情

依赖项类型是否必需获取方式
LLM API推理服务必需由 Agent 内置 LLM 提供
Python 3.8+运行时可选python.org 下载
NumPyPython 库可选pip install numpy (矩阵运算)

API Key 配置

# 免费版无需外部 API Key
# 所有分析通过 Agent LLM 本地推理完成
# ...
# 可选: 默认分析偏好
export GAME_THEORY_LANGUAGE="zh"
export GAME_THEORY_VERBOSE="true"

可用性分类

  • 分类: MD+EXEC (Markdown 指令 + 代码执行)
  • 说明: 本 Skill 通过自然语言指令驱动 Agent 进行博弈论分析,提供逻辑推导与可视化
  • 免费版限制: 2 人博弈、纯策略为主、无演化博弈、无机制设计、无实验数据

错误处理

错误场景原因处理方式
配置错误参数缺失或格式错误检查依赖说明中的配置要求
运行时错误运行环境不满足确认运行环境符合依赖说明
网络错误连接超时或不可达执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案

已知限制

  • 需LLM支持,无LLM环境不可用
  • 复杂业务场景建议结合人工经验判断
  • 执行效率受模型能力与网络环境影响

示例

基本用法

输出:返回执行结果,包含操作状态和输出数据

用户: 执行核心功能
Skill: 正在执行核心功能...
Skill: 执行完成,结果如下: 操作成功

相关技能

游戏AI开发指南,涵盖FSM、行为树、寻路与决策系统的代码实现。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。

3 次安装

面向决策的数据分析助手,提供统计严谨性、假设检验、A/B测试与陷阱识别的免费核心能力。Use when 需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于实时流数据处理。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。 功能涵盖: toolkit。

4 次安装

结构化分析任意输入,支持数据、代码、文本、决策的优先级排序与结论推导。Use when 需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于实时流数据处理。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。

1 次安装

全流程游戏开发向导,涵盖设计、编码、测试、发布与运营基础。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。

3 次安装

可计算博弈与协商引擎(model-agnostic)。针对多方谈判/分配场景,给出最优或纳什策略: Nash 议价、Rubinstein 轮流出价、Shapley 公平分配、零和 minimax 均衡。 实体化"前沿认知·博弈谈判",让 agent 能求可计算的最优/纳什策略而非拍脑袋。

CSV数据分析免费版,提供快速统计与基础筛选,零外部依赖,适合轻量数据探索。Use when 需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于实时流数据处理。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。

1 次安装