pluribus第三课:CFR最小虚拟遗憾值算法

本文探讨了CFR算法在抽象分类后的迭代计算优化,包括对前期策略的权重调整及行动减枝策略,同时提到了在大规模计算中遇到的内存瓶颈问题及潜在解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在进行完抽象分类后,就是进行蓝图策略的CFR迭代计算的部分,CFR算法的核心就是遍历每一个可能的行动,并且事后对每一个行动进行收益损失评价,那些收益最高的行动将获得更高的概率。进而给每一个决策点计算出对应的行动的概率分布。pluribus对CFR迭代计算进行了优化.对前期的迭代的评估结果赋予较小的权重,因为前期的策略不成熟。并且会对收益特别的差的行动进行减枝,他认为这种负收益行现实中不常见没必要进行多次遍历,但会在固定迭代次数会统一在把全部的节点都放进来重新评估,避免被剪枝的节点收益出现变好的情况。
我在计算的时候并没有剪枝,因为还不清楚剪枝的阀值怎么设才是合理的。计算的时候遇到的问题是map占用内存过大的问题,我用的是32核256g内存的服务器进行迭代,每个key加上value占用的空间为40byte,但是map内部也有内存占用的问题,所以每个节点不只是40byte这没小,导致迭代3000万次的时候,内存占用就有250g左右。这个内存限制直接限制了我的迭代次数,所以下一步优化目标是如何减小map的内存,或者有什么其他的容器能替代map.还有就是计算速度的问题,速度的限制环节计算emd距离,可以提前计算好emd,避免在迭代过程中计算。
CFR代码的实现可以参考https://github.com/bakanaouji/cpp-cfr
代码逻辑图,参见pluribus原文附件,如下:
在这里插入图片描述在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值