π
<-

Concours de rentrée 2020 - défi Python du Léviathan

Re: Concours de rentrée 2020 - défi Python du Léviathan

Unread postby Hamza.S » 03 Jan 2021, 19:03

Cent20 tu as la chance d'avoir une Nspire CX II-T CAS gratuitement comme ta chère NumWorks tu l'as eu gratuitement il me semble :troll:
Image
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 29%
 
Posts: 4501
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):
MyCalcs profile

Re: Concours de rentrée 2020 - défi Python du Léviathan

Unread postby cent20 » 03 Jan 2021, 19:20

critor wrote:Merci.

Je suis sincèrement désolé, le poster demandé est épuisé, il ne m'en reste même plus pour moi. :p
Après je peux toujours te dédicacer autre chose.

Ce qui est encore disponible est normalement à jour dans le dernier post de ce fil :
viewtopic.php?f=49&t=24387&p=258403#p258399


Ben quand je clique sur ton lien on me le propose !

Image

Du coup je prend le poster qu'il te reste, j'ai déjà gagné celui là je crois au précédent défi.
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 48.5%
 
Posts: 1050
Images: 67
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz

Re: Concours de rentrée 2020 - défi Python du Léviathan

Unread postby cent20 » 03 Jan 2021, 19:24

Hamza.S wrote:Cent20 tu as la chance d'avoir une Nspire CX II-T CAS gratuitement comme ta chère NumWorks tu l'as eu gratuitement il me semble :troll:


Elle sera plus utile à un autre participant. J'ai vaguement utilisé, une fois, pendant moins de 42 minutes, une Nspire CX I-T CAS et je n'ai pas du tout aimé. La coque sera elle utilisée.

Après avoir gratuitement le matériel nécessaire pour bosser, comment dire, je n'ai ni honte, ni à me cacher.

Il est où mon ordinateur de fonction ?

Mon employeur ne me paye pas mon matériel informatique nécessaire à mon travail, alors que cela devrait être la normalité.
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 48.5%
 
Posts: 1050
Images: 67
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz

Re: Concours de rentrée 2020 - défi Python du Léviathan

Unread postby critor » 03 Jan 2021, 19:34

@cent20 Donc simple erreur d'illustration, désolé, c'est à la liste qu'il faut se fier, et ce poster n'y figure plus.
Il t'en reste donc 3 au choix :
  • poster N0100 – Eduscol/MEN 2017 - roulé brillant - format A2 (42×59,4 cm²)
  • poster N0100 – Eduscol/MEN 2018 - roulé mat - format A2 (42×59,4 cm²)
  • poster N0110 – Comprendre le monde devient un jeu - plié brillant - format A2 (42×59,4 cm²)

Je n'avais que 2 exemplaires du poster à dédicader, l'un a été pris par LeGmask et l'autre par toi au 2ème défi si j'ai bien noté.
Si tu les veux donc tous les deux, il faut t'arranger avec LeGmask. Je suppose que si tu lui échanges contre quelque chose de suffisamment intéressant... ;)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48.1%
 
Posts: 41993
Images: 15900
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Concours de rentrée 2020 - défi Python du Léviathan

Unread postby cent20 » 04 Jan 2021, 00:19

Le poster N0100 – Eduscol/MEN 2018 - roulé mat - format A2 fera l'affaire. Merci.
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 48.5%
 
Posts: 1050
Images: 67
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz

Re: Concours de rentrée 2020 - défi Python du Léviathan

Unread postby critor » 04 Jan 2021, 21:05

Bien, merci. :)

@Epharius, félicitations à toi aussi.

Comment as-tu fait ?
Dans ton explication, on aimerait bien avoir entre autres :
  • le type de ton algorithme d'exploration (en profondeur, en largeur, récursif, itératif)
  • un diagramme représentation la réflexion de ton IA, tu as plusieurs exemples dans les réponses précédentes

Ensuite, que nous prends-tu ? Merci. :)
  • 1 lot Capricorne ♑ : 1 calculatrice Casio Graph 90+E + 1 pack de goodies Casio + 1 goodie Xcas + 1 pack de goodies TI-Planet & Planète Casio
  • 2 lots Bélier ♈ : 1 solution d'émulation Casio au choix + 1 catalogue de produits Casio au choix + 1 pack de goodies Casio + 1 goodie Xcas + 1 pack de goodies TI-Planet & Planète Casio
    Show/Hide spoilerAfficher/Masquer le spoiler
    Détail des solutions d'émulation Casio au choix :
    • clé USB 8 Go d'émulation permanente au choix, à jour avec 3 émulateurs pour Windows : fx-92+ Spéciale Collège + Graph 35+E II 3.30 + Graph 90+E 3.40
    • licence 3 ans utilisable pour l'installation de tout ou partie des logiciels d'émulation suivants :

    11617130221302313024


  • Lot Serpentaire ⛎ : 1 stylo HP + 1 goodie Xcas + 1 pack de goodies TI-Planète-Casio
    Show/Hide spoilerAfficher/Masquer le spoiler
    Poster HP : format 59,2×40 cm².

    9656


  • 2 lots Balance ♎ : 1 couvercle NumWorks au choix + 1 autocollant NumWorks + 1 enveloppe NumWorks ou carte postale NumWorks au choix + 1 pack de goodies NumWorks + 1 goodie Xcas + 1 pack de goodies TI-Planet & Planète Casio
    Show/Hide spoilerAfficher/Masquer le spoiler
    Couvercle NumWorks au nouveau format N0110 protégeant mieux l'écran contre les rayures, mais restant parfaitement utilisable sur l'ancien modèle N0100.

    1303613229130301302613027


  • Lot Taureau ♉ : 1 calculatrice TI-Nspire CX II-T CAS + 1 licence logiciel TI-Nspire CAS élève + 1 pack de goodies TI + 1 goodie Xcas + 1 pack de goodies TI-Planète-Casio
  • Lot Lion ♌ : 1 calculatrice TI-Nspire CX II-T + 1 licence logiciel TI-Nspire élève + 1 pack de goodies TI + 1 goodie Xcas + 1 pack de goodies TI-Planète-Casio
  • Lot Gémeaux ♊ : 1 calculatrice TI-83 Premium CE Edition Python au choix + 1 adaptateur USB + 1 clavier USB dédié + 1 chargeur mural + 1 film de protection écran Wyngs + 1 pack de goodies TI + 1 pack de goodies TI-Planète-Casio
  • Lot Verseau ♒ : 1 calculatrice TI-83 Premium CE Edition Python + 1 gravure texte laser au choix + 1 adaptateur USB + 1 clavier USB dédié + 1 chargeur mural + 1 housse Wyngs au choix + 1 film de protection écran Wyngs dédiés + 1 extension de garantie 6 ans Calcuso + 1 pack de goodies TI + 1 pack de goodies TI-Planète-Casio
    Show/Hide spoilerAfficher/Masquer le spoiler
    Détail des calculatrices TI-Nspire CX II-T CAS au choix :
    • TI-Nspire CX II-T CAS sous blister version B
    • TI-Nspire CX II-T CAS sous blister version B avec autocollant sceau Comenius Edumedia 2019

    Détail des calculatrices TI-83 Premium CE Edition Python au choix pour le lot Gémeaux ♊ :
    • TI-83 Premium CE Edition Python sous blister version E
    • TI-83 Premium CE Edition Python sous blister version E avec autocollant masquant sceau Approuvé par les familles 2019

    La gravure au laser de la TI-83 Premium CE Edition Python du lot Verseau ♒ est effectuée par Calcuso. Le texte souhaité est à nous communiquer par le gagnant choisissant ce lot, dans la limite de 22 caractères et sans caractères spéciaux.

    1162413045116231182811827113251272411324130601305912281[13117131381309513096131021313613128


Détail des packs de goodies communs accompagnant les lots :
  • 1 cahier d'activités NumWorks SNT 2nde
  • 1 sac NumWorks au choix (N0100 versions 1.0-1.5, N0100 versions 1.6+, ou N0110)
  • 1 cahier NumWorks
  • 1 poster NumWorks au choix format A2 (42×59,4 cm²) :
    • NumWorks N0100 : Eduscol / Ministère de l'Education Nationale - roulé - brillant
    • NumWorks N0110 : Comprendre le monde devient un jeu - plié
  • 1 stylo NumWorks
13035130311304613047130481303213068130421303413033
  • 1 stylo TI au choix
  • 1 porte-documents TI
  • 1 poster TI plié au choix :
    • format 55,75×83,5 cm² : TI-Nspire CX, TI-Nspire CX CAS
  • 1 clé USB TI au choix :
    • clé USB T3 France bleue - 2 Go de capacité nominale
    • clé USB TI-Primaire Plus - 4,01759 Go de capacité réelle
    • clé USB TI-Innovator Rover - 4,01813 Go de capacité réelle
    • clé USB TI-83 Premium CE avec lanière - 4,01811 Go de capacité réelle
    • clé USB TI-83 Premium CE avec chaînette - 4,01811 Go de capacité réelle
    • clé USB TI rouge - 1 Mo de capacité nominale (promotion TI-Primaire Plus défectueuse)
  • 1 décalcomanie TI ou pochette CD TI au choix
  • 1 cahier TI-83 Premium CE au choix

Aperçus de quelques cahiers d'activités TI-83 Premium CE Python au choix:
1178213065130661306713062130611304913050130441153313074130851308613081130821308313084130771307813083130841307213070
1 autocollant Xcas
13228
  • 1 autocollant TI-Planet au choix
  • 1 autocollant Planète Casio
  • 1 compte premium TI-Planet
1161411615
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48.1%
 
Posts: 41993
Images: 15900
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Concours de rentrée 2020 - défi Python du Léviathan

Unread postby Epharius » 05 Jan 2021, 13:15

C'est parti !
Après moulte versions de mon IA (au nombre de 2 tout de même), j'ai trouvé quelque chose qui me faisait arriver à environ 69% de réussite. Voici ma démarche (suspens) :
J'ai commencé par adapter le code python graphique en une sorte de testbench utilisable sur PC pour pouvoir aller plus vite. Une fois que c'était fait, je ne me suis pas égaré et j'ai directement écris un algorithme en pseudo-langage pour mettre les choses au clair et réfléchir à une manière de faire l'IA la plus safe possible.
En effet, j'ai mis la "sécurité" au centre du comportement de l'IA : le but n'est pas d'arriver le plus vite possible ou de faire une IA rapide sur le plan calculatoire mais bien de prendre le moins de risque possible, quitte à traverser la map de droite à gauche une dizaine de fois. Et au vu de la notation de l'épreuve (qui valorise 1000 fois plus une IA qui réussi à "sortir" par rapport à une IA qui y arrive moins mais plus rapidement), ce choix n'est pas dénué de sens.

L'algorithme en question est donc accessible sur le graph (j'ai fait ce que j'ai pu soyez indulgents x) ). Pour résumer rapidement les points importants :
  • Chaque case possède une "probabilité de danger" qui n'en est pas une puisque ce nombre n'est pas forcément entre 0 et 1.
  • Cette proba de danger n'est valable que pour les cases inexplorées bien entendu, et est calculée selon les informations "exclusives" (du verbe "exclure") que l'on possède des cases voisines. Par exemple, si au moins une des cases voisines n'a pas de puits autour, on est certains que la case inconnue n'en possède pas, même si d'autres cases voisines en ont.
  • A chaque fois que l'on n'a pas de chemin planifié en cours, on planifie un chemin avec l'algorithme de dijkstra vers la case possédant une "proba de danger" la plus faible possible quel que soit son emplacement dans la carte. Ceci en évitant les chauve-souris.
  • Enfin, si on vient de récupérer la clé et qu'on sait où est la porte, on planifie un plus court chemin (encore avec dijkstra) vers cette dernière (toujours en évitant les chauve-souris, quitte à explorer des cases si le seul chemin vers la porte contient une chauve-souris).
Voilà, je vous passe les détails et le micro-règles, si jamais ça vous intéresse vous pouvez toujours aller voir mon algo python sur la page du concours ;)
Et si vous avez des questions ou si je n'ai pas été clair n'hésitez pas !

Voilà la graph :
Image

Pour ce qui est du lot, après réflexion je vais prendre un "lot Gémeaux". Mais (et d'où les guillemets), dans le cadre d'une démarche écoresponsable de protection de la biodiversité (je m'emporte peut-être un peu) je voudrais savoir s'il était possible de ne prendre que :
- La Ti-83 Premium CE EP au choix (est-ce que l'une d'entre elle est encore en 5.4 ? Sinon je prendrai la plus récente).
- Le cahier "Eyrolles : TI-83 Premium CE Edition Python - SNT" dans la partie Goddies Ti
Ceci afin d'éviter de prendre des goodies qui ne me serviront pas et qui feront d'ailleurs sûrement davantage plaisir à d'autres qu'à moi ?

Je voulais finir par un grand merci à toute l'équipe pour ce concours ! Je n'ose imaginer le temps que ça a du vous prendre pour organiser tout ça ;)
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
User avatar
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 8.1%
 
Posts: 1161
Images: 4
Joined: 08 Dec 2014, 17:38
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Ensimag
GitHub: MathisLav

Re: Concours de rentrée 2020 - défi Python du Léviathan

Unread postby critor » 05 Jan 2021, 20:55

Merci bien @Epharius. :)
J'ai bien noté que tu souhaitais une TI-83PCEEP en version 5.4, je verrai.

@Afyu, c'est enfin à toi, félicitations ! :bj:

Comment as-tu fait ?
Dans ton explication, on aimerait bien avoir entre autres :
  • le type de ton algorithme d'exploration (en profondeur, en largeur, récursif, itératif)
  • un diagramme représentation la réflexion de ton IA, tu as plusieurs exemples dans les réponses précédentes

Ensuite, que nous prends-tu ? Merci. :)
  • 1 lot Capricorne ♑ : 1 calculatrice Casio Graph 90+E + 1 pack de goodies Casio + 1 goodie Xcas + 1 pack de goodies TI-Planet & Planète Casio
  • 2 lots Bélier ♈ : 1 solution d'émulation Casio au choix + 1 catalogue de produits Casio au choix + 1 pack de goodies Casio + 1 goodie Xcas + 1 pack de goodies TI-Planet & Planète Casio
    Show/Hide spoilerAfficher/Masquer le spoiler
    Détail des solutions d'émulation Casio au choix :
    • clé USB 8 Go d'émulation permanente au choix, à jour avec 3 émulateurs pour Windows : fx-92+ Spéciale Collège + Graph 35+E II 3.30 + Graph 90+E 3.40
    • licence 3 ans utilisable pour l'installation de tout ou partie des logiciels d'émulation suivants :

    11617130221302313024


  • Lot Serpentaire ⛎ : 1 stylo HP + 1 goodie Xcas + 1 pack de goodies TI-Planète-Casio
    Show/Hide spoilerAfficher/Masquer le spoiler
    Poster HP : format 59,2×40 cm².

    9656


  • 2 lots Balance ♎ : 1 couvercle NumWorks au choix + 1 autocollant NumWorks + 1 enveloppe NumWorks ou carte postale NumWorks au choix + 1 pack de goodies NumWorks + 1 goodie Xcas + 1 pack de goodies TI-Planet & Planète Casio
    Show/Hide spoilerAfficher/Masquer le spoiler
    Couvercle NumWorks au nouveau format N0110 protégeant mieux l'écran contre les rayures, mais restant parfaitement utilisable sur l'ancien modèle N0100.

    1303613229130301302613027


  • Lot Taureau ♉ : 1 calculatrice TI-Nspire CX II-T CAS + 1 licence logiciel TI-Nspire CAS élève + 1 pack de goodies TI + 1 goodie Xcas + 1 pack de goodies TI-Planète-Casio
  • Lot Lion ♌ : 1 calculatrice TI-Nspire CX II-T + 1 licence logiciel TI-Nspire élève + 1 pack de goodies TI + 1 goodie Xcas + 1 pack de goodies TI-Planète-Casio
  • Lot Verseau ♒ : 1 calculatrice TI-83 Premium CE Edition Python + 1 gravure texte laser au choix + 1 adaptateur USB + 1 clavier USB dédié + 1 chargeur mural + 1 housse Wyngs au choix + 1 film de protection écran Wyngs dédiés + 1 extension de garantie 6 ans Calcuso + 1 pack de goodies TI + 1 pack de goodies TI-Planète-Casio
    Show/Hide spoilerAfficher/Masquer le spoiler
    Détail des calculatrices TI-Nspire CX II-T CAS au choix :
    • TI-Nspire CX II-T CAS sous blister version B
    • TI-Nspire CX II-T CAS sous blister version B avec autocollant sceau Comenius Edumedia 2019

    Détail des calculatrices TI-83 Premium CE Edition Python au choix pour le lot Gémeaux ♊ :
    • TI-83 Premium CE Edition Python sous blister version E
    • TI-83 Premium CE Edition Python sous blister version E avec autocollant masquant sceau Approuvé par les familles 2019

    La gravure au laser de la TI-83 Premium CE Edition Python du lot Verseau ♒ est effectuée par Calcuso. Le texte souhaité est à nous communiquer par le gagnant choisissant ce lot, dans la limite de 22 caractères et sans caractères spéciaux.

    1162413045116231182811827113251272411324130601305912281[13117131381309513096131021313613128


Détail des packs de goodies communs accompagnant les lots :
  • 1 cahier d'activités NumWorks SNT 2nde
  • 1 sac NumWorks au choix (N0100 versions 1.0-1.5, N0100 versions 1.6+, ou N0110)
  • 1 cahier NumWorks
  • 1 poster NumWorks au choix format A2 (42×59,4 cm²) :
    • NumWorks N0100 : Eduscol / Ministère de l'Education Nationale - roulé - brillant
    • NumWorks N0110 : Comprendre le monde devient un jeu - plié
  • 1 stylo NumWorks
13035130311304613047130481303213068130421303413033
  • 1 stylo TI au choix
  • 1 porte-documents TI
  • 1 poster TI plié au choix :
    • format 55,75×83,5 cm² : TI-Nspire CX, TI-Nspire CX CAS
  • 1 clé USB TI au choix :
    • clé USB T3 France bleue - 2 Go de capacité nominale
    • clé USB TI-Primaire Plus - 4,01759 Go de capacité réelle
    • clé USB TI-Innovator Rover - 4,01813 Go de capacité réelle
    • clé USB TI-83 Premium CE avec lanière - 4,01811 Go de capacité réelle
    • clé USB TI-83 Premium CE avec chaînette - 4,01811 Go de capacité réelle
    • clé USB TI rouge - 1 Mo de capacité nominale (promotion TI-Primaire Plus défectueuse)
  • 1 décalcomanie TI ou pochette CD TI au choix
  • 1 cahier TI-83 Premium CE au choix

Aperçus de quelques cahiers d'activités TI-83 Premium CE Python au choix:
117821306513066130671306213061130491305013044115331307413085130861308313084130771307813083130841307213070
1 autocollant Xcas
13228
  • 1 autocollant TI-Planet au choix
  • 1 autocollant Planète Casio
  • 1 compte premium TI-Planet
1161411615
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48.1%
 
Posts: 41993
Images: 15900
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Concours de rentrée 2020 - défi Python du Léviathan

Unread postby Afyu » 05 Jan 2021, 23:04

Mes IA sont grandement inspirées des exemples donnés par critor sur le forum et dont il reparle dans son explication, voir ici.

Ma première participation est l'IA de base, vide ou presque, qui choisit aléatoirement la corniche suivante.
Score 2 670, pourcentage de survie 7,42 %.


Ma deuxième participation est une IA très simple qui note le numéro de la porte si elle la croise et dès qu'on a également récupéré la clé, elle regarde si la porte est parmi les voisines, à chaque tour, pour y aller. Ce qui peut se représenter par le diagramme suivant :
Image

Score 3 106, pourcentage de survie 8,63 %.


Ma troisième participation est une IA qui note le numéro de la porte si on la croise ainsi que la liste des corniches visitées ensuite, jusqu'à trouver la clé. Si on trouve la clé, alors on re-parcourt la liste des corniches vues, dans l'ordre inverse (enfin, c'est ce que j'avais en tête mais une erreur dans mon IA fait qu'elle tente de les parcourir dans le même ordre et pas dans l'ordre inverse xD). De plus, si un danger est détecté, alors on retourne sur la dernière corniche visitée.
Score 5 746, pourcentage de survie 15,97 %.


Ma quatrième participation est une IA qui, en cas de danger, ne fait plus demi-tour aveuglément, mais qui tente d'aller sur une voisine de la corniche précédente.
Score 6 886, pourcentage de survie 19,13 %.


Ma cinquième participation est une IA qui adopte le même comportement prudent que la précédente mais en privilégiant les corniches pas ou peu vues et qui utilise pour cela un compteur des passages sur chaque corniche.
Score 6 879, pourcentage de survie 19,11 %. (un peu moins bien que la précédente)


Ma sixième participation est une IA qui, afin d'éviter de mourir d'épuisement lorsqu'elle ne trouve pas de corniche sûre à explorer, décide d'aller vers une corniche moins sûre lorsqu'on commence à tourner en rond. Cette solution est efficace sur ce point puisqu'elle évite toutes les morts par épuisement.
Score 7 074, pourcentage de survie 19,65 %.

Une modification du seuil de tolérance qui augmente la limite du nombre de passages avant d'explorer une corniche moins sûre permet de passer à
Score 7 819, pourcentage de survie 21,73 %.


Ma septième participation est une IA qui se met à aller chercher la clé lorsqu'elle est détectée parmi les voisines. En cas de détection de la clé, on commence par explorer les corniches sûres.
Score 9 329, pourcentage de survie 25,92 %.


Ma huitième participation est une IA qui élabore un vrai chemin permettant de parcourir toutes les voisines qui pourraient abriter la clé, en cas de détection. L'idée est d'aller vers une voisine qui pourrait abriter la clé, puis de revenir sur la corniche où il y a eu la détection pour la première fois, puis d'aller vers la voisine suivante et ainsi de suite, toujours en privilégiant les voisines sûres. De plus, le chemin qui permet d'aller de la clé à la porte (si on a déjà croisé la porte) est maintenant raccourci en évitant les boucles inutiles.
Score 10 713, pourcentage de survie 29,76 %.


Ma neuvième participation est une IA qui, pour l'élaboration de la liste des corniches sûres, ne prend pas uniquement en compte la corniche sur laquelle il n'y a aucune alerte, mais prend également en compte ses voisines (quand même, avoir oublié ça, c'est dingue !!).
Score 12 028, pourcentage de survie 33,42 %.

Pour les voisines sûres, on ne considère que celles qui ont été visitées un petit nombre de fois. La suppression de cette condition sur le faible nombre de visites permet de passer à
Score 12 847, pourcentage de survie 35,69 %.

Lorsqu'on construit le chemin vers la clé, en cas de détection de celle-ci, le fait d'aller à la première corniche du chemin dès que celui-ci est établi et sans attendre le tour suivant permet de passer à
Score 13 589, pourcentage de survie 37,75 %.


Ma dixième participation est une IA qui prend en compte le fait que le Léviathan soit mort ou non après avoir tiré la flèche. S'il est mort, alors on va sur la corniche qu'il gardait, sinon on fait demi-tour et on retourne sur la corniche précédente.
Score 14 660, pourcentage de survie 40,73 %.

Une participation presque identique mais qui rassemble deux conditions en une seule ligne permet de passer à
Score 15 787, pourcentage de survie 43,86 %.


Ma onzième participation est une IA qui gère un peu mieux la construction du chemin vers la porte si on l'a déjà croisée. Si on a récupéré la clé, alors on suit le chemin qui mène à la porte, sinon on construit ce chemin et on l'allonge avec chaque nouvelle corniche visitée jusqu'à avoir récupéré la clé. D'ailleurs le chemin est enfin construit dans le bon sens, contrairement à l'erreur qu'on traine depuis ma troisième participation. De plus, on fait enfin la liste des corniches sur lesquelles on vient de réveiller une chauve-souris (qui nous emmènera sans nous laisser le choix, si on repasse sur cette corniche).
Score 16 235, pourcentage de survie 45,1 %.

Le fait de mettre la construction de cette liste en fin de script permet de passer à
Score 16 150, pourcentage de survie 44,86 %.


À ce stade du défi, je décide de réécrire complètement mon script qui fait alors 175 lignes dont environ 90 lignes de code pour l'IA, entre def et parcourir_selon(ia).


Ma douzième participation est une IA entièrement réécrite et ça en valait la peine ! La gestion des listes par des listes a fait place à une gestion par des ensembles. En effet, les ensembles ne peuvent pas contenir de doublons. Ainsi, la suppression des doublons est automatique et ça évite de passer plusieurs fois par la même corniche, par exemple lorsque la clé est détectée et qu'on construit le chemin qui passe par toutes les corniches qui pourraient abriter la clé.
Grande nouveauté de cette IA : elle enregistre la liste des voisines pour chaque corniche visitée et garde ainsi en mémoire une vision bien plus complète de l'agencement du cratère. La liste des positions possibles comme impossibles pour le Léviathan comme pour les puits est également bien plus complète (il n'y toujours pas de liste des corniches cachant potentiellement un puits). Si la porte de sortie n'a pas encore été croisée, alors le choix de la corniche à visiter est fait en privilégiant les corniches sûres puis les corniches moins sûres et toujours en mettant en premier les corniches qui n'ont encore jamais été visitées, en gérant 8 niveaux d'exigeance quant aux dangers.
Il n'y a plus de demi-tour en cas de danger et le numéro de la précédente corniche visitée n'est même plus enregistré !
Ce script fait moins de 150 lignes dont environ 80 lignes de code pour l'IA, entre def et parcourir_selon(ia) (dont 10 lignes inutiles, qui ne mènent à aucune action et aucune modification de liste).
Score 18 948, pourcentage de survie 52,64 %.


Ma treizième participation est une IA qui fait la liste des corniches qui cachent potentiellement un puits. La liste des corniches abritant potentiellement le Léviathan est également bien mieux construite. Ces informations sont prises en compte lors de la construction du chemin vers la clé en cas de détection de cette dernière. La liste des corniches avec une chauve-souris réveillée est de nouveau en début de script.
Score 19 659, pourcentage de survie 54,61 %. On remarque que les morts par épuisement ont fait leur retour, massivement (donc ça tourne en rond trop souvent) !


Ma quatorzième participation est une IA qui prend enfin en compte l'existence d'un flèche mortelle pour le Léviathan !! Ainsi, lorsque la liste des corniches cachant potentiellement le Léviathan est courte et qu'une de ces positions possibles est parmi les voisines de la corniche actuelle, alors on tire la flèche ! De plus, si le Léviathan est touché mortellement, alors la liste des corniches abritant potentiellement le Léviathan est mise à jour (elle est en fait vidée).
Score 20 178, pourcentage de survie 56,05 %.

Le fait de ne tenter de tuer le Léviathan avec la liste de ses positions possibles qu'après plusieurs corniches visitées (afin d'éviter de considérer dès le départ que la liste des positions possibles est courte donc pertinente) fait passer à
Score 20 082, pourcentage de survie 55,79 %.


