放弃在QT小游戏里面嵌入Q-learning的python脚本,用C++实现了Q-learning与游戏交互

在这里插入图片描述

一直想给这个游戏加一个RL的大脑。
我为了确定要用到哪些状态,和动作,以及奖励回合的定义。
我设想了一个最简单逻辑,此处存活的敌机群它们的x坐标的平均值avg_x,以及我方飞机的x坐标m_hero.m_X,让我方飞机向敌机群靠近打击,avg_x比m_hero.m_X小则向右移动,avg_x比m_hero.m_X大则向左移动。

动作:action:一维,0表示不动,1表示向左移,2表示向右移。
奖励:子弹碰到一架敌机则记1分
回合结束:我方飞机的机身与敌方飞机的机身发生碰撞。

状态的设置可以是很多情况:
Atari游戏是直接把游戏界面的像素点组成的数组作为状态,数据量太大了。必须要用带神经网络的RL算法。
我想的状态是:敌机群的平均x坐标,我那个游戏界面有多宽就有多少种状态,外加我方飞机的x坐标。
还可以进一步简化状态:0:敌机群在我方飞机左边;1:敌机群在我方飞机右边;

目前的问题:我还没有交互呢,只是把Q-learning的python脚本嵌入进去了,让他不报错,它就卡的不要不要的。

我在C++里面实例化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值