π
<-

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 Afyu » 26 Dec 2020, 15:47

cent20 wrote:
Afyu wrote:
Code: Select all
def fusion(liste1,liste2):
    return list(set(liste1+liste2))

En détaillant un peu plus :

Code: Select all
def fusion(liste1,liste2):
    # fusion sans doublon des listes liste1 et liste2
    liste3=liste1+liste2 # on concatène les deux listes
    liste3=set(liste3) # on transforme la liste3 en ensemble, ce qui supprime les doublons   
    liste3=list(liste3) # on retransforme la liste3 en une liste   
    return liste3


Effectivement, cela est très astucieux. As-tu une version sans utiliser set ?

Je ne vois pas autre chose que ce que tu as utilisé, mais éventuellement avec une liste définie en compréhension.
Code: Select all
def fusion(liste1,liste2):
    # fusion sans doublon des listes liste1 et liste2
    liste3=liste1+[k for k in liste2 if k not in liste1]
    return liste3

Sinon, on peut toujours concaténer les deux listes puis supprimer les doublons, mais ça me semble moins pertinent et moins simple à faire.
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 cent20 » 26 Dec 2020, 18:02

Afyu wrote:Je ne vois pas autre chose que ce que tu as utilisé, mais éventuellement avec une liste définie en compréhension.
Code: Select all
def fusion(liste1,liste2):
    # fusion sans doublon des listes liste1 et liste2
    liste3=liste1+[k for k in liste2 if k not in liste1]
    return liste3

Sinon, on peut toujours concaténer les deux listes puis supprimer les doublons, mais ça me semble moins pertinent et moins simple à faire.


C'est bien cette rédaction que je cherchais. Merci. Je viens de vérifier que tout modification ultérieure de la liste1 ne modifie pas la liste3.
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.3%
 
Posts: 1047
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 » 26 Dec 2020, 22:44

Le diagramme de CrimsonDeus : :)
Image

Pour rappel, son explication :
CrimsonDeus wrote:Hello tout le monde ! Tout d'abord un grand merci pour ce concours. Le problème est bien pensé et amusant, l'interface d'évaluation a la classe et l'organisation s'est bien déroulée. Ça a dû demander pas mal de boulot donc mes félicitations aux organisateurs.

D'après ce que je comprend j'ai le droit d'écrire un pavé donc je vais d'abord vous parler de mes IAs qui ont fait 4%, 90.5%, 90.8% et 93.7% puis brièvement des autres IAs qu'on aurait pu faire. Mais avant ça je pense que ce qui m'a le plus aidé pour gagner ce concours est de suivre un minimum de coding guidelines afin d'avoir du code stable, facilement debuggable et évolutif. J'ai cherché à éviter les effets de bords en évitant les variables globales. J'ai cherché à rendre le code flow clair à suivre en structurant avec des classes pythons et en limitant la longueur de mes fonctions. J'ai cherché à faire porter du sens à travers le nommage en choisissant des noms de variables plus ou moins clairs et concis selon leur scope. Cela m'a permis de rapidement développer mon IA et d'y ajouter mes nouvelles idées avec un minimum d'effort.

Pour commencer ma première participation était une IA troll pro Léviathan :P En vrai c'est une IA modifiée de mon IA gagnante qui cherche à nourrir le plus possible le Léviathan. Elle va même jusqu'à éviter si possible la clé et surtout ne pas prendre la sortie si jamais elle a la clé. Son comportement est très proche de mon IA gagnante donc je ne vais pas développer plus mais elle a été autant optimisée que mon IA gagnante pour nourrir le Léviathan. Elle obtient un très joli score de 87% de mort par Léviathan.

L'IA que je considère gagnante de ce concours est mon IA à 90.5%. Pour chaque appel elle commence par récolter et déduire de l'information sur le labyrinthe puis elle cherche la prochaine action à faire selon qu'elle cherche la clé, qu'elle cherche la sortie ou cherche à aller à la sortie déjà connue.
La récolte d'informations se fait lorsqu'on explore une nouvelle corniche. On garde les informations sur une chauve-souris et sur la proximité avec la clé, le Léviathan ou un puits pour chaque corniche explorée. Puis on cherche à faire des déductions sur l'ensemble de l'information récoltée sur le labyrinthe. Par exemple, si une corniche explorée n'est pas à proximité d'un puits alors toutes ses voisines ne sont pas des puits Ensuite si une corniche à proximité d'un puits n'a plus qu'une seule voisine pour laquelle on n'est pas sûr d'avoir un puits et qu'aucune voisine est déjà un puits, alors cette voisine est un puits. Cela permet de détecter une partie des puits en explorant des corniches qui ne sont même pas toujours voisines du puits. Un autre exemple avec le Léviathan : si une corniche explorée est à proximité du Léviathan et qu'on a exploré toutes ses voisines, alors le Léviathan se trouve forcément dans les voisines des voisines que l'on connaît. On peut alors déduire que toutes les autres corniches n'ont pas le Léviathan. Un dernier exemple de déduction : si on a déterminé où se trouve la clé sans l'avoir encore récupéré, alors cette corniche n'est forcément pas un puits (et s'il y avait un puits de toute façon on aurait perdu mais le code de construction du labyrinthe empêche ce cas de figure).
Quand le Léviathan est détecté, on le tue avec la flèche si on l'a encore.

Selon que l'IA cherche à trouver la clé, aller à la clé, trouver la sortie ou aller à la sortie, le processus n'est pas le même mais les outils de raisonnement sont les mêmes. Le but est à chaque fois d'aller soit sur une corniche particulière comme celle avec la clé ou la sortie que je vais nommer corniches objectives, soit d'aller à une corniche inexplorée. On commence par chercher à aller sur les corniches objectives sûres en utilisant un chemin sûr c'est-à-dire sans chauve-souris. L'algorithme utilisé est itératif et en largeur ce qui permet d'avoir le plus court chemin sûr vers la corniche objective la plus proche. Si on ne trouve pas de chemin (ou qu'on n'a pas de corniches objectives parce qu'on cherche la sortie par exemple) alors on cherche à aller sur une corniche sûre inexplorée avec un chemin sûr. Déjà cette IA en répondant de manière aléatoire le reste du temps permet d'avoir un score au-dessus de 75%.

Lorsqu'on n'a pas de chemin sûr vers une corniche objective ou inexplorée, il faut choisir d'aller à la corniche la plus intéressante parmi les corniches accessibles. Pour cela on donne un score ou une probabilité de survie pour chaque corniche. Pour les corniches explorées sans chauve-souris le score est 1. Pour un puits le score est 0. Pour une corniche contenant possiblement le Léviathan, avec n le nombre de corniches avec possiblement le Léviathan, et m le nombre moyen de voisines et voisines de voisines d'une corniche, on prend le max entre 1 / nb et 1 / m.
J'ai fait un calcul plus compliqué pour la probabilité d'un puits. Voici la probabilité qu'une voisine soit un puits en fonction de la densité d des puits sans prendre en compte le reste des informations du labyrinthe. La probabilité d'avoir k puits avec n voisines est A(k,n)=(1-d)^(n-k)*d^k*Cb(k,n) avec Cb le coefficient binomial. S'il n'y a pas de puits identifié alors on cherche la probabilité d'avoir k puits sur n voisines sachant qu'on a au moins un puits : B(k,n)=A(k,n)/(1-A(0,n)). Ensuite la probabilité qu'une voisine soit un puits est C=Sum(k=1..n, B(k,n)) ce qui se simplifie en C=d/(1-(1-d)^n). S'il y a déjà un puits identifié alors la probabilité qu'une voisine soit un puits est simplement la densité d. Cela donne une formule assez sympa. Elle vérifie l'intuition que si par exemple on a deux voisines possiblement avec un puits alors la probabilité n'est pas 50% pour chaque voisine mais 50% + quelque chose pour prendre en compte le cas où on aurait non pas un puits mais deux puits.
Ensuite pour donner la probabilité d'un puits à une corniche, j'ai décidé de prendre la moyenne des probabilités que c'est un puits d'après ses voisines. La dernière étape d'optimisation de mon IA a montré que mon calcul n'était pas incroyable. Ce serait peut-être plus intéressant de calculer formellement la probabilité de puits en prenant en compte tout le labyrinthe exploré voir en incluant les probabilités d'avoir la clé vu qu'il ne peut pas y avoir de puits là où il y a la clé. Il y a peut-être un gentil prof de math pour m'éclairer.