Ma quinzième participation est une IA qui fait la liste des positions possibles comme impossibles pour la clé, en fonction des informations de détection de cette dernière et qui utilise ces données pour déterminer les chemins les plus pertinents, en particulier pour construire le chemin vers la clé.
De plus, grande nouveauté : lorsqu'on a déjà croisé la porte et qu'on a récupéré la clé, le chemin pour revenir à la porte n'est plus simplement le chemin parcouru de la porte à la clé en supprimant les boucles, mais il est maintenant déterminé par une fonction qui tente de déterminer le plus court chemin entre la clé et la porte, en gérant plusieurs niveaux de danger tolérés et en commençant évidemment par les chemins les plus sûrs possibles. Cette recherche de chemin est itérative et parcourt le graphe en largeur (on cherche d'abord un chemin de longueur 2 en testant toutes les possibilités, puis, si nécessaire, on cherche un chemin de longueur 3 et ainsi de suite).
Score 21 301, pourcentage de survie 59,17 %.

Un changement du seuil de tolérance dans le nombre de passages permis sur une corniche avant qu'elle ne soit évitée permet de réduire à 0 le nombre de morts par épuisement et fait ainsi passer à
Score 22 197, pourcentage de survie 61,66 %.


Ma seizième participation est une IA qui améliore la recherche du chemin du retour vers la porte en cas de récupération de la clé en corrigeant une erreur : en effet, la précédente IA construisait un chemin qui commençait par aller sur la corniche sur laquelle on est déjà...
L'actualisation des positions possibles ou impossibles pour le Léviathan est maintenant faite en début de script pour l'ensemble des corniches du graphe, en prenant en compte les nouvelles liaisons entre corniches découvertes à chaque tour.
Autre petite amélioration : lorsqu'une chauve-souris nous emmène, son ancienne position est supprimée de la liste des corniches abritant une chauve-souris réveillée.
Score 22 640, pourcentage de survie 62,89 %.

