认知神经科学研究报告【20260089】
文章目录
- Technical Documentation: Dual‑Team Survival Game with DeepSeek AI and Rule‑Graph Learning
Technical Documentation: Dual‑Team Survival Game with DeepSeek AI and Rule‑Graph Learning
1. Overview
This document describes a turn‑based two‑team survival game where each team (A and B) consists of one hero (with full survival attributes: HP, energy, inventory, attack cooldown) and three robots (simpler combat units). Each team is controlled by an independent DeepSeek API instance that acts as the “central brain”. The game integrates a Matrix Rule Graph – a learnable symbolic rule system – that can evaluate actions, recommend moves, and discover new rules via association rule mining from online experience. An Action Arbiter decides the final action for the hero by comparing the rule graph’s confidence with a threshold, allowing the rule system to supervise or override the LLM’s decisions.
The environment is a 30×15 grid (tile size 40×40, window 1200×600). It features:
- 10 roaming monsters that chase the nearest living unit.
- Resources: trees (wood), stones, berry bushes.
- An NPC trader (village) at the map centre offering four trades.
- Campfires and fences (crafting/building mechanics).
- Shared team energy (starting at 30) used to revive dead robots (cost 5 per revival).
- Turn‑based play with energy decay (0.5 per turn) and attack cooldown (2 turns after an attack).

