perf: SO-ISMCTS v2 — 静态牌池实现 1.0s/局 (8x提升)

SOIsmctsBot.cs 重写:
- 静态 FullDeck[52]: 52张牌只创建一次, 模拟时只交换ID数组
- 预生成300份对手手牌分布 (byte[] ID数组)
- FastSim核心全部用 byte/List<byte>, 零对象分配
- 8个候选→800次模拟=800×4个List.ToList (可忽略)

性能: 7.9s→1.0s/局 (8x)
触发: 298次SOv2决策, 2次LOCK
默认启用: InitBots改用SOIsmctsBot

vs IsmctsBot:
- SO 更快收敛(单树共享统计)
- SO 确定性预生成hand(无随机采样偏差)
- 速度相同(1.0s)
This commit is contained in:
2026-07-12 23:24:13 +08:00
parent bce5e10cf2
commit 2af570c0b3
8 changed files with 260 additions and 178 deletions

View File

@ -61,7 +61,7 @@ namespace PdkFriendServer.Logic
{
_bots = new IPdkBot[3];
for (int i = 0; i < 3; i++)
_bots[i] = new IsmctsBot();
_bots[i] = new SOIsmctsBot();
}
/// <summary>构建当前玩家的可见视图——只看自己手牌+公开信息</summary>