De légères modifications dans la gestion des listes des positions possibles ou impossibles pour le Léviathan donnent
Score 22 675, pourcentage de survie 62,99 %.


Ma dix-septième participation est une IA qui gère maintenant 3 niveaux de danger pour la recherche du chemin du retour vers la porte après avoir obtenu la clé, contre seulement 2 niveaux de danger auparavant. Elle prend également en compte le fait d'être tout juste déposé sur une corniche par une chauve-souris.
Score 23 098, pourcentage de survie 64,16 %.

Avec une gestion de maintenant 4 niveaux de danger au lieu de seulement 3, on obtient
Score 23 057, pourcentage de survie 64,05 %.

Une légère amélioration de l'actualisation de la liste des positions possibles pour le Léviathan, ne prenant plus en compte les voisines des corniches sur lesquelles le Léviathan est détecté et prenant en compte seulement les voisines des voisines permet d'arriver à
Score 23 224, pourcentage de survie 64,52 %.


On peut voir dans la dernière version de cette dernière IA la trace d'une fonction qui cherche un chemin vers une corniche inconnue, une corniche qui n'a pas encore été visitée, mais les lignes qui font appel à cette fonction sont commentées. Un essai chez moi a donné une perte d'environ 3% de survie en utilisant cette fonction. C'est pourquoi je n'ai pas envoyé de participation qui y fait appel.

