|
|
{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Example usage of Tempestpy" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "vscode": { "languageId": "plaintext" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "pygame 2.6.0 (SDL 2.28.4, Python 3.10.12)\n", "Hello from the pygame community. https://www.pygame.org/contribute.html\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "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", "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", "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", "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", "To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", "2024-09-23 08:42:11.675150: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\n", "error: XDG_RUNTIME_DIR not set in the environment.\n" ] } ], "source": [ "from sb3_contrib import MaskablePPO\n", "from sb3_contrib.common.wrappers import ActionMasker\n", "from stable_baselines3.common.logger import Logger, CSVOutputFormat, TensorBoardOutputFormat, HumanOutputFormat\n", "\n", "import gymnasium as gym\n", "\n", "from minigrid.core.actions import Actions\n", "from minigrid.core.constants import TILE_PIXELS\n", "from minigrid.wrappers import RGBImgObsWrapper, ImgObsWrapper\n", "\n", "import tempfile, datetime, shutil\n", "\n", "import time\n", "import os\n", "\n", "from utils import MiniGridShieldHandler, create_log_dir, ShieldingConfig, MiniWrapper, expname, shield_needed, shielded_evaluation, create_shield_overlay_image\n", "from sb3utils import MiniGridSbShieldingWrapper, parse_sb3_arguments, ImageRecorderCallback, InfoCallback\n", "\n", "import os, sys\n", "from copy import deepcopy\n", "\n", "from PIL import Image" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "vscode": { "languageId": "plaintext" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Starting the training\n" ] }, { "data": { "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAHgAeADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDDooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOzorA1GwuJ9Ukn0nWjBfoi+ZayMJImXtuTqufU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 "image/png": "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 "text/plain": [ "<PIL.Image.Image image mode=RGB size=480x480>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "Computing new shield\n", "LOG: Starting with explicit model creation...\n", "Elapsed time is 0.052002668380737305 seconds.\n", "LOG: Starting with model checking...\n", "Elapsed time is 0.0015304088592529297 seconds.\n", "Write to file shielding_files_20240923T084213_9umjkc9e/shield.\n", "LOG: Starting to translate shield...\n", "Elapsed time is 0.08207297325134277 seconds.\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAYAAAB91L6VAABXFklEQVR4Ae29z47cRvamTY8bMgxYbcMCBBuQoZkGtGl9q9mM5Btwr/RbyVdQs/pWlr9VX4B3li5A5Rto7bySr0Da9WKg3nhhyBIgQ4YNtS1g0AUb/uJN1qmKPBVMklGZjGDyCSCL/+KcQz6M4FtBRpBvHBwc/NGQIAABCEAAAhCYlMB/mzQawSAAAQhAAAIQWBFAgCkIEIAABCAAgQIEEOAC0AkJAQhAAAIQQIApAxCAAAQgAIECBBDgAtAJCQEIQAACEECAKQMQgAAEIACBAgQQ4ALQCQkBCEAAAhBAgCkDEIAABCAAgQIEEOAC0AkJAQhAAAIQQIApAxCAAAQgAIECBBDgAtAJCQEIQAACEECAKQMQgAAEIACBAgQQ4ALQCQkBCEAAAhBAgCkDEIAABCAAgQIEEOAC0AkJAQhAAAIQQIApAxCAAAQgAIECBBDgAtAJCQEIQAACEECAKQMQgAAEIACBAgQQ4ALQCQkBCEAAAhBAgCkDEIAABCAAgQIEEOAC0AkJAQhAAAIQQIApAxCAAAQgAIECBBDgAtAJCQEIQAACEECAKQMQgAAEIACBAgQQ4ALQCQkBCEAAAhBAgCkDEIAABCAAgQIEEOAC0AkJAQhAAAIQQIApAxCAAAQgAIECBBDgAtAJCQEIQAACEECAKQMQgAAEIACBAgQQ4ALQCQkBCEAAAhD4U2kE968clt4F4kMAAqUIFK7+3x1dLnXkxA0EXv6Pl0U5XP7ucvPFrVvF9qG4ABc7cgJDAAKLJ6CL78Fhuf8CDg8OFh2/+R/LLoLcgl72+efoIbBcAgftod8oRMDi2nTq3bC4Ni0Vf+q4NcVDgGs6G+wLBCAwDYFj8bVgU4uQj+eXbb92NfXx/PKu4prfqeNZ3NqmCHBtZ4T9gQAEdkvAia8Fm0oUuuJ0rbf929a0K07X+m3FNT9TxbF4NU8R4JrPDvsGAQhsl0CH+FqQXYtDn/++7bafudM+/33bc+Oa3a79W5y5TBHguZwp9hMCEDgfgR7xNee7Eomhfofms/0dOh3qd2i+oXEt3678mv85ThHgOZ419hkCEBhHYKD4mtNti8VYf2Pz2353Tcf6G5u/K66t37Y/8zv3aTUC/OzfTfPo2Ticyp9jo1g+ET+PJfx9Sdq8LF6Uv7OMjn5rmtf/Obt+0xrlH2QTiW8X/1ScbYlGrp9cO38suX5y7bYV3/vZx+VqBPjzb5rm46+a5mYYktd3Udd25VP+HBvF8on4eSzhP77MUv587Wuap+Gf4ic/hl94L0OfqGq78q3y99kci298zUjxP7tH7ZrzihD2XWRZLwJ/qgXDZzdDy+CXpnn8vBWCG1ea5u4n4eL20ekeqhLdCeKpPEpX/txOx9jIr2L5RHz4U/7K1b8P32mao9+D+B61wvrOhaa5+m7TvPPWaU2V8EqolUfpwpvttNMmiK+/ZnTV/9ZT+q9E9HF608a15xVfc770+MZhH6dvHBwc/FHywPyrKFMV5k4QzLuP1oVXgqn1Stp2L/yeBwFXUiXzNilBb3Ov/yX++j85KZb6xwf+lL+t1L/D9frnRVZCLHF+8XpdeD8I6z682Nq++LVpfgjbJeBKsvnXf61fM7rq//9+ftAcDnwT1hgRHiq+4fq76PiP/1d7zkr9Lf0qyuoE2E6EF0Kt9xd+y2tTL8Ra31XxzKZrSvx1IRYn+K//4+HLDuVv/R9h8emtf06AjakXYq1XizcWXstrUxPi/3ksxFrfF3+MAMvfEBEeKr7yN0aA9zE+AlxZC1iFLE4SQrVub3x02uKIt6fmV63lYKdWWnwLO5W3bx3x4U/522H96xBgq5cSYrV+Vy3h4xavbUtOw23nMfV/rAAr5iYRHiO+8jVWgPctPgJcuQCrwJEgAIE9JdAjwKOOOojv2JQjwIqREuGx4is/OQK8T/GXLsDV9IK+87BpPrrb/veqAtaX1DJVT+ghvabNl/4zVgzF8on48Kf8lat/T181zT9fhNbur75mppfVMl71hLZe0wPEd1P9T0fpXuvF1i93W25ni4/nl7cTpduLj+eXuy3ZEhP4U7xQel6dqD7/pr3lGXfyifcr9WxWQ2E2PetRxYs7acX+4nniw5/yV67+qRPV96GXszpUdT3rTT0bvhiGIt0I/4z7URNWt4fWf8s/dCrReRx+pcRn6fGHnqea81XVCcuLa9zpx28zwRXceGiSrdezX1/x4m2pk+JjEP+005FnYyzhT/k7V/2LbkF7cY07XfltNkzp/9w6H//cW9Cp60fOutxb0DmxUjal4y/9FnRVAmwFxF/sbb2mduH3natybGK/8XyOrxybOGY8n+MrxyaOGc/n+MqxiWPG8zm+cmzimPF8jq8cmzhmPJ/jK8cmjhnP5/jKsVnFjATY9sGLra3X1IT3nbfCQnTbOTc+Ajx8GFR8HrY1jwBX3AkrrlRdwusLQo6N92HLOb5ybCyen+b4yrHxcW05x1eOjcXz0xxfOTY+ri3n+MqxsXh+muMrx8bHteUcX6NtEgJs8WMhXhNeZYjE1/JrOjY+AowAf3Er3EYplKpsARdiQVgIQGBqAhsEuHNXOsS3M/+GDQgwAlxSgKvpBb36z/Vh+kX1XfVHz3j1G5r0Enz1dlYsn4jfskl9KMCzsmX4U/62Vf9Wrd1X4W1Wv1np6phG4rvN8tcRjdUQ2CmBP+3U+wjn6qX84F+hB+bj0PEndO9TL+iPwrtgU0kVL+7VrPmuXtOyl6goj3wrqbezf4ZMfPhT/srVP71s4+f/G/WAfie8+cpfnY7Fdxf1v70y8BcC0xKo5ha0F0lh8ELsK56eCyvFH2eIhXiIz9bDWZHWeuKv/yME//V//Ch/be05V/07vgWtlq9EWEOQLK2GIpkQB/HdRfnjFjS3oEvegq5GgK3SpUTz9l/DbePn6x9biMf8xR0v5EfDh24GcVaLxpIXU1vvp8Rfv1sgPvCn/O2s/h0LsNXDlBB/ucP6jwAjwAiw1b5omhLCvp7QXojlbqjwRqFXs8Q/K8TwD62wT84+vrCyQ/lbH5MrLr31zwmwsTQh/u9Ri3gX5Q8BRoARYKt1iakJ4e3r3Rc+b6YL4YMn67dPfZ6hy8RvhRj+lD/fb6KrDo2qfx0CvPIdbjvvuv4hwAgwAtxVk1kPAQjsN4EuAQ7iO0VCgBHgkgJczTCkKSobMSAAgRkQmEh8Z0CCXdxzAgjwnp9gDg8CsyKA+M7qdLGz5yOAAJ+PH9YQgMC2CCC+2yKJn5kQQIBncqLYTQjsNQHEd69PLweXJlDdOOD0bu5wbVcnkB2GxDUEINAS+O7oclOyEwznoSyBv3/9ddkdCNFLlr8/FT96dgACEFg0gcPDcv8Fl/4e7tLjNwflemHrzcSXL18uWve4BV0UP8EhAAEIQGBqAsefBZg67Jl4CPAZJKyAAAQgAIF9JVCL+IovAryvpYzjggAEIACBNQI1ia92DAFeOz0sQAACEIDAPhKoTXzFGAHex5LGMUEAAhCAwAmBGsVXO4cAn5wiZiAAAQhAYN8I1Cq+4lyNAOurJ/qKypik/Dk2iuWTPn/2+j9+7eZl5c+xUSyfiJ/HEv6+JG1eFq8ay9/mvWYrBPII1Cy+OqJqxgF//k34hOC/mqbvm5/aaYnunZD/8XMtjbfRB+b/8Wlra3+fBlH++f82zTsXmubqu2H6lm05O9VFTPlfH7Xbxtq8/3bTXLu07pf48F9y+VuvDSxB4PwEahdfHWE1AvzZzfDtz19aUf34q7SoeuG98uf2JEmIh9pI4BXLpw/fCS2D31tRffJjWoi98F54s/UiIR5qI7FWLJ+ID/8llz9fH1iGwHkIzEF8dXzVCLA+9v3oYL11a6J6Jwjm3UenLV4Jr0RU65W07d7x9i6bvpa1WrzXL7e3Qa11a6IqcXzx+rTFK+H9IKz78GIb/8WvTfPD8fYum75WMvHhv+Ty19Yk/kLg/ATmIr460moE2LCnhPjTB+1WL7xmIyE2kTYhNps+4TUfNk0J4bc/t1u98JqNhFi/WIjNpk9 "text/plain": [ "<PIL.Image.Image image mode=RGBA size=480x480>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "Computing new shield\n", "LOG: Starting with explicit model creation...\n", "Elapsed time is 0.04890894889831543 seconds.\n", "LOG: Starting with model checking...\n", "Elapsed time is 0.0014452934265136719 seconds.\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1205\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1206\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1207\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1208\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1209\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1210\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1211\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1216\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1217\n", " WARN (PreShield.cpp:50): No shielding action LOG: Starting to translate shield...\n", "possible with absolute comparison for state with index 1218\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1219\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1220\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1221\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1222\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1227\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1228\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1229\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1230\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1231\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1232\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1233\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1238\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1239\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1240\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1241\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1242\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1243\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1244\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1249\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1250\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1251\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1252\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1253\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1254\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1255\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1261\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1262\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1263\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1264\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1265\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1266\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1273\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1274\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1275\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1276\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1277\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1285\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1286\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1287\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1288\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1297\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1298\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1299\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1316\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1317\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1318\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1319\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1320\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1327\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1328\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1329\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1330\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1331\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1332\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1338\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1339\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1340\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1341\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1342\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1343\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1344\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1349\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1350\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1351\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1352\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1353\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1354\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1355\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1360\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1361\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1362\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1363\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1364\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1365\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1366\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1372\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1373\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1374\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1375\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1376\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1377\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1384\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1385\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1386\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1387\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1388\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1396\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1397\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1398\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1399\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1408\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1409\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1410\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1420\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1421\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1432\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1460\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1461\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1462\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1463\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1464\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1471\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1472\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1473\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1474\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1475\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1476\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1482\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1483\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1484\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1485\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1486\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1487\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1488\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1493\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1494\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1495\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1496\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1497\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1498\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1499\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1504\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1505\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1506\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1507\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1508\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1509\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1510\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1515\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1516\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1517\n", " WARN (PreShield.cpp:50): No shielding action possibleElapsed time is 0.08375787734985352 seconds.\n", " with absolute comparison for state with index 1518\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1519\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1520\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1521\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1526\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1527\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1528\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1529\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1530\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1531\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1532\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1537\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1538\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1539\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1540\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1541\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1542\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1543\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1604\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1615\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1616\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1626\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1627\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1628\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1637\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1638\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1639\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1640\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1648\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1649\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1650\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1651\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1652\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1659\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1660\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1661\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1662\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1663\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1664\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1670\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1671\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1672\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1673\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1674\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1675\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1676\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1681\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1682\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1683\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1684\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1685\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1686\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1687\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1693\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1694\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1695\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1696\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1697\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1698\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1705\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1706\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1707\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1708\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1709\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1717\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1718\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1719\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1720\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1729\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1730\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1731\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4689\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4695\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4711\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4718\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4725\n", "Write to file shielding_files_20240923T084213_5kcmk_lk/shield.\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1205\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1206\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1207\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1208\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1209\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1210\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1211\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1216\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1217\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1218\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1219\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1220\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1221\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1222\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1227\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1228\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1229\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1230\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1231\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1232\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1233\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1238\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1239\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1240\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1241\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1242\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1243\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1244\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1249\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1250\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1251\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1252\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1253\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1254\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1255\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1261\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1262\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1263\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1264\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1265\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1266\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1273\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1274\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1275\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1276\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1277\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1285\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1286\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1287\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1288\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1297\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1298\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1299\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1316\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1317\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1318\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1319\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1320\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1327\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1328\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1329\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1330\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1331\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1332\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1338\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1339\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1340\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1341\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1342\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1343\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1344\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1349\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1350\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1351\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1352\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1353\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1354\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1355\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1360\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1361\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1362\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1363\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1364\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1365\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1366\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1372\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1373\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1374\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1375\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1376\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1377\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1384\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1385\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1386\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1387\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1388\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1396\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1397\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1398\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1399\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1408\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1409\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1410\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1420\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1421\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1432\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1460\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1461\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1462\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1463\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1464\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1471\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1472\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1473\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1474\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1475\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1476\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1482\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1483\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1484\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1485\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1486\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1487\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1488\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1493\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1494\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1495\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1496\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1497\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1498\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1499\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1504\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1505\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1506\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1507\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1508\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1509\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1510\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1515\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1516\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1517\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1518\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1519\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1520\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1521\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1526\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1527\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1528\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1529\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1530\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1531\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1532\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1537\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1538\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1539\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1540\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1541\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1542\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1543\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1604\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1615\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1616\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1626\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1627\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1628\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1637\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1638\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1639\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1640\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1648\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1649\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1650\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1651\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1652\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1659\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1660\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1661\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1662\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1663\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1664\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1670\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1671\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1672\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1673\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1674\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1675\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1676\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1681\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1682\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1683\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1684\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1685\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1686\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1687\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1693\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1694\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1695\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1696\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1697\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1698\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1705\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1706\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1707\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1708\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1709\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1717\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1718\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1719\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1720\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1729\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1730\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 1731\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4689\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4695\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4711\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4718\n", " WARN (PreShield.cpp:50): No shielding action possible with absolute comparison for state with index 4725\n" ] }, { "data": { "image/png": "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 "text/plain": [ "<PIL.Image.Image image mode=RGBA size=480x480>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Training with shield:\n" ] }, { "data": { "image/png": "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 "text/plain": [ "<PIL.Image.Image image mode=RGBA size=480x480>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Using cpu device\n", "Wrapping the env with a `Monitor` wrapper\n", "Wrapping the env in a DummyVecEnv.\n", "Wrapping the env in a VecTransposeImage.\n" ] }, { "ename": "AssertionError", "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)", "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", "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", "\u001b[0;31mAssertionError\u001b[0m: " ] } ], "source": [ "GRID_TO_PRISM_BINARY=os.getenv(\"M2P_BINARY\")\n", "\n", "def mask_fn(env: gym.Env):\n", " return env.create_action_mask()\n", "\n", "def nomask_fn(env: gym.Env):\n", " return [1.0] * 7\n", "\n", "def main():\n", " env = \"MiniGrid-LavaFaultyS15-1-v0\"\n", " \n", " formula = \"Pmax=? [G ! AgentIsOnLava]\"\n", " value_for_training = 0.0\n", " shield_comparison = \"absolute\"\n", " shielding = ShieldingConfig.Training\n", " \n", " logger = Logger(\"/tmp\", output_formats=[HumanOutputFormat(sys.stdout)])\n", " \n", " env = gym.make(env, render_mode=\"rgb_array\")\n", " image_env = RGBImgObsWrapper(env, TILE_PIXELS)\n", " env = RGBImgObsWrapper(env, 8)\n", " env = ImgObsWrapper(env)\n", " env = MiniWrapper(env)\n", "\n", " \n", " env.reset()\n", " Image.fromarray(env.render()).show()\n", " \n", " shield_handlers = dict()\n", " if shield_needed(shielding):\n", " for value in [0.0, 1.0]: \n", " 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", " env = MiniGridSbShieldingWrapper(env, shield_handler=shield_handler, create_shield_at_reset=False)\n", " create_shield_overlay_image(image_env, shield_handler.create_shield())\n", " shield_handlers[value] = shield_handler\n", "\n", "\n", " if shielding == ShieldingConfig.Training:\n", " env = MiniGridSbShieldingWrapper(env, shield_handler=shield_handlers[value_for_training], create_shield_at_reset=False)\n", " env = ActionMasker(env, mask_fn)\n", " print(\"Training with shield:\")\n", " create_shield_overlay_image(image_env, shield_handlers[value_for_training].create_shield())\n", " elif shielding == ShieldingConfig.Disabled:\n", " env = ActionMasker(env, nomask_fn)\n", " else:\n", " assert(False) \n", " model = MaskablePPO(\"CnnPolicy\", env, verbose=1, device=\"auto\")\n", " model.set_logger(logger)\n", " steps = 20_000\n", "\n", " assert(False)\n", " model.learn(steps,callback=[InfoCallback()])\n", "\n", "\n", "\n", "if __name__ == '__main__':\n", " print(\"Starting the training\")\n", " main()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 4 }
|