On a maintenant une probabilité de survie pour chaque corniche et on sait qu'aucune corniche objective ou inexplorée sûre n'est accessible avec un chemin sûr. Pour l'ensemble des corniches objectives (non sûres du coup) accessibles avec un chemin sûr, on détermine celle avec la meilleure probabilité de survie. On fait de même avec les corniches inexplorées (non sûres également). Pour l'instant on choisit simplement de suivre la corniche avec la meilleure probabilité. Avec cela l'IA fait un score dans les 86% environ.
Au lieu d'explorer les corniches accessibles, on peut aussi tenter de voyager en chauve-souris pour espérer accéder à une corniche plus intéressante. Mais c'est assez difficile de déterminer quand c'est intéressant de le faire et ne donne pas forcément de gain significatif sur le score tel quel.
C'est un peu bête de mourir alors qu'on avait encore sa flèche. On détermine donc la corniche accessible inexplorée avec la meilleure probabilité de survie dans le cas où le Léviathan n'y serait pas. Si cette probabilité est supérieure aux autres candidats alors on tire la flèche vers cette corniche. Si elle tue le Léviathan on est très content. Sinon on sait au moins que cette corniche n'a pas le Léviathan. Cette optimisation permet d'atteindre un score d'environ 89%.

Lors de la prise de décision pour choisir entre aller vers une corniche non sûr ayant possiblement la clé ou une corniche non sûr inexplorée ou aller sur une corniche avec une chauve-souris par exemple, on utilise leurs probabilités de survie. On fait une pondération de ces probabilités avec des paramètres. Changer ces paramètres permet par exemple de privilégier une corniche non sûre avec la clé par rapport à une corniche non sûre inexplorée. On pondère aussi quelques éléments du calcul de probabilité de survie des corniches avec des paramètres notamment celui de la probabilité d'avoir un puits. L'objectif est maintenant de trouver un ensemble de paramètres qui optimise le score.
On utilise un simple algorithme génétique pour trouver le meilleur ensemble de paramètres. Pour cela il faut pouvoir calculer le score assez rapidement c'est-à-dire faire plein de simulations rapidement. J'ai donc modifié le code du déroulement de la partie pour le rendre thread safe afin de faire un grand ensemble de simulations de manière multithreader. Chez moi 100000 simulations prennent moins de 2min à tourner. J'ai ensuite lancé mon algo génétique pour trouver les meilleurs paramètres pendant toute une nuit. Il a probablement fait dans les 25 millions de simulations. En vrai l'algo génétique sature assez vite et continue de gagner que par la variation dans les mesures (qui est assez importante avec le générateur aléatoire de python). C'est ainsi que mon IA arrive au score de 90.5%.

Maintenant si vous êtes toujours là à me lire, mon IA à 90.8% est mon IA précédente tout en utilisant la prédiction de la prochaine corniche par une chauve-souris. Le "fix" du générateur aléatoire permet de déterminer trivialement la prochaine corniche par une chauve-souris en appelant tout simplement une seule fois rnd(). En quelques heures mon algo génétique n'a pas eu le temps de beaucoup tourner donc peut être que l'IA aurait pu atteindre 91%.
Vu cette exploitation, c'est pour cela que pour moi l'IA gagnante du concours est celle à 90.5%. J'ai d'ailleurs été très transparent dans toutes mes participations en expliquant toute tentative de contrôle ou d'exploitation des chauves-souris dans mes mails et en commentaire du code et en encourageant leur évaluation avec un tag invalide.

