q-learning-MCU-C51 单片机上的强化学习

本文介绍如何在8051MCU(芯圣电子HC0541)上实现强化学习Q-Learning。通过模拟八个房间的环境,寻找最短路径,算法经过多次迭代和奖励机制学习最优决策。项目利用Keil C和C51编译器,以及HC0541 SDK。在没有硬件的情况下,也可以在PC上进行模拟运行。
摘要由CSDN通过智能技术生成

q-learning-MCU-C51

代码和说明链接:https://github.com/392625227/q-learning-HC0541-C51-

本文修改自这个:https://github.com/392625227/Arduino_Neural_Network

实现一个基于8051MCU的强化学习q-learning 应用。

强化学习与人类学习的方式类似,算法需要大量的训练才能像人一样实现目标(如果你想在某件事上做到最好,就需要大量的训练)。从技术上讲,采用RL的算法会选择出奖励更多的可能动作,然后根据每个动作的表现来修改奖励,这就是算法学习最佳可能动作的方法。

本文使用芯圣电子HC0541(8051内核)MCU进行强化学习的基本练习。这个项目的目标是模拟一个有八个房间的房子,我们想知道从一个房间到另一个房间的最短路径。算法将从主房间开始,然后在所有其他房间中搜索,直到算法找到目标房间为止。

循环由6次(可以多次)迭代组成,在每次迭代中,算法总是从主房间开始,在找到目标房间时完成。可以说,对算法的奖励将基于它所做的决策。为了模拟练习,我们需要八个led,因为一个led代表房子的一个房间。

需求:

  1. keil C + C51
  2. HC0541 SDK, http://www.holychip.cn/pro.php?id=68

PC 上模拟运行时无需硬件也可以。

#include <stdlib.h>
  #include "HC89F0541.h"
   
  sx8 rewards [8][8] =
  {
  {-1, 0, 0, -1, -1, -1, -1, -1},
  {0, -1, -1, 0, -1, -1, -1, -1},
  {0, -1, -1, -1, 0, -1, -1, -1},
  {-1, 0, -1, -1, -1, 0, -1, -1},
  {-1, -1, 0, -1, -1, 0, 90, -1},
  {-1, -1, -1, 0, 0, -1, -1, 0},
  {-1, -1, -1, -1, -1, -1, -1, -1},
  {-1, -1, -1, -1, -1, 0, 100, -1}
  };
   
  sx8 weights [8][8] =
  {
  {0, 0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值