diff --git a/MyIA.AI.Notebooks/GameTheory/GameTheory-13d-Optimistic-CFR-Python.ipynb b/MyIA.AI.Notebooks/GameTheory/GameTheory-13d-Optimistic-CFR-Python.ipynb index dc05a87f7d4..3029230a861 100644 --- a/MyIA.AI.Notebooks/GameTheory/GameTheory-13d-Optimistic-CFR-Python.ipynb +++ b/MyIA.AI.Notebooks/GameTheory/GameTheory-13d-Optimistic-CFR-Python.ipynb @@ -5,10 +5,10 @@ "id": "774d952c", "metadata": { "papermill": { - "duration": 0.007095, - "end_time": "2026-10-08T07:11:57.129582+00:00", + "duration": 0.0038, + "end_time": "2026-10-14T22:36:23.300231+00:00", "exception": false, - "start_time": "2026-10-08T07:11:57.122487+00:00", + "start_time": "2026-10-14T22:36:23.296431+00:00", "status": "completed" }, "tags": [] @@ -45,10 +45,10 @@ "id": "978f4b6d", "metadata": { "papermill": { - "duration": 0.004253, - "end_time": "2026-10-08T07:11:57.138577+00:00", + "duration": 0.002409, + "end_time": "2026-10-14T22:36:23.305600+00:00", "exception": false, - "start_time": "2026-10-08T07:11:57.134324+00:00", + "start_time": "2026-10-14T22:36:23.303191+00:00", "status": "completed" }, "tags": [] @@ -73,16 +73,16 @@ "id": "483c8fcb", "metadata": { "execution": { - "iopub.execute_input": "2026-10-08T07:11:57.167874Z", - "iopub.status.busy": "2026-10-08T07:11:57.167368Z", - "iopub.status.idle": "2026-10-08T07:12:11.357025Z", - "shell.execute_reply": "2026-10-08T07:12:11.355869Z" + "iopub.execute_input": "2026-10-14T22:36:23.312061Z", + "iopub.status.busy": "2026-10-14T22:36:23.311763Z", + "iopub.status.idle": "2026-10-14T22:36:30.723902Z", + "shell.execute_reply": "2026-10-14T22:36:30.721566Z" }, "papermill": { - "duration": 14.197037, - "end_time": "2026-10-08T07:12:11.358284+00:00", + "duration": 7.41688, + "end_time": "2026-10-14T22:36:30.724732+00:00", "exception": false, - "start_time": "2026-10-08T07:11:57.161247+00:00", + "start_time": "2026-10-14T22:36:23.307852+00:00", "status": "completed" }, "tags": [] @@ -122,14 +122,7 @@ "output_type": "stream", "text": [ "\n", - "Resultats apres 5000 iterations:\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Optional module pokerkit_wrapper was not importable: No module named 'pokerkit'\n", + "Resultats apres 5000 iterations:\n", " CFR: utilite finale = 0.2450, exploitabilite = 0.002332\n", " CFR+: utilite finale = -0.0677, exploitabilite = 0.002881\n", "\n", @@ -322,10 +315,10 @@ "id": "a9a36529", "metadata": { "papermill": { - "duration": 0.003277, - "end_time": "2026-10-08T07:12:11.365254+00:00", + "duration": 0.001779, + "end_time": "2026-10-14T22:36:30.728739+00:00", "exception": false, - "start_time": "2026-10-08T07:12:11.361977+00:00", + "start_time": "2026-10-14T22:36:30.726960+00:00", "status": "completed" }, "tags": [] @@ -368,16 +361,16 @@ "id": "7a7df78c", "metadata": { "execution": { - "iopub.execute_input": "2026-10-08T07:12:11.376609Z", - "iopub.status.busy": "2026-10-08T07:12:11.376015Z", - "iopub.status.idle": "2026-10-08T07:12:11.522858Z", - "shell.execute_reply": "2026-10-08T07:12:11.521983Z" + "iopub.execute_input": "2026-10-14T22:36:30.733627Z", + "iopub.status.busy": "2026-10-14T22:36:30.733352Z", + "iopub.status.idle": "2026-10-14T22:36:30.832990Z", + "shell.execute_reply": "2026-10-14T22:36:30.831875Z" }, "papermill": { - "duration": 0.154472, - "end_time": "2026-10-08T07:12:11.523761+00:00", + "duration": 0.103297, + "end_time": "2026-10-14T22:36:30.833790+00:00", "exception": false, - "start_time": "2026-10-08T07:12:11.369289+00:00", + "start_time": "2026-10-14T22:36:30.730493+00:00", "status": "completed" }, "tags": [] @@ -472,9 +465,10 @@ " self.predict_sum[info_set] += step * depth_factor * np.maximum(\n", " self.regret_sum[info_set], 0\n", " )\n", - " # FIX (PR #13604 narrow-REPAIR c.773 narrow239ᵉ Tell c.709-L1) :\n", - " # la ligne d'accumulation de la strategie du socle CFRSolver.cfr() etait\n", - " # omise -- get_average_strategy() retombait sur le fallback uniforme.\n", + " # Accumulation de la strategie courante, ponderee par la probabilite\n", + " # d'atteinte du joueur (la meme ligne que CFRSolver.cfr() dans le\n", + " # notebook GT-13). Sans elle, strategy_sum reste nul pour cet info set\n", + " # et get_average_strategy() renvoie l'uniforme. Correctif : PR #13604.\n", " self.strategy_sum[info_set] += reach_probs[player] * strategy\n", " return np.array([node_value, -node_value]) if player == 0 else np.array(\n", " [-node_value, node_value]\n", @@ -504,10 +498,10 @@ "id": "md-1-4-dcfr", "metadata": { "papermill": { - "duration": 0.003283, - "end_time": "2026-10-08T07:12:11.530245+00:00", + "duration": 0.00188, + "end_time": "2026-10-14T22:36:30.837996+00:00", "exception": false, - "start_time": "2026-10-08T07:12:11.526962+00:00", + "start_time": "2026-10-14T22:36:30.836116+00:00", "status": "completed" }, "tags": [] @@ -530,16 +524,16 @@ "id": "5db88c83", "metadata": { "execution": { - "iopub.execute_input": "2026-10-08T07:12:11.538058Z", - "iopub.status.busy": "2026-10-08T07:12:11.537626Z", - "iopub.status.idle": "2026-10-08T07:12:11.699616Z", - "shell.execute_reply": "2026-10-08T07:12:11.698336Z" + "iopub.execute_input": "2026-10-14T22:36:30.843509Z", + "iopub.status.busy": "2026-10-14T22:36:30.843303Z", + "iopub.status.idle": "2026-10-14T22:36:30.964127Z", + "shell.execute_reply": "2026-10-14T22:36:30.962956Z" }, "papermill": { - "duration": 0.167372, - "end_time": "2026-10-08T07:12:11.700619+00:00", + "duration": 0.124756, + "end_time": "2026-10-14T22:36:30.965249+00:00", "exception": false, - "start_time": "2026-10-08T07:12:11.533247+00:00", + "start_time": "2026-10-14T22:36:30.840493+00:00", "status": "completed" }, "tags": [] @@ -550,13 +544,7 @@ "output_type": "stream", "text": [ "DCFR sanity check:\n", - " t= 10 CFR=[0.5, 0.5] DCFR=[0.5, 0.5]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + " t= 10 CFR=[0.5, 0.5] DCFR=[0.5, 0.5]\n", " t= 100 CFR=[0.5, 0.5] DCFR=[0.5, 0.5]\n" ] }, @@ -635,10 +623,10 @@ "id": "md-1-5-benchmark", "metadata": { "papermill": { - "duration": 0.003767, - "end_time": "2026-10-08T07:12:11.708094+00:00", + "duration": 0.003259, + "end_time": "2026-10-14T22:36:30.972122+00:00", "exception": false, - "start_time": "2026-10-08T07:12:11.704327+00:00", + "start_time": "2026-10-14T22:36:30.968863+00:00", "status": "completed" }, "tags": [] @@ -655,16 +643,16 @@ "id": "7df8e482", "metadata": { "execution": { - "iopub.execute_input": "2026-10-08T07:12:11.717718Z", - "iopub.status.busy": "2026-10-08T07:12:11.717329Z", - "iopub.status.idle": "2026-10-08T07:12:20.510623Z", - "shell.execute_reply": "2026-10-08T07:12:20.509297Z" + "iopub.execute_input": "2026-10-14T22:36:30.979546Z", + "iopub.status.busy": "2026-10-14T22:36:30.979312Z", + "iopub.status.idle": "2026-10-14T22:36:35.162655Z", + "shell.execute_reply": "2026-10-14T22:36:35.161508Z" }, "papermill": { - "duration": 8.799349, - "end_time": "2026-10-08T07:12:20.511822+00:00", + "duration": 4.188084, + "end_time": "2026-10-14T22:36:35.163523+00:00", "exception": false, - "start_time": "2026-10-08T07:12:11.712473+00:00", + "start_time": "2026-10-14T22:36:30.975439+00:00", "status": "completed" }, "tags": [] @@ -675,14 +663,14 @@ "output_type": "stream", "text": [ " seed mode time(s) CFR CFR+ DCFR OFTRL\n", - " 0 simultaneous 1.0911 [0.9981, 0.0019] [0.9982, 0.0018] [0.8789, 0.1211] [0.9772, 0.0228]\n", - " 0 alternating 0.9570 [0.9981, 0.0019] [0.9982, 0.0018] [0.8789, 0.1211] [0.9772, 0.0228]\n", - " 1 simultaneous 1.2977 [0.9981, 0.0019] [0.9982, 0.0018] [0.8789, 0.1211] [0.9772, 0.0228]\n", - " 1 alternating 0.8880 [0.9981, 0.0019] [0.9982, 0.0018] [0.8789, 0.1211] [0.9772, 0.0228]\n", - " 7 simultaneous 1.1537 [0.9981, 0.0019] [0.9982, 0.0018] [0.8789, 0.1211] [0.9772, 0.0228]\n", - " 7 alternating 0.7603 [0.9981, 0.0019] [0.9982, 0.0018] [0.8789, 0.1211] [0.9772, 0.0228]\n", - " 42 simultaneous 1.6795 [0.9981, 0.0019] [0.9982, 0.0018] [0.8789, 0.1211] [0.9772, 0.0228]\n", - " 42 alternating 0.9518 [0.9981, 0.0019] [0.9982, 0.0018] [0.8789, 0.1211] [0.9772, 0.0228]\n" + " 0 simultaneous 0.6183 [0.9981, 0.0019] [0.9982, 0.0018] [0.8789, 0.1211] [0.9772, 0.0228]\n", + " 0 alternating 0.4020 [0.9981, 0.0019] [0.9982, 0.0018] [0.8789, 0.1211] [0.9772, 0.0228]\n", + " 1 simultaneous 0.5775 [0.9981, 0.0019] [0.9982, 0.0018] [0.8789, 0.1211] [0.9772, 0.0228]\n", + " 1 alternating 0.4435 [0.9981, 0.0019] [0.9982, 0.0018] [0.8789, 0.1211] [0.9772, 0.0228]\n", + " 7 simultaneous 0.6104 [0.9981, 0.0019] [0.9982, 0.0018] [0.8789, 0.1211] [0.9772, 0.0228]\n", + " 7 alternating 0.4233 [0.9981, 0.0019] [0.9982, 0.0018] [0.8789, 0.1211] [0.9772, 0.0228]\n", + " 42 simultaneous 0.6294 [0.9981, 0.0019] [0.9982, 0.0018] [0.8789, 0.1211] [0.9772, 0.0228]\n", + " 42 alternating 0.4620 [0.9981, 0.0019] [0.9982, 0.0018] [0.8789, 0.1211] [0.9772, 0.0228]\n" ] } ], @@ -775,10 +763,10 @@ "id": "7c41f1ce", "metadata": { "papermill": { - "duration": 0.004485, - "end_time": "2026-10-08T07:12:20.521267+00:00", + "duration": 0.002154, + "end_time": "2026-10-14T22:36:35.168372+00:00", "exception": false, - "start_time": "2026-10-08T07:12:20.516782+00:00", + "start_time": "2026-10-14T22:36:35.166218+00:00", "status": "completed" }, "tags": [] @@ -801,10 +789,10 @@ "id": "0993e1e0", "metadata": { "papermill": { - "duration": 0.004235, - "end_time": "2026-10-08T07:12:20.529175+00:00", + "duration": 0.002021, + "end_time": "2026-10-14T22:36:35.172430+00:00", "exception": false, - "start_time": "2026-10-08T07:12:20.524940+00:00", + "start_time": "2026-10-14T22:36:35.170409+00:00", "status": "completed" }, "tags": [] @@ -829,16 +817,16 @@ "id": "97691336", "metadata": { "execution": { - "iopub.execute_input": "2026-10-08T07:12:20.540729Z", - "iopub.status.busy": "2026-10-08T07:12:20.540227Z", - "iopub.status.idle": "2026-10-08T07:12:20.546866Z", - "shell.execute_reply": "2026-10-08T07:12:20.545665Z" + "iopub.execute_input": "2026-10-14T22:36:35.177899Z", + "iopub.status.busy": "2026-10-14T22:36:35.177657Z", + "iopub.status.idle": "2026-10-14T22:36:35.182243Z", + "shell.execute_reply": "2026-10-14T22:36:35.181190Z" }, "papermill": { - "duration": 0.013633, - "end_time": "2026-10-08T07:12:20.547891+00:00", + "duration": 0.008351, + "end_time": "2026-10-14T22:36:35.182941+00:00", "exception": false, - "start_time": "2026-10-08T07:12:20.534258+00:00", + "start_time": "2026-10-14T22:36:35.174590+00:00", "status": "completed" }, "tags": [] @@ -877,10 +865,10 @@ "id": "6b931c34", "metadata": { "papermill": { - "duration": 0.004547, - "end_time": "2026-10-08T07:12:20.557010+00:00", + "duration": 0.002261, + "end_time": "2026-10-14T22:36:35.187637+00:00", "exception": false, - "start_time": "2026-10-08T07:12:20.552463+00:00", + "start_time": "2026-10-14T22:36:35.185376+00:00", "status": "completed" }, "tags": [] @@ -902,16 +890,16 @@ "id": "dc825f88", "metadata": { "execution": { - "iopub.execute_input": "2026-10-08T07:12:20.568087Z", - "iopub.status.busy": "2026-10-08T07:12:20.567531Z", - "iopub.status.idle": "2026-10-08T07:12:20.574406Z", - "shell.execute_reply": "2026-10-08T07:12:20.573037Z" + "iopub.execute_input": "2026-10-14T22:36:35.194319Z", + "iopub.status.busy": "2026-10-14T22:36:35.194114Z", + "iopub.status.idle": "2026-10-14T22:36:35.198464Z", + "shell.execute_reply": "2026-10-14T22:36:35.197212Z" }, "papermill": { - "duration": 0.01431, - "end_time": "2026-10-08T07:12:20.575819+00:00", + "duration": 0.008938, + "end_time": "2026-10-14T22:36:35.199198+00:00", "exception": false, - "start_time": "2026-10-08T07:12:20.561509+00:00", + "start_time": "2026-10-14T22:36:35.190260+00:00", "status": "completed" }, "tags": [] @@ -943,10 +931,10 @@ "id": "e1c08c5c", "metadata": { "papermill": { - "duration": 0.004103, - "end_time": "2026-10-08T07:12:20.584447+00:00", + "duration": 0.002509, + "end_time": "2026-10-14T22:36:35.204142+00:00", "exception": false, - "start_time": "2026-10-08T07:12:20.580344+00:00", + "start_time": "2026-10-14T22:36:35.201633+00:00", "status": "completed" }, "tags": [] @@ -968,16 +956,16 @@ "id": "63a43cd7", "metadata": { "execution": { - "iopub.execute_input": "2026-10-08T07:12:20.595062Z", - "iopub.status.busy": "2026-10-08T07:12:20.594540Z", - "iopub.status.idle": "2026-10-08T07:12:20.604268Z", - "shell.execute_reply": "2026-10-08T07:12:20.603037Z" + "iopub.execute_input": "2026-10-14T22:36:35.210082Z", + "iopub.status.busy": "2026-10-14T22:36:35.209898Z", + "iopub.status.idle": "2026-10-14T22:36:35.215897Z", + "shell.execute_reply": "2026-10-14T22:36:35.214859Z" }, "papermill": { - "duration": 0.017375, - "end_time": "2026-10-08T07:12:20.605402+00:00", + "duration": 0.010485, + "end_time": "2026-10-14T22:36:35.216907+00:00", "exception": false, - "start_time": "2026-10-08T07:12:20.588027+00:00", + "start_time": "2026-10-14T22:36:35.206422+00:00", "status": "completed" }, "tags": [] @@ -1043,10 +1031,10 @@ "id": "3991f3c2", "metadata": { "papermill": { - "duration": 0.005013, - "end_time": "2026-10-08T07:12:20.617230+00:00", + "duration": 0.002189, + "end_time": "2026-10-14T22:36:35.221300+00:00", "exception": false, - "start_time": "2026-10-08T07:12:20.612217+00:00", + "start_time": "2026-10-14T22:36:35.219111+00:00", "status": "completed" }, "tags": [] @@ -1091,18 +1079,18 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.7" + "version": "3.13.16" }, "papermill": { "default_parameters": {}, - "duration": 25.937052, - "end_time": "2026-10-08T07:12:20.968217+00:00", + "duration": 12.813407, + "end_time": "2026-10-14T22:36:35.440851+00:00", "environment_variables": {}, "exception": null, - "input_path": "MyIA.AI.Notebooks/GameTheory/GameTheory-13d-Optimistic-CFR-Python.ipynb", - "output_path": "MyIA.AI.Notebooks/GameTheory/GameTheory-13d-Optimistic-CFR-Python.ipynb", + "input_path": "GameTheory-13d-Optimistic-CFR-Python.ipynb", + "output_path": "GameTheory-13d-Optimistic-CFR-Python.ipynb", "parameters": {}, - "start_time": "2026-10-08T07:11:55.031165+00:00", + "start_time": "2026-10-14T22:36:22.627444+00:00", "version": "2.6.0" } },