当前位置:天才代写 > C++/C代写,c语言代写代考-100%安全,包过 > CS代写之C语言代码代写基于概率的冒险游戏

CS代写之C语言代码代写基于概率的冒险游戏

2018-07-06 08:00 星期五 所属: C++/C代写,c语言代写代考-100%安全,包过 浏览:566

 下载 (2).jpg

说明

对于这个任务,你需要实现两个功能来完成⼀一个⽹网格世界项⽬目,这是⼀一个基于概率的冒险游戏。 您需要使⽤用⻢马尔可夫决策过程(MDP)技术来分析⽹网格世界中每个位置的潜在⻛风险,并提供建议 采取的措施。 因此,⼀一个策略略将在值迭代后最终输出。 以下是您需要实现的两个功能:

 

 

函数1void MDP :: computeQValueStatesconst int action

 

这个函数被另⼀一个函数–valueIteration()调⽤用,你也需要实现它。 由于函数名称暗示

“computeQValue”,因此您需要根据所采取的操作更更新状态sQ值。 每个州有四个与

⻄西北北⾏行行动相对应的Q值。 如果输⼊入动作是,则需要为动作更更新s的相应Q值。输⼊入:

1)国家&s – 实际上这是该函数的输⼊入和输出参数。最初,您根据s的位置和第⼆二个输⼊入参数

“action”使⽤用此输⼊入来确定潜在的下⼀一个状态。 状态的数据结构在“MDP.h”⽂文件中定义。

 

2int action – 从状态s到下⼀一个状态的动作。有四种不不同的⾏行行动:东,南,⻄西,北北。它们的数据类型是整数,它们在MDP.h的开头定义为宏:

#define ACTION_EAST 0

#define ACTION_SOUTH 1

#define ACTION_WEST 2

#define ACTION_NORTH 3

 

注意:

 

a)请使⽤用上述国家的“q_values”⾏行行动顺序。每个状态有四个Q值,可以存储在⼀一个数组中。所以每个数组成员的值与四个动作的顺序相同。例例如,q_values [2]对应于动作:ACTION_WEST; q_values [1]对应于动作:ACTION_SOUTH

 

b)此外,您需要确定何时采取了了每项⾏行行动,您需要检查沿着⽅方向是(位置(11))的 下⼀一个状态s',否则s'不不在的边界。如果是这样,它会反弹回s,所以s'= s

 

c)您还需要更更新类数据成员“float cur_convergence”以记录当前迭代中所有状态的q_values

的最⼤大变化。这⾥里里最⼤大的变化意味着所有状态的所有q_value中的⼀一个,⽽而不不是⼀一个状态的四个

q_value中的⼀一个。

 

 

函数2void MDP :: valueIteration()

 

虽然它被称为“valueIteration”,但这⾥里里并没有涉及迭代。迭代过程由“VisualDisplay”类中的“onGo

()函数控制,该函数是“play”按钮的响应函数。因为我们希望看到每次迭代的临时结果,所以我必须移动迭代的代码进展到GUI部分。


事实上,它在⼀一定程度上简化了了您在“valueIteration()实现⽅方⾯面的⼯工作。你不不需要使⽤用循环来做 任何迭代。你只是假定这个函数被调⽤用时,它是在⼀一个特定的迭代。你只需要更更新所有状态的“state_value”,这些状态被存储为类数据成员:“states    [3]    [4]”。当你进⾏行行状态值更更新时,你需要调

⽤用“computeQValueStatesint  action函数先计算q_values  [4]并选择最⼤大值作为状态值。有

⼀一件事需要注意,是有三个特殊的正⽅方形或状态:墙(1,1),钻⽯石1,3)和陷阱(2,3)。对于这   三种状态,您不不需要更更新其状态值或q_values

 

 

其他⼀一些信息:

 

在实现上述两个功能时,需要使⽤用⼏几个重要变量量。这些变量量在“MDP.h”⽂文件的宏(顶部)中定义。

 

1“TRANSITION_SUCCEED” –  成功达到预期下⼀一个状态的条件概率。例例如,当你采取⾏行行动北北⽅方时,你有80%的可能性到达北北⽅方。

 

2“TRANSITION_FAIL” – 作为“TRANSITION_SUCCEED”的对⽴立部分,您有20%的概率未按预期着陆。你可以沿着⾏行行动的相邻⽅方向到达州,每个州10%。例例如,当你采取⾏行行动北北⽅方时,你可能有10%的登陆⻄西部,10%登陆东部。

 

3“GAMMA” – 折扣系数。

 

4“ACTION_REWARD” – 每个动作的即时奖励。

 

5“CONVERGENCE” – 该变量量由VisualDisplay类使⽤用,它将决定迭代何时停⽌止。

代写CS&Finance|建模|代码|系统|报告|考试

编程类:C++,JAVA ,数据库,WEB,Linux,Nodejs,JSP,Html,Prolog,Python,Haskell,hadoop算法,系统 机器学习

金融类统计,计量,风险投资,金融工程,R语言,Python语言,Matlab,建立模型,数据分析,数据处理

服务类:Lab/Assignment/Project/Course/Qzui/Midterm/Final/Exam/Test帮助代写代考辅导

天才写手,代写CS,代写finance,代写statistics,考试助攻

E-mail:850190831@qq.com   微信:BadGeniuscs  工作时间:无休息工作日-早上8点到凌晨3点


如果您用的手机请先保存二维码到手机里面,识别图中二维码。如果用电脑,直接掏出手机果断扫描。

1513067809116994.png

 

    关键字:

天才代写-代写联系方式