feat: SO-ISMCTS 备选方案 (非默认)

SOIsmctsBot.cs (新文件, 284行):
- 单树共享统计: SONode 累积所有候选的胜/负
- 200次检查收敛: winRate>90% → 提前终止
- 整合 HandOptimizer/CardTracker/EndgameSolver/LockDetector

性能问题 (当前不启用):
- 每次模拟重新生成对手手牌(48张TCardInfoPdkF) → 5-8x慢
- 优化方向: 对象池缓存+批量determinization
- 作为备选bot保留, InitBots仍用 IsmctsBot
This commit is contained in:
2026-07-12 23:14:52 +08:00
parent df048f6266
commit bce5e10cf2
8 changed files with 290 additions and 5 deletions

View File

@ -58,11 +58,11 @@ namespace PdkFriendServer.Logic
/// <summary>懒初始化3个botBotMode==true时首次WaitWanJiaShuRu调用</summary>
private void InitBots()
{
_bots = new IPdkBot[3];
for (int i = 0; i < 3; i++)
_bots[i] = new IsmctsBot();
}
{
_bots = new IPdkBot[3];
for (int i = 0; i < 3; i++)
_bots[i] = new IsmctsBot();
}
/// <summary>构建当前玩家的可见视图——只看自己手牌+公开信息</summary>
private PdkBotView BuildBotView(int pos)