π
<-

News 2024
October (12)
August (9)
July (10)
June (20)
May (14)
April (16)
March (7)
January (20)

News 2023
October (19)
August (14)
July (13)
June (21)
May (29)
April (24)
March (24)
January (24)

News 2022
October (23)
August (14)
July (15)
June (17)
May (31)
April (27)
March (28)
January (34)

News 2021
October (24)
August (37)
July (50)
June (32)
May (48)
April (61)
March (35)
January (34)

News 2020
October (17)
August (43)
July (43)
June (45)
May (60)
April (78)
March (36)
January (39)

News 2019
October (13)
August (18)
July (23)
June (28)
May (31)
April (26)
March (38)
January (37)

News 2018
October (13)
August (32)
July (23)
June (64)
May (63)
April (45)
March (43)
January (45)

News 2017
October (26)
August (39)
July (52)
June (88)
May (51)
April (43)
March (37)
January (33)

News 2016
October (25)
August (42)
July (34)
June (109)
May (55)
April (34)
March (37)
January (24)

News 2015
October (22)
August (56)
July (22)
June (94)
May (56)
April (32)
March (40)
January (21)

News 2014
October (26)
August (18)
July (23)
June (101)
May (57)
April (59)
March (54)
January (31)

News 2013
October (67)
August (50)
July (43)
June (193)
May (93)
April (102)
March (45)
January (50)

News 2012
October (64)
August (63)
July (53)
June (132)
May (88)
April (73)
March (57)
January (58)

News 2011
October (56)
August (31)
July (27)
June (71)
May (61)
April (32)
March (36)
January (24)

News 2010
October (11)
August (8)
July (14)
June (10)
May (3)
April (3)
March (1)

News 2009
August (3)
July (1)
June (2)
May (1)
April (2)
March (1)

Coque NumWorks Love Févier 2024 à gagner

New postby Admin » 08 Feb 2024, 01:43

18967Pour la troisième année consécutive, NumWorks te propose de gagner sa coque Love au mois de février.

Si l'édition 2023 avait juste repositionné le visuel, l'édition 2024 change la façon d'écrire la définition associée à la représentation graphique donnant la lettre O, passant curieusement à une écriture sous forme d'équation là où les autres lettres conservent une définition en écriture fonctionnelle :
189641896518966


Voici les liens de participation, n'hésite pas à tenter sur les différents réseaux pour maximiser tes chances :
Link to topic: Coque NumWorks Love Févier 2024 à gagner (Comments: 0)

Sortie émulateurs TI-SmartView CE 6.0.1 avec système 5.8

New postby critor » 02 Feb 2024, 10:28

1896218963Texas Instruments nous publie aujourd'hui des mises à jour 6.0.1 de ses logiciels TI-SmartView CE. Ces logiciels sont des émulateurs de calculatrices graphiques de la famille CE, et ont le gros avantage d'être taillés sur mesures pour la mutualisation via vidéoprojection en classe.

Plus précisément, nous passons de la version 6.0.0.2688 à la version 6.0.1.344.

Un petit changement concerne la stratégie de confidentialité. Le bouton dédié dans la boîte "à propos" précédente a changé de cible. L'adresse globale www.ti.com/legal/terms-conditions/privacy-policy.html y est remplacée par une adresse dédiée chez TI Education, education.ti.com/en/product-resources/datapolicy, traitant spécifiquement du cas des élèves et invoquant le cadre réglementaire européen RGPD, exactement comme avec la mise à jour 6.0.1 qui vient de sortir pour TI-Connect CE.

Mais un autre changement majeur concerne ici le système d'exploitation de la calculatrice émulée.
La publication précédente remontait à octobre 2022 et émulait une calculatrice faisant tourner un système en version 5.7 (5.7.0.0017).

Cela nous avait beaucoup surpris car il y avait pourtant eu une mise à jour 5.8.0 des calculatrices dès juin 2022.

Ce retard par rapport aux calculatrices avait de plus empiré suite à la sortie de la mise à jour 5.8.1 (décembre 2023)
18961
Et bien gros rattrapage, avec le dernier TI-SmartView CE le système d'exploitation de la calculatrice émulée passe en version 5.8.0 ! 👍


Téléchargements :
  • TI-SmartView CE 6.0.1 pour TI-83 Premium CE Edition Python Windows Mac
  • TI-SmartView CE 6.0.1 pour TI-84 Plus CE-T Python Edition Windows
  • TI-SmartView CE 6.0.1 pour TI-84 Plus CE Python Windows Mac
Attention, les émulateurs précédents nécessitent une licence payante, et n'offrent plus de période d'essai depuis leur version 6.0.

Pour bénéficier d'une période d'essai gratuite de 90 jours, il te faut installer et utiliser une ancienne version :
  • TI-SmartView CE 5.5 pour TI-83 Premium CE Edition Python Windows Mac
  • TI-SmartView CE 5.6 pour TI-84 Plus CE-T Python Edition Windows
  • TI-SmartView CE 5.6 pour TI-84 Plus CE Python Windows Mac

Sortie TI-Connect CE 6.0.1

New postby critor » 30 Jan 2024, 23:00

18955
Première bonne surprise de l'année 2024 chez Texas Instruments, le constructeur nous sort aujourd'hui une mise à jour de TI-Connect CE, le logiciel de connectivité dédié à ses calculatrices graphiques avec port USB et processeur 8 bits, soit entre autres les séries TI-82 Advanced, TI-83 Premium CE et TI-84 Plus CE.

Plus précisément nous passons de la version 6.0.0.2688 sortie le 20 septembre 2023 à la version 6.0.1.344 du 30 janvier 2024.

Nous avons creusé mais n'avons pas réussi à trouver de nouveautés.

Le seul et unique changement visible semble concerner la stratégie de confidentialité. En effet, le bouton dédié dans la boîte "à propos" précédente a changé de cible. L'adresse globale www.ti.com/legal/terms-conditions/privacy-policy.html y est remplacée par une adresse dédiée chez TI Education, education.ti.com/en/product-resources/datapolicy, traitant spécifiquement du cas des élèves et invoquant le cadre réglementaire européen RGPD.



Téléchargement : TI-Connect CE 6.0.1 pour Windows Mac
Link to topic: Sortie TI-Connect CE 6.0.1 (Comments: 0)

Classement individuel concours Python 1000 Bornes 2023-2024

New postby critor » 29 Jan 2024, 14:51


Voici enfin venu le jour tant attendu des résultats de la première phase de notre concours d'intelligence artificielle Python 1000 Bornes, c'est-à-dire le classement individuel.

Avant toute chose, nous tenons à remercier tous ceux qui ont rendu possible cet événement qui nous tenait à cœur :



Sommaire :





1) Les participant(e)s

Go to top

42 participants et participantes ont été au rendez-vous cette année, ayant fourni plus de 200 IA différentes à notre interface de duel en ligne.

J'inclus également ma propre IA, juste pour référence, et ne prendrai bien évidemment pas de lot. Cela fera donc 43 participations classées.




2) Les équipes

Go to top

Plusieurs participant(e)s ont fait le choix de participer en équipe. Nous comptons donc cette année 2 équipes :
  • nsi42 avec 14 membres : c'est l'équipe de Vincent Robert alias cent20 chez nous, enseignant en Mathématiques et NSI au Lycée Louis Pasteur à Avignon, et de ses disciples
    Le cri de victoire de l'équipe : "Choisir la spé NSI, réussir sa vie"
  • br.AI.n all.IA.ge avec 6 membres, regroupant notamment SlyVTT, TIny_Hacker, Afyu ainsi que plusieurs élèves de ce dernier
Comme il n'y a eu que 2 équipes, ces dernières sont donc automatiquement qualifiées sans classement pour la finale en équipe qui leur permettra de gagner l'un de nos superbes lots dédiés aux équipes.

Rappelons que la redistribution des divers éléments du lot entre les différents membres de l'équipe est de la responsabilité du chef d'équipe.

Les chefs d'équipe doivent donc s'organiser avec leurs membres pour nous fournir d'ici le dimanche 19 mai 2024 23h59 GMT+2 1 ou 2 IAs compatibles avec le format quadruel de la finale (combat à 2 contre 2). Il est possible aussi bien de fournir 2 IAs si par exemple elles sont censées adopter des comportements complémentaires très différents, que de fournir 1 seule IA qui sera alors instancié 2 fois.

Histoire que chaque IA puisse savoir si une autre IA est une alliée ou une ennemie, précisons que l'ordre des IAs sera toujours alterné entre les 2 équipes lors des tests d'évaluations :
python kb.py <IA1_equipeA> <IA1_equipeB> <IA2_equipeA> <IA2_equipeB>
Les IA alliées auront donc la même parité de numéro de joueur, et les IA ennemies des parités différentes.



3) Modalités d'évaluation

Go to top

Nous avons fait s'affronter les IA des différents participants dans le cadre de tournois.

En quoi consiste un tournoi ? Pour chacune des 43 IA, on lui fait affronter chacune des 42 autres IA. Chaque paire d'IA a ainsi droit à 2 duels, l'ordre des joueurs étant inversé entre les deux. Ceci nous donne donc 43×42=1806 duels par tournoi.

Pas moins de 888 tournois ont été organisés, pour un total donc de 888×1806=1'603'728 duels.

Les résultats des duels peuvent être téléchargés et sont accompagné du script de classement.




4) Classement individuel

Go to top

Le cas des équipes étant traité et l'évaluation étant présentée, passons maintenant enfin au classement individuel.

Attention, le concours étant toujours en cours, avec certains participants ou équipes concernés par les finales d'ici quelques semaines, nous faisons le choix de ne publier pour le moment qu'une partie des IA, afin de ne pas révéler d'informations de stratégie qui pourraient être utilisées contre eux en finale. Si toutefois les personnes concernées estiment qu'il n'y a aucun problème, il leur suffit de nous l'indiquer et nous rajouterons.
En dernier, nous avons les participants et participantes qui ont tenté de modifier l'IA fournie par défaut avec les scripts de participation (ia_random) mais ont commis des erreurs, produisant une IA se comportant moins bien, soit parce que prenant de mauvaises décisions de façon plus fréquente qu'avec l'aléatoire, soit parce que jouant des coups invalides ce qui revient à défausser la carte qui n'aurait pas dû être jouée.

Voici donc le classement déterminé selon la méthode Elo :
  • 43e avec 06,633 points : Liquefy2951 a opté pour iabete après 7 autres tentatives d'IA
  • 42e avec 16,258 points : fklv, à préciser ici que sa dernière IA soumise Remplaceur_artificiel comportait plusieurs erreurs, les plus évidentes (simples erreurs d'écriture ne nécessitant aucun codage de notre part) ont certes été corrigées, mais l'IA une fois fonctionnelle déclenchait de façon systématique des erreurs de manipulation de listes qui ont empêché son utilisation - et a donc été remplacée par son IA précédente ia_fcalva_0_1 qui pour sa part a marché après correction d'une petite erreur d'écriture d'une boucle pour
    En cas de victoire, l'IA s'écrit "Big brain time".
  • 41e avec 20,509 points : Tuper4 a opté pour Tupercartes après 4 autres tentatives d'IA
    En cas de victoire, l'IA t'enfonce le clou : "Tu per".
  • 40e avec 27,540 points : ledouble (équipe nsi42) a opté pour ia_ledouble_02 après 3 autres tentatives d'IA
  • 39e avec 28,535 points : Pecel (équipe nsi42) et son IA CouscousVolant73
  • 38e avec 31,056 points : Antoine emploi et son IA ia_perso1
    Lors de ses rares victoires, l'IA s'écrit "ahah ez", tout un mystère...
L'essentiel est d'avoir fait un effort, on les applaudit bien fort !

Juste devant, nous avons les candidats et candidates propulsés par ia_random, l'IA par défaut fournie avec les scripts de participation, soit parce qu'ils ont téléversé une IA équivalente en code à ia_random (par exemple après avoir remarqué que leur dernière modification d'IA se comportait moins bien que l'originale), soit parce qu'ils se sont inscrits sans fournir la moindre IA.

L'IA ia_random joue ses coups complètement au hasard, et si par miracle elle arrive à l'emporter elle t'expliquera que c'est parce que "Le hasard fait bien les choses".

Ces candidats et candidates ont donc fait le choix de s'en remettre entièrement au hasard, et voici ce que le hasard leur a offert comme classement :
  • 37e avec 31,920 points : Genesect qui a opté pour ia_random après 3 autres tentatives d'IA
  • 36e avec 31,976 points : V.d.c. et son IA Ia_vdc
  • 35e avec 31,994 points : DiMartino et son IA ia_random_dimartino
  • 34e avec 32,000 points : David Hooker et son IA DHAI
    En cas de victoire, l'IA se donne la peine de t'annoncer ta défaite : "#loooser".
  • 33e avec 32,002 points : Houd qui a opté pour Hoods_AI après 2 autres tentatives d'IA
    En cas de victoire, l'IA a la délicatesse de te présenter ses excuses : "Sorry :("
  • 32e avec 32,022 points : ZetaMap qui n'a fourni aucune IA et se voit donc attribué ia_random
  • 31e avec 32,022 points : briac210 et son IA fun
  • 30e avec 32,058 points : GRIFFON et son IA ia_randomluc
  • 29e avec 32,117 points : ggauny@live.fr qui a opté pour ia_random
  • 28e avec 32,122 points : ptijoz qui a opté pour test_origine après 1 autre tentative d'IA
  • 27e avec 32,150 points : M4x1m3 qui n'a fourni aucune IA et se voit donc attribué ia_random
L'important c'est de participer, alors merci à vous !

Juste au-dessus, nous avons enfin un participant qui a codé une ou plusieurs améliorations inédites par rapport aux scripts fournis :
  • 26e avec 32,193 points : Amerz (équipe br.AI.n all.IA.ge) qui a opté pour Foster après 8 autres IA portant également toutes de petits prénoms
    En cas de victoire, l'IA s'écrie "We are the champions".

Justement, parlant des scripts fournis, l'IA ia_random comportait un exemple d'amélioration sous la forme de code commenté, celui de jouer une carte feu vert lorsque l'on ne pouvait pas rouler et que l'on n'était pas sous l'effet d'une carte d'attaque.

Nous avons donc maintenant un candidat qui certes n'a rien codé pour son IA mais a malgré tout pris le soin de lire et activer cette amélioration :
  • 25e avec 32,219 points : Raphaël R (équipe nsi42) qui a opté pour ia_raph_rnd après 3 autres tentatives d'IA
Bravo pour cette malice !

Juste au-dessus, nous avons un autre participant ayant codé une ou plusieurs améliorations inédites :
  • 24e avec 34,242 points : Shacoh_ (équipe nsi42) qui a opté pour ia_shaco4 après 3 autres IA

Maintenant une petite série de candidats et candidates ayant fourni des IA extrêmement similaires si ce n'est identiques, si bien que nos scripts d'évaluation n'ont pas pu détecter de stabilisation de leur rang au classement.

C'est donc l'état en fin de tournoi qui est retenu, et bien évidemment leur classement s'apparente ici à un tirage au sort.

Voici déjà, 2 candidats qui ont fourni des IA équivalentes en terme de code :

Et voici maintenant 3 autres candidats partageant la même IA :
  • 21e avec 34,585 points : Sylvain_b (équipe nsi42) qui a opté pour ia_syl après 1 autre IA
  • 20e avec 34,643 points : RC06 (équipe nsi42) et son IA ia_rc_03
  • 19e avec 34,663 points : Kaïs.Mt (équipe nsi42) qui a opté pour ia_nsi_03 après 3 autres IA
Bravo à vous !

Les IA identiques étant maintenant passées, nous reprenons avec un classement entièrement basé sur le mérite :
  • 18e avec 34,743 points : N04H qui a opté pour ia_04_Noah après 7 autres IA
  • 17e avec 36,660 points : R0baiyn (équipe nsi42) qui a opté pour Pantheon après 2 autres IA
  • 16e avec 37,173 points : darklogel qui a opté pour newia3 après 4 autres IA
    En cas de victoire, l'IA s'écrie "yo le rap".
  • 15e avec 37,452 points : thomas_s (équipe nsi42) qui a opté pour dizzly_03 après 2 autres IA
    En cas de victoire, l'IA s'écrie "La Family S vaincra !!!"
  • 14e avec 37,778 points : Radalium (équipe nsi42) et son IA ia_radalium
  • 13e avec 37,781 points : ilyas.r (équipe nsi42) qui a opté pour ia_ilyas_r_3 après 2 autres IA
    En cas de victoire, l'IA s'écrie "La Family S vaincra !!!", ce qui nous rappelle étrangement quelque chose...
  • 12e avec 37,826 points : eragon qui a opté pour ia_eragonV04 après 2 autres IA
    En cas de victoire, l'IA s'écrie "YAY".
  • 11e avec 38,252 points : cent20 (équipe nsi42) qui a opté pour no_ia après 7 autres IA
  • 10e avec 38,478 points : Camille A (équipe nsi42) qui a opté pour ia_ca_07 après 9 autres IA, brillante élève qui vient donc de dépasser son maître cent20 !
  • 9e avec 39,676 points : Wistaro et son IA ia_wistaro
    En cas de victoire, l'IA fait preuve d'enthousiasme à l'idée de refaire une partie avec toi : "Je pourrais faire ca toute la journee!".
  • 8e avec 42,260 points : Oh11115 qui a opté pour Crisc_v1-1_ après 3 autres IA
    En cas de victoire, l'IA sait faire preuve de modestie : "AHAHAHAHAHAHAHAH Crisc est le meilleur ! (NON)".
  • 7e avec 43,965 points : TIny_Hacker (équipe br.AI.n all.IA.ge) qui a opté pour awesome_ai_1 après 12 autres IA
    Lors de ses nombreuses victoires, l'IA s'écrie "I guess it worked 🎉".
  • 6e avec 44,454 points : critor qui a opté pour Critor_ITE_v1 après 1 autre IA (cette participation n'est prise en compte que pour référence, je ne prendrai bien évidemment aucun lot)
    En cas de victoire l'IA te révèle un indice sur son fonctionnement : "Avec des si, moi j'embouteille les IAs !".
  • 5e avec 44,919 points : LaTaupe et son IA Deep_Thought_v0-8, après 5 autres IA.
    Une participation fort joliment nommée pour un concours d'IA soit dit en passant, même si la référence nous fait hésiter entre deux ordinateurs ayant hébergé une intelligence artificielle, un réel et un de fiction... Mais heureusement, en cas de victoire, l'IA s'empresse de lever le doute : "je crois que le probleme, pout etre tout a fait franc avec vous, est que vous n'avez jamais vraiment bien saisi la question".
  • 4e avec 45,211 points : NeOtuX (équipe br.AI.n all.IA.ge) qui a opté pour ia_Jander_Panell après 4 autres IA
    Cela n'empêche pas son évaluation car c'est exceptionnel (seulement 4 fois en 74588 duels), mais précisons qu'il arrive que cette IA déclenche des erreurs de dépassement de la pile d'appels récursifs, constaté fort étrangement uniquement dans le cadre de duels contre CouscousVolant73, et c'est bien la seule IA qui semble avoir été perturbée par cet adversaire. La partie ne pouvant aller jusqu'à son terme, les scores des 4 duels en question ont été ignorés.
    À chacune de sa belle collection de victoires, l'IA te donne un indice sur sa stratégie : "La victoire va à celui qui prend le plus de risques."

Nous arrivons donc maintenant au trio de tête :
  • 3e avec 45,224 points : SlyVTT (équipe br.AI.n all.IA.ge) qui a opté pour SLYnapse_v6-0 après 27 autres IA
    En cas de victoire soit très souvent, l'IA te révèle ses intentions cachées : "Je suis SLYnapse-6.0, l'IA qui va conquérir le monde !!! Ahhh Ahhh Ahhh !!!"
  • 2e avec 45,756 points : Afyu (équipe br.AI.n all.IA.ge) qui a opté pour Salvia après 20 autres IA
    Lors de ses nombreuses victoires, l'IA s'écrie "Et BIM, c'est qui le meilleur ?".
  • 1er avec 46,061 points : Yaya.Cout qui a opté pour 42_2-3 après 13 autres IA
    L'IA a donc ici passé son temps à s'écrier "What was the question ?".
Rappelons que ces trois derniers sont invités à améliorer leur IA jusqu'au dimanche 11 mars 2024 23h59 GMT+1, et s'affronteront alors lors d'un truel (combat à 3) pour un lot supplémentaire !

29 lots sont disponibles pour le classement individuel, et comme je ne prends pas de lot il pourra donc y avoir une récompense jusqu'au rang 30 inclus.

Dans le cadre de cette annonce, un remerciement tout particulier à Sébastien Michelland alias Lephe qui a codé les fonctions Elo utilisées.

Voici la sortie du script d'évaluation :
Code: Select all
$ python3 elo1.py tournoi1.json tournoi2.json tournoi5.json tournoi10.json tournoi20.json tournoi50.json tournoi100.json tournoi200.json tournoi500.json
Traitement des 1603724 duels...
[====================================================================================================] 100%
RANG  NOM             GROUP              IA                   INFOS (*)       SCORE   DUELS                  FREQUENCE
01    Yaya.Cout                          42_2-3                               46.061  37296 + 37296 = 74592  59.72% top1
02    Afyu            br.AI.n all.IA.ge  Salvia                               45.756  37296 + 37296 = 74592  46.43% top2
03    SlyVTT          br.AI.n all.IA.ge  SLYnapse_v6-0                        45.224  37296 + 37296 = 74592  23.42% top3
04    NeOtuX          br.AI.n all.IA.ge  ia_Jander_Panell                     45.211  37295 + 37293 = 74588  09.93% top4
05    LaTaupe                            Deep_Thought_v0-8                    44.919  37296 + 37296 = 74592  09.85% top5
06    critor                             Critor_ITE_v1                        44.454  37296 + 37296 = 74592  08.59% top6
07    TIny_Hacker     br.AI.n all.IA.ge  awesome_ai_1                         43.965  37296 + 37296 = 74592  08.48% top7
08    Oh11115                            Crisc_v1-1_                          42.260  37296 + 37296 = 74592  08.37% top8
09    Wistaro                            ia_wistaro                           39.676  37296 + 37296 = 74592  06.54% top9
10    Camille A       nsi42              ia_ca_07                             38.478  37296 + 37296 = 74592  06.49% top10
11    cent20          nsi42              no_ia                                38.252  37296 + 37296 = 74592  04.66% top11
12    eragon                             ia_eragonV04                         37.826  37296 + 37296 = 74592  04.50% top12
13    ilyas.r         nsi42              ia_ilyas_r_3                         37.781  37296 + 37296 = 74592  03.56% top13
14    Radalium        nsi42              ia_radalium                          37.778  37296 + 37296 = 74592  03.56% top14
15    thomas_s        nsi42              dizzly_03                            37.452  37296 + 37296 = 74592  03.23% top15
16    darklogel                          newia3                               37.173  37296 + 37296 = 74592  03.20% top16
17    R0baiyn         nsi42              Pantheon                             36.660  37296 + 37296 = 74592  03.15% top17
18    N04H            nsi42              ia_04_Noah                           34.743  37296 + 37296 = 74592  02.11% top18
19    Kaïs.Mt         nsi42              ia_nsi_03            (3)             34.663  37296 + 37296 = 74592
20    RC06            nsi42              ia_rc_03             (3)             34.643  37296 + 37296 = 74592
21    Sylvain_b       nsi42              ia_syl               (3)             34.585  37296 + 37296 = 74592
22    TonioBG         br.AI.n all.IA.ge  Maria                (2)             34.515  37296 + 37296 = 74592
23    Paul emploi                        azerty               (2)             34.511  37296 + 37296 = 74592
24    Shacoh_         nsi42              ia_shaco4                            34.242  37296 + 37296 = 74592
25    Raphaël R       nsi42              ia_raph_rnd          ia_random# (1)  32.219  37296 + 37296 = 74592
26    Amerz           br.AI.n all.IA.ge  Foster                               32.193  37296 + 37296 = 74592
27    M4x1m3                             ia_random            ia_random (0)   32.150  37296 + 37296 = 74592
28    ptijoz                             test_origine         ia_random (0)   32.122  37296 + 37296 = 74592
29    ggauny@live.fr                     ia_random            ia_random (0)   32.117  37296 + 37296 = 74592
30    GRIFFON                            ia_randomluc         ia_random (0)   32.058  37296 + 37296 = 74592
31    briac210                           fun                  ia_random (0)   32.022  37296 + 37296 = 74592
32    ZetaMap                            ia_random            ia_random (0)   32.022  37296 + 37296 = 74592
33    Houd                               Hoods_AI             ia_random (0)   32.002  37296 + 37296 = 74592
34    David Hooker                       DHAI                 ia_random (0)   32.000  37296 + 37296 = 74592
35    DiMartino                          ia_random_dimartino  ia_random (0)   31.994  37296 + 37296 = 74592
36    V.d.c.                             Ia_vdc               ia_random (0)   31.976  37296 + 37296 = 74592
37    Genesect                           ia_random            ia_random (0)   31.920  37296 + 37296 = 74592
38    Antoine emploi                     ia_perso1                            31.056  37296 + 37296 = 74592
39    Pecel           nsi42              CouscousVolant73                     28.535  37293 + 37295 = 74588
40    ledouble        nsi42              ia_ledouble_02                       27.540  37296 + 37296 = 74592
41    Tuper4                             Tupercartes                          20.509  37296 + 37296 = 74592
42    fklv                               ia_fcalva_0_1                        16.258  37296 + 37296 = 74592
43    Liquefy2951                        iabete                               06.633  37296 + 37296 = 74592
(*) Infos sur les IAs :
chiffre = IA identique pour plusieurs participations
1 = "ia_random" founie avec l'amélioration précodée activée
0 = "ia_random" fournie


Et un énorme merci à tous ceux et celles qui ont été au rendez-vous pour participer cette année.

Rendez-vous maintenant pour la finale individuelle après le dimanche 11 mars 2024 ainsi que pour la finale en équipe après le dimanche 19 mai 2024. Nous attendons du grand spectacle, ne nous décevez pas ! ;)

Injection d'un jeu Snake via ROP hackstring sur fx-991CN X

New postby critor » 25 Jan 2024, 07:53

18410Rentrée 2004, Casio révolutionnait les calculatrices scientifiques avec sa nouvelle gamme ES, déclinée à l'international avec les fx-82/85/350ES pour l'entrée de gamme et fx-570/991ES pour le haut de gamme. Il fallut attendre la rentrée 2007 pour une déclinaison en France avec la fx-92 Collège 2D.

Cette nouvelle génération de calculatrices scientifiques innovait en effet en se dotant d'un écran matriciel comme c'était l'usage sur les calculatrices graphiques, d'une définition de 96×31 pixels. Ce changement de technologie d'écran s'accompagnait de deux nouveautés majeures :
  • la possibilité de saisir les calculs en écriture naturelle
  • ainsi qu'un moteur de calcul QPiRac, permettant de communiquer des résultats exacts pour les deux familles de nombres suivantes :
    • QPi : multiples rationnels de π -
      $mathjax$\pm\frac{a\pi}{b}$mathjax$
      (pour les angles en radians notamment)
    • QRac : binômes de rationnels et/ou radicaux -
      $mathjax$\frac{\pm a\sqrt{b} \pm c\sqrt{d}}{f}$mathjax$
      (ce qui couvre un large ensemble allant des fractions du collège aux racines de polynômes du 2nd degré au lycée en passant par nombre de valeurs remarquables en trigonométrie)

96 pixels en largeur donc, cela nous disait quelque chose... c'est ce que nous avions sur les calculatrices graphiques monochromes de Texas Instruments à l'époque, à savoir les TI-82/83/84 avec 96×64 pixels, toujours utilisé aujourd'hui sur la TI-82 Advanced monochrome. C'est-à-dire que l'écran fx-92 Collège 2D correspondait à un demi-écran TI-82/83/84.

Et Casio est loin de s'être arrêté là, attisant de plus en plus nos rêves :
  • génération ES+ pour la rentrée 2008, avec la fx-92 Collège 2D+ en France
  • génération EX Classwiz pour la rentrée 2014, avec en France la fx-92 Spéciale Collège à la rentrée 2015 et fx-92+ Spéciale Collège à la rentrée 2018, quadruplant la définition de l'écran à 192×63 pixels, désormais très supérieur à ce que les calculatrices graphiques monochromes offraient de meilleur, à savoir les 128×64 pixels des Casio Graph 25/35/75/85/95
  • génération CW Classwiz pour la rentrée 2022, avec en France la fx-92 Collège Classwiz de rentrée 2023, passant l'écran en 4 niveaux de gris

Du côté des utilisateurs passionnés de calculatrices, on se prenait en effet déjà dès 2004 à rêver à de grandes choses avec ce fort bel écran... Et si on pouvait exécuter du code afin de faire afficher ce que l'on voulait sur l'écran, notamment des dessins ou même des jeux, comme on pouvait déjà le faire sur calculatrices graphiques justement ?

Certes, depuis la fx-92+ Spéciale Collège de rentrée 2018, Casio nous offre enfin des calculatrices scientifiques programmables, dans un langage orienté tracers à la Scratch/Logo/Turtle. En France nous pouvons donc enfin exploiter les formidables capacités de l'écran, et contrôler l'allumage de ses pixels.

Deux petits bémols toutefois :
  • ces possibilités ne concernent que les modèles fx-92 qui ne sont distribués qu'en France et en Belgique, plus précisément :
    • la France depuis la fx-92+ Spéciale Collège de rentrée 2018
    • la Belgique depuis la fx-92 Secondaire de rentrée 2023
    dans tout le reste du monde, les calculatrices Casio scientifiques restent non programmables
  • de plus, concernant les derniers modèles CW Classwiz fx-92 Collège Classwiz et fx-92 Secondaire de rentrée 2023, malheureusement les programmes que tu saisis n'ont aucun contrôle sur les niveaux de gris des pixels, ne permettant que de les allumer en noir

18411Donc comment fait-on pour programmer en mémoire des données et/ou du code sur les modèles non programmables ?

Une possibilité est d'utiliser une des failles du logiciel Casio pour nous permettre ensuite d'écrire des données ou du code en mémoire.

Une méthode est de corrompre le moteur de saisie en écriture naturelle, afin d'obtenir une ligne avec une boîte vide tout seule. En théorie la boîte vide seule est impossible à obtenir, car elle est toujours lié à un opérateur faisant occuper plus d'une ligne de saisie (quotient de fraction, puissance, racine carrée, ...).

Les étapes connues à ce jour permettant cela nécessitent d'enchaîner 2 calculs, le premier déclenchant la corruption et le deuxième permettant de récupérer la boîte vide. Sauf que l'on ne peut pas taper les calculs l'un après l'autre, car la saisie intermédiaire changerait justement l'état de la machine obtenu suite au premier calcul. Il faut donc saisir les 2 calculs sur la même ligne, grâce à l'opérateur : présent sur toutes les machines de générations ES et CW Classwiz.

Tu vas vite voir, rappelons la façon de faire sur les calculatrices de génération EX Classwiz dont la fx-92 Spéciale Collège :
  1. Reproduis exactement la saisie suivante :
    Image Image
  2. Tape
    CALC
    pour évaluer le premier calcul (avant les deux points).
    Si tu as tout saisi correctement, signe de la corruption, la calculatrice va passer en écriture ligne :
    Image
  3. Tape
    EXE
    pour évaluer maintenant le deuxième calcul (après les deux points).
    Tu obtiens une erreur de syntaxe à cause de la boîte vide dans la racine :
    Image
  4. Tape
    pour éditer la saisie.
    La calculatrice nous rappelle la saisie mais toujours en écriture ligne, avec, anomalie, le caractère boîte vide qui ne devrait pas pouvoir être saisi dans ce mode d'affichage :
    Image
  5. Et voilà, en navigant avec les touches
    et
    , il te te reste maintenant plus qu'à supprimer avec la touche
    SUPPR
    les caractères présents avant et après la boîte vide :
    Image Image Image

Et voilà, maintenant avec une saisie dans cette boîte vide tu peux déclencher des écritures de données ou code machine. Ces saisies pour boîte vide sont appelées hackstrings dans la communauté Casio anglophone.

Pour concevoir une hackstring, il est nécessaire de connaître les codes hexadécimaux des différents caractères ou jetons (tout élément insécable) de la calculatrice, que nous t'avons justement documentés.
Attention, précisons que cette faille a été corrigée sur les modèles de dernière génération CW Classwiz, dont les fx-92 Collège Classwiz et fx-92 Secondaire.

En effet, Casio a tout simplement supprimé la possibilité de juxtaposer plusieurs calcul dans une même saisie. Le caractère : est toujours présent au clavier, notamment pour l'application tableur, mais ne peut plus être saisi dans l'application de calcul.

En pratique toutefois, les formidables possibilités ouvertes par la boîte vide que nous te documentions dès la rentrée 2018, n'ont pas donné grand chose jusqu'à ce jour.

Il faut dire que les contraintes ne sont pas rares :
  • Casio utilisant un logiciel différent pour chacun des très nombreux modèles de calculatrices scientifiques à chaque génération, une publication de saisie pour la boîte vide ciblerait un modèle bien précis, et devrait donc être adaptée pour d'autres modèles
  • d'autre part, il y a une grosse difficulté hexadécimale ; n'avons que 108 jetons pouvant être saisis dans la boîte vide documentées pour les fx-92 Spéciale Collège, et nombre d'entre eux occupent 2 octets, ce qui est bien trop peu pour avoir la possibilité d'injecter librement en mémoire des octets pouvant nécessiter jusqu'à 256 valeurs différentes
Pour cette dernière raison, les publications de hackstrings pour boîte vide ont jusqu'à présent ciblé les modèles haut de gamme fx-570/991, ayant l'avantage de bénéficier d'une bibliothèque de constantes physiques ainsi que d'un convertisseur d'unités, et donc en pratique de bien davantage de jetons différents permettant d'augmenter très significativement le nombre de valeurs différentes d'octets pouvant être injectés en mémoire.

18413Mais les choses s'accélèrent ces derniers temps, et la programmation des calculatrices Casio compatibles hackstrings atteint un niveau jamais vu.

Dans une actualité précédente, nous te présentions une hackstring pour fx-570ES+ (même génération que la fx-92 Collège 2D+) affichant un dessin plein écran par répétition d'un gros motif.

贴吧用户_QQR3MM4 vient de repousser les limites techniques sur sa fx-991CN X (même génération que les fx-92 Spéciale Collège).

Via une hackstring, il a littéralement injecté dans la mémoire de la calculatrice un jeu écrit dans le langage machine du processeur nX-U8/100n de la calculatrice, Snake soit le jeu du serpent.

Plus précisément, le code prend le contrôle de la pile d'exécution via la technique d'attaque ROP.

Le programme se décompose en plusieurs segments (code machine, données) qui sont ici à écrire chacun à des adresses mémoire bien précises, alors que l'adresse d'écriture du code débordant d'une hackstring n'était jusqu'à présent pas contrôlable.

贴吧用户_QQR3MM4 a résolu le problème en concevant également un mini programme copiant un certain nombre d'octets lui faisant suite à une adresse spécifiée, adapté d'un éditeur mémoire également conçu en ROP par EwTE_H pour le même modèle.

Il faut donc du courage pour jouer, pas moins de 1208 octets rien que pour le code principal, à saisir à chaque exécution.
Attention toutefois, ce programme a été conçu spécifiquement pour la fx-991CN X ; il est très probable qu'il ne fonctionnera pas sans modifications sur un autre modèle Casio même dans la même génération EX Classwiz.

Il faut de plus une fx-991CN X munie de la version C du système, mais là c'est moins un problème dans le sens où il s'agit de la dernière version sortie par Casio et donc la plus facile à trouver.

Source : https://tieba.baidu.com/p/8873639356

-
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.
867 utilisateurs:
>810 invités
>49 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)