Le premier travail à faire est d'assainir les entrées-sorties en optant pour des formats qui ont une correspondance directe avec les structures de données utilisées. JSON répond normalement à ce besoin, mais tu as codé certains conteneurs dans des chaînes, ce qui complique énormément l'encodage et le décodage.
J'ai écrit un script qui convertit ton ancien format pour les instances, en un nouveau moins fantaisiste. Ça prend en entrée un chemin vers un JSON de ce type :
À première vue, les « N » que tu as décidé d'accoler aux identifiants des symboles ne font qu'alourdir ton code et ralentir ton programme. Les supprimer permettrait de coder les tuiles comme des listes d'entiers, et les symboles comme des couples d'entiers, ce qui laisserait la porte ouverte à des optimisations automatiques (genre numba).
Pour lancer le script tu auras besoin d'installer une bibliothèque d'expressions régulières avancées :
pip install regex
Dis-moi rapidement si tu as des objections, ou qu'il y a des problèmes que je n'ai pas vus.
Le premier travail à faire est d'assainir les entrées-sorties en optant pour des formats qui ont une correspondance directe avec les structures de données utilisées. JSON répond normalement à ce besoin, mais tu as codé certains conteneurs dans des chaînes, ce qui complique énormément l'encodage et le décodage.
J'ai écrit un script qui convertit ton ancien format pour les instances, en un nouveau moins fantaisiste. Ça prend en entrée un chemin vers un JSON de ce type :
Et ça produit ceci :
À première vue, les « N » que tu as décidé d'accoler aux identifiants des symboles ne font qu'alourdir ton code et ralentir ton programme. Les supprimer permettrait de coder les tuiles comme des listes d'entiers, et les symboles comme des couples d'entiers, ce qui laisserait la porte ouverte à des optimisations automatiques (genre numba).
Pour lancer le script tu auras besoin d'installer une bibliothèque d'expressions régulières avancées :
Dis-moi rapidement si tu as des objections, ou qu'il y a des problèmes que je n'ai pas vus.