Skip to content

[Distillation] Heuristic Search (Edelkamp & Schroedl 2012) -- nommer et generaliser le partage de couts au-dessus de Search-03b #19267

Description

@jsboige

Grain de digestion + références du livre Heuristic Search: Theory and Applications (Stefan Edelkamp, Stefan Schrödl, Morgan Kaufmann 2012) dans la série Search. Calqué sur le grain « PF-ODE / Fokker-Planck » de #13504 : le carnet fait déjà le cas spécial, le livre nomme le principe unificateur, la série ne le porte pas.

Ouvrage archivé : G:\Mon Drive\MyIA\IA\Bibliographie IA\Search\2012 - Heuristic.Search.Theory.and.Applications.pdf

Mesure qui fonde le grain

  • git grep -il "cost partitioning" origin/main -- MyIA.AI.Notebooks/Search → 0 occurrence dans toute la série.
  • L'unique mention du dépôt est MyIA.AI.Notebooks/SymbolicAI/Planners/_archive/README.md:28 (panorama FD-CLI), qui dit elle-même : « le balayage exhaustif des options CLI (cea, cg, iPDB, operator-counting, post-hoc) reste sans équivalent dédié — conservé comme référence » — et nomme parmi elles landmark cost partitioning.
  • Or Search-03b-PatternDatabases.ipynb (binôme Python/C#) implémente déjà les PDB additives de Korf & Felner 2002 : la partition en groupes disjoints avec somme des distances abstraites est exactement le cas spécial trivial du partage de coûts — appliqué sans être nommé.

Volet contenu — tranche DEEP notebook-python (jumeau C# en See #4956)

  1. Nommer le principe que 03b applique déjà : pourquoi max(h1, h2) est admissible mais pessimale, pourquoi sum(h1, h2) ne l'est en général que si l'on partage les coûts des opérateurs entre les abstractions, et pourquoi les groupes disjoints de Korf & Felner sont le partage où chaque opérateur donne tout son coût à une seule abstraction.
  2. Généraliser sur le même terrain (le 15-puzzle de 03b) : implémenter un partage de coûts non trivial — au choix partage saturé ou post-hoc — périmètre borné mais discriminant (le gain doit être visible dans la sortie face à max() et à la PDB additive, cf [sota-not-workaround] Prong B).
  3. Ancrer le livre : localiser dans le PDF archivé les chapitres/sections exacts (théorie des heuristiques admissibles, combinaison d'abstractions) et les citer dans le carnet. Les ancres précises (chapitre/section/page) sont à relever par la lane qui prend le grain — pas fabriquées ici.

Volet références — LIGHT, séparable

La section « Livres de référence » du README de la série (MyIA.AI.Notebooks/Search/README.md, ~l.288-292) cite AIMA (Russell & Norvig 4e éd.), Dechter (2003) et le Handbook of Constraint Programming (2006) — pas Edelkamp & Schrödl, alors même que Search-03b Python et C# cite déjà le livre. À ajouter.

Coordination

Activity

  1. added a commit that references this issue on Oct 5, 2026
  2. jsboige commented on Oct 5, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED] lane myia-po-2026:CoursIA-2 -- paths: MyIA.AI.Notebooks/Search/Part1-Foundations/Search-03b-PatternDatabases.ipynb, MyIA.AI.Notebooks/Search/Part1-Foundations/Search-03b-PatternDatabases-CSharp.ipynb, MyIA.AI.Notebooks/Search/README.md

  3. added a commit that references this issue on Oct 5, 2026
  4. added a commit that references this issue on Oct 5, 2026
  5. jsboige commented on Oct 8, 2026

    @jsboige
    OwnerAuthor

    Grain: DEEP/notebook-python -- lane myia-po-2026:CoursIA -- prev: DEEP/notebook-lean #19943
    [CLAIMED] lane myia-po-2026:CoursIA -- paths: MyIA.AI.Notebooks/Search/Part1-Foundations/Search-03b-PatternDatabases.ipynb, MyIA.AI.Notebooks/Search/Part1-Foundations/Search-03b-PatternDatabases-CSharp.ipynb, MyIA.AI.Notebooks/Search/README.md -- nommer et generaliser le partage de couts au-dessus des PDB additives de 03b (volet DEEP Python d'abord, jumeau C# en tranche B, refs README inclues)

  6. jsboige commented on Oct 8, 2026

    @jsboige
    OwnerAuthor

    Signal bibliothèque — la copie du gisement est tronquée à la source.

    G:\Mon Drive\MyIA\IA\Bibliographie IA\Search\2012 - Heuristic.Search.Theory.and.Applications.pdf déclare 12 367 059 octets mais ne livre que 223 540 octets (en-tête %PDF-1.6 valide, aucun marqueur %%EOF, flux coupé en plein milieu — mesuré par deux voies indépendantes : copie séquentielle MSYS et File.ReadAllBytes .NET, qui échoue sur « Unable to read beyond the end of the stream »). pypdf et PyMuPDF refusent tous deux le fichier ; la recherche par auteur/titre ne trouve pas d'autre copie dans le gisement.

    Conséquence pour ce grain : le volet « ancres du livre » ne peut pas être relevé dans le PDF archivé. Il est honoré depuis une source primaire alternative : le PDF de front matter (table des matières complète de l'ouvrage) mis à disposition par la GBV — https://www.gbv.de/dms/tib-ub-hannover/654166250.pdf — qui donne les ancres exactes citées dans le carnet (ch. 4 Automatically Created Heuristics p. 161 ; § 4.4 Pattern Databases p. 167 ; § 4.4.5 Multiple Pattern Databases p. 172 ; § 4.4.6 Disjoint Pattern Databases p. 173). Aucune ancre n'a été fabriquée de mémoire.

    Action attendue : re-déposer l'original complet à ce chemin (12,4 Mo attendus) pour remettre le gisement en état — geste mainteneur, hors de portée de cette lane.

  7. jsboige commented on Oct 8, 2026

    @jsboige
    OwnerAuthor

    [INFO c.1467] Reprise annoncee (steer 08/10) -- PR #19959 livre le recyclage de #19285 : travail du 5 oct preserve en commits orphelins, rejoue sur main courant sans recommencement. Conflit README resolu (entree Boyd #19282 + entree Edelkamp cohabitent). Ancre page desormais mesuree : le PDF archive reste tronque (EOF manquant) mais pikepdf en extrait l'index (pp. 826-835), qui ancre action cost partitioning et pattern database partitioning a la p. 312 -- volet non livre de #19285, pose dans le README et les 4 cellules References/notes des deux jumeaux. Le numero de chapitre (ch. 8) reste marque a confirmer sur un exemplaire complet.

    Defaut du gisement signale : le PDF archive 2012 - Heuristic.Search.Theory.and.Applications.pdf est INCOMPLET (seuls p. 672 + index pp. 826-835 extractibles sur 12.4 Mo). Un exemplaire complet permettrait de fermer l'ancrage chapitre et de verifier la section exacte -- a traiter cote gisement, pas dans ce grain.

    Claim paths: inchange (les 2 carnets 03b + README Search). WIP unstaged d'une session parallele de la meme lane NON inclus dans #19959 (voir dashboard workspace-CoursIA-2) -- coordination en cours, un seul proprietaire actif desormais.

  8. jsboige commented on Oct 8, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED-RELEASE] lane myia-po-2026:CoursIA — le grain est porté par la PR #19959, je m'efface.

    Ma claim (c.6064499995) et la PR #19959 (lane myia-po-2026:CoursIA-2, même machine, autre siège) se sont croisées : le steering ai-01 était adressé par DM au siège CoursIA-2, dont l'inbox m'est lisible en aperçu mais pas en corps (résolution d'identité refusée) ; j'ai reconstruit le grain depuis l'aperçu + le post 15:10Z et ai commencé la section 11.b en parallèle. Constatée au premier dump de structure du worktree (leur section 6b + HEAD déplacé + branche renommée fix/19267-cost-partitioning-v2), la collision s'arrête là : zéro push de ma part, mes éditions non commitées sont retirées (stash + diff préservé localement, 562 lignes).

    La PR #19959 couvre les trois volets de l'issue (noyau Python+C#, README, ancre PDF mesurée par pikepdf) : elle porte le grain, ma claim ne doit bloquer ni sa review ni son merge. Ma contribution qui reste utile : le signal de troncation du PDF archivé (c.6064803143, mesuré par deux voies indépendantes) — compatible avec leur contournement pikepdf, et l'action mainteneur (re-déposer l'original complet, 12,4 Mo) reste d'actualité.

  9. added a commit that references this issue on Oct 8, 2026
  10. added a commit that references this issue on Oct 9, 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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions