feat: 确定性牌计数推理v2 — AbsoluteHandStrength + 包庄否决 + 混合策略修正

CardTracker:
- 新增 AbsoluteHandStrength: 综合评估手牌实力(rank控制/绝对最高牌/炸弹/效率/已知率)
- 用于包庄决策的安全检查

IsmctsBot:
- EstimateWinProbability: 混合策略回退为纯ISMCTS + 确定性否决
  (混合加成导致虚假信心, v3验证0%胜率)
- 策略: detStrength<0.15 → 直接否决不包, 否则纯ISMCTS
- 阈值保持 v2 水平: minPlays≤3→0.50,≤4→0.60,≤5→0.65

验证: 100局0错误 0.8s/局 ENDGAME=983次 LOCK=3次
This commit is contained in:
2026-07-13 00:59:48 +08:00
parent 5cc2ae8bd0
commit 1b1404f38e
8 changed files with 62 additions and 0 deletions

View File

@ -68,6 +68,11 @@ namespace PdkFriendServer.Logic
private double EstimateWinProbability(PdkBotView view)
{
// 确定性安全检查:手牌极弱 → 直接否定包庄
double detStrength = _tracker.AbsoluteHandStrength(view.MyHand);
if (detStrength < 0.15) return 0.0;
// ISMCTS 模拟(确定性只做否决,不混入加成以避免虚假信心)
int sims = Math.Min(_simulations, 600);
int wins = 0;
for (int s = 0; s < sims; s++)