Voici le diagramme qui montre la manière dont ma dernière IA enregistre les données qu'elle collecte sur son environnement grâce aux informations données par le radar ainsi qu'un diagramme qui montre la manière dont elle agît et prend des décisions.
Image
Image

J'aurais pu :
  • améliorer la création du chemin vers la clé une fois cette dernière détectée
  • améliorer l'exploration du cratère et chercher à aller voir en priorité des corniches inconnues
  • améliorer la manière de considérer la détection du Léviathan (on ne s'occupe que des voisines des voisines) pour déterminer la liste de ses positions possibles
  • ajouter à mon code ce qu'il faut pour pouvoir le débugger...


J'allais oublier de parler de mes 3 dernières participations, qui sont au fond du classement.
La première est relativement intelligente et tente de chercher le danger et de faire le score le plus bas possible.
Score 1 477, pourcentage de survie 4,1 %.

La deuxième se contente de faire des allers et retours entre la corniche initiale (donc la corniche numéro 0) et la première voisine de cette corniche, jusqu'à épuisement. Je m'attendais à un score de 0 et 0 % de survie mais dans certains cas la clé est sur la corniche initiale et la porte est sur la première voisine, ce qui permet donc d'obtenir quelques succès, toujours en un seul déplacement.
Score 31, pourcentage de survie 0,09 %. :#tritop#:

La troisième commence par l'instruction a=1/0. Cette opération n'étant pas définie, c'est systématiquement une erreur (une exception) qui est renvoyée et qui donne alors
Score -3600, pourcentage de survie 0 %.

La création des diagrammes peut être fastidieuse, alors je vous mets les sources de mes diagrammes en pièces jointes. Les fichiers sont à renommer en .drawio et à ouvrir sur le site draw.io.

J'en profite pour remercier sincèrement toutes les personnes qui ont permis à ce concours d'être mis en place tout en proposant des défis intéressants et variés. Celui-ci était un peu déroutant au départ mais finalement passionnant ! Il présentait de nombreux défis, dont celui de s'auto-évaluer ! Merci ! :favorite: :D
You do not have the required permissions to view the files attached to this post.
Last edited by Afyu on 06 Jan 2021, 14:46, edited 1 time in total.
User avatar
AfyuVIP++
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 2.7%
 
Posts: 405
Images: 149
Joined: 30 Oct 2019, 19:17
Gender: Male
Calculator(s):
MyCalcs profile
Class: plutôt, oui :)

Re: Concours de rentrée 2020 - défi Python du Léviathan

Unread postby Afyu » 06 Jan 2021, 14:29

critor wrote:Ensuite, que nous prends-tu ? Merci. :)


Pour le lot, je souhaiterais :
1 lot Balance ♎ : 1 couvercle NumWorks édition de Novembre avec les vagues + 1 autocollant NumWorks + 1 carte postale NumWorks + 1 pack de goodies NumWorks + 1 goodie Xcas + 1 pack de goodies TI-Planet & Planète Casio
132291303013027

Pour les goodies :
  • 1 cahier d'activités NumWorks SNT 2nde
  • 1 sac NumWorks N0110
  • 1 cahier NumWorks
  • 1 poster NumWorks au format A2 (42×59,4 cm²) :
    • NumWorks N0110 : Comprendre le monde devient un jeu - plié
  • 1 stylo NumWorks
130311304813032130681303413033


1 autocollant Xcas
13228


  • 1 autocollant TI-Planet avec VIP
  • 1 autocollant Planète Casio
  • 1 compte premium TI-Planet que je donne volontiers à qui le voudra :)
1161411615
User avatar
AfyuVIP++
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 2.7%
 
Posts: 405
Images: 149
Joined: 30 Oct 2019, 19:17
Gender: Male
Calculator(s):
MyCalcs profile
Class: plutôt, oui :)

PreviousNext

Return to News Divers

Who is online

Users browsing this forum: ClaudeBot [spider] and 13 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.
1157 utilisateurs:
>1085 invités
>63 membres
>9 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)