Skip to content
Extraits de code Groupes Projets
plotting.py 1,77 ko
Newer Older
  • Learn to ignore specific revisions
  • 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)