corrigés du mastermind hors publication, liens vers les fichiers utiles
This commit is contained in:
+1
-1
@@ -23,7 +23,7 @@ Chaque projet est découpé en phases dans son fichier `JALONS.md`, sur une **pr
|
||||
| [Le Jeu de la Vie](jeu_de_la_vie/) | L'automate cellulaire de Conway : quatre règles, et des structures qui émergent | Grilles 2D, fonctions pures, POO | non |
|
||||
| [Labyrinthe](labyrinthe/) | Générer un labyrinthe parfait, puis le résoudre automatiquement | Graphes, arbres couvrants, DFS et BFS, récursivité | oui, `src/maze.py` |
|
||||
| [Wa-Tor](wator/) | Simuler un monde torique où des requins chassent des thons | Grilles 2D, simulation, POO | non |
|
||||
| [Mastermind et algorithmes génétiques](mastermind/) | Faire évoluer une population de combinaisons jusqu'à trouver le code secret | POO, paradigme fonctionnel, optimisation | oui, `src/algo_gen.py` et `src/combinaison.py` |
|
||||
| [Mastermind et algorithmes génétiques](mastermind/) | Faire évoluer une population de combinaisons jusqu'à trouver le code secret | POO, paradigme fonctionnel, optimisation | oui, les deux classes abstraites de `src/` |
|
||||
|
||||
Le Jeu de la Vie et le Labyrinthe sont les deux plus accessibles pour démarrer. Le Labyrinthe est celui qui recoupe le plus directement le programme de Terminale, entre le chapitre Graphes et le chapitre Récursivité.
|
||||
|
||||
|
||||
@@ -8,10 +8,9 @@ Le **Mastermind** est un jeu de déduction : un joueur choisit une combinaison s
|
||||
|
||||
Plutôt que de coder une IA par force brute, ce projet applique un **algorithme génétique** : on fait évoluer une population de combinaisons candidates en s'inspirant de la sélection naturelle (tournoi, croisement, mutation) jusqu'à trouver la solution.
|
||||
|
||||
Une base de code complète est disponible dans `../src/` :
|
||||
- `algo_gen.py` - framework de l'algorithme génétique
|
||||
- `combinaison.py` - représentation d'un individu (une combinaison)
|
||||
- `src_mastermind_fiche.md` - fiche TP détaillée avec toutes les consignes
|
||||
Vous ne partez pas de rien : deux classes abstraites vous sont fournies, `Individual_Interface`
|
||||
et `Problem_Interface`. Vous en héritez, et vous écrivez les méthodes qu'elles laissent vides.
|
||||
La fiche de TP et l'activité guidée vous mènent pas à pas.
|
||||
|
||||
## Compétences mobilisées
|
||||
|
||||
@@ -42,9 +41,10 @@ Une base de code complète est disponible dans `../src/` :
|
||||
|
||||
## Ressources
|
||||
|
||||
- `../src/src_mastermind_fiche.md` - fiche TP complète avec toutes les consignes
|
||||
- `../src/algo_gen.py` - squelette du framework générique
|
||||
- `../src/combinaison.py` - classe individu à compléter
|
||||
- [Fiche de TP](https://florianmathieu.prof/hub-docs/nsi/terminale/Projets/src/src_mastermind_fiche/) - toutes les consignes, dans l'ordre
|
||||
- [Activité guidée](https://florianmathieu.prof/hub-docs/nsi/terminale/Projets/src/Activit%C3%A9/) - le pas à pas complet, avec les explications
|
||||
- [`individual_interface.py`](https://florianmathieu.prof/hub-docs/nsi/terminale/Projets/src/individual_interface/individual_interface.py) - classe abstraite d'un individu, à hériter
|
||||
- [`problem_interface.py`](https://florianmathieu.prof/hub-docs/nsi/terminale/Projets/src/problem_interface/problem_interface.py) - classe abstraite d'un problème, à hériter
|
||||
- [Algorithme génétique - Wikipedia](https://fr.wikipedia.org/wiki/Algorithme_génétique)
|
||||
- [Mastermind - Wikipedia](https://fr.wikipedia.org/wiki/Mastermind)
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from problem_sup import *
|
||||
from _problem_sup import *
|
||||
|
||||
BEST_KEPT = 5
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from problem_interface import *
|
||||
from combinaison import *
|
||||
from _combinaison import *
|
||||
|
||||
class Problem_5(Problem_Interface) :
|
||||
"""
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
from algo_gen import *
|
||||
from problem_4 import *
|
||||
from _algo_gen import *
|
||||
from _problem_4 import *
|
||||
|
||||
if __name__=="__main__":
|
||||
p = Problem_4([
|
||||
|
||||
Reference in New Issue
Block a user