In [1]:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
import pickle
from MonteCarloControl import *
In [2]:
mc = MonteCarloControl()
mc.solve(10000000)
mc.optimal_policy()
with open("value_n0_100.obj", 'wb') as output:
pickle.dump(mc.value, output)
with open("value_n0_100.obj", 'rb') as output:
mc.value = pickle.load(output)
def get_stat_val(x, y):
return mc.value[x, y]
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
X = np.arange(0, 10, 1)
Y = np.arange(0, 21, 1)
X, Y = np.meshgrid(X, Y)
Z = get_stat_val(X, Y)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm, linewidth=0, antialiased=False)
plt.show()
In [3]:
mc = MonteCarloControl()
mc.solve(10000000, 500)
mc.optimal_policy()
with open("value_n0_500.obj", 'wb') as output:
pickle.dump(mc.value, output)
with open("value_n0_500.obj", 'rb') as output:
mc.value = pickle.load(output)
def get_stat_val(x, y):
return mc.value[x, y]
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
X = np.arange(0, 10, 1)
Y = np.arange(0, 21, 1)
X, Y = np.meshgrid(X, Y)
Z = get_stat_val(X, Y)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm, linewidth=0, antialiased=False)
plt.show()
In [ ]: