我得到了答案。我的导师告诉我,我们必须找出给定动作期间每个可能动作的目标函数(v(b)),并将它们全部比较......无论哪个最大值,我们将继续进行该动作并相应地更新权重值.例如这是第一回合的情况:
+ - + - + - + - + - + - + - + - +
| |w32| |w31| |w30| |w29|
+ - + - + - + - + - + - + - + - +
|w28| |w27| |w26| |w25| |
+ - + - + - + - + - + - + - + - +
| |w24| |w23| |w22| |w21|
+ - + - + - + - + - + - + - + - +
| 20| | 19| | 18| | 17| |
+ - + - + - + - + - + - + - + - +
| | 16| | 15| | 14| | 13|
+ - + - + - + - + - + - + - + - +
|b12| |b11| |b10| |b9 | |
+ - + - + - + - + - + - + - + - +
| |b8 | |b7 | |b6 | |b5 |
+ - + - + - + - + - + - + - + - +
|b4 | |b3 | |b2 | |b1 | |
+ - + - + - + - + - + - + - + - +
我们是黑色的一面:转弯 1
这些是本次运动中可用的可能动作:
Move 0: 9 to 13
Move 1: 10 to 14
Move 2: 11 to 15
Move 3: 12 to 16
Move 4: 9 to 14
Move 5: 10 to 15
Move 6: 11 to 16
所以我们制作了一个移动编号及其各自的 v(b) 的字典:
sample_dict = {0: 15.944312287271288, 1: 6.444167413927058, 2: 17.771995708404148, 3: 8.847647756243374, 4: 9.420835807993932, 5: 13.057118996697053,6: 18.71362388578158}
在这种情况下,您的系统将根据最大 v(b) 移动,即移动 [6]。
所以采取的行动是“移动 6:11 到 16”。
这就是系统将学习如何采取更好动作的方式。
对于两个初始回合,我们将随机取 w0 到 w6 的值,介于 0 和 1 之间。但是在第二次移动之后,我们将定期更新 w0 到 w6 的值,因为那时我们将有 vtrain(b) 和 v(b) .
最后一件事是,在任何给定的移动中,为每个移动计算的所有 v(b) 将彼此相差两个值,即 x5 和 x6。所以要小心那些。
感谢大家这么快回复。
下面显示的是每场比赛后w0到w6的所有值,同时让它玩了10次:enter image description here