zoukankan      html  css  js  c++  java
  • 第一次结对作业

    问题定义

    bot没一轮产生2个黄金点,黄金点在0-100之间的实数,统计没一轮所有提交,求平均并乘以0.618得到黄金点,离黄金点最近的得人数减一分,最远的得-2分,其他得0分

    方法建模

    使用强化学习来解决这个问题,这里使用最简单Q_table来纪录学习到的“经验”。

    观测先前的比赛过程,黄金点有规律起伏,所以以趋势最为状态,也就是最近十次黄金点的升降状态。而action包括取上次黄金点,取平均等。

    队友评价

    队友退课了,所以都是我一个人做的

    第一次比赛

    本来计划好的使用BQN来做,但是没想到队友中途出了点状况,所以就没有继续下去,还是使用了Q_table来做这次实验,主要的想法其实就是对增加几个action,考虑的情况五花八门,例如滑动平均,最大值,最大最小平均,峰值等。同时考虑到将黄金点尽量往bot推测出的值这边拉,我将所有bot的两个输出数值设为一样的了。本以为这样其实会比较好,但是没想到最终得了个倒数第二。

    第二次比赛

    第一次结果很差,我感觉很有必要搞DQN,但是精力有限遂放弃之,反思之后觉得之所以结果如此差,应该跟我设过多的action和每次只产生相同的两个数有关系。过多的action其实让bot很难收敛,而且试错成本增加,所以这次我将action的数据减了一半,并让每个action产生两个不同的结果,并且利用第一次的结果中一些数值观测和0.618来参与到预测中。

    最终的第二次比赛,得分就比第一次要好一些。

    总结

    这次因为队友退出,自己事情有点多,实验做的很仓促,结果不好也在预料之中,只能希望下次可以安排好时间,尽力出色完成任务。

    具体的,我觉得用神经网络来代替Qlearning,并能使用第一次的比赛数据进行预训练,适当动态更新贪心策略,并使用一定随机扰动应该就回得到比较出色的成绩,后面尽量试一试。

  • 相关阅读:
    Load样式——1
    通过mybatis-generator-core-1.3.2.jar逆向工程生成
    阶乘
    八进制
    xshell跳转设置 Xshell代理设置
    spark
    内存模型学习-- Container Executor task之间的关系
    scala 学习笔记--闭了个包
    scala 学习笔记--模式匹配
    scala 学习笔记--集合
  • 原文地址:https://www.cnblogs.com/charley-chai/p/11568360.html
Copyright © 2011-2022 走看看