用python写一个简单入门的强化学习网络,下面是一个走迷宫的小案例,简单用open加txt文档存储训练数据,再提取出来在用tkinter搭建网络图形界面演示训练结果,对于初学者理解很有助力

本文通过一个简单的Python强化学习网络示例,演示如何使用Q学习算法解决走迷宫问题。利用numpy初始化Q表,根据策略选择行动,更新Q表。训练数据存储在txt文档中,用tkinter展示训练结果,帮助初学者理解强化学习。
摘要由CSDN通过智能技术生成

 

import numpy as np

import random

import copy

import time,re

 

Qtable=np.zeros((6,6,4))

at=["up","down","left","right"]

at1=[0,1,2,3]

cc=dict(zip(at,at1))

def choice(s,qt):

    if random.random()<0.7:

        a=random.choice(at)

    else:

     a=np.argmax(qt[s[0],s[1],:])

     a=at[a]

    return a

 

 

def next(s,a):

 

  s1=copy.deepcopy(s)

  if a=="up":

   if s[0]==0:

    s1=s

   else:s1[0]=s[0]-1

  elif a=="down":

   if s[0]==5:

    s1=s

   else:s1[0]=s[0]+1

  elif a=="left":

   if s[1]==0:

    s1=s

   else:s1[1]=s[1]-1

  else:

   if s[1]==5:

    s1=s

   else:s1[1]=s[1]+1

  if s1==[5,5]:

   r=1

  elif s1==[2,2] or s1==[2,4] or s1==[3,1]:

      r=-1

  else:r=0

  return s1,r

#z=next([3,3],"left")

#print(z)

 

def f(qt):

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值