算法证明_CFR+算法证明过程

在介绍CFR+算法之前,我们首先介绍一下基础概念。

在CFR+算法中,counterfactual utility被定义为以下形式:

然后在regret的基础上,CFR+算法定义了一个regretlike value,注意在这里CFR+算法的regret为一个累加值,而CFR算法定义的regret为平均值,需要乘以1t:

,where

另外,在CFR+算法中,最后输出的平均策略为以下形式:

然后CFR+算法的bound为:

a832d00f39eb7ad3fcdb287613dca701.png

bound证明

4ac309073aa6d8cc13896e7e97b140ca.png

在对Lemma 1的证明过程中,我们可以得出以下结论:

fcfa8a2841503d310ec8ef692cdd077e.png

7a922b21b7b5ca1637deff0ee27ef5d8.png

我们得到了

,之后我们可以从Lemma 1可知
,于是,我们得出以下结论:

然后我们引入Lemma 3, Lemma 3很容易证明,可以直接看出:

805f82e5076f5e5eeb4b1c5c2ad93eb4.png

然后证明Lemma 4:

ed42de1c91efaf4f8ed00c2609c7f397.png

Lemma 4的证明就是将原有的序列扩充为1,2,3,。。。,T,这样的话等于有(T^2+T)/2的过程,然后我们再引入Lemma 3,这样的就可以求出新的bound:

然后我们由CFR算法的定义可知

于是可以得到新的

结论

从CFR算法和CFR+算法的证明过程中我们可以获取以下证明过程范式。

首先定义average overall regret:

846b372e56640bf762bdfa02d85d9cba.png

因为直接优化average overall regret困难,然后我们定义immediate counterfactual regret,并且最优化他,但是优化这个困难,于是我们优化他的拟合项counterfactual regret,使其小于

,就可以得到
。记住这样的话,counterfactual regret必须除t作为一个平均值,而CFR+算法直接将其作为了累加项。

在CFR+算法中,我们的counterfactual regret没有除t。但是我们得到了一个结论:

然后我们计算累加的counterfactual regret:

为了求出上面公式的bound,我们一般需要Lemma 3,而在LCFR中,需要在Lemma 3的基础上进行进一步的扩展。

然后我们证明

,于是得到

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331986.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java继承中的 equals + hashCode+toString

【0】README 0.1)本文转自 core java volume 1, 旨在理清 equals hashCode方法; 0.2) 特别说明: 在java中, 只有基本类型不是对象, 例如,数值, 字符和布尔类型的值都不…

纹理和基元_自定义基元和DTO的(反)序列化和验证

纹理和基元最近,我们为您提供了新的HTTP框架HttpMate。 在介绍性文章中 ,我们将请求和响应映射到域对象称为“最复杂的技术细节”,以及如何通过另一个伴侣MapMate帮助我们。 实际上,当将请求属性映射到您的域对象时,M…

vim 常用命令

文章目录普通命令模式下技巧汇总切换到插入模式切换到可视模式切换至底行命令模式复制内容复制命令的记忆技巧粘贴/恢复修改/改写删除/剪切字符大小写切换选择文本游标移动剪切文本/移动文本滚屏/翻页撤回查看文档状态查找/搜索字符串查看历史命令查看历史搜索记录多窗口操作保…

常见花材的固定的方法有哪些_旋流器常见的故障及处理方法有哪些?

旋流器除了用在磨矿循环中的分级作业外,还可以用于脱泥、脱水以及脱除浮选药剂等。此外,还可以用做重悬浮液选矿,其分选粒度可达0.1毫米左右。旋流器有许多优点,构造简单,没有运动部件,单位容积的处理能力大…

二叉堆(优先队列)

【0】README 0.1) 本文总结于 数据结构与算法分析,但源代码均为原创;旨在理清二叉堆(优先队列) 堆的其他操作及其应用, 以便让朋友些知道为什么要学习优先队列; 【1】二叉堆 1.0)…

java自定义外部接口_如何使用可外部化的接口在Java中自定义序列化

java自定义外部接口在上一篇文章“用示例介绍的有关Java序列化的一切”中 ,我解释了如何使用以下方法序列化/反序列化一个对象 Serializable接口,还说明了如何使用writeObject和readObject方法自定义序列化过程。 Java序列化过程的缺点 但是这些自定义…

python训练营朋友圈留言_用Python发一个高逼格的朋友圈【附代码】

今天二胖要给大家介绍一个Python库:PIL(Python Image Library)下面我们用一个实际的例子看看50行python代码可以做什么神奇的事情这是二胖发的一个朋友圈切图前是一张图切图后就是九张图啦成功霸屏除了可以处理规整的正方形图片还可以处理非规则的图片比如下面这张宽…

