本科毕业论文---基于强化学习的gambler策略研究与评价论文正文.doc
《本科毕业论文---基于强化学习的gambler策略研究与评价论文正文.doc》由会员分享,可在线阅读,更多相关《本科毕业论文---基于强化学习的gambler策略研究与评价论文正文.doc(38页珍藏版)》请在咨信网上搜索。
本科生毕业设计(论文) 本科毕业设计(论文) 学院(部) 计算机科学与技术学院 题目 基于强化学习的Gambler策略研究与评价 年级 专业 软件工程(嵌入式) 班级 学号 姓名 指导教师 职称 论文提交日期 I 目 录 摘 要 1 ABSTRACT 2 第一章 前 言 3 1.1背景概述 3 1.2 强化学习的应用 3 1.3 论文结构安排 4 第二章 强化学习 5 2.1 强化学习的原理和模型 5 2.2 强化学习系统的主要组成要素 6 2.3 马尔可夫决策过程 (MDP) 7 2.4 强化学习的基本算法 8 2.4.1 动态规划(Dynamic Programming, DP) 8 2.4.2 蒙特卡罗算法 (Monte Carlo method, MC) 9 2.5 强化学习中有待解决的问题 9 2.6 本章小结 9 第三章 动态规划分析 10 3.1 动态规划的适用条件 10 3.1.1最优化原理 10 3.1.2无后向性 10 3.1.3子问题的重叠性 10 3.2 算法流程 11 3.2.1策略评估 11 3.2.2策略改进 11 3.3 寻找最优策略 12 3.3.1策略迭代 12 3.3.2值迭代 12 3.4 动态规划的效率 13 3.5 本章小结 13 第四章 实验平台分析与实现 14 4.1 实验平台描述 14 4.1.1系统概述 14 4.1.2系统运行环境 14 4.2 Gambler问题仿真 14 4.3 实验平台概要设计 15 4.3.1底层框架模型 15 4.3.2 Gambler问题模型 17 4.3.3界面设计 17 4.4 实验平台的详细设计 19 4.4.1类和接口 19 4.4.2核心算法示例 22 4.5 本章小结 25 第五章 实验结果分析 26 5.1 实验结果 26 5.2 Gambler仿真结果分析 27 5.2.1Gambler 在不同P值下的策略 27 5.2.2策略分析与评价 27 5.2.3计算误差对策略的影响 28 5.3 本章小结 29 第六章 总结与展望 30 6.1 课题总结 30 6.2 进一步的研究与展望 30 参考文献 32 致 谢 34 II 摘 要 强化学习是一种重要的机器学习方法。强化学习通过感知环境状态信息来学习动态系统的最优策略,通过试错法不断地与环境进行交互来改善自己的行为,并具有对环境的先验知识要求低的优点,是一种可以应用到实时环境中的在线学习方式。因此在智能控制,机器学习等领域中强化学习得到了广泛研究。 强化学习的任务就是学习从状态空间到动作空间的映射。环境对不同动作做出的评价性反馈信号决定了强化学习系统的动作选择策略。如果一个动作得到了最多的奖励,则该动作就会被采取。 本文的特点是在强化学习理论研究的基础上,以Gambler问题为仿真实验平台,对强化学习中的动态规划算法进行实现,并对不同P值下的实验结果进行分析。 关键词:强化学习,机器学习,动态规划,Gambler 作 者:李天琳 指导老师:刘 全 ABSTRACT Reinforcement learning is an important machine learning method. It could learn the optimal policy of the dynamic system through environment state observation and improve its behavior through trial and error with the environment. Reinforcement learning has the quality of low requirement for a priori knowledge and is also a kind of online learning method for the real-time environment, which is extensively explored in the field of intelligent control and machine learning. The aim of reinforcement learning is to learn the mapping from the state space to the action space. The selection policy of actions in the reinforcement learning system is determined by the evaluative feedback signal which is made by environment on different actions. If one action leading to the largest reward, it will be taken. The feature of this paper is that based on the basic theories and methods of reinforcement learning, this paper applies the Gambler problem simulation experiment to implement the dynamic programming algorithms and analyses the results according to different P value thereafter. Key Words: Reinforcement Learning, Machine Learning, Dynamic Programming, Gambler Author: Tianlin Li Supervisor: Quan Liu 1 苏州大学本科生毕业设计(论文) 第一章 前 言 1.1 背景概述 学习是人类获取知识的主要形式,也是人类具有智能的显著标志,是人类提高智能水平的基本途径。建造具有类似人的智能机器是智能控制、人工智能研究的一个核心问题。要使机器具有一定智能,一种方式是靠人事先编程来建立知识库和推理机制,这具有明显的局限性。我们希望智能机具有向环境学习的能力,即自动获取知识、积累经验、不断更新和扩充知识,改善知识性能。一个学习系统是具有这样一种能力的系统,它通过与控制对象和环境的闭环交互作用,根据过去获得的经验信息,逐步改进系统自身的未来性能[1]。 在机器学习范畴,根据反馈的不同,学习技术可以分为监督学习(Supervised learning)、非监督学习(Unsupervised learning) 和强化学习(Reinforcement learning)三大类。监督学习也称有导师的学习,这种学习方式需要外界存在一个“教师”,它可以对给定一组输入提供应有的输出结果,这种已知的输入-输出数据称为训练样本集,学习的目的是减少系统产生的实际输出和预期输出之间的误差,所产生的误差反馈给系统来指导学习。非监督学习又称无导师学习,它是指系统不存在外部教师指导的情形下构建其内部表征。 研究者发现,生物进化过程中为适应环境而进行的学习有两个特点:一个是人从来不是静止的被动的等待而是主动的对环境作试探;二是环境对试探动作产生的反馈是评价性的,生物根据环境的评价来调整以后的行为,是一种从环境状态到行为映射的学习,具有以上特点的学习就是强化学习(或称再励学习,评价学习,简记为RL)[2]。强化学习是一种以环境反馈作为输入的、特殊的、适应环境的机器学习方法。该方法不同与监督学习技术那样通过正例、反例来告知采取何种行为,而是通过试错(trial-and-error)的方法来发现最优行为策略[3]。 强化学习的概念是由Minsky在20世纪60年代最先提出的,从80年代末开始,随着对强化学习的数学基础研究取得突破性进展后,对强化学习的研究和应用也日益开展起来,成为目前机器学习领域的研究热点之一。 1.2 强化学习的应用 现在,强化学习已经成为制造业过程控制、作业调度、路径规划、WEB信息搜索、企业供应链、电子商务等领域,对目标行为优化的一种重要技术[4]。例如,目前将强化学习理论与企业分销系统相结合,目的是将多个制造商与一个零售商组成的分销系统,他们以各自的利润最大化为目标。制造商给零售商提供奖金激励,零售商提供对应于奖金激励的服务水平,制造商需要进行为零售商提供多大奖金激励的决策,利用强化学习的启发式学习算法来优化制造商应提供的最优奖金激励。 在调度管理中,强化学习体现出了很大的经济价值。Crites和Barto将强化学习算法用于一个4个电梯、10层楼的系统中[5]。每一个电梯都有各自的位置、方向、速度和一系列表示乘客要离开的位置状态。这个系统的状态集合超过1022个,用传统方法很难管理,因此他们用反传算法训练表示Q函数的神经网络,与其它算法相比较,强化学习更加优越。另外强化学习在蜂窝电话系统中动态信道分配和Job shop规划问题上都有应用。 在游戏比赛中,强化学习理论也被广泛地应用。最早应用的例子是Samuel的下棋程序,近来,Tesauro把瞬时差分法应用于Backgamon,这就是著名的TD-Gammon。Backgammon大约有1020个状态[6],Tesauro 采用三层BP神经网络把棋盘上的棋子位置与棋手获胜率联系起来,通过训练取得在40盘比赛中仅负1盘的战绩。 强化学习在多移动机器人系统中的应用研究正日益受到关注。Turcher Balch提出Clay控制结构应用于机器人足球赛,不同于基于行为控制结构的强化学习,他将强化学习与motor schemas 有机结合,使得系统既具有强化学习的自适应能力,又有motor schemas的实时性能。Mataric 利用改进的Q学习算法实现四个机器人执行foraging任务,事先利用领域知识将状态空间到动作空间的映射转化为条件行为来压缩状态空间的规模,加速学习[7]。 1.3 论文结构安排 本文以强化学习理论为基础,在Gambler仿真平台中实现了动态规划算法,并对实验结果进行了深入分析。论文结构安排如下: 第一章,前言。该章介绍了强化学习的背景及其应用。 第二章,强化学习。该章介绍了强化学习的基本原理和模型,强化学习系统的主要组成要素以及马尔可夫决策过程 (MDP),然后介绍了强化学习的基本算法,包括动态规划,蒙特卡罗算法,最后提出了强化学习过程中有待解决的问题。 第三章,动态规划分析。该章重点介绍了动态规划理论,包括动态规划的适用条件,算法流程以及寻找最优策略的两种迭代方式,最后分析了动态规划的效率。 第四章,实验平台分析与实现。该章详细分析了实验平台的概要设计和详细设计。 第五章,实验结果分析。该章分析了仿真平台的实验结果,对Gambler在不同P值下的策略进行了深入比较和分析。 第六章,总结与展望。该章对本文的研究工作进行了总结,对强化学习课题的前景做了进一步的展望。 第二章 强化学习 强化学习技术是从控制理论、统计学、心理学等相关学科发展而来,最早可以追溯到巴普洛夫的条件反射实验[8]。强化学习要解决的是这样一个问题:一个能够感知环境的自治Agent,怎样通过学习选择能够达到其目标的最优动作[9]。当Agent在环境中做出每个动作时,施教者会提供奖励或惩罚信息,以表示结果状态正确与否。例如,在训练Agent进行棋类对弈时,施教者可在游戏胜利时给出正回报,而在游戏失败时,给出负回报,其他的时候给出零回报。 2.1 强化学习的原理和模型 强化学习的基本原理为:如果Agent的某个行为策略导致环境正的奖励,那么Agent产生这个行为策略的趋势将会加强;如果Agent的某个行为策略导致环境负的奖励,那么Agent产生这个行为策略的趋势将会减弱,最终消亡。由于强化学习不像监督学习那样有教师信号,它仅有一个强化信号来判断动作的好坏,所以它的学习过程必定是漫长的。 强化学习把学习看作试探过程,基本模型如图2.l所示。在强化学习中,Agent选择一个动作a作用于环境,环境接收该动作后发生变化,同时产生一个强化信号(奖或罚)反馈给Agent,Agent再根据强化信号和环境的当前状态S再选择下一个动作,选择的原则是使受到正的报酬的概率增大[10]。选择的动作不仅影响立即回报值而且还影响下一时刻的状态及最终回报值。强化学习的目的就是寻找一个最优策略,使得Agent在运行中所获得的累计回报值最大[11]。 Agent 环境 奖赏r 动作a 状态S 图2.1 强化学习的基本结构 Agent与环境进行交互是,在每一时刻循环发生如下事件序列: (1) Agent感知当前的环境状态; (2) 针对当前的状态和强化值,Agent选择一动作执行; (3) 当Agent所选择的动作作用于环境时,环境发生变化,即环境状态转移至新状态并给出奖赏(强化信号r); (4) 奖赏(强化信号r)反馈给Agent。 2.2 强化学习系统的主要组成要素 模型 瞬时奖惩 策略 状态值函数 图2.2 强化学习的四个要素 如图2.2所示,除了Agent和环境,一个强化学习系统还有四个主要的组成要素:策略(policy)、状态值函数(value function)、瞬时奖惩函数(reward function)和环境的模型(model)。 Agent的任务是产生控制动作,动作的选定则是根据策略得到的,所以说策略是状态到动作的映射:。策略是强化学习的核心,因为策略直接决定了Agent的动作,即告诉Agent选择什么动作,策略的好坏最终决定了Agent的行动和整体性能,策略具有随机性。 瞬时奖惩函数是在与环境交互的过程中,获取的奖励信号,该函数反应了Agent所面临的任务的性质,同时,它也可以作为Agent修改策略的基础。奖赏信号R是对所产生动作的好坏作一种评价,奖赏信号通常是一个标量信号,例如用一个正数表示奖,而用负数表示罚,一般来说正数越大表示奖的越多,负数越小表示罚的越多。强化学习的目的就是使Agent最终得到的总的奖赏值达到最大。瞬时奖惩函数往往是确定的、客观的,为策略的选择提供依据,即告诉Agent选择什么动作是好的。 如果说瞬时奖惩函数是对一个状态(或状态-动作对)的即时评价,那么状态值函数就是从长远的角度来考虑一个状态(或状态-动作对)的好坏。值函数又称为评价函数。状态st的值,是指Agent在状态st根据策略π执行动作at及采取后续策略所得到的积累奖赏的期望,记为。 环境的模型是某些强化学习系统的另一个元素,并不是所有的强化学习系统都需要建立环境的模型。 图2.2中给出了这四种要素之间的关系。它们自底向上地构成了强化学习的学习结构。首先,系统所面临的环境由环境模型定义,模型是学习环境的基础。但是由于模型中函数和函数未知,只能使用瞬时奖惩选择策略。又因为考虑到环境模型的不确定性和目标的长远性,所以产生了介于策略和瞬时奖惩之间的状态值函数。即: (2.1) 这里是一个参数,,称为折扣率。 (2.2) 根据Bellman最优策略公式,在最优策略下,其值函数的定义如下: (2.3) 2.3 马尔可夫决策过程 (MDP) 在理想状况下,往往希望一个状态能够简练地抽象总结过去的感觉,然而这种方式又能保留所有相关信息。正常的来说,这比只要求即时感觉要求得更多,但是比要求全部的过去感知历史要少得多。一个成功保留所有相关信息的状态信号称为马尔可夫的,或者说具有马尔可夫性质。比如,一个棋子的位置——当前的在棋盘上所有棋子的结构——将作为一个马尔可夫状态,因为它汇集了所有关于引导它完成位置序列的重要的东西。虽然关于这个序列的很多信息丢失了,但是所有有关于这个游戏的最重要的东西被保留下来了。 对于所有在过去事件中的,,和所有的可能值:来说,如果状态信号有马尔可夫特性,那么环境在的响应只取决于在时刻的状态和动作的表示,在此情况下,环境和任务是一体的,都称为具有马尔可夫性质,环境的动态量可以定义为: (2.4) 满足马尔可夫性质的强化学习任务被称为是马尔可夫决策过程或者MDP。很多强化学习问题基于的一个关键假设就是Agent与环境之间的交互可以被看成一个马尔可夫决策过程(MDP),因此强化学习的研究主要集中于对Markov的问题处理。 Markov决策过程的模型可以用一个四元组表示:为可能的状态集合,为可能的动作集合,是状态转移函数;是奖赏函数[1]。在每一个时间步,环境处于状态集合中的某状态,Agent选择动作集合中的一个动作,收到即时奖赏,并转移至下一状态。状态转移函数表示在状态执行动作转移到状态的概率可以用表示。状态转移函数和奖赏函数都是随机的。Agent目标就是寻求一个最优控制策略,使值函数最大[12]。 2.4 强化学习的基本算法 大多数关于强化学习的方法研究都是建立在MDP理论框架之上的,通过MDP建模,强化学习问题一般可采用迭代技术更新值函数的估计值来获得最优策略。当前状态向下一状态转移的概率和奖赏值只取决于当前状态和选择的动作,而与历史状态和历史动作无关。根据在学习过程中Agent是否需要学习MDP知识,强化学习可以分为模型无关法(model-free)和基于模型法(model-base)。动态规划属于基于模型法,而蒙特卡罗算法则属于模型无关法。 2.4.1 动态规划(Dynamic Programming, DP) 动态规划方法是利用值函数来搜索好的策略方法,适用于解决大规模问题,设环境是一个有限马尔可夫集,对任意策略,如果环境的动态信息完全知道,如:策略和,已经知道,为了减少计算量,我们常用值迭代法来近似求出,,……,其更新公式为: (2.5) 常规的动态规划方法主要有以下三种方法:第一种是值函数迭代法,其本质是有限时段的动态规划算法在无限时段上的推广,是一种逐次逼近算法,该算法与强化学习有着密切的联系;第二种是策略迭代,这是一种基于Bellman最优方程的算法;第三种是改进的策略迭代法,综合了前面两种算法,也称为一般化策略迭代法,是许多强化学习算法的基本思想的来源之一[13]。 动态规划算法的局限性是明显的,它容易出现“维数灾”和“建模灾”问题。其计算量会使状态变量的数量呈指数增长;它要求事先知道系统的确切模型信息,如和的值,而在实际的大规模随机问题中,系统的确切模型信息通常是难以获得且不易计算的。 2.4.2 蒙特卡罗算法 (Monte Carlo method, MC) 蒙特卡罗算法是一种无模型 (model-free) 的学习方法,不需要系统模型——状态转移函数和奖赏函数,只需要通过与环境的交互获得的实际或模拟样本数据 (状态、动作、奖赏值) 序列,从而发现最优策略。MC总是基于平均化取样回报来解决强化学习问题,它把要解决的问题分解为情节(episode)。当环境状态为终止状态G时,将得到的累积回报赋予开始状态S的值函数。由于从起始状态到终止状态的过程中,S可能不止出现一次,这样对S的值函数的更新,可以有两种方法:FVMC(First Visit MC)和EVMC(Every Visit MC)。前者将回报赋予第一次访问的S,后者将每次访问S到终止状态G的回报平均化以后赋予S的值函数。两者虽然在理论上有区别,但是都可以最终收敛到最优值函数。 与动态规划方法相比,MC法直接同环境交互获得经验来优化动作行为,不需建立一个环境的动态信息模型,该算法中一些状态集的值函数的计算不依赖于其它状态集的值函数,所以我们可以在那些能够精确描述环境信息的状态子集中计算所获得的平均奖赏值。另外,它对马尔可夫性要求不是很严。 2.5 强化学习中有待解决的问题 (1) 在任一阶段,Agent都要面对如何在探索与利用之间取舍的问题。利用已知的动作可保证得到一定的奖赏,然而对一定的状态而言,探索新动作可能产生更高的奖赏,但过多的探索又会降低系统的性能。 (2) 传统的强化学习算法是基于环境的,是一个马尔可夫决策假设。系统的将来状态依赖于当前的环境状态,和以前的环境状态无关,在真实世界的大多数情况中,实际系统非常复杂,Agent不能够精确感知环境的所有状态,因此算法收敛性的假设在实际环境中得不到满足。 (3) 强化学习算法通过搜索状态空间和优化值函数得到好的策略,当系统变得复杂时,需要大量的参数来刻画它,这样会引起状态空间到动作空间映像的组合爆炸,给搜索带来了繁重的任务,进而影响行动决策的优化问题。 2.6 本章小结 本章先介绍了强化学习的原理和模型,然后介绍了强化学习系统的一些重要组成元素以及马尔可夫决策过程。此外本章还介绍了当前强化学习中的一些重要算法:动态规划、Monte Carlo算法,最后提出了一些强化学习中有待解决的问题。 第三章 动态规划分析 动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程(multistep decision process)的优化问题时,提出了著名的最优化原理(principle of optimality),把多阶段过程转化为一系列单阶段问题,逐个求解,创立了解决这类过程优化问题的新方法——动态规划。动态规划是建立在严格的数学基础之上的,它需要一个完整、精确的环境模型。动态规划涉及到一系列算法,这些算法能用于在给定完美的马尔可夫决策过程环境模型情况下计算最优化问题。 3.1 动态规划的适用条件 任何思想方法都有一定的局限性,超出了特定条件,它就失去了作用。同样,动态规划也并不是万能的。适用动态规划的问题必须满足最优化原理和无后效性。 3.1.1 最优化原理 最优化原理可以这样阐述:一个最优化策略具有这样的性质,不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略。简而言之,一个最优化策略的子策略总是最优的。一个问题满足最优化原理又称其具有最优子结构性质。最优化原理是动态规划的基础,任何问题,如果失去了最优化原理的支持,就不可能用动态规划方法计算。 3.1.2 无后向性 将各阶段按照一定的次序排列好之后,对于某个给定的阶段状态,它以前各阶段的状态无法直接影响它未来的决策,而只能通过当前的这个状态。换句话说,每个状态都是过去历史的一个完整总结。这就是无后向性,又称为无后效性。 3.1.3 子问题的重叠性 动态规划算法的根本目的是解决冗余。其实质上是一种以空间换时间的技术,它在实现过程中,不得不存储产生过程中的各种状态,所以它的空间复杂度要大于其他算法。设原问题的规模为n,当子问题树中的子问题总数是n的超多项式函数,而不同的子问题数只是n的多项式函数时,动态规划显得特别有意义,此时动态规划法具有线性时间复杂性。所以能够用动态规划解决的问题还有一个显著特征:子问题的重叠性。这个性质并不是动态规划适用的必要条件,但是如果该性质无法满足,动态规划算法同其他算法比较就不具备优势。 3.2 算法流程 一般来说,强化学习和动态规划的关键思想就是用值函数去组织和构造好的策略,一旦我们找到符合Bellman最优方程的最优值函数,和,就能很容易地得到最优策略。事实上,动态规划算法是由Bellman方程转化而来,也就是修正Bellman等式的规则以提高所期望的值函数的近似值。 在实际应用中往往按以下几个步骤进行: (1) 分析最优解的性质,并刻画其结构特征。 (2) 递归地定义最优值。 (3) 以自底向上或自顶向下的方法计算出最优值。 (4) 根据计算最优值时得到的信息,构造一个最优解。 3.2.1 策略评估 策略评估 (policy evaluation) 是指,对于任意策略,考虑如何计算状态值函数。对于任意, (3.1) 这里是指在策略下,状态执行动作的概率。在实际计算中,可以通过迭代方法来计算V值。考虑一个逼近值函数序列:映射到的V。当存在且时,序列通常收敛于,这个算法被称为迭代策略评估。 为了产生每一个连续的近似值,从到,对于每一个状态,迭代策略评估都采取相同的操作:在被评估策略下,沿着所有可能的一步转换,用的后续状态的旧值与期望的立即奖赏计算得到的新值来替换的旧值。这个操作称为全更新。迭代策略评估的每一次迭代,一旦产生了一个新的近似值函数,就要更新每一个状态值。在实现方面,另一个关注点是算法的终止。一种典型的迭代算法的终止条件是,在每执行一次扫描过后,去检查的值,并且当这个值足够小的时候停止执行。 3.2.2 策略改进 对策略计算值函数的一个原因就是有助于发现更好的策略。假如对于任一策略确定一个值函数,对于某些状态应该如何判断是否应该改变策略来选择动作()。最关键的评判标准就是计算是大于还是小于。如果大于的话,在状态下选择动作,然后再遵循策略,要优于一直遵循策略。并且最好在以后每次遇到状态的时候都采用动作,事实上,这一新的策略在全局上还是优于旧策略的。在这一特殊情况下所做的操作就称为策略改进原理。的计算公式为: (3.2) 通过对原始策略的值函数使用或近似使用贪心算法,改进原始策略来制定新的策略的过程,就被称作是策略改进。 3.3 寻找最优策略 动态规划思想设计的算法从整体上看基本是按照递推关系式来进行迭代算得最优解。有两种迭代方式:策略迭代和值迭代。 3.3.1 策略迭代 一个策略在利用被改进而产生一个新的更好的策略后,计算,然后再次改进生成更好的策略。每一个策略必须保证在前一个策略上严格的改进。因为一个有穷的马尔可夫决策过程(MDP)仅有有限数量的策略,这个过程在有限次的迭代后最终收敛于最优策略和最优值函数。寻找最优策略的方法称为策略迭代。对于每一次策略评估和其自身的迭代计算都开始于前一次策略的值函数,这使得策略评估的收敛速度有很大的提高。策略迭代经常在很少量的几步迭代后就收敛至最优策略。 3.3.2 值迭代 策略迭代的一大缺点就是它的每一次迭代都需要进行策略评估,而对于整个状态集,该策略评估要对状态集多次扫描,不断地进行自身迭代计算。事实上,通过值迭代可以中断策略评估的执行,而且不影响最终策略迭代的收敛效果。值迭代将策略改进和终止策略评估的步骤结合了起来,在第一轮扫描 (每个状态的一次更新) 过后,策略评估就停止了,公式如下: (3.3) 在每一遍的值迭代过程中,都有效地将一遍策略评估和一遍策略改进相结合,通过在两遍策略改进之间插入多遍策略评估,从而加快了收敛至最优策略的速度。其终止方法是通过计算值函数在一次扫描后的变化量,如果非常小则停止程序的运行。图4.1就给出了关于这种带结束条件的完整的算法。 Repeat For each Until (一个极小的数) 输出一个确定的策略,例如: 图4.1值迭代 3.4 动态规划的效率 DP对于解决大型的问题来说可能并不太实际,但是与其它一些解决MDP算法相比较,它还是相当有效的。如果不考虑一些技术上的细节,那么利用动态规划算法去寻找最优策略所花费的(最长)时间是一个关于状态数和动作数的多项式。假设n和m表示状态和动作的数量,这就意味着动态规划算法将进行一系列操作步骤必将小于多项式所计算的结果。即使(确定的)策略的总数量是,动态规划算法也可以确保在由多项式所得出的时间范围内得到最优策略。从这个意义上来说,动态规划算法在寻找最优策略的速度上要远快于其他直接寻找的算法,因为那些直接寻找的算法需要尽力检验每一个策略以比较确定是否为最优策略。线性规划算法也可以用来解决马尔可夫决策过程的问题,甚至在一些情况下,它的最差收敛保证要优于动态规划算法的。但是在状态的数量很小的时候,与动态规划算法比较时,线性规划算法就显的很不实际,比如当状态的数量只有100的时候。而对于那些大型的问题,只有动态规划算法才是可行的。 实际上,利用现今的计算机,动态规划可以用来解决状态数量达到百万级的马尔可夫决策过程的问题。策略迭代和值迭代现如今都被广泛使用,也不能说两者之间到底是哪一个比较好。实际上,这些算法的收敛速度都是要快于它们理论上的最差运行时间,尤其是当它们一开始就有的比较好的初始值函数或者策略。 3.5 本章小结 本章先介绍了动态规划的适用条件,然后说明动态规划的算法流程并且介绍了策略评估和策略改进。其次本章还介绍了两种寻找最优策略的迭代方法以及动态规划的效率。 第四章 实验平台分析与实现 基于强化学习理论,采用动态规划算法,以Gambler问题为实验平台,对上述理论进行仿真实现。本章重在讨论仿真平台的实现过程,详细介绍底层框架及核心算法。 3. 4. 4.1 实验平台描述 4.1.1 系统概述 Gambler问题是强化学习过程中比较经典的问题,本次实验重在借助Gambler问题,结合强化学习的理论和算法,在Visual Studio 2008环境下实现机器学习,最终能够给出Gambler问题中的最优策略。在该实验平台上,用户可以设定赌徒赢的概率,程序运行过程中,我们可以看到机器学习过程中所产生的V值以及最优策略的变化情况。 4.1.2 系统运行环境 (1) 硬件系统 处理器:Intel Pentium 166 MX 或者更高 内存:128M以上 硬盘空间:2G以上 显卡:SVGA显卡适配器 (2) 软件系统 操作系统:Windows 98/ME/2000/XP 实验环境:Visual Studio 2008 2. 3. 4. 4.1 4.2 Gambler问题仿真 一个赌徒利用硬币投掷的正反面结果来赌博。假如投掷结果是硬币的正面朝上,那么他将赢得他所压在这一局的相同钱,如果是反面朝上,那么他将输掉他的赌金。当这个赌徒赢满100美元或者他输掉他所有的钱时,赌博结束。每一轮投掷,赌徒必须取出他资金的一部分作为赌金,赌金必须是整数。 在该实验平台上,能够有用户定义硬币正面朝上的概率P,并且能够暂停迭代来查看当前的V值及最优策略。程序运行结束后,能够在系统界面上看到最终的V值及最优策略的曲线图。 Gambler问题可以被描述为情节式无折扣的(可以理解为)有限MDP模型。状态就是赌徒所拥有的资金,,动作就是下赌注,。每一轮只有当赌徒最后赢满100美元时,反馈值为+1,否则,反馈值为0。状态值函数给出每轮能够赢得赌博的概率。策略就是如何决定每轮取出多少钱去赌博。最优策略就是使取得最后胜利的概率最大化。 4.2 4.3 实验平台概要设计 本实验平台是由两部分构成,一部分是底层框架,该框架的设计初衷是能够适用任何强化学习问题,因此它是由许多抽象类和接口构成,另一部分是具体强化学习问题的模型,它是通过对具体问题建模并且继承底层框架的抽象类而获得的。 4.3 4.3.1 底层框架模型 在底层框架中,最重要的是IAgent, IEnvironment, IStrategy这三个抽象类及其子类。IAgnet是环境(Environment) 和策略(Strategy)模块交互的桥梁。IEnvironment 主要包括Action和State,用来获得环境中的动作以及状态。IStrategy是采用的算法,包含进行学习的函数。在本实验平台中,由于环境模型是确定的,并未使用到IAgent,因此以下将具体说明环境,算法及值存储的相关部分。 (1) 环境的结构 IEnvronment IState CAbstractState CAbstractEnvironmentModel CAbstractEnvironment IEnvironmentModel IGraphics IAction 图4.1 环境的结构 如图4.1所示,最终的CAbstractEnvironmentModel类即是在具体问题中环境类所要继承的父类。该类同时继承IEnvironmentModel和CAbstractEnvironment主要包括一下方法:判断是否到达最终状态;获取当前状态的所有动作值;给定一对状态和动作后获得后继状态,获得立即奖赏值;初始化状态;获得所有状态;以文本形式返回所有的属性。 IGraphics是一个画图的接口,使用该接口可以将环境中的信息及时返回到系统的图形界面中。在Gambler问题的具体实现中,并没有通过这个类来画图。 IEnvironmentModel是基于模型的环境类,继承IEnvironment。在这个类中有两个抽象的方法:一个是获得转移概率的函数,另一个是获得所有后继状态的函数。 (2) 算法的结构 IStrategy CMCOnPolicySelector CVISelector IActionValueLearner IModelFreeStrategy IModelBasedStrategy IStateValueLearner 图4.2 算法的结构 IStrategy是算法的接口,最主要的功能是在给定一个状态后,获取它的最优动作或者最优动作列表。IModelFreeStrategy继承IStrategy,主要用于无模型的算法,如TD算法,MC算法,Q算法,包含以下方法:从所有动作中选择一个动作,从它的经验中进行学习。IModelBasedStrategy也继承于IStrategy,主要用于已知模型的算法,如DP算法,包含以下方法:进行策略评估,进行机器学习。IStateValueLearner和IActionValueLearner都是返回状态的V值的类。因此,由图4.2可以得知,如果实际问题是用基于模型的算法解决的,则调用CVISelector类,如果是用无模型的算法解决,则调用CMCOnPolicySelector类。 (3) 存储的结构 在机器学习的过程中,需要不断地使用到当前状态的值 (V值或Q值),在底层框架中使用IVStore和IQStore来存取,并且如果在读取时发现还没值存入,则会调用IDefaultValueChooser来返回一个默认值。值可以是- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科毕业 论文 基于 强化 学习 gambler 策略 研究 评价 正文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文