Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import matplotlib.pyplot as plt
import numpy as np
from simulate import Simulate as sim
from tmc import TransitionMatrixCalculator as tmc
from markovDecision import MarkovDecisionSolver as mD
def get_results(layouts, circle, n_iterations=100):
results_markov = []
results_safe = []
results_normal = []
results_risky = []
results_random = []
for layout in layouts:
# Compute optimal policy
expec, policy = mD(layout, circle).solve()
# Simulate game using Simulate class
sim_instance = sim(layout, circle)
result_markov = sim_instance.simulate_game(policy, n_iterations)
results_markov.append(result_markov)
# Simulate with fixed strategies using Simulate class
results_safe.append(sim_instance.simulate_game([1]*15, n_iterations))
results_normal.append(sim_instance.simulate_game([2]*15, n_iterations))
results_risky.append(sim_instance.simulate_game([3]*15, n_iterations))
results_random.append(sim_instance.simulate_game(np.random.randint(1, 4, size=15), n_iterations))
return results_markov, results_safe, results_normal, results_risky, results_random
# Utilisation de la fonction get_results pour obtenir les résultats
layouts = [[0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 1, 0]] # Exemple de layouts à utiliser
circle = True # Exemple de valeur pour circle
results_markov, results_safe, results_normal, results_risky, results_random = get_results(layouts, circle, n_iterations=100)
# Imprimer les résultats (vous pouvez les enregistrer dans un fichier si nécessaire)
print("Results Markov:", results_markov)
print("Results Safe:", results_safe)
print("Results Normal:", results_normal)
print("Results Risky:", results_risky)
print("Results Random:", results_random)