vim 编辑器的快捷键

文章目录命令终端界面滚屏命令终端页签切换缓存区切换/文件切换分割窗口/打开新窗口切换窗口移动/旋转/移出窗口关闭窗口调整窗口大小底行命令模式下的编辑快捷键vim 很多指令或者快捷键是大小写敏感。命令终端界面滚屏 快捷键说明Fn ←向上滚屏到开始处Fn →向下滚屏到末尾…

关于二叉堆(优先队列)的其他操作及其应用

【0】README 0.1)本文总结于 数据结构与算法分析;源代码均为原创, 旨在了解到我们学习了优先队列后,还能干些什么东西出来, 增加学习的interest; 0.2)以下列出了 关于二叉堆(优先队…

gradle junit5_JUnit 5和Selenium –使用Gradle,JUnit 5和Jupiter Selenium设置项目

gradle junit5Selenium是一组支持浏览器自动化的工具和库,主要用于Web应用程序测试。 Selenium的组件之一是Selenium WebDriver,它提供客户端库,JSON有线协议(与浏览器驱动程序进行通信的协议)和浏览器驱动程序。 Sele…

ubuntu 两块硬盘挂载不上_win10 轉 Ubuntu

目前用了win10兩三年。發現越來越慢,況且已習慣mac OS,所以想用自己的機子來裝個雙系統Linux,慢慢的將win的東西都轉到Ubuntu上。已清空一個磁盤300G,打算就是在這300G裡裝一個Ubuntu,不知道是否夠用(雖然很想裝在三星…

包+类导入+静态导入+类放入包中+包作用域

【0】README 0.1)本文转自 core java volume 1, 旨在理清 包和类导入的相关知识; 【1】 包 1.1) java 允许使用包将类组织起来,包可以方便组织代码,并将自己的代码与别人提供的代码库分开管理&#xff1b…

selenium自动化测试_使用Selenium自动化测试处理多个浏览器选项卡

selenium自动化测试使用Selenium进行自动化测试一直是将萌芽的自动化测试人员培养为专业人员的生命线。 Selenium是开源的,在全球范围内被广泛采用。 结果,您会得到社区的大力支持。 提供了与Selenium绑定的不同语言的多种框架。 因此,您已经…

qt和c#怎么选_请问目前做windows桌面应用程序,MFC、QT、C#哪个更好?

回答问题之前,先装个逼——没有主导过生命周期三年以上的桌面软件项目的,闭嘴。你连一个桌面软件项目的生命周期都没经历过,你凭什么做技术选型?凭信仰吗?装逼结束,正文开始。首先,非主流技术和…

java 白皮书的关键术语

【0】README 0.1) 本文转自 core java volume 1,仅供了解,所谓爱屋及乌嘛; 0.2) java的设计者编写了颇有影响力的白皮书,用来解释设计的初衷以及完成的情况,并发布了一个摘要;【1】…

当集合a为空集时a的取值范围_高中数学必修一第一章集合分节练习和章末测试题含答案[1] 2...

高中数学必修1 第一章 集合 分节练习和章末综合测试题含答案1 集合的含义与表示1、下列各组对象能否组成一个集合?(1)接近于0的数的全体; (2)2的近似值的全体; (3)平面上到点O 的距离等于1的点的全体; (4)正三角形的全体&#xff…

spring jpa 流式_从响应式Spring Data存储库流式传输实时更新

spring jpa 流式这篇文章详细介绍了从数据库到对该数据感兴趣的任何其他组件进行流更新的幼稚实现。 更准确地说,如何更改Spring Data R2DBC存储库以向相关订阅者发出事件。 对R2DBC和Spring的一点背景知识将对这篇文章有所帮助。 我以前的著作《 使用 Microsoft S…

弹窗页面交互_UI进阶知识-信息提交类弹窗该如何设计?

原文作者:风筝KK 信息提交类弹窗大家应该都比较熟悉,和其他弹窗的区别在于他有输入、选择等操作,比如我们常见的输入验证码、留言回复、充值转账、任务设置等。看上去设计都比较简单,但是当你验收时就会发现问题,为什么…

selenium并行_如何在不同的浏览器中设置Selenium网格以并行执行

selenium并行到目前为止,Selenium是最常用的Web自动化测试工具。 如此受欢迎的原因之一是Selenium的自动跨浏览器测试功能。 Selenium自动化测试可以帮助您在所有主要浏览器,所有主要操作系统甚至移动设备浏览器上进行测试。 您可以在所有功能测试中获得…