diff --git a/README.md b/README.md
index 5c77e8c21c6db4b34380d9f3f37095d3ada1f7ae..bc67f782fd13bc190b8cef35657d727f32898218 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # Group 5 - Projet de Machine Learning
  
-Ce projet vise à implémenter un jeu de "Snake and Ladders" ainsi que de l'entrainer afin d'obtenir la meilleure stratégie.
+Ce projet vise à implémenter un jeu de "Snake and Ladders" afin d'observer quelle est la  optimale parmis l'ensemble des stratégies.
  
 Ce README présente la structure et résume notre projet.
  
@@ -10,11 +10,8 @@ Pour exécuter les différents scripts et notebooks, assurez-vous d'avoir instal
  
 ```bash
 pip install numpy
-pip install TransitionMatrixCalculator
-pip install Validation
 pip install matplotlib.pyplot
 pip install random
-pip install MarkovDecisionSolver
 ```
  
 ## Codes Python
@@ -23,20 +20,21 @@ Ces codes permettent d'implémenter le jeu du Snake and Ladders, de déterminer
  
 ### tmc.py
  
-Ce code définit une **classe TransitionMatrixCalculator** qui calcule les matrices de transitions en fonctions des trois scénarios possible. Les règles de ce jeux diffèrent de celles traditionnellement utilisées, en effet à chaque étape le joueur à le choix entre trois dés : safe, normal ou risqué. Ils ont une influence sur la suite du jeu, effectivement le choix de dé occassione ou non la présence de pièges sur le plateau de jeu.
+Le fichier **tmc.py**  définit une **class TransitionMatrixCalculator** qui calcule les matrices de transitions en fonctions des trois scénarios possible. Les règles de ce jeux diffèrent de celles traditionnellement utilisées, en effet à chaque étape le joueur à le choix entre trois dés : safe, normal ou risky. Ils ont une influence sur la suite du jeu, effectivement le choix du dé occassione ou non la présence de pièges sur le plateau de jeu.
  
 ### markovDecison.py
  
-Ce code contient une **classe MarkovDecisionProcess** qui définit les algorithmes de Value Iteration relatifs aux différentes stratégies. La fonction **solve** permet de calculer la politique optimale. Ensuite, la fonction **markovDecision** faisant appel à la fonction **solve**, permet d'obtenir la stratégie optimale.
+Le fichier **markovDecison.py**  contient une **class MarkovDecisionProcess** qui définit les algorithmes de Value Iteration relatifs aux différentes stratégies. La fonction **solve** permet de calculer la politique optimale par l'algorithme de Value Iteration. Ceci est réalisé en faisant appel aux 3 fonctions **_compute_vi_safe**,**_compute_vi_normal**,**_compute_vi_risky**  qui permettent de calculer pour chacun des dés la Value Iteration et de choisir le minimum d'entre toutes les valeurs. Ensuite, la fonction **markovDecision** faisant appel à la fonction **solve**, permet d'afficher la stratégie optimale (les dés devant être joué suivant un layout) et les coût théorique de chaque case en fonction d'un jeu cyclique ou acyclique.
  
 ### validation.py
  
-Dans ce code nous définissons une **classe validation** dans laquelle nous créons différentes fonctions de simulation du jeu. Cela va permettre d'obtenir le coût empirique de notre jeu (pour la fonction **simulate_rounds**) et le nombre de tour moyen nécessaire pour atteindre la case finale du jeu (pour la fonction **state_simulation**). Ensuite, nous implémentons des fonctions permettant de comparer les résultats empiriques, des simulations de jeu, aux résultats théoriques attendus, obtenus par value iteration.
+Dans ce code nous définissons une **class validation** dans laquelle nous créons différentes fonctions de simulation du jeu et d'états. Cela va permettre d'obtenir le coût empirique de notre jeu (pour la fonction **simulate_rounds**) et le nombre de tour moyen nécessaire pour atteindre la case finale du jeu (pour la fonction **state_simulation**). Ensuite, nous implémentons des fonctions permettant de comparer les résultats empiriques, des simulations de jeu (dés safe, normal, risky et random), aux résultats théoriques attendus, obtenus par value iteration.
  
 ### plot.py
  