方是(25,9)有英雄,无敌人。机器人1在(26,5),下方是(26,6)?无信息,但左方(25,5)?未知,右方(27,5)?未知,上方(26,4)有敌方机器人2和怪物HP4,可攻击。但攻击只能对相邻方向有敌人时使用,机器人1上方(26,4)有敌方机器人2和怪物,可以攻击上方。但注意敌方机器人2冷却0,可能反击。不过我方机器人血量8,可以承受。先攻击怪物获取资源。另外,英雄可以交易或烹饪,但资源不足或非急需。优先攻击。
Action: hero attack down
Action: robot0 attack down
Action: robot1 attack up
Action: robot2 move up
[规则评估] 动作 attack_down 原始置信度: 0.50, 归一化: 1.00
[仲裁] DeepSeek 动作: hero attack down
造成3伤害,剩余3血
攻击方向没有目标
造成2伤害,剩余4血
机器人2移动到(25,7)
[DEBUG] 自动触发回合,当前队伍: A
=== A 队回合 8 ===
AI响应:
Thought: 当前回合,敌方英雄在我方英雄的右上方(25,11),血量仅4且无敌剩余1回合,但攻击冷却为1,所以下回合才能攻击。敌方机器人0在(25,9),机器人2在(25,7),机器人1在(26,5)冷却1。我方机器人0在(17,9)附近有怪物(17,9,HP6),机器人1在(5,5)附近有怪物(5,5,HP4)和(5,5,HP6),机器人2在(26,4)附近有怪物(26,4,HP4)。我方英雄能量73,可以尝试收集资源或交易。但敌方英雄和机器人聚集在(25,11)附近,威胁较大。建议英雄向右上移动接近战场,同时机器人清理身边的怪物。机器人0在(17,9)可以攻击下方(有怪物(17,9,HP6)?怪物位置(17,9,HP6)就在同一格?不,怪物位置是坐标,如果怪物在(17,9)则机器人也在(17,9),那么攻击方向任意?实际上怪物在机器人所在格时,需要攻击?攻击只能对相邻格,所以机器人0需要移动或攻击相邻怪物。查看怪物列表:(17,9,HP6)说明怪物在(17,9),而机器人0也在(17,9),所以怪物与机器人重叠?通常怪物和单位可以重叠?但攻击只能对相邻格,所以机器人0需要先移动离开再攻击?或者直接攻击?不,攻击需要相邻方向有敌人。如果怪物在同一格,可能无法攻击。更合理的解释是怪物位置是独立坐标,机器人0在(17,9),怪物也在(17,9),那么它们重叠,但攻击只能对相邻格,所以机器人0无法攻击同一格怪物。因此机器人0应该移动一步然后攻击,或者先攻击相邻的怪物?查看周围:机器人0周围有怪物吗?怪物列表中有(17,7,HP6)在下方两格?不,是(17,7)距离(17,9)两格?实际上(17,7)是下方两格,不是相邻。所以机器人0周围没有直接相邻的怪物。那机器人0可以移动向敌方方向或收集资源。但更合理的是,机器人0可以向上移动去支援或向怪物方向移动。由于敌方英雄和机器人集中在右上,我方机器人2在(26,4)离敌方很近,且敌方机器人1在(26,5)冷却1,机器人2在(26,4)有怪物(26,4,HP4)在同一格?同样问题。所以需要谨慎。
重新分析:每个单位的位置和怪物位置。怪物列表中有多个重复坐标,例如(25,11)有多个怪物,说明多个怪物
移动到(8,4)
[DEBUG] 自动触发回合,当前队伍: B
=== B 队回合 9 ===
异常: HTTPSConnectionPool(host='api.deepseek.com', port=443): Read timed out.
移动到(25,12)
[规则发现] 触发挖掘,当前缓存大小: 10,步骤数: 10
[规则发现] 开始挖掘,最小支持度=0.200, 最小置信度=0.3
D:\Program Files\Python311\Lib\site-packages\mlxtend\frequent_patterns\fpcommon.py:175: DeprecationWarning: DataFrames with non-bool types result in worse computationalperformance and their support might be discontinued in the future.Please use a DataFrame with bool type
warnings.warn(
D:\Program Files\Python311\Lib\site-packages\mlxtend\frequent_patterns\association_rules.py:184: RuntimeWarning: invalid value encountered in divide
cert_metric = np.where(certainty_denom == 0, 0, certainty_num / certainty_denom)
[新规则] 条件: [attack_ready, up_grass] → 动作: move_right (置信度 0.44)
[规则库] 添加规则: ['attack_ready', 'up_grass'] → move_right (权重 0.44)
[新规则] 条件: [attack_ready, down_grass] → 动作: move_right (置信度 0.57)
[规则库] 添加规则: ['attack_ready', 'down_grass'] → move_right (权重 0.57)
[新规则] 条件: [attack_ready, left_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['attack_ready', 'left_grass'] → move_right (权重 0.50)
[新规则] 条件: [attack_ready, right_grass] → 动作: move_right (置信度 0.56)
[规则库] 添加规则: ['attack_ready', 'right_grass'] → move_right (权重 0.56)
[新规则] 条件: [attack_ready, has_berry] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['attack_ready', 'has_berry'] → move_right (权重 0.50)
[新规则] 条件: [down_grass, up_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['down_grass', 'up_grass'] → move_right (权重 0.50)
[新规则] 条件: [left_grass, up_grass] → 动作: move_right (置信度 0.44)
[规则库] 添加规则: ['left_grass', 'up_grass'] → move_right (权重 0.44)
[新规则] 条件: [right_grass, up_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['right_grass', 'up_grass'] → move_right (权重 0.50)
[新规则] 条件: [has_berry, up_grass] → 动作: move_right (置信度 0.44)
[规则库] 添加规则: ['has_berry', 'up_grass'] → move_right (权重 0.44)
[新规则] 条件: [left_grass, down_grass] → 动作: move_right (置信度 0.57)
[规则库] 添加规则: ['left_grass', 'down_grass'] → move_right (权重 0.57)
[新规则] 条件: [right_grass, down_grass] → 动作: move_right (置信度 0.67)
[规则库] 添加规则: ['right_grass', 'down_grass'] → move_right (权重 0.67)
[新规则] 条件: [down_grass, has_berry] → 动作: move_right (置信度 0.57)
[规则库] 添加规则: ['down_grass', 'has_berry'] → move_right (权重 0.57)
[新规则] 条件: [left_grass, right_grass] → 动作: move_right (置信度 0.56)
[规则库] 添加规则: ['left_grass', 'right_grass'] → move_right (权重 0.56)
[新规则] 条件: [left_grass, has_berry] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['left_grass', 'has_berry'] → move_right (权重 0.50)
[新规则] 条件: [right_grass, has_berry] → 动作: move_right (置信度 0.56)
[规则库] 添加规则: ['right_grass', 'has_berry'] → move_right (权重 0.56)
[新规则] 条件: [attack_ready, down_grass, up_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['attack_ready', 'down_grass', 'up_grass'] → move_right (权重 0.50)
[新规则] 条件: [attack_ready, left_grass, up_grass] → 动作: move_right (置信度 0.44)
[规则库] 添加规则: ['attack_ready', 'left_grass', 'up_grass'] → move_right (权重 0.44)
[新规则] 条件: [attack_ready, right_grass, up_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['attack_ready', 'right_grass', 'up_grass'] → move_right (权重 0.50)
[新规则] 条件: [attack_ready, has_berry, up_grass] → 动作: move_right (置信度 0.44)
[规则库] 添加规则: ['attack_ready', 'has_berry', 'up_grass'] → move_right (权重 0.44)
[新规则] 条件: [attack_ready, left_grass, down_grass] → 动作: move_right (置信度 0.57)
[规则库] 添加规则: ['attack_ready', 'left_grass', 'down_grass'] → move_right (权重 0.57)
[新规则] 条件: [attack_ready, right_grass, down_grass] → 动作: move_right (置信度 0.67)
[规则库] 添加规则: ['attack_ready', 'right_grass', 'down_grass'] → move_right (权重 0.67)
[新规则] 条件: [attack_ready, down_grass, has_berry] → 动作: move_right (置信度 0.57)
[规则库] 添加规则: ['attack_ready', 'down_grass', 'has_berry'] → move_right (权重 0.57)
[新规则] 条件: [attack_ready, left_grass, right_grass] → 动作: move_right (置信度 0.56)
[规则库] 添加规则: ['attack_ready', 'left_grass', 'right_grass'] → move_right (权重 0.56)
[新规则] 条件: [attack_ready, left_grass, has_berry] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['attack_ready', 'left_grass', 'has_berry'] → move_right (权重 0.50)
[新规则] 条件: [attack_ready, right_grass, has_berry] → 动作: move_right (置信度 0.56)
[规则库] 添加规则: ['attack_ready', 'right_grass', 'has_berry'] → move_right (权重 0.56)
[新规则] 条件: [left_grass, down_grass, up_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['left_grass', 'down_grass', 'up_grass'] → move_right (权重 0.50)
[新规则] 条件: [right_grass, down_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [down_grass, has_berry, up_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['down_grass', 'has_berry', 'up_grass'] → move_right (权重 0.50)
[新规则] 条件: [left_grass, right_grass, up_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['left_grass', 'right_grass', 'up_grass'] → move_right (权重 0.50)
[新规则] 条件: [left_grass, has_berry, up_grass] → 动作: move_right (置信度 0.44)
[规则库] 添加规则: ['left_grass', 'has_berry', 'up_grass'] → move_right (权重 0.44)
[新规则] 条件: [right_grass, has_berry, up_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['right_grass', 'has_berry', 'up_grass'] → move_right (权重 0.50)
[新规则] 条件: [left_grass, down_grass, right_grass] → 动作: move_right (置信度 0.67)
[规则库] 添加规则: ['left_grass', 'down_grass', 'right_grass'] → move_right (权重 0.67)
[新规则] 条件: [left_grass, down_grass, has_berry] → 动作: move_right (置信度 0.57)
[规则库] 添加规则: ['left_grass', 'down_grass', 'has_berry'] → move_right (权重 0.57)
[新规则] 条件: [right_grass, down_grass, has_berry] → 动作: move_right (置信度 0.67)
[规则库] 添加规则: ['right_grass', 'down_grass', 'has_berry'] → move_right (权重 0.67)
[新规则] 条件: [left_grass, has_berry, right_grass] → 动作: move_right (置信度 0.56)
[规则库] 添加规则: ['left_grass', 'has_berry', 'right_grass'] → move_right (权重 0.56)
[新规则] 条件: [attack_ready, left_grass, down_grass, up_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['attack_ready', 'left_grass', 'down_grass', 'up_grass'] → move_right (权重 0.50)
[新规则] 条件: [attack_ready, right_grass, down_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['attack_ready', 'right_grass', 'down_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [attack_ready, down_grass, has_berry, up_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['attack_ready', 'down_grass', 'has_berry', 'up_grass'] → move_right (权重 0.50)
[新规则] 条件: [attack_ready, right_grass, left_grass, up_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['attack_ready', 'right_grass', 'left_grass', 'up_grass'] → move_right (权重 0.50)
[新规则] 条件: [attack_ready, left_grass, has_berry, up_grass] → 动作: move_right (置信度 0.44)
[规则库] 添加规则: ['attack_ready', 'left_grass', 'has_berry', 'up_grass'] → move_right (权重 0.44)
[新规则] 条件: [attack_ready, right_grass, has_berry, up_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['attack_ready', 'right_grass', 'has_berry', 'up_grass'] → move_right (权重 0.50)
[新规则] 条件: [attack_ready, right_grass, down_grass, left_grass] → 动作: move_right (置信度 0.67)
[规则库] 添加规则: ['attack_ready', 'right_grass', 'down_grass', 'left_grass'] → move_right (权重 0.67)
[新规则] 条件: [attack_ready, left_grass, down_grass, has_berry] → 动作: move_right (置信度 0.57)
[规则库] 添加规则: ['attack_ready', 'left_grass', 'down_grass', 'has_berry'] → move_right (权重 0.57)
[新规则] 条件: [attack_ready, right_grass, down_grass, has_berry] → 动作: move_right (置信度 0.67)
[规则库] 添加规则: ['attack_ready', 'right_grass', 'down_grass', 'has_berry'] → move_right (权重 0.67)
[新规则] 条件: [attack_ready, right_grass, left_grass, has_berry] → 动作: move_right (置信度 0.56)
[规则库] 添加规则: ['attack_ready', 'right_grass', 'left_grass', 'has_berry'] → move_right (权重 0.56)
[新规则] 条件: [right_grass, down_grass, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [left_grass, down_grass, has_berry, up_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['left_grass', 'down_grass', 'has_berry', 'up_grass'] → move_right (权重 0.50)
[新规则] 条件: [right_grass, down_grass, has_berry, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'has_berry', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [right_grass, left_grass, has_berry, up_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['right_grass', 'left_grass', 'has_berry', 'up_grass'] → move_right (权重 0.50)
[新规则] 条件: [right_grass, down_grass, has_berry, left_grass] → 动作: move_right (置信度 0.67)
[规则库] 添加规则: ['right_grass', 'down_grass', 'has_berry', 'left_grass'] → move_right (权重 0.67)
[新规则] 条件: [right_grass, down_grass, attack_ready, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'attack_ready', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [down_grass, has_berry, attack_ready, left_grass, up_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['down_grass', 'has_berry', 'attack_ready', 'left_grass', 'up_grass'] → move_right (权重 0.50)
[新规则] 条件: [right_grass, down_grass, has_berry, attack_ready, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'has_berry', 'attack_ready', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [right_grass, has_berry, attack_ready, left_grass, up_grass] → 动作: move_right (置信度 0.50)
[规则库] 添加规则: ['right_grass', 'has_berry', 'attack_ready', 'left_grass', 'up_grass'] → move_right (权重 0.50)
[新规则] 条件: [right_grass, down_grass, has_berry, attack_ready, left_grass] → 动作: move_right (置信度 0.67)
[规则库] 添加规则: ['right_grass', 'down_grass', 'has_berry', 'attack_ready', 'left_grass'] → move_right (权重 0.67)
[新规则] 条件: [right_grass, down_grass, has_berry, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'has_berry', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [right_grass, down_grass, has_berry, attack_ready, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'has_berry', 'attack_ready', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[规则发现] 新增 57 条规则,当前规则总数: 68
[DEBUG] 自动触发回合,当前队伍: A
=== A 队回合 10 ===
AI响应:
Thought: 当前回合,我方英雄位置(17,9),周围有怪物(17,9,HP6)和(17,7,HP6)相邻,但英雄周围可攻击方向显示“无”,说明相邻格没有怪物或敌方?但怪物列表中有(17,9,HP6)和(17,7,HP6),可能怪物在英雄的相邻格但系统未显示可攻击?检查英雄周围描述:上树木,下草地,左草地,右草地,没有提到怪物,所以实际上怪物不在相邻格?怪物列表中的(17,9,HP6)和(17,7,HP6)可能是在同一坐标但不在相邻?实际上英雄在(17,9),怪物(17,9,HP6)就在英雄位置?可能怪物在英雄脚下?但英雄可移动方向有下左右,说明英雄脚下没有怪物阻挡?先忽略。英雄能量71,可考虑交易或烹饪。但当前需要集中火力攻击敌方英雄和机器人。敌方英雄在(25,12)且HP只有4,是击杀的好机会。我方机器人2在(26,4)离敌方英雄较近,机器人1在(5,5)较远,机器人0在(17,9)与英雄同位置。敌方机器人集中在(25,9)、(26,5)、(25,7),包围了敌方英雄。我方可尝试让机器人2攻击敌方英雄(如果相邻),但机器人2在(26,4),敌方英雄在(25,12),距离较远。机器人0和英雄可以移动接近。但先观察周围怪物:英雄位置有怪物(17,9,HP6)和(17,7,HP6),机器人0也在(17,9),可能被怪物攻击。机器人1在(5,5)有怪物(5,5,HP4)和(5,5,HP6)两个。机器人2在(26,4)有怪物(26,4,HP4)。所以每个单位附近都有怪物,需要优先处理怪物或移动避开。英雄HP满,能量高,可以考虑用技能?但技能需要能量?英雄有能量71,但技能未说明。目前只能移动、攻击、交易、烹饪、建造。建议:英雄先攻击怪物?但周围可攻击方向无,说明没有相邻敌人?那怪物(17,9,HP6)可能就在英雄位置?但系统未显示可攻击,可能怪物不在相邻格?再读怪物列表:全局(17,9,HP6)和(17,7,HP6)存在,但英雄周围描述没有怪物,说明这些怪物可能距离大于1?实际上(17,9)是英雄坐标,怪物也在(17,9)?那应该相邻。可能系统bug?稳妥起见,英雄先移动离开当前位置,避免被怪物攻击。向右
移动到(8,5)
[DEBUG] 自动触发回合,当前队伍: B
=== B 队回合 11 ===
AI响应:
Thought: 当前回合是11,敌方英雄在(8,5),我方英雄在(25,9)附近。敌方机器人位置分散,其中敌方机器人2在(26,4)靠近我方机器人2(25,7)和机器人1(26,5)。我方英雄HP较低(4/10),能量70.5,有5个莓果可以吃。先观察周围:英雄周围无相邻敌人,所以不能攻击。建议英雄先吃一个莓果回复HP(eat),因为HP低且能量足够。机器人2在(25,7),敌方机器人2在(26,4),距离较近,可以移动过去攻击。机器人1在(26,5),也可以向(26,4)移动攻击。机器人0在(25,9),可以向下或向左移动。注意:敌方机器人2在(26,4),机器人1在(26,5)可以向下攻击?(26,5)下方是(26,6)不是敌人,但机器人1与(26,4)距离差1格,需要移动一步到(26,4)相邻才能攻击。机器人2在(25,7),与(26,4)距离较远,需要移动。更合理的是:机器人1向up移动至(26,4)相邻?(26,5)向上是(26,4),但那是敌方机器人位置,直接移动会碰撞?不能移动到有单位的位置。所以机器人1不能移动到(26,4),但可以攻击up方向,因为(26,4)有敌人。机器人1攻击up即可。机器人2在(25,7),可以向右移动至(26,7)或向上?(25,7)向上是(25,6),无敌人,先移动接近。机器人0在(25,9),可以向左或向下移动。同时注意怪物:有很多怪物在(25,12)、(26,4)等位置。其中(26,4)有HP4的怪物和敌方机器人2?实际上(26,4)的怪物HP4和敌方机器人2位置相同?地图上(26,4)有敌方机器人2和怪物(26,4,HP4)?可能重叠?需要谨慎。但攻击方向有敌人即可。英雄先吃莓果回血。然后机器人1攻击up攻击敌方机器人2。机器人2可以向右移动接近。机器人0可以向下移动。另外,英雄也可以考虑交易,但当前资源不足且不需要。所以动作如下。
Action: hero eat
Action: robot1 attack up
Action: robot2 move right
Action: robot0 move down
[仲裁] RuleGraph (归一化置信度 0.10) 动作: hero move right
移动到(26,12)
造成2伤害,剩余2血
机器人2移动到(26,7)
机器人0移动到(25,10)
[DEBUG] 自动触发回合,当前队伍: A
=== A 队回合 12 ===
AI响应:
Thought: 当前局势分析:
- 敌方英雄在(26,12)且HP只有4,但周围有多个怪物和机器人保护,直接攻击风险大。
- 敌方机器人集中在(25,10)、(26,5)、(26,7)附近,且我方机器人2在(26,4)与敌方机器人1相邻,但HP只有2,很危险。
- 我方机器人0在(17,9)附近有怪物(17,9,HP6),可以攻击。
- 我方机器人1在(5,5)附近有怪物(5,5,HP4)和(5,5,HP6),可以攻击。
- 英雄目前安全,周围无敌人,可以移动收集资源或接近交易。
- 需要尽快提升队伍实力,建议英雄向资源丰富区域移动,同时机器人清理身边怪物获取资源。
Action: hero move up
Action: robot0 attack up
Action: robot1 attack up
Action: robot2 attack down
[规则评估] 动作 move_up 原始置信度: 0.00, 归一化: 0.00
[仲裁] RuleGraph (归一化置信度 0.10) 动作: hero move right
移动到(9,5)
攻击方向没有目标
攻击方向没有目标
造成2伤害,剩余6血
[DEBUG] 自动触发回合,当前队伍: B
=== B 队回合 13 ===
AI响应:
Thought: 当前我方英雄血量较低(4/10),但能量充足(68.5),且所有机器人存活。敌方英雄在(9,5),敌方机器人分散,其中敌方机器人2在我方附近(26,4)且血量仅2,冷却1,可趁机击杀。我方机器人0在(25,10),机器人1在(26,5),机器人2在(26,7)。敌方机器人2在(26,4),机器人1在(26,5)可以向下攻击它。同时,英雄周围没有直接敌人,可以移动向资源或村民方向。先让机器人1向下攻击残血敌方机器人2,机器人0和2可以移动靠近战场或采集。英雄向村民方向移动以准备交易或恢复。
Action: robot1 attack down
Action: robot0 move left
Action: robot2 move left
Action: hero move left
[规则评估] 动作 move_left 原始置信度: 0.00, 归一化: 0.00
[仲裁] RuleGraph (归一化置信度 0.10) 动作: hero move right
移动到(27,12)
攻击方向没有目标
机器人0移动到(24,10)
机器人2移动到(25,7)
[DEBUG] 自动触发回合,当前队伍: A
=== A 队回合 14 ===
AI响应:
Thought: 当前局势分析:
- 敌方英雄HP只有4,在(27,12)位置,且周围有多个怪物((27,12,HP6)等),但敌方英雄攻击冷却为0,可能正在被怪物攻击。
- 我方英雄在(17,9)附近,机器人0也在(17,9)且HP6,机器人1在(5,5)HP4,机器人2在(26,4)HP2。
- 敌方机器人分布:0号(24,10)HP8,1号(26,5)HP6,2号(25,7)HP8,对我方机器人2(26,4)形成包围威胁。
- 机器人2在(26,4)位置,旁边有怪物(26,4,HP4)和敌方机器人1(26,5),非常危险,需要立刻移动或攻击。
- 机器人1在(5,5)位置,旁边有怪物(5,5,HP4)和(5,5,HP6),需要攻击或移动。
- 机器人0在(17,9)位置,旁边有怪物(17,9,HP6),可以攻击。
- 英雄在(17,9),旁边有怪物(17,9,HP6)和(17,7,HP6),可以攻击方向?检查周围:上草地下草地左草地右草地,没有直接相邻的敌人?注意"可攻击方向: 无",说明英雄相邻格没有敌人/怪物,所以不能攻击。
- 英雄能量67,可以收集资源或交易。但当前更紧急的是支援机器人。
- 建议:机器人2攻击下方(26,5)的敌方机器人1或攻击怪物(26,4)?但attack需要方向有敌人。机器人2在(26,4),下方(26,5)是敌方机器人1,可以attack down。
- 机器人1在(5,5),上方(5,4)?检查怪物:有(5,5,HP4)和(5,5,HP6)?注意怪物列表中有两个(5,5)的怪物,说明机器人1所在格有怪物?实际上位置(5,5)有怪物HP4和HP6,所以机器人1与怪物在同一格?通常同一格可能有多个怪物。机器人1可以attack任意方向?但相邻格没有列出,需要看怪物位置。机器人1在(5,5),怪物(5,5,HP4)和(5,5,HP6)在同一格,所以attack up/down/left/right可能都不行,因为怪物就在脚下?通常attack只能攻击相邻格,不能攻击自己所在格。所以机器人1需要移动离开怪物格。
- 英雄:可以移动向敌人方向,比如向右或向上,或者收集资源。但更关键
移动到(9,4)
[DEBUG] 自动触发回合,当前队伍: B
=== B 队回合 15 ===
AI响应:
Thought: 当前回合15,我方英雄血量4/10,能量66.5,周围被石头和树木包围,只有左边可移动。敌方英雄在(9,4)距离较远,但敌方机器人2在(26,4)血量仅2,且与怪物(26,4,HP4)重叠?实际上怪物列表中有(26,4,HP4)和敌方机器人2(26,4,HP2),它们在同一格。我方机器人2在(25,7),机器人0在(24,10),机器人1在(26,5)。机器人1可以向右攻击(26,4)的敌人,因为敌方机器人2在(26,4),且方向是右?机器人1在(26,5),向下是(26,4),所以可以attack down。机器人0在(24,10),周围没有直接相邻敌人。机器人2在(25,7),周围也没有直接相邻敌人。英雄应该向左移动,因为只有左可移动,且可能接近资源或村民。另外,可以考虑让机器人1攻击下方的敌方机器人2,因为敌方机器人2血量低且与怪物在一起,但攻击方向有敌人。机器人0和2可以朝敌方方向移动。英雄也可以考虑吃浆果回血,但需要先移动或交易?英雄当前有5莓,可以吃一个回血?但英雄没有eat动作?实际上有hero eat动作,可以吃莓回血。但英雄能量高,也可以考虑交易。不过当前首要让机器人1攻击消灭敌方残血机器人。
Action: hero move left
Action: robot0 move left
Action: robot1 attack down
Action: robot2 move down
[规则评估] 动作 move_left 原始置信度: 0.00, 归一化: 0.00
[仲裁] DefaultPolicy (rule illegal) 动作: hero move left
移动到(26,12)
机器人0移动到(23,10)
攻击方向没有目标
机器人2移动到(25,8)
[DEBUG] 自动触发回合,当前队伍: A
=== A 队回合 16 ===
AI响应:
Thought: 当前局势分析:敌方英雄和多个机器人集中在右下方(26,12附近),我方英雄在(17,9)附近,机器人0在(17,9)与英雄同位置,机器人1在(5,5),机器人2在(26,4)。敌方机器人1在(26,5)紧邻我方机器人2(26,4)的下方,可以攻击。敌方机器人2在(25,8),距离较远。敌方英雄在(26,12)有多个怪物同格。我方机器人2血量仅2,很危险,但可以攻击下方的敌方机器人1。英雄可以向上移动靠近村民交易资源,或者支援。机器人0可以向右移动靠近战场。机器人1在(5,5)附近有怪物(5,5,HP4)和(5,5,HP6),可以攻击。先让机器人2攻击下方敌方机器人1,机器人1攻击下方或左方怪物,英雄向上移动收集资源或准备交易。
Action: robot2 attack down
Action: robot1 attack down
Action: robot0 move right
Action: hero move up
[规则评估] 动作 move_up 原始置信度: 0.00, 归一化: 0.00
[仲裁] RuleGraph (归一化置信度 0.10) 动作: hero move right
移动到(10,4)
造成2伤害,剩余4血
攻击方向没有目标
机器人0移动到(18,9)
[DEBUG] 自动触发回合,当前队伍: B
=== B 队回合 17 ===
AI响应:
Thought:当前回合,我方英雄血量较低(4/10),但能量充足(64.5),且攻击冷却为0。敌方英雄位置(10,4)较远,但敌方机器人2在我方机器人2附近(26,4)且血量仅2,冷却1,可以集火击杀。敌方机器人0在(18,9)靠近我方机器人0(23,10),敌方机器人1在(5,5)较远。我方机器人1(26,5)血量4,靠近敌方机器人2(26,4),可以向下攻击。机器人0(23,10)可向左移动接近敌方机器人0。机器人2(25,8)可向右移动支援。英雄应先恢复血量,建议吃一颗莓果(eat)回血,然后向上移动避开危险。但英雄周围无敌人,可安全移动。考虑先吃莓果回血,然后向下方或左方移动收集资源或靠近村民交易。不过当前资源木5石5,可考虑trade4换能量,但能量已够。优先击杀残血敌方机器人2,减少威胁。
Action: hero eat
Action: robot2 move right
Action: robot1 attack down
Action: robot0 move left
[仲裁] RuleGraph (归一化置信度 0.10) 动作: hero move right
移动到(27,12)
机器人2移动失败
攻击方向没有目标
机器人0移动到(22,10)
[DEBUG] 自动触发回合,当前队伍: A
=== A 队回合 18 ===
AI响应:
Thought: 当前局势分析:我方英雄HP满,能量63,但敌方英雄只有4HP且在我方英雄附近(27,12),有多个怪物也在该位置。敌方机器人2(26,5)距离我方机器人2(26,4)很近,可以攻击。机器人0(18,9)旁边有怪物(18,9,HP6),可以攻击。机器人1(5,5)旁边有怪物(5,5,HP4)和(5,5,HP6),可以攻击。英雄周围没有直接相邻的敌人,但可以移动到(27,12)附近攻击敌方英雄。不过英雄当前没有视野直接攻击,需要先移动靠近。
英雄可以先向右移动靠近敌方英雄位置,机器人2可以攻击上方的敌方机器人1(26,5),机器人0可以攻击下方的怪物(18,9,HP6),机器人1可以攻击上方的怪物(5,5,HP4)。这样能有效清理威胁。
Action: hero move right
Action: robot0 attack down
Action: robot1 attack up
Action: robot2 attack up
[规则评估] 动作 move_right 原始置信度: 0.50, 归一化: 1.00
[仲裁] DeepSeek 动作: hero move right
移动到(11,4)
攻击方向没有目标
攻击方向没有目标
攻击方向没有目标
[DEBUG] 自动触发回合,当前队伍: B
=== B 队回合 19 ===
AI响应:
Thought: 当前回合19,我方英雄HP较低(4/10),能量62.5,有5木5石4莓。敌方英雄HP满(10/10)且位置(11,4)较远。我方机器人分布:0号(22,10)、1号(26,5)、2号(25,8)。敌方机器人位置:0号(18,9,HP4)、1号(5,5,HP4)、2号(26,4,HP2)。注意敌方机器人2号在我方机器人1号附近(26,5)和(26,4)相邻,且HP只有2,我方机器人1号可以向下攻击消灭它。另外我方英雄周围只有左方向可移动,左方是草地,建议向左移动收集资源或靠近村民。同时我方有4莓,可以吃一个回血。但英雄攻击冷却为0,但周围没有敌人可攻击。优先让机器人1号攻击下方消灭敌方机器人2号,机器人0号和2号可以移动支援或收集资源。英雄吃莓回血并向左移动。
Action: hero eat
Action: hero move left
Action: robot1 attack down
Action: robot0 move left
Action: robot2 move left
[规则评估] 动作 move_left 原始置信度: 0.00, 归一化: 0.00
[仲裁] DefaultPolicy (rule illegal) 动作: hero move left
移动到(26,12)
攻击方向没有目标
机器人0移动到(21,10)
机器人2移动到(24,8)
[规则发现] 触发挖掘,当前缓存大小: 20,步骤数: 20
[规则发现] 开始挖掘,最小支持度=0.100, 最小置信度=0.3
D:\Program Files\Python311\Lib\site-packages\mlxtend\frequent_patterns\fpcommon.py:175: DeprecationWarning: DataFrames with non-bool types result in worse computationalperformance and their support might be discontinued in the future.Please use a DataFrame with bool type
warnings.warn(
D:\Program Files\Python311\Lib\site-packages\mlxtend\frequent_patterns\association_rules.py:184: RuntimeWarning: invalid value encountered in divide
cert_metric = np.where(certainty_denom == 0, 0, certainty_num / certainty_denom)
[新规则] 条件: [up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['up_stone'] → move_left (权重 1.00)
[新规则] 条件: [down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['down_stone'] → move_left (权重 1.00)
[新规则] 条件: [right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['right_tree'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, hp_low] → 动作: move_right (置信度 0.43)
[规则库] 添加规则: ['attack_ready', 'hp_low'] → move_right (权重 0.43)
[新规则] 条件: [hp_low, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, down_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'down_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, left_grass] → 动作: move_right (置信度 0.43)
[规则库] 添加规则: ['hp_low', 'left_grass'] → move_right (权重 0.43)
[新规则] 条件: [hp_low, right_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'right_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, has_berry] → 动作: move_right (置信度 0.43)
[规则库] 添加规则: ['hp_low', 'has_berry'] → move_right (权重 0.43)
[新规则] 条件: [attack_ready, up_grass] → 动作: move_right (置信度 0.62)
[规则库] 规则已存在,更新权重 0.45 -> 0.62
[新规则] 条件: [attack_ready, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, down_grass] → 动作: move_right (置信度 0.67)
[规则库] 规则已存在,更新权重 0.51 -> 0.67
[新规则] 条件: [attack_ready, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, left_grass] → 动作: move_right (置信度 0.55)
[规则库] 规则已存在,更新权重 0.48 -> 0.55
[新规则] 条件: [attack_ready, right_grass] → 动作: move_right (置信度 0.65)
[规则库] 规则已存在,更新权重 0.51 -> 0.65
[新规则] 条件: [attack_ready, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, has_berry] → 动作: move_right (置信度 0.55)
[规则库] 规则已存在,更新权重 0.48 -> 0.55
[新规则] 条件: [down_grass, up_grass] → 动作: move_right (置信度 0.69)
[规则库] 规则已存在,更新权重 0.48 -> 0.69
[新规则] 条件: [left_grass, up_grass] → 动作: move_right (置信度 0.62)
[规则库] 规则已存在,更新权重 0.45 -> 0.62
[新规则] 条件: [right_grass, up_grass] → 动作: move_right (置信度 0.67)
[规则库] 规则已存在,更新权重 0.48 -> 0.67
[新规则] 条件: [has_berry, up_grass] → 动作: move_right (置信度 0.62)
[规则库] 规则已存在,更新权重 0.45 -> 0.62
[新规则] 条件: [up_stone, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['up_stone', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [left_grass, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['left_grass', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [up_stone, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['up_stone', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [left_grass, down_grass] → 动作: move_right (置信度 0.67)
[规则库] 规则已存在,更新权重 0.51 -> 0.67
[新规则] 条件: [right_grass, down_grass] → 动作: move_right (置信度 0.71)
[规则库] 规则已存在,更新权重 0.57 -> 0.71
[新规则] 条件: [down_grass, has_berry] → 动作: move_right (置信度 0.67)
[规则库] 规则已存在,更新权重 0.51 -> 0.67
[新规则] 条件: [left_grass, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['left_grass', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [right_tree, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['right_tree', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [left_grass, right_grass] → 动作: move_right (置信度 0.65)
[规则库] 规则已存在,更新权重 0.51 -> 0.65
[新规则] 条件: [left_grass, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['left_grass', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [left_grass, has_berry] → 动作: move_right (置信度 0.55)
[规则库] 规则已存在,更新权重 0.48 -> 0.55
[新规则] 条件: [right_grass, has_berry] → 动作: move_right (置信度 0.65)
[规则库] 规则已存在,更新权重 0.51 -> 0.65
[新规则] 条件: [has_berry, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, hp_low, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [attack_ready, hp_low, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, hp_low, down_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'down_grass'] → move_right (权重 0.60)
[新规则] 条件: [attack_ready, hp_low, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, hp_low, left_grass] → 动作: move_right (置信度 0.43)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'left_grass'] → move_right (权重 0.43)
[新规则] 条件: [attack_ready, hp_low, right_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'right_grass'] → move_right (权重 0.60)
[新规则] 条件: [attack_ready, hp_low, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, hp_low, has_berry] → 动作: move_right (置信度 0.43)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'has_berry'] → move_right (权重 0.43)
[新规则] 条件: [hp_low, down_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'down_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, right_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'right_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, has_berry, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'has_berry', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, up_stone, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'up_stone', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, left_grass, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'left_grass', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, up_stone, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'up_stone', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, has_berry, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'has_berry', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, left_grass, down_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'left_grass', 'down_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, right_grass, down_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'right_grass', 'down_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, down_grass, has_berry] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'down_grass', 'has_berry'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, left_grass, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'left_grass', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, right_tree, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'right_tree', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, has_berry, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'has_berry', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, left_grass, right_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'left_grass', 'right_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, left_grass, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'left_grass', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, left_grass, has_berry] → 动作: move_right (置信度 0.43)
[规则库] 添加规则: ['hp_low', 'left_grass', 'has_berry'] → move_right (权重 0.43)
[新规则] 条件: [hp_low, right_grass, has_berry] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'right_grass', 'has_berry'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, has_berry, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'has_berry', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, down_grass, up_grass] → 动作: move_right (置信度 0.69)
[规则库] 规则已存在,更新权重 0.48 -> 0.69
[新规则] 条件: [attack_ready, left_grass, up_grass] → 动作: move_right (置信度 0.62)
[规则库] 规则已存在,更新权重 0.45 -> 0.62
[新规则] 条件: [attack_ready, right_grass, up_grass] → 动作: move_right (置信度 0.67)
[规则库] 规则已存在,更新权重 0.48 -> 0.67
[新规则] 条件: [attack_ready, has_berry, up_grass] → 动作: move_right (置信度 0.62)
[规则库] 规则已存在,更新权重 0.45 -> 0.62
[新规则] 条件: [attack_ready, up_stone, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'up_stone', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, left_grass, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'left_grass', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, up_stone, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'up_stone', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, has_berry, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'has_berry', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, left_grass, down_grass] → 动作: move_right (置信度 0.67)
[规则库] 规则已存在,更新权重 0.51 -> 0.67
[新规则] 条件: [attack_ready, right_grass, down_grass] → 动作: move_right (置信度 0.71)
[规则库] 规则已存在,更新权重 0.57 -> 0.71
[新规则] 条件: [attack_ready, down_grass, has_berry] → 动作: move_right (置信度 0.67)
[规则库] 规则已存在,更新权重 0.51 -> 0.67
[新规则] 条件: [attack_ready, left_grass, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'left_grass', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, right_tree, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'right_tree', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, has_berry, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'has_berry', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, left_grass, right_grass] → 动作: move_right (置信度 0.65)
[规则库] 规则已存在,更新权重 0.51 -> 0.65
[新规则] 条件: [attack_ready, left_grass, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'left_grass', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, left_grass, has_berry] → 动作: move_right (置信度 0.55)
[规则库] 规则已存在,更新权重 0.48 -> 0.55
[新规则] 条件: [attack_ready, right_grass, has_berry] → 动作: move_right (置信度 0.65)
[规则库] 规则已存在,更新权重 0.51 -> 0.65
[新规则] 条件: [attack_ready, has_berry, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'has_berry', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [left_grass, down_grass, up_grass] → 动作: move_right (置信度 0.69)
[规则库] 规则已存在,更新权重 0.48 -> 0.69
[新规则] 条件: [right_grass, down_grass, up_grass] → 动作: move_right (置信度 0.75)
[规则库] 规则已存在,更新权重 0.53 -> 0.75
[新规则] 条件: [down_grass, has_berry, up_grass] → 动作: move_right (置信度 0.69)
[规则库] 规则已存在,更新权重 0.48 -> 0.69
[新规则] 条件: [left_grass, right_grass, up_grass] → 动作: move_right (置信度 0.67)
[规则库] 规则已存在,更新权重 0.48 -> 0.67
[新规则] 条件: [left_grass, has_berry, up_grass] → 动作: move_right (置信度 0.62)
[规则库] 规则已存在,更新权重 0.45 -> 0.62
[新规则] 条件: [right_grass, has_berry, up_grass] → 动作: move_right (置信度 0.67)
[规则库] 规则已存在,更新权重 0.48 -> 0.67
[新规则] 条件: [left_grass, up_stone, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['left_grass', 'up_stone', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [up_stone, right_tree, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['up_stone', 'right_tree', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, up_stone, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [left_grass, up_stone, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['left_grass', 'up_stone', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [left_grass, has_berry, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['left_grass', 'has_berry', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [up_stone, has_berry, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['up_stone', 'has_berry', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [left_grass, down_grass, right_grass] → 动作: move_right (置信度 0.71)
[规则库] 规则已存在,更新权重 0.57 -> 0.71
[新规则] 条件: [left_grass, down_grass, has_berry] → 动作: move_right (置信度 0.67)
[规则库] 规则已存在,更新权重 0.51 -> 0.67
[新规则] 条件: [right_grass, down_grass, has_berry] → 动作: move_right (置信度 0.71)
[规则库] 规则已存在,更新权重 0.57 -> 0.71
[新规则] 条件: [left_grass, right_tree, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['left_grass', 'right_tree', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [left_grass, has_berry, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['left_grass', 'has_berry', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, right_tree, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'right_tree', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [left_grass, has_berry, right_grass] → 动作: move_right (置信度 0.65)
[规则库] 规则已存在,更新权重 0.51 -> 0.65
[新规则] 条件: [left_grass, has_berry, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['left_grass', 'has_berry', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, hp_low, down_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'down_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [attack_ready, hp_low, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [attack_ready, hp_low, right_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'right_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [attack_ready, hp_low, has_berry, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'has_berry', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [attack_ready, hp_low, up_stone, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'up_stone', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, hp_low, left_grass, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'left_grass', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, hp_low, right_tree, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'right_tree', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, hp_low, has_berry, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'has_berry', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, hp_low, left_grass, down_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'left_grass', 'down_grass'] → move_right (权重 0.60)
[新规则] 条件: [attack_ready, hp_low, right_grass, down_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'right_grass', 'down_grass'] → move_right (权重 0.60)
[新规则] 条件: [attack_ready, hp_low, down_grass, has_berry] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'down_grass', 'has_berry'] → move_right (权重 0.60)
[新规则] 条件: [attack_ready, hp_low, left_grass, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'left_grass', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, hp_low, right_tree, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'right_tree', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, hp_low, has_berry, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'has_berry', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, hp_low, right_grass, left_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'right_grass', 'left_grass'] → move_right (权重 0.60)
[新规则] 条件: [attack_ready, hp_low, left_grass, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'left_grass', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, hp_low, left_grass, has_berry] → 动作: move_right (置信度 0.43)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'left_grass', 'has_berry'] → move_right (权重 0.43)
[新规则] 条件: [attack_ready, hp_low, right_grass, has_berry] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'right_grass', 'has_berry'] → move_right (权重 0.60)
[新规则] 条件: [attack_ready, hp_low, has_berry, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'hp_low', 'has_berry', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, left_grass, down_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'left_grass', 'down_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, right_grass, down_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'right_grass', 'down_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, down_grass, has_berry, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'down_grass', 'has_berry', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, right_grass, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'right_grass', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, left_grass, has_berry, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'left_grass', 'has_berry', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, right_grass, has_berry, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'right_grass', 'has_berry', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, left_grass, up_stone, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'left_grass', 'up_stone', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, right_tree, up_stone, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'right_tree', 'up_stone', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, has_berry, up_stone, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'has_berry', 'up_stone', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, right_tree, left_grass, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'right_tree', 'left_grass', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, left_grass, has_berry, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'left_grass', 'has_berry', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, right_tree, has_berry, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'right_tree', 'has_berry', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, right_grass, down_grass, left_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'right_grass', 'down_grass', 'left_grass'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, left_grass, down_grass, has_berry] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'left_grass', 'down_grass', 'has_berry'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, right_grass, down_grass, has_berry] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'right_grass', 'down_grass', 'has_berry'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, left_grass, right_tree, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'left_grass', 'right_tree', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, left_grass, has_berry, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'left_grass', 'has_berry', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, has_berry, right_tree, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'has_berry', 'right_tree', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [hp_low, right_grass, left_grass, has_berry] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['hp_low', 'right_grass', 'left_grass', 'has_berry'] → move_right (权重 0.60)
[新规则] 条件: [hp_low, left_grass, has_berry, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['hp_low', 'left_grass', 'has_berry', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, left_grass, down_grass, up_grass] → 动作: move_right (置信度 0.69)
[规则库] 规则已存在,更新权重 0.48 -> 0.69
[新规则] 条件: [attack_ready, right_grass, down_grass, up_grass] → 动作: move_right (置信度 0.75)
[规则库] 规则已存在,更新权重 0.53 -> 0.75
[新规则] 条件: [attack_ready, down_grass, has_berry, up_grass] → 动作: move_right (置信度 0.69)
[规则库] 规则已存在,更新权重 0.48 -> 0.69
[新规则] 条件: [attack_ready, right_grass, left_grass, up_grass] → 动作: move_right (置信度 0.67)
[规则库] 规则已存在,更新权重 0.48 -> 0.67
[新规则] 条件: [attack_ready, left_grass, has_berry, up_grass] → 动作: move_right (置信度 0.62)
[规则库] 规则已存在,更新权重 0.45 -> 0.62
[新规则] 条件: [attack_ready, right_grass, has_berry, up_grass] → 动作: move_right (置信度 0.67)
[规则库] 规则已存在,更新权重 0.48 -> 0.67
[新规则] 条件: [attack_ready, left_grass, up_stone, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'left_grass', 'up_stone', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, right_tree, up_stone, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'right_tree', 'up_stone', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, has_berry, up_stone, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'has_berry', 'up_stone', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, up_stone, left_grass, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'up_stone', 'left_grass', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, left_grass, has_berry, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'left_grass', 'has_berry', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, right_tree, has_berry, up_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'right_tree', 'has_berry', 'up_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, right_grass, down_grass, left_grass] → 动作: move_right (置信度 0.71)
[规则库] 规则已存在,更新权重 0.57 -> 0.71
[新规则] 条件: [attack_ready, left_grass, down_grass, has_berry] → 动作: move_right (置信度 0.67)
[规则库] 规则已存在,更新权重 0.51 -> 0.67
[新规则] 条件: [attack_ready, right_grass, down_grass, has_berry] → 动作: move_right (置信度 0.71)
[规则库] 规则已存在,更新权重 0.57 -> 0.71
[新规则] 条件: [attack_ready, left_grass, right_tree, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'left_grass', 'right_tree', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, left_grass, has_berry, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'left_grass', 'has_berry', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, has_berry, right_tree, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'has_berry', 'right_tree', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [attack_ready, right_grass, left_grass, has_berry] → 动作: move_right (置信度 0.65)
[规则库] 规则已存在,更新权重 0.51 -> 0.65
[新规则] 条件: [attack_ready, left_grass, has_berry, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['attack_ready', 'left_grass', 'has_berry', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [right_grass, down_grass, left_grass, up_grass] → 动作: move_right (置信度 0.75)
[规则库] 规则已存在,更新权重 0.53 -> 0.75
[新规则] 条件: [left_grass, down_grass, has_berry, up_grass] → 动作: move_right (置信度 0.69)
[规则库] 规则已存在,更新权重 0.48 -> 0.69
[新规则] 条件: [right_grass, down_grass, has_berry, up_grass] → 动作: move_right (置信度 0.75)
[规则库] 规则已存在,更新权重 0.53 -> 0.75
[新规则] 条件: [right_grass, left_grass, has_berry, up_grass] → 动作: move_right (置信度 0.67)
[规则库] 规则已存在,更新权重 0.48 -> 0.67
[新规则] 条件: [right_tree, left_grass, up_stone, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['right_tree', 'left_grass', 'up_stone', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [left_grass, has_berry, up_stone, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['left_grass', 'has_berry', 'up_stone', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [right_tree, has_berry, up_stone, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['right_tree', 'has_berry', 'up_stone', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [up_stone, left_grass, has_berry, right_tree] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['up_stone', 'left_grass', 'has_berry', 'right_tree'] → move_left (权重 1.00)
[新规则] 条件: [right_grass, down_grass, has_berry, left_grass] → 动作: move_right (置信度 0.71)
[规则库] 规则已存在,更新权重 0.57 -> 0.71
[新规则] 条件: [left_grass, has_berry, right_tree, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['left_grass', 'has_berry', 'right_tree', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [down_grass, attack_ready, hp_low, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['down_grass', 'attack_ready', 'hp_low', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [right_grass, down_grass, attack_ready, hp_low, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'attack_ready', 'hp_low', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [down_grass, has_berry, attack_ready, hp_low, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['down_grass', 'has_berry', 'attack_ready', 'hp_low', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [right_grass, attack_ready, hp_low, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'attack_ready', 'hp_low', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [has_berry, attack_ready, hp_low, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['has_berry', 'attack_ready', 'hp_low', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [right_grass, has_berry, attack_ready, hp_low, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'has_berry', 'attack_ready', 'hp_low', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [up_stone, down_stone, attack_ready, hp_low, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['up_stone', 'down_stone', 'attack_ready', 'hp_low', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [up_stone, right_tree, attack_ready, down_stone, hp_low] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['up_stone', 'right_tree', 'attack_ready', 'down_stone', 'hp_low'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, up_stone, down_stone, attack_ready, hp_low] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'down_stone', 'attack_ready', 'hp_low'] → move_left (权重 1.00)
[新规则] 条件: [up_stone, right_tree, attack_ready, hp_low, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['up_stone', 'right_tree', 'attack_ready', 'hp_low', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, up_stone, attack_ready, hp_low, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'attack_ready', 'hp_low', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, up_stone, right_tree, attack_ready, hp_low] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'right_tree', 'attack_ready', 'hp_low'] → move_left (权重 1.00)
[新规则] 条件: [right_grass, down_grass, attack_ready, hp_low, left_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'attack_ready', 'hp_low', 'left_grass'] → move_right (权重 0.60)
[新规则] 条件: [down_grass, has_berry, attack_ready, hp_low, left_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['down_grass', 'has_berry', 'attack_ready', 'hp_low', 'left_grass'] → move_right (权重 0.60)
[新规则] 条件: [right_grass, down_grass, has_berry, attack_ready, hp_low] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'has_berry', 'attack_ready', 'hp_low'] → move_right (权重 0.60)
[新规则] 条件: [right_tree, down_stone, attack_ready, hp_low, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['right_tree', 'down_stone', 'attack_ready', 'hp_low', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, down_stone, attack_ready, hp_low, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'down_stone', 'attack_ready', 'hp_low', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, right_tree, down_stone, attack_ready, hp_low] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'right_tree', 'down_stone', 'attack_ready', 'hp_low'] → move_left (权重 1.00)
[新规则] 条件: [right_grass, has_berry, attack_ready, hp_low, left_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'has_berry', 'attack_ready', 'hp_low', 'left_grass'] → move_right (权重 0.60)
[新规则] 条件: [has_berry, right_tree, attack_ready, hp_low, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'right_tree', 'attack_ready', 'hp_low', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [right_grass, down_grass, hp_low, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'hp_low', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [down_grass, has_berry, hp_low, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['down_grass', 'has_berry', 'hp_low', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [right_grass, down_grass, has_berry, hp_low, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'has_berry', 'hp_low', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [right_grass, has_berry, hp_low, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'has_berry', 'hp_low', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [up_stone, right_tree, down_stone, hp_low, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['up_stone', 'right_tree', 'down_stone', 'hp_low', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, up_stone, down_stone, hp_low, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'down_stone', 'hp_low', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, up_stone, right_tree, down_stone, hp_low] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'right_tree', 'down_stone', 'hp_low'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, up_stone, right_tree, hp_low, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'right_tree', 'hp_low', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [right_grass, down_grass, has_berry, hp_low, left_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'has_berry', 'hp_low', 'left_grass'] → move_right (权重 0.60)
[新规则] 条件: [has_berry, right_tree, down_stone, hp_low, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'right_tree', 'down_stone', 'hp_low', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [right_grass, down_grass, attack_ready, left_grass, up_grass] → 动作: move_right (置信度 0.75)
[规则库] 规则已存在,更新权重 0.53 -> 0.75
[新规则] 条件: [down_grass, has_berry, attack_ready, left_grass, up_grass] → 动作: move_right (置信度 0.69)
[规则库] 规则已存在,更新权重 0.48 -> 0.69
[新规则] 条件: [right_grass, down_grass, has_berry, attack_ready, up_grass] → 动作: move_right (置信度 0.75)
[规则库] 规则已存在,更新权重 0.53 -> 0.75
[新规则] 条件: [right_grass, has_berry, attack_ready, left_grass, up_grass] → 动作: move_right (置信度 0.67)
[规则库] 规则已存在,更新权重 0.48 -> 0.67
[新规则] 条件: [up_stone, right_tree, attack_ready, down_stone, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['up_stone', 'right_tree', 'attack_ready', 'down_stone', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, up_stone, down_stone, attack_ready, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'down_stone', 'attack_ready', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, up_stone, right_tree, attack_ready, down_stone] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'right_tree', 'attack_ready', 'down_stone'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, up_stone, right_tree, attack_ready, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'right_tree', 'attack_ready', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [right_grass, down_grass, has_berry, attack_ready, left_grass] → 动作: move_right (置信度 0.71)
[规则库] 规则已存在,更新权重 0.57 -> 0.71
[新规则] 条件: [has_berry, right_tree, down_stone, attack_ready, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'right_tree', 'down_stone', 'attack_ready', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [right_grass, down_grass, has_berry, left_grass, up_grass] → 动作: move_right (置信度 0.75)
[规则库] 规则已存在,更新权重 0.53 -> 0.75
[新规则] 条件: [has_berry, up_stone, right_tree, down_stone, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'right_tree', 'down_stone', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [right_grass, down_grass, attack_ready, hp_low, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'attack_ready', 'hp_low', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [down_grass, has_berry, attack_ready, hp_low, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['down_grass', 'has_berry', 'attack_ready', 'hp_low', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [right_grass, down_grass, has_berry, attack_ready, hp_low, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'has_berry', 'attack_ready', 'hp_low', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [right_grass, has_berry, attack_ready, hp_low, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'has_berry', 'attack_ready', 'hp_low', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [up_stone, right_tree, attack_ready, down_stone, hp_low, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['up_stone', 'right_tree', 'attack_ready', 'down_stone', 'hp_low', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, up_stone, down_stone, attack_ready, hp_low, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'down_stone', 'attack_ready', 'hp_low', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, up_stone, right_tree, attack_ready, down_stone, hp_low] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'right_tree', 'attack_ready', 'down_stone', 'hp_low'] → move_left (权重 1.00)
[新规则] 条件: [has_berry, up_stone, right_tree, attack_ready, hp_low, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'right_tree', 'attack_ready', 'hp_low', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [right_grass, down_grass, has_berry, attack_ready, hp_low, left_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'has_berry', 'attack_ready', 'hp_low', 'left_grass'] → move_right (权重 0.60)
[新规则] 条件: [has_berry, right_tree, down_stone, attack_ready, hp_low, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'right_tree', 'down_stone', 'attack_ready', 'hp_low', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [right_grass, down_grass, has_berry, hp_low, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'has_berry', 'hp_low', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [has_berry, up_stone, right_tree, down_stone, hp_low, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'right_tree', 'down_stone', 'hp_low', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [right_grass, down_grass, has_berry, attack_ready, left_grass, up_grass] → 动作: move_right (置信度 0.75)
[规则库] 规则已存在,更新权重 0.53 -> 0.75
[新规则] 条件: [has_berry, up_stone, right_tree, attack_ready, down_stone, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'right_tree', 'attack_ready', 'down_stone', 'left_grass'] → move_left (权重 1.00)
[新规则] 条件: [right_grass, down_grass, has_berry, attack_ready, hp_low, left_grass, up_grass] → 动作: move_right (置信度 0.60)
[规则库] 添加规则: ['right_grass', 'down_grass', 'has_berry', 'attack_ready', 'hp_low', 'left_grass', 'up_grass'] → move_right (权重 0.60)
[新规则] 条件: [has_berry, up_stone, right_tree, attack_ready, down_stone, hp_low, left_grass] → 动作: move_left (置信度 1.00)
[规则库] 添加规则: ['has_berry', 'up_stone', 'right_tree', 'attack_ready', 'down_stone', 'hp_low', 'left_grass'] → move_left (权重 1.00)
[规则发现] 新增 232 条规则,当前规则总数: 243
[DEBUG] 自动触发回合,当前队伍: A
=== A 队回合 20 ===
AI响应:
Thought: 当前回合20,我方英雄HP满,能量61,机器人0在(18,9)与HP6怪物相邻,机器人1在(5,5)与两个怪物相邻,机器人2在(26,4)与HP4怪物相邻且敌方机器人1也在(26,5)附近。敌方英雄在(26,12)HP仅4,周围有多个怪物。我方应优先击杀怪物获取资源,同时注意保护机器人。机器人0和机器人2附近有怪物可攻击,机器人1附近也有怪物。英雄目前无直接攻击目标,可以移动收集资源或靠近战场支援。
Action: robot0 attack left
Action: robot1 attack left
Action: robot2 attack down
Action: hero move up
[规则评估] 动作 move_up 原始置信度: 0.00, 归一化: 0.00
[仲裁] RuleGraph (归一化置信度 0.10) 动作: hero move left
移动到(10,4)
攻击方向没有目标
攻击方向没有目标
造成2伤害,剩余2血
[DEBUG] 自动触发回合,当前队伍: B
=== B 队回合 21 ===
AI响应:
Thought: 敌方英雄和机器人分散,我方英雄血量较低(4/10),应优先安全行动并收集资源。机器人0在(21,10)附近有怪物(18,9)和(26,12),但距离较远;机器人1在(26,5)血量低,附近有敌方机器人2在(26,4)和怪物(26,4),危险;机器人2在(24,8)较安全。建议英雄向村民移动进行交易恢复能量或获取资源,机器人1应远离敌人,机器人0和2可协助攻击或收集。但当前回合,先让英雄移动到村民附近(假设村民在附近未显示位置,但提示可交易,需先找到村民)。查看周围无村民,先向安全方向移动。机器人1在(26,5)受到敌方机器人2(26,4)威胁,应向下或左移动躲避。机器人0和2可向敌人方向移动准备攻击。
Action: hero move left
Action: robot1 move down
Action: robot0 move left
Action: robot2 move left
[规则评估] 动作 move_left 原始置信度: 0.00, 归一化: 0.00
[仲裁] RuleGraph (归一化置信度 0.10) 动作: hero move right
移动到(27,12)
机器人1移动到(26,6)
机器人0移动到(20,10)
机器人2移动失败
[DEBUG] 自动触发回合,当前队伍: A
=== A 队回合 22 ===
AI响应:
Thought: 当前局势分析:
- 敌方英雄在(27,12)附近,HP仅4,且周围有多个怪物(27,12)位置有多个HP6/3的怪物,可能正在与怪物战斗。
- 我方英雄在(18,9)位置,HP满,能量59,可以移动或攻击。
- 机器人0在(18,9)与英雄同位置,HP4,周围有怪物(18,9,HP6)和(18,9,HP6),可以攻击。
- 机器人1在(5,5),HP4,周围有怪物(5,5,HP4)和(5,5,HP6),可以攻击。
- 机器人2在(26,4),HP2,周围有怪物(26,4,HP4),可以攻击。
- 敌方机器人分布:机器人0在(20,10),机器人1在(26,6),机器人2在(24,8)。
- 我方英雄可以向右移动接近敌方英雄,或者先清理附近的怪物。但英雄周围没有直接敌人可攻击。
- 机器人0和机器人1周围有怪物,应该先攻击怪物获取资源或保护自己。
- 机器人2在(26,4)有怪物,且附近有敌方机器人1在(26,6),可以攻击或移动。
策略:让机器人攻击附近的怪物,英雄向右移动接近敌方英雄或支援。
Action: robot0 attack down
Action: robot1 attack down
Action: robot2 attack up
Action: hero move right
[规则评估] 动作 move_right 原始置信度: 0.50, 归一化: 1.00
[仲裁] DeepSeek 动作: hero move right
移动到(11,4)
攻击方向没有目标
攻击方向没有目标
攻击方向没有目标
[DEBUG] 自动触发回合,当前队伍: B
=== B 队回合 23 ===
2. Core Components
2.1 Game Entities
- Hero: stores HP, energy, attack stats, inventory (wood, stone, plank, berry, cooked food, leather, monster meat).
- Robot: simpler unit (HP 8, attack 2) that can move and attack. Can be revived using team energy.
- Monster: moves toward the closest living unit, attacks when adjacent (attack 2).
- World: terrain types (0=grass, 1=tree, 2=stone, 3=berry, 4=campfire, 5=fence). Collision detection prevents moving onto obstacles or other units.
2.2 Turn Flow
- A team’s DeepSeek API is called with a detailed state report (see Section 3).
- The API returns a list of actions (e.g.,
hero move up,robot0 attack left). - The
process_team_turn_with_rulesfunction separates hero and robot actions. - The ActionArbiter evaluates the hero action:
- It computes the rule graph’s raw confidence for that action (sum of weights of all activated rules that recommend that action).
- The raw confidence is clipped to a configurable max (default 1.5) and normalised to [0,1].
- If the normalised confidence ≥ threshold (default 0.2), the DeepSeek action is accepted; otherwise, the rule graph’s recommended action is used.
- Robot actions are executed directly without arbitration.
- After execution, the system computes a reward (based on HP/energy/resource changes) and updates the rule graph weights (Hebbian update) and passes the experience to the rule discoverer.
advance_turn()updates cooldowns, moves monsters, regenerates monsters, revives robots, and decays hero energy.
3. State Report Format (sent to DeepSeek)
The state report is generated by get_state_text(team) and includes:
- Turn number and team identifier.
- Hero status: HP, energy, attack cooldown, invincibility frames.
- Resource counts: wood, stone, plank, berry, cooked food, leather, monster meat.
- Team energy (used for revivals).
- Alive robots: coordinates, HP, attack cooldown.
- Enemy hero: HP, coordinates, attack cooldown, invincibility.
- Enemy robots: coordinates, HP, attack cooldown.
- Monster list (up to 10) with coordinates and HP.
- Hero surroundings: for each of the four directions (up/down/left/right), the terrain type, any monster HP, any enemy unit (hero/robot), and whether the tile is movable.
- Lists of movable directions and attackable directions.
- Boundary warnings (if hero is at map edge).
- Summary of available trader offers.
- Action format guidelines.
Example excerpt:
【英雄周围】
上: 草地 (可移动)
下: 草地 怪物(HP6) (可移动)
左: 石头 (不可移动)
右: 草地 敌方英雄(HP8) (不可移动)
【可移动方向】 上, 下
【可攻击方向】 下, 右
4. Matrix Rule Graph
4.1 Representation
- N boolean conditions (e.g.,
energy_low,up_berry,attack_ready). - M rules, each consisting of:
- A condition mask (a row in matrix R of shape
(M, N)). - A one‑hot action vector (row in matrix A of shape
(M, K)whereK= number of possible actions). - A weight
w_i ∈ [0,1](stored in vector w).
- A condition mask (a row in matrix R of shape
- The action scores for a given feature vector
f(length N, 0/1) are computed as:condition_sums = R.sum(axis=1) matches = (R @ f == condition_sums).astype(np.float32) activated_weights = w * matches action_scores = np.dot(activated_weights, A) action_scores = np.clip(action_scores, 0.0, MAX_SCORE) # MAX_SCORE = 1.5 default - Normalised confidence for an action =
min(raw_score / MAX_SCORE, 1.0).
4.2 Rule Discovery (Online)
- A sliding cache stores the last 500 experiences
(true_conditions, action). - Every 10 steps, the system runs the Apriori algorithm (via
mlxtend) to find frequent itemsets and generate association rules. - Rules are filtered to keep only those with at least 2 conditions or confidence ≥ 0.7, preventing trivial single‑condition rules.
- New rules are added to the rule graph with initial weight = confidence.
- The rule graph is dynamic – new rules increase the number of rows in R and A, and the weight vector is extended.
4.3 Online Weight Update (Hebbian)
After each hero action, a reward r ∈ [-1,1] is computed based on changes in HP, energy, and wood. For every activated rule that recommended the executed action, its weight is updated:
w_new = w_old + lr * (r - w_old)
w_new = clip(w_new, 0, 1)
Learning rate lr = 0.1. This allows the rule graph to gradually adapt to successful behaviour.
5. Action Arbiter Logic
def decide(team, deepseek_action, feature_vec, true_cond_indices):
# 1. Compute normalised confidence for DeepSeek action
raw_conf = rule_graph.get_action_scores(feature_vec)[action_idx]
norm_conf = min(raw_conf / MAX_SCORE, 1.0)
# 2. If action legal and norm_conf >= threshold, accept DeepSeek action
if is_legal_hero_action(team, deepseek_action) and norm_conf >= threshold:
return deepseek_action
else:
# 3. Otherwise, use rule graph recommendation
best_idx, best_raw = rule_graph.recommend_action(feature_vec)
return action_from_idx(best_idx)
- Default
threshold = 0.2. - If the rule graph has no recommendation, a fallback default policy is used: priority to move toward an adjacent berry, otherwise random legal move.
6. Key Parameters & Configuration
| Parameter | Value | Description |
|---|---|---|
MAX_SCORE |
1.5 | Raw confidence clipping limit. |
threshold |
0.2 | Arbitration threshold for accepting DeepSeek action. |
lr |
0.1 | Learning rate for weight updates. |
discovery_interval |
10 | Number of hero steps between rule mining runs. |
min_support |
0.03 | Minimum support for Apriori. |
min_confidence |
0.3 | Minimum confidence for association rules. |
cache_size |
500 | Number of experiences kept for mining. |
TURN_DELAY_AI |
0.8 s | Delay between automated turns. |
7. Example Console Output (Verbose Mode)
=== A 队回合 3 ===
[DeepSeek] 原始动作: hero move right
[规则评估] 动作 move_right 原始置信度: 0.60, 归一化: 0.40
[仲裁] DeepSeek 动作: hero move right
移动到(6,5)
机器人0移动到(5,5)
...
[规则发现] 触发挖掘,当前缓存大小: 20,步骤数: 10
[新规则] 条件: [attack_ready, adjacent_monster_up] → 动作: attack_up (置信度 0.85)
[规则发现] 新增 1 条规则,当前规则总数: 12
8. Extensibility
- The rule graph can be extended with new condition types (e.g., distance to nearest enemy) by adding them to
CONDITION_NAMESand updatingextract_features(). - Different action spaces are supported by modifying
ACTION_IDXand the action parsing logic. - The arbitration threshold, learning rate, and mining parameters can be tuned per game.
9. Conclusion
This system combines the semantic understanding of a large language model (DeepSeek) with the symbolic reliability of a learnable rule graph. The rule graph provides immediate, interpretable feedback and can discover new rules online from experience. The arbiter ensures that the LLM’s decisions are only accepted when the rule system has confidence in them, gradually shifting control from pure LLM to a hybrid neuro‑symbolic agent. The code is fully functional and ready for further experimentation.
10. Source
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)