Projet: Jeu de go

Ici on discute des ressources informatiques pour le jeu de Go. Logiciels pour jouer, pour créer des diagrammes, pour tirer les rondes, etc. Et aussi, on peut lister les ressources en graphisme (artworks, logos, images, etc.).
Verrouillé
Nosk
Messages :1
Enregistré le :jeu. 25 avr. 2013 17:17
Projet: Jeu de go

Message par Nosk » jeu. 25 avr. 2013 17:25

Bonjour à tous !
Actuellement étudiant en licence 3 d'informatique, j'ai un petit projet à faire.
Ce projet est un jeu de go. Je n'ai pas eu de soucis pour l'implémentation des règles, néanmoins mon ambition est d'intégrer à ce jeu une intelligence artificielle. Je sais que c'est une tâche plutôt épineuse, sachant que les plus forte IA de jeu de go ont à peine un niveau débutant. Heureusement, je ne compte pas créer une IA parfaite, mais juste un bot fonctionnel permettant de s'entrainer pour les néophytes :)
Pour les gens versés dans l'informatique, je vous expose comment je compte m'y prendre et j'attend vos retour (si retour il y a :) ):
Priorité maximum pour l'ia, sauver les chaînes de pions. Mettons pour un l'exemple, un pion de noir est entouré par 3 blanc, l'IA cherchera à sauver son pion noir.
Ensuite, si aucune chaîne n'est directement menacée, choisir entre 2 "mode" de fonctionnement, offensif et défensif.
Si l'adversaire à plus de pierre que l'ia, celle-ci cherchera à attaquer afin de rétablir la balance. Sinon, l'IA cherchera à consolider ses chaînes et jouera de manière défensive. Je sais qu'au go c'est beaucoup plus subtile que ça mais ce n'est qu'un projet de fac alors je ne suis pas trop exigeant :)
Il me reste donc à automatiser la manière jouer défensif et offensif, si vous avez des idées simples :)
Voila voila, :)
Merci d'avance !

Avatar du membre
igotoy
Messages :275
Enregistré le :jeu. 18 févr. 2010 17:11
Club :38Gr
Niveau :5k
Pseudo KGS/IGS :igotoy
Localisation :Grenoble
Contact :

Re: Projet: Jeu de go

Message par igotoy » ven. 26 avr. 2013 11:04

Salut,

Je te conseille de lire la page wikipedia : http://en.wikipedia.org/wiki/Computer_Go (lis bien la version anglaise de cette page, la version française est beaucoup moins complète).

Le temps où "les plus forte IA de jeu de go ont à peine un niveau débutant" est révolu.

Dans l'article, tu as également pleins de références vers des algorithmes.

Comme autre ressource, tu peux également t'intéresser au newsgroup "computer go" : http://computer-go.org/mailman/listinfo/computer-go. C'est une mine de renseignement mais n'étant pas classée tu risques de t'y perdre.

Si tu te lances dans la redite d'une approche connue (minimax, monte-carlo, reconnaissance de forme, etc.). Bon courage, il y a du boulot !

Une idée comme ça :

1) Détecter si un groupe/une chaîne est vivant ou non. Ce n'est pas si facile : http://senseis.xmp.net/?LifeAndDeath. Pour faire simple, tu peux te limiter à détecter les chaînes fermées (qui encerclent un nombre fini d'intersections, éventuellement en s'aidand du bord), puis tu cherche la frontière extérieure de ce groupe, puis tu considères l'intérieur de cette frontière, puis tu cherches s'il y a deux intersections libres non connexes.

2) Colorier les groupes selon leur status (inconnu, vivant, inconditionnelement mort, mort si blanc joue, mort si noir joue, etc.).

3) Ne pas défendre les groupes vivants.

4) Ne pas attaquer les groupes vivants.

5) Stratégie pour attaquer : jouer à distance d'une ou deux intersections du groupe à attaquer, le coup correspondant le plus proche d'un groupe de pierres alliées (vivant de préférence).

6) Stratégie pour défendre : jouer à distance de une intersection (tobi ou kosumi) du groupe à défendre, en direction du plus proche groupe allié (vivant de préférence) ou, à défaut, du plus grand espace vide.

A noter qu'il est possible de faire jouer ton programme sur internet contre des humains en utilisant KGS (tu peux ainsi évaluer son niveau) : http://www.weddslist.com/kgs/how/outline.html

Bon courage, tiens-nous au courant.
Dans la vie j'ai deux passions : mon pays et Bruce Lee !

Verrouillé