Page 1 of 4

Mise à jour de l'interface pour gagner le trésor du Wumpus

Unread postPosted: 27 Oct 2013, 01:01
by critor
Plus qu'une semaine pour gagner le trésor du Wumpus comprenant entre autres une TI-Nspire CX CAS compatible Ndless, une TI-84 Plus C Silver Edition couleur, et une TI-83 Plus.fr USB.
2627 2572 2573 2571 637 2343 2373


L'interface avec laquelle vous deviez travailler pour développer et rendre votre IA (Intelligence Artificielle) vient d'être mise à jour et est téléchargeable ci-dessous.
Au menu des modifications:
  • accélération de la fréquence de rafraîchissement en mode automatique
  • correction d'un bug d'affichage qui faisait apparaître un fantôme du Wumpus dans un autre salle quand votre IA le tuait
  • correction d'un bug de calcul du pourcentage de réussites, ce dernier augmentant si l'on bougeait le pointeur souris
  • correction d'un affichage erroné du pourcentage de réussites dans un cas particulier: en fin de partie quand votre IA atteignait la sortie du labyrinthe
Image


Ce ne sont donc que des changements mineurs internes à l'interface qui ne modifient en rien les règles du monde du Wumpus et par conséquent aucunement les performances de vos IA. :bj:


Vous pouvez rendre votre IA aussi bien accompagnée de l'ancienne que de la nouvelle interface - nous nous débrouillerons.

Veillez à ne pas écraser votre travail actuel si vous décidez de télécharger le nouveau fichier, ce dernier venant bien évidemment avec l'IA aléatoire d'origine qui ne pense pas... ;)


Lien : Présentation et énoncé complets du concours

Téléchargements:
La nouvelle version du fichier TI-Nspire à modifier/compléter et à rendre:
LabyGraph - Wumpus

Pour éditer le script Lua et le compléter avec vos fonctions:
Logiciel TI-Nspire 3.2 enseignant (pour PC - gratuit pendant 90 jours)
Logiciel TI-Nspire 3.2 enseignant (pour Mac - gratuit pendant 90 jours)
Logiciel TI-Nspire 3.2 étudiant (pour PC - gratuit pendant 30 jours)
Logiciel TI-Nspire 3.2 étudiant (pour Mac - gratuit pendant 30 jours)

Re: Mise à jour de l'interface pour gagner le trésor du Wump

Unread postPosted: 27 Oct 2013, 01:08
by mdr1
correction d'un bug d'affichage qui faisait apparaître un fantôme du Wumpus dans un autre salle quand votre IA le tuait

Lol, je n'avais pas vu les choses comme cela ! Et il m'est arrivé que le fantôme hante la salle du trésor ! :D

Re: Mise à jour de l'interface pour gagner le trésor du Wump

Unread postPosted: 27 Oct 2013, 09:53
by AnToX98
C'est vraiment impressionant comment le programme tourne 10 fois plus vite 0_o

Re: Mise à jour de l'interface pour gagner le trésor du Wump

Unread postPosted: 27 Oct 2013, 23:47
by totoyo
Bonne chance aux participants !

Votre concours avait l'air bien sympa :)

Re: Mise à jour de l'interface pour gagner le trésor du Wump

Unread postPosted: 28 Oct 2013, 16:53
by Extra44
Bonjour,

Faisons profiter les participants de petites modifications de l'interface afin de faire les tests de leur IA.

