Bien utiliser la méthode de MonteCarlo
Bonjour
(Mon problème est purement mathématique et algorithmique, pas informatique ;-))
Je veux créer une IA de Puissance 4, pour cela, je voudrais utiliser la méthode de MonteCarlo pour mon IA. (Juste MonteCarlo, pas UCT)
De ce que je sais (et comprends), la méthode de MonteCarlo, consiste à jouer plein de partie au hasard (ou quasiment au hasard) et à en tirer des conclusions sur le potentiel moyen de chaque coup.
Donc ma 1er approche pour mon IA a été la suivante.
Pour évaluer le "potentiel" d'un coup C, pour une partie P1 donnée, on simule le fait qu'on ait joué ce coup C, ce qui donne une partie P2. Et à partir de cette partie, on joue aléatoirement plein de parties, et on en tire des conclusions sur le potentiel du coup C.
Mon problème est : quelle formule dois-je utiliser pour calculer le potentiel de ce coup ? (Quelle est la meilleure formule pour gagner ?)
1) Nombre de victoire / Nombre de parties simulées ?
2) Nombre de victoire / Nombre de défaite ?
3) Score Moyen / Nombre de parties simulées ? (Score: -1 = perdu | 0 = match nul | 1 = Gagné )
4) Nombre de tours moyen pour gagner / Nombre de tours moyen pour gagner ?
Etc ...
En y réfléchissant bien, je me suis aussi demandé, si au lieu de jouer N parties pour évaluer chaque coup (ce qui fait 7*N parties en tout, car le puissance 4 a une largeur de 7 cases), on ne pouvait pas jouer seulement N parties, et en tirer des conclusions pour l'ensemble des 7 coups à évaluer ...
Par exemple, à partir d'une partie donnée, je veux savoir quel coup à le meilleur potentiel. Donc je jouerais N parties, puis à la fin de chacune, je regarderais combien de fois à était joué chaque coup que je cherche à évaluer, combien de fois en le jouant, on a gagné, ou on a perdu, etc...
Si cette approche était valide, elle serait 7 fois plus rapide que la précédente, mais me ramènerais aussi au problème précédent.
Quelle formule dois-je utiliser pour tirer le maximum d'information de toute ces fin de parties, pour avoir une IA la plus efficace possible ??
J’espère vraiment qu'il y a un moyen d'y répondre mathématiquement, sans que j'ai besoin d'expérimenter toutes ces combinaisons ^^'
Merci d'avance à tout ceux qui auront le courage de se plonger dans mon épineux problème
(Mon problème est purement mathématique et algorithmique, pas informatique ;-))
Je veux créer une IA de Puissance 4, pour cela, je voudrais utiliser la méthode de MonteCarlo pour mon IA. (Juste MonteCarlo, pas UCT)
De ce que je sais (et comprends), la méthode de MonteCarlo, consiste à jouer plein de partie au hasard (ou quasiment au hasard) et à en tirer des conclusions sur le potentiel moyen de chaque coup.
Donc ma 1er approche pour mon IA a été la suivante.
Pour évaluer le "potentiel" d'un coup C, pour une partie P1 donnée, on simule le fait qu'on ait joué ce coup C, ce qui donne une partie P2. Et à partir de cette partie, on joue aléatoirement plein de parties, et on en tire des conclusions sur le potentiel du coup C.
Mon problème est : quelle formule dois-je utiliser pour calculer le potentiel de ce coup ? (Quelle est la meilleure formule pour gagner ?)
1) Nombre de victoire / Nombre de parties simulées ?
2) Nombre de victoire / Nombre de défaite ?
3) Score Moyen / Nombre de parties simulées ? (Score: -1 = perdu | 0 = match nul | 1 = Gagné )
4) Nombre de tours moyen pour gagner / Nombre de tours moyen pour gagner ?
Etc ...
En y réfléchissant bien, je me suis aussi demandé, si au lieu de jouer N parties pour évaluer chaque coup (ce qui fait 7*N parties en tout, car le puissance 4 a une largeur de 7 cases), on ne pouvait pas jouer seulement N parties, et en tirer des conclusions pour l'ensemble des 7 coups à évaluer ...
Par exemple, à partir d'une partie donnée, je veux savoir quel coup à le meilleur potentiel. Donc je jouerais N parties, puis à la fin de chacune, je regarderais combien de fois à était joué chaque coup que je cherche à évaluer, combien de fois en le jouant, on a gagné, ou on a perdu, etc...
Si cette approche était valide, elle serait 7 fois plus rapide que la précédente, mais me ramènerais aussi au problème précédent.
Quelle formule dois-je utiliser pour tirer le maximum d'information de toute ces fin de parties, pour avoir une IA la plus efficace possible ??
J’espère vraiment qu'il y a un moyen d'y répondre mathématiquement, sans que j'ai besoin d'expérimenter toutes ces combinaisons ^^'
Merci d'avance à tout ceux qui auront le courage de se plonger dans mon épineux problème
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 163.1K Toutes les catégories
- 7 Collège/Lycée
- 21.9K Algèbre
- 37.1K Analyse
- 6.2K Arithmétique
- 52 Catégories et structures
- 1K Combinatoire et Graphes
- 11 Sciences des données
- 5K Concours et Examens
- 11 CultureMath
- 47 Enseignement à distance
- 2.9K Fondements et Logique
- 10.3K Géométrie
- 62 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 68 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 312 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10K Probabilités, théorie de la mesure
- 772 Shtam
- 4.2K Statistiques
- 3.7K Topologie
- 1.4K Vie du Forum et de ses membres