In [16]:
import gym
import numpy as np
In [17]:
env = gym.make('FrozenLake-v0')
[2017-07-31 23:58:37,980] Making new env: FrozenLake-v0
In [18]:
#Initialize table with all zeros
#Q = np.zeros([env.observation_space.n,env.action_space.n])
Q= np.random.rand(env.observation_space.n, env.action_space.n) * 0.1 - 0.05
# Set learning p-arameters
lr = 0.03
y = 0.9
num_episodes = 1000
#create lists to contain total rewards and steps per episode
#jList = []
rList = []
for i in range(num_episodes):
#Reset environment and get first new observation
s = env.reset()
rAll = 0
d = False
j = 0
#The Q-Table learning algorithm
while j < 99:
j+=1
#Choose an action by greedily (with noise) picking from Q table
if np.random.rand() < 0.001:
a = np.random.randint(env.action_space.n)
else:
a = np.argmax(Q[s,:] )
#Get new state and reward from environment
s1,reward,done,_ = env.step(a)
if done:
reward = 1.0 if reward > 0.0 else -1.0
else:
reward = 0.0
#Update Q-Table with new knowledge
Q[s,a] = Q[s,a] + lr*(reward + y*np.max(Q[s1,:]) - Q[s,a])
rAll += reward
s = s1
if d == True:
break
#jList.append(j)
rList.append(rAll)
In [19]:
print "Score over time: " + str(sum(rList)/num_episodes)
Score over time: -9.216
In [20]:
print "Final Q-Table Values"
print Q
Final Q-Table Values
[[ -4.45712827e-02 -4.26490027e-02 -4.43822153e-02 -6.02653404e-26]
[ -6.27624894e-02 -7.10262079e-01 -4.81922162e-01 -6.02119492e-26]
[ -9.50275635e-02 -9.21384575e-02 -1.44437672e-01 -6.07755183e-26]
[ -4.41856254e-02 -5.09174021e-01 -3.15921513e-01 -6.31316300e-26]
[ -9.05179856e-02 -1.42484110e-01 -2.98220536e-01 -3.62169212e-01]
[ -9.13102629e+00 -9.13156093e+00 -9.12951191e+00 -9.12909403e+00]
[ -2.26991677e+00 -2.27842377e+00 -2.43368555e+00 -2.28496402e+00]
[ -8.32066734e+00 -8.31883004e+00 -8.32210240e+00 -8.32266501e+00]
[ -2.07718355e-01 -2.44787450e-01 -2.47202289e-01 -1.85461735e-01]
[ -8.36212460e-01 -3.54608723e-01 -4.43993867e-01 -5.01228179e-01]
[ -7.51526821e-01 -9.18301011e-01 -8.41333262e-01 -8.39978305e-01]
[ -5.85347470e+00 -5.85984293e+00 -5.86139357e+00 -5.85502152e+00]
[ -5.77756127e+00 -5.77267618e+00 -5.77876274e+00 -5.77248338e+00]
[ -3.58376429e-01 -4.27230050e-01 -2.88380919e-01 -4.32566923e-01]
[ -3.93941680e-01 -4.48378199e-01 -4.37537238e-01 -5.01838276e-01]
[ -5.78333692e+00 -5.77818071e+00 -5.78929404e+00 -5.79051540e+00]]
In [21]:
s = env.reset()
d=False
while d==False:
a = np.argmax(Q[s,:])
s,r,d,x = env.step(a)
print("%s %s %s %s"%(s,r,d,x))
env.render()
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
3 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
3 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
3 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
3 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
3 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
3 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
3 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
3 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
3 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
3 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
3 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
3 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
3 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
0 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
3 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
3 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
1 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
3 0.0 False {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
2 0.0 True {'prob': 0.3333333333333333}
(Up)
SFFF
FHFH
FFFH
HFFG
In [15]:
rList
Out[15]:
[-35.0,
-47.0,
-93.0,
-96.0,
-63.0,
0.0,
-45.0,
0.0,
-43.0,
-67.0,
0.0,
-88.0,
0.0,
0.0,
-16.0,
-68.0,
0.0,
-67.0,
-11.0,
-4.0,
-86.0,
-77.0,
-82.0,
-60.0,
-43.0,
-47.0,
-77.0,
-83.0,
-24.0,
-77.0,
-52.0,
-15.0,
-58.0,
-18.0,
0.0,
0.0,
0.0,
0.0,
-64.0,
0.0,
0.0,
0.0,
-71.0,
-44.0,
0.0,
-15.0,
-33.0,
-86.0,
0.0,
0.0,
-73.0,
-75.0,
-38.0,
0.0,
-26.0,
0.0,
-39.0,
0.0,
0.0,
-3.0,
-9.0,
-47.0,
-40.0,
-29.0,
0.0,
-80.0,
-10.0,
0.0,
0.0,
0.0,
0.0,
0.0,
-65.0,
0.0,
0.0,
-23.0,
0.0,
0.0,
-34.0,
0.0,
-7.0,
0.0,
0.0,
0.0,
0.0,
0.0,
-59.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
-91.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
-78.0,
-33.0,
0.0,
0.0,
0.0,
0.0,
-65.0,
0.0,
0.0,
0.0,
0.0,
-46.0,
0.0,
-20.0,
0.0,
0.0,
0.0,
0.0,
0.0,
-4.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,
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.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,
-34.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,
-83.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,
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,
-16.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,
-17.0,
-31.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,
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.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,
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.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,
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,
-97.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,
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.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,
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.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,
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.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,
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.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,
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.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,
0.0,
-14.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,
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.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,
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.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,
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.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,
-70.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,
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.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
-72.0,
0.0,
...]
In [62]:
s = env.reset()
In [63]:
s,r,d,p = env.step(1)
print("s:%s, r:%s, d:%s, p:%s"%(s,r,d,p))
env.render()
s:1, r:0.0, d:False, p:{'prob': 0.3333333333333333}
(Down)
SFFF
FHFH
FFFH
HFFG
In [21]:
#left
#down
(Down)
SFFF
FHFH
FFFH
HFFG
In [ ]:
Content source: wasit7/cs634
Similar notebooks: