Apprendre à jouer au jeu de Nim à un ordinateur avec scratch publié le 14/10/2022

TraAM 2021 - 2022

Pages : 123

Documents de référence

Les fichiers Scratch et leur utilisation.

Ces fichiers ont été mis à la disposition des élèves par l’intermédiaire d’un lien internet qui envoie sur les projets Scratch que j’ai mis sur mon compte enseignant. On peut tout à fait leur donner directement les fichiers.

Scratch


 Jeu de Nim 01a h vs h
C’est le programme avec les erreurs à trouver. Il est à donner aux élèves. Il y a quatre erreurs. La correction s’obtient avec le lien suivant.
 Jeu de Nim 01b h vs h correction

On leur demande ensuite de modifier le programme précédent pour qu’un être humain puisse jouer contre la machine.
Voici une correction possible où la machine joue au hasard.
 Jeu de Nim 02 h vs m correction

Puis ils doivent encore modifier le programme pour que la machine joue contre elle-même.
Voici deux corrections. La deuxième est faite de telle manière que quand on exécute le programme, ce qui se passe soit plus compréhensible. Cela demande l’utilisation d’une variable supplémentaire...
 Jeu de Nim 03a m vs m correction
 Jeu de Nim 03b m vs m correction 2

Ils doivent encore modifier le programme pour que la machine joue beaucoup de parties contre elle-même et qu’elle compte combien de parties sont gagnées par le joueur machine 1 et par le joueur machine 2. L’objectif est qu’ils utilisent ce programme pour voir si on peut en déduire combien il faut soustraire en fonction du nombre qu’ils ont à leur tour de jeu.
Voici une correction possible. (cela demande un assez bon niveau de programmation et donc le fichier correction peut être donné aux plus fragiles pour qu’au moins ils l’utilisent)
 Jeu de Nim 04 m vs m plusieurs parties correction

Le fichier suivant est directement donné aux élèves pour qu’ils l’utilisent.
 Jeu de Nim 05a m vs m apprentissage aidé utilisation
Ils testent dans un premier temps en changeant le nombre de départ pour en déduire s’il vaut mieux soustraire 1, 2 ou 3 en fonction du nombre qu’ils ont à leur tour de jeu.
Pour ce faire, ils regardent les nombres de parties gagnées.
Puisque les résultats trouvés ne sont pas mémorisés dans un premier temps (à savoir, s’il vaut mieux soustraire 1, 2 ou 3) on leur demande de les mémoriser dans la liste à leur disposition.
L’élément 1 de la liste indiquant combien il faut soustraire quand c’est le nombre 1 à leur tour de jeu.
L’élément 2 de la liste indiquant combien il faut soustraire quand c’est le nombre 2 à leur tour de jeu.
...

Ils doivent se rendre compte que ce programme n’est pas très performant normalement pour obtenir la stratégie gagnante. Par exemple, si on prend un nombre de départ de 12, on ne sait pas à coup sûr quel nombre on doit soustraire...

Pour l’améliorer, on peut faire en sorte que la machine utilise les résultats qui ont été mémorisés pour en déduire les résultats avec des nombres plus grands.
Cela peut donner par exemple le programme suivant.
 Jeu de Nim 05b m vs m apprentissage aidé avec emploi direct utilisation
Je leur ai montré comment faire au vidéo-projecteur et ils l’ont refait ensuite.

Ce dernier programme est beaucoup plus efficace mais on peut faire encore mieux en faisant en sorte que le deuxième joueur utilise aussi la stratégie mémorisée :
 Jeu de Nim 05c m vs m apprentissage aidé avec emploi direct des deux utilisation
Certains élèves ont trouvé comment faire tout seuls puisque c’est le même bloc que précédemment qu’il faut placer dans les scripts correspondant au joueur 2.
C’est normalement la fin de la deuxième séance avec Scratch.

La dernière partie est faite en vidéo-projection en classe entière.
On montre un programme où la liste se complète automatiquement jusqu’au nombre de son choix.

Scratch


 Jeu de Nim 05d m vs m apprentissage auto avec emploi direct des deux visualisations
On montre ensuite comment exporter la liste obtenue pour l’importer dans le programme suivant et ainsi faire jouer la classe contre une machine qui a appris à très bien jouer au jeu de Nim :
 Jeu de Nim 06 h vs m qui récupère l’apprentissage
On peut s’aider de la vidéo suivante (qui n’a pas de son) pour voir comment faire.

jeu de nim avec scratch : utilisation de l'export et de l'import d'une liste

Dans cette vidéo, on voit comment on peut récupérer une stratégie pour jouer au jeu de nim apprise et stockée dans une liste à l'aide d'un programme scratch pour qu'elle soit ensuite utilisée dans un autre programme qui permet à un humain de jouer contre une machine (qui sait très bien jouer).

Vous trouverez ci-joint tous les fichiers Scratch compressés.

Document joint
un document Fichiers Scratch compressés (Zip de 477.7 ko)

Apprendre à jouer à un ordinateur au jeu de Nim avec Scratch - TraAM 2021/2022 - Académie de Poitiers.