01:07 <alain_afpy> La galère de Python en déploiement - https://linuxfr.org/users/abriotde/journaux/la-galere-de-python-en-deploiement
01:31 <debnet> Hum... ça pue un peu la mauvaise foi cet article.
08:11 <entwanne> Bon pour l'instant je ne sais pas comment approcher la partie 2
08:11 <entwanne> par contre la partie 1 c'était les doigts dans le nez
08:11 <entwanne> (enfin quelques doigts sur le clavier quand même sinon c'est pas pratique)
08:13 <entwanne> je voulais encore sortir z3 pour la P2, mais ça ne va pas réussir à me prouver que c'est vrai pour toutes les entrées, juste me dire s'il y a une entrée pour laquelle c'est vrai (et je pense qu'il y en aura pratiquement toujours une)
08:19 <entwanne> c'est peut-être l'heure de tester sympy :D
08:21 <entwanne> "TypeError: unsupported operand type(s) for >>: 'Symbol' and 'int'" Ah.
08:29 <entwanne> Ah mais il y a z3.prove
08:43 <debnet> TROP TÔT!
08:56 <entwanne> bon maintenant que je sais prouver qu'une solution est bonne il me reste à trouver la bonne solution :')
08:59 <asyd> https://github.com/abriotde/openhems-sample/blob/main/src/openhems/check_homeassistant_api.sh plus qu'a trouvé l'URL de son HA :)
09:00 <Mindiell> roh
09:00 <entwanne> asyd: ça a l'air d'être une URL locale si j'en crois la config https://github.com/abriotde/openhems-sample/blob/main/config/openhems.yaml
09:01 <asyd> je parie qu'il est exposé sur Internet (sans, ça retire beaucoup d'utilité a HA)
09:01 <asyd> au hasard sur openproduct.freeboxos.fr 🙃
09:11 <Mindiell> Vu https://github.com/abriotde/openhems-sample/blob/main/config/openhems_test_emhass.yaml je dirais oui :)
09:17 <asyd> allez, soyons gentil
09:19 <asyd> mais du coup vu qu'il package sa config de "prod" en git il devrait pas trop avoir de problème de deploiement ? 😅
09:20 <Mindiell> asyd: tu vux déployer pour lui ?
09:22 <entwanne> Bon l'approche pour la partie 2 de l'advent of code en testant chaque combinaison, ça n'a pas l'air d'être ça. Il doit y avoir un truc plus intelligent à faire
09:39 <debnet> entwanne: apparemment beaucoup l'ont résolu à la main.
09:40 <entwanne> ça ça ne fait pas partie de mon set d'outils :D
09:41 <debnet> Ah ah ah.
09:43 <entwanne> mais bon déjà ma solution met 0,2s sur l'exemple bidon qui consiste à inverser 2 paires, donc je pense que si j'arrive à être plus efficace là-dessus j'aurai bien avancé
09:44 <entwanne> faudrait que je trouve un moyen pour éviter de tout reprocesser pour chaque combinaison et donc plutôt inverser les sorties à la fin du traitement qu'au début
10:11 <debnet> Ca a l'air turbo relou aujourd'hui quand même. x)
10:32 <entwanne> j'ai peut-être une idée mais je verrai ça plus tard
10:41 <debnet> entwanne: Hardcore hein ?
10:42 <entwanne> Je suis sûr qu'il y a un truc !
10:42 <entwanne> j'ai l'impression de m'en approcher, mais je suis peut-être sur une fausse piste
10:43 <debnet> J'ai dessiné le graph avec networkx pour voir à quoi ça ressemble.
10:43 <entwanne> ou alors y a un élément pas clair dans l'énoncé qui permettrait de restreindre vachement le problème (genre y a que les variables zNN qui peuvent être swappées), faudrait que j'étudie l'arbre de dépendances
10:43 <alain_afpy> WARNING !!! YAKAFOKON DETECTED !!!!
10:43 <debnet> Ca ressemble à un additionneur en série, y a une interdependence entre zN et (xN, yN).
10:43 <entwanne> déjà un truc cool c'est que deux expressions distinctes ne peuvent pas avoir la même sortie
11:25 <entwanne> j'ai réussi à faire un truc plus lent et qui ne donne pas le bon résultat :D
11:25 <debnet> Bravo. :D
13:06 <debnet> Quel enfer, j'ai identifié un pattern que j'essaye d'automatiser, mais j'ai l'impression de réinventer la roue.
13:40 <debnet> Hmmm... Est-ce qu'il y a commutativité dans les portes AND, OR et XOR ?
13:40 <debnet> D'instinct je dirais oui, ça permettrait de simplifier le problème.
13:47 <entwanne> XOR c'est commutatif
13:47 <entwanne> Enfin les autres aussi oui, je pensais à une autre propriété (le fait que ce soit "réversible")
13:49 <debnet> Donc si tout est commutatif ça va simplifier ma vie.
13:49 <debnet> Je crois que j'ai une solution.
13:59 <debnet> Ouais ça marche, mais j'ai l'impression de ne pas avoir couvert tous les cas, j'ai peut-être eu de la chance avec mon input ?
13:59 <debnet> Je clean et je commit.
14:13 <discord_afpy> <lythari59> gg
14:13 <discord_afpy> <lythari59> curieux de voir ça.
14:13 <discord_afpy> <lythari59> moi je ne comprends pas pourquoi ma solution ne fonctionne pas, j'ai peut être pas compris ce qu'il fallait faire.
14:16 <discord_afpy> <lythari59> j'ai alignés les x et les y pour avoir 2 chiffres, que j'ai additionné.
14:16 <discord_afpy> <lythari59> j'ai comparé avec le résultat de la partie 1 pour voir que la différence est une somme de produits de 2
14:16 <discord_afpy> <lythari59>
14:16 <discord_afpy> <lythari59> résultat de la partie 1
14:16 <discord_afpy> <lythari59> + 2^35 + 2^17 + 2^16 + 2^15 ... = somme de X + Y.
14:16 <discord_afpy> <lythari59> j'ai regardé s'il y avait des inversions simple il y en avait 2.
14:16 <discord_afpy> <lythari59> du coup j'ai exécuter les 2 inversions et ensuite fiat un produit cartésiens des combinaisons pour trouver un résultat
14:16 <discord_afpy> <lythari59> (sur 2 paires ça passe en brute force, pas sur 4).
14:16 <discord_afpy> <lythari59> du coup je trouve bien 4 paires mais bon ça ne fonctionne pas ...
14:22 <discord_afpy> <lythari59> # Z gates should be XOR only
14:22 <discord_afpy> <lythari59> c'est une déduction liée à quoi ?
14:24 <debnet> Bon j'ai eu de la chance, ça ne marche pas avec l'input d'un copain. Shit.
14:25 <debnet> lithari59 : j'ai juste fait un graphe du circuit, y a une partie d'observation pour construire mon algo.
14:26 <debnet> Mais de toute façon ça ne marche pas pour tout le monde.
14:26 <debnet> Je ne sais pas si j'aurais le courage de faire un truc générique.
14:28 <discord_afpy> <lythari59> ok 🙂
14:29 <debnet> Je suis un peu déçu.
15:25 <debnet> Bon j'ai repris la solution d'un copain, j'arrête là pour aujourd'hui.
16:27 <discord_afpy> <lythari59> debnet ta première solution marche sur mon input mais je suis pas encore sûr de tout tout comprendre donc je vais continuer à bosser dessus.
16:29 <debnet> lythari59: bon à savoir, l'autre solution est moins performante (car O(n^2)) mais elle a le mérite de marcher pour tous les inputs.
16:29 <debnet> Et je la trouve plus claire que ma solution qui est très empirique.
16:38 <discord_afpy> <lythari59> tu peux la partager ?
16:51 <entwanne> Ah j'ai réussi à débuger mon truc, mais donc c'est clairement inefficace
16:55 <debnet> lythari59 je l'ai commit.
19:46 <entwanne> bon je crois que je m'en sors pas
19:46 <entwanne> je vais pas évaluer 2**13001 possibilités
19:48 <entwanne> si je lisais l'énoncé ça irait peut-être mieux déjà, "of the eight wires"
19:58 <entwanne> en plus c'est dit à deux endroits différents
20:17 <debnet> entwanne: ^^' Advent of Readability.
20:17 <entwanne> mais ça fait quand même toujours beaucoup trop de combinaisons à évaluer
20:28 <entwanne> oh j'ai peut-être une nouvelle idée
20:38 <entwanne> et ben non ☹
20:40 <entwanne> je me disais que je pouvais tenter de partir du principe que les bits étaient indépendants les uns des autres, et m'arrêter au premier qui échoue pour tenter de le résoudre en ne tentant les combinaisons qu'entre ses propres dépendances
20:41 <entwanne> c'est dommage ça aurait bien ressemblé à une règle implicite de l'AoC
22:34 <debnet> entwanne: Courage. ;)