07:03 <discord_afpy_> <lythari59> matin
07:03 <discord_afpy_> <lythari59> encore un pas trop compliqué aujourd'hui 🙂
07:03 <discord_afpy_> <lythari59> <debnet> Ah ah, encore une fois tout le monde a une solution différente.
07:03 <discord_afpy_> <lythari59> => je te rejoins c'est ça qui est intéressant.
07:03 <discord_afpy_> <lythari59> Merci à tous pour vos partages.
07:07 <discord_afpy_> <lythari59> j'aime bien l'approche numpy, je le pratique pas assez pour y penser mais c'est puissant ! gg
07:32 <entwanne> j'ai l'impression d'avoir prévu trop compliqué aujourd'hui, je croyais qu'un couple (a, b) n'apparaissait pas nécessairement dans les règles et qu'il fallait opérer par transitivité
07:32 <entwanne> alors qu'en fait a priori tous les couples sont présents
07:48 <Mindiell> bon courage, j'ai déjà abandonné moi :)
07:48 <Mindiell> Je tiens pas le coup sur des trucs quotidiens. Trop d'à côtés...
08:24 <discord_afpy_> <lythari59> <entwanne> j'ai l'impression d'avoir prévu trop compliqué aujourd'hui
08:24 <discord_afpy_> <lythari59> => que aujourd'hui ?? 🙂
08:24 <discord_afpy_> <lythari59> J'avoue j'ai pas forcément pensé à ce cas mais je pense que ma solution est résiliente à ce genre de considération, je vais tester.
08:25 <entwanne> de ce que j'ai regardé de ton code je suis pas sûr, pour chaque paire j'ai l'impression que tu as besoin qu'elle existe dans les règles
08:26 <entwanne> mais sinon ouais j'ai tendance à imaginer que le puzzle est plus tordu que l'exemple et que toutes les règles implicites de l'exemple n'en sont pas et seront contredites dans le puzzle
08:26 <entwanne> c'est souvent ce qui arrive dans les jours d'après
08:27 <discord_afpy_> <lythari59> j'ai testé et tu as raison.
08:27 <discord_afpy_> <lythari59> en plus j'ai commit un get sans default value donc ça marche même pas si je retire une paire.
08:27 <discord_afpy_> <lythari59> bien vu !
08:44 <discord_afpy_> <lythari59> j'ai vu ton code entwanne, c'est hyper smart, c'est complexe mais pas compliqué.
08:44 <discord_afpy_> <lythari59> aurais-tu utilisé pairwise au lieu de combinaison si tu ne voulais pas prévoir les paires manquantes et la transitivité ?
08:44 <discord_afpy_> <lythari59>
08:44 <discord_afpy_> <lythari59> Pour le tri par contre est-ce résilient à l'absence de certaines paires ? J'ai un doute
08:44 <discord_afpy_> <lythari59> Mon tri l'est (par contre la vérification d'ordre ne l'étant pas ça ne traite pas la bonne liste).
08:45 <entwanne> Oui je pense que j'aurais utilisé pairwise sinon
08:45 <entwanne> Et pour le tri je ne suis pas sûr, j'ai voulu faire un tel système de score en me disant "bon ça peut marcher, pas sûr, on verra"
08:46 <entwanne> mais si j'avais su que chaque paire était présente je serais resté sur la solution initiale à laquelle j'avais pensé pour la P2 : un tri à base d'une fonction cmp(a, b) (functools.cmp_to_key) qui renvoie -1 si a est avant b et 1 si a est après
08:49 <discord_afpy_> <lythari59> j'ai inverse mon all() en not any() et là je pense que c'est "transitif" et résilient au fait qu'une paire ne soit pas présente et qu'un ordre soit déduit par transitivité (si a < b et b < c alors a < c)
08:49 <discord_afpy_> <lythari59> j'ai testé light en retirant des paires choisies, mais dur de maîtriser tout le jeu de données pour pas casser un truc ^^.
08:52 <discord_afpy_> <lythari59> tu as déjà check_update(rules, [a,b]) pour ta fonction de comparaison en castant True = -1, false = 1
08:53 <entwanne> y a une différence entre all et not any ?
08:56 <entwanne> Ah mais oui y en a une, désolé c'est le matin… all([True]) et any([True]) valent tous les deux True…
08:56 <discord_afpy_> <lythari59> je passe de si TOUT : chaque nombre est avant dans une paire avec tous les autres (ce qui sera faux si une paire est manquante)
08:56 <discord_afpy_> <lythari59> a NOT UN DES AUTRES est avant toi
08:56 <discord_afpy_> <lythari59>
08:56 <discord_afpy_> <lythari59> donc avec 1,2,3,4
08:56 <discord_afpy_> <lythari59> et pas de paire 1,3
08:56 <discord_afpy_> <lythari59> le premier va dire 1 n'est pas avant 3 donc False.
08:56 <discord_afpy_> <lythari59> le second va dire aucune paire n'est mal placée (1 est avant 2 et 2 est avant 3 je n'ai pas à comparer 1 et 3)
08:56 <discord_afpy_> <lythari59>
08:56 <discord_afpy_> <lythari59> faudrait que je créée un petit jeu de données pour bien valider c'est assez abstrait.
08:56 <alain_afpy> WARNING !!! YAKAFOKON DETECTED !!!!
08:56 <discord_afpy_> <lythari59> oui alain_afpy, on lui dira.
08:58 <entwanne> Je pense que pour autant tu as besoin que les paires existent (peut-être pas toutes mais au moins certaines)
08:58 <discord_afpy_> <lythari59> "désolé c'est le matin"
08:58 <discord_afpy_> <lythari59> j'ai failli répondre la même
08:59 <entwanne> Si on a des règles pour dire "1|3" et "2|4", et uniquement celles-ci, est-ce que ton code considèrera bien "1,2,3,4" comme valide et "4,3,2,1" comme invalide ?
08:59 <discord_afpy_> <lythari59> j'ai besoin que ça soit solvable en effet. je considère qu'on a assez de paire pour dire OUI ou NON et qu'il n'y a pas de résultats ambigü ou incertain.
08:59 <discord_afpy_> <lythari59> Mais si j'ai 1>2 et 2>3 je n'ai plus besoin de 1>3
09:00 <discord_afpy_> <lythari59> 1°) Valide ou non valide, à tester.
09:00 <discord_afpy_> <lythari59> 2°) Comment il peut le trier ou savoir si c'est 1,2,3,4 ou 2,1,3,4 ou 1,2,4,3
09:00 <discord_afpy_> <lythari59> ma compréhension c'est qu'il n'y a qu'un ordre possible et assez de paires pour ça.
09:00 <discord_afpy_> <lythari59> ce qui n'est pas : les règles énoncées sont satisfaites.
09:00 <discord_afpy_> <lythari59> très pertinent ! :smart:
09:02 <entwanne> ah oui le fait qu'il n'y ait qu'un ordre possible doit assurer que suffisamment de paires soient présentes (mais pour cet exemple je parlais de la P1)
09:03 <discord_afpy_> <lythari59> 1|3
09:03 <discord_afpy_> <lythari59> 2|4
09:03 <discord_afpy_> <lythari59>
09:03 <discord_afpy_> <lythari59> 1,2,3,4,5
09:03 <discord_afpy_> <lythari59> 2,1,3,4,5
09:03 <discord_afpy_> <lythari59> 4,3,2,1,5
09:03 <discord_afpy_> <lythari59>
09:03 <discord_afpy_> <lythari59> Avec ça mes 2 résultats sont OK (6 et 2)
09:06 <discord_afpy_> <lythari59> j'ai un peu la flemme de créer un gros jeu de données.
09:06 <discord_afpy_> <lythari59> mais je suis d'accord pour dire :
09:06 <discord_afpy_> <lythari59> - solution respecte les conditions
09:06 <discord_afpy_> <lythari59> et
09:06 <discord_afpy_> <lythari59> - c'est bien le seul et unique ordre valide
09:06 <discord_afpy_> <lythari59>
09:06 <discord_afpy_> <lythari59> sont 2 choses différentes. Merci :).
09:09 <entwanne> enfin en tout cas ma solution ne serait pas bonne non plus s'il n'y avait pas assez de paires non-transitives
09:21 <discord_afpy_> <Andy K (boss dreamer ou pas)> Salut
09:25 <discord_afpy_> <lythari59> salut Andy
09:35 <debnet> Oulà vous êtes chauds dès le matin.
09:35 <debnet> Je vais me pencher sur l'exercice du jour.
09:38 <discord_afpy_> <lythari59> notre CTO a eu la brillante idée de créer un groupe privé donc faut finir rapidement pour marquer des points (et le bougre est premier 😅 )
09:43 <mdk> matin, hop, j'ai push day5 😀
10:31 <debnet> @mdk Oulà il fait des noeuds au cerveau ta solution. x)
10:32 <debnet> T'as utilisé des propriétés sur les sets auxquelles je n'aurais pas pensé.
10:45 <debnet> J'ai du utiliser combinations, je ne pense pas que ça soit optimal.
10:46 <debnet> Un copain a utilisé la même technique que toi avec les ensembles, je pense que c'est beaucoup plus fast.
11:22 <mdk> :)))
11:23 <debnet> Ah entwanne et moi avons pensé à la même chose.
11:23 <debnet> Par contre je ne suis pas convaincu que ça aurait marché à chaque fois, je pense que j'ai été chanceux.
11:23 <entwanne> ouais pareil
11:23 <debnet> Tu gères plus de cas que moi, mais je pense que ta condition inverse n'est pas utile vu que tu fais une combinaison de toutes les pages.
12:07 <entwanne> y a pas de remise dans les combinaisons, mais je voulais être sûr que ça pondère suffisamment
12:07 <entwanne> (et techniquement j'en suis pas vraiment sûr, mais bon ça passe)
15:14 <mdk> Aller, venez, on troll : https://github.com/bddicken/languages/issues/200 c'est bientôt trolldi !
15:46 <Mindiell> j'avoue, c'est bien trouvé :)
15:50 <debnet> Vous avez vu ça gronde du côté de l'AoC ? Apparemment le leaderboard est trusté par les LLMs.
15:51 <debnet> Genre sur les 4 premiers jours, les exercices ont été résolus en moins de 9 secondes après la sortie. x)
15:52 <Mindiell> bof, je vois pas vraiment l'intérêt de ce board de toute façon.
15:53 <debnet> Pareil, mais quand même, ça dénote d'une évolution étrange dans notre secteur d'activité.
15:54 <Mindiell> oh tu sais, ils ont remplacé tous les plafonniers du bureau là
15:54 <Mindiell> elles clignotent quand elles s'allument parce qu'elles sont pas encore programmées
15:54 <Mindiell> et moi je me dis : ok, mais depuis quand on doit programmer des lampes quoi ?
15:54 <Mindiell> donc bon
15:54 <debnet> Ah ah.
15:55 <Mindiell> le monde est parti dans un délire délirant
15:55 <debnet> C'est à la fois amusant et triste.
15:55 <Mindiell> et on les a remplacé parce qu'on ne pouvait pas changer les ampoules qui claquaient.
15:55 <Mindiell> On a maintenant des rubans de LED avec un "capteur intelligent" et pilotables par bluetooth. (et magie : on ne pourr apas remplacer les leds hein)
15:56 <Mindiell> mais tout va bien, continuez bonnes gens
15:56 <Mindiell> (oui je suis de très mauvais poil)
16:01 <debnet> Mindiell: Non mais je te comprends, sans tomber dans le stéréotype du "c'était mieux avant", je constate avec horreur les choix hasardeux dans plusieurs domaines même les moins techniques juste parce que "c'est moderne".
16:01 <entwanne> maintenant la question sera de savoir comment se débrouilleront les LLM dans les jours plus avancés
16:02 <debnet> entwanne: Je pense qu'on peut être vraiment surpris, y en a un qui a fait un article sur Reddit qui montre des résultats vraiment satisfaisants même avec les énoncés étranges rédigés par l'AoC. Je te retrouve le lien.
16:02 <debnet> https://www.reddit.com/r/adventofcode/comments/1h4qeij/i_built_an_agent_to_solve_aoc_puzzles/
16:06 <entwanne> en fait je serais ni surpris par le fait qu'ils réussissent ni par celui qu'il n'y arrivent pas, je me demande vraiment ce que ça donnera
16:06 <Mindiell> en effet, il faut voir quels jeux de données ils utilisent, car j'ai cru comprendre que les "prompts", il fallait affiner au fur et à mesure.
16:07 <Mindiell> Mais n'en ayant jamais utilisé...
16:07 <discord_afpy_> <melcore> J'ai fait le jour 5 pas facile à comprendre, mais facile à faire.
16:09 <debnet> Melcore: t'as un import numpy qui se balade.
16:12 <discord_afpy_> <melcore> Un copié collé du jour 4 un peu large :/