diff --git a/MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argument_Analysis_Executor.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argument_Analysis_Executor.ipynb index 77b338a457..0f9f0abc2c 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argument_Analysis_Executor.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argument_Analysis_Executor.ipynb @@ -253,7 +253,7 @@ "\n", "**Dépendances système**:\n", "- **JDK 11+** (pour Tweety via JPype): `JAVA_HOME` doit être configuré\n", - "- **Bibliothèque Tweety**: JARs dans `libs/` (téléchargement automatique via `Tweety-1-Setup.ipynb`)\n", + "- **Bibliothèque Tweety**: JARs dans `libs/` (téléchargement automatique via `Tweety-01-Setup-Python.ipynb`)\n", "\n", "**Fichiers requis**:\n", "\n", diff --git a/MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argument_Analysis_Value_Based_AF.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argument_Analysis_Value_Based_AF.ipynb index af90c31060..77528c7c6e 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argument_Analysis_Value_Based_AF.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argument_Analysis_Value_Based_AF.ipynb @@ -324,7 +324,7 @@ "\n", "**Lecture** : sur ce cycle, le grounded contient toujours **deux** arguments sur trois — mais l'argument *exclu* change avec l'audience ($b$, puis $c$, puis $a$). Le mécanisme : l'argument dont la valeur est **la plus préférée** voit l'attaque dirigée contre lui échouer (son attaquant est moins préféré), donc il survit ; et comme sa propre attaque *vers le suivant* réussit, il élimine ce suivant. Le troisième argument survit alors par défense (le survivant principal défait l'attaquant du troisième). En résumé : **mettre une valeur en tête d'audience condamne l'argument que cette valeur attaque dans le cycle**.\n", "\n", - "C'est le résultat central de Bench-Capon : **la conclusion d'un débat n'est pas déterminée par le graphe d'arguments seul, mais par le graphe ET les valeurs de l'audience**. Trois auditoires de valeurs différentes, confrontés aux *mêmes* arguments, excluent légitimement des arguments différents. Cela relie l'argumentation à la théorie du choix social : si plusieurs individus ont des audiences différentes, **agréger leurs préférences** (cf. [Tweety-9](../Tweety/Tweety-9-Preferences.ipynb), [GameTheory SocialChoice](../../GameTheory/)) devient la question centrale pour décider collectivement." + "C'est le résultat central de Bench-Capon : **la conclusion d'un débat n'est pas déterminée par le graphe d'arguments seul, mais par le graphe ET les valeurs de l'audience**. Trois auditoires de valeurs différentes, confrontés aux *mêmes* arguments, excluent légitimement des arguments différents. Cela relie l'argumentation à la théorie du choix social : si plusieurs individus ont des audiences différentes, **agréger leurs préférences** (cf. [Tweety-9](../Tweety/Tweety-09-Preferences-Python.ipynb), [GameTheory SocialChoice](../../GameTheory/)) devient la question centrale pour décider collectivement." ] }, { @@ -613,7 +613,7 @@ "\n", "### Prochaines étapes\n", "\n", - "- **Agrégation d'audiences → choix social** : si chaque individu a sa propre audience, comment décider collectivement ? C'est le pont vers [Tweety-9 (préférences)](../Tweety/Tweety-9-Preferences.ipynb) et [GameTheory / SocialChoice](../../GameTheory/) (théorèmes d'impossibilité d'Arrow, votations). La question « existe-t-il une agrégation d'audiences qui préserve la rationalité ? » est un analogue direct du paradoxe de Condorcet.\n", + "- **Agrégation d'audiences → choix social** : si chaque individu a sa propre audience, comment décider collectivement ? C'est le pont vers [Tweety-9 (préférences)](../Tweety/Tweety-09-Preferences-Python.ipynb) et [GameTheory / SocialChoice](../../GameTheory/) (théorèmes d'impossibilité d'Arrow, votations). La question « existe-t-il une agrégation d'audiences qui préserve la rationalité ? » est un analogue direct du paradoxe de Condorcet.\n", "- **Argumentation graduée** : plutôt qu'un ordre total sur les valeurs, [Ranking_Semantics](Argument_Analysis_Ranking_Semantics.ipynb) attribue une *force numérique* à chaque argument — une autre façon de départager ce que Dung laisse indécidé.\n", "- **Bipolarité** : les VAF gèrent les préférences, mais restent *attack-only*. Les cadres bipolaires (Cayrol & Lagasquie-Schiex, 2005) ajoutent une relation de **support** — un prolongement naturel au-delà de ce notebook.\n", "\n", @@ -621,7 +621,7 @@ "\n", "- Trevor J. M. Bench-Capon, *« A Value-Based Argumentation Framework »*, dans *Proceedings of the European Conference on Logics in Artificial Intelligence (JELIA)*, 2003 — le papier fondateur du cadre VAF reconstruit ici.\n", "\n", - "---\n", + "***\n", "\n", "*Notebook pédagogique — pur stdlib Python, déterministe, sans LLM ni solveur externe. Conforme C.1 (stubs sans erreur volontaire), C.2 (sorties réelles), exercices à compléter.*" ] diff --git a/MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/README.md b/MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/README.md index 66ff4d0537..6558047456 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/README.md +++ b/MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/README.md @@ -331,7 +331,7 @@ Lecture `CATALOG-STATUS` byte-identique (l. 3-8) : la valeur canonique `pedagogi | ----- | ---------- | ------- | | **[Tweety](../Tweety/)** | Backend argumentatif | Utilise directement TweetyProject (JPype) pour le raisonnement formel. Les sémantiques de Dung (Tweety-5) et la révision de croyances (Tweety-4) sont au cœur du pipeline. | | **[Lean](../Lean/)** | Preuves formelles | La formalisation logique des arguments (Agentic-2) suit le même paradigme que les tactiques Lean. La vérification de cohérence via SAT est analogue aux proof checkers. | -| **[Tweety-9](../Tweety/Tweety-9-Preferences.ipynb)** | Préférences et vote | L'analyse d'arguments de valeur croise les modèles de préférence et la théorie du choix social (GameTheory/game_theory_lean/SocialChoice/). | +| **[Tweety-9](../Tweety/Tweety-09-Preferences-Python.ipynb)** | Préférences et vote | L'analyse d'arguments de valeur croise les modèles de préférence et la théorie du choix social (GameTheory/game_theory_lean/SocialChoice/). | | **[SemanticWeb](../SemanticWeb/)** | Raisonneur OWL/SHACL | Pattern analogue pour la détection d'incohérence ; l'ontologie Argumentum partage les mêmes contraintes de parsing (axiom mal-formés, rdflib en échec) — le notebook `Ontology_AIF` charge `argumentum_fallacies.owl` via parseur regex dédié. | | **[Argumentum](../../../../Argumentum)** *(submodule, hors-repo)* | Ontologie source | L'ontologie `argumentum_fallacies.owl` (4,7 MB OWL2/XML, 10 976 NamedIndividual) est l'export formel de la taxonomie utilisée par le détecteur de sophismes (1-informal). Les 8 colonnes `crossLink_*` du CSV upstream complètent les relations OWL natives par des liens inter-noeuds (PredatesOn, Denounces, Leverages, Allows, Opposes, Inverts, Mirrors, IsRelatedTo). | @@ -354,7 +354,7 @@ Lecture `CATALOG-STATUS` byte-identique (l. 3-8) : la valeur canonique `pedagogi | `Agentic-1-informal` (taxonomie 1406 nœuds, 7 familles de sophismes) + `Agentic-2-formal` (Tweety) | [Tweety](../Tweety/) (JPype, sémantiques Dung, FOL, Modal) | TweetyProject = solveur formel unique, JPype = pont Python/Java ; Argument_Analysis consomme les API Tweety comme backend de validation | | `Agentic-2-formal` (PL/FOL/Modal/Dung) | [Lean](../Lean/) (preuves formelles, tactiques) | Formalisation logique = même paradigme que tactiques Lean ; frontière informel/formel analogue à proof/script | | `Dung_AF_Semantics`, `Ranking_Semantics` | [Tweety](../Tweety/) (Tweety-5 argumentation abstraite) + [GameTheory](../../GameTheory/) (`game_theory_lean/SocialChoice/` Voting.lean) | Sémantiques de Dung (grounded/preferred/stable) = même fondement mathématique que Voting (Banks sets, monotonie STV) | -| `Value_Based_AF` | [GameTheory](../../GameTheory/) (`game_theory_lean/SocialChoice/`) + [Tweety-9](../Tweety/Tweety-9-Preferences.ipynb) (préférences) | Audiences VAF = ordres de préférence sur les valeurs : agréger plusieurs audiences = problème de choix social (Condorcet, Arrow), pont direct vers la théorie du vote | +| `Value_Based_AF` | [GameTheory](../../GameTheory/) (`game_theory_lean/SocialChoice/`) + [Tweety-9](../Tweety/Tweety-09-Preferences-Python.ipynb) (préférences) | Audiences VAF = ordres de préférence sur les valeurs : agréger plusieurs audiences = problème de choix social (Condorcet, Arrow), pont direct vers la théorie du vote | | `Agentic-3-orchestration` (Semantic Kernel) | [Argumentum](Argumentum/) + [CoursIA-OwlAdapter](CoursIA-OwlAdapter/) (EPITA-IS verbatim ports, sous-dossiers locaux) | Orchestration agentique = même architecture que Semantic Kernel orchestrant prompts ; Argumentum = ports upstream byte-equal | | `Restitution_3_Actes` (narration LLM *gated*) | [GenAI](../../GenAI/) (Text/Image/Audio/Video, self-hosted + Cloud) | Restitution LLM = même besoin de **séparation lisibilité/honnêteté** que GenAI Text : le LLM génère, le scaffold déterministe garantit la grounding | | `Multi_Backend_Routing`, `Formal_Richness_Matrix` (sentinelle anti-théâtre) | [Search](../../Search/) (CSP/SMT/Z3) + [SemanticWeb](../SemanticWeb/) (OWL/SHACL raisonneurs) | Routage multi-solveur avec sentinelle « décider ou échouer bruyamment » analogue à CSP marathon EPIC #4956 ; classification 4-verdicts symétrique aux solveurs OWL (consistent / inconsistent / unknown / timeout) | diff --git a/MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-3b-Formalized-Formal-Logic.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-3b-Formalized-Formal-Logic.ipynb index 930d07fab0..94c24b0896 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-3b-Formalized-Formal-Logic.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-3b-Formalized-Formal-Logic.ipynb @@ -18,7 +18,7 @@ "\n", "**Navigation** : [Index](README.md) | [Lean-3 (Propositions) <<](Lean-3-Propositions-Proofs.ipynb) | [Lean-4 (Quantifiers) >>](Lean-4-Quantifiers.ipynb)\n", "\n", - "Companion transversal de [Tweety-2](../Tweety/Tweety-2-Basic-Logics.ipynb) et de\n", + "Companion transversal de [Tweety-2](../Tweety/Tweety-02-Basic-Logics-Python.ipynb) et de\n", "[Lean-3](Lean-3-Propositions-Proofs.ipynb) — premier maillon de l'Epic\n", "**#15066 (Formalized Formal Logic)**.\n", "\n", diff --git a/MyIA.AI.Notebooks/SymbolicAI/README.md b/MyIA.AI.Notebooks/SymbolicAI/README.md index 6bc77d4b46..23529001ea 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/README.md +++ b/MyIA.AI.Notebooks/SymbolicAI/README.md @@ -93,7 +93,7 @@ La série SymbolicLearning (21 notebooks : 12 Python + 8 jumeaux C# from-scratch | Série | Premier notebook | Commande rapide | |-------|-----------------|-----------------| -| **Tweety** | `Tweety/Tweety-1-Setup.ipynb` | Ouvrir dans Jupyter, exécuter toutes les cellules | +| **Tweety** | `Tweety/Tweety-01-Setup-Python.ipynb` | Ouvrir dans Jupyter, exécuter toutes les cellules | | **Lean** | `Lean/Lean-1-Setup.ipynb` | `wsl -d Ubuntu -- bash -c "jupyter notebook Lean-1-Setup.ipynb"` | | **SemanticWeb** | `SemanticWeb/SW-1-CSharp-Setup.ipynb` (.NET) ou `SW-2b-Python-RDFBasics.ipynb` (Python) | `pip install rdflib pySHACL` | | **Planners** | `Planners/00-Environment/Planners-0-Setup.ipynb` | `pip install ortools unified_planning` | @@ -130,8 +130,8 @@ Série sur [TweetyProject](https://tweetyproject.org/), bibliothèque Java pour | # | Notebook | Contenu | Exercices | Prérequis | |---|----------|---------|-----------|-----------| | **Fondations** | | | | | -| 1 | [Tweety-1-Setup](Tweety/Tweety-1-Setup.ipynb) | Configuration JVM via JPype, JARs (35 modules), outils externes | Setup | Java/JPype | -| 2 | [Tweety-2-Basic-Logics](Tweety/Tweety-2-Basic-Logics.ipynb) | Logique Propositionnelle, SAT4J, PySAT. FOL : prédicats, quantificateurs | 2 | Java/JPype | +| 1 | [Tweety-1-Setup](Tweety/Tweety-01-Setup-Python.ipynb) | Configuration JVM via JPype, JARs (35 modules), outils externes | Setup | Java/JPype | +| 2 | [Tweety-2-Basic-Logics](Tweety/Tweety-02-Basic-Logics-Python.ipynb) | Logique Propositionnelle, SAT4J, PySAT. FOL : prédicats, quantificateurs | 2 | Java/JPype | | 3 | [Tweety-3-Advanced-Logics](Tweety/Tweety-3-Advanced-Logics.ipynb) | Description Logic, Logique Modale (SPASS), QBF, Conditionnelle | 2 | Java/JPype, SPASS | | **Revision de Croyances** | | | | | | 4 | [Tweety-4-Belief-Revision](Tweety/Tweety-4-Belief-Revision.ipynb) | Postulats AGM, MUS, MaxSAT, mesures d'incohérence | 2 | Java/JPype | @@ -139,12 +139,12 @@ Série sur [TweetyProject](https://tweetyproject.org/), bibliothèque Java pour | 5 | [Tweety-5-Abstract-Argumentation](Tweety/Tweety-5-Abstract-Argumentation.ipynb) | Frameworks de Dung, sémantiques (grounded, preferred, stable, CF2) | 2 | Java/JPype | | 5b | [Tweety-5b-Lean-Argumentation](Tweety/Tweety-5b-Lean-Argumentation.ipynb) | Companion natif (kernel Lean) : preuve formelle 0-sorry de l'argumentation de Dung (grounded = point fixe Knaster–Tarski) dans le lake `argumentation_lean` | 3 | Lean 4 / WSL | | 5d | [Tweety-5d-Stable-Synthesis-Lean](Tweety/Tweety-5d-Stable-Synthesis-Lean.ipynb) | Synthèse certifiée d'extensions stables : Z3 → Lean (Loi II) | 4 | Java/JPype, Z3 | -| 6 | [Tweety-6-Structured-Argumentation](Tweety/Tweety-6-Structured-Argumentation.ipynb) | ASPIC+, DeLP, ABA, ASP avec Clingo | 2 | Java/JPype, Clingo | -| 7a | [Tweety-7a-Extended-Frameworks](Tweety/Tweety-7a-Extended-Frameworks.ipynb) | ADF, Bipolar, WAF, SAF, SetAF, EAF | 2 | Java/JPype | -| 7b | [Tweety-7b-Ranking-Probabilistic](Tweety/Tweety-7b-Ranking-Probabilistic.ipynb) | Ranking semantics, argumentation probabiliste | 2 | Java/JPype | +| 6 | [Tweety-6-Structured-Argumentation](Tweety/Tweety-06-Structured-Argumentation-Python.ipynb) | ASPIC+, DeLP, ABA, ASP avec Clingo | 2 | Java/JPype, Clingo | +| 7a | [Tweety-7a-Extended-Frameworks](Tweety/Tweety-07a-Extended-Frameworks-Python.ipynb) | ADF, Bipolar, WAF, SAF, SetAF, EAF | 2 | Java/JPype | +| 7b | [Tweety-7b-Ranking-Probabilistic](Tweety/Tweety-07b-Ranking-Probabilistic-Python.ipynb) | Ranking semantics, argumentation probabiliste | 2 | Java/JPype | | **Applications** | | | | | -| 8 | [Tweety-8-Agent-Dialogues](Tweety/Tweety-8-Agent-Dialogues.ipynb) | Agents argumentatifs, protocoles de dialogue, loteries | 2 | Java/JPype | -| 9 | [Tweety-9-Preferences](Tweety/Tweety-9-Preferences.ipynb) | Ordres de préférence, théorie du vote (Borda, Copeland) | 1 | Java/JPype | +| 8 | [Tweety-8-Agent-Dialogues](Tweety/Tweety-08-Agent-Dialogues-Python.ipynb) | Agents argumentatifs, protocoles de dialogue, loteries | 2 | Java/JPype | +| 9 | [Tweety-9-Preferences](Tweety/Tweety-09-Preferences-Python.ipynb) | Ordres de préférence, théorie du vote (Borda, Copeland) | 1 | Java/JPype | | **Raisonnement avancé** | | | | | | 10 | [Tweety-10-MLN](Tweety/Tweety-10-MLN.ipynb) | Markov Logic Networks : FOL pondérée, inférence probabiliste sur formules | 3 | Java/JPype | | 11 | [Tweety-11-Causal](Tweety/Tweety-11-Causal.ipynb) | Raisonnement causal : do-calculus (Pearl), interventions, contrefactuels | 3 | Java/JPype | @@ -508,7 +508,7 @@ Documentation complète : [SymbolicLearning/README.md](SymbolicLearning/README.m ``` SymbolicAI/ ├── Tweety/ # Serie TweetyProject (34 notebooks : 14 Python/JPype + 18 C#/IKVM — EPICs #4667 + #4956 — + 1 Lean Tweety-5b + 1 _probes) -│ ├── Tweety-1-Setup.ipynb ... Tweety-12-Grounded-Via-TweetyProject.ipynb +│ ├── Tweety-01-Setup-Python.ipynb ... Tweety-12-Grounded-Via-TweetyProject.ipynb │ ├── Tweety-*-Csharp.ipynb # Modules .NET mergés via IKVM 8.14/8.15 │ ├── tweety_init.py # Module d'initialisation partage │ ├── libs/ # JARs TweetyProject (35 modules) @@ -618,7 +618,7 @@ dotnet interactive jupyter install **Status exécution : 10/10 SUCCESS** (snapshot 15/08/2026 sur le périmètre Python d'alors ; la série compte désormais 14 notebooks Python — cf. marqueur `CATALOG-STATUS`) -Le setup est entièrement automatisé via `Tweety-1-Setup.ipynb` : +Le setup est entièrement automatisé via `Tweety-01-Setup-Python.ipynb` : 1. **JDK 17 portable** : Auto-télécharge dans `Tweety/jdk-17-portable/` (Azul Zulu, ~180MB). Aucune installation système requise, pas de UAC. 2. **JARs TweetyProject** : Auto-télécharges dans `Tweety/libs/` depuis Maven Central (35 modules, ~50MB total). @@ -813,7 +813,7 @@ L'IA symbolique repose sur la **manipulation explicite de symboles et de règles ### Comment installer l'environnement Tweety ? -Ouvrez le notebook `Tweety-1-Setup.ipynb` : il télécharge automatiquement JDK 17 et les 35 JARs TweetyProject. Vous pouvez aussi lancer `python Tweety/scripts/download_tweety_tools.py --all` en ligne de commande. Les dependances Python sont `jpype1 requests tqdm clingo z3-solver python-sat`. +Ouvrez le notebook `Tweety-01-Setup-Python.ipynb` : il télécharge automatiquement JDK 17 et les 35 JARs TweetyProject. Vous pouvez aussi lancer `python Tweety/scripts/download_tweety_tools.py --all` en ligne de commande. Les dependances Python sont `jpype1 requests tqdm clingo z3-solver python-sat`. ### Par quelle sous-série commencer si je n'ai pas de JDK installe ? diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/README.md b/MyIA.AI.Notebooks/SymbolicAI/Tweety/README.md index fd387218d4..d5ac61fcb1 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/README.md +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/README.md @@ -142,11 +142,11 @@ Pour les praticiens intéressés par les applications multi-agents : | # | Notebook | Thème | Durée | Stack | |---|-------------------------------------------|----------------------------------------------------------------|---------|--------| | **Fondations** | | | | | -| 1 | [Tweety-1-Setup](Tweety-1-Setup.ipynb) | Configuration JVM, JARs, outils externes | 20 min | Python | -| 2 | [Tweety-2-Basic-Logics](Tweety-2-Basic-Logics.ipynb) | Logique Propositionnelle et FOL | 45 min | Python | -| 2a | [Tweety-2-Basic-Logics-Csharp](Tweety-2-Basic-Logics-Csharp.ipynb) | Logique propositionnelle .NET (IKVM, port pilot #4792) | 30 min | C# PROD | -| 2b | [Tweety-2b-Semantics-Csharp](Tweety-2b-Semantics-Csharp.ipynb) | Sémantique propositionnelle .NET (mondes possibles) | 30 min | C# BETA | -| 2c | [Tweety-2c-FOL-Csharp](Tweety-2c-FOL-Csharp.ipynb) | FOL porté .NET (IKVM) | 30 min | C# BETA | +| 1 | [Tweety-1-Setup](Tweety-01-Setup-Python.ipynb) | Configuration JVM, JARs, outils externes | 20 min | Python | +| 2 | [Tweety-2-Basic-Logics](Tweety-02-Basic-Logics-Python.ipynb) | Logique Propositionnelle et FOL | 45 min | Python | +| 2a | [Tweety-2-Basic-Logics-Csharp](Tweety-02-Basic-Logics-CSharp.ipynb) | Logique propositionnelle .NET (IKVM, port pilot #4792) | 30 min | C# PROD | +| 2b | [Tweety-2b-Semantics-Csharp](Tweety-02b-Semantics-CSharp.ipynb) | Sémantique propositionnelle .NET (mondes possibles) | 30 min | C# BETA | +| 2c | [Tweety-2c-FOL-Csharp](Tweety-02c-FOL-CSharp.ipynb) | FOL porté .NET (IKVM) | 30 min | C# BETA | | 3 | [Tweety-3-Advanced-Logics](Tweety-3-Advanced-Logics.ipynb) | DL, Modale, QBF, Conditionnelle | 40 min | Python | | 3c-DL | [Tweety-3-Advanced-Logics-Csharp](Tweety-3-Advanced-Logics-Csharp.ipynb) | DL/ML/QBF/CL .NET (DRAFT - conflits DLL) | 30 min | C# DRAFT | | 3c-CL | [Tweety-3-Conditional-Logics-Csharp](Tweety-3-Conditional-Logics-Csharp.ipynb) | Logique conditionnelle .NET (IKVM) | 25 min | C# PROD | @@ -163,17 +163,17 @@ Pour les praticiens intéressés par les applications multi-agents : | 5c | [Tweety-5-Abstract-Argumentation-Csharp](Tweety-5-Abstract-Argumentation-Csharp.ipynb) | Twin C# Dung AF **from-scratch** (BCL .NET uniquement, pas IKVM/JVM) : fonction caractéristique, acceptabilité, ensembles admissibles/complets, sémantiques grounded (plus petit point fixe) / stable / preferred, labeling 3 valeurs (in/out/undec), génération aléatoire de cadres, 3 exercices. Complémentarité from-scratch ↔ Python/IKVM (marathon #4956, §3801) | 50 min | C# BETA | | 5d | [Tweety-5d-Stable-Synthesis-Lean](Tweety-5d-Stable-Synthesis-Lean.ipynb) | Synthèse certifiée d'extensions stables (Loi II #12205, variante `-c`, #13597) : spécification → **Z3** (générateur ≠ vérificateur) → témoin `{1, 2, 5}` → certificat Lean `by decide` dans le lake `argumentation_lean` (module `Argumentation.Synthesis` + sibling `_en`, i18n #4980) ; cas UNSAT du 3-cycle certifié (`afB_no_stable`) — dissociation enregistrée à la borne n = 3 | 40 min | Python+Lean BETA | | 5e | [Tweety-5e-Propositional-Lab-Lean](Tweety-5e-Propositional-Lab-Lean.ipynb) | Companion transversal (tranche A de l'EPIC [#15066](https://github.com/jsboige/CoursIA/issues/15066)) : trois formules-témoins (`SYL` valide, `ORB` satisfiable non valide, `CONTR` insatisfiable) traversent **trois lectures** — Tweety via JPype (verdicts et contre-modèles **calculés**), recomptage Python indépendant des 8 mondes du fragment `{a, b, c}`, certification du kernel Lean natif sur **Foundation (FFL)** au commit épinglé ; la même chaîne de formule est sérialisée pour les deux moteurs (SOTA, aucune réimplémentation jouet) | 40 min | Python+Lean BETA | -| 6 | [Tweety-6-Structured-Argumentation](Tweety-6-Structured-Argumentation.ipynb) | ASPIC+, DeLP, ABA, ASP | 60 min | Python | -| 6c | [Tweety-6-Structured-Argumentation-Csharp](Tweety-6-Structured-Argumentation-Csharp.ipynb) | Twin C# ASPIC+ from-scratch (BCL, pas IKVM ; DeLP/ABA/ASP conceptuel) | 35 min | C# PROD | -| 7a | [Tweety-7a-Extended-Frameworks](Tweety-7a-Extended-Frameworks.ipynb) | ADF, Bipolar, WAF, SAF, SetAF, Extended | 50 min | Python | -| 7ac | [Tweety-7a-Extended-Frameworks-Csharp](Tweety-7a-Extended-Frameworks-Csharp.ipynb) | Twin C# hybride : ADF/SetAF/EAF/VAF from-scratch (BCL, Kleene 3-valued) + tranche 2 lib Tweety reelle via IKVM (DLL shade 7a versionnee a la racine, rebuildable dotnet-build/rebuild-7a.sh ; See #4956) | 55 min | C# PROD | -| 7b | [Tweety-7b-Ranking-Probabilistic](Tweety-7b-Ranking-Probabilistic.ipynb) | Ranking Semantics, Probabiliste | 40 min | Python | -| 7bc | [Tweety-7b-Ranking-Probabilistic-Csharp](Tweety-7b-Ranking-Probabilistic-Csharp.ipynb) | Ranking/Probabiliste .NET (IKVM, c.179 PR #5231) | 30 min | C# PROD | +| 6 | [Tweety-6-Structured-Argumentation](Tweety-06-Structured-Argumentation-Python.ipynb) | ASPIC+, DeLP, ABA, ASP | 60 min | Python | +| 6c | [Tweety-6-Structured-Argumentation-Csharp](Tweety-06-Structured-Argumentation-CSharp.ipynb) | Twin C# ASPIC+ from-scratch (BCL, pas IKVM ; DeLP/ABA/ASP conceptuel) | 35 min | C# PROD | +| 7a | [Tweety-7a-Extended-Frameworks](Tweety-07a-Extended-Frameworks-Python.ipynb) | ADF, Bipolar, WAF, SAF, SetAF, Extended | 50 min | Python | +| 7ac | [Tweety-7a-Extended-Frameworks-Csharp](Tweety-07a-Extended-Frameworks-CSharp.ipynb) | Twin C# hybride : ADF/SetAF/EAF/VAF from-scratch (BCL, Kleene 3-valued) + tranche 2 lib Tweety reelle via IKVM (DLL shade 7a versionnee a la racine, rebuildable dotnet-build/rebuild-7a.sh ; See #4956) | 55 min | C# PROD | +| 7b | [Tweety-7b-Ranking-Probabilistic](Tweety-07b-Ranking-Probabilistic-Python.ipynb) | Ranking Semantics, Probabiliste | 40 min | Python | +| 7bc | [Tweety-7b-Ranking-Probabilistic-Csharp](Tweety-07b-Ranking-Probabilistic-CSharp.ipynb) | Ranking/Probabiliste .NET (IKVM, c.179 PR #5231) | 30 min | C# PROD | | **Applications** | | | | | -| 8 | [Tweety-8-Agent-Dialogues](Tweety-8-Agent-Dialogues.ipynb) | Agents, Dialogues argumentatifs, Loteries | 35 min | Python | -| 8c | [Tweety-8-Agent-Dialogues-Csharp](Tweety-8-Agent-Dialogues-Csharp.ipynb) | Twin C# dialogues argumentatifs from-scratch (BCL .NET, pas IKVM/JVM ; Dung AF + agents + protocole Claim/Argue/Concede/Retract + loterie argumentative Monte-Carlo) | 35 min | C# PROD | -| 9 | [Tweety-9-Preferences](Tweety-9-Preferences.ipynb) | Préférences, Théorie du vote | 30 min | Python | -| 9c | [Tweety-9-Preferences-Csharp](Tweety-9-Preferences-Csharp.ipynb) | Préférences .NET (IKVM, c.180 PR #5268) | 30 min | C# PROD | +| 8 | [Tweety-8-Agent-Dialogues](Tweety-08-Agent-Dialogues-Python.ipynb) | Agents, Dialogues argumentatifs, Loteries | 35 min | Python | +| 8c | [Tweety-8-Agent-Dialogues-Csharp](Tweety-08-Agent-Dialogues-CSharp.ipynb) | Twin C# dialogues argumentatifs from-scratch (BCL .NET, pas IKVM/JVM ; Dung AF + agents + protocole Claim/Argue/Concede/Retract + loterie argumentative Monte-Carlo) | 35 min | C# PROD | +| 9 | [Tweety-9-Preferences](Tweety-09-Preferences-Python.ipynb) | Préférences, Théorie du vote | 30 min | Python | +| 9c | [Tweety-9-Preferences-Csharp](Tweety-09-Preferences-CSharp.ipynb) | Préférences .NET (IKVM, c.180 PR #5268) | 30 min | C# PROD | | **Synthèse** | | | | | | 10 | [Tweety-10-MLN](Tweety-10-MLN.ipynb) | Markov Logic Networks (FOL pondérée) | 50 min | Python | | 10c | [Tweety-10-MLN-Csharp](Tweety-10-MLN-Csharp.ipynb) | MLN porté .NET (IKVM, c.188 PR #5209) | 30 min | C# PROD | @@ -322,7 +322,7 @@ flowchart LR pip install jpype1 requests tqdm clingo z3-solver python-sat # 2. Ouvrir le notebook de setup (auto-télécharge JDK + JARs) -jupyter notebook Tweety-1-Setup.ipynb +jupyter notebook Tweety-01-Setup-Python.ipynb # 3. Exécuter toutes les cellules, puis passer à Tweety-2 ``` @@ -380,7 +380,7 @@ pip install jpype1 requests tqdm clingo z3-solver python-sat ```bash # Lancer le notebook de setup -jupyter notebook Tweety-1-Setup.ipynb +jupyter notebook Tweety-01-Setup-Python.ipynb # Exécuter toutes les cellules — il télécharge JDK, JARs, outils externes # Ou utiliser le script de validation @@ -394,11 +394,11 @@ JDK 17 et les 42 JARs (39 modules TweetyProject 1.30 + 3 dépendances externes : ``` Tweety/ -├── Tweety-1-Setup.ipynb # Configuration JVM/JPype -├── Tweety-2-Basic-Logics.ipynb # PL + FOL -├── Tweety-2-Basic-Logics-Csharp.ipynb # Logique propositionnelle .NET (IKVM, PROD) -├── Tweety-2b-Semantics-Csharp.ipynb # Sémantique propositionnelle .NET (IKVM, BETA) -├── Tweety-2c-FOL-Csharp.ipynb # FOL .NET (IKVM, BETA) +├── Tweety-01-Setup-Python.ipynb # Configuration JVM/JPype +├── Tweety-02-Basic-Logics-Python.ipynb # PL + FOL +├── Tweety-02-Basic-Logics-CSharp.ipynb # Logique propositionnelle .NET (IKVM, PROD) +├── Tweety-02b-Semantics-CSharp.ipynb # Sémantique propositionnelle .NET (IKVM, BETA) +├── Tweety-02c-FOL-CSharp.ipynb # FOL .NET (IKVM, BETA) ├── Tweety-3-Advanced-Logics.ipynb # DL, ML, QBF, CL ├── Tweety-3-Advanced-Logics-Csharp.ipynb # DL/ML/QBF/CL .NET (DRAFT — conflits DLL) ├── Tweety-3-Conditional-Logics-Csharp.ipynb # Logique conditionnelle .NET (IKVM, PROD) @@ -413,16 +413,16 @@ Tweety/ ├── Tweety-5b-Lean-Argumentation.ipynb # Companion kernel Lean 4 ├── Tweety-5d-Stable-Synthesis-Lean.ipynb # Synthèse certifiée Z3→Lean (Loi II #12205) ├── Tweety-5e-Propositional-Lab-Lean.ipynb # Laboratoire propositionnel Tweety/Lean (tranche A #15066) -├── Tweety-6-Structured-Argumentation.ipynb # ASPIC+, DeLP, ABA, ASP -├── Tweety-6-Structured-Argumentation-Csharp.ipynb # Twin C# ASPIC+ from-scratch (BCL, PROD) -├── Tweety-7a-Extended-Frameworks.ipynb # ADF, Bipolar, WAF, SAF -├── Tweety-7a-Extended-Frameworks-Csharp.ipynb # Twin C# ADF/SetAF/EAF/VAF from-scratch (BCL, PROD) -├── Tweety-7b-Ranking-Probabilistic.ipynb # Ranking Semantics -├── Tweety-7b-Ranking-Probabilistic-Csharp.ipynb # Ranking/Probabiliste .NET (IKVM, PROD) -├── Tweety-8-Agent-Dialogues.ipynb # Agents, dialogues, loteries -├── Tweety-8-Agent-Dialogues-Csharp.ipynb # Twin C# dialogues from-scratch (BCL, PROD) -├── Tweety-9-Preferences.ipynb # Préférences, vote -├── Tweety-9-Preferences-Csharp.ipynb # Préférences .NET (IKVM, PROD) +├── Tweety-06-Structured-Argumentation-Python.ipynb # ASPIC+, DeLP, ABA, ASP +├── Tweety-06-Structured-Argumentation-CSharp.ipynb # Twin C# ASPIC+ from-scratch (BCL, PROD) +├── Tweety-07a-Extended-Frameworks-Python.ipynb # ADF, Bipolar, WAF, SAF +├── Tweety-07a-Extended-Frameworks-CSharp.ipynb # Twin C# ADF/SetAF/EAF/VAF from-scratch (BCL, PROD) +├── Tweety-07b-Ranking-Probabilistic-Python.ipynb # Ranking Semantics +├── Tweety-07b-Ranking-Probabilistic-CSharp.ipynb # Ranking/Probabiliste .NET (IKVM, PROD) +├── Tweety-08-Agent-Dialogues-Python.ipynb # Agents, dialogues, loteries +├── Tweety-08-Agent-Dialogues-CSharp.ipynb # Twin C# dialogues from-scratch (BCL, PROD) +├── Tweety-09-Preferences-Python.ipynb # Préférences, vote +├── Tweety-09-Preferences-CSharp.ipynb # Préférences .NET (IKVM, PROD) ├── Tweety-10-MLN.ipynb # Markov Logic Networks ├── Tweety-10-MLN-Csharp.ipynb # MLN .NET (IKVM, PROD) ├── Tweety-11-Causal.ipynb # do-calculus Pearl @@ -448,7 +448,7 @@ Tweety/ └── README.md # Ce fichier ``` -> **Note** : les dossiers `libs/`, `jdk-17-portable/`, `ext_tools/` et `resources/` sont des répertoires d'exécution (non suivis par Git, téléchargés automatiquement par `Tweety-1-Setup.ipynb` ou `scripts/download_tweety_tools.py`). L'ancien dossier `templates student/` n'existe plus dans cette partition. `scripts/` contient 5 scripts `.py` au premier niveau (`download_tweety_tools.py`, `verify_all_tweety.py`, `validate_syntax.py`, `sat_calibration.py`, `sat_comparison_demo.py`), 4 tests `test_*.py` et un `README.md`, plus un sous-dossier `_archive/` (qui contient `reorganize_tweety.py`, déplacé depuis le premier niveau — plus de doublon). Le dossier `_output/` n'est pas présent dans cette partition (les traces Papermill ne sont pas conservées). Audit §E whole-file gate 2026-07-15, re-audit 2026-08-15. +> **Note** : les dossiers `libs/`, `jdk-17-portable/`, `ext_tools/` et `resources/` sont des répertoires d'exécution (non suivis par Git, téléchargés automatiquement par `Tweety-01-Setup-Python.ipynb` ou `scripts/download_tweety_tools.py`). L'ancien dossier `templates student/` n'existe plus dans cette partition. `scripts/` contient 5 scripts `.py` au premier niveau (`download_tweety_tools.py`, `verify_all_tweety.py`, `validate_syntax.py`, `sat_calibration.py`, `sat_comparison_demo.py`), 4 tests `test_*.py` et un `README.md`, plus un sous-dossier `_archive/` (qui contient `reorganize_tweety.py`, déplacé depuis le premier niveau — plus de doublon). Le dossier `_output/` n'est pas présent dans cette partition (les traces Papermill ne sont pas conservées). Audit §E whole-file gate 2026-07-15, re-audit 2026-08-15. ## Outils Externes @@ -645,7 +645,7 @@ EProver peut bloquer sur des formules FOL complexes avec égalité. La solution ### Erreur de chargement d'un JAR Tweety -Vérifier que la version Tweety dans `Tweety-1-Setup.ipynb` correspond à la version téléchargée. La version recommandée est 1.30. Pour changer de version, modifier la variable `TWEETY_VERSION` puis relancer le notebook 1. +Vérifier que la version Tweety dans `Tweety-01-Setup-Python.ipynb` correspond à la version téléchargée. La version recommandée est 1.30. Pour changer de version, modifier la variable `TWEETY_VERSION` puis relancer le notebook 1. ### `ClassCastException` en argumentation @@ -667,7 +667,7 @@ Chaque notebook présuppose la configuration faite dans Tweety-1-Setup (JDK, JAR | **1.29** | Juillet 2025 | arg.eaf (Epistemic AF), graph rendering | | **1.30** | Janvier 2026 | causal reasoning, arg.explanations, equivalence checking | -La version est configurable dans `Tweety-1-Setup.ipynb` (variable `TWEETY_VERSION`). La version 1.30 est recommandée — elle inclut les sémantiques de causalité, les explications en argumentation, et le checking d'équivalence de frameworks. +La version est configurable dans `Tweety-01-Setup-Python.ipynb` (variable `TWEETY_VERSION`). La version 1.30 est recommandée — elle inclut les sémantiques de causalité, les explications en argumentation, et le checking d'équivalence de frameworks. ## Ressources diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-1-Setup.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-01-Setup-Python.ipynb similarity index 98% rename from MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-1-Setup.ipynb rename to MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-01-Setup-Python.ipynb index 34333983f3..ca9f8e0713 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-1-Setup.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-01-Setup-Python.ipynb @@ -16,7 +16,7 @@ "source": [ "# Configuration et Installation TweetyProject\n", "\n", - "**Navigation**: Index | [Suivant: Tweety-2-Basic-Logics](Tweety-2-Basic-Logics.ipynb)\n", + "**Navigation**: Index | [Suivant: Tweety-2-Basic-Logics](Tweety-02-Basic-Logics-Python.ipynb)\n", "\n", "***\n", "\n", @@ -57,15 +57,15 @@ "| # | Notebook | Thème | Prérequis |\n", "|---|----------|-------|-----------|\n", "| 1 | **Ce notebook** | Configuration JVM/JPype | - |\n", - "| 2 | [Tweety-2-Basic-Logics](Tweety-2-Basic-Logics.ipynb) | Logique Propositionnelle, FOL | Setup |\n", + "| 2 | [Tweety-2-Basic-Logics](Tweety-02-Basic-Logics-Python.ipynb) | Logique Propositionnelle, FOL | Setup |\n", "| 3 | [Tweety-3-Advanced-Logics](Tweety-3-Advanced-Logics.ipynb) | DL, Modale, QBF, Conditional | Setup |\n", "| 4 | [Tweety-4-Belief-Revision](Tweety-4-Belief-Revision.ipynb) | CrMas, MUS, MaxSAT | Setup |\n", "| 5 | [Tweety-5-Abstract-Argumentation](Tweety-5-Abstract-Argumentation.ipynb) | Dung AF, CF2, Génération | Setup |\n", - "| 6 | [Tweety-6-Structured-Argumentation](Tweety-6-Structured-Argumentation.ipynb) | ASPIC+, DeLP, ABA, ASP | Setup + Clingo |\n", - "| 7a | [Tweety-7a-Extended-Frameworks](Tweety-7a-Extended-Frameworks.ipynb) | ADF, Bipolar, WAF, SAF, SetAF | Setup |\n", - "| 7b | [Tweety-7b-Ranking-Probabilistic](Tweety-7b-Ranking-Probabilistic.ipynb) | Ranking Semantics, Probabiliste | Setup |\n", - "| 8 | [Tweety-8-Agent-Dialogues](Tweety-8-Agent-Dialogues.ipynb) | Agents, Dialogues argumentatifs | Setup |\n", - "| 9 | [Tweety-9-Préférences](Tweety-9-Preferences.ipynb) | Préférences, Théorie du vote | Setup |\n", + "| 6 | [Tweety-6-Structured-Argumentation](Tweety-06-Structured-Argumentation-Python.ipynb) | ASPIC+, DeLP, ABA, ASP | Setup + Clingo |\n", + "| 7a | [Tweety-7a-Extended-Frameworks](Tweety-07a-Extended-Frameworks-Python.ipynb) | ADF, Bipolar, WAF, SAF, SetAF | Setup |\n", + "| 7b | [Tweety-7b-Ranking-Probabilistic](Tweety-07b-Ranking-Probabilistic-Python.ipynb) | Ranking Semantics, Probabiliste | Setup |\n", + "| 8 | [Tweety-8-Agent-Dialogues](Tweety-08-Agent-Dialogues-Python.ipynb) | Agents, Dialogues argumentatifs | Setup |\n", + "| 9 | [Tweety-9-Préférences](Tweety-09-Preferences-Python.ipynb) | Préférences, Théorie du vote | Setup |\n", "\n", "***\n", "\n", @@ -2174,19 +2174,19 @@ "\n", "| # | Notebook | Thème |\n", "|---|----------|-------|\n", - "| 2 | [Tweety-2-Basic-Logics](Tweety-2-Basic-Logics.ipynb) | Logique Propositionnelle et FOL |\n", + "| 2 | [Tweety-2-Basic-Logics](Tweety-02-Basic-Logics-Python.ipynb) | Logique Propositionnelle et FOL |\n", "| 3 | [Tweety-3-Advanced-Logics](Tweety-3-Advanced-Logics.ipynb) | DL, Modale, QBF, Conditional |\n", "| 4 | [Tweety-4-Belief-Revision](Tweety-4-Belief-Revision.ipynb) | Révision de croyances, MUS, MaxSAT |\n", "| 5 | [Tweety-5-Abstract-Argumentation](Tweety-5-Abstract-Argumentation.ipynb) | Dung, CF2, Génération |\n", - "| 6 | [Tweety-6-Structured-Argumentation](Tweety-6-Structured-Argumentation.ipynb) | ASPIC+, DeLP, ABA, ASP |\n", - "| 7a | [Tweety-7a-Extended-Frameworks](Tweety-7a-Extended-Frameworks.ipynb) | ADF, Bipolar, WAF, SAF, SetAF, Extended |\n", - "| 7b | [Tweety-7b-Ranking-Probabilistic](Tweety-7b-Ranking-Probabilistic.ipynb) | Ranking Semantics, Probabiliste |\n", - "| 8 | [Tweety-8-Agent-Dialogues](Tweety-8-Agent-Dialogues.ipynb) | Agents, Dialogues argumentatifs |\n", - "| 9 | [Tweety-9-Préférences](Tweety-9-Preferences.ipynb) | Préférences, Théorie du vote |\n", + "| 6 | [Tweety-6-Structured-Argumentation](Tweety-06-Structured-Argumentation-Python.ipynb) | ASPIC+, DeLP, ABA, ASP |\n", + "| 7a | [Tweety-7a-Extended-Frameworks](Tweety-07a-Extended-Frameworks-Python.ipynb) | ADF, Bipolar, WAF, SAF, SetAF, Extended |\n", + "| 7b | [Tweety-7b-Ranking-Probabilistic](Tweety-07b-Ranking-Probabilistic-Python.ipynb) | Ranking Semantics, Probabiliste |\n", + "| 8 | [Tweety-8-Agent-Dialogues](Tweety-08-Agent-Dialogues-Python.ipynb) | Agents, Dialogues argumentatifs |\n", + "| 9 | [Tweety-9-Préférences](Tweety-09-Preferences-Python.ipynb) | Préférences, Théorie du vote |\n", "\n", "***\n", "\n", - "**Navigation**: Index | [Suivant: Tweety-2-Basic-Logics →](Tweety-2-Basic-Logics.ipynb)" + "**Navigation**: Index | [Suivant: Tweety-2-Basic-Logics →](Tweety-02-Basic-Logics-Python.ipynb)" ] } ], @@ -2232,8 +2232,8 @@ "end_time": "2026-09-12T03:21:31.953942", "environment_variables": {}, "exception": null, - "input_path": "Tweety-1-Setup.ipynb", - "output_path": "Tweety-1-Setup.ipynb", + "input_path": "Tweety-01-Setup-Python.ipynb", + "output_path": "Tweety-01-Setup-Python.ipynb", "parameters": {}, "start_time": "2026-09-12T03:19:49.713929", "version": "2.6.0" diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics-Csharp.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02-Basic-Logics-CSharp.ipynb similarity index 96% rename from MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics-Csharp.ipynb rename to MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02-Basic-Logics-CSharp.ipynb index e20cd3d4db..a7ab06c488 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics-Csharp.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02-Basic-Logics-CSharp.ipynb @@ -7,9 +7,9 @@ "source": [ "# Tweety C# / IKVM - Logiques de Base (Port .NET du notebook Python)\n", "\n", - "**Navigation** : [<- Tweety-1-Setup](Tweety-1-Setup.ipynb) | [Index serie](Tweety-1-Setup.ipynb) | [Tweety-3-Advanced-Logics ->](Tweety-3-Advanced-Logics.ipynb)\n", + "**Navigation** : [<- Tweety-1-Setup](Tweety-01-Setup-Python.ipynb) | [Index serie](Tweety-01-Setup-Python.ipynb) | [Tweety-3-Advanced-Logics ->](Tweety-3-Advanced-Logics.ipynb)\n", "\n", - "> Ce notebook est le **port C# / .NET** de [Tweety-2-Basic-Logics.ipynb](Tweety-2-Basic-Logics.ipynb).\n", + "> Ce notebook est le **port C# / .NET** de [Tweety-02-Basic-Logics-Python.ipynb](Tweety-02-Basic-Logics-Python.ipynb).\n", "> Au lieu d'appeler Tweety depuis Python via JPype + JVM, on execute directement les\n", "> classes Tweety **recompilees en bytecode .NET via IKVM** - aucune JVM, aucun JDK requis\n", "> au runtime. Voir le notebook Python pour le contexte théorique complet.\n", @@ -23,7 +23,7 @@ "\n", "## Prerequis\n", "\n", - "- Le notebook Python `Tweety-2-Basic-Logics.ipynb` pour les notions (logique propositionnelle, mondes possibles)\n", + "- Le notebook Python `Tweety-02-Basic-Logics-Python.ipynb` pour les notions (logique propositionnelle, mondes possibles)\n", "- Le runtime est **tout .NET** : aucune installation Java/JDK n'est necessaire\n", "\n", "\n", @@ -445,9 +445,9 @@ "Reprenez ceux du notebook Python, adaptes a l'API C# (méthodes Java minuscules).\n", "\n", "\n", - "---\n", + "***\n", "\n", - "**Note de parite cross-langage** (EPIC #4956) : Le jumeau Python de ce notebook (voir `Tweety-2-Basic-Logics.ipynb`) utilise **jpype** pour demarrer une JVM in-process et appeler directement les classes Java de Tweety. Ce notebook C# utilise **IKVM** pour transpiler statiquement le bytecode Java de Tweety en DLL .NET native (7 Mo charges a l'init, voir cellule 7). Les deux strategies donnent acces au meme API Tweety. Particularite : ce notebook utilise le **vrai outil SOTA** (IKVM recompilation), contrairement a certains jumeaux Tweety-6/8 (cf PR #7913 c.736) qui reimplementaient Monte-Carlo from-scratch en BCL .NET suite a une DLL IKVM defectueuse. Audit c.739 (2026-07-22) : 0 doc-honesty finding corrigible des deux cotes.\n", + "**Note de parite cross-langage** (EPIC #4956) : Le jumeau Python de ce notebook (voir `Tweety-02-Basic-Logics-Python.ipynb`) utilise **jpype** pour demarrer une JVM in-process et appeler directement les classes Java de Tweety. Ce notebook C# utilise **IKVM** pour transpiler statiquement le bytecode Java de Tweety en DLL .NET native (7 Mo charges a l'init, voir cellule 7). Les deux strategies donnent acces au meme API Tweety. Particularite : ce notebook utilise le **vrai outil SOTA** (IKVM recompilation), contrairement a certains jumeaux Tweety-6/8 (cf PR #7913 c.736) qui reimplementaient Monte-Carlo from-scratch en BCL .NET suite a une DLL IKVM defectueuse. Audit c.739 (2026-07-22) : 0 doc-honesty finding corrigible des deux cotes.\n", "\n", "\n", "**Les chiffres du parcours** : un runtime IKVM 8.15.0 vérifié sain (`tzdb=True`), une DLL `org.tweetyproject.tweety-pl` v1.30.0.0 de 7,0 Mo chargée et lue, cinq constructions manuelles, deux parses round-trip, une KB de quatre formules — involontairement inconsistante, comme la lecture de la section 5 l'a établi. La chaîne .NET est complète : de la restauration NuGet à la requête logique, chaque maillon a sa preuve d'exécution committée. Les exercices suivants font franchir le dernier palier : de la *construction* de formules à l'*interrogation* d'une base." diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02-Basic-Logics-Python.ipynb similarity index 99% rename from MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics.ipynb rename to MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02-Basic-Logics-Python.ipynb index 5835e10244..72e445a57f 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02-Basic-Logics-Python.ipynb @@ -16,9 +16,9 @@ "source": [ "# Logiques de Base - Propositionnelle et Premier Ordre\n", "\n", - "**Navigation**: [← Tweety-1-Setup](Tweety-1-Setup.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-3-Advanced-Logics →](Tweety-3-Advanced-Logics.ipynb)\n", + "**Navigation**: [← Tweety-1-Setup](Tweety-01-Setup-Python.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-3-Advanced-Logics →](Tweety-3-Advanced-Logics.ipynb)\n", "\n", - "---\n", + "***\n", "\n", "## Objectifs pédagogiques\n", "\n", @@ -29,7 +29,7 @@ "\n", "## Prérequis\n", "\n", - "Exécutez d'abord [Tweety-1-Setup.ipynb](Tweety-1-Setup.ipynb) pour configurer l'environnement JVM.\n", + "Exécutez d'abord [Tweety-01-Setup-Python.ipynb](Tweety-01-Setup-Python.ipynb) pour configurer l'environnement JVM.\n", "\n", "### Durée estimée : 45 minutes\n", "\n", @@ -242,9 +242,9 @@ "\n", "> **Note** : Pour les notebooks suivants, EProver et pySAT seront particulierement utiles.\n", "\n", - "---\n", + "***\n", "\n", - "**Note de parite cross-langage** (EPIC #4956) : Le jumeau C# de ce notebook (voir `Tweety-2-Basic-Logics-Csharp.ipynb`) utilise une strategie differente : **IKVM** transpile statiquement le bytecode Java de Tweety en DLL .NET native (7 Mo), tandis que ce notebook Python utilise **jpype** pour demarrer une JVM in-process et appeler directement les classes Java. Les deux strategies donnent acces au meme API Tweety (Proposition, PlBeliefSet, PlParser, FolReasoner...). Audit c.739 (2026-07-22) : 0 doc-honesty finding corrigible des deux cotes." + "**Note de parite cross-langage** (EPIC #4956) : Le jumeau C# de ce notebook (voir `Tweety-02-Basic-Logics-CSharp.ipynb`) utilise une strategie differente : **IKVM** transpile statiquement le bytecode Java de Tweety en DLL .NET native (7 Mo), tandis que ce notebook Python utilise **jpype** pour demarrer une JVM in-process et appeler directement les classes Java. Les deux strategies donnent acces au meme API Tweety (Proposition, PlBeliefSet, PlParser, FolReasoner...). Audit c.739 (2026-07-22) : 0 doc-honesty finding corrigible des deux cotes." ] }, { @@ -1902,7 +1902,7 @@ "tags": [] }, "source": [ - "---\n", + "***\n", "\n", "## Transition : De la Logique Propositionnelle a la Logique du Premier Ordre\n", "\n", @@ -3060,7 +3060,7 @@ "tags": [] }, "source": [ - "---\n", + "***\n", "\n", "## Resume\n", "\n", @@ -3078,9 +3078,9 @@ "\n", "Le notebook suivant explore les logiques plus avancees: Description Logic, Logique Modale, QBF.\n", "\n", - "---\n", + "***\n", "\n", - "**Navigation**: [Tweety-1-Setup](Tweety-1-Setup.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-3-Advanced-Logics](Tweety-3-Advanced-Logics.ipynb)" + "**Navigation**: [Tweety-1-Setup](Tweety-01-Setup-Python.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-3-Advanced-Logics](Tweety-3-Advanced-Logics.ipynb)" ] } ], @@ -3126,8 +3126,8 @@ "end_time": "2026-06-02T21:45:26.853191+00:00", "environment_variables": {}, "exception": null, - "input_path": "Tweety-2-Basic-Logics.ipynb", - "output_path": "Tweety-2-Basic-Logics.ipynb", + "input_path": "Tweety-02-Basic-Logics-Python.ipynb", + "output_path": "Tweety-02-Basic-Logics-Python.ipynb", "parameters": {}, "start_time": "2026-06-02T21:45:20.645023+00:00", "version": "2.6.0" diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2b-Semantics-Csharp.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02b-Semantics-CSharp.ipynb similarity index 97% rename from MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2b-Semantics-Csharp.ipynb rename to MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02b-Semantics-CSharp.ipynb index ff63b065f0..c729f1dbf0 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2b-Semantics-Csharp.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02b-Semantics-CSharp.ipynb @@ -7,13 +7,13 @@ "source": [ "# Tweety C# / IKVM - Sémantique propositionnelle : mondes possibles et raisonnement\n", "\n", - "**Navigation** : [<- Tweety-2-Basic-Logics](Tweety-2-Basic-Logics-Csharp.ipynb) | [Index serie](Tweety-1-Setup.ipynb) | [Tweety-3-Advanced-Logics ->](Tweety-3-Advanced-Logics.ipynb)\n", + "**Navigation** : [<- Tweety-2-Basic-Logics](Tweety-02-Basic-Logics-CSharp.ipynb) | [Index serie](Tweety-01-Setup-Python.ipynb) | [Tweety-3-Advanced-Logics ->](Tweety-3-Advanced-Logics.ipynb)\n", "\n", "> Ce notebook est le **second volet C# / .NET** de la serie Tweety. Il poursuit\n", - "> [Tweety-2-Basic-Logics-Csharp](Tweety-2-Basic-Logics-Csharp.ipynb) (construction de formules, parsing, base\n", + "> [Tweety-2-Basic-Logics-Csharp](Tweety-02-Basic-Logics-CSharp.ipynb) (construction de formules, parsing, base\n", "> de croyances) en abordant la **sémantique** : mondes possibles, satisfaction, et raisonnement\n", "> (entaînement). Comme le pilote, il execute les classes Tweety **recompilees en bytecode .NET via\n", - "> IKVM** - aucune JVM au runtime. Voir [le notebook Python](Tweety-2-Basic-Logics.ipynb) pour le contexte théorique complet.\n", + "> IKVM** - aucune JVM au runtime. Voir [le notebook Python](Tweety-02-Basic-Logics-Python.ipynb) pour le contexte théorique complet.\n", "\n", "## Objectifs pedagogiques\n", "\n", @@ -24,7 +24,7 @@ "\n", "## Prerequis\n", "\n", - "- [Tweety-2-Basic-Logics-Csharp](Tweety-2-Basic-Logics-Csharp.ipynb) (construction de formules, `PlBeliefSet`, `PlParser`)\n", + "- [Tweety-2-Basic-Logics-Csharp](Tweety-02-Basic-Logics-CSharp.ipynb) (construction de formules, `PlBeliefSet`, `PlParser`)\n", "- Notions de logique propositionnelle : valuation, modèle, consequence logique\n", "\n", "> **Rappel d'API (C# / IKVM)** : les classes Java Tweety sont exposees via IKVM avec la convention\n", @@ -39,7 +39,7 @@ "source": [ "## 1. Configuration du runtime IKVM\n", "\n", - "> Identique au [pilote](Tweety-2-Basic-Logics-Csharp.ipynb) : on restaure les paquets NuGet IKVM, on\n", + "> Identique au [pilote](Tweety-02-Basic-Logics-CSharp.ipynb) : on restaure les paquets NuGet IKVM, on\n", "> assemble le home IKVM (motrice d'exécution de la JVM en .NET), puis on charge la DLL Tweety. A executer\n", "> en premier. ~30-60 s la première fois.\n" ] @@ -702,7 +702,7 @@ "source": [ "## Conclusion\n", "\n", - "Ce notebook complete le pilote [Tweety-2-Basic-Logics-Csharp](Tweety-2-Basic-Logics-Csharp.ipynb)\n", + "Ce notebook complete le pilote [Tweety-2-Basic-Logics-Csharp](Tweety-02-Basic-Logics-CSharp.ipynb)\n", "avec la **sémantique** de la logique propositionnelle en .NET natif :\n", "\n", "| Concept | Classe Tweety (C#) | Méthode | Statut |\n", @@ -727,7 +727,7 @@ "\n", "### Exercices\n", "\n", - "Adaptez ceux du [notebook Python](Tweety-2-Basic-Logics.ipynb) a l'API C# (cast `PlFormula`, méthodes\n", + "Adaptez ceux du [notebook Python](Tweety-02-Basic-Logics-Python.ipynb) a l'API C# (cast `PlFormula`, méthodes\n", "Java minuscules). Rappel : les stubs doivent s'executer sans erreur (jamais `raise`/`assert`/`1/0`).\n" ] }, diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2c-FOL-Csharp.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02c-FOL-CSharp.ipynb similarity index 99% rename from MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2c-FOL-Csharp.ipynb rename to MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02c-FOL-CSharp.ipynb index 07fab3fc91..ba3b1e1885 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2c-FOL-Csharp.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02c-FOL-CSharp.ipynb @@ -12,15 +12,15 @@ "> sont compilés vers du bytecode Java puis exécutés sur le runtime .NET via [IKVM](https://github.com/ikvm-refined/ikvm).\n", "> Aucun `java` n'est requis à l'exécution — tout se passe dans le kernel `.net-csharp`.\n", "\n", - "Navigation : [Tweety-2-Basic-Logics-Csharp](Tweety-2-Basic-Logics-Csharp.ipynb) (logique propositionnelle) ·\n", - "[Tweety-2b-Semantics-Csharp](Tweety-2b-Semantics-Csharp.ipynb) (mondes possibles, conséquence sémantique) ·\n", + "Navigation : [Tweety-2-Basic-Logics-Csharp](Tweety-02-Basic-Logics-CSharp.ipynb) (logique propositionnelle) ·\n", + "[Tweety-2b-Semantics-Csharp](Tweety-02b-Semantics-CSharp.ipynb) (mondes possibles, conséquence sémantique) ·\n", "**Tweety-2c-FOL (ce notebook)**.\n", "\n", "***\n", "\n", "## Objectifs pédagogiques\n", "\n", - "La [logique propositionnelle](Tweety-2-Basic-Logics-Csharp.ipynb) raisonne sur des **propositions entières**\n", + "La [logique propositionnelle](Tweety-02-Basic-Logics-CSharp.ipynb) raisonne sur des **propositions entières**\n", "(`Man_Socrates`, `Mortal_Socrates`) reliées par connecteurs. Elle ne peut ni exprimer la **généralité**\n", "(« tous les hommes sont mortels ») ni le **lien interne** d'un énoncé (« Socrate est un homme »).\n", "\n", @@ -1038,7 +1038,7 @@ "\n", "- TweetyProject — [FOL module](https://tweetyproject.org/api/fol/) et [tutoriels](https://tweetyproject.org/).\n", "- Port C#/.NET via IKVM — EPIC [#4667](https://github.com/jsboige/CoursIA/issues/4667).\n", - "- Notebook compagnon propositionnel : [Tweety-2-Basic-Logics-Csharp](Tweety-2-Basic-Logics-Csharp.ipynb).\n", + "- Notebook compagnon propositionnel : [Tweety-2-Basic-Logics-Csharp](Tweety-02-Basic-Logics-CSharp.ipynb).\n", "\n" ] } diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation-Csharp.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-CSharp.ipynb similarity index 98% rename from MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation-Csharp.ipynb rename to MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-CSharp.ipynb index 2d31663b98..33903518ce 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation-Csharp.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-CSharp.ipynb @@ -16,7 +16,7 @@ "source": [ "# Tweety-6 — Argumentation structuree (twin C# / .NET Interactive)\n", "\n", - "**Twin C#** du notebook Python [Tweety-6-Structured-Argumentation.ipynb](Tweety-6-Structured-Argumentation.ipynb) (marathon #4956, parite .NET <-> Python, axe-2 SOTA #3801 Prong B).\n", + "**Twin C#** du notebook Python [Tweety-06-Structured-Argumentation-Python.ipynb](Tweety-06-Structured-Argumentation-Python.ipynb) (marathon #4956, parite .NET <-> Python, axe-2 SOTA #3801 Prong B).\n", "\n", "Le notebook Python invoque la bibliotheque Java **TweetyProject** (via `jpype` + JVM) pour construire des arguments structurees : ASPIC+, DeLP, ABA, argumentation deductive, ASP. Ce twin **deroule le moteur ASPIC+ a la main** (BCL .NET 9, 0 NuGet, aucune JVM), dans la même lignee que le [Tweety-5-Csharp](Tweety-5-Abstract-Argumentation-Csharp.ipynb) qui implementait le cadre abstrait de Dung from-scratch.\n", "\n", @@ -30,7 +30,7 @@ "On verifie **mathematiquement** que la conversion ASPIC+ -> Dung redonne le bon cadre abstrait, et que la sémantique grounded isole les arguments defendus.\n", "\n", "\n", - "> **Note de parite cross-langage** : ce notebook est le **jumeau C# from-scratch BCL .NET 9** (0 NuGet, 0 JVM) du notebook Python [`Tweety-6-Structured-Argumentation.ipynb`](Tweety-6-Structured-Argumentation.ipynb) (JVM TweetyProject via `jpype`, ASPIC+ + DeLP + ABA + Deductive + ASP). Le twin C# couvre ASPIC+ from-scratch BCL (sections 1-5) et declare INTRINSIC les 4 autres formalismes (pas d'equivalent BCL .NET ; le notebook Python + JVM TweetyProject reste la reference d'execution pour DeLP/ABA/ASP). Audit G.1 cross-langage cell-by-cell c.743 : 22 cellules C# verifiees, grounded `{ -> b, -> c, b, c => a [ -> b, -> c] }` coherent avec cell[7] Python (5 memes arguments). Marathon parite .NET <-> Python : EPIC #4956." + "> **Note de parite cross-langage** : ce notebook est le **jumeau C# from-scratch BCL .NET 9** (0 NuGet, 0 JVM) du notebook Python [`Tweety-06-Structured-Argumentation-Python.ipynb`](Tweety-06-Structured-Argumentation-Python.ipynb) (JVM TweetyProject via `jpype`, ASPIC+ + DeLP + ABA + Deductive + ASP). Le twin C# couvre ASPIC+ from-scratch BCL (sections 1-5) et declare INTRINSIC les 4 autres formalismes (pas d'equivalent BCL .NET ; le notebook Python + JVM TweetyProject reste la reference d'execution pour DeLP/ABA/ASP). Audit G.1 cross-langage cell-by-cell c.743 : 22 cellules C# verifiees, grounded `{ -> b, -> c, b, c => a [ -> b, -> c] }` coherent avec cell[7] Python (5 memes arguments). Marathon parite .NET <-> Python : EPIC #4956." ] }, { @@ -1359,7 +1359,7 @@ "end_time": "2026-07-06T14:55:34.191983", "environment_variables": {}, "exception": null, - "input_path": "Tweety-6-Structured-Argumentation-Csharp.ipynb", + "input_path": "Tweety-06-Structured-Argumentation-CSharp.ipynb", "output_path": "tweety6_exec.ipynb", "parameters": {}, "start_time": "2026-07-06T14:55:27.629059", diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-Python.ipynb similarity index 98% rename from MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation.ipynb rename to MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-Python.ipynb index 3290db5a1e..9ce2b66171 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-Python.ipynb @@ -16,9 +16,9 @@ "source": [ "# Argumentation Structuree\n", "\n", - "**Navigation**: [<- Tweety-5-Abstract-Argumentation](Tweety-5-Abstract-Argumentation.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-7a-Extended-Frameworks ->](Tweety-7a-Extended-Frameworks.ipynb)\n", + "**Navigation**: [<- Tweety-5-Abstract-Argumentation](Tweety-5-Abstract-Argumentation.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-7a-Extended-Frameworks ->](Tweety-07a-Extended-Frameworks-Python.ipynb)\n", "\n", - "---\n", + "***\n", "\n", "## Introduction : De l'abstrait au structuré\n", "\n", @@ -60,13 +60,13 @@ "\n", "## Prerequis\n", "\n", - "Executez d'abord [Tweety-1-Setup.ipynb](Tweety-1-Setup.ipynb) pour configurer l'environnement JVM.\n", + "Executez d'abord [Tweety-01-Setup-Python.ipynb](Tweety-01-Setup-Python.ipynb) pour configurer l'environnement JVM.\n", "\n", "## Duree estimee : 35-45 minutes\n", "\n", "> **Note**: ASP necessite Clingo installe. Le notebook configure automatiquement le chemin si Clingo est disponible.\n", "\n", - "> **Note de parité cross-langage** : ce notebook est le **jumeau Python** de [`Tweety-6-Structured-Argumentation-Csharp.ipynb`](Tweety-6-Structured-Argumentation-Csharp.ipynb) (twin C# from-scratch BCL .NET, 0 JVM). Pour les concepts partagés (ASPIC+, DeLP, ABA, Argumentation Déductive, ASP), voir la cellule d'introduction ; le twin C# reconstruit les **concepts** (pas l'API JVM) pour rester exécutable end-to-end sur toute machine .NET 9+. Marathon parité .NET ⇄ Python : EPIC #4956.\n" + "> **Note de parité cross-langage** : ce notebook est le **jumeau Python** de [`Tweety-06-Structured-Argumentation-CSharp.ipynb`](Tweety-06-Structured-Argumentation-CSharp.ipynb) (twin C# from-scratch BCL .NET, 0 JVM). Pour les concepts partagés (ASPIC+, DeLP, ABA, Argumentation Déductive, ASP), voir la cellule d'introduction ; le twin C# reconstruit les **concepts** (pas l'API JVM) pour rester exécutable end-to-end sur toute machine .NET 9+. Marathon parité .NET ⇄ Python : EPIC #4956.\n" ] }, { @@ -586,7 +586,7 @@ "### 4.3 Defeasible Logic Programming (DeLP)\n", "\n", "\n", - "---\n", + "***\n", "\n", "**Transition depuis ASPIC+ :**\n", "\n", @@ -874,7 +874,7 @@ "### 4.4 Assumption-Based Argumentation (ABA)\n", "\n", "\n", - "---\n", + "***\n", "\n", "**Transition depuis DeLP :**\n", "\n", @@ -1160,7 +1160,7 @@ "### 4.5 Argumentation Déductive (PL)\n", "\n", "\n", - "---\n", + "***\n", "\n", "**Transition depuis ABA :**\n", "\n", @@ -1369,7 +1369,7 @@ "### 4.6 Answer Set Programming (ASP)\n", "\n", "\n", - "---\n", + "***\n", "\n", "**Rupture paradigmatique : de l'argumentation vers la programmation logique**\n", "\n", @@ -1749,7 +1749,7 @@ "tags": [] }, "source": [ - "---\n", + "***\n", "\n", "## Resume et Comparaison des Frameworks\n", "\n", @@ -1829,9 +1829,9 @@ "- **Ranking semantics** : Ordre total sur arguments (pas juste In/Out)\n", "- **Argumentation sociale** : Vote, agregation d'opinions\n", "\n", - "---\n", + "***\n", "\n", - "**Navigation**: [<- Tweety-5-Abstract-Argumentation](Tweety-5-Abstract-Argumentation.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-7a-Extended-Frameworks ->](Tweety-7a-Extended-Frameworks.ipynb)" + "**Navigation**: [<- Tweety-5-Abstract-Argumentation](Tweety-5-Abstract-Argumentation.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-7a-Extended-Frameworks ->](Tweety-07a-Extended-Frameworks-Python.ipynb)" ] }, { @@ -1989,7 +1989,7 @@ "tags": [] }, "source": [ - "---\n", + "***\n", "\n", "## Exercice de synthese : Comparer deux frameworks sur un domaine medical\n", "\n", @@ -2091,8 +2091,8 @@ "end_time": "2026-06-05T00:51:26.365663+00:00", "environment_variables": {}, "exception": null, - "input_path": "Tweety-6-Structured-Argumentation.ipynb", - "output_path": "Tweety-6-Structured-Argumentation.ipynb", + "input_path": "Tweety-06-Structured-Argumentation-Python.ipynb", + "output_path": "Tweety-06-Structured-Argumentation-Python.ipynb", "parameters": {}, "start_time": "2026-06-05T00:50:51.196838+00:00", "version": "2.6.0" diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks-Csharp.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-CSharp.ipynb similarity index 99% rename from MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks-Csharp.ipynb rename to MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-CSharp.ipynb index ac5f879662..12d67a2ab8 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks-Csharp.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-CSharp.ipynb @@ -16,11 +16,11 @@ "source": [ "# Tweety-7a : Frameworks d'Argumentation Etendus (C#)\n", "\n", - "**Navigation** : [<< 6-Structured-Argumentation](Tweety-6-Structured-Argumentation.ipynb) | [Index](README.md) | [7b-Ranking-Probabilistic >>](Tweety-7b-Ranking-Probabilistic.ipynb)\n", + "**Navigation** : [<< 6-Structured-Argumentation](Tweety-06-Structured-Argumentation-Python.ipynb) | [Index](README.md) | [7b-Ranking-Probabilistic >>](Tweety-07b-Ranking-Probabilistic-Python.ipynb)\n", "\n", "## Frameworks d'Argumentation Etendus (jumeau .NET)\n", "\n", - "Ce notebook est le **jumeau C# (.NET Interactive)** de [Tweety-7a-Extended-Frameworks.ipynb](Tweety-7a-Extended-Frameworks.ipynb). Au-dela du cadre abstrait de Dung (Tweety-5), il explore les **frameworks etendus** : ADF (conditions d'acceptation), SetAF (attaques ensembles), EAF (attaques sur les attaques), VAF (argumentation value-based).\n", + "Ce notebook est le **jumeau C# (.NET Interactive)** de [Tweety-07a-Extended-Frameworks-Python.ipynb](Tweety-07a-Extended-Frameworks-Python.ipynb). Au-dela du cadre abstrait de Dung (Tweety-5), il explore les **frameworks etendus** : ADF (conditions d'acceptation), SetAF (attaques ensembles), EAF (attaques sur les attaques), VAF (argumentation value-based).\n", "\n", "### Value-add du jumeau C# (Prong B, EPIC #3801)\n", "\n", @@ -903,7 +903,7 @@ "\n", "***\n", "\n", - "**Notebook suivant** : [Tweety-7b-Ranking-Probabilistic](Tweety-7b-Ranking-Probabilistic.ipynb) | [Retour au sommaire](README.md)\n" + "**Notebook suivant** : [Tweety-7b-Ranking-Probabilistic](Tweety-07b-Ranking-Probabilistic-Python.ipynb) | [Retour au sommaire](README.md)\n" ] }, { @@ -931,7 +931,7 @@ "SimpleAdmissible, etc.). Cette **tranche 2** charge la DLL `org.tweetyproject.tweety-7a.dll` (compilee via IKVM 8.14\n", "a partir des sources Tweety 1.19) et execute les memes exemples pour valider la **parite comportementale**.\n", "\n", - "**Gabarit** : [Tweety-6 ASPIC+ tranche 2 IKVM](Tweety-6-Structured-Argumentation-Csharp.ipynb) (PR #10385, SOTA-OK). Meme pattern : `Assembly.LoadFrom`\n", + "**Gabarit** : [Tweety-6 ASPIC+ tranche 2 IKVM](Tweety-06-Structured-Argumentation-CSharp.ipynb) (PR #10385, SOTA-OK). Meme pattern : `Assembly.LoadFrom`\n", "+ `using org.tweetyproject.arg..syntax;`.\n", "\n", "**Verdict SOTA-OK** : la lib Tweety est un outil canonique reconnu par la communaute (ArgSem 2024), installee\n", @@ -2791,7 +2791,7 @@ "\n", "### Tranche 2 — lib-vs-lib via la librairie Tweety (pont IKVM)\n", "\n", - "La tranche 1 ci-dessus reimplante ADF / SetAF / EAF / VAF **from-scratch** (BCL .NET). La tranche 2 branche la **librairie Java Tweety** cote C# via le pont **IKVM** (runtime Java 8 pour .NET), sur le gabarit de [Tweety-6](Tweety-6-Structured-Argumentation-Csharp.ipynb) :\n", + "La tranche 1 ci-dessus reimplante ADF / SetAF / EAF / VAF **from-scratch** (BCL .NET). La tranche 2 branche la **librairie Java Tweety** cote C# via le pont **IKVM** (runtime Java 8 pour .NET), sur le gabarit de [Tweety-6](Tweety-06-Structured-Argumentation-CSharp.ipynb) :\n", "\n", "- **Dung = SOTA-OK** : le reasoner reel Tweety (`SimpleGroundedReasoner`) calcule l'extension fondee `{a,c}` sur la theorie `a->b, b->c` — algorithme du moteur, pas reimplementation.\n", "- **ADF = librairie chargee (SOTA-OK sur la syntaxe)** : le module `arg.adf` (125 types : 15 conditions d'acceptation + 59 types de reasoner SAT) est atteignable depuis C# via le shade fat `conditional-logics.dll`.\n", @@ -2800,7 +2800,7 @@ "\n", "*« From scratch c'est bien, lib vs lib c'est encore mieux ! »*\n", "\n", - "**Suite** : [Tweety-7b-Ranking-Probabilistic](Tweety-7b-Ranking-Probabilistic.ipynb) | [Retour au sommaire](README.md)\n" + "**Suite** : [Tweety-7b-Ranking-Probabilistic](Tweety-07b-Ranking-Probabilistic-Python.ipynb) | [Retour au sommaire](README.md)\n" ] } ], @@ -2823,7 +2823,7 @@ "end_time": "2026-09-02T02:09:43.560116+00:00", "environment_variables": {}, "exception": null, - "input_path": "Tweety-7a-Extended-Frameworks-Csharp.ipynb", + "input_path": "Tweety-07a-Extended-Frameworks-CSharp.ipynb", "output_path": "tweety7a_out.ipynb", "parameters": {}, "start_time": "2026-09-02T02:09:32.782606+00:00", diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-Python.ipynb similarity index 98% rename from MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks.ipynb rename to MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-Python.ipynb index 1b396f143b..dea6b917d2 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-Python.ipynb @@ -16,7 +16,7 @@ "source": [ "# Frameworks d'Argumentation Étendus\n", "\n", - "**Navigation**: [← Tweety-6-Structured-Argumentation](Tweety-6-Structured-Argumentation.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-7b-Ranking-Probabilistic →](Tweety-7b-Ranking-Probabilistic.ipynb)\n", + "**Navigation**: [← Tweety-6-Structured-Argumentation](Tweety-06-Structured-Argumentation-Python.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-7b-Ranking-Probabilistic →](Tweety-07b-Ranking-Probabilistic-Python.ipynb)\n", "\n", "***\n", "\n", @@ -2171,7 +2171,7 @@ "\n", "## Note-de-parite cross-langage (cycle c.170 -- Tweety-7a jumeau Python <-> C#, tranche 2 IKVM)\n", "\n", - "Le notebook jumeau `Tweety-7a-Extended-Frameworks-Csharp.ipynb` couvre les memes frameworks que ce notebook-ci, mais selon une architecture **fondamentalement differente** au depart (tranche 1, from-scratch), puis selon une architecture **a nouveau differente** depuis la tranche 2 (lib-vs-lib via IKVM). Les chiffres ci-dessous sont **ancres sur les cellules qui les mesurent** : ils peuvent etre re-verifies par les commandes en fin de note ; cette note ne tient pas en l'air.\n", + "Le notebook jumeau `Tweety-07a-Extended-Frameworks-CSharp.ipynb` couvre les memes frameworks que ce notebook-ci, mais selon une architecture **fondamentalement differente** au depart (tranche 1, from-scratch), puis selon une architecture **a nouveau differente** depuis la tranche 2 (lib-vs-lib via IKVM). Les chiffres ci-dessous sont **ancres sur les cellules qui les mesurent** : ils peuvent etre re-verifies par les commandes en fin de note ; cette note ne tient pas en l'air.\n", "\n", "| Aspect | Python (ce notebook) | C# jumeau (tranche 1) | C# jumeau (tranche 2) |\n", "|--------|---------------------|-----------------------|------------------------|\n", @@ -2207,18 +2207,18 @@ "\n", "```sh\n", "# Comptes cellules : Python notebook\n", - "python -c \"import json; nb=json.load(open('MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks.ipynb',encoding='utf-8')); print('Python total', len(nb['cells']), 'code', sum(1 for c in nb['cells'] if c['cell_type']=='code'))\"\n", + "python -c \"import json; nb=json.load(open('MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-Python.ipynb',encoding='utf-8')); print('Python total', len(nb['cells']), 'code', sum(1 for c in nb['cells'] if c['cell_type']=='code'))\"\n", "# Comptes cellules : C# jumeau\n", - "python -c \"import json; nb=json.load(open('MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks-Csharp.ipynb',encoding='utf-8')); print('C# total', len(nb['cells']), 'code', sum(1 for c in nb['cells'] if c['cell_type']=='code'))\"\n", + "python -c \"import json; nb=json.load(open('MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-CSharp.ipynb',encoding='utf-8')); print('C# total', len(nb['cells']), 'code', sum(1 for c in nb['cells'] if c['cell_type']=='code'))\"\n", "# Tranche 2 IKVM : lister les cellules qui chargent le shade via IKVM\n", - "grep -lE 'IKVM|tweety-7a\\.dll' MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks-Csharp.ipynb\n", + "grep -lE 'IKVM|tweety-7a\\.dll' MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-CSharp.ipynb\n", "# Asymetrie SetAF/EAF/Bipolar : la sonde 7.7.3 (cell 39) + lecture 7.7.4 (cell 41)\n", - "grep -nE 'absent|0 type' MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks-Csharp.ipynb\n", + "grep -nE 'absent|0 type' MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-CSharp.ipynb\n", "```\n", "\n", "Ces commandes sont **idempotentes** : les relancer ne modifie rien et reproduit les memes chiffres tant que les notebooks sources ne bougent pas. Si l'un des chiffres devient faux apres une evolution, c'est cette note qu'il faut re-actualiser (pas re-livrer un nombre fige).\n", "\n", - "Voir aussi : `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks-Csharp.ipynb` (jumeau C#), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Bipolar-Argumentation.ipynb` (autre jumeau audite c.744), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation.ipynb` (autre jumeau audite c.743), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-1-Setup.ipynb` (init JVM Tweety), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks_output.ipynb` (output archive).\n", + "Voir aussi : `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-CSharp.ipynb` (jumeau C#), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Bipolar-Argumentation.ipynb` (autre jumeau audite c.744), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-Python.ipynb` (autre jumeau audite c.743), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-01-Setup-Python.ipynb` (init JVM Tweety), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks_output.ipynb` (output archive).\n", "\n", "Issue : #14211. Précédent : #14143 (cote C#, jumeau tranche 2)." ], @@ -2270,7 +2270,7 @@ "\n", "***\n", "\n", - "**Navigation**: [← Tweety-6-Structured-Argumentation](Tweety-6-Structured-Argumentation.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-7b-Ranking-Probabilistic →](Tweety-7b-Ranking-Probabilistic.ipynb)" + "**Navigation**: [← Tweety-6-Structured-Argumentation](Tweety-06-Structured-Argumentation-Python.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-7b-Ranking-Probabilistic →](Tweety-07b-Ranking-Probabilistic-Python.ipynb)" ] } ], @@ -2316,7 +2316,7 @@ "end_time": "2026-06-05T20:32:03.391279", "environment_variables": {}, "exception": null, - "input_path": "MyIA.AI.Notebooks\\SymbolicAI\\Tweety\\Tweety-7a-Extended-Frameworks.ipynb", + "input_path": "MyIA.AI.Notebooks\\SymbolicAI\\Tweety\\Tweety-07a-Extended-Frameworks-Python.ipynb", "output_path": "MyIA.AI.Notebooks\\SymbolicAI\\Tweety\\Tweety-7a-Extended-Frameworks_output.ipynb", "parameters": {}, "start_time": "2026-06-05T20:31:53.437129", diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7b-Ranking-Probabilistic-Csharp.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-CSharp.ipynb similarity index 99% rename from MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7b-Ranking-Probabilistic-Csharp.ipynb rename to MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-CSharp.ipynb index c0b0864772..d36ea9faa9 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7b-Ranking-Probabilistic-Csharp.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-CSharp.ipynb @@ -12,11 +12,11 @@ "> la librairie Java est compilee vers un fat-jar Maven shade puis executee sur le runtime .NET via\n", "> [IKVM](https://github.com/ikvm-refined/ikvm).\n", "\n", - "Navigation : [Tweety-7a-Extended-Frameworks](Tweety-7a-Extended-Frameworks.ipynb) (argumentation etendue) -\n", + "Navigation : [Tweety-7a-Extended-Frameworks](Tweety-07a-Extended-Frameworks-Python.ipynb) (argumentation etendue) -\n", " **Tweety-7b-Ranking-Probabilistic-Csharp (ce notebook - RP-CL avec Maximum Entropy)** -\n", - " [Tweety-8-Agent-Dialogues](Tweety-8-Agent-Dialogues.ipynb) (dialogue multi-agents).\n", + " [Tweety-8-Agent-Dialogues](Tweety-08-Agent-Dialogues-Python.ipynb) (dialogue multi-agents).\n", "\n", - "---\n", + "***\n", "\n", "## Objectifs pedagogiques\n", "\n", @@ -363,7 +363,7 @@ "id": "2efa5850", "metadata": {}, "source": [ - "---\n", + "***\n", "\n", "## Exercices\n", "\n", @@ -507,7 +507,7 @@ "id": "2f8c658c", "metadata": {}, "source": [ - "---\n", + "***\n", "\n", "## Conclusion\n", "\n", diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7b-Ranking-Probabilistic.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-Python.ipynb similarity index 97% rename from MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7b-Ranking-Probabilistic.ipynb rename to MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-Python.ipynb index 4e11877415..19290f2468 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7b-Ranking-Probabilistic.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-Python.ipynb @@ -16,9 +16,9 @@ "source": [ "# Sémantiques de Classement et Argumentation Probabiliste\n", "\n", - "**Navigation**: [← Tweety-7a-Extended-Frameworks](Tweety-7a-Extended-Frameworks.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-8-Agent-Dialogues →](Tweety-8-Agent-Dialogues.ipynb)\n", + "**Navigation**: [← Tweety-7a-Extended-Frameworks](Tweety-07a-Extended-Frameworks-Python.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-8-Agent-Dialogues →](Tweety-08-Agent-Dialogues-Python.ipynb)\n", "\n", - "---\n", + "***\n", "\n", "## Objectifs pédagogiques\n", "\n", @@ -29,7 +29,7 @@ "\n", "## Prérequis\n", "\n", - "Exécutez d'abord [Tweety-1-Setup.ipynb](Tweety-1-Setup.ipynb) pour configurer l'environnement JVM.\n", + "Exécutez d'abord [Tweety-01-Setup-Python.ipynb](Tweety-01-Setup-Python.ipynb) pour configurer l'environnement JVM.\n", "\n", "### Durée estimée : 40 minutes" ] @@ -78,7 +78,7 @@ } ], "source": [ - "# JPype1 doit être pré-provisionné dans l'environnement (cf Tweety-1-Setup.ipynb / requirements.txt).\n", + "# JPype1 doit être pré-provisionné dans l'environnement (cf Tweety-01-Setup-Python.ipynb / requirements.txt).\n", "# Installation conditionnelle en fallback uniquement si l'import échoue.\n", "try:\n", " import jpype # noqa: F401\n", @@ -303,7 +303,7 @@ "\n", "> **Note technique** : La sortie `JVM prete. Outils: 5/5` confirme que tous les outils requis pour ce notebook sont disponibles.\n", "\n", - "---" + "***" ] }, { @@ -383,7 +383,7 @@ "\n", "Les sémantiques de classement résolvent ce problème en calculant un **ordre partiel** ou **total** sur les arguments, ou en assignant des **scores numériques** reflétant leur force argumentative.\n", "\n", - "---" + "***" ] }, { @@ -1230,11 +1230,11 @@ { "cell_type": "markdown", "source": [ - "---\n", + "***\n", "\n", "## Note-de-parite cross-langage (c.757 — Tweety-7b jumeau Python ↔ C#)\n", "\n", - "Le notebook jumeau `Tweety-7b-Ranking-Probabilistic-Csharp.ipynb` (21 cells, .NET Interactive) couvre les memes fondements theoriques que ce notebook-ci (RP-CL = **Ranking Probabilistic Conditional Logic** avec Maximum Entropy sur conditionnels relationnels), mais selon une architecture **fondamentalement differente** de c.756 (Tweety-7a from-scratch) :\n", + "Le notebook jumeau `Tweety-07b-Ranking-Probabilistic-CSharp.ipynb` (21 cells, .NET Interactive) couvre les memes fondements theoriques que ce notebook-ci (RP-CL = **Ranking Probabilistic Conditional Logic** avec Maximum Entropy sur conditionnels relationnels), mais selon une architecture **fondamentalement differente** de c.756 (Tweety-7a from-scratch) :\n", "\n", "| Aspect | Python (ce notebook) | C# jumeau |\n", "|--------|---------------------|-----------|\n", @@ -1261,7 +1261,7 @@ "\n", "**Verification cross-langage (c.757 G.1 firsthand, 2026-07-22)** : les 8 cellules code Python Papermill-executees sur 2026-06-05 (9.95s, 0 erreur) ; les 10 cellules code C# .NET Interactive sur 2026-07-07 (5 cellules setup/diagnostic OK, 3 cellules exemples diagnostiquees IKVM avec code preserve en commentaire, 3 exercices stubs C.1-conformants `Console.WriteLine(... \"Exercice a completer\")`). Les 2 notebooks utilisent le **meme cadre theorique RP-CL** mais sur des **shapes** differents (Python = 22 cells Pedagogie Framework ; C# = 21 cells Diagnostic IKVM transparent) — la parite est sur l'**algorithme sous-jacent** (Maximum Entropy inference sur RP-CL belief sets), pas sur l'exemple execute.\n", "\n", - "Voir aussi : `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7b-Ranking-Probabilistic-Csharp.ipynb` (jumeau C# IKVM), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks.ipynb` + `-Csharp.ipynb` (autre jumeau cross-langage audite c.756, from-scratch BCL .NET 9 vs IKVM), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-1-Setup.ipynb` (init JVM Tweety), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Abstract-Argumentation.ipynb` + `-Csharp.ipynb` (jumeau c.744 DEEP), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation.ipynb` + `-Csharp.ipynb` (jumeau c.743 DEEP).\n" + "Voir aussi : `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-CSharp.ipynb` (jumeau C# IKVM), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-Python.ipynb` + `-Csharp.ipynb` (autre jumeau cross-langage audite c.756, from-scratch BCL .NET 9 vs IKVM), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-01-Setup-Python.ipynb` (init JVM Tweety), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Abstract-Argumentation.ipynb` + `-Csharp.ipynb` (jumeau c.744 DEEP), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-Python.ipynb` + `-Csharp.ipynb` (jumeau c.743 DEEP).\n" ], "metadata": {} }, @@ -1279,7 +1279,7 @@ "tags": [] }, "source": [ - "---\n", + "***\n", "\n", "## Résumé\n", "\n", @@ -1317,9 +1317,9 @@ "\n", "Le notebook suivant explore les **dialogues argumentatifs multi-agents** avec le module `agents.dialogues`.\n", "\n", - "---\n", + "***\n", "\n", - "**Navigation**: [← Tweety-7a-Extended-Frameworks](Tweety-7a-Extended-Frameworks.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-8-Agent-Dialogues →](Tweety-8-Agent-Dialogues.ipynb)" + "**Navigation**: [← Tweety-7a-Extended-Frameworks](Tweety-07a-Extended-Frameworks-Python.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-8-Agent-Dialogues →](Tweety-08-Agent-Dialogues-Python.ipynb)" ] }, { @@ -1477,7 +1477,7 @@ "end_time": "2026-06-05T20:27:36.144634", "environment_variables": {}, "exception": null, - "input_path": "MyIA.AI.Notebooks\\SymbolicAI\\Tweety\\Tweety-7b-Ranking-Probabilistic.ipynb", + "input_path": "MyIA.AI.Notebooks\\SymbolicAI\\Tweety\\Tweety-07b-Ranking-Probabilistic-Python.ipynb", "output_path": "MyIA.AI.Notebooks\\SymbolicAI\\Tweety\\Tweety-7b-Ranking-Probabilistic_output.ipynb", "parameters": {}, "start_time": "2026-06-05T20:27:31.970317", diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues-Csharp.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-08-Agent-Dialogues-CSharp.ipynb similarity index 99% rename from MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues-Csharp.ipynb rename to MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-08-Agent-Dialogues-CSharp.ipynb index ad9ce7c9ae..c1716dc545 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues-Csharp.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-08-Agent-Dialogues-CSharp.ipynb @@ -7,7 +7,7 @@ "source": [ "# Dialogues Multi-Agents Argumentatifs (twin C#)\n", "\n", - "Ce notebook est le **jumeau C# (.NET Interactive)** du notebook Python `Tweety-8-Agent-Dialogues.ipynb`. Il réimplémente **from-scratch** (BCL .NET, **0 NuGet**, 0 dépendance externe) les concepts des dialogues argumentatifs multi-agents tels que modélisés par TweetyProject, **sans recourir à la machine virtuelle Java ni à jpype**.\n", + "Ce notebook est le **jumeau C# (.NET Interactive)** du notebook Python `Tweety-08-Agent-Dialogues-Python.ipynb`. Il réimplémente **from-scratch** (BCL .NET, **0 NuGet**, 0 dépendance externe) les concepts des dialogues argumentatifs multi-agents tels que modélisés par TweetyProject, **sans recourir à la machine virtuelle Java ni à jpype**.\n", "\n", "## Objectifs pédagogiques\n", "\n", @@ -1257,9 +1257,9 @@ "id": "d6cca1bf-2b26-4e6e-9bdb-d769bcadb477", "metadata": {}, "source": [ - "---\n", + "***\n", "\n", - "*Twin C# du notebook Python `Tweety-8-Agent-Dialogues.ipynb`. Marathon parité .NET ⇄ Python (#4956, Prong B). From-scratch BCL .NET, 0 NuGet, 0 JVM.*\n" + "*Twin C# du notebook Python `Tweety-08-Agent-Dialogues-Python.ipynb`. Marathon parité .NET ⇄ Python (#4956, Prong B). From-scratch BCL .NET, 0 NuGet, 0 JVM.*\n" ] } ], diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-08-Agent-Dialogues-Python.ipynb similarity index 98% rename from MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues.ipynb rename to MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-08-Agent-Dialogues-Python.ipynb index 8c462ffda0..a7588986d1 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-08-Agent-Dialogues-Python.ipynb @@ -16,9 +16,9 @@ "source": [ "# Dialogues Multi-Agents Argumentatifs\n", "\n", - "**Navigation**: [← Tweety-7b-Ranking-Probabilistic](Tweety-7b-Ranking-Probabilistic.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-9-Préférences →](Tweety-9-Preferences.ipynb)\n", + "**Navigation**: [← Tweety-7b-Ranking-Probabilistic](Tweety-07b-Ranking-Probabilistic-Python.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-9-Préférences →](Tweety-09-Preferences-Python.ipynb)\n", "\n", - "---\n", + "***\n", "\n", "## Objectifs pédagogiques\n", "\n", @@ -29,7 +29,7 @@ "\n", "## Prérequis\n", "\n", - "Exécutez d'abord [Tweety-1-Setup.ipynb](Tweety-1-Setup.ipynb) pour configurer l'environnement JVM.\n", + "Exécutez d'abord [Tweety-01-Setup-Python.ipynb](Tweety-01-Setup-Python.ipynb) pour configurer l'environnement JVM.\n", "\n", "## Durée estimée : 35 minutes\n", "\n", @@ -38,7 +38,7 @@ "- `org.tweetyproject.agents` - Framework agents de base\n", "- `org.tweetyproject.agents.dialogues` - Simulation de dialogues argumentatifs\n", "\n", - "> **Note de parité cross-langage** : ce notebook est le **jumeau Python** de [`Tweety-8-Agent-Dialogues-Csharp.ipynb`](Tweety-8-Agent-Dialogues-Csharp.ipynb) (twin C# from-scratch BCL .NET, 0 JVM). Le jumeau Python utilise la **vraie API TweetyProject** (`SubgraphProbabilityFunction` sur la division exacte) via JVM/jpype, alors que le twin C# implémente un **Monte-Carlo pédagogique** (justifié : DLL Tweety .NET via IKVM défectueuse). L'écart est by design et c.736 a aligné la transparence côté C#. Marathon parité .NET ⇄ Python : EPIC #4956.\n" + "> **Note de parité cross-langage** : ce notebook est le **jumeau Python** de [`Tweety-08-Agent-Dialogues-CSharp.ipynb`](Tweety-08-Agent-Dialogues-CSharp.ipynb) (twin C# from-scratch BCL .NET, 0 JVM). Le jumeau Python utilise la **vraie API TweetyProject** (`SubgraphProbabilityFunction` sur la division exacte) via JVM/jpype, alors que le twin C# implémente un **Monte-Carlo pédagogique** (justifié : DLL Tweety .NET via IKVM défectueuse). L'écart est by design et c.736 a aligné la transparence côté C#. Marathon parité .NET ⇄ Python : EPIC #4956.\n" ] }, { @@ -776,7 +776,7 @@ "tags": [] }, "source": [ - "---\n", + "***\n", "\n", "## Résumé\n", "\n", @@ -821,9 +821,9 @@ "\n", "Le notebook suivant explore le module **Préférences** pour l'agrégation de préférences et la théorie du vote.\n", "\n", - "---\n", + "***\n", "\n", - "**Navigation**: [← Tweety-7b-Ranking-Probabilistic](Tweety-7b-Ranking-Probabilistic.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-9-Préférences →](Tweety-9-Preferences.ipynb)" + "**Navigation**: [← Tweety-7b-Ranking-Probabilistic](Tweety-07b-Ranking-Probabilistic-Python.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-9-Préférences →](Tweety-09-Preferences-Python.ipynb)" ] }, { @@ -1550,8 +1550,8 @@ "end_time": "2026-06-02T23:49:33.772427+00:00", "environment_variables": {}, "exception": null, - "input_path": "Tweety-8-Agent-Dialogues.ipynb", - "output_path": "Tweety-8-Agent-Dialogues.ipynb", + "input_path": "Tweety-08-Agent-Dialogues-Python.ipynb", + "output_path": "Tweety-08-Agent-Dialogues-Python.ipynb", "parameters": {}, "start_time": "2026-06-02T23:49:29.918691+00:00", "version": "2.6.0" diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-9-Preferences-Csharp.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-09-Preferences-CSharp.ipynb similarity index 99% rename from MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-9-Preferences-Csharp.ipynb rename to MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-09-Preferences-CSharp.ipynb index 1fc5f036c2..02b0697df5 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-9-Preferences-Csharp.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-09-Preferences-CSharp.ipynb @@ -7,14 +7,14 @@ "source": [ "# Préférences et Théorie du Vote en C# / .NET (port natif IKVM)\n", "\n", - "**Navigation** : [<- Tweety-8-Agent-Dialogues](Tweety-8-Agent-Dialogues.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-10-MLN-Csharp ->](Tweety-10-MLN-Csharp.ipynb)\n", + "**Navigation** : [<- Tweety-8-Agent-Dialogues](Tweety-08-Agent-Dialogues-Python.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-10-MLN-Csharp ->](Tweety-10-MLN-Csharp.ipynb)\n", "\n", "> **Serie Tweety -- port C#/.NET natif (EPIC [#4667](https://github.com/jsboige/CoursIA/issues/4667)).**\n", "> Ce notebook exploite le module **`org.tweetyproject.preferences`** de [TweetyProject](https://tweetyproject.org/) **sans JVM** :\n", "> la librairie Java est compilee vers un fat-jar Maven shade puis executee sur le runtime .NET via\n", "> [IKVM](https://github.com/ikvm-refined/ikvm).\n", "\n", - "---\n", + "***\n", "\n", "## Objectifs pedagogiques\n", "\n", @@ -1909,7 +1909,7 @@ "id": "t9cs-md-resume", "metadata": {}, "source": [ - "---\n", + "***\n", "\n", "## Resume\n", "\n", @@ -1931,7 +1931,7 @@ "3. **Copeland** est robuste quand il n'y a pas de gagnant de Condorcet\n", "4. Les **préférences sur arguments** permettent de resoudre les conflits dans les frameworks abstracts\n", "\n", - "---\n", + "***\n", "\n", "## Conclusion de la Serie Tweety (port C# / .NET natif)\n", "\n", @@ -1956,9 +1956,9 @@ "- **FOL avec egalite** : Utiliser EProver pour eviter les timeouts\n", "- **Generiques IKVM** : Les types paramètres `` sont effaces ; utiliser `dynamic` + reflexion\n", "\n", - "---\n", + "***\n", "\n", - "**Navigation** : [<- Tweety-8-Agent-Dialogues](Tweety-8-Agent-Dialogues.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-10-MLN-Csharp ->](Tweety-10-MLN-Csharp.ipynb)" + "**Navigation** : [<- Tweety-8-Agent-Dialogues](Tweety-08-Agent-Dialogues-Python.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-10-MLN-Csharp ->](Tweety-10-MLN-Csharp.ipynb)" ] }, { diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-9-Preferences.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-09-Preferences-Python.ipynb similarity index 97% rename from MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-9-Preferences.ipynb rename to MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-09-Preferences-Python.ipynb index ce4d5b01fb..86833a9f7e 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-9-Preferences.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-09-Preferences-Python.ipynb @@ -16,9 +16,9 @@ "source": [ "# Préférences et Théorie du Vote\n", "\n", - "**Navigation**: [← Tweety-8-Agent-Dialogues](Tweety-8-Agent-Dialogues.ipynb) | [Index](Tweety-1-Setup.ipynb)\n", + "**Navigation**: [← Tweety-8-Agent-Dialogues](Tweety-08-Agent-Dialogues-Python.ipynb) | [Index](Tweety-01-Setup-Python.ipynb)\n", "\n", - "---\n", + "***\n", "\n", "## Objectifs pédagogiques\n", "\n", @@ -29,7 +29,7 @@ "\n", "## Prérequis\n", "\n", - "Exécutez d'abord [Tweety-1-Setup.ipynb](Tweety-1-Setup.ipynb) pour configurer l'environnement JVM.\n", + "Exécutez d'abord [Tweety-01-Setup-Python.ipynb](Tweety-01-Setup-Python.ipynb) pour configurer l'environnement JVM.\n", "\n", "## Durée estimée : 30 minutes\n", "\n", @@ -888,7 +888,7 @@ "tags": [] }, "source": [ - "---\n", + "***\n", "\n", "## Résumé\n", "\n", @@ -909,7 +909,7 @@ "3. **Copeland** est robuste quand il n'y a pas de gagnant de Condorcet\n", "4. Les **préférences sur arguments** permettent de résoudre les conflits dans les frameworks abstraits\n", "\n", - "---\n", + "***\n", "\n", "## Conclusion de la Série Tweety\n", "\n", @@ -940,9 +940,9 @@ "- Sources Java: https://github.com/TweetyProjectTeam/TweetyProject\n", "- JAR releases: Maven Central ou GitHub releases\n", "\n", - "---\n", + "***\n", "\n", - "**Navigation**: [← Tweety-8-Agent-Dialogues](Tweety-8-Agent-Dialogues.ipynb) | [Index](Tweety-1-Setup.ipynb)" + "**Navigation**: [← Tweety-8-Agent-Dialogues](Tweety-08-Agent-Dialogues-Python.ipynb) | [Index](Tweety-01-Setup-Python.ipynb)" ] }, { @@ -1406,11 +1406,11 @@ { "cell_type": "markdown", "source": [ - "---\n", + "***\n", "\n", "## Note-de-parite cross-langage (c.759 — Tweety-9 jumeau Python ↔ C#)\n", "\n", - "Le notebook jumeau `Tweety-9-Preferences-Csharp.ipynb` (23 cells, .NET Interactive) couvre les memes fondements theoriques que ce notebook-ci (**theorie du choix social** : ordres de preference, regles d'agregation Borda 1781 / Condorcet 1785 / Copeland 1951, lien preferences-argumentation), mais selon une architecture **IKVM runtime** similaire a c.757 (Tweety-7b, shades transitifs BUG) et c.758 (Tweety-4, shades CLEAN), distincte de c.756 (Tweety-7a, from-scratch BCL .NET 9) :\n", + "Le notebook jumeau `Tweety-09-Preferences-CSharp.ipynb` (23 cells, .NET Interactive) couvre les memes fondements theoriques que ce notebook-ci (**theorie du choix social** : ordres de preference, regles d'agregation Borda 1781 / Condorcet 1785 / Copeland 1951, lien preferences-argumentation), mais selon une architecture **IKVM runtime** similaire a c.757 (Tweety-7b, shades transitifs BUG) et c.758 (Tweety-4, shades CLEAN), distincte de c.756 (Tweety-7a, from-scratch BCL .NET 9) :\n", "\n", "| Aspect | Python (ce notebook) | C# jumeau |\n", "|--------|---------------------|-----------|\n", @@ -1440,7 +1440,7 @@ "\n", "**Verification cross-langage (c.759 G.1 firsthand, 2026-07-22)** : les 9 cellules code Python Papermill-executees (0 erreur) — cells 1 (JVM init + verification), 5 (7.1 Ordres de preference), 8 (7.2 Regles d'agregation Borda/Condorcet/Copeland sur 4 candidats 5 votants), 11 (7.3 Lien preferences-argumentation), 14 (exemple guide jury 5 membres 4 projets), 18 (exemple guide systeme vote Paris/Berlin/Rome/Madrid), 20 (exercice stub systeme vote detection manipulation), 22 (exercice stub agregation Borda API native), 24 (exercice stub trancher conflit argumentatif) ; les 9 cellules code C# .NET Interactive (0 erreur) — cells 2 (IKVM setup 8.15.0), 3 (DLL preferences load 7,4 Mo + verification type exposure via reflection), 6 (7.1 enumeration types par reflection), 9 (7.2 Borda/Condorcet/Copeland executes), 12 (7.3 demo Dung preferences-argumentation), 15 (exemple guide systeme vote), 18-22 (3 exercices stubs C.1-conformants `Console.WriteLine(... \"Exercice a completer\")`). Les 2 notebooks utilisent le **meme cadre theorique** (theorie du choix social + regles d'agregation classiques) mais sur des **exemples** differents (Python = jury 5 membres 4 projets A/B/C/D + 4 candidats A/B/C/D ; C# = systeme de vote Paris/Berlin/Rome/Madrid) et des **methodes d'exploration** differentes (Python = code direct via jpype, C# = reflection .NET enumerant types exposes du JAR via IKVM). La parite est sur l'**algorithme d'agregation classique** (Borda/Condorcet/Copeland), pas sur les exemples executes.\n", "\n", - "Voir aussi : `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-9-Preferences-Csharp.ipynb` (jumeau C# IKVM), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks.ipynb` + `-Csharp.ipynb` (jumeau cross-langage c.756, from-scratch BCL .NET 9 vs IKVM), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7b-Ranking-Probabilistic.ipynb` + `-Csharp.ipynb` (jumeau cross-langage c.757, IKVM RP-CL avec bug shades transitifs), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Belief-Revision.ipynb` + `-Csharp.ipynb` (jumeau cross-langage c.758, IKVM belief-revision shades clean), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-1-Setup.ipynb` (init JVM Tweety, zulu17.50.19, libs natives CLINGO/SPASS/EPROVER/SAT_SOLVER_PYTHON/MARCO), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Abstract-Argumentation.ipynb` + `-Csharp.ipynb` (jumeau c.744 DEEP), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation.ipynb` + `-Csharp.ipynb` (jumeau c.743 DEEP).\n" + "Voir aussi : `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-09-Preferences-CSharp.ipynb` (jumeau C# IKVM), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-Python.ipynb` + `-Csharp.ipynb` (jumeau cross-langage c.756, from-scratch BCL .NET 9 vs IKVM), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-Python.ipynb` + `-Csharp.ipynb` (jumeau cross-langage c.757, IKVM RP-CL avec bug shades transitifs), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Belief-Revision.ipynb` + `-Csharp.ipynb` (jumeau cross-langage c.758, IKVM belief-revision shades clean), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-01-Setup-Python.ipynb` (init JVM Tweety, zulu17.50.19, libs natives CLINGO/SPASS/EPROVER/SAT_SOLVER_PYTHON/MARCO), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Abstract-Argumentation.ipynb` + `-Csharp.ipynb` (jumeau c.744 DEEP), `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-Python.ipynb` + `-Csharp.ipynb` (jumeau c.743 DEEP).\n" ], "metadata": {} }, @@ -1622,8 +1622,8 @@ "end_time": "2026-06-02T23:49:41.741576+00:00", "environment_variables": {}, "exception": null, - "input_path": "Tweety-9-Preferences.ipynb", - "output_path": "Tweety-9-Preferences.ipynb", + "input_path": "Tweety-09-Preferences-Python.ipynb", + "output_path": "Tweety-09-Preferences-Python.ipynb", "parameters": {}, "start_time": "2026-06-02T23:49:38.395562+00:00", "version": "2.6.0" diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-10-MLN-Csharp.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-10-MLN-Csharp.ipynb index dc8e80181d..75d59ae784 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-10-MLN-Csharp.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-10-MLN-Csharp.ipynb @@ -6,7 +6,7 @@ "metadata": {}, "source": [ "# Tweety-10 — Markov Logic Networks (MLN) en .NET (C# / IKVM)\n", - "**Navigation** : [← Tweety-9-Préférences](Tweety-9-Preferences.ipynb) | [Index](./README.md) | [Tweety-11-Causal →](Tweety-11-Causal.ipynb)\n", + "**Navigation** : [← Tweety-9-Préférences](Tweety-09-Preferences-Python.ipynb) | [Index](./README.md) | [Tweety-11-Causal →](Tweety-11-Causal.ipynb)\n", "**Module** : `org.tweetyproject.logics.mln` (Tweety 1.30) — compilé via IKVM 8.15 + .NET 8.0\n", "**Clé** : `See #4667` (EPIC Tweety .NET — 11ème port C#)\n", "**Recette build** : `dotnet-build/build-tweety-mln-shade.pom.xml` (maven-shade-plugin 3.5.3) + `dotnet-build/build-TweetyMlnShade.csproj` (IKVM 8.15.0, net8.0)\n", @@ -17,7 +17,7 @@ "3. **Comprendre le spectre logique ↔ statistique** : un poids croissant rend la règle de plus en plus stricte\n", "4. **Diagnostiquer un domaine** : utiliser le réseau de Markov pour propager des croyances (ex. médical, social, fraude)\n", "## Prérequis\n", - "- Avoir exécuté [Tweety-2-Basic-Logics-Csharp.ipynb](Tweety-2-Basic-Logics-Csharp.ipynb) (notebook 2) p\n", + "- Avoir exécuté [Tweety-02-Basic-Logics-CSharp.ipynb](Tweety-02-Basic-Logics-CSharp.ipynb) (notebook 2) p\n", "our `FolSignature`/`FolParser`/`FolFormula`- Avoir exécuté [Tweety-3-ModalLogic-Csharp.ipynb](Tweety-3-ModalLogic-Csharp.ipynb) (notebook 3) p\n", "our la logique modale (transversale)- Notions de base en FOL et en réseaux de Markov (loi de Boltzmann sur les mondes possibles)" ] diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-10-MLN.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-10-MLN.ipynb index 7fd621efcd..a6bf19bf81 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-10-MLN.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-10-MLN.ipynb @@ -7,9 +7,9 @@ "source": [ "# Tweety-10 — Markov Logic Networks (MLN)\n", "\n", - "**Navigation** : [← Tweety-9-Préférences](Tweety-9-Preferences.ipynb) | [Index](Tweety-1-Setup.ipynb) | [README](README.md)\n", + "**Navigation** : [← Tweety-9-Préférences](Tweety-09-Preferences-Python.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [README](README.md)\n", "\n", - "---\n", + "***\n", "\n", "## Objectifs pedagogiques\n", "\n", @@ -21,8 +21,8 @@ "\n", "## Prerequis\n", "\n", - "- Avoir execute [Tweety-1-Setup.ipynb](Tweety-1-Setup.ipynb) (JVM, JARs, JPype)\n", - "- Notions de logique du premier ordre : [Tweety-2-Basic-Logics.ipynb](Tweety-2-Basic-Logics.ipynb) (predicats, quantificateurs, `FolParser`)\n", + "- Avoir execute [Tweety-01-Setup-Python.ipynb](Tweety-01-Setup-Python.ipynb) (JVM, JARs, JPype)\n", + "- Notions de logique du premier ordre : [Tweety-02-Basic-Logics-Python.ipynb](Tweety-02-Basic-Logics-Python.ipynb) (predicats, quantificateurs, `FolParser`)\n", "- Notions de probabilite : probabilite conditionnelle, distribution\n", "\n", "### Duree estimee : 50 minutes\n", @@ -727,7 +727,7 @@ "\n", "> **Leçon** : les exceptions sont le talon d'Achille de la logique classique. Les MLN les absorbent\n", "> en faisant varier le **poids** des règles — un oiseau vole *en général* (poids), un pingouin *jamais*\n", - "> (strict). C'est aussi la graine de l'**argumentation defeasible** (cf. [Tweety-6](Tweety-6-Structured-Argumentation.ipynb)),\n", + "> (strict). C'est aussi la graine de l'**argumentation defeasible** (cf. [Tweety-6](Tweety-06-Structured-Argumentation-Python.ipynb)),\n", "> ou les règles ont des priorites." ] }, @@ -1012,7 +1012,7 @@ "id": "47e3fbba", "metadata": {}, "source": [ - "---\n", + "***\n", "\n", "## Resume\n", "\n", @@ -1034,17 +1034,17 @@ "## Prochaines étapes\n", "\n", "- **Argumentation defeasible** : le paradoxe du pingouin (exception stricte vs règle générale) est\n", - " exactement le terrain de l'argumentation structurée → [Tweety-6-Structured-Argumentation](Tweety-6-Structured-Argumentation.ipynb)\n", + " exactement le terrain de l'argumentation structurée → [Tweety-6-Structured-Argumentation](Tweety-06-Structured-Argumentation-Python.ipynb)\n", " (ASPIC+, DeLP)\n", "- **Argumentation probabiliste** : les MLN pondérent les formules ; l'argumentation probabiliste\n", - " (NB 7b) pondère les *arguments* — deux facettes de l'incertitude → [Tweety-7b-Ranking-Probabilistic](Tweety-7b-Ranking-Probabilistic.ipynb)\n", + " (NB 7b) pondère les *arguments* — deux facettes de l'incertitude → [Tweety-7b-Ranking-Probabilistic](Tweety-07b-Ranking-Probabilistic-Python.ipynb)\n", "- **Application au texte** : la serie [Argument_Analysis](../Argument_Analysis/) utilise Tweety comme\n", " backend ; les MLN y fourniraient un raisonnement plausible sur des faits extraits de texte (une\n", " porte d'entree « neuro-symbolique » au-dessus des LLMs)\n", "\n", - "---\n", + "***\n", "\n", - "**Navigation** : [← Tweety-9-Préférences](Tweety-9-Preferences.ipynb) | [Index](Tweety-1-Setup.ipynb) | [README](README.md)" + "**Navigation** : [← Tweety-9-Préférences](Tweety-09-Preferences-Python.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [README](README.md)" ] } ], diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-11-Causal.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-11-Causal.ipynb index c9e32e5d78..d8abf3fce2 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-11-Causal.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-11-Causal.ipynb @@ -29,7 +29,7 @@ "## Prérequis\n", "\n", "- **[Tweety-5-Abstract-Argumentation](Tweety-5-Abstract-Argumentation.ipynb) §4.4** : le raisonnement causal par argumentation (couche *observationnelle* / diagnostique).\n", - "- **[Tweety-2-Basic-Logics](Tweety-2-Basic-Logics.ipynb)** : logique propositionnelle (syntaxe des formules PL).\n", + "- **[Tweety-2-Basic-Logics](Tweety-02-Basic-Logics-Python.ipynb)** : logique propositionnelle (syntaxe des formules PL).\n", "- Bases de probabilités (P(y|x), indépendance conditionnelle).\n", "\n", "## Positionnement dans la série\n", @@ -822,7 +822,7 @@ "- **[Tweety-5-Abstract-Argumentation](Tweety-5-Abstract-Argumentation.ipynb) §4.4** — la couche observationnelle / diagnostique, complémentaire de ce notebook.\n", "- **[Tweety-10-MLN](Tweety-10-MLN.ipynb)** — l'autre pont symbolique/statistique (FOL pondérée), au niveau 1 de l'échelle.\n", "\n", - "---\n", + "***\n", "\n", "*Notebook 11/11 de la série TweetyProject — capstone de synthèse sur le raisonnement causal.*" ] diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-12-Grounded-Via-TweetyProject.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-12-Grounded-Via-TweetyProject.ipynb index cdea0304d7..bb2b911bab 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-12-Grounded-Via-TweetyProject.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-12-Grounded-Via-TweetyProject.ipynb @@ -7,7 +7,7 @@ "source": [ "# Argumentation Abstraite : Grounded Extension - Pont Python/Tweety <=> Lean\n", "\n", - "**Navigation** : [<- Tweety-11-Causal](Tweety-11-Causal.ipynb) | [Index](Tweety-1-Setup.ipynb)\n", + "**Navigation** : [<- Tweety-11-Causal](Tweety-11-Causal.ipynb) | [Index](Tweety-01-Setup-Python.ipynb)\n", "\n", "***\n", "\n", @@ -743,7 +743,7 @@ "\n", "***\n", "\n", - "**Navigation** : [<- Tweety-11-Causal](Tweety-11-Causal.ipynb) | [Index](Tweety-1-Setup.ipynb)" + "**Navigation** : [<- Tweety-11-Causal](Tweety-11-Causal.ipynb) | [Index](Tweety-01-Setup-Python.ipynb)" ] } ], diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Advanced-Logics-Csharp.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Advanced-Logics-Csharp.ipynb index 52fd778d91..54f511f7ac 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Advanced-Logics-Csharp.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Advanced-Logics-Csharp.ipynb @@ -12,13 +12,13 @@ "> la librairie Java est compilee vers un fat-jar Maven shade puis executee sur le runtime .NET via\n", "> [IKVM](https://github.com/ikvm-refined/ikvm).\n", "\n", - "Navigation : [Tweety-2-Basic-Logics-Csharp](Tweety-2-Basic-Logics-Csharp.ipynb) (propositionnel) ·\n", - "[Tweety-2b-Semantics-Csharp](Tweety-2b-Semantics-Csharp.ipynb) (mondes possibles) ·\n", - "[Tweety-2c-FOL-Csharp](Tweety-2c-FOL-Csharp.ipynb) (premier ordre) ·\n", + "Navigation : [Tweety-2-Basic-Logics-Csharp](Tweety-02-Basic-Logics-CSharp.ipynb) (propositionnel) ·\n", + "[Tweety-2b-Semantics-Csharp](Tweety-02b-Semantics-CSharp.ipynb) (mondes possibles) ·\n", + "[Tweety-2c-FOL-Csharp](Tweety-02c-FOL-CSharp.ipynb) (premier ordre) ·\n", "[Tweety-3-Dung-Csharp](Tweety-3-Dung-Csharp.ipynb) (argumentation abstraite) ·\n", "**Tweety-3-Advanced-Logics (ce notebook — DL)**.\n", "\n", - "---\n", + "***\n", "\n", "## Objectifs pedagogiques\n", "\n", @@ -342,7 +342,7 @@ "id": "19f33a758167", "metadata": {}, "source": [ - "---\n", + "***\n", "\n", "## Exercices\n", "\n", @@ -508,7 +508,7 @@ "id": "4b71c541e959", "metadata": {}, "source": [ - "---\n", + "***\n", "\n", "## Conclusion\n", "\n", diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Advanced-Logics.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Advanced-Logics.ipynb index 7c99c82992..aebffde4c2 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Advanced-Logics.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Advanced-Logics.ipynb @@ -17,9 +17,9 @@ "source": [ "# Logiques Avancees - DL, Modale, QBF, Conditional\n", "\n", - "**Navigation**: [← Tweety-2-Basic-Logics](Tweety-2-Basic-Logics.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-4-Belief-Revision →](Tweety-4-Belief-Revision.ipynb)\n", + "**Navigation**: [← Tweety-2-Basic-Logics](Tweety-02-Basic-Logics-Python.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-4-Belief-Revision →](Tweety-4-Belief-Revision.ipynb)\n", "\n", - "---\n", + "***\n", "\n", "## Objectifs pedagogiques\n", "\n", @@ -30,7 +30,7 @@ "\n", "## Prerequis\n", "\n", - "Executez d'abord [Tweety-1-Setup.ipynb](Tweety-1-Setup.ipynb) pour configurer l'environnement JVM.\n", + "Executez d'abord [Tweety-01-Setup-Python.ipynb](Tweety-01-Setup-Python.ipynb) pour configurer l'environnement JVM.\n", "\n", "### Duree estimee : 40 minutes\n", "\n", @@ -167,7 +167,7 @@ " os.environ[\"JAVA_HOME\"] = str(java_home)\n", " print(f\"JAVA_HOME detecte automatiquement : {java_home}\")\n", " else:\n", - " print(\"ATTENTION : java introuvable. Installez un JDK ou executez Tweety-1-Setup.ipynb.\")\n" + " print(\"ATTENTION : java introuvable. Installez un JDK ou executez Tweety-01-Setup-Python.ipynb.\")\n" ] }, { @@ -2201,7 +2201,7 @@ "tags": [] }, "source": [ - "---\n", + "***\n", "\n", "## Resume\n", "\n", @@ -2220,9 +2220,9 @@ "\n", "Le notebook suivant explore la **revision de croyances** et la gestion de l'incoherence.\n", "\n", - "---\n", + "***\n", "\n", - "**Navigation**: [Tweety-2-Basic-Logics](Tweety-2-Basic-Logics.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-4-Belief-Revision](Tweety-4-Belief-Revision.ipynb)" + "**Navigation**: [Tweety-2-Basic-Logics](Tweety-02-Basic-Logics-Python.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-4-Belief-Revision](Tweety-4-Belief-Revision.ipynb)" ] }, { diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Conditional-Logics-Csharp.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Conditional-Logics-Csharp.ipynb index c98129bfa5..f710d70921 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Conditional-Logics-Csharp.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Conditional-Logics-Csharp.ipynb @@ -12,13 +12,13 @@ "> la librairie Java est compilee vers un fat-jar Maven shade puis executee sur le runtime .NET via\n", "> [IKVM](https://github.com/ikvm-refined/ikvm).\n", "\n", - "Navigation : [Tweety-2-Basic-Logics-Csharp](Tweety-2-Basic-Logics-Csharp.ipynb) (propositionnel) -\n", - " [Tweety-2c-FOL-Csharp](Tweety-2c-FOL-Csharp.ipynb) (premier ordre) -\n", + "Navigation : [Tweety-2-Basic-Logics-Csharp](Tweety-02-Basic-Logics-CSharp.ipynb) (propositionnel) -\n", + " [Tweety-2c-FOL-Csharp](Tweety-02c-FOL-CSharp.ipynb) (premier ordre) -\n", " [Tweety-3-Dung-Csharp](Tweety-3-Dung-Csharp.ipynb) (argumentation abstraite) -\n", " [Tweety-3-Advanced-Logics-Csharp](Tweety-3-Advanced-Logics-Csharp.ipynb) (Description Logics) -\n", " **Tweety-3-Conditional-Logics (ce notebook - CL)**.\n", "\n", - "---\n", + "***\n", "\n", "## Objectifs pedagogiques\n", "\n", @@ -300,7 +300,7 @@ "id": "a334d803", "metadata": {}, "source": [ - "---\n", + "***\n", "\n", "## Exercices\n", "\n", @@ -435,7 +435,7 @@ "id": "cc4c7ea8", "metadata": {}, "source": [ - "---\n", + "***\n", "\n", "## Conclusion\n", "\n", diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Dung-Csharp.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Dung-Csharp.ipynb index a90bf6f21f..4a48a87be8 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Dung-Csharp.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Dung-Csharp.ipynb @@ -12,9 +12,9 @@ "> la librairie Java est compilée vers un fat-jar Maven shade puis exécutée sur le runtime .NET via\n", "> [IKVM](https://github.com/ikvm-refined/ikvm).\n", "\n", - "Navigation : [Tweety-2-Basic-Logics-Csharp](Tweety-2-Basic-Logics-Csharp.ipynb) (propositionnel) ·\n", - "[Tweety-2b-Semantics-Csharp](Tweety-2b-Semantics-Csharp.ipynb) (mondes possibles) ·\n", - "[Tweety-2c-FOL-Csharp](Tweety-2c-FOL-Csharp.ipynb) (premier ordre) ·\n", + "Navigation : [Tweety-2-Basic-Logics-Csharp](Tweety-02-Basic-Logics-CSharp.ipynb) (propositionnel) ·\n", + "[Tweety-2b-Semantics-Csharp](Tweety-02b-Semantics-CSharp.ipynb) (mondes possibles) ·\n", + "[Tweety-2c-FOL-Csharp](Tweety-02c-FOL-CSharp.ipynb) (premier ordre) ·\n", "**Tweety-3-Dung (ce notebook)**.\n", "\n", "***\n", diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-QBF-Csharp.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-QBF-Csharp.ipynb index b8684b434e..8882562dcd 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-QBF-Csharp.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-QBF-Csharp.ipynb @@ -12,12 +12,12 @@ "> la librairie Java est compilee vers un fat-jar Maven shade puis executee sur le runtime .NET via\n", "> [IKVM](https://github.com/ikvm-refined/ikvm).\n", "\n", - "Navigation : [Tweety-2-Basic-Logics-Csharp](Tweety-2-Basic-Logics-Csharp.ipynb) (propositionnel) -\n", + "Navigation : [Tweety-2-Basic-Logics-Csharp](Tweety-02-Basic-Logics-CSharp.ipynb) (propositionnel) -\n", " [Tweety-3-Advanced-Logics-Csharp](Tweety-3-Advanced-Logics-Csharp.ipynb) (Description Logics) -\n", " [Tweety-3-Conditional-Logics-Csharp](Tweety-3-Conditional-Logics-Csharp.ipynb) (CL, defeasible) -\n", " **Tweety-3-QBF (ce notebook - Quantified Boolean Formulas)**.\n", "\n", - "---\n", + "***\n", "\n", "## Objectifs pedagogiques\n", "\n", @@ -314,7 +314,7 @@ "id": "f45a5ebd", "metadata": {}, "source": [ - "---\n", + "***\n", "\n", "## Exercices\n", "\n", @@ -449,7 +449,7 @@ "id": "24f9e6dc", "metadata": {}, "source": [ - "---\n", + "***\n", "\n", "## Conclusion\n", "\n", diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Aspic-Csharp.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Aspic-Csharp.ipynb index f850baf225..bf5dc90cdd 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Aspic-Csharp.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Aspic-Csharp.ipynb @@ -12,13 +12,13 @@ "> la librairie Java est compilée vers un fat-jar Maven shade puis exécutée sur le runtime .NET via\n", "> [IKVM](https://github.com/ikvm-refined/ikvm).\n", "\n", - "Navigation : [Tweety-2-Basic-Logics-Csharp](Tweety-2-Basic-Logics-Csharp.ipynb) (propositionnel) ·\n", - "[Tweety-2b-Semantics-Csharp](Tweety-2b-Semantics-Csharp.ipynb) (mondes possibles) ·\n", - "[Tweety-2c-FOL-Csharp](Tweety-2c-FOL-Csharp.ipynb) (premier ordre) ·\n", + "Navigation : [Tweety-2-Basic-Logics-Csharp](Tweety-02-Basic-Logics-CSharp.ipynb) (propositionnel) ·\n", + "[Tweety-2b-Semantics-Csharp](Tweety-02b-Semantics-CSharp.ipynb) (mondes possibles) ·\n", + "[Tweety-2c-FOL-Csharp](Tweety-02c-FOL-CSharp.ipynb) (premier ordre) ·\n", "[Tweety-3-Dung-Csharp](Tweety-3-Dung-Csharp.ipynb) (argumentation **abstraite**) ·\n", "**Tweety-4-Aspic (ce notebook)** (argumentation **structurée**).\n", "\n", - "---\n", + "***\n", "\n", "## Objectifs pédagogiques\n", "\n", @@ -660,7 +660,7 @@ "id": "m276161", "metadata": {}, "source": [ - "---\n", + "***\n", "\n", "## Exercices\n", "\n", @@ -828,7 +828,7 @@ "id": "m28626", "metadata": {}, "source": [ - "---\n", + "***\n", "\n", "## Conclusion\n", "\n", diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Belief-Revision.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Belief-Revision.ipynb index 09fd67eb64..b9f595b334 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Belief-Revision.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Belief-Revision.ipynb @@ -16,7 +16,7 @@ "source": [ "# Révision de Croyances et Incohérence\n", "\n", - "**Navigation**: [← Tweety-3-Advanced-Logics](Tweety-3-Advanced-Logics.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-5-Abstract-Argumentation →](Tweety-5-Abstract-Argumentation.ipynb)\n", + "**Navigation**: [← Tweety-3-Advanced-Logics](Tweety-3-Advanced-Logics.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-5-Abstract-Argumentation →](Tweety-5-Abstract-Argumentation.ipynb)\n", "\n", "***\n", "\n", @@ -29,7 +29,7 @@ "\n", "## Prérequis\n", "\n", - "Exécutez d'abord [Tweety-1-Setup.ipynb](Tweety-1-Setup.ipynb) pour configurer l'environnement JVM.\n", + "Exécutez d'abord [Tweety-01-Setup-Python.ipynb](Tweety-01-Setup-Python.ipynb) pour configurer l'environnement JVM.\n", "\n", "## Durée estimée : 30-40 minutes" ] @@ -2205,7 +2205,7 @@ "\n", "***\n", "\n", - "**Navigation**: [Tweety-3-Advanced-Logics](Tweety-3-Advanced-Logics.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-5-Abstract-Argumentation](Tweety-5-Abstract-Argumentation.ipynb)" + "**Navigation**: [Tweety-3-Advanced-Logics](Tweety-3-Advanced-Logics.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-5-Abstract-Argumentation](Tweety-5-Abstract-Argumentation.ipynb)" ] }, { diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Abstract-Argumentation.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Abstract-Argumentation.ipynb index 03b50e16e5..04da8bf64a 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Abstract-Argumentation.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Abstract-Argumentation.ipynb @@ -16,7 +16,7 @@ "source": [ "# Argumentation Abstraite (Dung)\n", "\n", - "**Navigation**: [<- Tweety-4-Belief-Revision](Tweety-4-Belief-Revision.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-6-Structured-Argumentation ->](Tweety-6-Structured-Argumentation.ipynb)\n", + "**Navigation**: [<- Tweety-4-Belief-Revision](Tweety-4-Belief-Revision.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-6-Structured-Argumentation ->](Tweety-06-Structured-Argumentation-Python.ipynb)\n", "\n", "***\n", "\n", @@ -30,7 +30,7 @@ "\n", "## Prerequis\n", "\n", - "Executez d'abord [Tweety-1-Setup.ipynb](Tweety-1-Setup.ipynb) pour configurer l'environnement JVM.\n", + "Executez d'abord [Tweety-01-Setup-Python.ipynb](Tweety-01-Setup-Python.ipynb) pour configurer l'environnement JVM.\n", "\n", "### Duree estimee : 60 minutes\n", "\n", @@ -1908,7 +1908,7 @@ "\n", "***\n", "\n", - "**Navigation**: [<- Tweety-4-Belief-Revision](Tweety-4-Belief-Revision.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-6-Structured-Argumentation ->](Tweety-6-Structured-Argumentation.ipynb)" + "**Navigation**: [<- Tweety-4-Belief-Revision](Tweety-4-Belief-Revision.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-6-Structured-Argumentation ->](Tweety-06-Structured-Argumentation-Python.ipynb)" ] }, { @@ -2974,7 +2974,7 @@ "\n", "***\n", "\n", - "**Navigation** : [<- Tweety-4-Belief-Revision](Tweety-4-Belief-Revision.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-6-Structured-Argumentation ->](Tweety-6-Structured-Argumentation.ipynb)" + "**Navigation** : [<- Tweety-4-Belief-Revision](Tweety-4-Belief-Revision.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-6-Structured-Argumentation ->](Tweety-06-Structured-Argumentation-Python.ipynb)" ] } ], diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5e-Propositional-Lab-Lean.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5e-Propositional-Lab-Lean.ipynb index f6625f4022..acb70276ba 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5e-Propositional-Lab-Lean.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5e-Propositional-Lab-Lean.ipynb @@ -16,9 +16,9 @@ "source": [ "# Tweety-5e — Laboratoire propositionnel : validité, preuve et contre-modèle\n", "\n", - "**Navigation**: [← Tweety-5d](Tweety-5d-Stable-Synthesis-Lean.ipynb) | [Index](Tweety-1-Setup.ipynb) | [Tweety-2](Tweety-2-Basic-Logics.ipynb) | [Lean-3](../Lean/Lean-3-Propositions-Proofs.ipynb) |\n", + "**Navigation**: [← Tweety-5d](Tweety-5d-Stable-Synthesis-Lean.ipynb) | [Index](Tweety-01-Setup-Python.ipynb) | [Tweety-2](Tweety-02-Basic-Logics-Python.ipynb) | [Lean-3](../Lean/Lean-3-Propositions-Proofs.ipynb) |\n", "\n", - "Ce notebook est le **companion transversal** de [Tweety-2](Tweety-2-Basic-Logics.ipynb)\n", + "Ce notebook est le **companion transversal** de [Tweety-2](Tweety-02-Basic-Logics-Python.ipynb)\n", "(la pratique du raisonner propositionnel) et de\n", "[Lean-3](../Lean/Lean-3-Propositions-Proofs.ipynb) (les preuves interactives) :\n", "il fait traverser à **trois formules-témoins** les **quatre niveaux** d'articulation\n", @@ -41,7 +41,7 @@ "\n", "## Prérequis\n", "\n", - "- [Tweety-1-Setup](Tweety-1-Setup.ipynb) exécuté (JVM, `Tweety/libs`).\n", + "- [Tweety-1-Setup](Tweety-01-Setup-Python.ipynb) exécuté (JVM, `Tweety/libs`).\n", "- Le pilote FFL `Foundation` cloné dans WSL au commit épinglé\n", " `21318c7ee3b608c10366da82c4208b0d38a07402` (la cellule de la section 3 vérifie et documente l'installation).\n", "\n", diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/_probes/Tweety-IKVM-Init-Probe.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/_probes/Tweety-IKVM-Init-Probe.ipynb index 28edd23f39..a4127eb324 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/_probes/Tweety-IKVM-Init-Probe.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/_probes/Tweety-IKVM-Init-Probe.ipynb @@ -16,7 +16,7 @@ "source": [ "# Tweety .NET - Probe Phase 1 axe 2 : initialisation du runtime IKVM dans `dotnet-interactive`\n", "\n", - "**Navigation** : [<- Tweety-1-Setup](../Tweety-1-Setup.ipynb) | [Index serie](../Tweety-1-Setup.ipynb)\n", + "**Navigation** : [<- Tweety-1-Setup](../Tweety-01-Setup-Python.ipynb) | [Index serie](../Tweety-01-Setup-Python.ipynb)\n", "\n", "## Pourquoi ce notebook\n", "\n", diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/dotnet-build/README.md b/MyIA.AI.Notebooks/SymbolicAI/Tweety/dotnet-build/README.md index c92b7fcad4..46127c9e62 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/dotnet-build/README.md +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/dotnet-build/README.md @@ -4,7 +4,7 @@ Ce dossier contient les **recettes de build** (POM shade + csproj) des runtimes recompilés via IKVM 8.15.0. Chaque runtime compilé (`org.tweetyproject.tweety-.dll`) est placé **à côté du notebook** qui le charge. -## Fichiers — cluster `pl` (notebook [`../Tweety-2-Basic-Logics-Csharp.ipynb`](../Tweety-2-Basic-Logics-Csharp.ipynb)) +## Fichiers — cluster `pl` (notebook [`../Tweety-02-Basic-Logics-CSharp.ipynb`](../Tweety-02-Basic-Logics-CSharp.ipynb)) | Fichier | Rôle | Committé ? | |---------|------|-----------| @@ -58,7 +58,7 @@ cp bin/Release/net8.0/org.tweetyproject.tweety-pl.dll . en version 8.0 ; un DLL `net10.0` compile `Proposition` mais lève `FileNotFoundException: System.Runtime 10.0.0.0` au premier appel méthode. -Voir `Tweety-2-Basic-Logics-Csharp.ipynb` pour l'utilisation. Epic #4667. +Voir `Tweety-02-Basic-Logics-CSharp.ipynb` pour l'utilisation. Epic #4667. ## Fichiers — IKVM shade 5 modules (notebooks Tweety-5/7a/7b) @@ -69,11 +69,11 @@ committée (pattern #4711). Les cinq DLLs couvrent les modules argumentation | Module | Version | Notebook consommateur | Statut | |--------|---------|----------------------|--------| -| `bipolar` | 1.21 | `Tweety-7a-Extended-Frameworks-Csharp.ipynb` (cell 30+, ADF + Bipolar) | SOTA-OK | -| `social` | 1.21 | `Tweety-7a-Extended-Frameworks-Csharp.ipynb` (cell 28-29) | SOTA-OK | -| `setaf` | 1.21 | `Tweety-7a-Extended-Frameworks-Csharp.ipynb` (cell 30+, SetAF) | SOTA-OK | -| `extended` | 1.30 | `Tweety-7a-Extended-Frameworks-Csharp.ipynb` (EAF = Extended Argumentation Framework) | SOTA-OK | -| `weighted` | 1.30 | `Tweety-7a-Extended-Frameworks-Csharp.ipynb` (cell 26-27) | SOTA-OK | +| `bipolar` | 1.21 | `Tweety-07a-Extended-Frameworks-CSharp.ipynb` (cell 30+, ADF + Bipolar) | SOTA-OK | +| `social` | 1.21 | `Tweety-07a-Extended-Frameworks-CSharp.ipynb` (cell 28-29) | SOTA-OK | +| `setaf` | 1.21 | `Tweety-07a-Extended-Frameworks-CSharp.ipynb` (cell 30+, SetAF) | SOTA-OK | +| `extended` | 1.30 | `Tweety-07a-Extended-Frameworks-CSharp.ipynb` (EAF = Extended Argumentation Framework) | SOTA-OK | +| `weighted` | 1.30 | `Tweety-07a-Extended-Frameworks-CSharp.ipynb` (cell 26-27) | SOTA-OK | ### Pipeline de rebuild — `rebuild-5shades.sh` diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/dotnet-build/build-TweetyDialoguesShade.csproj b/MyIA.AI.Notebooks/SymbolicAI/Tweety/dotnet-build/build-TweetyDialoguesShade.csproj index 10b566db59..726fc790f6 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/dotnet-build/build-TweetyDialoguesShade.csproj +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/dotnet-build/build-TweetyDialoguesShade.csproj @@ -31,7 +31,7 @@ Output: ..\libs\org.tweetyproject.tweety-dialogues-java8-shade.jar (gitignored, rebuildable), then bin\Release\net8.0\org.tweetyproject.tweety-dialogues.dll - Consumed by Tweety-8-Agent-Dialogues-Csharp.ipynb Tranche 2: + Consumed by Tweety-08-Agent-Dialogues-CSharp.ipynb Tranche 2: #r "org.tweetyproject.tweety-dialogues.dll" org.tweetyproject.agents.dialogues.oppmodels.ArguingAgent org.tweetyproject.agents.dialogues.oppmodels.GroundedGameSystem diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/scripts/_archive/reorganize_tweety.py b/MyIA.AI.Notebooks/SymbolicAI/Tweety/scripts/_archive/reorganize_tweety.py index b36ac77600..0ce81f6adf 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/scripts/_archive/reorganize_tweety.py +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/scripts/_archive/reorganize_tweety.py @@ -88,8 +88,8 @@ def main(): "## Navigation\n", "\n", "- **Precedent**: [Tweety-4-Belief-Revision.ipynb](Tweety-4-Belief-Revision.ipynb)\n", - "- **Suivant**: [Tweety-6-Structured-Argumentation.ipynb](Tweety-6-Structured-Argumentation.ipynb)\n", - "- **Index**: [Tweety-1-Setup.ipynb](Tweety-1-Setup.ipynb)\n" + "- **Suivant**: [Tweety-06-Structured-Argumentation-Python.ipynb](Tweety-06-Structured-Argumentation-Python.ipynb)\n", + "- **Index**: [Tweety-01-Setup-Python.ipynb](Tweety-01-Setup-Python.ipynb)\n" ] } new_tweety5_cells.append(nav_tweety5) @@ -103,9 +103,9 @@ def main(): "\n", "Ce notebook couvre les cadres d'argumentation abstraits de Dung.\n", "\n", - "**Pre-requis**: Executez d'abord [Tweety-1-Setup.ipynb](Tweety-1-Setup.ipynb) pour configurer l'environnement.\n", + "**Pre-requis**: Executez d'abord [Tweety-01-Setup-Python.ipynb](Tweety-01-Setup-Python.ipynb) pour configurer l'environnement.\n", "\n", - "**Navigation**: [Precedent](Tweety-4-Belief-Revision.ipynb) | [Suivant](Tweety-6-Structured-Argumentation.ipynb)\n" + "**Navigation**: [Precedent](Tweety-4-Belief-Revision.ipynb) | [Suivant](Tweety-06-Structured-Argumentation-Python.ipynb)\n" ] write_notebook(tweety5_path, new_tweety5) @@ -122,7 +122,7 @@ def main(): "\n", "Ce notebook couvre les frameworks d'argumentation structuree : ASPIC+, DeLP, ABA, Argumentation Deductive et ASP.\n", "\n", - "**Pre-requis**: Executez d'abord [Tweety-1-Setup.ipynb](Tweety-1-Setup.ipynb) pour configurer l'environnement.\n", + "**Pre-requis**: Executez d'abord [Tweety-01-Setup-Python.ipynb](Tweety-01-Setup-Python.ipynb) pour configurer l'environnement.\n", "\n", "**Navigation**: [Precedent](Tweety-5-Abstract-Argumentation.ipynb) | [Suivant](Tweety-7-Advanced-Argumentation.ipynb)\n" ] @@ -142,13 +142,13 @@ def main(): "\n", "- **Precedent**: [Tweety-5-Abstract-Argumentation.ipynb](Tweety-5-Abstract-Argumentation.ipynb)\n", "- **Suivant**: [Tweety-7-Advanced-Argumentation.ipynb](Tweety-7-Advanced-Argumentation.ipynb)\n", - "- **Index**: [Tweety-1-Setup.ipynb](Tweety-1-Setup.ipynb)\n" + "- **Index**: [Tweety-01-Setup-Python.ipynb](Tweety-01-Setup-Python.ipynb)\n" ] } tweety6_cells.append(nav_tweety6) new_tweety6 = create_notebook_from_cells(tweety6_cells, metadata) - tweety6_path = base_dir / "Tweety-6-Structured-Argumentation.ipynb" + tweety6_path = base_dir / "Tweety-06-Structured-Argumentation-Python.ipynb" write_notebook(tweety6_path, new_tweety6) # 5. Renommer ancien Tweety-6 en Tweety-7 @@ -187,7 +187,7 @@ def main(): print("="*60) print(f"\nNouvelle structure :") print(f" - Tweety-5-Abstract-Argumentation.ipynb (Dung uniquement)") - print(f" - Tweety-6-Structured-Argumentation.ipynb (ASPIC+, DeLP, ABA, etc.)") + print(f" - Tweety-06-Structured-Argumentation-Python.ipynb (ASPIC+, DeLP, ABA, etc.)") print(f" - Tweety-7-Advanced-Argumentation.ipynb (ancien Tweety-6)") print(f"\nBackup conservé : {backup_path}") diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/scripts/validate_syntax.py b/MyIA.AI.Notebooks/SymbolicAI/Tweety/scripts/validate_syntax.py index 58b0671513..09cd107755 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/scripts/validate_syntax.py +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/scripts/validate_syntax.py @@ -12,15 +12,15 @@ # Notebooks to validate TWEETY_NOTEBOOKS = [ - "Tweety-1-Setup.ipynb", - "Tweety-2-Basic-Logics.ipynb", + "Tweety-01-Setup-Python.ipynb", + "Tweety-02-Basic-Logics-Python.ipynb", "Tweety-3-Advanced-Logics.ipynb", "Tweety-4-Belief-Revision.ipynb", "Tweety-5-Abstract-Argumentation.ipynb", - "Tweety-6-Structured-Argumentation.ipynb", + "Tweety-06-Structured-Argumentation-Python.ipynb", "Tweety-7-Advanced-Argumentation.ipynb", - "Tweety-7a-Extended-Frameworks.ipynb", - "Tweety-7b-Ranking-Probabilistic.ipynb", + "Tweety-07a-Extended-Frameworks-Python.ipynb", + "Tweety-07b-Ranking-Probabilistic-Python.ipynb", ] diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/scripts/verify_all_tweety.py b/MyIA.AI.Notebooks/SymbolicAI/Tweety/scripts/verify_all_tweety.py index 8589956a7c..d2b899b9a8 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/scripts/verify_all_tweety.py +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/scripts/verify_all_tweety.py @@ -34,7 +34,7 @@ python verify_all_tweety.py --analyze-outputs --verbose # Analyze existing outputs python verify_all_tweety.py --execute --verbose # Full execution test python verify_all_tweety.py --cell-by-cell # Cell-by-cell execution - python verify_all_tweety.py --notebook Tweety-1-Setup # Single notebook + python verify_all_tweety.py --notebook Tweety-01-Setup-Python # Single notebook """ import argparse @@ -52,17 +52,17 @@ # Expected Tweety notebooks in order TWEETY_NOTEBOOKS = [ - "Tweety-1-Setup.ipynb", - "Tweety-2-Basic-Logics.ipynb", + "Tweety-01-Setup-Python.ipynb", + "Tweety-02-Basic-Logics-Python.ipynb", "Tweety-3-Advanced-Logics.ipynb", "Tweety-4-Belief-Revision.ipynb", "Tweety-5-Abstract-Argumentation.ipynb", - "Tweety-6-Structured-Argumentation.ipynb", + "Tweety-06-Structured-Argumentation-Python.ipynb", # Tweety-7 divided into 7a and 7b - "Tweety-7a-Extended-Frameworks.ipynb", - "Tweety-7b-Ranking-Probabilistic.ipynb", - "Tweety-8-Agent-Dialogues.ipynb", - "Tweety-9-Preferences.ipynb", + "Tweety-07a-Extended-Frameworks-Python.ipynb", + "Tweety-07b-Ranking-Probabilistic-Python.ipynb", + "Tweety-08-Agent-Dialogues-Python.ipynb", + "Tweety-09-Preferences-Python.ipynb", ] # Expected support directories and files @@ -113,18 +113,18 @@ "AF Learning disabled - ClassCastException (Tautology cannot be cast to AssociativePlFormula)", "Limitation: Internal Tweety bug, section commented out" ], - "Tweety-7a-Extended-Frameworks.ipynb": [ + "Tweety-07a-Extended-Frameworks-Python.ipynb": [ "ADF section may fail - requires native SAT solver", "Other sections (Bipolar, WAF, SAF, SetAF, Extended) work correctly" ], - "Tweety-7b-Ranking-Probabilistic.ipynb": [ + "Tweety-07b-Ranking-Probabilistic-Python.ipynb": [ "All sections should work correctly" ], - "Tweety-8-Agent-Dialogues.ipynb": [ + "Tweety-08-Agent-Dialogues-Python.ipynb": [ "Module coverage limited - agents.dialogues is relatively undocumented", "Lottery examples from arg.prob work correctly" ], - "Tweety-9-Preferences.ipynb": [ + "Tweety-09-Preferences-Python.ipynb": [ "preferences module may have limited API exposure", "Python simulation of voting rules provided as alternative" ], @@ -456,7 +456,7 @@ def check_environment(tweety_dir: Path) -> EnvironmentCheck: env.jars_found = len(jars) env.jars_path = str(libs_path) else: - env.errors.append("Tweety JARs not found - run Tweety-1-Setup.ipynb first") + env.errors.append("Tweety JARs not found - run Tweety-01-Setup-Python.ipynb first") # Check Clingo (optional) clingo_path = shutil.which("clingo") diff --git a/MyIA.AI.Notebooks/SymbolicAI/_archive/README.md b/MyIA.AI.Notebooks/SymbolicAI/_archive/README.md index eb8581cbe2..50896dd5d2 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/_archive/README.md +++ b/MyIA.AI.Notebooks/SymbolicAI/_archive/README.md @@ -17,12 +17,12 @@ Ce répertoire contient les anciennes versions et fichiers historiques de la sé - Argumentation avancée (ADF, Bipolaire, Ranking, Probabiliste) **Nouvelle structure** (7 notebooks séparés): -1. **Tweety-1-Setup.ipynb** - Configuration environnement uniquement -2. **Tweety-2-Basic-Logics.ipynb** - PL et FOL +1. **Tweety-01-Setup-Python.ipynb** - Configuration environnement uniquement +2. **Tweety-02-Basic-Logics-Python.ipynb** - PL et FOL 3. **Tweety-3-Advanced-Logics.ipynb** - DL, Modale, QBF 4. **Tweety-4-Belief-Revision.ipynb** - Révision de croyances, MUS 5. **Tweety-5-Abstract-Argumentation.ipynb** - Cadres de Dung -6. **Tweety-6-Structured-Argumentation.ipynb** - ASPIC+, DeLP, ABA, ASP +6. **Tweety-06-Structured-Argumentation-Python.ipynb** - ASPIC+, DeLP, ABA, ASP 7. **Tweety-7-Advanced-Argumentation.ipynb** - ADF, Ranking, Probabiliste **Avantages de la nouvelle structure**: diff --git a/README.md b/README.md index 80e143883e..b8d6568afa 100644 --- a/README.md +++ b/README.md @@ -486,7 +486,7 @@ s'installent directement via leur `requirements.txt`. | Planners | `SymbolicAI/Planners/00-Environment/Planners-0-Setup.ipynb` | `requirements.txt` ; `SymbolicAI/scripts/install_clingo.py` | | SemanticWeb | `SymbolicAI/SemanticWeb/SW-1-CSharp-Setup.ipynb` | kernel .NET Interactive | | SmartContracts | `SymbolicAI/SmartContracts/00-Foundations/SC-1-Setup-Foundry.ipynb`, `SC-2-Setup-Web3py.ipynb` | `SymbolicAI/SmartContracts/setup_env.py`, `SymbolicAI/SmartContracts/scripts/setup_wsl_smartcontracts.sh` | -| Tweety | `SymbolicAI/Tweety/Tweety-1-Setup.ipynb` | `tweety_init.py` (JDK auto-télécharge) | +| Tweety | `SymbolicAI/Tweety/Tweety-01-Setup-Python.ipynb` | `tweety_init.py` (JDK auto-télécharge) | | Argument Analysis | `SymbolicAI/Argument_Analysis/Argument_Analysis_UI_configuration.ipynb` | `install_jdk_portable.py` | | IIT | `requirements.txt` | `IIT/scripts/setup_pyphi_env.ps1` | | GenAI / Aspire | `GenAI/Integrations-DotNet/Aspire/01-Aspire-Orchestration-GenAi.ipynb` | SDK .NET 10 + CLI Aspire (`dotnet tool install -g Aspire.Cli`) ; Docker démarré | diff --git a/_quarto.yml b/_quarto.yml index 668abff19c..9e1ad73c26 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -1240,14 +1240,14 @@ project: - "MyIA.AI.Notebooks/SymbolicAI/Tweety/_probes/Tweety-IKVM-Init-Probe.ipynb" - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-10-MLN-Csharp.ipynb" - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-12-Grounded-Via-TweetyProject.ipynb" - - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2b-Semantics-Csharp.ipynb" + - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02b-Semantics-CSharp.ipynb" - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Belief-Revision-Csharp.ipynb" - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Abstract-Argumentation.ipynb" - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5b-Lean-Argumentation.ipynb" - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5d-Stable-Synthesis-Lean.ipynb" - - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation-Csharp.ipynb" - - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks-Csharp.ipynb" - - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks.ipynb" + - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-CSharp.ipynb" + - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-CSharp.ipynb" + - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-Python.ipynb" site: title: "CoursIA" description: "Apprendre l'intelligence artificielle par la pratique, des fondements théoriques aux applications avancées." diff --git a/docs/archive/ledgers-reviews/2026-07-11-h4-sweep-6021.md b/docs/archive/ledgers-reviews/2026-07-11-h4-sweep-6021.md index 9244ab0ce0..ac69a8e461 100644 --- a/docs/archive/ledgers-reviews/2026-07-11-h4-sweep-6021.md +++ b/docs/archive/ledgers-reviews/2026-07-11-h4-sweep-6021.md @@ -14,7 +14,7 @@ Sweep L143 SAFE cross-owner (jsboige owner-lane axe-1 PR-po C#-rest vs po-2023 r | 2 | `GameTheory/GameTheory-02-NormalForm-Csharp-Part2.ipynb` | `## 8. Conclusion (tranche 1)` | `## Conclusion (tranche 1)` | **EXEC_PROVED** keyword-gated, tranche préservée | | 3 | `Sudoku/Sudoku-06-Benchmark-Wave-25-csharp.ipynb` | `## 12. Récapitulatif` | `## Récapitulatif` | **EXEC_PROVED** keyword-gated, UTF-8 accent préservé | | 4 | `Planners/Planners-4-Advanced-H tsp-csharp.ipynb` | `## 10. Conclusion` | `## Conclusion` | **EXEC_PROVED** keyword-gated | -| 5 | `SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks-Csharp.ipynb` | `## 9. Conclusion (tranche 1)` | `## Conclusion (tranche 1)` | **EXEC_PROVED** keyword-gated, tranche préservée | +| 5 | `SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-CSharp.ipynb` | `## 9. Conclusion (tranche 1)` | `## Conclusion (tranche 1)` | **EXEC_PROVED** keyword-gated, tranche préservée | **Pattern keyword-gated vérifié** : regex `^#{1,6}\s+\d+\.\s+(Conclusion|Synthèse|R[ée]cap|Bilan)` → `^#{1,6}\s+(Conclusion|...)` ; `tranche N` suffixée préservée verbatim. Encodage UTF-8 accent `Synthèse` préservé (pas de mojibake, pas d'entité HTML `é` substituée). Aucune réécriture de cellules code, aucune fusion/split de sections. diff --git a/docs/archive/visitor-navigation-guide.md b/docs/archive/visitor-navigation-guide.md index d9bd0efa77..ecb057d925 100644 --- a/docs/archive/visitor-navigation-guide.md +++ b/docs/archive/visitor-navigation-guide.md @@ -68,7 +68,7 @@ Les notebooks utilisent principalement **Python 3.10+** (PyTorch, OR-Tools, PyMC **Fil conducteur** : prouver des theoremes classiques (Arrow, Conway, Kochen-Specker) en Lean 4, utiliser des solveurs (Z3, OR-Tools), et explorer les logiques non-classiques. -**Entree recommandee** : [Lean-1-Setup](../MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-1-Setup.ipynb) configure l'environnement Lean 4 (kernel WSL). Puis [Tweety-2](../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics.ipynb) pour les fondamentaux logiques. +**Entree recommandee** : [Lean-1-Setup](../MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-1-Setup.ipynb) configure l'environnement Lean 4 (kernel WSL). Puis [Tweety-2](../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02-Basic-Logics-Python.ipynb) pour les fondamentaux logiques. **Etapes cles** : Lean 4 (16 nb, theoremes portes) → Tweety (logiques, argumentation) → Planners (PDDL, Fast-Downward) → SmartContracts (Solidity, verification formelle). Les series Lean et SymbolicAI sont partagees avec le **Parcours A** ; ici on les lit comme le coeur de la verification formelle (la preuve comme garantie, pas comme exploration). diff --git a/docs/curriculum/ia-symbolique.md b/docs/curriculum/ia-symbolique.md index 7beb1c68bd..bcbd081311 100644 --- a/docs/curriculum/ia-symbolique.md +++ b/docs/curriculum/ia-symbolique.md @@ -299,16 +299,16 @@ Preuves formelles en Lean 4, logique probabiliste avec Tweety, web sémantique, | # | Notebook | Maturité | Exécutable | |---|----------|----------|------------| -| 1 | [Configuration et Installation TweetyProject](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-1-Setup.ipynb) | BETA | Oui | +| 1 | [Configuration et Installation TweetyProject](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-01-Setup-Python.ipynb) | BETA | Oui | | 2 | [Tweety-10 — Markov Logic Networks (MLN) en .NET (C# /…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-10-MLN-Csharp.ipynb) | BETA | Oui | | 3 | [Tweety-10 — Markov Logic Networks (MLN)](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-10-MLN.ipynb) | BETA | Oui | | 4 | [Tweety-11 — Inférence causale & do-calculus (twin C#…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-11-Causal-Csharp.ipynb) | BETA | Oui | | 5 | [Tweety-11 — Raisonnement Causal : du do-calculus aux…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-11-Causal.ipynb) | BETA | Oui | | 6 | [Argumentation Abstraite : Grounded Extension - Pont…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-12-Grounded-Via-TweetyProject.ipynb) | BETA | Oui | -| 7 | [Tweety C# / IKVM - Logiques de Base (Port .NET du…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics-Csharp.ipynb) | BETA | Oui | -| 8 | [Logiques de Base - Propositionnelle et Premier Ordre](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics.ipynb) | BETA | Oui | -| 9 | [Tweety C# / IKVM - Sémantique propositionnelle : mondes…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2b-Semantics-Csharp.ipynb) | BETA | Oui | -| 10 | [Tweety-2c — Logique du premier ordre en C#/.NET (port…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2c-FOL-Csharp.ipynb) | BETA | Oui | +| 7 | [Tweety C# / IKVM - Logiques de Base (Port .NET du…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02-Basic-Logics-CSharp.ipynb) | BETA | Oui | +| 8 | [Logiques de Base - Propositionnelle et Premier Ordre](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02-Basic-Logics-Python.ipynb) | BETA | Oui | +| 9 | [Tweety C# / IKVM - Sémantique propositionnelle : mondes…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02b-Semantics-CSharp.ipynb) | BETA | Oui | +| 10 | [Tweety-2c — Logique du premier ordre en C#/.NET (port…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02c-FOL-CSharp.ipynb) | BETA | Oui | | 11 | [Tweety-3 — Description Logics en C#/.NET (port natif…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Advanced-Logics-Csharp.ipynb) | BETA | Oui | | 12 | [Logiques Avancees - DL, Modale, QBF, Conditional](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Advanced-Logics.ipynb) | BETA | Oui | | 13 | [Tweety-3 — Conditional Logics en C#/.NET (port natif…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Conditional-Logics-Csharp.ipynb) | BETA | Oui | @@ -322,14 +322,14 @@ Preuves formelles en Lean 4, logique probabiliste avec Tweety, web sémantique, | 21 | [Argumentation Abstraite (Dung)](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Abstract-Argumentation.ipynb) | BETA | Oui | | 22 | [Tweety-5b — Théorie de l'argumentation de Dung…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5b-Lean-Argumentation.ipynb) | BETA | Non | | 23 | [Tweety-5d — Synthèse certifiée d'extensions stables :…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5d-Stable-Synthesis-Lean.ipynb) | BETA | Non | -| 24 | [Tweety-6 — Argumentation structuree (twin C# / .NET…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation-Csharp.ipynb) | BETA | Oui | -| 25 | [Argumentation Structuree](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation.ipynb) | BETA | Oui | -| 26 | [Tweety-7a : Frameworks d'Argumentation Etendus (C#)](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks-Csharp.ipynb) | BETA | Oui | -| 27 | [Frameworks d'Argumentation Étendus](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks.ipynb) | BETA | Oui | -| 28 | [Tweety-7b - Ranking Probabilistic Conditional Logic en…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7b-Ranking-Probabilistic-Csharp.ipynb) | BETA | Oui | -| 29 | [Sémantiques de Classement et Argumentation Probabiliste](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7b-Ranking-Probabilistic.ipynb) | BETA | Oui | -| 30 | [Dialogues Multi-Agents Argumentatifs (twin C#)](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues-Csharp.ipynb) | BETA | Oui | -| 31 | [Dialogues Multi-Agents Argumentatifs](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues.ipynb) | BETA | Oui | -| 32 | [Préférences et Théorie du Vote en C# / .NET (port natif…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-9-Preferences-Csharp.ipynb) | ALPHA | Oui | -| 33 | [Préférences et Théorie du Vote](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-9-Preferences.ipynb) | ALPHA | Oui | +| 24 | [Tweety-6 — Argumentation structuree (twin C# / .NET…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-CSharp.ipynb) | BETA | Oui | +| 25 | [Argumentation Structuree](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-Python.ipynb) | BETA | Oui | +| 26 | [Tweety-7a : Frameworks d'Argumentation Etendus (C#)](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-CSharp.ipynb) | BETA | Oui | +| 27 | [Frameworks d'Argumentation Étendus](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-Python.ipynb) | BETA | Oui | +| 28 | [Tweety-7b - Ranking Probabilistic Conditional Logic en…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-CSharp.ipynb) | BETA | Oui | +| 29 | [Sémantiques de Classement et Argumentation Probabiliste](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-Python.ipynb) | BETA | Oui | +| 30 | [Dialogues Multi-Agents Argumentatifs (twin C#)](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-08-Agent-Dialogues-CSharp.ipynb) | BETA | Oui | +| 31 | [Dialogues Multi-Agents Argumentatifs](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-08-Agent-Dialogues-Python.ipynb) | BETA | Oui | +| 32 | [Préférences et Théorie du Vote en C# / .NET (port natif…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-09-Preferences-CSharp.ipynb) | ALPHA | Oui | +| 33 | [Préférences et Théorie du Vote](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-09-Preferences-Python.ipynb) | ALPHA | Oui | | 34 | [Tweety .NET - Probe Phase 1 axe 2 : initialisation du…](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/_probes/Tweety-IKVM-Init-Probe.ipynb) | BETA | Oui | diff --git a/docs/curriculum/symbolic-formalization.md b/docs/curriculum/symbolic-formalization.md index a091060191..f20ce55a3c 100644 --- a/docs/curriculum/symbolic-formalization.md +++ b/docs/curriculum/symbolic-formalization.md @@ -45,7 +45,7 @@ formalisation dont la correction est vérifiée par une machine. | WSL2 + elan **(bloc 4 seulement)** | `wsl --status` puis, dans WSL, `elan show` | une toolchain `stable` s'affiche | | Clé OpenAI **(aucune)** | — | ce parcours n'appelle AUCUNE API payante | -Les blocs 1-3 tournent sur Python seul (Tweety-1 télécharge et configure lui-même +Les blocs 1-3 tournent sur Python seul (Tweety-01 télécharge et configure lui-même le JDK Zulu et les JARs ; Z3 et fast-downward s'installent par pip). Le bloc 4 exige WSL2 + elan — vérifiable en 2 minutes, et TOUJOURS installable (voir [kernels-runtime](../../docs/reference/kernels-runtime.md)). @@ -112,16 +112,16 @@ est la Phase 3, argumentation). | # | Notebook | Durée | Apporte → Suppose | |---|---|---|---| -| 1 | [Tweety-1-Setup](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-1-Setup.ipynb) | 45 min | JDK + 42 JARs + solveurs externes auto-installés → rien | -| 2 | [Tweety-2-Basic-Logics](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics.ipynb) | 45 min | PL, SAT (pySAT), FOL → étape 1 | +| 1 | [Tweety-01-Setup-Python](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-01-Setup-Python.ipynb) | 45 min | JDK + 42 JARs + solveurs externes auto-installés → rien | +| 2 | [Tweety-02-Basic-Logics-Python](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02-Basic-Logics-Python.ipynb) | 45 min | PL, SAT (pySAT), FOL → étape 1 | | 3 | [Tweety-3-Advanced-Logics](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Advanced-Logics.ipynb) | 45 min | logiques de description, modale, QBF → étape 2 | | 4 | [Tweety-4-Belief-Revision](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Belief-Revision.ipynb) | 30 min | MUS, mesure d'incohérence, révision AGM, MaxSAT → étape 2 | | 5 | [Tweety-5-Abstract-Argumentation](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Abstract-Argumentation.ipynb) | 45 min | **cœur** : sémantiques de Dung (grounded, preferred, stable) → étapes 2-4 | -| 6 | [Tweety-6-Structured-Argumentation](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation.ipynb) | 30 min | ASPIC+, DeLP, ABA, ASP (Clingo) → étape 5 | -| 7 | [Tweety-7a-Extended-Frameworks](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks.ipynb) | 30 min | ADF, bipolaire, WAF, attaques récursives → étape 5 | -| 8 | [Tweety-7b-Ranking-Probabilistic](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7b-Ranking-Probabilistic.ipynb) | 30 min | classement et probabilités sur arguments → étape 5 | -| 9 | [Tweety-8-Agent-Dialogues](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues.ipynb) | 30 min | protocoles de dialogue, jeux grounded → étape 6 | -| 10 | [Tweety-9-Preferences](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-9-Preferences.ipynb) | 30 min | préférences, vote (Borda, Condorcet) → étape 6 | +| 6 | [Tweety-06-Structured-Argumentation-Python](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-Python.ipynb) | 30 min | ASPIC+, DeLP, ABA, ASP (Clingo) → étape 5 | +| 7 | [Tweety-07a-Extended-Frameworks-Python](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-Python.ipynb) | 30 min | ADF, bipolaire, WAF, attaques récursives → étape 5 | +| 8 | [Tweety-07b-Ranking-Probabilistic-Python](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-Python.ipynb) | 30 min | classement et probabilités sur arguments → étape 5 | +| 9 | [Tweety-08-Agent-Dialogues-Python](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-08-Agent-Dialogues-Python.ipynb) | 30 min | protocoles de dialogue, jeux grounded → étape 6 | +| 10 | [Tweety-09-Preferences-Python](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-09-Preferences-Python.ipynb) | 30 min | préférences, vote (Borda, Condorcet) → étape 6 | ### Bloc 2 — Décision automatique : SMT (Z3, étapes 11-18, 3 h 45) diff --git a/docs/ledgers/10678-interp-positioning-audit.md b/docs/ledgers/10678-interp-positioning-audit.md index 8228b57a9a..8166125951 100644 --- a/docs/ledgers/10678-interp-positioning-audit.md +++ b/docs/ledgers/10678-interp-positioning-audit.md @@ -37,7 +37,7 @@ Pour chaque cellule markdown d'interpretation (pattern `### Lecture du resultat` | `Search-03-Informed.ipynb` | 1/8 | MISPLACED | | `Sudoku-14-BDD-Csharp.ipynb` | 1/3 | MISPLACED | | `Lean-7b-Examples.ipynb` | 1/7 | MISPLACED | -| `Tweety-8-Agent-Dialogues.ipynb` | 1/1 | MISPLACED | +| `Tweety-08-Agent-Dialogues-Python.ipynb` | 1/1 | MISPLACED | ## Detail des 24 cellules MISPLACED @@ -195,7 +195,7 @@ Pour chaque cellule markdown d'interpretation (pattern `### Lecture du resultat` - **next_code[19]** : `// TODO: Définissez le problème de portefeuille / // - 4 actifs disponibles avec rendements attendus / // - Contrainte : budget total de 100 000€ / // - Contrainte : risque maximum par catégorie / // - Object` - reason : gap_b=3, gap_a=4 (interp is in MD-only zone between code blocks) -### `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues.ipynb` (1 cellules) +### `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-08-Agent-Dialogues-Python.ipynb` (1 cellules) #### cell[2] gap_b=1 gap_a=5 - **interp** : `### Interprétation de la configuration / / Les résultats ci-dessus confirment que l'environnement est correctement configuré pour simuler des dialogues multi-agents: / / **Configuration JVM validée:** / - **JDK portable**: Zulu 17 détecté et configuré automa` - **prev_code[1]** : `# --- Initialisation JVM Tweety + Outils Externes --- / print("--- Verification JVM Tweety + Outils ---") / jvm_ready = False / / import jpype / import jpype.imports / import os / import pathlib / import shutil / impo` diff --git a/docs/ledgers/3801-sota-axe2.md b/docs/ledgers/3801-sota-axe2.md index f229b4fa37..3aeda7bcc0 100644 --- a/docs/ledgers/3801-sota-axe2.md +++ b/docs/ledgers/3801-sota-axe2.md @@ -125,7 +125,7 @@ Chaque entry = 1 audit de famille/source, avec : - **Tweety .NET via .NET Interactive** (15 nb .net-csharp) — kernelspec `.net-csharp`, vrais appels NuGet - **Lean 4 via WSL** (1 nb Tweety-5b-Lean-Argumentation companion formel au lake `argumentation_lean`) — kernelspec `lean4-wsl` -- **Workaround dégradé** : **0/31** (2 occurrences du mot « workaround » : (a) `Tweety-2-Basic-Logics-Csharp.ipynb` cell 18 = commentaire référençant leçon C171 PR #5147 + RECOVERABLE-MACHINE disclosure honnête VS Code Interactive pour .NET + Stop & Repair appliqué ; (b) `Tweety-3-Advanced-Logics.ipynb` cell 24 = disclosure honnête limitation SPASS parsing modal avec fallback sémantique Kripke. **Aucune dégradation cachée**, **disclosure authentique** comme attendu par sota-not-workaround.md). +- **Workaround dégradé** : **0/31** (2 occurrences du mot « workaround » : (a) `Tweety-02-Basic-Logics-CSharp.ipynb` cell 18 = commentaire référençant leçon C171 PR #5147 + RECOVERABLE-MACHINE disclosure honnête VS Code Interactive pour .NET + Stop & Repair appliqué ; (b) `Tweety-3-Advanced-Logics.ipynb` cell 24 = disclosure honnête limitation SPASS parsing modal avec fallback sémantique Kripke. **Aucune dégradation cachée**, **disclosure authentique** comme attendu par sota-not-workaround.md). - **Problème non-trivial** (Prong B) : 31/31 OK — chaque notebook pose un problème Tweety avancé : - Tweety-1-Setup : bootstrap JVM/JPype + 76 jars Tweety diff --git a/docs/notebook-metadata/production-scope.md b/docs/notebook-metadata/production-scope.md index 06c9245bd4..db39587f95 100644 --- a/docs/notebook-metadata/production-scope.md +++ b/docs/notebook-metadata/production-scope.md @@ -46,7 +46,7 @@ Le détail par notebook suit en strate A ci-dessous : consultation, plus décisi | Search — Part 1 Foundations | EPITA Programmation par Contraintes | `Search-01-StateSpace.ipynb` | 13 | | | Search — Part 2 CSP | EPITA Programmation par Contraintes | `CSP-1-Fundamentals.ipynb` | 9 | | | Argument Analysis | EPITA IA Symbolique | `Argument_Analysis_Toulmin_Model.ipynb` | 4 | | -| Tweety | EPITA IA Symbolique | `Tweety-2-Basic-Logics.ipynb` | 6 | | +| Tweety | EPITA IA Symbolique | `Tweety-02-Basic-Logics-Python.ipynb` | 6 | | | Lean | EPITA IA Symbolique | `Lean-2-Dependent-Types.ipynb` | 2 | | | Semantic Web | EPITA IA Symbolique | `SW-2-CSharp-RDFBasics.ipynb` | 2 | | | Planners (01-02) | EPITA IA Symbolique | `Planners-1-Introduction.ipynb` | 3 | | @@ -170,7 +170,7 @@ Le détail par notebook suit en strate A ci-dessous : consultation, plus décisi - [ ] `MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argument_Analysis_Toulmin_Model.ipynb` -- [ ] `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics.ipynb` +- [ ] `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02-Basic-Logics-Python.ipynb` - [ ] `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Advanced-Logics.ipynb` - [ ] `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Conditional-Logics-Csharp.ipynb` - [ ] `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Dung-Csharp.ipynb` @@ -293,9 +293,9 @@ l'Epic) ; un dossier de revue est alors préparé (T2).* - [ ] `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Aspic-Csharp.ipynb` - [ ] `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Belief-Revision.ipynb` - [ ] `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Abstract-Argumentation.ipynb` -- [ ] `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation.ipynb` -- [ ] `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues.ipynb` -- [ ] `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-9-Preferences.ipynb` +- [ ] `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-Python.ipynb` +- [ ] `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-08-Agent-Dialogues-Python.ipynb` +- [ ] `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-09-Preferences-Python.ipynb` - [ ] `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-10-MLN.ipynb` - [ ] `MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-11-Causal.ipynb` diff --git a/scripts/notebook_tools/pedagogy_density_baseline.json b/scripts/notebook_tools/pedagogy_density_baseline.json index 364658f4a3..632f4515f1 100644 --- a/scripts/notebook_tools/pedagogy_density_baseline.json +++ b/scripts/notebook_tools/pedagogy_density_baseline.json @@ -787,10 +787,10 @@ "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-10-MLN.ipynb": 2198.222, "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-11-Causal-Csharp.ipynb": 650.143, "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-11-Causal.ipynb": 1336.417, - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics-Csharp.ipynb": 567.2, - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics.ipynb": 1773.211, - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2b-Semantics-Csharp.ipynb": 730.417, - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2c-FOL-Csharp.ipynb": 687.2, + "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02-Basic-Logics-CSharp.ipynb": 567.2, + "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02-Basic-Logics-Python.ipynb": 1773.211, + "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02b-Semantics-CSharp.ipynb": 730.417, + "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02c-FOL-CSharp.ipynb": 687.2, "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Advanced-Logics-Csharp.ipynb": 883.4, "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Advanced-Logics.ipynb": 1564.125, "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Conditional-Logics-Csharp.ipynb": 1166.556, @@ -803,16 +803,16 @@ "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Abstract-Argumentation-Csharp.ipynb": 1461.0, "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Abstract-Argumentation.ipynb": 2168.737, "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5b-Lean-Argumentation.ipynb": 1163.857, - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation-Csharp.ipynb": 859.8, - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation.ipynb": 3134.7, - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks-Csharp.ipynb": 1264.118, - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks.ipynb": 2456.083, - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7b-Ranking-Probabilistic-Csharp.ipynb": 1073.8, - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7b-Ranking-Probabilistic.ipynb": 2377.25, - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues-Csharp.ipynb": 784.455, - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues.ipynb": 1658.5, - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-9-Preferences-Csharp.ipynb": 1670.667, - "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-9-Preferences.ipynb": 2518.667, + "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-CSharp.ipynb": 859.8, + "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-Python.ipynb": 3134.7, + "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-CSharp.ipynb": 1264.118, + "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-Python.ipynb": 2456.083, + "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-CSharp.ipynb": 1073.8, + "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-Python.ipynb": 2377.25, + "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-08-Agent-Dialogues-CSharp.ipynb": 784.455, + "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-08-Agent-Dialogues-Python.ipynb": 1658.5, + "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-09-Preferences-CSharp.ipynb": 1670.667, + "MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-09-Preferences-Python.ipynb": 2518.667, "MyIA.AI.Notebooks/cross-series/socle-metadata-driven/Socle-MetadataDriven-Csharp.ipynb": 594.1 } } diff --git a/scripts/notebook_tools/tests/test_check_outputs_text_fragmentation.py b/scripts/notebook_tools/tests/test_check_outputs_text_fragmentation.py index 953389e3c0..e83ac0f24e 100644 --- a/scripts/notebook_tools/tests/test_check_outputs_text_fragmentation.py +++ b/scripts/notebook_tools/tests/test_check_outputs_text_fragmentation.py @@ -69,7 +69,7 @@ def test_founder_case_flagged(tmp_path: Path) -> None: res = subprocess.run( [sys.executable, str(SCRIPT), str(p), "--check"], capture_output=True, - text=True, + text=True, encoding="utf-8", errors="replace", ) assert res.returncode == 1, f"devrait flagger, exit={res.returncode}, stderr={res.stderr}" assert "FRAGMENTED" in res.stdout @@ -92,7 +92,7 @@ def test_normal_multiline_output_passes(tmp_path: Path) -> None: res = subprocess.run( [sys.executable, str(SCRIPT), str(p), "--check"], capture_output=True, - text=True, + text=True, encoding="utf-8", errors="replace", ) assert res.returncode == 0, f"ne devrait PAS flagger, stderr={res.stderr}" @@ -105,7 +105,7 @@ def test_short_output_under_threshold_passes(tmp_path: Path) -> None: res = subprocess.run( [sys.executable, str(SCRIPT), str(p), "--check"], capture_output=True, - text=True, + text=True, encoding="utf-8", errors="replace", ) assert res.returncode == 0, f"court OK, stderr={res.stderr}" @@ -117,7 +117,7 @@ def test_single_long_line_passes(tmp_path: Path) -> None: res = subprocess.run( [sys.executable, str(SCRIPT), str(p), "--check"], capture_output=True, - text=True, + text=True, encoding="utf-8", errors="replace", ) assert res.returncode == 0 @@ -133,7 +133,7 @@ def test_display_data_output_ignored(tmp_path: Path) -> None: res = subprocess.run( [sys.executable, str(SCRIPT), str(p), "--check"], capture_output=True, - text=True, + text=True, encoding="utf-8", errors="replace", ) assert res.returncode == 0, f"display_data ignore, stderr={res.stderr}" @@ -157,7 +157,7 @@ def test_markdown_cells_ignored(tmp_path: Path) -> None: res = subprocess.run( [sys.executable, str(SCRIPT), str(p), "--check"], capture_output=True, - text=True, + text=True, encoding="utf-8", errors="replace", ) assert res.returncode == 0 @@ -169,7 +169,7 @@ def test_json_output_stable(tmp_path: Path) -> None: res = subprocess.run( [sys.executable, str(SCRIPT), str(p), "--json"], capture_output=True, - text=True, + text=True, encoding="utf-8", errors="replace", ) assert res.returncode == 0 payload = json.loads(res.stdout) @@ -191,7 +191,7 @@ def test_multiple_outputs_mixed(tmp_path: Path) -> None: res = subprocess.run( [sys.executable, str(SCRIPT), str(p), "--check"], capture_output=True, - text=True, + text=True, encoding="utf-8", errors="replace", ) assert res.returncode == 1, "au moins 1 fragmented -> exit 1" # 1 seul finding (l'output OK n'est pas flague) @@ -215,7 +215,7 @@ def test_mutation_disable_threshold_caught(tmp_path: Path) -> None: res = subprocess.run( [sys.executable, str(SCRIPT), str(p), "--check"], capture_output=True, - text=True, + text=True, encoding="utf-8", errors="replace", ) # mediane = 3 > seuil 2 -> PAS flagger (sinon MEDIAN_THRESHOLD serait mort) assert res.returncode == 0, f"mediane 3 > seuil 2 -> OK, stderr={res.stderr}" @@ -235,7 +235,7 @@ def test_mutation_disable_max_threshold_caught(tmp_path: Path) -> None: res = subprocess.run( [sys.executable, str(SCRIPT), str(p), "--check"], capture_output=True, - text=True, + text=True, encoding="utf-8", errors="replace", ) # max=50 > 2 -> conjonction leve l'exemption -> OK (pas de finding) assert res.returncode == 0, f"max=50 > seuil max=2 -> OK, stderr={res.stderr}" @@ -254,7 +254,7 @@ def test_min_items_below_threshold_passes(tmp_path: Path) -> None: res = subprocess.run( [sys.executable, str(SCRIPT), str(p), "--check"], capture_output=True, - text=True, + text=True, encoding="utf-8", errors="replace", ) # n_items=3 < MIN_TEXT_ITEMS=10 -> early-exit, exit=0 assert res.returncode == 0 @@ -289,9 +289,9 @@ def test_min_items_below_threshold_passes(tmp_path: Path) -> None: ("MyIA.AI.Notebooks/SymbolicAI/SemanticWeb/SW-9-CSharp-JSONLD.ipynb", 25, 1, "stderr SW-9 cell25"), ("MyIA.AI.Notebooks/SymbolicAI/SMT/Z3-Linq2Z3/08_Meal_Planner_Patient_Capstone.ipynb", 20, 9, "stderr Z3-Linq2Z3 meal planner"), ("MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-4-InductiveLogicProgramming-Csharp.ipynb", 3, 10, "stderr SL-4"), - ("MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks-Csharp.ipynb", 27, 3, "stderr Tweety-7a Dung via lib"), - ("MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks-Csharp.ipynb", 30, 3, "stderr Tweety-7a Weighted via lib"), - ("MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks-Csharp.ipynb", 33, 6, "stderr Tweety-7a Social via lib"), + ("MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-CSharp.ipynb", 27, 3, "stderr Tweety-7a Dung via lib"), + ("MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-CSharp.ipynb", 30, 3, "stderr Tweety-7a Weighted via lib"), + ("MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-CSharp.ipynb", 33, 6, "stderr Tweety-7a Social via lib"), ] @@ -311,7 +311,7 @@ def test_fp_case_not_flagged(rel_path: str, cell_idx: int, out_idx: int, desc: s res = subprocess.run( [sys.executable, str(SCRIPT), str(nb_path), "--check"], capture_output=True, - text=True, + text=True, encoding="utf-8", errors="replace", ) assert res.returncode == 0, ( f"FP regression sur {rel_path} cell#{cell_idx} output#{out_idx} " @@ -325,7 +325,7 @@ def test_explain_mode() -> None: res = subprocess.run( [sys.executable, str(SCRIPT), "--explain"], capture_output=True, - text=True, + text=True, encoding="utf-8", errors="replace", ) assert res.returncode == 0 assert "fragmentation" in res.stdout.lower() or "fragment" in res.stdout.lower() diff --git a/scripts/notebook_tools/tests/test_check_twin_parity_coverage.py b/scripts/notebook_tools/tests/test_check_twin_parity_coverage.py index b441c458fb..75e63dd6ab 100644 --- a/scripts/notebook_tools/tests/test_check_twin_parity_coverage.py +++ b/scripts/notebook_tools/tests/test_check_twin_parity_coverage.py @@ -47,7 +47,7 @@ f"{SW}/SW-10-CSharp-RDFStar.ipynb", f"{SW}/SW-10-Python-RDFStar.ipynb", # genuinely C#-only - f"{TW}/Tweety-2c-FOL-Csharp.ipynb", + f"{TW}/Tweety-02c-FOL-CSharp.ipynb", f"{SUD}/Sudoku-00-Environment-Csharp.ipynb", f"{SW}/SW-1-CSharp-Setup.ipynb", f"{GT}/GameTheory-02-NormalForm-Csharp-Part2.ipynb", @@ -76,7 +76,7 @@ def test_convention_medial_token(): def test_csharp_only_has_no_candidate(): """No Python sibling on disk -> legitimately C#-only, not a registry gap.""" for cs in ( - f"{TW}/Tweety-2c-FOL-Csharp.ipynb", + f"{TW}/Tweety-02c-FOL-CSharp.ipynb", f"{SUD}/Sudoku-00-Environment-Csharp.ipynb", f"{SW}/SW-1-CSharp-Setup.ipynb", ): diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-10-mln/0011-2026-09-13-myia-po-2024-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-10-mln/0011-2026-09-13-myia-po-2024-CoursIA.yaml new file mode 100644 index 0000000000..33a41b8bcc --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/tweety-10-mln/0011-2026-09-13-myia-po-2024-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-13' +by: myia-po-2024:CoursIA +python_sha: a6bf19bf81508d804911fca837e30cdf8f0ee512 +csharp_sha: 75d59ae784476995567b58f4c3dd322db907dd3a +content_python_sha: 4b365ff8e47f0790049bb2f5a58449e5484fbd11e498e55a3a554d7014ec1920 +content_csharp_sha: 66a902ceab1d16c1090694bfbdcf9ca27abb9b9fc17d8ac3c1931f55ac81033d diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-11-causal/0007-2026-09-13-myia-po-2024-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-11-causal/0007-2026-09-13-myia-po-2024-CoursIA.yaml new file mode 100644 index 0000000000..7d9997c9d7 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/tweety-11-causal/0007-2026-09-13-myia-po-2024-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-13' +by: myia-po-2024:CoursIA +python_sha: d8abf3fce2e6d71d04c160b34fd74addd24c65ef +csharp_sha: ca8b37b73c1335da49d4c594bc40c9cfbe469aea +content_python_sha: a8d04cee11f38bed81bded594d1d4330d9b700bad0589292a201ac0d67912d00 +content_csharp_sha: 4ba64b109c6e7b2c102e51c1befe132704372a064860a7945605047245e722aa diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-2-basic-logics.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-2-basic-logics.yaml index e69b7fcba1..ac78888991 100644 --- a/scripts/notebook_tools/twin_pairs.d/tweety-2-basic-logics.yaml +++ b/scripts/notebook_tools/twin_pairs.d/tweety-2-basic-logics.yaml @@ -1,7 +1,7 @@ - name: "Tweety-2 Basic-Logics" family: Tweety/IKVM-JPype - python: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics.ipynb - csharp: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics-Csharp.ipynb + python: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02-Basic-Logics-Python.ipynb + csharp: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02-Basic-Logics-CSharp.ipynb parity_level: native-both bridge_verdict: SOTA-OK bridge_verdict_reason: "Lib-vs-lib meme moteur Java TweetyProject (Thimm 2012) : C# branche IKVM 8.15.0 + tweety-pl.dll (tracked 0,55 Mo) + 7 refs `org.tweetyproject.*` actifs (using + classes instantiatees), bytecode Java traduit en .NET sans JVM au runtime. Python branche JPype + `from org.tweetyproject.logics.pl.* import` + `from org.tweetyproject.logics.fol.* import`. Verifie firsthand (c.227, 2026-08-12, po-2023:CoursIA-2) : les deux cotes invoquent la meme bibliotheque Java TweetyProject (sat solvers FOL, parser FOPL, raisonneur), seules les idioms de pont different (bytecode .NET vs JVM runtime). DLL source-recompilee (release 8) selon pattern c.220 IKVM causal causal rebuild — pas de maven-shade bytecode 59." diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-2-basic-logics/0009-2026-09-13-myia-po-2024-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-2-basic-logics/0009-2026-09-13-myia-po-2024-CoursIA.yaml new file mode 100644 index 0000000000..a98760cd45 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/tweety-2-basic-logics/0009-2026-09-13-myia-po-2024-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-13' +by: myia-po-2024:CoursIA +python_sha: 72e445a57f07e84e7b3b0671de4475830ca68074 +csharp_sha: a7ab06c488b5808ec38a7d6353bdba41c4d8d6fd +content_python_sha: eb6d4d68c132697d4a7b19edf2f065b406b3499bcf69d06d67319cdee3a76061 +content_csharp_sha: dc27b64cfb856702bc05740201e299a2978f7b25037b6a0607d260c4469b0d38 diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-3-advanced-logics/0005-2026-09-13-myia-po-2024-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-3-advanced-logics/0005-2026-09-13-myia-po-2024-CoursIA.yaml new file mode 100644 index 0000000000..20381233ee --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/tweety-3-advanced-logics/0005-2026-09-13-myia-po-2024-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-13' +by: myia-po-2024:CoursIA +python_sha: aebffde4c2a7da67d2834d8072f2fe6d54287764 +csharp_sha: 54f511f7aca69053d87844f8aa8acb1150b80440 +content_python_sha: 9eaf16b3f99c3b984d924fe6d58ff023c43793e57d3ccb6bd1eaf2bc56360a3b +content_csharp_sha: a018dc6713fd67ab8d6d7def2d75884718027edda8b58438acc2d0abe3c0fe66 diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision/0008-2026-09-13-myia-po-2024-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision/0008-2026-09-13-myia-po-2024-CoursIA.yaml new file mode 100644 index 0000000000..4bddc9d733 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision/0008-2026-09-13-myia-po-2024-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-13' +by: myia-po-2024:CoursIA +python_sha: b9f595b334c23da46c5d9c10ceb9d1e260148cbf +csharp_sha: 2fe788ad0ec751afb1ea6c14d763f8af543ce6a9 +content_python_sha: 0cd435878f271f5c775d96b808f050ac6d108b2cb3a3402c732cf0fc751fd122 +content_csharp_sha: a584b14de637f6800f8809a29b243c09a0dd4bebdd7ab37b5a9cd1eb9cc72ff0 diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-5-abstract-argumentation/0008-2026-09-13-myia-po-2024-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-5-abstract-argumentation/0008-2026-09-13-myia-po-2024-CoursIA.yaml new file mode 100644 index 0000000000..4a7b7089bb --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/tweety-5-abstract-argumentation/0008-2026-09-13-myia-po-2024-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-13' +by: myia-po-2024:CoursIA +python_sha: 04da8bf64a0fbd6b4dff152051652fb235f5817d +csharp_sha: 36240815be8758df25f4026dc9149e732a7c6232 +content_python_sha: 3f2da4ddc099a2ccf2450f14d647deffb61ff8ceecff8fbc11570dfba90d62c1 +content_csharp_sha: 2b766fb4ebc5f6c7b97d4acf0996cf2b023b46063778f938737d648ac15e37a6 diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-6-structured-argumentation.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-6-structured-argumentation.yaml index 4dfcd79216..68c6863d57 100644 --- a/scripts/notebook_tools/twin_pairs.d/tweety-6-structured-argumentation.yaml +++ b/scripts/notebook_tools/twin_pairs.d/tweety-6-structured-argumentation.yaml @@ -1,7 +1,7 @@ - name: "Tweety-6 Structured-Argumentation" family: Tweety/IKVM-JPype - python: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation.ipynb - csharp: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation-Csharp.ipynb + python: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-Python.ipynb + csharp: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-CSharp.ipynb parity_level: native-both bridge_verdict: SOTA-OK bridge_verdict_reason: "Lib-vs-lib meme moteur Java TweetyProject (argumentation structuree ASPIC+) : C# branche IKVM 8.15.0 + tweety-aspic.dll (tracked) + 8 refs `org.tweetyproject.arg.aspic.*` actifs (2 cellules avec using explicite + `AspicArgumentationTheory.asDungTheory()` invoquee). Python branche JPype + `from org.tweetyproject.arg.aspic.* import` + meme bibliotheque Java. Verifie firsthand (c.227, 2026-08-12, po-2023:CoursIA-2) : la paire est deja documentee native-both (PR #10385, 2026-08-11) avec parite 3-voies PROUVEE (C# from-scratch <=> C# IKVM <=> Python JPype convergent sur le meme AAF). Verdict SOTA-OK : lib-vs-lib meme moteur, le C# preserve en plus la tranche from-scratch pedagogique (gabarit Tweety-5-Csharp)." diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-6-structured-argumentation/0004-2026-09-13-myia-po-2024-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-6-structured-argumentation/0004-2026-09-13-myia-po-2024-CoursIA.yaml new file mode 100644 index 0000000000..37733d5eb9 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/tweety-6-structured-argumentation/0004-2026-09-13-myia-po-2024-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-13' +by: myia-po-2024:CoursIA +python_sha: 9ce2b66171b001e0e3667a1a91664e33c3f84dab +csharp_sha: 33903518ce24c207073ec882b08e45530c5378c7 +content_python_sha: a4273a73a6561dd7067c2f07fd41017753ec473032919547272c40c08ff84f95 +content_csharp_sha: 32f82af1816800aa0a30bf57321e2e4354a8f4f7f4f4e6b2312a038bce3a908a diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-7a-extended-frameworks.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-7a-extended-frameworks.yaml index bfcd1568f4..f5e41d1276 100644 --- a/scripts/notebook_tools/twin_pairs.d/tweety-7a-extended-frameworks.yaml +++ b/scripts/notebook_tools/twin_pairs.d/tweety-7a-extended-frameworks.yaml @@ -1,7 +1,7 @@ - name: "Tweety-7a Extended-Frameworks" family: Tweety/IKVM-JPype - python: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks.ipynb - csharp: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7a-Extended-Frameworks-Csharp.ipynb + python: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-Python.ipynb + csharp: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07a-Extended-Frameworks-CSharp.ipynb parity_level: semantic bridge_verdict: SOTA-OK bridge_verdict_reason: "Lib-vs-lib MEME moteur Java TweetyProject, pipeline REBUILD REPRODUCTIBLE atteste sur worker le 2026-08-28 (myia-po-2024:CoursIA, Windows, JDK 17) : rebuild-7a.sh end-to-end (9 modules sources, javac --release 8, 795 classes, bytecode 100 pourcent major 52, suite de patches Java 9->8 tous appliques), shade jar 1053742 octets produit, puis dotnet build build-Tweety7aShade.csproj -c Release (IKVM 8.14, 0 erreur, 31 warnings IKVM0100 benins). DLL rebatie 1130496 octets non byte-identique a la precedente (MVID/timestamps embarques par build) mais fonctionnellement equivalente : execution fraiche du notebook contre la DLL rebatie (papermill kernel .net-csharp, cwd = dir du notebook) 17/17 cellules code, 0 erreur, valeurs attestees reproduites a l'identique -- Dung {a,c} (cell 23), Weighted {} (cell 24), Social {a=0.8571428571428571, b=0.0, c=0.0} (cell 25), sonde ADF 341 types + 8 reasoners concrets + NativeLingelingSolver NRE. La DLL commitee est REMPLACEE par la rebatie dans la meme PR : les outputs frais citent 'DLL size : 1104 KB' coherent avec le binaire commite. Historique du verdict precedent (RECOVERABLE-MACHINE, PR #10410/#10499, constat c.229 2026-08-12 po-2023:CoursIA-2) : la DLL finale n'etait pas sur disque worker, action nommee = dotnet build sur po-2023 ou po-2024 avec JAVA_HOME -- action executee. Sub-grain ADF SAT reste INTRINSIC (NativeLingelingSolver exige un IncrementalSatSolver natif, meme prerequis que le jumeau Python)." diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-7a-extended-frameworks/0013-2026-09-13-myia-po-2024-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-7a-extended-frameworks/0013-2026-09-13-myia-po-2024-CoursIA.yaml new file mode 100644 index 0000000000..86c2b308e9 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/tweety-7a-extended-frameworks/0013-2026-09-13-myia-po-2024-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-13' +by: myia-po-2024:CoursIA +python_sha: dea6b917d24172003a44ae27e5713c31cd9fc193 +csharp_sha: 12d67a2ab86b09157e723882368260a0b0ca25c8 +content_python_sha: 82435911c2efa65ea80a5f304092417e508f61abb1ff3ae247e1a17f517bb41a +content_csharp_sha: 6f8ead7b098c1e049893b1e10c00fc9529692fce20097a0dfd56ab8870f7b0b1 diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-7b-ranking-probabilistic.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-7b-ranking-probabilistic.yaml index a299974645..660d66e570 100644 --- a/scripts/notebook_tools/twin_pairs.d/tweety-7b-ranking-probabilistic.yaml +++ b/scripts/notebook_tools/twin_pairs.d/tweety-7b-ranking-probabilistic.yaml @@ -1,7 +1,7 @@ - name: "Tweety-7b Ranking-Probabilistic" family: Tweety/IKVM-JPype - python: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7b-Ranking-Probabilistic.ipynb - csharp: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-7b-Ranking-Probabilistic-Csharp.ipynb + python: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-Python.ipynb + csharp: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-CSharp.ipynb parity_level: native-both bridge_verdict: SOTA-OK bridge_verdict_reason: "Lib-vs-lib meme moteur Java TweetyProject (semantiques de rangement ranking + probabilistes + division) : C# branche IKVM 8.14.0 + tweety-rpcl.dll (tracked) + 23 refs `org.tweetyproject.*` actifs (3 cellules avec using explicite, classes Dung Division, RankingSemantics Java invoquees). Python branche JPype + `from org.tweetyproject.arg.dung.divisions import Division` + meme moteur Java. Verifie firsthand (c.227, 2026-08-12, po-2023:CoursIA-2) : 23 refs = la plus grosse utilisation TweetyProject parmi les paires Tweety du registre (audited individu M-XX), les deux cotes operent sur les memes semantiques ranking (Categorizer-based, Burden-based) avec les memes theorems de comparaison." diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-7b-ranking-probabilistic/0005-2026-09-13-myia-po-2024-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-7b-ranking-probabilistic/0005-2026-09-13-myia-po-2024-CoursIA.yaml new file mode 100644 index 0000000000..a1cf609798 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/tweety-7b-ranking-probabilistic/0005-2026-09-13-myia-po-2024-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-13' +by: myia-po-2024:CoursIA +python_sha: 19290f2468bdb36103d41fbd7444fb8b065a1d65 +csharp_sha: d36ea9faa9d30a7f4883be673b4cb8ca6bdd5dfb +content_python_sha: 65fbe0db55f67fefc8c26f748909eb8652da6ce20ff34e76eccdd0ee1a570be0 +content_csharp_sha: e7fa031e8aa56d38c2cd6977d2e80dc4d697786b40af30153ea3060fa8a3ef6c diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-8-agent-dialogues.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-8-agent-dialogues.yaml index f4168de57d..7e36b4ef88 100644 --- a/scripts/notebook_tools/twin_pairs.d/tweety-8-agent-dialogues.yaml +++ b/scripts/notebook_tools/twin_pairs.d/tweety-8-agent-dialogues.yaml @@ -1,7 +1,7 @@ - name: Tweety-8 Agent-Dialogues family: Tweety/IKVM-JPype - python: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues.ipynb - csharp: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues-Csharp.ipynb + python: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-08-Agent-Dialogues-Python.ipynb + csharp: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-08-Agent-Dialogues-CSharp.ipynb parity_level: semantic bridge_verdict: SOTA-OK bridge_verdict_reason: 'Lib-vs-lib meme moteur Java TweetyProject (agents/dialogues/oppmodels + ExecutableExtension de Thimm 2012) : C# branche IKVM 8.14.0 avec org.tweetyproject.tweety-dialogues.dll (source-recompilee depuis agents/dialogues-1.30, Java 8 pur, javac --release 8) invoquee via Assembly.LoadFrom + GetType(''org.tweetyproject.agents.dialogues.ExecutableExtension'') ; Python branche JPype + from org.tweetyproject.agents.dialogues import ExecutableExtension, meme moteur Java runtime. Verdict SOTA-OK (flip 2026-08-22, c.1301+335, myia-po-2025:CoursIA-2, issue #10382) : le pont est LIVRE ET VERIFIE -- PR #10544 MERGED 2026-08-12 (commit e3aa1150a), DLLs trackees sur disque, kernel .NET Interactive execute le twin C# avec vraie instantiation du type ExecutableExtension et debat grounded, sorties reelles commitees. Le RECOVERABLE-LOCAL anterieur datait du moment ou il refutait l''INTRINSIC de #10537 : la livraison a eu lieu depuis, le verdict n''avait pas suivi (stale post-delivery). Residuel (known_difference) : la recompilation de la DLL depuis les sources Java exige un JDK 8+ local (javac --release 8, build documente dans dotnet-build/rebuild-dialogues.sh) -- note de maintenance, pas un gap de bridge.' diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-8-agent-dialogues/0005-2026-09-13-myia-po-2024-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-8-agent-dialogues/0005-2026-09-13-myia-po-2024-CoursIA.yaml new file mode 100644 index 0000000000..935d6a6d16 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/tweety-8-agent-dialogues/0005-2026-09-13-myia-po-2024-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-13' +by: myia-po-2024:CoursIA +python_sha: a7588986d1287ffc2a840855bef3109304710b18 +csharp_sha: c1716dc545ab2753f7b040bbfd6c99469f1d0a41 +content_python_sha: c0c47f2bd2785d5d372f0dea880fffa6530f128b23c577ca3a91d121555f7725 +content_csharp_sha: cc26d62ecad651ddc612a3bb8e03b0d2dcd6882635ba6816021f2652177509ec diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-9-preferences.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-9-preferences.yaml index f60f581d9a..b70c0a2d00 100644 --- a/scripts/notebook_tools/twin_pairs.d/tweety-9-preferences.yaml +++ b/scripts/notebook_tools/twin_pairs.d/tweety-9-preferences.yaml @@ -1,7 +1,7 @@ - name: "Tweety-9 Preferences" family: Tweety/IKVM-JPype - python: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-9-Preferences.ipynb - csharp: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-9-Preferences-Csharp.ipynb + python: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-09-Preferences-Python.ipynb + csharp: MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-09-Preferences-CSharp.ipynb parity_level: native-both bridge_verdict: SOTA-OK bridge_verdict_reason: "Pont livre et verifie firsthand (po-2024, 2026-08-18) : rebuild-preferences.sh recompile la chaine math-1.21 -> commons-1.21 (patchee Java 8 : Files.readString/Path.of/isBlank/strip) -> plugin-1.30 -> preferences-1.30 en javac --release 8 (bytecode major 52, plafond IKVM 8.x = Java SE 8), shade + jspf-core-1.0.2 (major 50, sinon IKVM0100 drope PreferencesPlugin : 43 au lieu de 44 types), dotnet build IKVM 8.15 -> DLL 641 Ko commitee a la racine Tweety/ avec fallback de chargement dans le notebook. Re-exec reel kernel .net-csharp : 9/9 cellules CLEAN, 44 types exposes, BordaScoringPreferenceAggregator(3) instancie. RACINE DE L'ECHEC PRECEDENT : les artefacts Maven Central Tweety sont bytecode major 59 (Java 15, toutes versions y compris 1.21) et les sources v1.30 entieres exigent javac --release 11 (major 55) car commons utilise des APIs Java 11 -- les deux sont silently droppes par IKVM 8.x (warning IKVM0101 'class format error', invisible au rebuild si le cache %TEMP%/ikvm/cache/1 sert une DLL stale). L'ancien pom Maven shade (build-tweety-preferences-shade.pom.xml, supprime) produisait exactement ce major-55 : DLL de 7,4 Mo compilee avec 0 type org.tweetyproject.*. Recette canonique = rebuild-preferences.sh (miroir de rebuild-5shades.sh issue #10411)." diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-9-preferences/0006-2026-09-13-myia-po-2024-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-9-preferences/0006-2026-09-13-myia-po-2024-CoursIA.yaml new file mode 100644 index 0000000000..dfbea192dd --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/tweety-9-preferences/0006-2026-09-13-myia-po-2024-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-13' +by: myia-po-2024:CoursIA +python_sha: 86833a9f7e2c1359be86cdb3b322b67fdd79bfc4 +csharp_sha: 02b0697df5c6f27dcd89f7fe17b0d4fac9479601 +content_python_sha: 289bfec8a2c8677fabbb1576509bc7b081130cd7155f23d0162e81a5b5bf1cd4 +content_csharp_sha: 77c8436c5f55e1ac1a86059cd487f1211f7e7115a260539e0330399c6022ae6a diff --git a/slides/03-logique/slides.md b/slides/03-logique/slides.md index 4644d6608f..8a15710420 100644 --- a/slides/03-logique/slides.md +++ b/slides/03-logique/slides.md @@ -221,7 +221,7 @@ layout: default | Ordre superieur (HOL) | Relations, fonctions | Relations | Non | | Modale | + mondes possibles | Necessaire/possible | Selon variante | -*Notebooks : [Tweety-2-Basic-Logics](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics.ipynb) (propositionnelle et premier ordre) · [Tweety-3-Advanced-Logics-Csharp](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Advanced-Logics-Csharp.ipynb) (description, modale, QBF, conditionnelle) · [Lean-1-Setup](../../MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-1-Setup.ipynb) (ordre superieur).* +*Notebooks : [Tweety-2-Basic-Logics](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02-Basic-Logics-Python.ipynb) (propositionnelle et premier ordre) · [Tweety-3-Advanced-Logics-Csharp](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-3-Advanced-Logics-Csharp.ipynb) (description, modale, QBF, conditionnelle) · [Lean-1-Setup](../../MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-1-Setup.ipynb) (ordre superieur).* --- layout: section @@ -1242,7 +1242,7 @@ h2 { margin-top: 0.3em !important; margin-bottom: 0.1em !important; } - Substitution: {x/Jean} - Resolvante: (Q(Jean) OU R(y)) -*Notebooks : [Tweety-2c-FOL-Csharp](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2c-FOL-Csharp.ipynb) (FOL avec EProver) · [Z3-Python-05-Quantifiers-Proofs](../../MyIA.AI.Notebooks/SymbolicAI/SMT/Z3-API/Z3-Python-05-Quantifiers-Proofs.ipynb) (quantificateurs et preuves).* +*Notebooks : [Tweety-2c-FOL-Csharp](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02c-FOL-CSharp.ipynb) (FOL avec EProver) · [Z3-Python-05-Quantifiers-Proofs](../../MyIA.AI.Notebooks/SymbolicAI/SMT/Z3-API/Z3-Python-05-Quantifiers-Proofs.ipynb) (quantificateurs et preuves).* --- layout: default @@ -1305,7 +1305,7 @@ h2 { margin-top: 0.3em !important; margin-bottom: 0.1em !important; } - **E-prover** : demonstrateur automatique pour FOL - **Lean** : assistant de preuve interactif, très actif en mathematiques -*Notebooks : [Tweety-2c-FOL-Csharp](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2c-FOL-Csharp.ipynb) (EProver pilote depuis Python) · [Lean-1-Setup](../../MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-1-Setup.ipynb) (ordre superieur en Lean 4).* +*Notebooks : [Tweety-2c-FOL-Csharp](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-02c-FOL-CSharp.ipynb) (EProver pilote depuis Python) · [Lean-1-Setup](../../MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-1-Setup.ipynb) (ordre superieur en Lean 4).* --- layout: default @@ -1382,7 +1382,7 @@ layout: default - Coherence des ensembles et forces contextuels des arguments - **Argumentum** -*Notebooks : [Tweety-5-Abstract-Argumentation](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Abstract-Argumentation.ipynb) (Dung, semantiques, CF2) · [Tweety-6-Structured-Argumentation](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-6-Structured-Argumentation.ipynb) (ASPIC+, ABA) · [Argument_Analysis_Dung_AF_Semantics](../../MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argument_Analysis_Dung_AF_Semantics.ipynb).* +*Notebooks : [Tweety-5-Abstract-Argumentation](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-5-Abstract-Argumentation.ipynb) (Dung, semantiques, CF2) · [Tweety-6-Structured-Argumentation](../../MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-06-Structured-Argumentation-Python.ipynb) (ASPIC+, ABA) · [Argument_Analysis_Dung_AF_Semantics](../../MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argument_Analysis_Dung_AF_Semantics.ipynb).* --- layout: default @@ -2783,7 +2783,7 @@ pip install jpype1 requests tqdm clingo z3-solver python-sat # 2. Ouvrir le notebook de setup (auto-telecharge JDK + JARs) cd MyIA.AI.Notebooks/SymbolicAI/Tweety -jupyter notebook Tweety-1-Setup.ipynb +jupyter notebook Tweety-01-Setup-Python.ipynb # 3. Executer toutes les cellules, puis passer a Tweety-2 ``` diff --git a/slides/S6-tweety/slides.md b/slides/S6-tweety/slides.md index 97673a15d6..ca88240cb7 100644 --- a/slides/S6-tweety/slides.md +++ b/slides/S6-tweety/slides.md @@ -75,7 +75,7 @@ from org.tweetyproject.logics.pl.syntax import * from org.tweetyproject.logics.fol.syntax import * ``` -> **Notebook** : `Tweety-1-Setup.ipynb` — 20 min +> **Notebook** : `Tweety-01-Setup-Python.ipynb` — 20 min --- @@ -101,7 +101,7 @@ sig.add(Predicate("Mortal", [sig.getSort("Person")])) - Quantificateurs universels et existentiels - Unification et resolution FOL -> **Notebook** : `Tweety-2-Basic-Logics.ipynb` — 45 min +> **Notebook** : `Tweety-02-Basic-Logics-Python.ipynb` — 45 min --- @@ -217,7 +217,7 @@ reasoner = SimpleAspicReasoner(PreferredSemantics()) - **DeLP** (Defeasible Logic Programming) : integration Prolog - **ABA** (Assumption-Based Argumentation) : hypotheses et contrariness -> **Notebook** : `Tweety-6-Structured-Argumentation.ipynb` — 60 min +> **Notebook** : `Tweety-06-Structured-Argumentation-Python.ipynb` — 60 min --- @@ -241,7 +241,7 @@ from org.tweetyproject.arg.bipolar.syntax import BipolarArgFramework - **SAF** (Social AF) : agregation de vote sur les attaques - **CF2** : sémantique pour frameworks avec cycles pairs -> **Notebook** : `Tweety-7a-Extended-Frameworks.ipynb` — 50 min +> **Notebook** : `Tweety-07a-Extended-Frameworks-Python.ipynb` — 50 min --- @@ -266,7 +266,7 @@ paf = ProbabilisticArgumentationFramework() paf.setProbability(arg_a, 0.8) # prob. que l'argument est present ``` -> **Notebook** : `Tweety-7b-Ranking-Probabilistic.ipynb` — 40 min +> **Notebook** : `Tweety-07b-Ranking-Probabilistic-Python.ipynb` — 40 min --- layout: section @@ -296,7 +296,7 @@ session = DialogueSession(agent1, agent2, protocol) session.run() ``` -> **Notebook** : `Tweety-8-Agent-Dialogues.ipynb` — 35 min +> **Notebook** : `Tweety-08-Agent-Dialogues-Python.ipynb` — 35 min --- @@ -319,7 +319,7 @@ winner = BordaAggregator().aggregate(prefs) - **Arrow's theorem** : impossibilite du choix social rationnel - Lien avec `GameTheory/social_choice_lean/` (preuves formelles en Lean 4) -> **Notebook** : `Tweety-9-Preferences.ipynb` — 30 min +> **Notebook** : `Tweety-09-Preferences-Python.ipynb` — 30 min --- layout: section