Lorsque Pavel a lancé son IA à 92.5%, j'ignorais s'il avait juste fait mieux ou s'il contrôlait les chauves souris. Mais 2% de plus c'est quand même beaucoup surtout que les derniers pourcentages sont les plus durs à avoir. J'ai donc envoyé en toute transparence dans mon mail une IA qui contrôle les chauves-souris. La fonction rnd() se fait craquer en 0.3s en moyenne chez moi. C'est dans la limite des 20s mais ça explique pourquoi, comme celle de Pavel, son évaluation prend du temps. C'était pas trivial de modifier mon IA gagnante pour utiliser au mieux les chauves-souris. D'ailleurs c'est une IA très flemmarde qui préfère faire un vol en chauve-souris que même se déplacer d'une corniche de plus sur un chemin sûr. C'est pourquoi cette IA a un trajet moyen de 24 alors que mon IA gagnante a un trajet moyen de 28. Après l'optimisation de mon algo génétique, cette IA atteint un score de 93.7%. Dans le cas où elle rate son contrôle de chauves-souris, elle fait autour de 50%. Au moins cette IA a forcé un fix du générateur aléatoire. J'ai juste peu apprécié qu'on mette en doute cette IA et non celle à 92.5% (au vu de l'écart de scores) et qu'on parle de suspicion de contrôle de chauves-souris alors que tout est explicitement dit dans mes mails. Mais finalement les organisateurs ont fait du très bon boulot en réagissant rapidement et en faisant une passe finale.

Toujours là à me lire ? Parlons brièvement des IAs qu'on aurait pu avoir. On aurait pu aller plus loin que le contrôle des chauves-souris. Les générateurs congruentiels linéaires peuvent non seulement être craqués facilement mais en plus on peut calculer toutes les valeurs précédemment générées ce qui représente une énorme faille de sécurité. On aurait donc pu créer une IA qui détermine toutes les valeurs utilisées pour créer le labyrinthe et ainsi déterminer tout le labyrinthe et cela avant même de faire un premier pas dedans. On aurait eu une IA avec un score de quasiment 100%. Le fix qui a été fait le dernier jour empêche le contrôle de chauves-souris mais n'empêche pas ce cas de figure. Évidemment cela casse le jeu parce qu'on remplace un joli problème d'IA par un petit problème de hacking contrairement au contrôle des chauves-souris.
Un autre problème du générateur aléatoire rnd() est que la seed prend qu'environ 64000 valeurs différentes. Cela signifie que sur 100000 simulations on repasse par les mêmes 64000 labyrinthes au lieu des milliards et plus labyrinthes différents. On aurait donc pu créer une IA qui apprend spécifiquement à bien se comporter sur ces 64000 labyrinthes (tout en étant peu performante sur les milliards et plus autres). Je pense donc qu'utiliser par exemple dans python une instance de la classe Random() du module random est préférable.
Une vraie idée d'amélioration est d'utiliser un algorithme d'apprentissage plus poussé qu'un simple algorithme génétique pour déterminer des meilleures probabilités de survie dans mon IA gagnante et/ou une meilleure prise de décision. Je pense à des algorithmes supervisés pour les probabilités de survie et des algos classiques de reinforcement learning pour une meilleure prise de décision (du DQN peut-être).

En espérant que ce pavé n'a pas été trop dur à lire, je souhaite encore remercier l'organisation et les participants pour ce chouette concours et vous souhaite de joyeuses fêtes.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
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 critor » 28 Dec 2020, 10:49

Le fameux poster NumWorks avec @Pims / @qabosse / @antalpilipili (sais pas pourquoi elle a changé tant de fois de compte Twitter) et ses collègues d'EPS est définitivement épuisé.

Bien. Félicitations @Pavel. :bj:

Merci déjà pour ton explication. :)

Dans tous les cas un gros merci pour tous tes efforts sur ce concours cette année, la bonne ambiance que tu as contribué à mettre en place avec tes divers outils et aides apportés à tes concurrents ! :favorite:
Mais quelle abnégation ! :bj:

