Newer
Older
import numpy as np
import random as rd
import matplotlib.pyplot as plt
from tmc import TransitionMatrixCalculator as tmc
from test_files.markovDecision_testing import markovDecision as mD
from validation import Validation
def plot_results(validation_instance):
results_markov = validation_instance.simulate_game('markov')
results_safe = validation_instance.simulate_game([1]*15)
results_normal = validation_instance.simulate_game([2]*15)
results_risky = validation_instance.simulate_game([3]*15)
results_random = validation_instance.simulate_game(np.random.randint(1, 4, size=15))
plt.figure(figsize=(12, 8))
plt.plot(range(len(validation_instance.layouts)), results_markov, label='Markov')
plt.plot(range(len(validation_instance.layouts)), results_safe, label='SafeDice')
plt.plot(range(len(validation_instance.layouts)), results_normal, label='NormalDice')
plt.plot(range(len(validation_instance.layouts)), results_risky, label='RiskyDice')
plt.plot(range(len(validation_instance.layouts)), results_random, label='Random')
plt.xticks(range(len(validation_instance.layouts)), range(len(validation_instance.layouts)))
plt.xlabel('Layout Number', fontsize=13)
plt.ylabel('Average Number of Turns', fontsize=13)
plt.legend(loc='upper left', bbox_to_anchor=(1, 1), ncol=1)
plt.show()
# Example usage
layouts = [
[0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 1, 0],
# Add more layouts as needed
]
validation_instance = Validation(layouts, circle=False, n_iterations=10000)
plot_results(validation_instance)