Attention à ne pas avoir modifier (ou à remettre en l'état) l'interface dans votre fichier tns final que vous enverrez!

Pour faire une boucle de x parties (ici 1000) en mode auto (touche 'a') : modifier on.timer() ainsi :
Code: Select all

function on.timer()
    if mode>0 then nextstep() end
    if mode==2 and total>=1000 then mode=0 end
end

Ici quand on atteint 1000 parties, on se met en mode=0 : on s'arrete.

Si on n'a pas besoin d'afficher le trajet (et qu'on veut faire plein de parties avec l'IA) : modifier on.paint(gc) :
Code: Select all

function on.paint(gc)
    if not inited then
       
      ...

    end
    gc:setFont("sansserif", "r", fontsize)
--[[    gc:drawString("m: move",offset,1*strHeight)

    ...

    for i=1,#lip-1 do
        gc:drawLine(xc+r*math.cos((lip[i]-1)*2*pi/n),yc+r*math.sin((lip[i]-1)*2*pi/n),xc+r*math.cos((lip[i+1]-1)*2*pi/n),yc+r*math.sin((lip[i+1]-1)*2*pi/n))
        l = repostxt(gc:getStringWidth(lip[i]),strHeight,lip[i])
        gc:drawString(lip[i],l[1],l[2])
    end
]]
    gc:setColorRGB(0,0,0)   
    if derr then
        gc:drawString(err,0,4*strHeight)
    end

    ...

--    if lc[1]==1 then gc:drawString("Ca pue...",0,height-2*strHeight) end
--    if lc[2]==1 then gc:drawString("Ca souffle...",0,height-1*strHeight) end   
--    if lc[3]==1 then gc:drawString("Ca brille...",0,height-0*strHeight) end   

Ici sur 300 coups, c'est jusqu'à 4 fois plus rapide (je passe de 19s à 5 s)

Voila voilou

Extra44

Re: Mise à jour de l'interface pour gagner le trésor du Wump

Unread postPosted: 28 Oct 2013, 17:09
by AnToX98
C'est pas une très bonne idée vue que aucune modification n'est permise pour ce concours pour ces fonctions.

Re: Mise à jour de l'interface pour gagner le trésor du Wump

Unread postPosted: 28 Oct 2013, 17:11
by Extra44
c'est pour ca que je précise dès le début de faire attention à ce qu'on va envoyer au final ...

Mais c'est utile (je suis passé par là) pour faire les tests ...

Après on (vous) n'est pas obligé de prendre ... je ne force personne ...

Re: Mise à jour de l'interface pour gagner le trésor du Wump

Unread postPosted: 28 Oct 2013, 17:12
by critor
Ça, ce n'est pas grave.

Nous collerons le code de votre IA dans un code d'interface qui sera commun à tous et qui sera compatible avec l'interface fournie par défaut.


Par contre, si après l'IA ne marche plus avec l'interface par défaut (suite à des erreurs/étourderies), c'est plus embêtant...

Re: Mise à jour de l'interface pour gagner le trésor du Wump

Unread postPosted: 28 Oct 2013, 17:14
by Extra44
Ben si l'IA ne marche plus en changeant l'interface, c'est l'IA n'est pas correcte, normalement ...

Donc à priori la faute au candidat ... (hors faute de l'interface, bien sur ... )

Re: Mise à jour de l'interface pour gagner le trésor du Wump

Unread postPosted: 29 Oct 2013, 23:41
by Oakwood
Bonsoir à tous,
Tout fier de mon IA, j'ai voulu la tester en regardant étape par étape comment elle évoluait, et je suis tombé sur les situations suivantes (impressions d'écran du TI-Nspire CAS Student Software) :

ImageImageImageImage

Comme vous le remarquez, à chaque fois une salle voisine contient un trou et pourtant la sensation "ça souffle" n'est pas resentie.
Ceci n'est pas sans conséquences, puisque l'IA ne pouvant le détecter, si elle choisi d'aller dans cette salle, elle perd la partie, comme le montrent les images suivantes :

ImageImage

ou encore :

ImageImage

Je tiens à préciser que je n'ai modifié aucune fonction à part init, think, et action, et que je viens de copier-coller mon code dans une interface toute neuve pour vérifier.

:help: Quelqu'un peut-il me dire si le bug existe chez lui aussi ou si c'est moi qui ai modifié des variables globales sans faire exprès ou autre bêtise de ce genre ?

J'ai regardé vite-fait les fonctions de génération des labygraphes, mais je n'ai pas trouvé d'erreur... (En même temps, c'est la première fois que je programme en lua, donc bon...)
Merci d'avance à celui qui aura la patience de regarder son labygraphe jusqu'à en loucher pour me répondre ! :)

(PS J'ai flouté mes taux de réussite pour ne pas mettre trop la pression aux autres candidats... ;) Tiens, en v'la un qui s'la pète !)