Concours de rentrée 2020 - défi Python du Léviathan
Re: Concours de rentrée 2020 - défi Python du Léviathan
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
-
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)- Posts: 4501
- Images: 18
- Joined: 07 Nov 2014, 00:43
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Concours de rentrée 2020 - défi Python du Léviathan
critor wrote:Merci.
Je suis sincèrement désolé, le poster demandé est épuisé, il ne m'en reste même plus pour moi.
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 !
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.
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
-
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)- Posts: 1050
- Images: 67
- Joined: 17 May 2012, 09:49
- Location: Avignon
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: nsi_xyz
Re: Concours de rentrée 2020 - défi Python du Léviathan
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
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é.
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
-
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)- Posts: 1050
- Images: 67
- Joined: 17 May 2012, 09:49
- Location: Avignon
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: nsi_xyz
Re: Concours de rentrée 2020 - défi Python du Léviathan
@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 :
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...
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...
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41993
- Images: 15900
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: Concours de rentrée 2020 - défi Python du Léviathan
Le poster N0100 – Eduscol/MEN 2018 - roulé mat - format A2 fera l'affaire. Merci.
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
-
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)- Posts: 1050
- Images: 67
- Joined: 17 May 2012, 09:49
- Location: Avignon
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: nsi_xyz
Re: Concours de rentrée 2020 - défi Python du Léviathan
Bien, merci.
@Epharius, félicitations à toi aussi.
Comment as-tu fait ?
Dans ton explication, on aimerait bien avoir entre autres :
Ensuite, que nous prends-tu ? 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
- clé à capuchon Transcend 2019 (7,5 Go de capacité réelle)
- clé monolithique EMTEC 2020 (7,7 Go de capacité réelle)
- licence 3 ans utilisable pour l'installation de tout ou partie des logiciels d'émulation suivants :
- 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
- 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². - 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. - 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.
Détail des packs de goodies communs accompagnant les lots :
Aperçus de quelques cahiers d'activités TI-83 Premium CE Python au choix:
- 1 stylo Casio au choix
(stylo EX-Word épuisé) - 1 clé USB Casio au choix :
- clé USB Casio fx-CP400+E - 4,019 Go
- clé USB Casio - 4,018 Go
- 1 batterie USB Casio
- 1 histoire intégrale imprimée du manga Casio Academy - ClassWiz Edition - Function Hero - épisode 1, 2 ou 3 au choix - 5 pages ci-dessous + page de fin secrète :
- Episode 0 : Kaito (pour référence)
- Episode 1 : Takuma
- Episode 2 : Emi
- Episode 3 : Azusa
- 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
- 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:
- Eyrolles : TI-83 Premium CE Edition Python - 2nde Générale + Technique - Mathématiques extrait ou intégral au choix
- Eyrolles : TI-83 Premium CE Edition Python - SNT
- Eyrolles : TI-83 Premium CE - BAC Pro - Mathématiques + Physique-Chimie
- Eyrolles : TI-83 Premium CE - 2nde - ICN
- Eyrolles : TI-83 Premium CE - 2nde + 1ère - ICN
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41993
- Images: 15900
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: Concours de rentrée 2020 - défi Python du Léviathan
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 :
Et si vous avez des questions ou si je n'ai pas été clair n'hésitez pas !
Voilà la graph :
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
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).
Et si vous avez des questions ou si je n'ai pas été clair n'hésitez pas !
Voilà la graph :
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
Unis par la flèche sacrée de cupidon
-
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 1161
- Images: 4
- Joined: 08 Dec 2014, 17:38
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Ensimag
- GitHub: MathisLav
Re: Concours de rentrée 2020 - défi Python du Léviathan
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 !
Comment as-tu fait ?
Dans ton explication, on aimerait bien avoir entre autres :
Ensuite, que nous prends-tu ? Merci.
J'ai bien noté que tu souhaitais une TI-83PCEEP en version 5.4, je verrai.
@Afyu, c'est enfin à toi, félicitations !
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
- clé à capuchon Transcend 2019 (7,5 Go de capacité réelle)
- clé monolithique EMTEC 2020 (7,7 Go de capacité réelle)
- licence 3 ans utilisable pour l'installation de tout ou partie des logiciels d'émulation suivants :
- 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
- 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². - 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. - 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.
Détail des packs de goodies communs accompagnant les lots :
Aperçus de quelques cahiers d'activités TI-83 Premium CE Python au choix:
- 1 stylo Casio au choix
(stylo EX-Word épuisé) - 1 clé USB Casio au choix :
- clé USB Casio fx-CP400+E - 4,019 Go
- clé USB Casio - 4,018 Go
- 1 batterie USB Casio
- 1 histoire intégrale imprimée du manga Casio Academy - ClassWiz Edition - Function Hero - épisode 1, 2 ou 3 au choix - 5 pages ci-dessous + page de fin secrète :
- Episode 0 : Kaito (pour référence)
- Episode 1 : Takuma
- Episode 2 : Emi
- Episode 3 : Azusa
- 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
- 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:
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41993
- Images: 15900
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: Concours de rentrée 2020 - défi Python du Léviathan
Mes IA sont grandement inspirées des exemples donnés par critor sur le forum et dont il reparle dans son explication, voir ici.
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.
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 !
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 :
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.
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 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 !!).
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 à
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 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.
Une participation presque identique mais qui rassemble deux conditions en une seule ligne permet de passer à
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).
Le fait de mettre la construction de cette liste en fin de script permet de passer à
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
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).
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 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).
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 à
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.
De légères modifications dans la gestion des listes des positions possibles ou impossibles pour le Léviathan donnent
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.
Avec une gestion de maintenant 4 niveaux de danger au lieu de seulement 3, on obtient
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 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.
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 %.
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 alorsScore -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 !
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.
-
AfyuVIP++
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 405
- Images: 149
- Joined: 30 Oct 2019, 19:17
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: plutôt, oui :)
Re: Concours de rentrée 2020 - défi Python du Léviathan
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
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
-
AfyuVIP++
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 405
- Images: 149
- Joined: 30 Oct 2019, 19:17
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: plutôt, oui :)
Who is online
Users browsing this forum: ClaudeBot [spider] and 13 guests