Fonction d'évaluation pour le jeu 'Awale' [IA] - Programmation
Marsh Posté le 05-05-2002 à 03:32:42
Une fonction d'évaluation est une fonction, dans le sens mathématique du terme qui indique la "qualité" des différentes positions de jeu par un nombre. Elle dépend de 1 ou plusieurs paramètres. Le but est de la maximiser (ou la minimiser).
Par ex ce peut etre f(t)=nbre de billes restantes dans le jeu à l'instant t, ou encore f(a1,a2,...,an) où les ai sont le nombre de billes présentes dans chaques cases.
Il n'y a pas de fonctions d'évaluation type, et c'est d'ailleurs la grosse difficulté en IA d'en trouver une adaptée au problème. Il faut faire preuve d'imagination.
Je ne connais pas assez bien l'awele pour te guider plus, mais disons que si le but est de ramasser le plus de billes alors tu peux partir, par ex, sur une fct qui compte, suivant le coup, le nombre de billes ramassées (ex trivial).
Pense toujours que tu pars du principe que l'adversaire joue également pour optimiser sa fonction d'évaluation dans ton AlphaBeta (j'imagine que c'est la meme chose que MinMax : tu fais un arbre de décision et tu élagues les branches)
Si tu veux un conseil, passe une après midi avec ton binome à jouer à l'awele et apprends qques techniques de jeu et regarde comment 'quantifier' la qualité d'un coup.
Il me semble que l'awele se joue en ramassant 3 billes alors tu peux par ex t'intéresser au nombre de billes dans chaque cases modulo 3, ce genre d'idées quoi....à toi de voir.
Bon courage
Marsh Posté le 05-05-2002 à 11:34:15
Ernst :
Non, je passe par une fonction d'évaluation comme définie par xinxang.
xinxang :
Je vois bien ce qu'on nous demande, et j'ai fait pas mal de parties donc je vois plus ou moins de quoi il faut tenir compte ; de plus, notre prof nous a filé des directives pour cette fonction, vu qu'on a vraiment pas le temps de devenir expert en awale
Mais comme notre note est basée sur un tournoi entre élèves, et que tous les élèves ont reçu les mêmes directives, il faut vraiment chercher à faire la meilleure fonction possible et donc je cherche des personnes qui connaissent assez l'awale ou qui ont déjà rencontré une fonction d'évaluation de ce jeu pour encore l'optimiser !
Merci à tous les 2 , et si d'autres ont des idées...
Pour ceux qui s'interrogent, un bon site pour en savoir plus sur l'awale : http://www.myriad-online.com/frindex.htm
Marsh Posté le 05-05-2002 à 15:59:46
Pour l'instant je n'ai pas trop le temps de chercher mais dit moi pour quand il est ton projet car ça m'intéresse bien ton histoire
(C'est un bon concept le tournoi d'IA )
Marsh Posté le 05-05-2002 à 16:04:49
xinxang a écrit a écrit : Pour l'instant je n'ai pas trop le temps de chercher mais dit moi pour quand il est ton projet car ça m'intéresse bien ton histoire (C'est un bon concept le tournoi d'IA ) |
On doit achever la chose pour vendredi à venir !
Inutile de dire qu'on aimerait le finir au plus tôt...
Marsh Posté le 05-05-2002 à 16:23:04
je vais voir ce que je peux faire...
Dits moi déjà quelles pistes tu as je vais y réfléchir (mais je te promets rien...)
Marsh Posté le 05-05-2002 à 16:25:08
xinxang a écrit a écrit : je vais voir ce que je peux faire... Dits moi déjà quelles pistes tu as je vais y réfléchir (mais je te promets rien...) |
C'est cool de ta part mais t'embête pas, ça vaut pas le coup ; je postais dans l'éventualité où quelqu'un avait sous la main par hasard une fonction d'évaluation pour ce jeu, mais te casse pas la tête si t'en as pas... En tout cas merci pour ton zèle
Marsh Posté le 05-05-2002 à 16:34:12
c'est pas zèle, ça m'intéresse vraiment ton problème (j'adore l'IA) mais pour l'instant j'ai une montagne de copies à corriger
Je voulais faire un peu la meme chose avec mes élèves avec une bataille navalle sur TI (mais au lycée c'est vrai que c'est un peu chaud...)
Mais j'y réfléchit (ne serait-ce que pour moi ) et si j'ai une idée je te la poste.
Mais ça m'étonnerait que tu trouves une fct tte prète....
Marsh Posté le 05-05-2002 à 16:48:54
xinxang a écrit a écrit : c'est pas zèle, ça m'intéresse vraiment ton problème (j'adore l'IA) mais pour l'instant j'ai une montagne de copies à corriger Je voulais faire un peu la meme chose avec mes élèves avec une bataille navalle sur TI (mais au lycée c'est vrai que c'est un peu chaud...) Mais j'y réfléchit (ne serait-ce que pour moi ) et si j'ai une idée je te la poste. Mais ça m'étonnerait que tu trouves une fct tte prète.... |
Je me suis mal exprimé : on cherche pas une fonction d'évaluation toute prête mais des indications de stratégies subtiles pour l'awale nous permettant de l'affiner, de manière à ce que dans certaines situations on choisisse un coup qui soit plus avantageux que celui qu'aurait choisi l'IA plus basique.
Donc en fait la question à se poser, après avoir fait plusieurs parties, c'est : comment évaluer le potentiel d'un coup, en points entre 0 et 100, avec 0 perdu et 100 gagné, et surtout en fonction de quels facteurs ? On peut par exemple dire que les points sont égaux à la valeur des graines qu'on capture plus x points par grenier supérieur à y graines etc... Et la fonctionnaliser
Marsh Posté le 05-05-2002 à 17:50:46
tiens va voir ici : http://www.sdv.fr/pages/casa/html/awele.html
Il y a les règles, qques techniques et une applet java pour s'entrainer (pour l'instant je me fait toler par l'ordi mais on doit pouvoir voir comment il joue...)
Marsh Posté le 05-05-2002 à 18:11:31
j'ai trouvé ça : http://www.freebsd.org/cgi/pds.cgi?ports/games/awele
A mon avis ça peut t'intéresser
(évidemment à ne pas réutiliser tel quel mais pour trouver l'inspiration....)
Marsh Posté le 05-05-2002 à 18:46:03
A mon avis, si tu veux vraiment etre meilleur qu'une IA de base, il faut voir plus loin que le coup suivant, et determiner les possibilites que ton coup offrent à l'adversaire. Evidemment, ca devient vite très lourd, et si vous avez des imperatifs de performances, c'est difficile. Je pense que la qualité d'un coup peut donc etre quantifiee grace aux points qu'il rapporte, mais aussi (et surtout) grace aux points qu'il empeche l'adversaire de prendre.
Marsh Posté le 05-05-2002 à 20:54:11
si vous allez voir en bas de cette page: http://www.wizzy.com/owari/ il y a des liens qui devraient vous etre utiles (certains sont casses, mais avec les infos sur le lien, on peut en retrouver certains, grace a google).
Et ce lien ci est bourré d'infos: http://www.myriad-online.com/awalink.htm
et allez voir celui-ci http://compgeom.cs.uiuc.edu/~jeffe/pubs/sowing.html
A+,
[jfdsdjhfuetppo]--Message édité par gilou le 05-05-2002 à 20:59:48--[/jfdsdjhfuetppo]
Marsh Posté le 04-05-2002 à 18:26:30
Bonjour,
J'ai comme projet en 'Intelligence Artificielle' de réaliser
un jeu sur l'awale, un jeu africain, en se concentrant essentiellement sur son intelligence artificielle ; mon binome et moi avons implémenté l'algorithme dit 'AlphaBeta', et sur conseil de notre prof, nous recherchons maintenant des fonctions d'évaluation intéressantes de manière à les "disséquer" pour mieux comprendre les subtilités et les meilleures stratégies à adopter pour ce jeu pour lequel nous avons peu de temps pour nous spécialiser , afin de réaliser nous-même une fonction
d'évaluation la plus puissante possible.
Je voulais donc savoir si quelqu'un sur ce forum pourrait nous aider en nous indiquant une ou des fonctions d'évaluation qu'il a déjà rencontré, quelque soit le langage dans lequel elles sont programmées ou la forme sous laquelle elles sont représentées, afin que nous puissions nous améliorer.
Evidemment, cette fonction ne sera utilisée à aucun but mercantile ou autre, mais uniquement dans le cadre de notre projet !
Merci d'avance de répondre le plus tôt possible SVP (comme tous les étudiants, on doit rendre notre projet bientôt ! )