Skip to content

[Search] Réorganiser la série : parties explicites, fin des dossiers d'opportunité (Applications, Discrepancy) — proposition à arbitrer #19253

Description

@myia-ai-01

Pourquoi cette issue

Sur #19220, le mainteneur demande une proposition de réorganisation des dossiers de la série Search (commentaire du 05/10). Il relève deux défauts :

  • un dossier Discrepancy/ à la racine de la série, qui ne contiendra jamais qu'une poignée de carnets ;
  • un dossier Applications/ qui joue le rôle d'une partie 3 sans le dire, et se remplit au gré des occasions avec des carnets sans rapport entre eux.

Cette issue porte la proposition du coordinateur. Rien n'est déplacé avant la réaction du mainteneur.

État mesuré sur origin/main (05/10)

Dossier Carnets Ce qu'il contient
Part1-Foundations/ 43 l'escalier Search-01 à 11, avec ses lettres ; plus 12a et 13a, qui relèvent d'ICT et partiront avec la descente ICT déjà arbitrée (#17802)
Part2-CSP/ 18 CSP-1 à 9, en paires Python/C#
(pas de Part3) — l'ancienne Part3-Advanced a été absorbée en lettres de Part1 début septembre (#13769, #13770)
Part4-Metaheuristics/ 35 MGS-01 à 21, plus le comparatif MGS-vs-mealpy/ (C#)
Applications/CSP/ 31 cas pratiques de contraintes, souvent issus de projets étudiants
Applications/Hybrid/ 23 cas d'optimisation et de métaheuristiques, et des audits de résultats récents
Applications/Search/ 5 quatre carnets Puissance 4, et App-32 (arithmétique : Szpiro/Pasten), sans rapport avec la recherche (#18256)
Discrepancy/ 2 compagnons Beck-Fiala et Komlós du lake discrepancy_lean

Le dossier Discrepancy/ existe parce que le coordinateur l'a arbitré ainsi le 25/09 (#17802). La remarque du mainteneur conduit à revenir sur cet arbitrage.

La PR #19189 (en cours) ajouterait un quatrième sous-dossier, Applications/Research/, sur le même modèle. Elle est mise en attente de cette issue : sinon, onze carnets seraient renommés deux fois.

Principes proposés

  1. Des parties numérotées, que le visiteur parcourt dans l'ordre. Aucune partie implicite.
  2. Un sous-dossier n'existe que pour une sous-série qui a son propre parcours : plusieurs marches prévues, un README, et une marche d'entrée depuis l'escalier. Sinon, ses carnets sont des lettres de la famille qu'ils prolongent.
  3. Chaque partie écrit son critère d'entrée dans son README : ce qu'un carnet doit faire pour y entrer. La date d'arrivée n'est pas un critère.
  4. Un carnet qui ne traite pas de recherche quitte la série, vers Complexity, Compression, ou la série qui porte son sujet.
  5. Chaque fichier n'est renommé qu'une fois : la carte complète, ancien chemin → nouveau chemin, est fixée avant le premier git mv.

Carte cible proposée

Aujourd'hui Cible Critère d'entrée de la cible
Part1-Foundations/ inchangé l'escalier des fondements
Part2-CSP/ inchangé le cours de programmation par contraintes
Applications/CSP/, Applications/Hybrid/ (hors audits), les quatre Puissance 4 de Applications/Search/ Part3-Cas-pratiques/, avec un README organisé par technique : contraintes, optimisation et métaheuristiques, jeux adversariaux un problème concret, résolu avec les techniques des parties 1, 2 ou 4
Part4-Metaheuristics/ inchangé les métaheuristiques composables (C#)
les carnets classés « Recherche » par l'arbitrage du 04/10 (audits de garanties récentes, liste de #19189), sauf App-32 Part5-Frontieres/ le carnet vérifie empiriquement un résultat récent, avec les outils de la série
Discrepancy/ (2 carnets) lettres de la famille Search-09 : programmation linéaire, puis 09c discrépance combinatoire (déjà là), puis Beck-Fiala, puis Komlós la discrépance entre dans Search par l'arrondi de la programmation linéaire ; c'est la seule raison de l'y enseigner
lake discrepancy_lean inchangé, à la racine de la série, à côté de search_lean infrastructure de preuve, pas une partie du parcours
App-32-Szpiro-Pasten-2026 quitte Search ; destination proposée : la sous-série Langlands de SymbolicAI/Lean/, à laquelle il est déjà relié (#18368) arithmétique
App-34 (#19220, pas encore sur main) arrive directement dans Complexity/ complexité de Kolmogorov bornée ; le pli Kolmogorov/MDL de l'Epic Compression (#18706) pourra y renvoyer

Les numéros Part3/Part4 ne suivent pas l'ordre de lecture : les cas pratiques viennent avant les métaheuristiques C#. Renuméroter Part4 coûterait 35 chemins pour un gain faible. Le README de série porte l'ordre de lecture, comme il le fait déjà.

Ce qui reste hors de cette carte, mais à examiner après

  • La sélection d'algorithmes apparaît quatre fois : Search-11c-Empirical-Algorithm-Selection, MGS-16-AlgorithmSelection, MGS-17b-Empirical-Algorithm-Selection, Hybrid/App-22-AlgorithmSelection-Python. C'est un candidat de fusion, à instruire séparément.
  • Search-11b-Metaheuristiques-Deep existe en quatre parties dans Part1, alors qu'une partie entière est consacrée aux métaheuristiques. Sa place est à relire.
  • Les incohérences de nommage déjà relevées dans Applications/Search/ ([audit] Search/Applications/Search — 5 notebooks a reconcilier (naming, README, App-32 hors famille) #18256 : App-14b/App-14c contre l'identifiant App-12) se règlent dans la même table de renommage, pas avant.

Séquencement proposé

  1. Le mainteneur réagit à la carte : oui, ou avec des retouches.
  2. Une lane écrit la table complète ancien → nouveau chemin (docs/reference/rename-ledger.tsv), avec l'argument pédagogique de chaque déplacement.
  3. Une PR par cible : Part3, Part5, lettres de la famille 09, sorties hors série. Chaque PR met à jour les référents dans la même passe : README, chaîne de navigation, _quarto.yml, tables de traduction.
  4. Le README de série et ceux des parties passent au gabarit (docs/reference/readme-series-gabarit.md).

Décisions attendues du mainteneur

  • a. La carte cible, telle quelle ou retouchée.
  • b. Discrepancy/ : en lettres de la famille Search-09 (recommandé), ou vers SymbolicAI/Lean/ si la formalisation Komlós doit devenir un parcours à part.
  • c. App-32 : vers la sous-série Langlands (recommandé), ou ailleurs.

See #17802 (gradation Search) · See #18256 (audit Applications/Search) · See #5081 (doctrine de nommage) · See #19189 (en attente) · See #19220

🤖 Generated with Claude Code

No activity

Activity on this issue will appear here.

Activity

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