diff --git a/MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-9-LLM-SymbolicLearning.ipynb b/MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-9-LLM-SymbolicLearning.ipynb index 2527be6494..98ab5c738b 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-9-LLM-SymbolicLearning.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-9-LLM-SymbolicLearning.ipynb @@ -5,10 +5,10 @@ "id": "097196f2", "metadata": { "papermill": { - "duration": 0.008054, - "end_time": "2026-09-23T21:09:47.689211", + "duration": 0.011654, + "end_time": "2026-09-24T08:59:14.514963+00:00", "exception": false, - "start_time": "2026-09-23T21:09:47.681157", + "start_time": "2026-09-24T08:59:14.503309+00:00", "status": "completed" }, "tags": [] @@ -48,16 +48,16 @@ "id": "3dc32d19", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:09:47.709357Z", - "iopub.status.busy": "2026-09-23T21:09:47.709008Z", - "iopub.status.idle": "2026-09-23T21:09:48.776971Z", - "shell.execute_reply": "2026-09-23T21:09:48.776458Z" + "iopub.execute_input": "2026-09-24T08:59:14.542743Z", + "iopub.status.busy": "2026-09-24T08:59:14.542261Z", + "iopub.status.idle": "2026-09-24T08:59:16.206747Z", + "shell.execute_reply": "2026-09-24T08:59:16.205552Z" }, "papermill": { - "duration": 1.079561, - "end_time": "2026-09-23T21:09:48.777727", + "duration": 1.67891, + "end_time": "2026-09-24T08:59:16.207852+00:00", "exception": false, - "start_time": "2026-09-23T21:09:47.698166", + "start_time": "2026-09-24T08:59:14.528942+00:00", "status": "completed" }, "tags": [] @@ -127,10 +127,10 @@ "id": "23731406", "metadata": { "papermill": { - "duration": 0.004861, - "end_time": "2026-09-23T21:09:48.788131", + "duration": 0.008186, + "end_time": "2026-09-24T08:59:16.226078+00:00", "exception": false, - "start_time": "2026-09-23T21:09:48.783270", + "start_time": "2026-09-24T08:59:16.217892+00:00", "status": "completed" }, "tags": [] @@ -169,16 +169,16 @@ "id": "f1d96718", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:09:48.797756Z", - "iopub.status.busy": "2026-09-23T21:09:48.797394Z", - "iopub.status.idle": "2026-09-23T21:09:48.802743Z", - "shell.execute_reply": "2026-09-23T21:09:48.802260Z" + "iopub.execute_input": "2026-09-24T08:59:16.244968Z", + "iopub.status.busy": "2026-09-24T08:59:16.244512Z", + "iopub.status.idle": "2026-09-24T08:59:16.253975Z", + "shell.execute_reply": "2026-09-24T08:59:16.252834Z" }, "papermill": { - "duration": 0.011526, - "end_time": "2026-09-23T21:09:48.803903", + "duration": 0.020356, + "end_time": "2026-09-24T08:59:16.254924+00:00", "exception": false, - "start_time": "2026-09-23T21:09:48.792377", + "start_time": "2026-09-24T08:59:16.234568+00:00", "status": "completed" }, "tags": [] @@ -261,10 +261,10 @@ "id": "3827f67e", "metadata": { "papermill": { - "duration": 0.005952, - "end_time": "2026-09-23T21:09:48.815428", + "duration": 0.008677, + "end_time": "2026-09-24T08:59:16.273367+00:00", "exception": false, - "start_time": "2026-09-23T21:09:48.809476", + "start_time": "2026-09-24T08:59:16.264690+00:00", "status": "completed" }, "tags": [] @@ -286,10 +286,10 @@ "id": "59e172f2", "metadata": { "papermill": { - "duration": 0.004589, - "end_time": "2026-09-23T21:09:48.824137", + "duration": 0.010418, + "end_time": "2026-09-24T08:59:16.295370+00:00", "exception": false, - "start_time": "2026-09-23T21:09:48.819548", + "start_time": "2026-09-24T08:59:16.284952+00:00", "status": "completed" }, "tags": [] @@ -324,16 +324,16 @@ "id": "581df035", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:09:48.834078Z", - "iopub.status.busy": "2026-09-23T21:09:48.833733Z", - "iopub.status.idle": "2026-09-23T21:09:48.840238Z", - "shell.execute_reply": "2026-09-23T21:09:48.839463Z" + "iopub.execute_input": "2026-09-24T08:59:16.590549Z", + "iopub.status.busy": "2026-09-24T08:59:16.590307Z", + "iopub.status.idle": "2026-09-24T08:59:16.598474Z", + "shell.execute_reply": "2026-09-24T08:59:16.597723Z" }, "papermill": { - "duration": 0.012822, - "end_time": "2026-09-23T21:09:48.841180", + "duration": 0.296265, + "end_time": "2026-09-24T08:59:16.599201+00:00", "exception": false, - "start_time": "2026-09-23T21:09:48.828358", + "start_time": "2026-09-24T08:59:16.302936+00:00", "status": "completed" }, "tags": [] @@ -406,10 +406,10 @@ "id": "72e21fc7", "metadata": { "papermill": { - "duration": 0.005408, - "end_time": "2026-09-23T21:09:48.851038", + "duration": 0.006179, + "end_time": "2026-09-24T08:59:16.611682+00:00", "exception": false, - "start_time": "2026-09-23T21:09:48.845630", + "start_time": "2026-09-24T08:59:16.605503+00:00", "status": "completed" }, "tags": [] @@ -433,16 +433,16 @@ "id": "eed948cc", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:09:48.863277Z", - "iopub.status.busy": "2026-09-23T21:09:48.862815Z", - "iopub.status.idle": "2026-09-23T21:09:48.867364Z", - "shell.execute_reply": "2026-09-23T21:09:48.866965Z" + "iopub.execute_input": "2026-09-24T08:59:16.630650Z", + "iopub.status.busy": "2026-09-24T08:59:16.630144Z", + "iopub.status.idle": "2026-09-24T08:59:16.637895Z", + "shell.execute_reply": "2026-09-24T08:59:16.636855Z" }, "papermill": { - "duration": 0.013138, - "end_time": "2026-09-23T21:09:48.869162", + "duration": 0.017747, + "end_time": "2026-09-24T08:59:16.638729+00:00", "exception": false, - "start_time": "2026-09-23T21:09:48.856024", + "start_time": "2026-09-24T08:59:16.620982+00:00", "status": "completed" }, "tags": [] @@ -532,10 +532,10 @@ "id": "85c22afd", "metadata": { "papermill": { - "duration": 0.008467, - "end_time": "2026-09-23T21:09:48.882595", + "duration": 0.010448, + "end_time": "2026-09-24T08:59:16.658731+00:00", "exception": false, - "start_time": "2026-09-23T21:09:48.874128", + "start_time": "2026-09-24T08:59:16.648283+00:00", "status": "completed" }, "tags": [] @@ -561,16 +561,16 @@ "id": "1c109513", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:09:48.899852Z", - "iopub.status.busy": "2026-09-23T21:09:48.899645Z", - "iopub.status.idle": "2026-09-23T21:09:57.402428Z", - "shell.execute_reply": "2026-09-23T21:09:57.401828Z" + "iopub.execute_input": "2026-09-24T08:59:16.680719Z", + "iopub.status.busy": "2026-09-24T08:59:16.679972Z", + "iopub.status.idle": "2026-09-24T08:59:24.592925Z", + "shell.execute_reply": "2026-09-24T08:59:24.591703Z" }, "papermill": { - "duration": 8.512607, - "end_time": "2026-09-23T21:09:57.403180", + "duration": 7.925482, + "end_time": "2026-09-24T08:59:24.594009+00:00", "exception": false, - "start_time": "2026-09-23T21:09:48.890573", + "start_time": "2026-09-24T08:59:16.668527+00:00", "status": "completed" }, "tags": [] @@ -582,17 +582,17 @@ "text": [ "Reponse brute (gpt-5.6-sol) :\n", "============================================================\n", - "**Deriving coverage rules****Simplifying coverage rules**Hungry=Yes AND Patrons=Some => WillWait \n", - "Hungry=Yes AND Price=$ => WillWait \n", - "Hungry=No => NOT WillWait \n", - "Patrons=Full AND Price=$$$ => NOT WillWait\n", + "**Formulating four rules**Hungry=Yes AND Patrons=Some => WillWait\n", + "Hungry=Yes AND Patrons=Full AND Price=$ => WillWait\n", + "Hungry=No => NOT WillWait\n", + "Hungry=Yes AND Patrons=Full AND Price=$$$ => NOT WillWait\n", "============================================================\n", "\n", "Regles candidates parsees : 4\n", " R1: Hungry=Yes AND Patrons=Some => WillWait\n", - " R2: Hungry=Yes AND Price=$ => WillWait\n", + " R2: Hungry=Yes AND Patrons=Full AND Price=$ => WillWait\n", " R3: Hungry=No => NOT WillWait\n", - " R4: Patrons=Full AND Price=$$$ => NOT WillWait\n" + " R4: Hungry=Yes AND Patrons=Full AND Price=$$$ => NOT WillWait\n" ] } ], @@ -728,10 +728,10 @@ "id": "bf930a24", "metadata": { "papermill": { - "duration": 0.004296, - "end_time": "2026-09-23T21:09:57.411746", + "duration": 0.009747, + "end_time": "2026-09-24T08:59:24.613805+00:00", "exception": false, - "start_time": "2026-09-23T21:09:57.407450", + "start_time": "2026-09-24T08:59:24.604058+00:00", "status": "completed" }, "tags": [] @@ -756,10 +756,10 @@ "id": "d6bb9fe1", "metadata": { "papermill": { - "duration": 0.00412, - "end_time": "2026-09-23T21:09:57.420131", + "duration": 0.00913, + "end_time": "2026-09-24T08:59:24.629871+00:00", "exception": false, - "start_time": "2026-09-23T21:09:57.416011", + "start_time": "2026-09-24T08:59:24.620741+00:00", "status": "completed" }, "tags": [] @@ -786,16 +786,16 @@ "id": "2c0873ae", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:09:57.429760Z", - "iopub.status.busy": "2026-09-23T21:09:57.429549Z", - "iopub.status.idle": "2026-09-23T21:09:57.437211Z", - "shell.execute_reply": "2026-09-23T21:09:57.436559Z" + "iopub.execute_input": "2026-09-24T08:59:24.646518Z", + "iopub.status.busy": "2026-09-24T08:59:24.646129Z", + "iopub.status.idle": "2026-09-24T08:59:24.660554Z", + "shell.execute_reply": "2026-09-24T08:59:24.659312Z" }, "papermill": { - "duration": 0.014144, - "end_time": "2026-09-23T21:09:57.438492", + "duration": 0.025367, + "end_time": "2026-09-24T08:59:24.662985+00:00", "exception": false, - "start_time": "2026-09-23T21:09:57.424348", + "start_time": "2026-09-24T08:59:24.637618+00:00", "status": "completed" }, "tags": [] @@ -811,9 +811,9 @@ "Regle | TP | FP | FN | Prec | Recall | OK\n", "--------------------------------------------------------------------------------\n", "R1: Hungry=Yes AND Patrons=Some => WillWait | 3 | 0 | 3 | 1.00 | 0.50 | OUI\n", - "R2: Hungry=Yes AND Price=$ => WillWait | 3 | 0 | 3 | 1.00 | 0.50 | OUI\n", + "R2: Hungry=Yes AND Patrons=Full AND Price=$ => WillWait | 3 | 0 | 3 | 1.00 | 0.50 | OUI\n", "R3: Hungry=No => NOT WillWait | 5 | 0 | 1 | 1.00 | 0.83 | OUI\n", - "R4: Patrons=Full AND Price=$$$ => NOT WillWait | 2 | 0 | 4 | 1.00 | 0.33 | OUI\n", + "R4: Hungry=Yes AND Patrons=Full AND Price=$$$ => NOT WillWait | 1 | 0 | 5 | 1.00 | 0.17 | OUI\n", "\n", "Legende : TP=Vrais Positifs, FP=Faux Positifs, FN=Faux Negatifs, OK=Consistante\n" ] @@ -916,10 +916,10 @@ "id": "0f9984a1", "metadata": { "papermill": { - "duration": 0.004495, - "end_time": "2026-09-23T21:09:57.448805", + "duration": 0.010481, + "end_time": "2026-09-24T08:59:24.681552+00:00", "exception": false, - "start_time": "2026-09-23T21:09:57.444310", + "start_time": "2026-09-24T08:59:24.671071+00:00", "status": "completed" }, "tags": [] @@ -953,16 +953,16 @@ "id": "9a30e01b", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:09:57.458537Z", - "iopub.status.busy": "2026-09-23T21:09:57.458329Z", - "iopub.status.idle": "2026-09-23T21:09:57.463376Z", - "shell.execute_reply": "2026-09-23T21:09:57.462951Z" + "iopub.execute_input": "2026-09-24T08:59:24.707565Z", + "iopub.status.busy": "2026-09-24T08:59:24.706525Z", + "iopub.status.idle": "2026-09-24T08:59:24.726022Z", + "shell.execute_reply": "2026-09-24T08:59:24.724342Z" }, "papermill": { - "duration": 0.01105, - "end_time": "2026-09-23T21:09:57.464035", + "duration": 0.035899, + "end_time": "2026-09-24T08:59:24.728388+00:00", "exception": false, - "start_time": "2026-09-23T21:09:57.452985", + "start_time": "2026-09-24T08:59:24.692489+00:00", "status": "completed" }, "tags": [] @@ -979,9 +979,9 @@ "\n", "Regles validees (consistantes, prises pour le modele) :\n", " V1: Hungry=Yes AND Patrons=Some => WillWait\n", - " V2: Hungry=Yes AND Price=$ => WillWait\n", + " V2: Hungry=Yes AND Patrons=Full AND Price=$ => WillWait\n", " V3: Hungry=No => NOT WillWait\n", - " V4: Patrons=Full AND Price=$$$ => NOT WillWait\n", + " V4: Hungry=Yes AND Patrons=Full AND Price=$$$ => NOT WillWait\n", "\n", "Regles rejetees par l'oracle (au moins un faux positif) :\n", " (aucune ce run)\n", @@ -1042,10 +1042,10 @@ "id": "74c02d03", "metadata": { "papermill": { - "duration": 0.00444, - "end_time": "2026-09-23T21:09:57.472854", + "duration": 0.011659, + "end_time": "2026-09-24T08:59:24.754313+00:00", "exception": false, - "start_time": "2026-09-23T21:09:57.468414", + "start_time": "2026-09-24T08:59:24.742654+00:00", "status": "completed" }, "tags": [] @@ -1081,16 +1081,16 @@ "id": "83e5f5eb", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:09:57.483075Z", - "iopub.status.busy": "2026-09-23T21:09:57.482731Z", - "iopub.status.idle": "2026-09-23T21:11:04.397442Z", - "shell.execute_reply": "2026-09-23T21:11:04.396556Z" + "iopub.execute_input": "2026-09-24T08:59:24.783006Z", + "iopub.status.busy": "2026-09-24T08:59:24.781649Z", + "iopub.status.idle": "2026-09-24T09:00:40.605138Z", + "shell.execute_reply": "2026-09-24T09:00:40.602538Z" }, "papermill": { - "duration": 66.925118, - "end_time": "2026-09-23T21:11:04.402406", + "duration": 75.853614, + "end_time": "2026-09-24T09:00:40.618456+00:00", "exception": false, - "start_time": "2026-09-23T21:09:57.477288", + "start_time": "2026-09-24T08:59:24.764842+00:00", "status": "completed" }, "tags": [] @@ -1110,11 +1110,10 @@ "text": [ "\n", "Ex 0 [+] Pat=Some, Type=French, Hungry=Yes\n", - " Etape 1: **Checking patrons examples****Checking restaurant examples**1. Il y a quelques \n", - " Raisonnement : **Checking patrons examples****Checking restaurant examples**1. Il y a quelques clients (Patrons=Some).\n", - " Etape 2: 2. L’attente estimée est courte (WaitEstimate=0-10).\n", + " Etape 1: 1. Patrons=Some.\n", + " Etape 2: 2. Dans ce cas, la règle de décision prédit que le client attend.\n", " => Decision : WillWait=True\n", - " => Regle extraite : Patrons=Some AND WaitEstimate=0-10 => WillWait\n" + " => Regle extraite : Patrons=Some => WillWait\n" ] }, { @@ -1123,11 +1122,9 @@ "text": [ "\n", "Ex 1 [+] Pat=Full, Type=Thai, Hungry=Yes\n", - " Etape 1: **Determining the restaurant label****Checking X2 rule match**1. Le restaurant e\n", - " Raisonnement : **Determining the restaurant label****Checking X2 rule match**1. Le restaurant est complet et l’attente estimée est de 30 à 60 minutes.\n", - " Etape 2: 2. Pour ce profil, le client ne va pas attendre.\n", + " Etape 1: 1. Ce profil correspond à un cas où le client n’attend pas.\n", " => Decision : WillWait=False\n", - " => Regle extraite : Patrons=Full AND WaitEstimate=30-60 AND Type=Thai => NOT WillWait\n" + " => Regle extraite : Patrons=Full AND Type=Thai AND WaitEstimate=30-60 => NOT WillWait\n" ] }, { @@ -1136,8 +1133,10 @@ "text": [ "\n", "Ex 2 [-] Pat=Some, Type=Burger, Hungry=No\n", + " Etape 1: 1. Patrons=Some.\n", + " Etape 2: 2. Cette condition conduit à WillWait=True.\n", " => Decision : WillWait=True\n", - " => Regle extraite : Patrons=Some AND WaitEstimate=0-10 => WillWait\n" + " => Regle extraite : Patrons=Some => WillWait\n" ] }, { @@ -1146,11 +1145,8 @@ "text": [ "\n", "Ex 4 [-] Pat=Full, Type=French, Hungry=No\n", - " Etape 1: **Identifying the dataset row****Checking restaurant rows****Verifying wait rule\n", - " Raisonnement : **Identifying the dataset row****Checking restaurant rows****Verifying wait rule**1. L’estimation d’attente est supérieure à 60 minutes.\n", - " Etape 2: 2. La règle correspondante prédit que le client n’attendra pas.\n", " => Decision : WillWait=False\n", - " => Regle extraite : WaitEstimate=>60 => NOT WillWait\n" + " => Regle extraite : Patrons=Full AND WaitEstimate=>60 => NOT WillWait\n" ] }, { @@ -1159,11 +1155,9 @@ "text": [ "\n", "Ex 6 [-] Pat=None, Type=Burger, Hungry=No\n", - " Etape 1: **Inferring the restaurant rule****Selecting rule conditions**1. Patrons=None in\n", - " Raisonnement : **Inferring the restaurant rule****Selecting rule conditions**1. Patrons=None indique que le restaurant est vide.\n", - " Etape 2: 2. Dans la règle de classification, ce cas prédit que le client n’attendra pas.\n", + " Etape 1: Patrons=None : le client n’attend pas.\n", " => Decision : WillWait=False\n", - " => Regle extraite : Patrons=None AND Hungry=No => NOT WillWait\n" + " => Regle extraite : Patrons=None => NOT WillWait\n" ] }, { @@ -1172,10 +1166,11 @@ "text": [ "\n", "Ex 11 [+] Pat=Full, Type=Burger, Hungry=Yes\n", - " Etape 1: **Inferring restaurant label****Verifying X12 rule match****Checking rule condit\n", - " Raisonnement : **Inferring restaurant label****Verifying X12 rule match****Checking rule conditions**Le client correspond au cas où Type=Burger et WaitEstimate=30-60, associé à une attente acceptée.\n", + " Etape 1: 1. Le restaurant est complet, mais le client accepte une attente estimée à 30–60\n", + " Raisonnement : 1. Le restaurant est complet, mais le client accepte une attente estimée à 30–60 minutes.\n", + " Etape 2: 2. Pour cette combinaison d’attributs, la classification est positive.\n", " => Decision : WillWait=True\n", - " => Regle extraite : Type=Burger AND WaitEstimate=30-60 => WillWait\n" + " => Regle extraite : Patrons=Full AND Type=Burger AND WaitEstimate=30-60 => WillWait\n" ] } ], @@ -1256,6 +1251,12 @@ " for line in (l.strip() for l in raw.splitlines() if l.strip()):\n", " if re.search(r\"(REPONSE|REGLE)\\s*:\", line, re.IGNORECASE):\n", " continue # ligne machine, pas une etape de raisonnement\n", + " # Titre markdown colle par le gateway (defaut #17600) : le prefixe\n", + " # \"****\" n'est pas separe du contenu par un saut de ligne,\n", + " # on le retire au lieu d'avaler la ligne entiere comme etape-titre.\n", + " line = re.sub(r\"^(?:\\*\\*[^*]+\\*\\*)+\\s*\", \"\", line)\n", + " if not line:\n", + " continue\n", " steps.append(CoTStep(len(steps) + 1, line[:80], line, \"\"))\n", " if rule is None: # le LLM n'a pas donne de regle exploitable -> reference\n", " last = next((l.strip() for l in reversed(raw.splitlines()) if l.strip()), \"(vide)\")\n", @@ -1302,10 +1303,10 @@ "id": "3653b321", "metadata": { "papermill": { - "duration": 0.008391, - "end_time": "2026-09-23T21:11:04.418798", + "duration": 0.029967, + "end_time": "2026-09-24T09:00:40.690312+00:00", "exception": false, - "start_time": "2026-09-23T21:11:04.410407", + "start_time": "2026-09-24T09:00:40.660345+00:00", "status": "completed" }, "tags": [] @@ -1341,16 +1342,16 @@ "id": "dc08268f", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:11:04.434227Z", - "iopub.status.busy": "2026-09-23T21:11:04.433783Z", - "iopub.status.idle": "2026-09-23T21:11:04.441730Z", - "shell.execute_reply": "2026-09-23T21:11:04.440972Z" + "iopub.execute_input": "2026-09-24T09:00:40.721001Z", + "iopub.status.busy": "2026-09-24T09:00:40.717576Z", + "iopub.status.idle": "2026-09-24T09:00:40.771262Z", + "shell.execute_reply": "2026-09-24T09:00:40.750811Z" }, "papermill": { - "duration": 0.018647, - "end_time": "2026-09-23T21:11:04.442955", + "duration": 0.070409, + "end_time": "2026-09-24T09:00:40.773045+00:00", "exception": false, - "start_time": "2026-09-23T21:11:04.424308", + "start_time": "2026-09-24T09:00:40.702636+00:00", "status": "completed" }, "tags": [] @@ -1367,11 +1368,11 @@ " Total (avant deduplication) : 6\n", " Uniques : 5\n", "\n", - " C1: Patrons=Some AND WaitEstimate=0-10 => WillWait\n", - " C2: Patrons=Full AND WaitEstimate=30-60 AND Type=Thai => NOT WillWait\n", - " C3: WaitEstimate=>60 => NOT WillWait\n", - " C4: Patrons=None AND Hungry=No => NOT WillWait\n", - " C5: Type=Burger AND WaitEstimate=30-60 => WillWait\n", + " C1: Patrons=Some => WillWait\n", + " C2: Patrons=Full AND Type=Thai AND WaitEstimate=30-60 => NOT WillWait\n", + " C3: Patrons=Full AND WaitEstimate=>60 => NOT WillWait\n", + " C4: Patrons=None => NOT WillWait\n", + " C5: Patrons=Full AND Type=Burger AND WaitEstimate=30-60 => WillWait\n", "\n", "Verification des regles extraites (vs regles du LLM) :\n", " Regles LLM direct : 4 candidates\n", @@ -1427,25 +1428,49 @@ "id": "a575226a", "metadata": { "papermill": { - "duration": 0.008658, - "end_time": "2026-09-23T21:11:04.460498", + "duration": 0.013186, + "end_time": "2026-09-24T09:00:40.808054+00:00", "exception": false, - "start_time": "2026-09-23T21:11:04.451840", + "start_time": "2026-09-24T09:00:40.794868+00:00", "status": "completed" }, "tags": [] }, - "source": "### Interpretation : Extraction de règles depuis CoT\n\n| Méthode | Nombre de règles | Verdict oracle (section 3) | Source |\n|---------|-----------------|----------------------------|--------|\n| LLM direct | 4 candidates | 4 consistantes (FP=0), 0 rejetées (cell[15]) | Génération globale |\n| CoT extraction | 5 uniques (sur 6 traces, cell[19]) | **non vérifiées en tant que telles ici** : le pipeline CoT (cell[42]) régénère ses propres traces et vérifie un lot distinct (9 candidates, 6 validées, **3 rejetées**) | Raisonnement pas-à-pas |\n\nLes règles extraites du CoT ont deux atouts :\n1. Chaque étape du raisonnement peut être vérifiée individuellement\n2. Elles sont ancrées dans des exemples concrets -- la trace sur l'exemple 4\n (négatif, cell[17]) produit `WaitEstimate=>60 => NOT WillWait` (C3), une condition\n temporelle qu'aucune règle de la génération directe n'utilise\n\nMais l'ancrage ne garantit rien, et le notebook le montre à deux niveaux. Le pipeline CoT\n(cell[42]) rejette **3 candidates sur 9** -- mais ce lot n'est pas C1-C5 : `NeuroSymbolicPipeline.run`\nrappelle `cot_classify` et **régénère ses propres traces**, donc les règles vérifiées là sont\ndistinctes de celles extraites en cell[19]. Pour C1-C5, la couverture se lit à la main sur les\nexemples : C1 (`Patrons=Some AND WaitEstimate=0-10`) couvre Ex 2 (négatif pour `WillWait`) et\nC2 (`Patrons=Full AND WaitEstimate=30-60 AND Type=Thai`) couvre Ex 1 (positif) -- deux règles\nextraites des traces que l'oracle réfuterait. Une vérification systématique de C1-C5 par\n`verify_rule` sur `unique_rules` est le prolongement naturel de cette cellule (non exécutée ici).\n\n> **Analogie EBL** : Le CoT est à l'extraction de règles ce que la preuve EBL est à la variabilisation. La trace guide la généralisation.\n" + "source": [ + "### Interpretation : Extraction de règles depuis CoT\n", + "\n", + "| Méthode | Nombre de règles | Verdict oracle (section 3) | Source |\n", + "|---------|-----------------|----------------------------|--------|\n", + "| LLM direct | 4 candidates | 4 consistantes (FP=0), 0 rejetées (cell[15]) | Génération globale |\n", + "| CoT extraction | 5 uniques (sur 6 traces, cell[19]) | **non vérifiées en tant que telles ici** : le pipeline CoT (cell[42]) régénère ses propres traces et vérifie un lot distinct (9 candidates, 6 validées, **3 rejetées**) | Raisonnement pas-à-pas |\n", + "\n", + "Les règles extraites du CoT ont deux atouts :\n", + "1. Chaque étape du raisonnement peut être vérifiée individuellement\n", + "2. Elles sont ancrées dans des exemples concrets -- la trace sur l'exemple 4\n", + " (négatif, cell[17]) produit `WaitEstimate=>60 => NOT WillWait` (C3), une condition\n", + " temporelle qu'aucune règle de la génération directe n'utilise\n", + "\n", + "Mais l'ancrage ne garantit rien, et le notebook le montre à deux niveaux. Le pipeline CoT\n", + "(cell[42]) rejette **3 candidates sur 9** -- mais ce lot n'est pas C1-C5 : `NeuroSymbolicPipeline.run`\n", + "rappelle `cot_classify` et **régénère ses propres traces**, donc les règles vérifiées là sont\n", + "distinctes de celles extraites en cell[19]. Pour C1-C5, la couverture se lit à la main sur les\n", + "exemples : C1 (`Patrons=Some AND WaitEstimate=0-10`) couvre Ex 2 (négatif pour `WillWait`) et\n", + "C2 (`Patrons=Full AND WaitEstimate=30-60 AND Type=Thai`) couvre Ex 1 (positif) -- deux règles\n", + "extraites des traces que l'oracle réfuterait. Une vérification systématique de C1-C5 par\n", + "`verify_rule` sur `unique_rules` est le prolongement naturel de cette cellule (non exécutée ici).\n", + "\n", + "> **Analogie EBL** : Le CoT est à l'extraction de règles ce que la preuve EBL est à la variabilisation. La trace guide la généralisation.\n" + ] }, { "cell_type": "markdown", "id": "1bd557a0", "metadata": { "papermill": { - "duration": 0.005282, - "end_time": "2026-09-23T21:11:04.473136", + "duration": 0.011613, + "end_time": "2026-09-24T09:00:40.832919+00:00", "exception": false, - "start_time": "2026-09-23T21:11:04.467854", + "start_time": "2026-09-24T09:00:40.821306+00:00", "status": "completed" }, "tags": [] @@ -1485,16 +1510,16 @@ "id": "f9d67f71", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:11:04.488132Z", - "iopub.status.busy": "2026-09-23T21:11:04.487717Z", - "iopub.status.idle": "2026-09-23T21:11:10.886049Z", - "shell.execute_reply": "2026-09-23T21:11:10.884263Z" + "iopub.execute_input": "2026-09-24T09:00:40.860763Z", + "iopub.status.busy": "2026-09-24T09:00:40.858722Z", + "iopub.status.idle": "2026-09-24T09:00:48.533364Z", + "shell.execute_reply": "2026-09-24T09:00:48.532642Z" }, "papermill": { - "duration": 6.410604, - "end_time": "2026-09-23T21:11:10.889610", + "duration": 7.688834, + "end_time": "2026-09-24T09:00:48.534105+00:00", "exception": false, - "start_time": "2026-09-23T21:11:04.479006", + "start_time": "2026-09-24T09:00:40.845271+00:00", "status": "completed" }, "tags": [] @@ -1512,10 +1537,10 @@ " Couverture positifs : 100%\n", "\n", "Regles validees :\n", - " [OK] Hungry=Yes AND Patrons=Some => WillWait (TP=3, FP=0)\n", - " [OK] Hungry=Yes AND Patrons=Full AND Price=$ => WillWait (TP=3, FP=0)\n", " [OK] Hungry=No => NOT WillWait (TP=5, FP=0)\n", - " [OK] Hungry=Yes AND Patrons=Full AND Price=$$$ => NOT WillWait (TP=1, FP=0)\n", + " [OK] Hungry=Yes AND Patrons=Some => WillWait (TP=3, FP=0)\n", + " [OK] Hungry=Yes AND Patrons=Full AND WaitEstimate=30-60 => WillWait (TP=2, FP=0)\n", + " [OK] Hungry=Yes AND Patrons=Full AND Type=Thai => WillWait (TP=2, FP=0)\n", "\n" ] } @@ -1636,10 +1661,10 @@ "id": "2f9d2c01", "metadata": { "papermill": { - "duration": 0.008433, - "end_time": "2026-09-23T21:11:10.912284", + "duration": 0.009066, + "end_time": "2026-09-24T09:00:48.549948+00:00", "exception": false, - "start_time": "2026-09-23T21:11:10.903851", + "start_time": "2026-09-24T09:00:48.540882+00:00", "status": "completed" }, "tags": [] @@ -1675,16 +1700,16 @@ "id": "8917b738", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:11:10.927455Z", - "iopub.status.busy": "2026-09-23T21:11:10.926894Z", - "iopub.status.idle": "2026-09-23T21:12:25.594355Z", - "shell.execute_reply": "2026-09-23T21:12:25.593110Z" + "iopub.execute_input": "2026-09-24T09:00:48.569587Z", + "iopub.status.busy": "2026-09-24T09:00:48.569130Z", + "iopub.status.idle": "2026-09-24T09:02:11.773946Z", + "shell.execute_reply": "2026-09-24T09:02:11.764279Z" }, "papermill": { - "duration": 74.685729, - "end_time": "2026-09-23T21:12:25.604097", + "duration": 83.218205, + "end_time": "2026-09-24T09:02:11.776858+00:00", "exception": false, - "start_time": "2026-09-23T21:11:10.918368", + "start_time": "2026-09-24T09:00:48.558653+00:00", "status": "completed" }, "tags": [] @@ -1704,23 +1729,24 @@ "text": [ "Pipeline Neuro-Symbolique - Resultat\n", "=======================================================\n", - " Candidates generees : 9\n", + " Candidates generees : 10\n", " Regles validees : 6\n", - " Regles rejetees : 3\n", + " Regles rejetees : 4\n", " Couverture positifs : 100%\n", "\n", "Regles validees :\n", - " [OK] Hungry=No => NOT WillWait (TP=5, FP=0)\n", " [OK] Hungry=Yes AND Patrons=Some => WillWait (TP=3, FP=0)\n", " [OK] Hungry=Yes AND Patrons=Full AND Price=$ => WillWait (TP=3, FP=0)\n", + " [OK] Hungry=No => NOT WillWait (TP=5, FP=0)\n", " [OK] Hungry=Yes AND Patrons=Full AND Price=$$$ => NOT WillWait (TP=1, FP=0)\n", " [OK] Patrons=Full AND WaitEstimate=>60 => NOT WillWait (TP=1, FP=0)\n", - " [OK] Patrons=None AND WaitEstimate=0-10 => NOT WillWait (TP=2, FP=0)\n", + " [OK] Patrons=None => NOT WillWait (TP=2, FP=0)\n", "\n", "Regles rejetees :\n", + " [KO] Patrons=Some AND WaitEstimate=0-10 => WillWait (FP=1)\n", + " [KO] Patrons=Full AND Fri/Sat=No => NOT WillWait (FP=1)\n", + " [KO] Patrons=Full AND WaitEstimate=10-30 AND Price=$ => WillWait (FP=1)\n", " [KO] Patrons=Some => WillWait (FP=1)\n", - " [KO] Type=Thai AND Raining=No => NOT WillWait (FP=1)\n", - " [KO] WaitEstimate=10-30 AND Price=$ => WillWait (FP=1)\n", "\n", "Comparaison : sans CoT (4 validees) vs avec CoT (6 validees)\n" ] @@ -1741,10 +1767,10 @@ "id": "a2edb6e2", "metadata": { "papermill": { - "duration": 0.004094, - "end_time": "2026-09-23T21:12:25.615741", + "duration": 0.057918, + "end_time": "2026-09-24T09:02:11.927918+00:00", "exception": false, - "start_time": "2026-09-23T21:12:25.611647", + "start_time": "2026-09-24T09:02:11.870000+00:00", "status": "completed" }, "tags": [] @@ -1780,16 +1806,16 @@ "id": "54a6b7c4", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:12:25.626313Z", - "iopub.status.busy": "2026-09-23T21:12:25.625968Z", - "iopub.status.idle": "2026-09-23T21:12:25.631754Z", - "shell.execute_reply": "2026-09-23T21:12:25.630951Z" + "iopub.execute_input": "2026-09-24T09:02:11.994822Z", + "iopub.status.busy": "2026-09-24T09:02:11.994148Z", + "iopub.status.idle": "2026-09-24T09:02:12.050041Z", + "shell.execute_reply": "2026-09-24T09:02:12.046898Z" }, "papermill": { - "duration": 0.013306, - "end_time": "2026-09-23T21:12:25.633199", + "duration": 0.101787, + "end_time": "2026-09-24T09:02:12.052289+00:00", "exception": false, - "start_time": "2026-09-23T21:12:25.619893", + "start_time": "2026-09-24T09:02:11.950502+00:00", "status": "completed" }, "tags": [] @@ -1805,11 +1831,11 @@ "--- Sans CoT ---\n", " Taux d'acceptation : 4/4 (100%)\n", " Couverture : 100% des positifs\n", - " Regles positives : 2\n", - " Regles negatives : 2\n", + " Regles positives : 3\n", + " Regles negatives : 1\n", "\n", "--- Avec CoT ---\n", - " Taux d'acceptation : 6/9 (67%)\n", + " Taux d'acceptation : 6/10 (60%)\n", " Couverture : 100% des positifs\n", " Regles positives : 2\n", " Regles negatives : 4\n", @@ -1817,10 +1843,10 @@ "Metriques par regle validee (sans CoT) :\n", " Regle | Precision | Recall | F1\n", " --------------------------------------------------------------\n", - " Hungry=Yes AND Patrons=Some => WillWait | 1.00 | 0.50 | 0.67\n", - " Hungry=Yes AND Patrons=Full AND Price=$ => WillWait | 1.00 | 0.50 | 0.67\n", " Hungry=No => NOT WillWait | 1.00 | 0.83 | 0.91\n", - " Hungry=Yes AND Patrons=Full AND Price=$$$ => NOT WillWait | 1.00 | 0.17 | 0.29\n" + " Hungry=Yes AND Patrons=Some => WillWait | 1.00 | 0.50 | 0.67\n", + " Hungry=Yes AND Patrons=Full AND WaitEstimate=30-60 => WillWait | 1.00 | 0.33 | 0.50\n", + " Hungry=Yes AND Patrons=Full AND Type=Thai => WillWait | 1.00 | 0.33 | 0.50\n" ] } ], @@ -1852,10 +1878,10 @@ "id": "d74db354", "metadata": { "papermill": { - "duration": 0.008439, - "end_time": "2026-09-23T21:12:25.650803", + "duration": 0.058647, + "end_time": "2026-09-24T09:02:12.131999+00:00", "exception": false, - "start_time": "2026-09-23T21:12:25.642364", + "start_time": "2026-09-24T09:02:12.073352+00:00", "status": "completed" }, "tags": [] @@ -1879,10 +1905,10 @@ "id": "3c2e7728", "metadata": { "papermill": { - "duration": 0.003895, - "end_time": "2026-09-23T21:12:25.659557", + "duration": 0.029393, + "end_time": "2026-09-24T09:02:12.374984+00:00", "exception": false, - "start_time": "2026-09-23T21:12:25.655662", + "start_time": "2026-09-24T09:02:12.345591+00:00", "status": "completed" }, "tags": [] @@ -1907,16 +1933,16 @@ "id": "dada4cc8", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:12:25.673142Z", - "iopub.status.busy": "2026-09-23T21:12:25.672401Z", - "iopub.status.idle": "2026-09-23T21:12:32.793624Z", - "shell.execute_reply": "2026-09-23T21:12:32.792848Z" + "iopub.execute_input": "2026-09-24T09:02:12.486328Z", + "iopub.status.busy": "2026-09-24T09:02:12.485553Z", + "iopub.status.idle": "2026-09-24T09:02:20.961245Z", + "shell.execute_reply": "2026-09-24T09:02:20.888782Z" }, "papermill": { - "duration": 7.129055, - "end_time": "2026-09-23T21:12:32.794490", + "duration": 8.52436, + "end_time": "2026-09-24T09:02:20.963461+00:00", "exception": false, - "start_time": "2026-09-23T21:12:25.665435", + "start_time": "2026-09-24T09:02:12.439101+00:00", "status": "completed" }, "tags": [] @@ -2055,10 +2081,10 @@ "id": "3cc1a67b", "metadata": { "papermill": { - "duration": 0.008047, - "end_time": "2026-09-23T21:12:32.807648", + "duration": 0.050331, + "end_time": "2026-09-24T09:02:21.088768+00:00", "exception": false, - "start_time": "2026-09-23T21:12:32.799601", + "start_time": "2026-09-24T09:02:21.038437+00:00", "status": "completed" }, "tags": [] @@ -2093,10 +2119,10 @@ "id": "74eec2fe", "metadata": { "papermill": { - "duration": 0.004757, - "end_time": "2026-09-23T21:12:32.817122", + "duration": 0.011963, + "end_time": "2026-09-24T09:02:21.133171+00:00", "exception": false, - "start_time": "2026-09-23T21:12:32.812365", + "start_time": "2026-09-24T09:02:21.121208+00:00", "status": "completed" }, "tags": [] @@ -2126,16 +2152,16 @@ "id": "a916457d", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:12:32.827668Z", - "iopub.status.busy": "2026-09-23T21:12:32.827354Z", - "iopub.status.idle": "2026-09-23T21:12:55.113554Z", - "shell.execute_reply": "2026-09-23T21:12:55.112960Z" + "iopub.execute_input": "2026-09-24T09:02:21.185499Z", + "iopub.status.busy": "2026-09-24T09:02:21.184898Z", + "iopub.status.idle": "2026-09-24T09:02:49.891914Z", + "shell.execute_reply": "2026-09-24T09:02:47.402855Z" }, "papermill": { - "duration": 22.293443, - "end_time": "2026-09-23T21:12:55.115042", + "duration": 28.966681, + "end_time": "2026-09-24T09:02:50.123727+00:00", "exception": false, - "start_time": "2026-09-23T21:12:32.821599", + "start_time": "2026-09-24T09:02:21.157046+00:00", "status": "completed" }, "tags": [] @@ -2156,7 +2182,7 @@ "text": [ " Run 1 : 4 regles generees, 4 validees par l'oracle\n", " [OK] Hungry=Yes AND Patrons=Some => WillWait\n", - " [OK] Hungry=Yes AND Price=$ => WillWait\n", + " [OK] Hungry=Yes AND Patrons=Full AND Price=$ => WillWait\n", " [OK] Hungry=No => NOT WillWait\n", " [OK] Hungry=Yes AND Patrons=Full AND Price=$$$ => NOT WillWait\n" ] @@ -2166,10 +2192,10 @@ "output_type": "stream", "text": [ " Run 2 : 4 regles generees, 4 validees par l'oracle\n", + " [OK] Hungry=No => NOT WillWait\n", " [OK] Hungry=Yes AND Patrons=Some => WillWait\n", " [OK] Hungry=Yes AND Patrons=Full AND Price=$ => WillWait\n", - " [OK] Hungry=No => NOT WillWait\n", - " [OK] Hungry=Yes AND Patrons=Full AND Price=$$$ => NOT WillWait\n" + " [OK] Patrons=Full AND Price=$$$ => NOT WillWait\n" ] }, { @@ -2177,9 +2203,9 @@ "output_type": "stream", "text": [ " Run 3 : 4 regles generees, 4 validees par l'oracle\n", - " [OK] Hungry=No => NOT WillWait\n", " [OK] Hungry=Yes AND Patrons=Some => WillWait\n", " [OK] Hungry=Yes AND Patrons=Full AND Price=$ => WillWait\n", + " [OK] Hungry=No => NOT WillWait\n", " [OK] Hungry=Yes AND Patrons=Full AND Price=$$$ => NOT WillWait\n", "\n", "Regles validees stables sur les 3 runs : 3/5 (stabilite 60%)\n", @@ -2228,16 +2254,16 @@ "id": "426133ee", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:12:55.130468Z", - "iopub.status.busy": "2026-09-23T21:12:55.130274Z", - "iopub.status.idle": "2026-09-23T21:13:03.147932Z", - "shell.execute_reply": "2026-09-23T21:13:03.146852Z" + "iopub.execute_input": "2026-09-24T09:02:50.873088Z", + "iopub.status.busy": "2026-09-24T09:02:50.186630Z", + "iopub.status.idle": "2026-09-24T09:03:18.599288Z", + "shell.execute_reply": "2026-09-24T09:03:18.597781Z" }, "papermill": { - "duration": 8.027791, - "end_time": "2026-09-23T21:13:03.151228", + "duration": 28.461933, + "end_time": "2026-09-24T09:03:18.606214+00:00", "exception": false, - "start_time": "2026-09-23T21:12:55.123437", + "start_time": "2026-09-24T09:02:50.144281+00:00", "status": "completed" }, "tags": [] @@ -2288,16 +2314,16 @@ "id": "6e670307", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:13:03.165536Z", - "iopub.status.busy": "2026-09-23T21:13:03.165081Z", - "iopub.status.idle": "2026-09-23T21:13:09.800551Z", - "shell.execute_reply": "2026-09-23T21:13:09.799726Z" + "iopub.execute_input": "2026-09-24T09:03:21.135186Z", + "iopub.status.busy": "2026-09-24T09:03:21.112125Z", + "iopub.status.idle": "2026-09-24T09:03:28.175868Z", + "shell.execute_reply": "2026-09-24T09:03:28.155659Z" }, "papermill": { - "duration": 6.642408, - "end_time": "2026-09-23T21:13:09.801867", + "duration": 9.550055, + "end_time": "2026-09-24T09:03:28.178006+00:00", "exception": false, - "start_time": "2026-09-23T21:13:03.159459", + "start_time": "2026-09-24T09:03:18.627951+00:00", "status": "completed" }, "tags": [] @@ -2308,9 +2334,9 @@ "output_type": "stream", "text": [ "Regles retenues par la boucle generique : 4\n", + " [OK] Hungry=No => NOT WillWait\n", " [OK] Hungry=Yes AND Patrons=Some => WillWait\n", " [OK] Hungry=Yes AND Patrons=Full AND Price=$ => WillWait\n", - " [OK] Hungry=No => NOT WillWait\n", " [OK] Hungry=Yes AND Patrons=Full AND Price=$$$ => NOT WillWait\n", "\n", "Memes deux lignes, autres (generateur, verificateur) ailleurs dans le depot :\n", @@ -2354,10 +2380,10 @@ "id": "d4216022", "metadata": { "papermill": { - "duration": 0.004952, - "end_time": "2026-09-23T21:13:09.813281", + "duration": 0.03522, + "end_time": "2026-09-24T09:03:28.469104+00:00", "exception": false, - "start_time": "2026-09-23T21:13:09.808329", + "start_time": "2026-09-24T09:03:28.433884+00:00", "status": "completed" }, "tags": [] @@ -2392,10 +2418,10 @@ "id": "ba9beb92", "metadata": { "papermill": { - "duration": 0.004599, - "end_time": "2026-09-23T21:13:09.822082", + "duration": 0.019118, + "end_time": "2026-09-24T09:03:28.511033+00:00", "exception": false, - "start_time": "2026-09-23T21:13:09.817483", + "start_time": "2026-09-24T09:03:28.491915+00:00", "status": "completed" }, "tags": [] @@ -2411,10 +2437,10 @@ "id": "3c800f32", "metadata": { "papermill": { - "duration": 0.004148, - "end_time": "2026-09-23T21:13:09.830677", + "duration": 0.030263, + "end_time": "2026-09-24T09:03:28.616273+00:00", "exception": false, - "start_time": "2026-09-23T21:13:09.826529", + "start_time": "2026-09-24T09:03:28.586010+00:00", "status": "completed" }, "tags": [] @@ -2437,16 +2463,16 @@ "id": "5101d0d6", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:13:09.840215Z", - "iopub.status.busy": "2026-09-23T21:13:09.840017Z", - "iopub.status.idle": "2026-09-23T21:13:09.846488Z", - "shell.execute_reply": "2026-09-23T21:13:09.845944Z" + "iopub.execute_input": "2026-09-24T09:03:28.681250Z", + "iopub.status.busy": "2026-09-24T09:03:28.680662Z", + "iopub.status.idle": "2026-09-24T09:03:28.710906Z", + "shell.execute_reply": "2026-09-24T09:03:28.705962Z" }, "papermill": { - "duration": 0.012398, - "end_time": "2026-09-23T21:13:09.847194", + "duration": 0.084822, + "end_time": "2026-09-24T09:03:28.716875+00:00", "exception": false, - "start_time": "2026-09-23T21:13:09.834796", + "start_time": "2026-09-24T09:03:28.632053+00:00", "status": "completed" }, "tags": [] @@ -2554,10 +2580,10 @@ "id": "a5281a2e", "metadata": { "papermill": { - "duration": 0.004453, - "end_time": "2026-09-23T21:13:09.856298", + "duration": 0.143387, + "end_time": "2026-09-24T09:03:29.021913+00:00", "exception": false, - "start_time": "2026-09-23T21:13:09.851845", + "start_time": "2026-09-24T09:03:28.878526+00:00", "status": "completed" }, "tags": [] @@ -2583,16 +2609,16 @@ "id": "0abbe4b6", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:13:09.865993Z", - "iopub.status.busy": "2026-09-23T21:13:09.865758Z", - "iopub.status.idle": "2026-09-23T21:13:09.868865Z", - "shell.execute_reply": "2026-09-23T21:13:09.868499Z" + "iopub.execute_input": "2026-09-24T09:03:29.100622Z", + "iopub.status.busy": "2026-09-24T09:03:29.100231Z", + "iopub.status.idle": "2026-09-24T09:03:29.121626Z", + "shell.execute_reply": "2026-09-24T09:03:29.116754Z" }, "papermill": { - "duration": 0.008758, - "end_time": "2026-09-23T21:13:09.869484", + "duration": 0.082988, + "end_time": "2026-09-24T09:03:29.123791+00:00", "exception": false, - "start_time": "2026-09-23T21:13:09.860726", + "start_time": "2026-09-24T09:03:29.040803+00:00", "status": "completed" }, "tags": [] @@ -2633,10 +2659,10 @@ "id": "2936e442", "metadata": { "papermill": { - "duration": 0.004389, - "end_time": "2026-09-23T21:13:09.878412", + "duration": 0.021122, + "end_time": "2026-09-24T09:03:29.163087+00:00", "exception": false, - "start_time": "2026-09-23T21:13:09.874023", + "start_time": "2026-09-24T09:03:29.141965+00:00", "status": "completed" }, "tags": [] @@ -2658,16 +2684,16 @@ "id": "174aa8b0", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:13:09.888158Z", - "iopub.status.busy": "2026-09-23T21:13:09.887983Z", - "iopub.status.idle": "2026-09-23T21:14:31.414390Z", - "shell.execute_reply": "2026-09-23T21:14:31.413887Z" + "iopub.execute_input": "2026-09-24T09:03:29.254388Z", + "iopub.status.busy": "2026-09-24T09:03:29.253985Z", + "iopub.status.idle": "2026-09-24T09:05:01.376619Z", + "shell.execute_reply": "2026-09-24T09:05:01.375676Z" }, "papermill": { - "duration": 81.536483, - "end_time": "2026-09-23T21:14:31.419399", + "duration": 92.181086, + "end_time": "2026-09-24T09:05:01.385767+00:00", "exception": false, - "start_time": "2026-09-23T21:13:09.882916", + "start_time": "2026-09-24T09:03:29.204681+00:00", "status": "completed" }, "tags": [] @@ -2681,8 +2707,8 @@ "================================================================\n", "Metrique | Direct | CoT\n", "----------------------------------------------------------------\n", - "Candidates generees | 5 | 9\n", - "Regles validees (consistantes) | 5 | 6\n", + "Candidates generees | 4 | 9\n", + "Regles validees (consistantes) | 4 | 6\n", "Regles rejetees (inconsistantes) | 0 | 3\n", "Taux d'acceptation | 100% | 67%\n", "Couverture positifs | 100% | 100%\n", @@ -2752,10 +2778,10 @@ "id": "sl7ex2var-md", "metadata": { "papermill": { - "duration": 0.004558, - "end_time": "2026-09-23T21:14:31.428855", + "duration": 0.007408, + "end_time": "2026-09-24T09:05:01.399988+00:00", "exception": false, - "start_time": "2026-09-23T21:14:31.424297", + "start_time": "2026-09-24T09:05:01.392580+00:00", "status": "completed" }, "tags": [] @@ -2778,16 +2804,16 @@ "id": "sl7ex2var-code", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:14:31.440033Z", - "iopub.status.busy": "2026-09-23T21:14:31.439707Z", - "iopub.status.idle": "2026-09-23T21:14:31.443406Z", - "shell.execute_reply": "2026-09-23T21:14:31.442802Z" + "iopub.execute_input": "2026-09-24T09:05:01.414508Z", + "iopub.status.busy": "2026-09-24T09:05:01.414289Z", + "iopub.status.idle": "2026-09-24T09:05:01.418352Z", + "shell.execute_reply": "2026-09-24T09:05:01.417604Z" }, "papermill": { - "duration": 0.010985, - "end_time": "2026-09-23T21:14:31.444689", + "duration": 0.012554, + "end_time": "2026-09-24T09:05:01.419017+00:00", "exception": false, - "start_time": "2026-09-23T21:14:31.433704", + "start_time": "2026-09-24T09:05:01.406463+00:00", "status": "completed" }, "tags": [] @@ -2835,10 +2861,10 @@ "id": "0962260b", "metadata": { "papermill": { - "duration": 0.004698, - "end_time": "2026-09-23T21:14:31.456810", + "duration": 0.007016, + "end_time": "2026-09-24T09:05:01.432965+00:00", "exception": false, - "start_time": "2026-09-23T21:14:31.452112", + "start_time": "2026-09-24T09:05:01.425949+00:00", "status": "completed" }, "tags": [] @@ -2860,16 +2886,16 @@ "id": "3548d43c", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:14:31.471909Z", - "iopub.status.busy": "2026-09-23T21:14:31.471605Z", - "iopub.status.idle": "2026-09-23T21:14:31.477542Z", - "shell.execute_reply": "2026-09-23T21:14:31.477036Z" + "iopub.execute_input": "2026-09-24T09:05:01.448251Z", + "iopub.status.busy": "2026-09-24T09:05:01.447937Z", + "iopub.status.idle": "2026-09-24T09:05:01.456485Z", + "shell.execute_reply": "2026-09-24T09:05:01.455608Z" }, "papermill": { - "duration": 0.015039, - "end_time": "2026-09-23T21:14:31.478415", + "duration": 0.017713, + "end_time": "2026-09-24T09:05:01.457290+00:00", "exception": false, - "start_time": "2026-09-23T21:14:31.463376", + "start_time": "2026-09-24T09:05:01.439577+00:00", "status": "completed" }, "tags": [] @@ -2995,10 +3021,10 @@ "id": "sl7ex3var-md", "metadata": { "papermill": { - "duration": 0.004691, - "end_time": "2026-09-23T21:14:31.489129", + "duration": 0.006863, + "end_time": "2026-09-24T09:05:01.471626+00:00", "exception": false, - "start_time": "2026-09-23T21:14:31.484438", + "start_time": "2026-09-24T09:05:01.464763+00:00", "status": "completed" }, "tags": [] @@ -3021,16 +3047,16 @@ "id": "sl7ex3var-code", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:14:31.503014Z", - "iopub.status.busy": "2026-09-23T21:14:31.502803Z", - "iopub.status.idle": "2026-09-23T21:14:31.507217Z", - "shell.execute_reply": "2026-09-23T21:14:31.506615Z" + "iopub.execute_input": "2026-09-24T09:05:01.488057Z", + "iopub.status.busy": "2026-09-24T09:05:01.487793Z", + "iopub.status.idle": "2026-09-24T09:05:01.492798Z", + "shell.execute_reply": "2026-09-24T09:05:01.492019Z" }, "papermill": { - "duration": 0.012386, - "end_time": "2026-09-23T21:14:31.508184", + "duration": 0.013582, + "end_time": "2026-09-24T09:05:01.493476+00:00", "exception": false, - "start_time": "2026-09-23T21:14:31.495798", + "start_time": "2026-09-24T09:05:01.479894+00:00", "status": "completed" }, "tags": [] @@ -3080,10 +3106,10 @@ "id": "3818d99f", "metadata": { "papermill": { - "duration": 0.005425, - "end_time": "2026-09-23T21:14:31.519963", + "duration": 0.007444, + "end_time": "2026-09-24T09:05:01.508041+00:00", "exception": false, - "start_time": "2026-09-23T21:14:31.514538", + "start_time": "2026-09-24T09:05:01.500597+00:00", "status": "completed" }, "tags": [] @@ -3108,16 +3134,16 @@ "id": "b1ef475c", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:14:31.532521Z", - "iopub.status.busy": "2026-09-23T21:14:31.532218Z", - "iopub.status.idle": "2026-09-23T21:14:31.539975Z", - "shell.execute_reply": "2026-09-23T21:14:31.539502Z" + "iopub.execute_input": "2026-09-24T09:05:01.525329Z", + "iopub.status.busy": "2026-09-24T09:05:01.524953Z", + "iopub.status.idle": "2026-09-24T09:05:01.533799Z", + "shell.execute_reply": "2026-09-24T09:05:01.533067Z" }, "papermill": { - "duration": 0.015513, - "end_time": "2026-09-23T21:14:31.540746", + "duration": 0.019059, + "end_time": "2026-09-24T09:05:01.534386+00:00", "exception": false, - "start_time": "2026-09-23T21:14:31.525233", + "start_time": "2026-09-24T09:05:01.515327+00:00", "status": "completed" }, "tags": [] @@ -3234,10 +3260,10 @@ "id": "sl7ex4var-md", "metadata": { "papermill": { - "duration": 0.005406, - "end_time": "2026-09-23T21:14:31.551352", + "duration": 0.006827, + "end_time": "2026-09-24T09:05:01.548883+00:00", "exception": false, - "start_time": "2026-09-23T21:14:31.545946", + "start_time": "2026-09-24T09:05:01.542056+00:00", "status": "completed" }, "tags": [] @@ -3260,16 +3286,16 @@ "id": "sl7ex4var-code", "metadata": { "execution": { - "iopub.execute_input": "2026-09-23T21:14:31.563339Z", - "iopub.status.busy": "2026-09-23T21:14:31.562901Z", - "iopub.status.idle": "2026-09-23T21:14:31.567271Z", - "shell.execute_reply": "2026-09-23T21:14:31.566527Z" + "iopub.execute_input": "2026-09-24T09:05:01.564096Z", + "iopub.status.busy": "2026-09-24T09:05:01.563852Z", + "iopub.status.idle": "2026-09-24T09:05:01.568094Z", + "shell.execute_reply": "2026-09-24T09:05:01.567167Z" }, "papermill": { - "duration": 0.011763, - "end_time": "2026-09-23T21:14:31.568471", + "duration": 0.012937, + "end_time": "2026-09-24T09:05:01.568735+00:00", "exception": false, - "start_time": "2026-09-23T21:14:31.556708", + "start_time": "2026-09-24T09:05:01.555798+00:00", "status": "completed" }, "tags": [] @@ -3318,10 +3344,10 @@ "id": "7cb00ad4", "metadata": { "papermill": { - "duration": 0.006128, - "end_time": "2026-09-23T21:14:31.580507", + "duration": 0.006772, + "end_time": "2026-09-24T09:05:01.582376+00:00", "exception": false, - "start_time": "2026-09-23T21:14:31.574379", + "start_time": "2026-09-24T09:05:01.575604+00:00", "status": "completed" }, "tags": [] @@ -3377,10 +3403,10 @@ "id": "227e37ae", "metadata": { "papermill": { - "duration": 0.00673, - "end_time": "2026-09-23T21:14:31.592787", + "duration": 0.006791, + "end_time": "2026-09-24T09:05:01.596059+00:00", "exception": false, - "start_time": "2026-09-23T21:14:31.586057", + "start_time": "2026-09-24T09:05:01.589268+00:00", "status": "completed" }, "tags": [] @@ -3408,10 +3434,10 @@ "id": "b2e6b9c6", "metadata": { "papermill": { - "duration": 0.010447, - "end_time": "2026-09-23T21:14:31.610980", + "duration": 0.006323, + "end_time": "2026-09-24T09:05:01.610421+00:00", "exception": false, - "start_time": "2026-09-23T21:14:31.600533", + "start_time": "2026-09-24T09:05:01.604098+00:00", "status": "completed" }, "tags": [] @@ -3462,18 +3488,18 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.3" + "version": "3.13.7" }, "papermill": { "default_parameters": {}, - "duration": 286.024686, - "end_time": "2026-09-23T21:14:31.968894", + "duration": 350.46982, + "end_time": "2026-09-24T09:05:02.082768+00:00", "environment_variables": {}, "exception": null, "input_path": "SL-9-LLM-SymbolicLearning.ipynb", - "output_path": "SL-9-LLM-SymbolicLearning_output.ipynb", + "output_path": "SL-9-LLM-SymbolicLearning.ipynb", "parameters": {}, - "start_time": "2026-09-23T21:09:45.944208", + "start_time": "2026-09-24T08:59:11.612948+00:00", "version": "2.7.0" } },