Update documentation
This commit is contained in:
parent
2bcfc96ea0
commit
e76cfdb753
1 changed files with 35 additions and 1 deletions
36
README.md
36
README.md
|
@ -28,10 +28,23 @@ options de base:
|
||||||
```
|
```
|
||||||
Voici la liste des options :
|
Voici la liste des options :
|
||||||
|
|
||||||
|
### Moteur de jeu
|
||||||
|
|
||||||
|
Il est possible de définir le moteur de jeu indépedamment pour chaque joueur et
|
||||||
|
ainsi faire des match:
|
||||||
|
|
||||||
* `-be` | `--black-player-engine`: moteur utilisé par le joueur avec les pions
|
* `-be` | `--black-player-engine`: moteur utilisé par le joueur avec les pions
|
||||||
noirs
|
noirs
|
||||||
* `-we` | `--white-player-engine`: moteur utilisé par le joueur avec les pions
|
* `-we` | `--white-player-engine`: moteur utilisé par le joueur avec les pions
|
||||||
blancs
|
blancs
|
||||||
|
|
||||||
|
Le moteur de jeux par défaut est random.
|
||||||
|
|
||||||
|
### Profondeur d'exploration
|
||||||
|
|
||||||
|
Il est aussi possible de définir la profindeur d'exploration de l'arbre de jeu
|
||||||
|
pour chacun des joueurs:
|
||||||
|
|
||||||
* `-bd` | `--black-depth-exploration`: niveau d'eploration de l'arbre de jeu
|
* `-bd` | `--black-depth-exploration`: niveau d'eploration de l'arbre de jeu
|
||||||
pour le joueur au pions noirs, valable pour les moteurs `minmax` et
|
pour le joueur au pions noirs, valable pour les moteurs `minmax` et
|
||||||
`alphabeta`. Utilisé aussi pour définit la profondeur de départ pour
|
`alphabeta`. Utilisé aussi pour définit la profondeur de départ pour
|
||||||
|
@ -40,12 +53,25 @@ Voici la liste des options :
|
||||||
pour le joueur au pions noirs, valable pour les moteurs `minmax` et
|
pour le joueur au pions noirs, valable pour les moteurs `minmax` et
|
||||||
`alphabeta`Utilisé aussi pour définit la profondeur de départ pour
|
`alphabeta`Utilisé aussi pour définit la profondeur de départ pour
|
||||||
l'*iterative deepening*
|
l'*iterative deepening*
|
||||||
|
|
||||||
|
La profondeur par défaut est 3.
|
||||||
|
|
||||||
|
### Heuristique
|
||||||
|
|
||||||
|
Il est possible de choisir entre les 3 moteur de calcul d'heuristique inclus à
|
||||||
|
savoir *score*, avec *poids*, ou une combinaison *des deux*. Ils ne sont
|
||||||
|
utilisés que pour les moteur de jeu avec exploration de l'arbre de jeu (minmax,
|
||||||
|
alphabeta et leurs pendants avec *iterative deepening*):
|
||||||
|
|
||||||
* `-bh` | `--black-heuristic-engine`: moteur heuristique utilisé pour
|
* `-bh` | `--black-heuristic-engine`: moteur heuristique utilisé pour
|
||||||
l'exploration de l'arbre de jeu du joueur noir (valable pour les moteur de
|
l'exploration de l'arbre de jeu du joueur noir (valable pour les moteur de
|
||||||
jeu `minmax` et `alphabeta`)
|
jeu `minmax` et `alphabeta`)
|
||||||
* `-wh` | `--black-heuristic-engine`: moteur heuristique utilisé pour
|
* `-wh` | `--black-heuristic-engine`: moteur heuristique utilisé pour
|
||||||
l'exploration de l'arbre de jeu du joueur blanc (valable pour les moteur de
|
l'exploration de l'arbre de jeu du joueur blanc (valable pour les moteur de
|
||||||
jeu `minmax` et `alphabeta`)
|
jeu `minmax` et `alphabeta`)
|
||||||
|
|
||||||
|
Pour l'utilisation des poids, il est possible de les paramétrer :
|
||||||
|
|
||||||
* `--weight`: scores utilisés pour le calcul des heuristiques pour les moteurs
|
* `--weight`: scores utilisés pour le calcul des heuristiques pour les moteurs
|
||||||
`weight` et `full`.
|
`weight` et `full`.
|
||||||
|
|
||||||
|
@ -68,10 +94,12 @@ class PlayerEngine(Object):
|
||||||
def __init__(self, logger, options):
|
def __init__(self, logger, options):
|
||||||
def get_move(self, board):
|
def get_move(self, board):
|
||||||
|
|
||||||
|
# [...]
|
||||||
|
|
||||||
class MinmaxPlayerEngine(PlayerEngine):
|
class MinmaxPlayerEngine(PlayerEngine):
|
||||||
def get_move(board):
|
def get_move(board):
|
||||||
|
|
||||||
class RandomPlayerEngine(PlayerEngine):
|
class AlphabetaPlayerEngine(PlayerEngine):
|
||||||
def get_move(board):
|
def get_move(board):
|
||||||
|
|
||||||
# [...]
|
# [...]
|
||||||
|
@ -133,6 +161,10 @@ Cependant certaines parties du plateau de jeu sont à éviter :
|
||||||
Les poids affectés sont personnalisable via l'options `--weight`, par défaut
|
Les poids affectés sont personnalisable via l'options `--weight`, par défaut
|
||||||
nous avons -5, 2, 10 et 25.
|
nous avons -5, 2, 10 et 25.
|
||||||
|
|
||||||
|
Une étude autour de l'heuristique de l'Othello menée par Vaishnavi Sannidhanam
|
||||||
|
et Muthukaruppan Annamalai de l'université de Washingtown propose d'autre piste
|
||||||
|
pour maéliorer l'heuristique. [télécharger le pdf][etude]
|
||||||
|
|
||||||
Voici le tableau des poinds par défaut, il peut être affiché avec l'option
|
Voici le tableau des poinds par défaut, il peut être affiché avec l'option
|
||||||
`--show-weights-table`:
|
`--show-weights-table`:
|
||||||
|
|
||||||
|
@ -155,8 +187,10 @@ Starting PyReverso...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### À savoir:
|
### À savoir:
|
||||||
|
|
||||||
Les pois utilisé pour les heuristiques sont important.
|
Les pois utilisé pour les heuristiques sont important.
|
||||||
|
|
||||||
[reversi]:https://www.coolmathgames.com/blog/how-to-play-reversi-basics-and-best-strategies
|
[reversi]:https://www.coolmathgames.com/blog/how-to-play-reversi-basics-and-best-strategies
|
||||||
|
[etude]:https://courses.cs.washington.edu/courses/cse573/04au/Project/mini1/RUSSIA/Final_Paper.pdf
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue