python实现两个agent的随机运动

python实现两个agent的随机运动
目前在学习强化学习算法q_learning算法,下面的代码还不能叫做agent,只是实现了两个点的随机运动和轨迹的记录,

#代码中存在的问题
agent运动仅分为上、下、左、右四个方向,还需要加四个斜的方向和运动方向的限制

‘’‘
import matplotlib.pyplot as plt
import numpy as np
plt.ion()
fig=plt.figure()
#画出坐标轴
ax=plt.axes()
#先进行10X10
plt.xlim(0,10)
plt.ylim(0,10)
#定义四个方向
#0,1,2,3,分别表示为上下左右
agent=np.array([‘top’,‘down’,‘left’,‘right’])
#位置随机出现
#x1,y1表示红军单个无人机
#x2,y2表示蓝军单个无人机
x1=np.random.randint(0,10)
y1=np.random.randint(0,10)
x2=np.random.randint(0,10)
y2=np.random.randint(0,10)
plt.scatter(x1,y1,color=‘red’,s=1)
plt.scatter(x2,y2,color=‘blue’,s=1)

for i in range(1000):
#随机选择方向
a = np.random.choice(agent)
b =np.random.choice(agent)
#定义红军运动方向
if a==‘top’:
y1+=0.1
else:
if a==‘down’:
y1-=0.1
else:
if a==‘left’:
x1-=0.1
else:
x1+=0.1
if b==‘top’:
y2+=0.1
else:
if b==‘down’:
y2-=0.1
else:
if b==‘left’:
x2-=0.1
else:
x2+=0.1
#添加运动轨迹
plt.scatter(x1,y1,color=‘red’,s=1)
plt.scatter(x2, y2, color=‘blue’, s=1)
plt.pause(0.01)

‘’‘
’‘’
效果图
在这里插入图片描述
#陆续解决的问题
在运动中加入q_learning算法,以红军为例,在蓝军的尾部实现对应的正奖励值,蓝军的头部区域实现对应的负奖励值,改进莫烦中的q_learning中的例子,实现无人机的一对一对抗
设定游戏结束的条件

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值