Le Puzzle de l'Avent 2023
Posté le 01/12/2023 23:05
Bienvenue, cette année encore, dans le Puzzle de l'Avent de Planète Casio.
Le Puzzle est presque une tradition maintenant, je n'en fais pas toutes les années (
2018,
2019,
2021) mais c'est un des événements que j'apprécie le plus. J'espère que c'est le cas pour vous aussi parce qu'il y a de quoi bien s'amuser !
Aux dernières éditions, on a exploré quelques problèmes d'informatique théorique — avec des graphes, des ensembles, de l'optimisation... cette année on va faire un peu différent : on va prendre un approche un peu plus pratique avec des problèmes que vous pouvez résoudre en
programmant. Parfois vous pourrez calculer la solution de tête, d'autres fois vous pourrez écrire un petit programme Python qui fera le calcul pour vous. On n'aura pas de problème très difficile cette année donc vous devriez vous en sortir même avec des programmes naïfs ou peu optimisés. Seul le tout dernier problème sera un peu dur, pour éviter que ce soit la course au premier connecté le 25 pour finir le puzzle. :3
Le but du jeu est de reconstituer un Puzzle dont les pièces seront données chaque jour. Le puzzle en lui-même est une image en pixel art de 198×112 pixels, juste ce qu'il faut pour tenir à l'écran d'une Graph 90+E. Comme dans la formule précédente, les pièces seront données chaque jour «brouillées» et pourront être débrouillées en calculant (ou faisant calculer à un programme) la solution d'un petit problème mathématico-informatique.
Conformément à la tradition, il y a un prix à gagner pour la première personne à reconstituer le puzzle : une
calculatrice Graph 90+E. Pour ceux d'entre vous qui n'ont pas le plaisir d'en posséder une, je ne peux que la recommander ; pour preuve depuis que j'ai commencé à jouer avec je suis pas revenu aux mono. :P
Ce lot provient de notre partenariat avec
CASIO Éducation.
Plus d'informations sur la Graph 90+E dans sa fiche « Tout sur ta CASIO ! ».
L'autre lot bien sûr c'est que toutes les personnes qui finissent le puzzle se voient attribuer le titre de
Maître du Puzzle.
Comme j'ai encore quelques détails à ajuster, le premier problème sera donné demain avec le premier ensemble de pièces. Préchauffez vos éditeurs d'images et de code Python !
---
Notes du futur :
Le puzzle a été résolu par :
Citer : Posté le 01/12/2023 23:47 | #
GG Lephe 🥰🥰
Citer : Posté le 02/12/2023 08:38 | #
Chouette alors
Caltos : G35+EII, G90+E (briquée )
Citer : Posté le 02/12/2023 08:54 | #
Yes ! J'ai hâte !
Citer : Posté le 02/12/2023 11:46 | #
Yey trop bien
Citer : Posté le 02/12/2023 17:17 | #
hâtes de voir ce que tu as prevu pour nous empecher de contourner les régles cette fois
Citer : Posté le 02/12/2023 18:14 | #
T’es terrible Alice, tu penses direct à tricher
Citer : Posté le 03/12/2023 00:15 | # | Fichier joint
Voici le premier problème ! On a un thème industriel cette année, où on va suivre les efforts et aventures d'une petite usine avec des préoccupations très calculatoires. Les graphismes sont 100% originaux et toute ressemblance avec n'importe quoi est entièrement fortuite.
Consommation électrique
L'usine a deux sources d'électricité. En hiver, les 6 panneaux solaires fournissent 2 kW constants de puissance entre 9h et 18h. Le réseau électrique fournit 3 kW toute la journée, sauf en heure de pointe (6h-9h, 12h-14h et 16h-19h) où la disponibilité tombe à 1.5 kW parce que les habitants de la ville proche consomment plus. Pour l'instant, le système électrique de l'usine n'est pas bien fait donc une seule source peut être utilisée pendant une heure donnée. On veut donc choisir la meilleure source à chaque heure pour maximiser la puissance disponible ; par exemple entre 12h et 13h le réseau électrique fournit 1.5 kW mais les panneaux fournissent 2 kW, donc on utilise les panneaux.
Déterminer combien d'énergie peut être consommée sur une période de 24 heures, en kWh.
Pièces du puzzle
Eeeet voici les toutes premières pièces du puzzle de l'année. L'image complète fait 180 pièces, comme l'an dernier.
Le mécanisme pour décoder les pièces est également le même que l'an dernier (mais les solutions ne seront pas toujours des petits entiers ). Utilisez le script decode_pieces.py ci-joint pour débrouiller les pièces quand vous aurez trouvé la solution du puzzle. Les détails sur l'usage du script sont indiqués en commentaire dedans, mais n'hésitez pas à demander en cas de doute.
(Avec mes excuses pour le délai, j'ai passé la journée à préparer le puzzle faute de disponibilités fin Novembre. ^^" Au moins je peux vous dire que vous serez pas déçu·es, il est magnifique à mon avis !)
Citer : Posté le 03/12/2023 00:24 | #
Oh factorio ! Hé Breizh t'est sur de pas vouloir essayer ?
Citer : Posté le 03/12/2023 01:05 | #
wow, on a même le droit à du dithering
tu t'es donné à fond senpai 🖤
Citer : Posté le 03/12/2023 03:40 | #
Ca s'annonce très très bien cette histoire.
On commence en douceur par un petit échauffement.
Le thème promet d'être vraiment sympa.
Merci pour le gros boulot Lephé.
On commence d'avoir quelques pièces du tour
Devine-t-on une tête de dinosaure sur une des pièces ?!?
Qui vivra verra, peut être est-ce mon imagination qui me joue des tours
Citer : Posté le 03/12/2023 09:56 | #
Info : j'ai oublié un détail dans decode_pieces.py, retéléchargez-le ou ajoutez "day -= (day==26)" au début de problem_no() ligne 88. C'est dû au fait que le problème du 25 contiendra deux paquets de pièces, le second étant numéroté "26" par simplicité, et j'ai oublié de le compter.
wow, on a même le droit à du dithering
tu t'es donné à fond senpai 🖤
Au début je pensais pas pouvoir faire mieux que celui de 2021 mais en fin de compte c'est même pas comparable x) C'est un peu chargé par contre donc effectivement il faudra faire attention en reconstituant le puzzle. Ah oui, pendant que j'y suis,
Info : les pièces sont toutes à l'endroit, il n'y a pas de rotation/miroir à faire dessus.
Devine-t-on une tête de dinosaure sur une des pièces ?!?
Qui vivra verra, peut être est-ce mon imagination qui me joue des tours
Il y a bien un dinosaure, mais pas là. :P
Citer : Posté le 03/12/2023 11:36 | #
Pour assembler les pièces, je peux utiliser quoi comme éditeur d'image pratique ?
Sinon ça a l'air incroyable Lephe', vivement la suite !
Sinon, c'est pas possible de connaitre la résolution final de l'image svp ?EDIT : désolé c'est marqué dans le post principalCiter : Posté le 03/12/2023 11:57 | #
Je conseille n'importe quel éditeur qui gère des calques avec de la transparence. GIMP est mon favori, mais il y en a plein d'autres. L'idée c'est d'importer chaque pièce comme un calque différent, et ensuite avec l'outil déplacement (ou équivalent) tu peux juste cliquer pour déplacer les pièces. Tu peux aussi grouper ensemble les pièces que tu as collées dans des groupes pour les déplacer par paquets, ce qui je crois couvre à peu près toutes les étapes de la résolution.
L'image finale est de 198x112 avec 18 colonnes et 10 lignes.
Citer : Posté le 03/12/2023 20:38 | #
Allocation de budget
Malgré l'optimisation dans la consommation d'énergie, l'usine a un problème d'équilibre. Sa production principale est le forgeage d'acier en différents types de barres, grilles, et plaques. Mais l'approvisionnement en électricité et en acier brut ne correspondent pas, et on a tantôt trop de l'un, tantôt trop de l'autre.
On voudrait donc savoir exactement dans quelle proportion il faut allouer le budget à l'énergie et à l'achat de matières premières pour ne pas avoir de restes. L'électricité revient à 6 kWh/€, tandis que l'approvisionnement en acier revient à 1.5 kg/€. En moyenne, il faut 20 kWh d'énergie pour que l'usine forge un batch de pièces, ce qui consomme 30 kg d'acier. Le budget journalier est de 400 €.
Déterminer la proportion de budget qu'il faut dépenser sur l'énergie pour qu'il n'y ait aucun reste. La solution de ce puzzle est les 6 premiers chiffres significatifs de ce résultat (par exemple si le ratio est 0.32817308 la solution du puzzle sera l'entier 328173).
Note : le mécanisme par lequel le four en pierre est alimenté par l'électricité est tout à fait remarquable. M'embêtez pas trop je joue pas à Factorio.
Pièces du puzzle
Ce problème étant un peu plus difficile à résoudre (ie. pas de tête ça c'est sûr), je laisse 2 jours pour s'y attaquer - prochain problème Mardi 5. La dernière fois on m'a fait remarquer que ça allait assez vite, donc j'essaie ce format.
Citer : Posté le 03/12/2023 20:41 | #
Un four en pierre tourne au charbon dans factorio x) Et il faut un bras pour mettre l'acier dans le four.
Citer : Posté le 03/12/2023 20:42 | #
Je le remplacerai par un four électrique quand j'aurai plus la flemme de faire un autre gros sprite x)
Noté pour le bras, merci
Citer : Posté le 03/12/2023 22:12 | #
Après t'est pas obligé de tout faire comme factorio, mais vu que tu t'en inspire beaucoup c'est drôle de comparer.
Citer : Posté le 04/12/2023 12:06 | #
Sympa l'énigme !
Citer : Posté le 06/12/2023 00:40 | #
Alimentation compacte
Impossible pour l'usine d'améliorer sa production d'une façon significative sans pousser son alimentation énergétique. La municipalité exige de prioriser les ressources renouvelables, et on a donc mis de côté le budget nécessaire pour une mini-ferme solaire. Seul problème, les panneaux doivent tous être à proximité immédiate d'une batterie pour que les machines puissent continuer d'être alimentées la nuit. On ne peut donc pas les disposer n'importe comment.
L'image ci-dessus montre la géométrie du problème. En termes d'emprise au sol, chaque panneau occupe une zone de 1 mètre (horizontalement) par 2 mètres (verticalement). Chaque batterie occupe 2x2 mètres. L'image indique toutes les positions autour d'une batterie donnée où on peut placer des panneaux.
On a réservé une zone de 8x8 mètres pour construire la mini-ferme solaire. Déterminer le nombre maximum de panneaux (noté P) qu'on peut disposer dans la zone et le nombre minimum de batteries (noté B) nécessaire pour atteindre ce total. Réinjecter P dans la solution du problème du 2 Décembre pour déterminer la quantité totale d'énergie qui sera sera disponible par jour avec le nouveau système (en kWh sur 24 heures, chaque groupe de 6 panneaux générant 2 kW). La solution de ce problème est cette quantité d'énergie plus la valeur de B. Par exemple, si le total d'énergie est 150 khW et qu'il faut 4 batteries pour couvrir toute la zone, la réponse sera 154.
Pièces du puzzle
Désolé pour le retard sur ce problème. ^^"
Citer : Posté le 06/12/2023 09:27 | #
Je me trompe peut-être, mais je n'arrivais pas à trouver la réponse donc j'ai bruteforce la solution et je trouvé un resultat plus grands qui si je recouvrais toute la zone de 8×8 avec des panneaux, on est bien sur 6 panneau qui produisent 2kwh de 9h-18h comme dans la question 2?