Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2826,7 +2826,13 @@
"- [EPIC #4956](https://github.com/jsboige/CoursIA/issues/4956) -- parite .NET ⇄ Python des series de notebooks\n",
"- [CSP-2-Consistency.ipynb](CSP-2-Consistency.ipynb) -- version Python de ce notebook\n",
"- Issue [#7721](https://github.com/jsboige/CoursIA/issues/7721) -- 8-Reines CSP degeneree : la diagonale `|i-j| == |vi-vj|` fixee par [#7729](https://github.com/jsboige/CoursIA/pull/7729) avant la mesure (Bug 1 contournait la contrainte diagonale, sous-estimant artificiellement BT et MAC)\n",
"- Issue [#7779](https://github.com/jsboige/CoursIA/issues/7779) -- alignement recap sur les vraies mesures (cette PR)"
"- Issue [#7779](https://github.com/jsboige/CoursIA/issues/7779) -- alignement recap sur les vraies mesures (cette PR)",
"\n",
"### Références\n",
"\n",
"- Russell, S. & Norvig, P. *Artificial Intelligence: A Modern Approach*, chapitre 6.2-6.3 — formalisation `(X, D, C)` et backtracking avec MRV/LCV.\n",
"- Mackworth, A. K. (1977). *Consistency in Networks of Relations*, Artificial Intelligence 8(1) — article fondateur de l'arc-consistance, dont AC-3 est l'algorithme.\n",
"- Dechter, R. (2003). *Constraint Processing*. Morgan Kaufmann — ouvrage de reference sur la propagation de contraintes et les niveaux de consistance ; socle en amont de cette serie.\n"
]
}
],
Expand Down
2 changes: 1 addition & 1 deletion MyIA.AI.Notebooks/Search/Part2-CSP/CSP-2-Consistency.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -3236,7 +3236,7 @@
"\n",
"- Russell, S. & Norvig, P. *Artificial Intelligence: A Modern Approach*, Chapitre 6.2-6.3\n",
"- Mackworth, A. K. *Consistency in Networks of Relations* (1977) -- article original sur AC-3\n",
"- Dechter, R. *Constraint Processing*, Cambridge University Press, 2003"
"- Dechter, R. *Constraint Processing*, Morgan Kaufmann, 2003"
]
},
{
Expand Down
3 changes: 3 additions & 0 deletions MyIA.AI.Notebooks/Search/Part2-CSP/CSP-3-Advanced.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@
"\n",
"> **Solveur** : CP-SAT (Google OR-Tools). Le fonctionnement interne du solveur — presolve, recherche à grand voisinage (LNS), portfolio de workers — est détaillé dans [*The CP-SAT Primer*](https://d-krupke.github.io/cpsat-primer/) (Krupke & Schmitt, 2023, CC-BY, lecture en ligne gratuite).\n",
"\n",
"> **Transition bibliographique** : jusqu'a CSP-2, la serie suit **Dechter**, *Constraint Processing* (2003) — les fondements et la consistance. A partir de ce chapitre, le bâton passe au ***CP-SAT Primer***, qui documente le solveur et l'optimisation. Les deux ne se recouvrent pas : Dechter explique *pourquoi* la propagation elague, le Primer *comment* on formule pour un solveur industriel.\n",
"\n",
"\n",
"## Objectifs d'apprentissage\n",
"\n",
"A la fin de ce notebook, vous saurez :\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2541,6 +2541,14 @@
},
"source": [
"## Références\n",
"### Socles de la programmation par contraintes\n",
"\n",
"Le DisCSP est la version distribuee du CSP classique : ces references situent le formalisme dont ce notebook derive.\n",
"\n",
"- Dechter, R. (2003). **Constraint Processing**. Morgan Kaufmann. Fondements de la propagation de contraintes et de la consistance, au niveau centralise dont ABT et AWC sont la transposition distribuee.\n",
"- **Distributed Constraint Processing** (support de cours, 2018) -- `2018 - lecture-Distributed Constraint Processing.pdf`, rayon *Constraint Programming* du gisement documentaire. Le fichier n'est pas hydrate localement (auteur non lisible sur le document) ; serie homonyme en ligne : G. Picard (Mines Saint-Etienne), https://www.gauthier-picard.info/files/lecture-DCSP-2025.pdf . Vue d'ensemble du passage du CSP centralise aux formulations distribuees (DisCSP, DCOP).\n",
"- Bardin, S., Bjorner, N. & Cadar, C. (2019). **Bringing CP, SAT and SMT together: Next Challenges in Constraint Solving** (Dagstuhl Seminar 19062), Dagstuhl Reports 9(2):27. [doi:10.4230/DagRep.9.2.27](https://doi.org/10.4230/DagRep.9.2.27) -- situe la programmation par contraintes parmi les paradigmes declaratifs voisins (SAT, SMT).\n",
"\n",
"### Papiers fondateurs\n",
"- Yokoo, M., Durfee, E. H., Ishida, T., & Kuwabara, K. (1992). **Distributed constraint satisfaction problems for formalizing distributed problem solvers**. Proc.\n",
" of the 12th International Workshop on Distributed Artificial Intelligence.- Yokoo, M. (1995). **Asynchronous weak-commitment search for solving distributed constraint satisfaction problems**. Proc.\n",
Expand Down
8 changes: 8 additions & 0 deletions MyIA.AI.Notebooks/Search/Part2-CSP/CSP-9-Distributed.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -2609,6 +2609,14 @@
"- Yokoo, M. (2001). **Distributed Constraint Satisfaction: Foundations of Cooperation in Multi-agent Systems**. Springer.\n",
"- Faltings, B., & Yokoo, M. (2005). **Introduction: Special Issue on Distributed Constraint Satisfaction**. Artificial Intelligence.\n",
"\n",
"### Socles de la programmation par contraintes\n",
"\n",
"Le DisCSP est la version distribuee du CSP classique : ces references situent le formalisme dont ce notebook derive.\n",
"\n",
"- Dechter, R. (2003). **Constraint Processing**. Morgan Kaufmann. Fondements de la propagation de contraintes et de la consistance, au niveau centralise dont ABT et AWC sont la transposition distribuee.\n",
"- **Distributed Constraint Processing** (support de cours, 2018) -- `2018 - lecture-Distributed Constraint Processing.pdf`, rayon *Constraint Programming* du gisement documentaire. Le fichier n'est pas hydrate localement (auteur non lisible sur le document) ; serie homonyme en ligne : G. Picard (Mines Saint-Etienne), https://www.gauthier-picard.info/files/lecture-DCSP-2025.pdf . Vue d'ensemble du passage du CSP centralise aux formulations distribuees (DisCSP, DCOP).\n",
"- Bardin, S., Bjorner, N. & Cadar, C. (2019). **Bringing CP, SAT and SMT together: Next Challenges in Constraint Solving** (Dagstuhl Seminar 19062), Dagstuhl Reports 9(2):27. [doi:10.4230/DagRep.9.2.27](https://doi.org/10.4230/DagRep.9.2.27) -- situe la programmation par contraintes parmi les paradigmes declaratifs voisins (SAT, SMT).\n",
"\n",
"### Extensions modernes\n",
"\n",
"- Private DisCSP (Silaghi et al., 2007)\n",
Expand Down
19 changes: 19 additions & 0 deletions MyIA.AI.Notebooks/Search/Part2-CSP/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,18 @@ CSP-1 (Fundamentals) ──> CSP-2 (Consistency) ──> CSP-3 (Advanced)
| [SymbolicAI/SMT/Z3-Linq2Z3](../../SymbolicAI/SMT/Z3-Linq2Z3/README.md) | Solveur SMT | CSP-6 (LCG) et automates symboliques |
| [Probas/Infer](../../Probas/Infer/) | Infer.NET | Modèles graphiques et contraintes |

## Au-delà de CP : le pont CP ↔ SAT ↔ SMT

La programmation par contraintes n'est pas un paradigme isolé : elle partage ses fondations avec deux familles voisines du dépôt, qui attaquent le même problème déclaratif sous un autre angle.

- **SAT** (satisfiabilité booléenne) — décider si une formule propositionnelle admet un modèle ; solveurs DPLL/CDCL.
- **SMT** (SAT Modulo Theories) — SAT enrichi de théories (arithmétique, tableaux, bit-vectors, chaînes) ; voir la série [SymbolicAI/SMT/Z3-Linq2Z3](../../SymbolicAI/SMT/Z3-Linq2Z3/README.md).
- **CP** (programmation par contraintes) — cette partie : domaines finis, contraintes globales, propagation.

**Bardin, S., Bjørner, N. & Cadar, C. (2019), *Bringing CP, SAT and SMT together: Next Challenges in Constraint Solving* (Dagstuhl Seminar 19062), Dagstuhl Reports 9(2):27** — [doi:10.4230/DagRep.9.2.27](https://doi.org/10.4230/DagRep.9.2.27) — est la référence commune qui pose ce pont : identifier les confluences et les angles morts entre les trois communautés. C'est un rapport de séminaire, ni tutoriel ni article de recherche ; sa fonction est de cartographier ce que les trois paradigmes partagent déjà.

La série l'illustre dans le code : **CSP-6 (Hybridization)** décrit la *Lazy Clause Generation*, où un solveur CP apprend des clauses SAT en cours de résolution — la frontière CP/SAT n'y est pas une analogie, elle y est franchie.

## Références

Couverture par notebook des sources fondatrices de la programmation par contraintes :
Expand All @@ -177,6 +189,13 @@ Couverture par notebook des sources fondatrices de la programmation par contrain
| CSP-2 (Consistency) | Mackworth, A. K. (1977) — « Consistency in Networks of Relations », *Artificial Intelligence* 8(1). Origine de l'arc-consistency (AC-3). |
| CSP-3 (Advanced) | Régin, J.-C. (1994) — « A filtering algorithm for constraints of difference in CSPs », *AAAI-94*. Le propagateur global AllDifferent. |
| CSP-6 (Hybridization) | Ohrimenko, I., Stuckey, P. J., & Codish, M. (2009) — « Propagation via Lazy Clause Generation », *Constraints* 14(3). Origine de la Lazy Clause Generation. |
| CSP-1, CSP-2, CSP-8 | Dechter, R. (2003) — *Constraint Processing*. Morgan Kaufmann. Socle de la propagation de contraintes et des niveaux de consistance, en amont de la série. |
| CSP-3 à CSP-8 | Krupke, D. et al. (2023) — *The CP-SAT Primer: Using and Understanding Google OR-Tools' CP-SAT Solver* (CC-BY). Le manuel du solveur CP-SAT, aval de la série. |
| CSP-3, CSP-5, CSP-7 | Rossi, F., van Beek, P. & Walsh, T. (dir., 2006) — *Handbook of Constraint Programming*. Elsevier. Ouvrage de référence organisé par thème (propagation, contraintes globales, contraintes souples, temporel) — le découpage que suit la série. |
| CSP-9 (Distributed) | **Distributed Constraint Processing** (support de cours, 2018) — `2018 - lecture-Distributed Constraint Processing.pdf`, rayon *Constraint Programming* du gisement documentaire (auteur non lisible : PDF non hydraté). Série homonyme en ligne : [G. Picard, Mines Saint-Étienne](https://www.gauthier-picard.info/files/lecture-DCSP-2025.pdf). Passage du CSP centralisé aux formulations distribuées (DisCSP, DCOP). |
| Toute la série | Bardin, S., Bjørner, N. & Cadar, C. (2019) — *Bringing CP, SAT and SMT together: Next Challenges in Constraint Solving* (Dagstuhl Seminar 19062), Dagstuhl Reports 9(2):27. Le pont CP↔SAT↔SMT. |

Le socle glisse de Dechter vers le *CP-SAT Primer* à partir de CSP-3 ; les deux cohabitent ensuite — CSP-8 relève des deux, ce qui explique sa présence dans les deux lignes de couverture.

---

Expand Down
2 changes: 1 addition & 1 deletion MyIA.AI.Notebooks/Search/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ Au-delà de la Partie 2, le même marathon a livré les jumeaux C# de la **Parti
- [AIMA - Russell & Norvig (4th ed.)](http://aima.cs.berkeley.edu/) - Chapitres 3-6
- [Convex Optimization - Boyd & Vandenberghe (Cambridge UP, 2004)](https://web.stanford.edu/~boyd/cvxbook/) - Cadre unificateur LP/QP/SOCP/SDP ; le LP de Search-9 en est le cas linéaire. Archive : `G:\Mon Drive\MyIA\IA\Bibliographie IA\Search\2004 - Convex Optimisation.pdf`
- [Heuristic Search: Theory and Applications - Edelkamp & Schrödl (Morgan Kaufmann, 2012)](https://www.elsevier.com/books/heuristic-search-theory-and-applications/edelkamp/978-0-12-372512-7) - Le partage de coûts (cost partitioning) qui sous-tend la PDB additive. Ancre page mesurée sur l'index du PDF archivé : *action cost partitioning* / *pattern database partitioning*, **p. 312** (exemplaire tronqué : seule l'index pp. 826-835 est lisible ; chapitre 8 *Combining Heuristic Functions* cohérent avec la TOC de l'édition, à confirmer sur un exemplaire complet).
- [Constraint Processing - Rina Dechter (2003)](https://www.cambridge.org/core/books/constraint-processing/)
- [Constraint Processing - Rina Dechter (Morgan Kaufmann, 2003)](https://shop.elsevier.com/books/constraint-processing/dechter/978-1-55860-890-0)
- [Handbook of Constraint Programming (2006)](https://www.elsevier.com/books/handbook-of-constraint-programming/)
- [The CP-SAT Primer (Krupke & Schmitt, 2023, CC-BY)](https://d-krupke.github.io/cpsat-primer/) - Fonctionnement interne de CP-SAT : presolve, LNS, hints de solution, portfolio de workers (lecture en ligne gratuite)

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
date: '2026-10-08'
by: myia-po-2026:CoursIA-2
python_sha: 973e1a859bba6ebe2d6928feb62af8b4bf583621
csharp_sha: bd04b520bed98c304f529f2b71542bb6b8709b26
content_python_sha: 9b5d42f071e4eca19327e92290a703e5c4a5b40b7e50ad86c1f556e7cb68fdf9
content_csharp_sha: b0cbf1229be6ad4844573140da28f051cacfbda613c4d6cb6ba5f8bf26750a91
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
date: '2026-10-08'
by: myia-po-2026:CoursIA-2
python_sha: 283ab3b357e5ae8c4d46ae436da9ea12e059c2d0
csharp_sha: 25f8633176e24bd41ac2cea6521c2604613c5a99
content_python_sha: 80d9a8d0aafacdd6418d17e0b9cb9bb3556b9e00252fe8b27f1e3855c81a8fc7
content_csharp_sha: b82bdadc27f7b0a5d3a185599bc1476bd29d5b372b5b6a32bf979aa11192d172
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
date: '2026-10-08'
by: myia-po-2026:CoursIA-2
python_sha: 3293835d822912e3afd0c3aa69d28df0aac0b416
csharp_sha: df35f0af8ab9c308f660b56bddae59c77c1895b6
content_python_sha: 56ee48810b93d703cd398c64da57876184961978f954a4cf031cf547eed49ccb
content_csharp_sha: 7af45ac0715d662b8d311b689c13371befb3a3f0746e2e834d3c199a6afbd196
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
date: '2026-10-09'
by: myia-po-2026:CoursIA-2
python_sha: 69a28f6eae282638fe5e5af2541182d97a05fdde
csharp_sha: 78ed5ef9d03377400aba1a57d7a98493309fe59c
content_python_sha: da113b96f41a7bc24d258ca2d660f4ff92fc924add0ed2e90a9ea405e078e62a
content_csharp_sha: 9924e96fb16659e8f0fd0ee84e0b562987acb370b855a94afd786cebc711ecf4
Loading