π
<-

Eléments de correction du concours de chasse au Wumpus

:32tins: :32tinsktpb: :32tinsktpn: :32tinscas: :32tinstpkc: :32tinstpktpb: :32tinstp: :32tinscastp: :32tinscmc: :32tinscx: :32tinscxcas:

Eléments de correction du concours de chasse au Wumpus

Unread postby critor » 09 Nov 2013, 16:55

Voici aujourd'hui quelques éléments de corrections de notre concours de chasse au Wumpus dans le contexte de graphes et d'IA (Intelligence Artificielle), qui pourront apparemment vous être fort utiles si vous décidez de participer au concours Prologin 2014.

Vous pourrez télécharger ci-dessous ma propre participation test (hors concours bien évidemment) que j'ai développée en une journée. Elle ne reprend pas l'ensemble des possibilités énoncées ci-après, mais est représentative de ce que l'on pouvait faire sans trop se casser la tête à un niveau lycée.



Le travail de recherche consistait dans un premier temps à observer le comportement de l'IA aléatoire et à supprimer les comportements stupides:
  • retourner inutilement dans la salle d'où l'on vient
  • retourner inutilement dans une salle déjà visitée
  • ne pas trouver la sortie après avoir ramassé le trésor

L'IA a donc besoin d'une mémoire dans laquelle elle va construire au fur et à mesure sa représentation du labygraphe. Représenter un graphe peut se faire à l'aide d'un tableau à deux dimensions (matrice) ou encore d'une liste de listes. Dans les deux cas, il s'agit de connaître pour chaque salle, la liste des salles voisines. J'ai choisi pour mon IA une représentation sous forme de matrice.



L'IA doit également réfléchir. Elle doit également pouvoir stocker des informations sur chaque salle afin de faire des déductions:
  • est-ce une salle explorée?
  • y a-t-il un piège dedans?
  • y a-t-il le Wumpus dedans?
  • y a-t-il le trésor dedans?

Si la première question n'appelle qu'à une réponse binaire (oui ou non), il fallait bien comprendre que les trois dernières attendaient une réponse moins catégorique: oui, non ou peut-être.
En effet, au départ on ne sait rien: les Wumpus, piège(s) et trésor peuvent se situer dans toutes les salles. C'est au fur et à mesure de notre exploration que l'on peut faire des déductions positives et négatives.

Plusieurs possibilités d'implémentation d'un tel raisonnement existaient:
  • Une première possibilité quand notre IA visite une salle, est de faire des déductions logiques sur les salles voisines en fonction des perceptions.
  • Si l'on réfléchit davantage, on se rend compte que comme il n'y a qu'un seul Wumpus et qu'un seul trésor, on peut également faire des déductions sur les salles voisines des salles voisines. C'est cette option que j'ai choisie.
  • Si l'on pousse plus loin, une information obtenue dans une salle du labygraphe peut permettre une déduction dans une autre salle éloignée. Reproduire un tel raisonnement peut se faire en implémentant un gestionnaire de propositions logiques et la "méthode de résolution logique" qui va recouper ces propositions avec les informations données et faire le maximum de déductions. Je n'ai pas retenu cette option, trouvant qu'il était difficile d'exécuter une telle méthode en un temps raisonnable sur TI-Nspire, l'espace de travail étant exponentiel: chaque salle, puis les voisines de chaque salle, puis les voisines des voisines de chaque salle et etc...
  • Une amélioration des déductions découlant de la méthode précédente est de ne plus stocker des oui/non/peut-être, mais directement des probabilités totales. Leur calcul qui doit se faire par rapport à l'ensemble du graphe est assez gourmand. Je n'ai pas implémenté ce choix ici.



Notre IA suit successivement deux phases:
  • 1) trouver le trésor
  • 2) sortir du labygraphe

Pour le première phase, je vous propose les priorités suivantes à chaque déplacement:
  • a) aller dans la salle du trésor (si l'on a déduit où il est)
  • b) aller dans une salle sûre non explorée, ou dans la salle du Wumpus (si on a déduit où il était et si on a toujours la flèche pour le tuer)
  • c) pas le choix, on en appelle à la chance: aller dans une salle où il y a peut-être un piège ou un Wumpus (en espérant qu'au final il n'y soit pas)
  • d) on est désespéré: aller dans une salle piégée ou avec le Wumpus (suicide)

Comme vous le voyez, quand il n'y a plus de salle sûre à explorer et que l'on n'a pas suffisamment d'informations pour déduire ce qui nous intéresse, l'IA en appelle à la chance. Et c'est là qu'il est utile d'avoir stocké de vraies probabilités.



Enfin, à chaque déplacement on choisit donc une salle cible qui n'est pas forcément voisine de notre position. Il convient pour optimiser les déplacements d'avoir un algorithme construisant le plus court chemin vers cette salle.
Un tel algorithme recherchant le plus court chemin entre deux sommets d'un graphe est celui de Dijkstra, vu en Terminale ES spécialité mathématiques. On peut alors même améliorer les priorités b), c) et d) où l'on doit choisir parmi plusieurs salles, en ciblant la salle la plus proche.
J'ai implémenté cet algorithme.



