π
<-

Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Re: Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby cent20 » 28 Oct 2023, 09:13

Serait-il possible d'afficher sur la page concours2023.php le nom de l'équipe du participant ?
Je vais avoir besoin de récupérer ces données le 30/10, de savoir si mes élèves méritent leur bonus et s'ils sont bien dans notre équipe.

Un test semble très long :
2023-10-28, 10:05:34 cent20 ⏳ Running [cent20•froyo] vs. [カミーユ。•ia_c_01]
Lancé il y a plus d'une minute. Error/timeout finalement.

Le fait qu'on puisse désactiver "Affrontable par d'autres" pose un problème, à partir du moment ou tu teste ton IA, il n'y a pas de raison qu'on puisse à la fin des tests désactiver son IA et empêcher les adversaires de ce tester (ou de tester une nouvelle IA) face à cette IA. Si tu testes ton IA avec une autre IA, alors ton IA ne peut être désactivé / supprimé pendant x jours serait un comportement préférable.
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 Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby Afyu » 28 Oct 2023, 21:05

Image
Je trouve que je fais de très bons scores, depuis quelques minutes :D Avec une IA particulièrement redoutable.
:troll:
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 Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby critor » 29 Oct 2023, 07:31

ça me semble un peu extrême, non ? ;)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby SlyVTT » 29 Oct 2023, 07:37

Mais c’est efficace :troll:
Bravo Afyu :'D
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
User avatar
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 45.7%
 
Posts: 523
Images: 31
Joined: 19 Jan 2021, 09:41
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
GitHub: SlyVTT

Re: Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby critor » 29 Oct 2023, 08:44

Oui et donc, quelle est l'astuce exploitée pour empêcher la plupart du temps l'adversaire de marquer le moindre point ?
Je n'ai pas trop le temps de creuser ça dans l'immédiat.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby Afyu » 29 Oct 2023, 13:11

critor wrote:ça me semble un peu extrême, non ? ;)

À peine :D

SlyVTT wrote:Mais c’est efficace :troll:
Bravo Afyu :'D

Terriblement efficace, merci :D

critor wrote:Oui et donc, quelle est l'astuce exploitée pour empêcher la plupart du temps l'adversaire de marquer le moindre point ?
Je n'ai pas trop le temps de creuser ça dans l'immédiat.

Voici le code de cette IA :
Code: Select all
  def decide_coup(self):

    carte = None
    origine, destination = self.num_joueur, self.num_joueur

    if len(self.infos_joueur.main) < self.taille_main:
      # si on a moins de <taille_main> cartes en main, alors
      # on peut tirer une carte du <SABOT> et la rajouter a sa main
      origine = SABOT
      destination = self.num_joueur

    else:
      destination = SABOT
      origine = self.num_joueur
      carte = choice(self.infos_joueur.main)

    coup = c_coup(origine, carte, destination)

    return coup


Je me suis rendu compte que plus j'améliorais mes IA et plus leur score était mauvais, en particulier face à celles des élèves de cent20.
J'ai vérifié en remettant sur le ring ma toute première IA : Alice. Eh bien, surprise ! Elle se débrouillait bien mieux que mes autres IA pourtant plus abouties.
Je me suis demandé s'il n'y avait pas quelque chose d'étrange au niveau de l'évaluation des IA. Alors j'ai essayé avec l'IA proposée initialement pour le concours, l'ia_random. Elle se débrouille encore mieux que ma toute première IA. :thinking:
J'ai donc pensé que les scores étaient inversés et pour en avoir le cœur net j'ai codé une IA qui se contente de piocher puis de jeter une carte (mais choisie aléatoirement dans la main !! xD) et qui doit donc marquer exactement 0 point en posant exactement 0 km.
Et ça confirme ce que je pensais : les scores sont intervertis et mon IA qui marque 0 point se retrouve avec le score adverse et l'adversaire se retrouve toujours perdant avec 0 point, à tort.

Je veux bien que cette interversion soit corrigée, si vous voulez bien. Mes autres IA qui étaient jusque là de plus en plus mauvaises devraient finalement être, à l'inverse, de plus en plus efficaces. :)
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 Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby cent20 » 30 Oct 2023, 09:27

Je viens de comprendre que ton IA Afyu jetais les cartes du joueur actif, je croyais que tu réussissais à jeter les cartes du joueur adverse et ceci aurait expliqué pourquoi ils avaient 0 points. Je suis surpris qu'un bug tel que l'inversion du score soit réel, je n'ai pas constaté ce bug en local même si je suis un peu perturbé (en local) par le nom IA0 et IA1 alors que les IA ont un nom valablement déclaré par self.nom_joueur.

Pour l'instant on galère à évaluer en local les IA, tout a été prévu pour lancer les IA via une console, on procède ainsi :

Code: Select all
classes_joueurs = []
random_seed = -1

# si la plateforme le permet, lance la partie avec les IAs passees en parametre
# exemples de lignes d'appel :
# - duel entre 2 ia_rando
# - duel entre un joueur au clavier et ia_random : python kb.py ia_clavier ia_random

"""
Mettez l'IA que vous voulez évaluer en premier ci-dessous, c'est celle dont
vous verrez le jeu via le rendu graphique
"""

# ia_test = "ia_nsi_03","ia_nsi_00"

"""Pour évaluer des IA, il faut décommenter la ligne 14 ci-dessus """

try:
  import sys
  if not sys.platform in ("prizm", "nspire"): # any call to sys.argv makes KhiCAS immediately crash
    #noms_joueurs = sys.argv[1:]
    noms_joueurs = ia_test      #    ceci a été modifié
    for nom_joueur in noms_joueurs:
      try: random_seed = abs(int(nom_joueur))
      except: classes_joueurs.append(__import__(nom_joueur).c_joueur)
except: pass


Mais si vous avez mieux, on prend.

En particulier, on serait preneur d'un script qui enregistre les logs de la console dans un fichier txt. pour l'instant on debug au print MAIS on ne peut pas remonter tous les logs (il y en a trop)

Image
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 Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby cent20 » 30 Oct 2023, 09:34

Un de mes élèves me rapporte que :

- je galère à comprendre les logs qui ne sont même pas fait correctement (mon père témoigne et surtout apporte des preuves
- Ça n'affiche pas tout le temps l'état de l'ia
- Ça arrive que ça affiche l'état des 2 ia dans un même tour
- Et ça arrive que ça n'en affiche aucun

Il va venir vous en dire plus.
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 Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby Adriweb » 30 Oct 2023, 09:43

Quelques remarques/reponses:

- la récupération des erreurs, je vais peut être pouvoir faire quelque chose pour afficher au moins ce qui crashe.

- la récupération du groupe, ça devrait être faisable aussi sans trop de difficulté (puis affichage dans la liste <select> Du choix de l'adversaire), mais je pourrai pas m'en occuper avant le 6/7 novembre.

- les "inversions de scores", c'était évidemment pas si simple sinon on s'en serait rendu compte bien plus tôt (et vous autres aussi), mais une histoire de (non-)sort d'arrêt de fichiers à importer qui était pas déterministe... et qui est maintenant corrigé.

- pour les logs, bah euh je sais pas faut voir avec RapidZapper mais il me semble que ça met juste dans l'ordre dans le json final. On fournit ça "par convenience" hein, et logiquement ça comprend tout, on aurait très bien pu rien donner :P

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14744
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Unread postby thomas_s » 30 Oct 2023, 09:50

cent20 wrote:Un de mes élèves me rapporte que :

- je galère à comprendre les logs qui ne sont même pas fait correctement (mon père témoigne et surtout apporte des preuves
- Ça n'affiche pas tout le temps l'état de l'ia
- Ça arrive que ça affiche l'état des 2 ia dans un même tour
- Et ça arrive que ça n'en affiche aucun

Il va venir vous en dire plus.


Après rétro-ingénieuring du code (je n'ai aucun mérite), on a compris que :
- les logs n'affichent que les erreurs (il aurait été plus claire d'envoyer quand il y a un coup valide, cela aidera à suivre la partie uniquement avec les logs). A cause de cela, on voit des fois l'état d'un même joueur apparaître 2 fois, sans que l'on comprenne pourquoi.

- des fois la main à 6 ou 7 cartes (ce n'est peut-être pas un bug, mais on ne comprend pas pourquoi ce changement)

- les tours des joueurs ne sont pas clairement indiqué dans les logs et parfois (lorsque le coup invalide est une attaque) pour un même tour, les logs affichent les états des deux joueurs (voire plus ? Non testé), alors qu'on pourrait croire à deux tours différent.

- il aurait été bien de fournir plusieurs paramètres de logs : complet/debug (la moindre pioche, la moindre action, tous les états à chaque fois, etc.), erreurs uniquement.

Voili voilou (j'ai juste répondu car on m'avait engagé, vous faites ce que vous voulez évidemment 👍)
User avatar
thomas_s
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 0%
 
Posts: 5
Joined: 29 Oct 2023, 15:58
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Terminal General

PreviousNext

Return to News Divers

Who is online

Users browsing this forum: ClaudeBot [spider] and 8 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.
1251 utilisateurs:
>1239 invités
>5 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)