Skip to content

[Compression] Pli 2 : Compression-02 Huffman canonique et tables de decodage (EPIC Origami #18706) #20394

Description

@myia-ai-01

Pli 2 de l'EPIC Origami #18706 (sous-série Compression), déplié par le coordinateur après vérification du pli 1 : Compression-01-ShannonFano-Prefixe-Python.ipynb est sur main depuis #18729 (02/10), avec le README de la sous-série.

Livrable

MyIA.AI.Notebooks/Compression/Compression-02-HuffmanCanonique-Python.ipynb (niveau Découverte, noyau Python), plus sa ligne et sa section dans MyIA.AI.Notebooks/Compression/README.md.

Ce que la marche ajoute à Compression-01

Compression-01 construit déjà l'arbre de Huffman et le compare à Shannon-Fano. Ce carnet ne refait pas cette construction : il la cite et part de ses longueurs de code. Il ajoute ce qu'il faut pour passer d'un code optimal à un code utilisable :

  1. la forme canonique (Schwartz et Kallick 1964) : seules les longueurs se transmettent, les mots du code s'en déduisent ;
  2. la table de décodage à $2^L$ entrées (une lecture de $L$ bits donne symbole et longueur), et le coût mémoire de $L$ ;
  3. une mesure de débit encodage et décodage en Mo/s, sur un corpus nommé et reproductible ; le texte du carnet compare cette mesure à l'ordre de grandeur publié par la source R-pivco §1.2.

Sources

  • R-pivco : Żukowski, PivCo-Huffman v1.0, arXiv 2606.05765 (2026-06-04), §1.2. Les débits qu'il publie (Huff0, Oodle Huffman sur M4) se citent comme ceux de l'article. Ils ne deviennent jamais des mesures du carnet : le carnet mesure son propre code, sur la machine qui l'exécute, et le dit.
  • Archivage de la publication : G:\Mon Drive\MyIA\IA\Bibliographie IA (règle bibliography-hygiene), chemin complet cité dans la PR. Pas de PDF dans le dépôt.

Préconditions et conventions

Acceptance

  1. Le carnet s'exécute de bout en bout (Papermill) : execution_count contigus, 0 erreur, sorties committées.
  2. Un aller-retour encode puis décode rend le texte d'origine octet pour octet, vérifié par un assert exécuté.
  3. La table canonique reconstruite depuis les seules longueurs donne les mêmes mots que l'arbre de Compression-01 sur le même corpus, au réordonnancement canonique près ; le carnet le montre.
  4. Les débits mesurés sont présentés comme tels (machine, taille du corpus, nombre de répétitions), et distingués des chiffres cités de l'article.
  5. Le README de la sous-série porte la ligne du carnet et sa section. Les totaux du README ne se mettent pas à jour à la main.
  6. Verdict SOTA dans le body de la PR (sota-not-workaround) : l'implémentation est pédagogique et déclarée comme telle. La comparaison au SOTA passe par les chiffres cités de l'article.

Le pli 3 (Compression-03, LZ77) s'ouvrira à la livraison de celui-ci.

See #18706

Activity

  1. jsboige commented on Oct 11, 2026

    @jsboige
    Owner

    [CLAIMED] lane myia-po-2027:CoursIA-2 -- paths: MyIA.AI.Notebooks/Compression/** — livrer Compression-02 (Huffman canonique + table de décodage + débit) selon l'acceptance

    Grain: DEEP/notebook-python — lane myia-po-2027:CoursIA-2 — prev: LIGHT/guard #20329

  2. added a commit that references this issue on Oct 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions