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,并能使用第一次的比赛数据进行预训练,适当动态更新贪心策略,并使用一定随机扰动应该就回得到比较出色的成绩,后面尽量试一试。

  • 相关阅读:
    vue的特点 关键字
    小程序技术实现
    SpringCloud简历模板
    SpringBoot简历模板
    SpringCloud+Eureka快速搭建微服架构
    Docker 面试题
    说说mysql的存储引擎,有什么区别?索引的介绍
    mysql语句
    fail-fast 与 fail-save 机制的区别
    动态规划总结
  • 原文地址:https://www.cnblogs.com/charley-chai/p/11568360.html
Copyright © 2011-2022 走看看