You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

709 lines
236 KiB

3 months ago
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "markdown",
  5. "metadata": {},
  6. "source": [
  7. "## Example usage of Tempestpy"
  8. ]
  9. },
  10. {
  11. "cell_type": "code",
  12. "execution_count": 1,
  13. "metadata": {
  14. "vscode": {
  15. "languageId": "plaintext"
  16. }
  17. },
  18. "outputs": [
  19. {
  20. "name": "stdout",
  21. "output_type": "stream",
  22. "text": [
  23. "pygame 2.6.0 (SDL 2.28.4, Python 3.10.12)\n",
  24. "Hello from the pygame community. https://www.pygame.org/contribute.html\n"
  25. ]
  26. },
  27. {
  28. "name": "stderr",
  29. "output_type": "stream",
  30. "text": [
  31. "2024-09-23 08:42:10.804327: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:485] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n",
  32. "2024-09-23 08:42:10.818605: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:8454] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n",
  33. "2024-09-23 08:42:10.822764: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1452] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n",
  34. "2024-09-23 08:42:10.833632: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n",
  35. "To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n",
  36. "2024-09-23 08:42:11.675150: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\n",
  37. "error: XDG_RUNTIME_DIR not set in the environment.\n"
  38. ]
  39. }
  40. ],
  41. "source": [
  42. "from sb3_contrib import MaskablePPO\n",
  43. "from sb3_contrib.common.wrappers import ActionMasker\n",
  44. "from stable_baselines3.common.logger import Logger, CSVOutputFormat, TensorBoardOutputFormat, HumanOutputFormat\n",
  45. "\n",
  46. "import gymnasium as gym\n",
  47. "\n",
  48. "from minigrid.core.actions import Actions\n",
  49. "from minigrid.core.constants import TILE_PIXELS\n",
  50. "from minigrid.wrappers import RGBImgObsWrapper, ImgObsWrapper\n",
  51. "\n",
  52. "import tempfile, datetime, shutil\n",
  53. "\n",
  54. "import time\n",
  55. "import os\n",
  56. "\n",
  57. "from utils import MiniGridShieldHandler, create_log_dir, ShieldingConfig, MiniWrapper, expname, shield_needed, shielded_evaluation, create_shield_overlay_image\n",
  58. "from sb3utils import MiniGridSbShieldingWrapper, parse_sb3_arguments, ImageRecorderCallback, InfoCallback\n",
  59. "\n",
  60. "import os, sys\n",
  61. "from copy import deepcopy\n",
  62. "\n",
  63. "from PIL import Image"
  64. ]
  65. },
  66. {
  67. "cell_type": "code",
  68. "execution_count": 2,
  69. "metadata": {
  70. "vscode": {
  71. "languageId": "plaintext"
  72. }
  73. },
  74. "outputs": [
  75. {
  76. "name": "stdout",
  77. "output_type": "stream",
  78. "text": [
  79. "Starting the training\n"
  80. ]
  81. },
  82. {
  83. "data": {
  84. "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAHgAeADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDDooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOzorA1GwuJ9Ukn0nWjBfoi+ZayMJImXtuTqufU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
  85. "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAIAAADytinCAAA7ZElEQVR4Ae2d8Vkcubem6+6zf48TgAnAToB2AuME2ATGNwAggUlgIADjBJYEIIHBCdgBXEhgSeC3nyxGPkjVatGUVKXqVw+PrVYdnZJeqT6E6nTVf33+/HkgQQACEIDA8gj8r+U1iRZBAAIQgIAjgEAzDyAAAQgslAACvdCBoVkQgAAEEGjmAAQgAIGFEkCgFzowNAsCEIAAAs0cgAAEILBQAgj0QgeGZkEAAhBAoJkDEIAABBZKAIFe6MDQLAhAAAIINHMAAhCAwEIJINALHRiaBQEIQACBZg5AAAIQWCgBBHqhA0OzIAABCCDQzAEIQAACCyWAQC90YGgWBCAAAQSaOQABCEBgoQQQ6IUODM2CAAQggEAzByAAAQgslAACvdCBoVkQgAAEEGjmAAQgAIGFEkCgFzowNAsCEIAAAs0cgAAEILBQAgj0QgeGZkEAAhBAoJkDEIAABBZKAIFe6MDQLAhAAAIINHMAAhCAwEIJINALHRiaBQEIQACBZg5AAAIQWCgBBHqhA0OzIAABCCDQzAEIQAACCyWAQC90YGgWBCAAgf9dG8GXo+vap8A/BA6WwH8/fj7Yvpd0/PpLXf35/N91+VcX6BKI2EAAAnsTuL6uqEGfP3/u2v/wZW+ui6jIFscihoFGQAACEEgJINApE0ogAAEILIIAAr2IYaAREIAABFICCHTKhBIIQAACiyCAQC9iGGgEBCAAgZQAAp0yoQQCEIDAIgg0EuiH/zfcP+zusGwKzeTQJvxbGmIIHwskyq+PT9RBPq6GQCOBvrgbPn4dNtdb9VfXjI7KptBMDm3Cv6cRMMLHTo+QXyuf0EEyKyPQ6IsqZ5vh4Wn49uj09+RouPxj2Bw/k9Q1c37nDikd/eb+3WkmD3JoE/4tRvjkp9n6+NhrgfyaCPyXvilUtT/2q96RiJxvhsv7X9IskVWJkgqv7ofHJ5fXtWTN9NGKu7MwCf/w0XQ4qPmjr3p3/U2/2t9UHP5jBKJCtvZXvZsKtOdjZVQlWjUHabYA7WWm8rz02Ir4tzTSPHxSJrakLz4ItB27kTwCPQLFFNkVtCl2m9FaJp8cP6+a7SGbd0vsB6fgYUvEHs3k8Z+Bo0PwWQcfBDo/jqygd/DZJtA7qnEYAhAoIIBA74DU+Qq6URTH+e1wfOk2BzNJazoFcmQiPXxdOZErObQJ/4EGfDSRMmmVfDL95VDXBBpFcYiRbvpd3LltjXTHWVdUCOSQZXoL3iPWpRVuHqbQ8Q8fPysOc/6kVwQlKyDQ7iahVeFwY9AW+tuAYhrEOtwYtNITCiP61hX+0y17+IS4oNFAoE75sMUR6UD8sfMtjnYC7cHZyyCgTDW30Cx4CJnCioVmwW3IFFYsNAtuQ6awYqFZcBsyhRULzYLbkCmsWGgW3IZMYcVCs+A2ZAorFpoFtyFTWLHQTG4R6MB2PINAj3P5t3T0JmGYf6k0/1vP/V9oZqv4fGHFQjP854cJPjPyQaDT6feiBIF+gSP5MCrQiRUFEIDAPgQQ6B3UOhfoRlEcbq16Gz/BJyWrvWb95JMeAyRXcmgT/gMN+AQUo5lV8hntKYUrINAoikPRFzc/hqtvw9mJi+I4fhejs7cBRyM9VEGXlg7JiZJu+Nj7YPiHj+aAvw14gPPHXRKkNRJodJPQaqswWpm20qy9PKXw4KQQkJep7gclY4B/IYJP+NUuGnb69T5/2OLwI7j13863OBoJ9OhlcPp+uH/89VCkEPwU7t2plgLmNkdu9e1Temk9H/j5XyRD+LdwlIfP+uYPAh1N8vgjAh0Tefk5vUkYycS2O+BWpuUyf2nZc+Lf0kjz8EmZ2JK++CDQduxG8gj0CBRTlAq0P+gvg9MPL7aSTb3nrGT65vv4tnVqbEvwb2mkefikTGxJL3wQaDtqI3kEegSKKdom0MaELAQgsCcBBHoHuM4FulGY3Q6IHIYABCAAgYQAAp0goQACEIDAMggg0MsYB1oBAQhAICGAQCdIKIAABCCwDAJN46CX0WVaAYF2BHQTr93JONPqCDT6qvfquNEhCJQS4K3bGVK13+rdwH+md28/xBbH2xniAQIQgEAVAgh0Faw4hQAEIPB2Agj02xniAQIQgEAVAgh0Faw4hQAEIPB2Agj02xniAQIQgEAVAgh0Faw4hQAEIPB2Ao0EWs8G03PpdibZFJrJoU34tzTEED4WSJRvzydqAB8hUEigkUBf3A0fvw6b6636q2tGR2VTaCaHNuHf0wgY4WOnR8jPxSc0gAwEXkWg0RdVzjbDw5N7l5X0N3pCv66Z87tfr7lS63eayYMc2oR/ixE++WnWno+dq+QhUE6g6Ve9IxE537h3eKdvIIzeImjNInGP+ol/+GhKLGr+8Lzm6CKNPjb4pl/tb3JGPZr2Y1OB9k23MqoSvXVQ61+pcJTsZaZDeemxdfFvaaR5+KRMbMm0fBBoyzbNI9ApE1syg0D70+sy0IuWT45HpNm2zy2xH5yCb45t8e48/vOM4NOGDwKd54xA5/k02oNOGyHBLdFct7JOFtept7QE/ykTWwIfSyPN1+aTnpESCKQEGkVxnN8Ox5duczCTtKZTIEcm0sPXlRO5kkOb8B9owEcTKZNm4ZNpD4cgkCHQbgX9+DRc3LltjXTHWVdUCORQW9Nb8L4DurRUXX5GE/7h4yfGMufP6KSlEAJ5Au32oK0KhxuDttDfBlRzg1iHG4NWekJh1DHrCv/p9hF8/K/2xvOHPejoOo0+sgcdAYk+thNof2IrE6Ep6TVTaBY8hExhxUKz4DZkCisWmgW3IVNYsdAsuA2ZwoqFZsFtyBRWLDQLbkOmsGKhWXAbMoUVC83kFoEObEczCPQollDYWqD9icP8TqU5tEyZQjNbBf8pjbSkEGyhGf4z0xiBTqeHLUGgLY00P49Ap+2gBAKrJIBA54cVgc7zaRTF4dZit/ETfNKWaa9ZP/mkxwDJlRzahP9AAz4BxWhmFj6jLaEQAjsJNIriUPTFzY/h6ttwduKiOI7fxQ2ztwFHIz1UQZeWDsmJkm742Ptg+IeP5oC/DbjA+eOmLAkCryfQaIvDaqsaaWXaSrP28pTSp3NkqvsuZwzwL0TwCb/aRcNOv9rzhy0OT3jbv2xxbCPjyxsJtD9ZJBOn74f7x+dVj73NEu5NqZYC5jZHbvXtU3ppPR/4+R/+4aOJsKj5g0DbKzTNI9ApE1vSVKD9iSMZtdJsW2YvM5XnpcdWxL+lkebhkzKxJdPyQaAt2zSPQKdMbMkMAu1P7y+D0w8vtpJty3xeMn3zfXzbOjW2Jfi3NNI8fFImtmQqPgi0pZrmEeiUiS1pdJPQntLndZ/w8lNaHJcUPrMmrja4+5D4T7GEEvgEFKOZ2nxGT0ohBCICjcLsorPyEQIQgAAEdhJAoHciwgACEIDAPAQQ6Hm4c1YIQAACOwkg0DsRYQABCEBgHgKzRXHM013OCoGXBBRl8bKATxBYEIHZojgWxICmHDaB2m99xn9mfhFml4GjQ2xx5PlwFAIQgMBsBBDo2dBzYghAAAJ5Agh0ng9HIQABCMxGAIGeDT0nhgAEIJAngEDn+XAUAhCAwGwEEOjZ0HNiCEAAAnkCjQRazwbTc+l2JtkUmsmhTfi3NMQQPhZIlE/5RAZ8hMBCCDQS6Iu74ePXYXO9VX91zeiobArN5NAm/HsaASN87PQI+W18ggEZCCyKQKMvqpxthocn9y4r6W/0hH5dM+d3v15zJTo7zeRBDm3Cv8UIn/w0S/nYuUQeAssh0Eig9Vjn+8+/3kXkr5/zjXuHd/oGQv8WwSDT1iwS98AR/x4jfDQl9pg/YSKRgcCiCMzwLA671hMLvXVQ61+pcJTsy151aJv0RLX0Ef8pE1sCH0uDN55YGml+BV/Frv1V+xTahCWNVtC2xWG1qxctnxyPSLM3lmQ/r50fnIKrVmHCfx4UfPJ8OAqB5RCYQaB95yUTJZrrVtbJ4roEH/7zlOCT58NRCCyBQKMojvPb4fjSbQ5mkv70ViBHJtLD15UTuZJDm/A
  86. "text/plain": [
  87. "<PIL.Image.Image image mode=RGB size=480x480>"
  88. ]
  89. },
  90. "metadata": {},
  91. "output_type": "display_data"
  92. },
  93. {
  94. "name": "stdout",
  95. "output_type": "stream",
  96. "text": [
  97. "\n",
  98. "\n",
  99. "Computing new shield\n",
  100. "LOG: Starting with explicit model creation...\n",
  101. "Elapsed time is 0.052002668380737305 seconds.\n",
  102. "LOG: Starting with model checking...\n",
  103. "Elapsed time is 0.0015304088592529297 seconds.\n",
  104. "Write to file shielding_files_20240923T084213_9umjkc9e/shield.\n",
  105. "LOG: Starting to translate shield...\n",
  106. "Elapsed time is 0.08207297325134277 seconds.\n"
  107. ]
  108. },
  109. {
  110. "data": {
  111. "image/png": "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
  112. "text/plain": [
  113. "<PIL.Image.Image image mode=RGBA size=480x480>"
  114. ]
  115. },
  116. "metadata": {},
  117. "output_type": "display_data"
  118. },
  119. {
  120. "name": "stdout",
  121. "output_type": "stream",
  122. "text": [
  123. "\n",
  124. "\n",
  125. "Computing new shield\n",
  126. "LOG: Starting with explicit model creation...\n",
  127. "Elapsed time is 0.04890894889831543 seconds.\n",
  128. "LOG: Starting with model checking...\n",
  129. "Elapsed time is 0.0014452934265136719 seconds.\n",
  130. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1205\n",
  131. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1206\n",
  132. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1207\n",
  133. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1208\n",
  134. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1209\n",
  135. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1210\n",
  136. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1211\n",
  137. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1216\n",
  138. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1217\n",
  139. " WARN (PreShield.cpp:50): No shielding action LOG: Starting to translate shield...\n",
  140. "possible with absolute comparison for state with index 1218\n",
  141. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1219\n",
  142. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1220\n",
  143. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1221\n",
  144. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1222\n",
  145. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1227\n",
  146. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1228\n",
  147. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1229\n",
  148. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1230\n",
  149. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1231\n",
  150. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1232\n",
  151. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1233\n",
  152. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1238\n",
  153. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1239\n",
  154. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1240\n",
  155. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1241\n",
  156. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1242\n",
  157. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1243\n",
  158. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1244\n",
  159. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1249\n",
  160. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1250\n",
  161. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1251\n",
  162. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1252\n",
  163. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1253\n",
  164. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1254\n",
  165. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1255\n",
  166. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1261\n",
  167. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1262\n",
  168. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1263\n",
  169. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1264\n",
  170. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1265\n",
  171. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1266\n",
  172. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1273\n",
  173. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1274\n",
  174. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1275\n",
  175. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1276\n",
  176. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1277\n",
  177. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1285\n",
  178. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1286\n",
  179. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1287\n",
  180. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1288\n",
  181. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1297\n",
  182. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1298\n",
  183. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1299\n",
  184. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1316\n",
  185. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1317\n",
  186. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1318\n",
  187. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1319\n",
  188. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1320\n",
  189. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1327\n",
  190. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1328\n",
  191. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1329\n",
  192. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1330\n",
  193. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1331\n",
  194. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1332\n",
  195. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1338\n",
  196. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1339\n",
  197. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1340\n",
  198. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1341\n",
  199. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1342\n",
  200. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1343\n",
  201. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1344\n",
  202. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1349\n",
  203. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1350\n",
  204. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1351\n",
  205. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1352\n",
  206. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1353\n",
  207. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1354\n",
  208. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1355\n",
  209. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1360\n",
  210. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1361\n",
  211. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1362\n",
  212. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1363\n",
  213. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1364\n",
  214. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1365\n",
  215. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1366\n",
  216. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1372\n",
  217. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1373\n",
  218. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1374\n",
  219. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1375\n",
  220. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1376\n",
  221. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1377\n",
  222. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1384\n",
  223. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1385\n",
  224. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1386\n",
  225. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1387\n",
  226. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1388\n",
  227. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1396\n",
  228. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1397\n",
  229. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1398\n",
  230. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1399\n",
  231. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1408\n",
  232. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1409\n",
  233. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1410\n",
  234. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1420\n",
  235. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1421\n",
  236. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1432\n",
  237. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1460\n",
  238. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1461\n",
  239. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1462\n",
  240. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1463\n",
  241. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1464\n",
  242. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1471\n",
  243. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1472\n",
  244. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1473\n",
  245. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1474\n",
  246. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1475\n",
  247. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1476\n",
  248. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1482\n",
  249. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1483\n",
  250. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1484\n",
  251. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1485\n",
  252. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1486\n",
  253. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1487\n",
  254. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1488\n",
  255. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1493\n",
  256. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1494\n",
  257. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1495\n",
  258. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1496\n",
  259. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1497\n",
  260. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1498\n",
  261. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1499\n",
  262. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1504\n",
  263. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1505\n",
  264. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1506\n",
  265. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1507\n",
  266. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1508\n",
  267. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1509\n",
  268. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1510\n",
  269. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1515\n",
  270. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1516\n",
  271. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1517\n",
  272. " WARN (PreShield.cpp:50): No shielding action possibleElapsed time is 0.08375787734985352 seconds.\n",
  273. " with absolute comparison for state with index 1518\n",
  274. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1519\n",
  275. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1520\n",
  276. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1521\n",
  277. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1526\n",
  278. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1527\n",
  279. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1528\n",
  280. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1529\n",
  281. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1530\n",
  282. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1531\n",
  283. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1532\n",
  284. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1537\n",
  285. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1538\n",
  286. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1539\n",
  287. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1540\n",
  288. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1541\n",
  289. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1542\n",
  290. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1543\n",
  291. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1604\n",
  292. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1615\n",
  293. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1616\n",
  294. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1626\n",
  295. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1627\n",
  296. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1628\n",
  297. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1637\n",
  298. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1638\n",
  299. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1639\n",
  300. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1640\n",
  301. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1648\n",
  302. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1649\n",
  303. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1650\n",
  304. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1651\n",
  305. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1652\n",
  306. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1659\n",
  307. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1660\n",
  308. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1661\n",
  309. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1662\n",
  310. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1663\n",
  311. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1664\n",
  312. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1670\n",
  313. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1671\n",
  314. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1672\n",
  315. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1673\n",
  316. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1674\n",
  317. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1675\n",
  318. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1676\n",
  319. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1681\n",
  320. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1682\n",
  321. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1683\n",
  322. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1684\n",
  323. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1685\n",
  324. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1686\n",
  325. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1687\n",
  326. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1693\n",
  327. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1694\n",
  328. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1695\n",
  329. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1696\n",
  330. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1697\n",
  331. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1698\n",
  332. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1705\n",
  333. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1706\n",
  334. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1707\n",
  335. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1708\n",
  336. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1709\n",
  337. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1717\n",
  338. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1718\n",
  339. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1719\n",
  340. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1720\n",
  341. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1729\n",
  342. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1730\n",
  343. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1731\n",
  344. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4689\n",
  345. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4695\n",
  346. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4711\n",
  347. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4718\n",
  348. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4725\n",
  349. "Write to file shielding_files_20240923T084213_5kcmk_lk/shield.\n",
  350. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1205\n",
  351. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1206\n",
  352. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1207\n",
  353. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1208\n",
  354. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1209\n",
  355. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1210\n",
  356. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1211\n",
  357. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1216\n",
  358. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1217\n",
  359. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1218\n",
  360. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1219\n",
  361. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1220\n",
  362. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1221\n",
  363. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1222\n",
  364. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1227\n",
  365. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1228\n",
  366. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1229\n",
  367. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1230\n",
  368. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1231\n",
  369. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1232\n",
  370. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1233\n",
  371. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1238\n",
  372. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1239\n",
  373. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1240\n",
  374. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1241\n",
  375. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1242\n",
  376. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1243\n",
  377. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1244\n",
  378. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1249\n",
  379. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1250\n",
  380. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1251\n",
  381. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1252\n",
  382. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1253\n",
  383. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1254\n",
  384. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1255\n",
  385. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1261\n",
  386. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1262\n",
  387. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1263\n",
  388. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1264\n",
  389. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1265\n",
  390. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1266\n",
  391. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1273\n",
  392. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1274\n",
  393. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1275\n",
  394. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1276\n",
  395. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1277\n",
  396. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1285\n",
  397. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1286\n",
  398. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1287\n",
  399. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1288\n",
  400. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1297\n",
  401. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1298\n",
  402. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1299\n",
  403. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1316\n",
  404. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1317\n",
  405. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1318\n",
  406. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1319\n",
  407. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1320\n",
  408. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1327\n",
  409. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1328\n",
  410. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1329\n",
  411. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1330\n",
  412. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1331\n",
  413. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1332\n",
  414. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1338\n",
  415. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1339\n",
  416. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1340\n",
  417. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1341\n",
  418. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1342\n",
  419. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1343\n",
  420. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1344\n",
  421. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1349\n",
  422. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1350\n",
  423. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1351\n",
  424. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1352\n",
  425. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1353\n",
  426. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1354\n",
  427. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1355\n",
  428. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1360\n",
  429. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1361\n",
  430. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1362\n",
  431. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1363\n",
  432. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1364\n",
  433. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1365\n",
  434. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1366\n",
  435. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1372\n",
  436. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1373\n",
  437. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1374\n",
  438. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1375\n",
  439. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1376\n",
  440. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1377\n",
  441. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1384\n",
  442. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1385\n",
  443. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1386\n",
  444. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1387\n",
  445. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1388\n",
  446. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1396\n",
  447. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1397\n",
  448. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1398\n",
  449. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1399\n",
  450. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1408\n",
  451. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1409\n",
  452. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1410\n",
  453. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1420\n",
  454. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1421\n",
  455. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1432\n",
  456. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1460\n",
  457. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1461\n",
  458. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1462\n",
  459. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1463\n",
  460. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1464\n",
  461. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1471\n",
  462. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1472\n",
  463. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1473\n",
  464. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1474\n",
  465. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1475\n",
  466. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1476\n",
  467. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1482\n",
  468. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1483\n",
  469. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1484\n",
  470. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1485\n",
  471. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1486\n",
  472. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1487\n",
  473. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1488\n",
  474. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1493\n",
  475. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1494\n",
  476. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1495\n",
  477. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1496\n",
  478. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1497\n",
  479. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1498\n",
  480. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1499\n",
  481. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1504\n",
  482. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1505\n",
  483. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1506\n",
  484. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1507\n",
  485. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1508\n",
  486. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1509\n",
  487. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1510\n",
  488. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1515\n",
  489. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1516\n",
  490. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1517\n",
  491. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1518\n",
  492. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1519\n",
  493. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1520\n",
  494. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1521\n",
  495. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1526\n",
  496. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1527\n",
  497. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1528\n",
  498. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1529\n",
  499. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1530\n",
  500. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1531\n",
  501. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1532\n",
  502. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1537\n",
  503. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1538\n",
  504. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1539\n",
  505. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1540\n",
  506. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1541\n",
  507. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1542\n",
  508. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1543\n",
  509. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1604\n",
  510. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1615\n",
  511. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1616\n",
  512. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1626\n",
  513. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1627\n",
  514. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1628\n",
  515. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1637\n",
  516. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1638\n",
  517. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1639\n",
  518. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1640\n",
  519. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1648\n",
  520. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1649\n",
  521. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1650\n",
  522. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1651\n",
  523. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1652\n",
  524. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1659\n",
  525. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1660\n",
  526. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1661\n",
  527. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1662\n",
  528. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1663\n",
  529. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1664\n",
  530. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1670\n",
  531. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1671\n",
  532. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1672\n",
  533. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1673\n",
  534. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1674\n",
  535. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1675\n",
  536. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1676\n",
  537. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1681\n",
  538. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1682\n",
  539. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1683\n",
  540. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1684\n",
  541. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1685\n",
  542. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1686\n",
  543. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1687\n",
  544. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1693\n",
  545. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1694\n",
  546. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1695\n",
  547. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1696\n",
  548. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1697\n",
  549. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1698\n",
  550. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1705\n",
  551. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1706\n",
  552. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1707\n",
  553. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1708\n",
  554. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1709\n",
  555. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1717\n",
  556. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1718\n",
  557. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1719\n",
  558. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1720\n",
  559. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1729\n",
  560. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1730\n",
  561. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1731\n",
  562. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4689\n",
  563. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4695\n",
  564. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4711\n",
  565. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4718\n",
  566. " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4725\n"
  567. ]
  568. },
  569. {
  570. "data": {
  571. "image/png": "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
  572. "text/plain": [
  573. "<PIL.Image.Image image mode=RGBA size=480x480>"
  574. ]
  575. },
  576. "metadata": {},
  577. "output_type": "display_data"
  578. },
  579. {
  580. "name": "stdout",
  581. "output_type": "stream",
  582. "text": [
  583. "Training with shield:\n"
  584. ]
  585. },
  586. {
  587. "data": {
  588. "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAYAAAB91L6VAABj9ElEQVR4Ae29wY4dN7YlGr42ZBQglY0SINiABLUuoIn1Ju9NnPIPuEbqkesLctYjy290P8AzS7M7KfkHyrMayV+gnNWgIU8asCFbgIw0XNC1BTRaKMPNdSJ3Hp6d5ImIfRjcPCcWgUxGMLj3Cq4guQ4jGME3jo+Pf+8YyAAZIANkgAyQgaoM/FtVNIKRATJABsgAGSADKwYowKwIZIAMkAEyQAYcGKAAO5BOSDJABsgAGSADFGDWATJABsgAGSADDgxQgB1IJyQZIANkgAyQAQow6wAZIANkgAyQAQcGKMAOpBOSDJABMkAGyAAFmHWADJABMkAGyIADAxRgB9IJSQbIABkgA2SAAsw6QAbIABkgA2TAgQEKsAPphCQDZIAMkAEyQAFmHSADZIAMkAEy4MAABdiBdEKSATJABsgAGaAAsw6QATJABsgAGXBggALsQDohyQAZIANkgAxQgFkHyAAZIANkgAw4MEABdiCdkGSADJABMkAGKMCsA2SADJABMkAGHBigADuQTkgyQAbIABkgAxRg1gEyQAbIABkgAw4MUIAdSCckGSADZIAMkAEKMOsAGSADZIAMkAEHBijADqQTkgyQATJABsgABZh1gAyQATJABsiAAwMUYAfSCUkGyAAZIANkgALMOkAGyAAZIANkwIEBCrAD6YQkA2SADJABMkABZh0gA2SADJABMuDAAAXYgXRCkgEyQAbIABmgALMOkAEyQAbIABlwYIAC7EA6IckAGSADZIAMvOVNwV+vP/I+BeKTATLgxYBz8//u9TWvkhM3MHB669SVh2vfXes+v3fP7RzcBdit5AQmA2SADAQGTk/9RODatWuLxu9uLbsK8hb0sq8/S08GlsvAsW/Rj3zhu6XjO9O/gqcAt3AVeA5kgAzUZYDiW5dvheYt/up03HYpwG7UE5gMkAEXBii+LrQLKMVXmOg6CvCaC26RATJw6AxQfF2vMMV3k34K8CYf3CMDZOBQGaD4ul5Ziu9F+inAFzlhChkgA4fGAMXX9YpSfNP0NyPAP/xX1z35IX2SuVTkt9gASwfi27gk/7ombd8HX6x/Fzl6/a+ue/V/LqZvS0H+UTaR+Ob434az6zFv8Vk6/q7Xb077ZgT4s6+77qMvu+5ueDF/qFPHceRDfosNsHQgvo1L8j+9zrL+6dbXdc/Cj+KnP4W/8ErukKjiOPKt8g/ZnIlv3Gek+L94RmVSli5+3uUvcxXn8/LWfK6nef70bhgZ/NJ1J897ITi63nUPPg6d2421HzSi+0E8kQfh+h/7eIoN/AJLB+KTf9Y/v/b3/uWue/1bEN/XvbBevtR1N9/pustvr1sqhBdCjTwIl97s46xNEF/dZ+Taf++p7H9v8Vk6ftmrOY+3N46Pj3+fx/U4r/pTlKkGcz8I5oMnm8ILwUQ6Ao49DH/Pg4AjoJFpm5Sg97k3/xN/80dOikv88CH/rH9F2t+jzfanRRZCDHF+8WpTeN8Lae9f6W1f/Np1P4bjEHAE2Hzz3zf7jFz7/+4/5/kS1Vjx+3amL2HtC/7Jh/018/rv/SnK5gRYLoQWQqTrjl/ySqyFGOm5hic2uZj4m0IMnsj/5g8PXXdY/zZ/CIOfwfanBFg41UKMdIx4Y+GVvBKLEP9/Z0KM9CH8OQR4rPjh/OYQ4H3CpwA3NgJGpYwDhBCj26Mb6xFHfDy1vRotBzuM0uJb2Km8Q2nEJ/+sfzO2v4wAS7uEEGP0uxoJn4145VgyDredp7T/0gI8Rfxw/qUFeN/wKcCNC3CykTGRDJCBw2BgQIAnFTKI79RQUoCnih/OtaQA7yP+0gW4mVnQ9x933Y0H/a/XMY0II1PMhB4za1r84ZcxMIClA/HJP+ufX/t79rLr/vEijHZ/1S0zvY+R8WomtMyaHiG+29p/GmV8qkX8xnsfzrl0/GGG2szxVkunhUlUn33d3/KMJ/nE55h6NotXYbY960HDiydpxf7ibeKTf9Y/v/aHSVTfh1nOmFCVe9abejZ8JbyKdBR+jOu3JqRtj23/kn9qvHTx8y7/1OvVUv6mJmFpcY0n/ehjIrggM341SdLx7Fc3vPhY6iJoDOKvJx1pboRL8s/6t1P7i25Ba3GNJ13pY/Ka0v+8txv/pW5BW0Wo1C3ofcVf+i3opgRYRFF39pKOWDp+PbnKYhP7jbctviw2MWa8bfFlsYkx422LL4tNjBlvW3xZbGLMeNviy2ITY8bbFl8Wmxgz3rb4stisMCMBlnPQYivpiEV4L78ddqLbzlb8UgKMc7OIYCkB3ld8CnDDk7DiRpUTXlS8OFhsYvt42+LLYhNjxtsWXxabGDPetviy2MSY8bbFl8Umxoy3Lb4sNjFmvG3xZbGJMeNti6/JNgkBlnOIhXhDeJEhEl/Jj3gqfkkBBv5UES4pwPuITwFuWIBRoRjIABk4YAa2CHC21BnxzebfcqC0AANqigiXFuB9w1+6ADczC3r1y/Vx+kP1ufaDZ7z4GxvwEXzMdgaWDsTvuUktFKC5kn3yz/pXqv2tRrsvw9es/iW1KxNH4luy/mXQTMknJqtyRkvHL8fk/J7emh9iHAJmKX/1TZiBGWrPp0f95J8b4VuwqYCGF89qxnZu1jTsISrIA98ImO2snyETn/yz/vm1P3xs45//O5oBfTl8+Ur3TmfiO0f773uGcv/R1YRuzC0sHd+N+InAzUzC0iKJcmgh1g0Pz4UR4sUZYiEe47P3cFGkkU78zR9C5H/zhx/rX996dmp/Z7egMfKFCOMVJAmrV5FEiIP4zlH/5rgFLeePeEiE57gFvU/4S78F3YwAS6VJieYnH4Tbxs83F1uI3/mLJ17AD14fuhvEGSMaCVpMJV3HxN+8WwB+yD/r32zt70yApR2mhPiLGdv/3AKMcm0T4bkFuHV8CnCjk7BSQjg0E1oLMSrfWOFF3jgQ/6IQk/8wCvv44uMLqTesf5vv5IKXwfanBFi4FCH+b9GIeI76V0OAUaacCNcQ4JbxKcCNCrA0RBHCT+7kOz7JKzE6wq+ebt4+lWNTY+L3Qkz+Wf/0vIlcW5rU/jICvPIdbjvP3f5qCTDKkxLhWgLcKj4FuHEBXjVE/iMDZOAwGcgJcBDfGqGmAKM8WoRrCnCL+EsX4GZeQ6rR2IhBBsjAHjBQSXw9mDjxAI0wl44fUdHEJgW4icvAkyADZGDFwAGLr1zhpYugd/nlOrQQU4BbuAo8BzJABrKflzxEarxFaOn4rdQpCnArV4LnQQaWzMACRr768i5dBL3Lr6+Hx/5bHqBNYeYmgTR1kjwZMnCYDHz3+lpfsP/0K9+1a2fn4HQKi8b/zon0RmApwI1cCJ4GGVgqA6enp25Fh/gB/8jpDGQWNPHrXwCMwL1//PAWdP3rTkQyQAYaYCAWPXTGnoH4ddn35ltKSwEWJhiTATKwGAZi8ZVCe3fKxJcrMW/szXNcOgpwzAa3yQAZOHgGUuIrhfbunIkvV2Ke2JtfXSoKsGaE+2SADBwsA9vEVwrt3UkTX65E2dib11RpKMApVphGBsjAwTEwRnyl0N6dNfHlSpSJvfnMlYICnGOG6WSADBwMA1PEVwrt3WkTX67EbrE3j9vOvhkBxqonWEVlSkB+iw2wdMDyZ6/+j07dvo/8Fhtg6UB8G5fkX9ek7fvgq8X6t/2sdztqEV9B9O68iS9XwhZ78zd01s28B/zZ12EJwW/CaiHXt6+5igJBdO+H/CfP++JNtcEC83/7yyY1z4Io//N/d93lS113850Qv715PN5DJ4b8r173qVNt/vSHrrt9NfbY+yM++Z9al1CLptq0WP82W0O5vV3EV84CnXgJP+Jvakx8G//grfXQjAB/ejes/flLL6offZkWYi281//Y0wshHmsDsQaWDu9fDiOD33pRffpTulPTwnvpzd4LhHisDTpLYOlAfPK/5Pqn20OJ/ZKiSRG0iWCJ6wgfU/nfB/FFud44bmw9YC2yEMz7QTAfPFmPeCG8EFGkI+DYw/D3PAg4QsomO0p+1NvIfy2yIpgvXq1HvBD
  589. "text/plain": [
  590. "<PIL.Image.Image image mode=RGBA size=480x480>"
  591. ]
  592. },
  593. "metadata": {},
  594. "output_type": "display_data"
  595. },
  596. {
  597. "name": "stdout",
  598. "output_type": "stream",
  599. "text": [
  600. "Using cpu device\n",
  601. "Wrapping the env with a `Monitor` wrapper\n",
  602. "Wrapping the env in a DummyVecEnv.\n",
  603. "Wrapping the env in a VecTransposeImage.\n"
  604. ]
  605. },
  606. {
  607. "ename": "AssertionError",
  608. "evalue": "",
  609. "output_type": "error",
  610. "traceback": [
  611. "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
  612. "\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)",
  613. "Cell \u001b[0;32mIn[2], line 58\u001b[0m\n\u001b[1;32m 56\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;18m__name__\u001b[39m \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m__main__\u001b[39m\u001b[38;5;124m'\u001b[39m:\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mStarting the training\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m---> 58\u001b[0m \u001b[43mmain\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
  614. "Cell \u001b[0;32mIn[2], line 51\u001b[0m, in \u001b[0;36mmain\u001b[0;34m()\u001b[0m\n\u001b[1;32m 48\u001b[0m model\u001b[38;5;241m.\u001b[39mset_logger(logger)\n\u001b[1;32m 49\u001b[0m steps \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m20_000\u001b[39m\n\u001b[0;32m---> 51\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m(\u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[1;32m 52\u001b[0m model\u001b[38;5;241m.\u001b[39mlearn(steps,callback\u001b[38;5;241m=\u001b[39m[InfoCallback()])\n",
  615. "\u001b[0;31mAssertionError\u001b[0m: "
  616. ]
  617. }
  618. ],
  619. "source": [
  620. "GRID_TO_PRISM_BINARY=os.getenv(\"M2P_BINARY\")\n",
  621. "\n",
  622. "def mask_fn(env: gym.Env):\n",
  623. " return env.create_action_mask()\n",
  624. "\n",
  625. "def nomask_fn(env: gym.Env):\n",
  626. " return [1.0] * 7\n",
  627. "\n",
  628. "def main():\n",
  629. " env = \"MiniGrid-LavaFaultyS15-1-v0\"\n",
  630. " \n",
  631. " formula = \"Pmax=? [G ! AgentIsOnLava]\"\n",
  632. " value_for_training = 0.0\n",
  633. " shield_comparison = \"absolute\"\n",
  634. " shielding = ShieldingConfig.Training\n",
  635. " \n",
  636. " logger = Logger(\"/tmp\", output_formats=[HumanOutputFormat(sys.stdout)])\n",
  637. " \n",
  638. " env = gym.make(env, render_mode=\"rgb_array\")\n",
  639. " image_env = RGBImgObsWrapper(env, TILE_PIXELS)\n",
  640. " env = RGBImgObsWrapper(env, 8)\n",
  641. " env = ImgObsWrapper(env)\n",
  642. " env = MiniWrapper(env)\n",
  643. "\n",
  644. " \n",
  645. " env.reset()\n",
  646. " Image.fromarray(env.render()).show()\n",
  647. " \n",
  648. " shield_handlers = dict()\n",
  649. " if shield_needed(shielding):\n",
  650. " for value in [0.0, 1.0]: \n",
  651. " shield_handler = MiniGridShieldHandler(GRID_TO_PRISM_BINARY, \"grid.txt\", \"grid.prism\", formula, shield_value=value, shield_comparison=shield_comparison, nocleanup=False, prism_file=None)\n",
  652. " env = MiniGridSbShieldingWrapper(env, shield_handler=shield_handler, create_shield_at_reset=False)\n",
  653. " create_shield_overlay_image(image_env, shield_handler.create_shield())\n",
  654. " shield_handlers[value] = shield_handler\n",
  655. "\n",
  656. "\n",
  657. " if shielding == ShieldingConfig.Training:\n",
  658. " env = MiniGridSbShieldingWrapper(env, shield_handler=shield_handlers[value_for_training], create_shield_at_reset=False)\n",
  659. " env = ActionMasker(env, mask_fn)\n",
  660. " print(\"Training with shield:\")\n",
  661. " create_shield_overlay_image(image_env, shield_handlers[value_for_training].create_shield())\n",
  662. " elif shielding == ShieldingConfig.Disabled:\n",
  663. " env = ActionMasker(env, nomask_fn)\n",
  664. " else:\n",
  665. " assert(False) \n",
  666. " model = MaskablePPO(\"CnnPolicy\", env, verbose=1, device=\"auto\")\n",
  667. " model.set_logger(logger)\n",
  668. " steps = 20_000\n",
  669. "\n",
  670. " assert(False)\n",
  671. " model.learn(steps,callback=[InfoCallback()])\n",
  672. "\n",
  673. "\n",
  674. "\n",
  675. "if __name__ == '__main__':\n",
  676. " print(\"Starting the training\")\n",
  677. " main()"
  678. ]
  679. },
  680. {
  681. "cell_type": "code",
  682. "execution_count": null,
  683. "metadata": {},
  684. "outputs": [],
  685. "source": []
  686. }
  687. ],
  688. "metadata": {
  689. "kernelspec": {
  690. "display_name": "Python 3 (ipykernel)",
  691. "language": "python",
  692. "name": "python3"
  693. },
  694. "language_info": {
  695. "codemirror_mode": {
  696. "name": "ipython",
  697. "version": 3
  698. },
  699. "file_extension": ".py",
  700. "mimetype": "text/x-python",
  701. "name": "python",
  702. "nbconvert_exporter": "python",
  703. "pygments_lexer": "ipython3",
  704. "version": "3.10.12"
  705. }
  706. },
  707. "nbformat": 4,
  708. "nbformat_minor": 4
  709. }