π
<-

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 cent20 » 18 Nov 2020, 18:51

Pour le défi Python du Léviathan

Chercher avec la couche graphique de LeGmask et évaluer avec citorva

Déprécié :
defi3.zip


Fonctionnel et commenté :
defi3_v2.zip


1. Dézipper le dossier.
2. Ouvrir dans votre IDE favori, Thonny par exemple, les fichier bench.py et web_test.py
3. Si vous exécutez le script web_test.py, vous pouvez visualiser le fonctionnement de votre IA sur la couche graphique TK, c'est pratique pour repérer un bug ou un script mal codé.
4. Si vous exécutez le script bench.py, vous simulez 1000 exécutions de ce script. C'est utile pour obtenir une évaluation rapide de votre IA et l'améliorer.

Image

Comment ajouter des variables :
- Les variables devront être ajoutées et initialisées dans la fonction init()
- Ceci est commenté dans le fichier web_test.py

C'est le fichier web_test.py que vous devez améliorer.

Vous pouvez aussi dans un premier temps participer juste en envoyant le fichier web_test.py, c'est l'IA de base.
A la date du 22/11/2020, il y a moins de participant que de lots. Envoyer le fichier web_test.py permet de se classer.
You do not have the required permissions to view the files attached to this post.
Last edited by cent20 on 22 Nov 2020, 11:17, edited 1 time in total.
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 » 18 Nov 2020, 23:09

Nouvelle IA du n°3. Voyons voir ses progrès ; direct dès maintenant : :)
https://tiplanet.org/concours_rentree20 ... &invalid=1
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.9%
 
Posts: 41980
Images: 15839
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 » 18 Nov 2020, 23:57

Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.9%
 
Posts: 41980
Images: 15839
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 » 19 Nov 2020, 12:32

Le numéro 3 renchérit avec une nouvelle IA. Le direct : :)
https://tiplanet.org/concours_rentree20 ... &invalid=1
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.9%
 
Posts: 41980
Images: 15839
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 » 20 Nov 2020, 12:25

Nouvelle IA du n°35. Voyons si elle bouleverse tout, en direct : ;)
https://tiplanet.org/concours_rentree20 ... &invalid=1
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.9%
 
Posts: 41980
Images: 15839
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 » 21 Nov 2020, 14:17

Petit indice pour ceux qui veulent aller encore plus loin. ;)

Vous pouvez faire appel à un langage de programmation logique comme Prolog, histoire de bien faire à chaque étape toutes les déductions positives ou négatives possibles sur l'ensemble du graphe.

En Python vous pouvez exécuter des scripts Prolog en important pyswip.
Il y a aussi la possibilité d'importer pylog, qui à la différence réimplémente totalement un équivalent de Prolog en Python.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.9%
 
Posts: 41980
Images: 15839
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 » 21 Nov 2020, 18:33

Nouvelle IA du n°10. Bon visionnage : :)
https://tiplanet.org/concours_rentree20 ... &invalid=1
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.9%
 
Posts: 41980
Images: 15839
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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

Unread postby Afyu » 21 Nov 2020, 20:51

Comme mise à jour du script eval.sh dont je parle dans mon commentaire p. 7, je propose le code suivant, qui ajoute un calcul du pourcentage des cas où on sort indemne du cratère, ainsi qu'un calcul du nombre moyen de déplacements alors effectués pour sortir.

Code: Select all
#! /bin/bash

if [[ ! "$2" ]]; then
  echo "usage: $0 <nb of simulations> <l?.py file num>" >&2
  exit 1
fi

base_file="l""$2"
script_file="$base_file"".py"
infos_file="$base_file"".txt"
timestamp="$(date +"%s")"
# First seed for the tests
base_seed="$2"
# Web size for the tests
web_size=36
# Web density for the tests
web_density=.05
# Pits density for the tests
pits_density=.1
# Bats density for the tests
bats_density=.15
# Number of tests
test_count="$1"
# Total time spent escaping
escape_time=0
# Number of successful escapes, falls in wells, leviathan mishaps, exceptions
escapes=0
well=0
leviathan=0
exception=0
lowpower=0

RANDOM=$base_seed

# Upper bound is the number of tests
for i in $(seq 1 $test_count); do
  percent=$(echo "scale=2; $i*100/$test_count" | bc)
#  echo -ne "\rseed: $i/$test_count ($percent%)..." >&2
  result=$(python3 "$script_file" $RANDOM $web_size $web_density $pits_density $bats_density 2>&1 >/dev/null)

  case "$result" in
    "win "*)
      escape_time=$(($escape_time+${result#* }))
      escapes=$(($escapes+1));;
    "well")
      well=$(($well+1));;
    "leviathan")
      leviathan=$(($leviathan+1));;
    "lowpower")
      lowpower=$(($lowpower+1));;
    "exception")
      exception=$(($exception+1));;
  esac
  if [[ "$escapes" > "0" ]]; then
  cat <<EOF > "$infos_file"
  $timestamp #date
  $test_count #total simulations
  $i #simulations
  $base_seed #seed
  $web_size #web size
  $web_density #web density
  $pits_density #pits density
  $bats_density #bats density
  $escapes #successes
  ($(($escapes*100/$i)) %)
  $(echo "scale=2; $escapes*100/$i" | bc -l) %
  $escape_time #successes total steps
  $(($escape_time/$escapes)) #average number of steps
  $leviathan #fails by Leviathan
  $well #fails by well
  $lowpower #fails by low power
  $exception #fails by exception
EOF
fi
done

printf "\r%40s\r" "" >&2


Pour le reste des instructions, je vous renvoie à mon commentaire p. 7.
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 critor » 22 Nov 2020, 00:19

Merci à toi, toujours aussi sympa avec tes concurrents. :)

Sinon, encore une nouvelle IA du n°10. Voyons voir de suite si il progresse : ;)
https://tiplanet.org/concours_rentree20 ... &invalid=1
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.9%
 
Posts: 41980
Images: 15839
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 » 22 Nov 2020, 00:33

Mais c'était sans compter sur la dernière IA du n°37 qui, si la tendance se confirme, semble faire un bond prodigieux ! :bj:
https://tiplanet.org/concours_rentree20 ... &invalid=1
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.9%
 
Posts: 41980
Images: 15839
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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.
922 utilisateurs:
>883 invités
>32 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)