通常,术语‘蒙特卡洛”泛指任何包含大量随机成分的估计方法。
一个状态的价值是从该状态开始的期望回报,即未来的折扣收益累积值的期望。那么一个显而易见的方法是根据经验进行估计,即对所有经过这个状态之后产生的回报进行平均。随着越来越多的回报被观察到,平均值就会收敛于期望值。这一想法是所有蒙特卡洛算法的基础。
在给定的某一幕中,每次状态s 的出现都称为对s的一次访问。当然,在同一幕中,s可能会被多次访问到。在这种情况下,我们称第一次访问为s的首次访问。首次访问型MC算法用s 的所有首次访问的回报的平均值估计,而每次访问型MC算法则使用所有访问的回报的平均值。
蒙特卡洛算法的一个重要的事实是:对于每个状态的估计是独立的。它对于一个状态的估计完全不依赖于对其他状态的估计,这与DP完全不同。换言之,蒙特卡洛算法并没有使用我们在之前章节中描述的自举思想。
如果无法得到环境的模型,那么计算动作的价值(“状态-动作”二元组的价值,也即动作价值函数的值)比起计算状态的价值更加有用一些。
动作价值函数的策略评估问题的目标是估计
算法就可以用几乎和之前完全相同的方式来解决此问题。如果在某一幕中状态s被访问并在这个状态中采取了动作a,我们就称“状态-动作”二元组(s, a)在这一幕中被访问到。每次访问型MC 算法将所有“状态-动作”二元组得到的回报的平均值作为价值函数
试探性出发假设有时非常有效,但当然也并非总是那么可靠。特别是当直接从真实环境中进行学习时,这个假设就很难满足了。作为替代,另一种常见的确保每一个“状态-动作”二元组被访问到的方法是,只考虑那些在每个状态下所有动作都有非零概率被选中的随机策略。我们将在后文讨论此方法的两个重要的变种。现在,我们先保留试探性出发假设来完成完整的蒙特卡洛控制算法的展示。