在迷宫宝藏的强化学习程序中,最主要的程序是RL_brain这个程序。
这个程序中,定义了一个QLearningTable的类,在类中定义了包括def __init__()在内的4个函数。
在def __init__()中线初始化定义了一些参数,比如学习效率
函数def choose_action()则设置了一个阈值epsilon,如果随机数小于阈值,则按照Q-table选择下一步,如果大于阈值,则随机选择下一步。
函数learn()中,考虑了两种情况:第一种,如果下一步不是终结,那么将按照红色的公式计算q_target;第二种,下一步是终结,则按照蓝色框计算q_target。最后还要根据q_target和q_predict的差值来更新Q值表。
learn函数def check_state_exist()主要为了判断q状态表中的状态是不是存在。如果没有就创建。
网友评论