-Ce code permet de réaliser différents graphiques afin de comparer les résultats obtenus des stratégies.
- 
+Ce code permet de réaliser différents graphiques afin de comparer les résultats obtenus des stratégies. 4 graphiques peuvent être imprimés via 4 fonctions différentes dépendant d'un layout : **plot_strategy_comparison**,**plot_state_based_turns**,**plot_state_based_comparison**,**plot_state_based_comparison_once**. Le layout utilisé pour comparer nos stratégies est celui-ci : layout = [0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 1, 0]. La fonction **plot_strategy_comparison** permet de comparer les différentes stratégies en fonction de leur average turns sur un histogramme. La fonction **plot_state_based_turns** renvoie un graphe permettant de comparer l'average turn pour chaque état. La fonction **plot_state_based_comparison** a été implémentée dans l'optique de comparer l'algorithme de Value Iteration (theorical cost) et différentes simulations (empirical cost : 100, 10.000 et 1000.000) permettant de montrer la précision obtenue en fonction du nombre de simulations. Enfin, la fonction **plot_state_based_comparison_once** permet de comparer le theorical cost et l'empirical cost basé sur un nombre de simulations définies.
+
+
 ## Contact
 Pour toute question, suggestion, ou demande de collaboration sur ce projet, n'hésitez pas à nous contacter. Pour des discussions plus approfondies sur notre recherche et notre méthodologie, nous pouvez contacter :
 - Audrey Ghilain à audrey.ghilain@student.uclouvain.be
@@ -53,4 +51,6 @@ Nous tenons à exprimer notre gratitude envers plusieurs parties qui ont jouées
 - Nathanaël Kindidi
 - Adrien Payen
  
-## Références
\ No newline at end of file
+## Références
+
+Cours de Monsieurs Saerens.
\ No newline at end of file
diff --git a/markovDecision.py b/markovDecision.py
index c87b43332bb524e9fe5e038c9fb74081fe94facd..014e4e46421b322d47c26142319269bb810f6614 100644
--- a/markovDecision.py
+++ b/markovDecision.py
@@ -1,3 +1,4 @@
+# All the imports
 import numpy as np
 from tmc import TransitionMatrixCalculator as tmc
 
diff --git a/plot.py b/plot.py
index 79d563954a0a648eee6c87904e094c9542d74ad2..2dce8ea9687b2e538ef2d858dff12698276eb63b 100644
--- a/plot.py
+++ b/plot.py
@@ -1,6 +1,6 @@
+# All the imports
 import matplotlib.pyplot as plt
 from validation import Validation as Val
-import numpy as np
 
 
 def plot_strategy_comparison(num_games : int):
@@ -93,25 +93,25 @@ if __name__ == '__main__':
     ##### Paramètres #####
 
     # Define the layout of the game board
-   #layout = [0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 1, 0]
+    layout = [0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 1, 0]
     
+    # All the layout for the comparison
+    #classiclayout = [0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 1, 0]
     #layout = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 1, 0]
-
-    #layoutfastlaneWt = [0, 0, 3, 0, 2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0]
-    #layoutslowlaneWt = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 1, 0]
-
-    layout = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+    #layouttpslowlane = [0, 0, 3, 0, 2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0] # layout with a trapped slowlane
+    #layouttpfastlane = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 1, 0] # layout with a trapped fastlane
+    #zerolayout = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+    
     # Indicates whether the board is circular or linear
-    circle = True
+    circle = False
     # Number of games to simulate
-    num_games = 1000000
+    num_games = 1000
     # Initialize Validation instance with the specified layout and circle type
     validation_instance = Val(layout, circle)
 
-     ##### Launch Plots #####
-
+    ##### Launch Plots #####
     # Run the defined plotting functions with specified parameters
-    #plot_strategy_comparison(num_games)
+    plot_strategy_comparison(num_games)
     plot_state_based_turns()
-    #plot_state_based_comparison(num_games_list = [10,100,1000])
-    #plot_state_based_comparison_once(num_games)
\ No newline at end of file
+    plot_state_based_comparison(num_games_list = [10,100,1000])
+    plot_state_based_comparison_once(num_games)
\ No newline at end of file
diff --git a/strategy_comparison.png b/strategy_comparison.png
deleted file mode 100644
index 80ce415a967a75a1577a31c42ca12267641edd5a..0000000000000000000000000000000000000000
Binary files a/strategy_comparison.png and /dev/null differ
diff --git a/tmc.py b/tmc.py
index 73b496ee05a5f81bb58c708d8078229bb09173fc..d9d64ee6ac41cf626ca9c51896a798f8177159d2 100644
--- a/tmc.py
+++ b/tmc.py
@@ -1,3 +1,4 @@
+# The import
 import numpy as np
 
 class TransitionMatrixCalculator:
diff --git a/validation.py b/validation.py
index 052645c9655c22c145ebd27e97ae0c35e5f167b3..b76988c5e91c5de0ee1ab059f4f08a486f859827 100644
--- a/validation.py
+++ b/validation.py
@@ -1,3 +1,4 @@
+# All the imports
 import random as rd
 import numpy as np
 from tmc import TransitionMatrixCalculator as tmc