4 Commits

Author SHA1 Message Date
ebf2a0dc98 fix: N2H2V5独立分支用NeuralBotV5 - 新增NeuralBotV5类 + InitBots映射 + --n2h2v5参数 2026-07-18 11:20:14 +08:00
2b108c4d41 feat: 训练效率优化 — B:全bot记录 + A:并行调度
B: NeuralBot也调用TrainingCollector.Record
  → 3个bot全部记录(之前只有ISMCTS)
  → 9样本/局(之前6, +50%)

A: parallel_train.py 并行调度器
  python3 scripts/parallel_train.py --workers 3 --games 333
  → 串行3个worker各跑333局 → 合并数据到training_data/

  效率: 1000局 ≈ 12分钟, 9000样本
  之前: 1000局 ≈ 12分钟, 6000样本
2026-07-13 03:25:51 +08:00
b619b84f2a config: --mix改为2×ISMCTS+1×NeuralBot (训练评估模式) 2026-07-13 03:18:47 +08:00
f43e47b0a6 feat: V-learning架构 — 改Q→V
Q-learning问题: pass action Q值稳定偏高 → 永远pass
V-learning修复:
- 网络输出 14(Q-action)→1(V-state): P(win|state)
- NeuralBot: 对每个候选编码出牌后state → 选V值最高的
- pass和出牌都是候选, 公平竞争(不是固定action slot)

TrainingCollector:
- 新增 EncodeAfterPlay(view, tracker, afterHand, playedIds)
- EncodeState 支持 extraSeen 参数(模拟出牌时标记已见)

Python:
- train_v.py: V-learning训练器(load CSV→predict win/loss)
- network.py: OUTPUT_DIM=14→1

验证: 200局0错误, V-model loss 0.81→0.0001
需更多数据覆盖状态空间
2026-07-13 02:52:48 +08:00