Au final grâce à ce dernier point, parmi toutes les IA fournies par les candidats la mienne est celle qui réussit à ressortir munie du trésor avec le minimum de coups moyens. :bj:
Par contre, ce n'est pas la meilleure en terme de pourcentage de parties gagnées, puisque l'on peut faire bien mieux en déduction en optant pour les méthodes c) et d) ci-dessus.

Image




Téléchargement : archives_voir.php?id=22671
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41980
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Eléments de correction du concours de chasse au Wumpus

Unread postby Extra44 » 09 Nov 2013, 17:37

Cool je suis pas loin ... :p

09-11-2013 Écran001-v-Extra44-ndp=102010.jpg


Extra44
You do not have the required permissions to view the files attached to this post.
User avatar
Extra44Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 58.4%
 
Posts: 591
Images: 1
Joined: 20 Jan 2011, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: S.I.

Re: Eléments de correction du concours de chasse au Wumpus

Unread postby AnToX98 » 09 Nov 2013, 17:49

Je crois déjà que Extra44 est notre grand gagnant :)
User avatar
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 75.5%
 
Posts: 1022
Images: 15
Joined: 19 May 2013, 16:54
Location: Paris, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ere S

Re: Eléments de correction du concours de chasse au Wumpus

Unread postby Extra44 » 09 Nov 2013, 17:52

Je veux bien être d'accord avec toi antox ,

mais ça peut porter malheur, ... alors chuut

d'ailleurs Antox, tu devais pas ramener des statistiques pour qu'on se compare ... ? ;)
User avatar
Extra44Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 58.4%
 
Posts: 591
Images: 1
Joined: 20 Jan 2011, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: S.I.

Re: Eléments de correction du concours de chasse au Wumpus

Unread postby critor » 09 Nov 2013, 17:54

Ben attends un peu, AnToX98...
Y'en a neuf autres dont toi ;)

De plus, après deux séries de 335'000 parties sur notre cluster de TI-Nspire, Extra44 ne donne pas 87.2%.
10'000 parties sont insuffisantes pour garantir l'exactitude du pourcentage au dixième près. ;)

Ne présumez pas :)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41980
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Eléments de correction du concours de chasse au Wumpus

Unread postby AnToX98 » 09 Nov 2013, 17:59

Pour ce qui est de mes stats, je suis autour de 75% en 10/20/10.
En 10/10/10 je tourne autour de 80 %

Encore un extra-bravo à toi @Extra44 (oui, ceci est biensûr de l'ironie)

@Critor je dis cela en fonction de mon pourcentage à moi, qui je crois, ne va pas me permettre une place >4ème :D
Enfin, je serais quand même très heureux de récupérer un stylo usb :bj:
User avatar
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 75.5%
 
Posts: 1022
Images: 15
Joined: 19 May 2013, 16:54
Location: Paris, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ere S

Re: Eléments de correction du concours de chasse au Wumpus

Unread postby Extra44 » 09 Nov 2013, 18:02

:p
User avatar
Extra44Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 58.4%
 
Posts: 591
Images: 1
Joined: 20 Jan 2011, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: S.I.

Online

Re: Eléments de correction du concours de chasse au Wumpus

Unread postby noelnadal » 09 Nov 2013, 18:03

AnToX98 wrote:@Critor je dis cela en fonction de mon pourcentage à moi, qui je crois, ne va pas me permettre une place >4ème :D


Un place < à 4ème pour moi c'est 1er, 2ème, 3ème :D
User avatar
noelnadalEcrivain
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 37%
 
Posts: 2264
Images: 0
Joined: 10 Mar 2011, 00:00
Location: France, Melun (77)
Gender: Male
Calculator(s):
MyCalcs profile
Class: INRIA Paris
Twitter: nadalnoel
Facebook: noel.nadal1
GitHub: noelnadal

Re: Eléments de correction du concours de chasse au Wumpus

Unread postby mdr1 » 10 Nov 2013, 11:12

Bon, je crois que je n'ai plus rien à espérer par rapport aux résultats que j'escomptais initialement. Non seulement les miens ont baissé (je ne les ai pas brickés, mais ils l'ont fait par eux-mêmes pour une raison inconnue), mais en plus, les vôtres sont plus hauts que je ne l'aurais pensé. Bravo à vous, en tout cas ! J'aurais dû conserver une copie de mon IA à 95%... mais peut-être était-ce par hasard ? Pourtant, ce score revenait à chaque série de parties, chacune d'entre elles en comptant plusieurs milliers...

D'ailleurs, je ne participerai pas aux prochains concours de cette année, sauf s'il requièrent très très peu de temps.
Image ImageImage
User avatar
mdr1Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 44%
 
Posts: 1083
Images: 12
Joined: 28 Mar 2011, 00:00
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Je voyage toujours en première.

Re: Eléments de correction du concours de chasse au Wumpus

Unread postby critor » 10 Nov 2013, 12:06

Ne présume pas ;)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41980
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Next

Return to News TI-Nspire

Who is online

Users browsing this forum: ClaudeBot [spider] and 18 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
986 utilisateurs:
>958 invités
>20 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)