On espère que tu vas prendre ton lot hautement mérité cette fois-ci. ;)
Les mots rien, nada, que dalle, nothing, nichts et niente sont interdits dans ta réponse, ainsi que l'emploi de toute forme négative. :p
Donc, que nous prends-tu ? ;)
  • 2 lots 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 goodie HP au choix + 1 goodie Xcas + 1 pack de goodies TI-Planète-Casio
    Show/Hide spoilerAfficher/Masquer le spoiler
    Poster HP : format 59,2×40 cm².

    130389656


  • 2 lots Sagittaire ♐ : 1 calculatrice NumWorks N0110 + 1 pack de goodies NumWorks + 1 goodie Xcas + 1 pack de goodies TI-Planet & Planète Casio
  • 3 lots Balance ♎ : 1 couvercle NumWorks au choix + 1 autocollant NumWorks + 1 enveloppe NumWorks ou carte postale NumWorks ou carte de visite-énigme 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.

    116491303613229132301303013026130271302813029


  • 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 au choix + 1 housse Wyngs bleue ou 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.

    116241304511623118281182711325127241132413060130591228113140[13117131381309513096131021313613128


Détail des packs de goodies communs accompagnant les lots :
  • 1 manuel NumWorks au choix (N0100 ou N0110)
  • 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 N0100 : Eduscol / Ministère de l'Education Nationale - roulé - mat
    • NumWorks N0100 : Xavier Andréani / TI-Planet - roulé - dédicacé
    • 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 ANSI-D (55,9×86,4 cm²) : TI-73 Explorer
    • format A1 (59,4×84,1 cm²) : TI-89 Titanium
    • 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 autocollant TI ou décalcomanie TI ou pochette CD TI ou lunettes 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:
11782130651306613067130641306313062130611304913050130431304411533130561307413085130861308713088130811308213073130831308413077130781308313084130721306913070
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: 47.5%
 
Posts: 41980
Images: 15737
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 Pavel » 28 Dec 2020, 11:36

Merci de m'avoir encouragé à prendre un lot!

J'ai vu qu'il est parfois possible de négocier le contenu d'un lot. Je voudrais savoir s'il est possible de remplacer Casio Graph 90+E par Casio FX-92+ dans le lot Capricorn.
User avatar
PavelPremium
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 83.6%
 
Posts: 107
Joined: 19 Sep 2018, 10:50
Gender: Male
Calculator(s):
MyCalcs profile

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

Unread postby critor » 28 Dec 2020, 12:59

Merci pour ta réponse.

Et oui, elle est chouette la fx-92+ Spéciale Collège, il y a beaucoup à faire/créer autour. ;)
Je n'ai qu'une seule fx-92+ Spéciale Collège et j'en ai besoin, mais on peut sûrement se débrouiller pour t'en obtenir une si c'est ton choix, bien évidemment neuve. :)
Et outre la calculatrice, tu choisis quoi pour les goodies ?
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
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 CaptainLuigi » 28 Dec 2020, 13:25

Juste pour savoir , si un participant se débarrasse d'une calculatrice, elle va à qui? Au participant d'après , ou a personne ?
Do you like 80s'/90s' music genres, like synthwave or italodisco (even though my music genre is ... a mix of a lot of ones)
If so, check my YouTube channel 😃 : https://youtube.com/@Manerr
User avatar
CaptainLuigiAmbianceur
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 38.9%
 
Posts: 86
Joined: 04 Dec 2019, 12:36
Gender: Male
Calculator(s):
MyCalcs profile
Class: BTS SIO almost done
YouTube: Manerr

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

Unread postby critor » 28 Dec 2020, 13:39

Si tu parles de Pavel, je n'appelle pas vraiment ça se débarrasser, il prend une autre calculatrice à la place, calculatrice qu'il faudra bien récupérer d'une façon ou d'une autre.

Les goodies étant très limités cette année, il nous est difficile de rajouter des lots.
Même pour les 2 NumWorks rajoutées à ce défi, on a dû demander une expédition spécifique de goodies supplémentaires à NumWorks tellement on était limite.

Donc je dirais que la calculatrice est conservée pour un prochain concours ou événement (concours de rentrée 2021 ou avant). Ou retournée au constructeur si celui-ci nous lit et la réclame.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
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 Pavel » 28 Dec 2020, 14:28

critor wrote:Je n'ai qu'une seule fx-92+ Spéciale Collège et j'en ai besoin, mais on peut sûrement se débrouiller pour t'en obtenir une si c'est ton choix, bien évidemment neuve. :)
Et outre la calculatrice, tu choisis quoi pour les goodies ?

Super! Merci!

Si ce n'est pas trop compliqué pour vous de faire ce remplacement, je prendrais le lot Capricorn avec Casio fx-92+ Spéciale Collège et les goodies suivants:
  • stylo Casio au milieu de la photo
  • clé USB Casio 4,018 Go
  • Function Hero Episode 2 : Emi
  • autocollant Xcas
  • autocollant TI-Planet sans VIP
User avatar
PavelPremium
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 83.6%
 
Posts: 107
Joined: 19 Sep 2018, 10:50
Gender: Male
Calculator(s):
MyCalcs profile

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

Unread postby ptijoz » 28 Dec 2020, 16:10

La mienne casio FX 92 spéciale collège va parvenir à critor en janvier (si pas de confinement...)
Un peu poète, un peu geek, un peu rêveur, un peu écolo.
https://joz.alwaysdata.net/info/
User avatar
ptijoz
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 34.2%
 
Posts: 334
Images: 0
Joined: 17 Oct 2018, 15:38
Location: France Loir et Cher
Gender: Male
Calculator(s):
MyCalcs profile
Class: a la poursuite du vent et des etoiles.

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.
845 utilisateurs:
>787 invités
>51 membres
>7 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)