Page 17 sur 57

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

Message non luPosté: 23 Nov 2020, 12:09
de cent20
J'ai un problème ...

Le test conditionnel :

Code: Tout sélectionner
if evenements & (2 * m_b):


ne semble jamais s'exécuter. J'ai mis un bon gros print dans ce test conditionnel, rien à faire je n'ai aucun affichage.

Code: Tout sélectionner
    if evenements & (2 * m_b):
        pangolin = 1
        print("="*42)
        print("\nvol en cours, pangolin = ", pangolin)
        # secret
        return None, 0


Je ne comprenais pas pourquoi ma variable globale pangolin ne prenait jamais la valeur 1, aussi j'ai placé le print ici sans succès.

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

Message non luPosté: 23 Nov 2020, 12:51
de critor
Peut-être une erreur dans l'exemple fourni.

C'est il me semble capteurs & 2*m_b pour détecter une chauve-souris prête à se saisir de toi au moindre mouvement.
Tu peux aussi en faire la liste toi-même, en retenant les corniches déjà visitées où tu avais détecté un capteurs & m_b.

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

Message non luPosté: 23 Nov 2020, 13:29
de cent20
critor a écrit:Peut-être une erreur dans l'exemple fourni.

C'est il me semble capteurs & 2*m_b pour détecter une chauve-souris prête à se saisir de toi au moindre mouvement.
Tu peux aussi en faire la liste toi-même, en retenant les corniches déjà visitées où tu avais détecté un capteurs & m_b.


Cela marche avec capteurs & 2*m_b, merci critor.

Les explications de l'article sont à corriger, et les fichiers webtest.py sont aussi faux.
Du coup j'ai encore gagné 2% :D

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

Message non luPosté: 23 Nov 2020, 15:29
de cent20
critor a écrit:Puisque vous avez été plusieurs à en parler, très légère modification de ma dernière IA, que nous allons surnommer la Batman.
Elle prend le contrôle mental des chauve-souris afin de se faire transporter directement sur n'importe quelle corniche souhaitée.
Le tout bien évidemment sans modification du script web.py, et sans écrasement de ses fonctions/variables.

Nous allons voir si cela donne une amélioration significative ou pas par rapport aux 76% de réussite d'origine, car les cas d'utilisation efficace sont très rares :
  • positions de chauves-souris connues
  • + destination précise connue (clé déduite, ou porte si clé ramassée)
  • + en prime chemin pour aller chercher une chauve-souris plus court que le chemin terrestre vers la destination

Le direct : :)
https://tiplanet.org/concours_rentree20 ... &invalid=1


On a le droit de lire le contenu de la variable rnd_seed dans notre fonction ia() ?
Je demande juste au cas où ...

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

Message non luPosté: 23 Nov 2020, 16:18
de critor
Moi, c'était juste par curiosité, pour savoir si c'était possible et voir dans quelle mesure cela permettait d'améliorer les performances, vu que vous avez été plusieurs à évoquer le piratage de chauves-souris et à diverses reprises.

Accéder directement en lecture/écriture à des éléments de web.py est interdit.
Sinon tant qu'à lire le rnd_seed, tu pourrais tout autant lire tout le contenu du graphe. :p

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

Message non luPosté: 23 Nov 2020, 17:58
de critor

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

Message non luPosté: 23 Nov 2020, 18:02
de critor

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

Message non luPosté: 24 Nov 2020, 14:16
de NeOtuX
Waouh, le sujet est vraiment SU-PER ! Le travail derrière est faramineux. Un travail de passionné.

J'ai commencé à me pencher dessus et mes premiers jets correspondent de façon assez surprenante aux itérations successives de l'IA de Critor. Pas toujours sous le même nom (J'avais "safe_way_back" à la place de "petit poucet" ou "shortest_safe_way_back" à la place de "grand poucet"), mais dans la progression des idées je suis vraiment étonné qu'on ait pu avoir un cheminement si similaire. Sans jamais envoyer de participation, j'avais l'impression que Critor lisait mon code avant d'en présenter les principaux préceptes sur ce topic. ^^

Je n'ai plus cette impression maintenant, car mon IA ne peut pas prétendre à la seconde place comme la sienne actuellement. J'espère trouver le temps d'aller plus loin !

Par contre j'ai rencontré quelques volcans sans solution. En particulier ceux où la clé et/ou la porte se trouvent sur des corniches impasses, dont la seule voisine est un puit ou une chauve-souris (ce dernier cas repose sur la chance). Je ne sais pas la proportion qu'ils représentent sur 100000 itérations de volcans à 36 corniches, par contre je sais qu'à 15 corniches le problème est assez fréquent pour faire une différence. Je vois que le débat sur la seed a déjà eu lieu et je comprends pourquoi elle doit changer. Une solution alternative serait d'assurer que la clé et la porte ne soient jamais sur une impasse voisine d'un puit.

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

Message non luPosté: 24 Nov 2020, 14:25
de NeOtuX
Un détail qui rend le problème croustillant : une corniche peut avoir plusieurs voisines puit. Ainsi lorsque la présence d'une voisine puit est signalée, avoir déjà déduit que l'une des voisines est un puit ne suffit pas à déduire que les autres n'en sont pas. Grrrrrr

Merci au passage à ceux qui fournissent les outils de test pour PC. J'ai du mal à imaginer comment je pourrais faire on calc! :)

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

Message non luPosté: 24 Nov 2020, 18:20
de critor
Bonsoir. :)

On commence la soirée avec 2 nouvelles IA du n°35. Le direct en simultané dès maintenant : ;)
https://tiplanet.org/concours_rentree20 ... &invalid=1