{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "a9d0dadb", "metadata": { "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", "execution": { "iopub.execute_input": "2024-11-27T13:06:30.121624Z", "iopub.status.busy": "2024-11-27T13:06:30.121250Z", "iopub.status.idle": "2024-11-27T13:06:30.970581Z", "shell.execute_reply": "2024-11-27T13:06:30.969438Z" }, "papermill": { "duration": 0.855415, "end_time": "2024-11-27T13:06:30.972819", "exception": false, "start_time": "2024-11-27T13:06:30.117404", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/kaggle/input/dynamic-relationship-expansion-dre/pytorch/organized-chaos/2/dynamic-relationship-expansion-dre\n", "/kaggle/input/arc-prize-2024/arc-agi_training_solutions.json\n", "/kaggle/input/arc-prize-2024/arc-agi_evaluation_solutions.json\n", "/kaggle/input/arc-prize-2024/arc-agi_evaluation_challenges.json\n", "/kaggle/input/arc-prize-2024/sample_submission.json\n", "/kaggle/input/arc-prize-2024/arc-agi_training_challenges.json\n", "/kaggle/input/arc-prize-2024/arc-agi_test_challenges.json\n" ] } ], "source": [ "# This Python 3 environment comes with many helpful analytics libraries installed\n", "# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n", "# For example, here's several helpful packages to load\n", "\n", "import numpy as np # linear algebra\n", "import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n", "\n", "# Input data files are available in the read-only \"../input/\" directory\n", "# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n", "\n", "import os\n", "for dirname, _, filenames in os.walk('/kaggle/input'):\n", " for filename in filenames:\n", " print(os.path.join(dirname, filename))\n", "\n", "# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n", "# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session" ] }, { "cell_type": "code", "execution_count": 2, "id": "9b31f371", "metadata": { "execution": { "iopub.execute_input": "2024-11-27T13:06:30.980234Z", "iopub.status.busy": "2024-11-27T13:06:30.979240Z", "iopub.status.idle": "2024-11-27T13:06:32.064405Z", "shell.execute_reply": "2024-11-27T13:06:32.063267Z" }, "papermill": { "duration": 1.091209, "end_time": "2024-11-27T13:06:32.066540", "exception": false, "start_time": "2024-11-27T13:06:30.975331", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Captured changes for Training Example 0:\n", "Scaled Input:\n", "[[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]]\n", "Scaled Output:\n", "[[1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]]\n", "Detected Changes:\n", "[[0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]]\n", "--------------------------------------------------\n", "Captured changes for Training Example 1:\n", "Scaled Input:\n", "[[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]]\n", "Scaled Output:\n", "[[1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]]\n", "Detected Changes:\n", "[[0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]]\n", "--------------------------------------------------\n", "Captured changes for Training Example 2:\n", "Scaled Input:\n", "[[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]]\n", "Scaled Output:\n", "[[0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]]\n", "Detected Changes:\n", "[[0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]]\n", "--------------------------------------------------\n", "Captured changes for Training Example 3:\n", "Scaled Input:\n", "[[1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]]\n", "Scaled Output:\n", "[[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]]\n", "Detected Changes:\n", "[[0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]]\n", "--------------------------------------------------\n", "Final Cumulative State Change Matrix:\n", "[[0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]]\n", "==================================================\n", "Initial Scaled Test Input:\n", "[[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]]\n", "Final Predicted Output after applying state changes:\n", "[[1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]]\n", "Predicted Output:\n", "[[1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]\n", " [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0]]\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABNIAAAGXCAYAAAB2on2rAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABiLUlEQVR4nO3de3zP9f//8fs29t4cNsaOYU45n2qy5hCybMiHkpByyKF8UFKJvuVYDfmISnwSliKHPuhMyPhUQw4rSkITxUZkYzJsz98ffnt/vO3gNfbe8Xa9XF4XXs/X8/V8P56v1/v9er7fj70OLsYYIwAAAAAAAAA5ci3oAAAAAAAAAICigEQaAAAAAAAAYAGJNAAAAAAAAMACEmkAAAAAAACABSTSAAAAAAAAAAtIpAEAAAAAAAAWkEgDAAAAAAAALCCRBgAAAAAAAFhAIg0AAAAAAACwgEQaAADAVQYMGKDq1avnaZvR0dFycXHR4cOH87RdZFa9enXde++9BR0GABSY6tWra8CAAfb5mJgYubi4KCYmpsBiuta1MQJFCYk0lGguLi6WprwYdM6fP6+JEydabitjwPvwww9v+rXzyiuvvKI1a9YUdBgAioBDhw7pscceU82aNeXh4SEvLy+1atVKs2fP1t9//13Q4TlNYTxO7tmzRw888ICCg4Pl4eGhW265Rffcc4/eeOMNh3o3G/tPP/2kiRMnOi1ZmJiYqGeeeUb16tVTmTJlVLZsWYWEhOill17SmTNnnPKaAJBbGX84yZg8PDxUp04djRgxQomJiQUdXq58/vnnmjhxYkGHoZSUFE2ZMkVNmjRRmTJl5O3trTZt2mjx4sUyxtxwu/nZv9z+FkThVqqgAwAK0nvvvecwv3jxYq1fvz5Tef369W/6tc6fP69JkyZJktq1a3fT7RWEV155RQ888IC6d+9e0KEAKMQ+++wz9ezZUzabTf369VOjRo108eJFff3113r22Wf1448/6u233y7oMJ0iu+PkI488ot69e8tms+VrPN9++63at2+vatWqaciQIQoICNDRo0e1detWzZ49WyNHjrxu7Fb99NNPmjRpktq1a5fnZ/R999136ty5s86dO6eHH35YISEhkqQdO3Zo6tSp2rJli7788ss8fU0AuBmTJ09WjRo1dOHCBX399deaO3euPv/8c+3du1dlypTJ11juuusu/f3333J3d8/Vep9//rnmzJlToMm0xMREdejQQfv27VPv3r01YsQIXbhwQf/5z3/Uv39/ff7551qyZInc3Nxy3XZ+9q84/BbE/5BIQ4n28MMPO8xv3bpV69evz1QOALAmPj5evXv3VnBwsL766isFBgbalw0fPlwHDx7UZ599VoARFgw3N7cb+pJ/s15++WV5e3vru+++U4UKFRyWnThxIt/juRFnzpzRfffdJzc3N+3evVv16tVzWP7yyy9r/vz5BRQdAGStU6dOat68uSRp8ODBqlSpkmbOnKmPPvpIffr0yXKdlJQUlS1bNs9jcXV1lYeHR563mx/69++vffv2afXq1frHP/5hL3/iiSf07LPPasaMGbrtttv03HPPFWCUKGm4tBO4jvT0dM2aNUsNGzaUh4eH/P399dhjj+mvv/5yqLdjxw5FRESocuXK8vT0VI0aNfToo49Kkg4fPixfX19J0qRJk+yneuf2rx8TJ06Ui4uLDh48qAEDBqhChQry9vbWwIEDdf78eYe6Li4uGjFihJYsWaK6devKw8NDISEh2rJli0O97O4FlPFaV7eXkpKid9991x4/9zUAcK3p06fr3LlzWrBggUMSLUPt2rX15JNPSrpybHRxcVF0dHSmetceIzOOSb/88osefvhheXt7y9fXVy+++KKMMTp69Ki6desmLy8vBQQE6F//+pdDe9ndo8zqfWNmzJihli1bqlKlSvL09FRISEimS+9zOk5e+/r33nuvatasmeVrhYWF2X98ZXj//fcVEhIiT09P+fj4qHfv3jp69GiOMUtXLrFt2LBhpiSaJPn5+VmK/bffftM///lP1a1bV56enqpUqZJ69uzpsC2jo6PVs2dPSVL79u2zvDXCF198oTZt2qhs2bIqX768unTpoh9//PG6ffj3v/+tP/74QzNnzsyURJMkf39/vfDCC5nKv/76a7Vo0UIeHh6qWbOmFi9e7LD89OnTeuaZZ9S4cWOVK1dOXl5e6tSpk77//nuHehnvkRUrVujll19WlSpV5OHhoQ4dOujgwYOZXnfOnDmqWbOmPD091aJFC/33v/9Vu3btMp2BkJqaqgkTJqh27dqy2WyqWrWqxowZo9TUVId669evV+vWrVWhQgWVK1dOdevW1fPPP3/d7QagcLn77rslXfmDk3TlO3i5cuV06NAhde7cWeXLl1ffvn0lWf/9YYzRSy+9pCpVqqhMmTJq3759lsfV7Ma6bdu2qXPnzqpYsaLKli2rJk2aaPbs2fb45syZI8nxdjgZ8jrGrGzdulXr1q3TgAEDHJJoGaKionTrrbdq2rRp9ttGZNfXa79z5NS/jLozZszQa6+9puDgYHl6eqpt27bau3evQ7tZHd8z2s/4jZVXvwVReHBGGnAdjz32mKKjozVw4EA98cQTio+P15tvvqndu3frm2++UenSpXXixAl17NhRvr6+Gjt2rCpUqKDDhw9r1apVkiRfX1/NnTtXw4YN03333af7779fktSkSZMbiunBBx9UjRo1FBUVpV27dumdd96Rn5+fpk2b5lBv8+bNWr58uZ544gnZbDa99dZbioyM1Pbt29WoUaNcveZ7772nwYMHq0WLFho6dKgkqVatWjcUP4Di65NPPlHNmjXVsmVLp7Tfq1cv1a9fX1OnTtVnn32ml156ST4+Pvr3v/+tu+++W9OmTdOSJUv0zDPP6I477tBdd92VJ687e/Zs/eMf/1Dfvn118eJFLVu2TD179tSnn36qLl26SMrdcbJXr17q16+fvvvuO91xxx328t9++01bt27Vq6++ai97+eWX9eKLL+rBBx/U4MGDdfLkSb3xxhu66667tHv37iyTZBmCg4MVGxurvXv35njczyn27777Tt9++6169+6tKlWq6PDhw5o7d67atWunn376SWXKlNFdd92lJ554Qq+//rqef/55+y0RMv5977331L9/f0VERGjatGk6f/685s6dq9atW2v37t05Xgr68ccfy9PTUw888EC2da518OBBPfDAAxo0aJD69++vhQsXasCAAQoJCVHDhg0lSb/++qvWrFmjnj17qkaNGkpMTNS///1vtW3bVj/99JOCgoIc2pw6dapcXV31zDPPKCkpSdOnT1ffvn21bds2e525c+dqxIgRatOmjZ566ikdPnxY3bt3V8WKFVWlShV7vfT0dP3jH//Q119/raFDh6p+/fras2ePXnvtNf3yyy/2e9X9+OOPuvfee9WkSRNNnjxZNptNBw8e1DfffGN5WwAoHA4dOiRJqlSpkr3s8uXLioiIUOvWrTVjxgz7JZ9Wfn9I0vjx4/XSSy+pc+fO6ty5s3bt2qWOHTvq4sWL141n/fr1uvfeexUYGKgnn3xSAQEB2rdvnz799FM9+eST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vBQUFJTpRrzZuZHjT1bHPyvHxJs51v33v//VP/7xD91111166623FBgYqNKlS2vRokVaunTpddfPTteuXVWmTBmtWLFCLVu21IoVK+Tq6mq/ab90ZRxycXHRF198kWU/czO+uLu764477tAdd9yhOnXqaODAgVq5cqUmTJiQ43ojR47UokWLNGrUKIWFhcnb21suLi7q3bu3pbOkMuq89957Wf4B5+qzt7JSr149xcXF6eLFiw5nhOXEynvilVde0YsvvqhHH31UU6ZMkY+Pj1xdXTVq1Kgs+5WXY296eroaN26smTNnZrm8atWqkq6cDbhlyxZt2rRJn332mdauXavly5fr7rvv1pdfflkgT4IFYE2LFi0yPTjmWlefGZvB6u+PgpRfMdavX19r1qzRDz/8kO09T3/44QdJsv9RKL9/27i4uGQ5DvBbqngjkQbkoFatWtqwYYNatWrlcGlLdu68807deeedevnll7V06VL17dtXy5Yt0+DBg2/qrIUblXEWwNV++eUXlSlTxj7AVaxYUWfOnMlUL+MvSFcriD4AKFruvfdevf3224qNjVVYWFiOdTP+Gn3tMSir48/NupnX+s9//iMPDw+tW7fO4SzjRYsWZaqbm+Nk2bJlde+992rlypWaOXOmli9frjZt2jjc5L5WrVoyxqhGjRqqU6eO5bavJ+PH3fHjx68b+4cffqj+/fs7PAn1woULmbZldutnPLTAz88vVzeCztC1a1fFxsbqP//5j/r06ZPr9bPz4Ycfqn379lqwYIFD+ZkzZzKd4WhFcHCwpCsPOmjfvr29/PLlyzp8+LDDTaVr1aql77//Xh06dLjue8bV1VUdOnRQhw4dNHPmTL3yyiv6v//7P23atOmGtieAws3q74+MY86BAwccngJ98uTJTE/OzOo1JGnv3r05HkdyOq47O0bpyneKqKgoLV68OMtEWlpampYuXaqKFSuqVatWknI33l/v+Jvdb6mrzzKuWLFilreSuPb1+B1VvHBOOJCDBx98UGlpaZoyZUqmZZcvX7YfoP/6669Mf4lo1qyZJNkvAcp4Ck9WSStniY2NdbjPy9GjR/XRRx+pY8eO9r9i16pVS0lJSfa/5khXflitXr06U3tly5bN1/gBFD1jxoxR2bJlNXjwYCUmJmZafujQIc2ePVvSlTPYKleurC1btjjUeeutt/I8rowfDVe/Vlpamt5+++3rruvm5iYXFxeHvy4fPnzY/mTFq+X2ONmrVy8dO3ZM77zzjr7//nv16tXLYfn9998vNzc3TZo0KdM4Y4y57uWrmzZtyvIv5Rn3d6lbt+51Y3dzc8vUxhtvvJHpr+1ly5aVlHmci4iIkJeXl1555ZUs7yN68uTJHPvw+OOPKzAwUE8//bR++eWXTMtPnDihl156Kcc2spJVv1auXKk//vgj121JV5KTlSpV0vz583X58mV7+ZIlSzL9YHzwwQf1xx9/aP78+Zna+fvvv5WSkiJJOn36dKbl136/AFC8WP39ER4ertKlS+uNN95wOJZdfXuA7Nx+++2qUaOGZs2alemYfXVb2R3X8yNGSWrZsqXCw8O1aNEiffrpp5mW/9///Z9++eUXjRkzxp7QCw4Olpubm6XvFtn1L8OaNWscxoTt27dr27Zt6tSpk72sVq1a+vnnnx3Gsu+//z7T05UL4rcgnIcz0oActG3bVo899piioqIUFxenjh07qnTp0jpw4IBWrlyp2bNn64EHHtC7776rt956S/fdd59q1aqls2fPav78+fLy8lLnzp0lXbk8o0GDBlq+fLnq1KkjHx8fNWrU6IbvTWBFo0aNFBERoSeeeEI2m80+gEyaNMlep3fv3nruued033336YknntD58+c1d+5c1alTJ9PNlkNCQrRhwwbNnDlTQUFBqlGjhkJDQ50WP4Cip1atWlq6dKl69eql+vXrq1+/fmrUqJEuXryob7/9VitXrtSAAQPs9QcPHqypU6dq8ODBat68ubZs2ZJlsuRmNWzYUHfeeafGjRun06dPy8fHR8uWLXNIeGSnS5cumjlzpiIjI/XQQw/pxIkTmjNnjmrXru3wRwgp98fJzp07q3z58nrmmWfk5uamHj16OCyvVauWXnrpJY0bN06HDx9W9+7dVb58ecXHx2v16tUaOnSonnnmmWzbHzlypM6fP6/77rtP9erVs++H5cuXq3r16ho4cOB1Y7/33nv13nvvydvbWw0aNFBsbKw2bNiQ6T5izZo1k5ubm6ZNm6akpCTZbDbdfffd8vPz09y5c/XII4/o9ttvV+/eveXr66sjR47os88+U6tWrfTmm29m24eKFStq9erV6ty5s5o1a6aHH37Y/iCdXbt26YMPPrju2Y9ZuffeezV58mQNHDhQLVu21J49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5OPj41AeExMjPz8/1a1bV8OGDdOpU6fyPc5z584pODhYVatWVbdu3Rzea4V5my5YsEC9e/dW2bJlHcrzcpveqOu9V/Oi/86Qnp6us2fPZnqfHjhwQEFBQapZs6b69u2rI0eOFFCEUrNmzRQYGKh77rlH33zzjb28sG7T/FKS+l+Y3o/O5qxjcGFUGI7deSXjVhgZx9KdO3fq0qVLDvuxXr16qlatWpHdj9f2MUNO33NR9JWUsYZxhnGmsGOcKRnjTKnrVylaEhISHC4nkqRSpUrJx8cn0/16rvbQQw8pODhYQUFB+uGHH/Tcc89p//79WrVqlb3dq5NokuzzObXrjFiv9ueff2rKlCmZLgedPHmy7r77bpUpU0Zffvml/vnPf+rcuXN64oknLLWZlpaWZX9//vnnbPuSVf2MfmT8m1OdG3EjsV7rueeeU1BQkMPBLTIyUvfff79q1KihQ4cO6fnnn1enTp0UGxsrNze3fImzbt26WrhwoZo0aaKkpCTNmDFDLVu21I8//qgqVaoU2m26fft27d27VwsWLHAoz+tteqOye68mJyfr77//1l9//XXT7ylnmDFjhs6dO6cHH3zQXhYaGqro6GjVrVtXx48f16RJk9SmTRvt3btX5cuXz7fYAgMDNW/ePDVv3lypqal655131K5dO23btk233357nnxOi7KS0v/C8n7ML846Bhc2heXYnRfS09M1atQotWrVSo0aNZJ0ZT+6u7urQoUKDnWL6n7Mqo/S9b/nougrCWMN44zs80Xx+JQdxpmihXHmiiKTSBs7dqymTZuWY519+/bdcPtXJ6IaN26swMBAdejQQYcOHVKtWrVy1ZazY82QnJysLl26qEGDBpo4caLDshdffNH+/9tuu00pKSl69dVXLSXSSpKpU6dq2bJliomJcbiRf+/eve3/b9y4sZo0aaJatWopJiZGHTp0yJfYwsLCFBYWZp9v2bKl6tevr3//+9+aMmVKvsRwIxYsWKDGjRurRYsWDuWFYZsWVUuXLtWkSZP00UcfOSTfO3XqZP9/kyZNFBoaquDgYK1YsSLL+yY6S926dVW3bl37fMuWLXXo0CG99tpreu+99/ItDhSswvJ+RN4qTsfu4cOHa+/evUX+nko5ya6Pefk9FygojDPFE+NM0cI4c0WRubTz6aef1r59+3KcatasqYCAgEw31Lx8+bJOnz6tgIAAy68XGhoqSTp48KAkKSAgINOTNTLmr203P2I9e/asIiMjVb58ea1evVqlS5e+bn9+//13paamXrfvlStXlpubW5b9zS6u7LZPRv2Mf3PTphU3EmuGGTNmaOrUqfryyy/VpEmTHOvWrFlTlStXtr8f8jPODKVLl9Ztt93m8J7MaONG28zrWFNSUrRs2TJLX2ZudpveqOzeq15eXvL09MyTfZWXli1bpsGDB2vFihWZLkm9VoUKFVSnTp1836ZZadGihT2OwrZN81tJ7X9hej86g7OOwYVdQR27b9aIESP06aefatOmTapSpYq9PCAgQBcvXtSZM2cc6hfF/ZhdH7Ny7fdcFH0lcaxhnCmeGGcKL8aZ/ykyiTRfX1/Vq1cvx8nd3V1hYWE6c+aMdu7caV/3q6++Unp6un1nWhEXFyfpyiVL0pWzg/bs2eOQ+Fq/fr28vLzUoEGDfI01OTlZHTt2lLu7uz7++GOHM6ly6k/FihVls9muW9fd3V0hISHauHGjvSw9PV0bN250OEPqamFhYQ71pSvbJ6N+jRo1FBAQ4FAnOTlZ27Zty7ZNK24kVunKE3CmTJmitWvXOtyjLju///67Tp06ZX8/5FecV0tLS9OePXvsMRS2bSpJK1euVGpqqh5++OHrvs7NbtMbdb33al7sq7zywQcfaODAgfrggw/UpUuX69Y/d+6cDh06lO/bNCtxcXH2OArTNi0IJbX/hen96AzOOgYXdgV17L5RxhiNGDFCq1ev1ldffaUaNWo4LA8JCVHp0qUd9uP+/ft15MiRIrMfr9fHrFz7PRdFX0kcaxhniifGmcKHcSYLBfqoAyeJjIw0t912m9m2bZv5+uuvza233mr69OljX/7777+bunXrmm3bthljjDl48KCZPHmy2bFjh4mPjzcfffSRqVmzprnrrrvs61y+fNk0atTIdOzY0cTFxZm1a9caX19fM27cuHyNNSkpyYSGhprGjRubgwcPmuPHj9uny5cvG2OM+fjjj838+fPNnj17zIEDB8xbb71lypQpY8aPH285rmXLlhmbzWaio6PNTz/9ZIYOHWoqVKhgf2rpI488YsaOHWuv/80335hSpUqZGTNmmH379pkJEyaY0qVLmz179tjrTJ061VSoUMF89NFH5ocffjDdunUzNWrUMH///fdNbcPcxjp16lTj7u5uPvzwQ4ftd/bsWWOMMWfPnjXPPPOMiY2NNfHx8WbDhg3m9ttvN7feequ5cOFCvsU5adIks27dOnPo0CGzc+dO07t3b+Ph4WF+/PFHh74Uhm2aoXXr1qZXr16Zyp21TTPa3r17t9m9e7eRZGbOnGl2795tfvvtN2OMMWPHjjWPPPKIvf6vv/5qypQpY5599lmzb98+M2fOHOPm5mbWrl1ruf/5EeeSJUtMqVKlzJw5cxzep2fOnLHXefrpp01MTIyJj48333zzjQkPDzeVK1c2J06cuOE4byTW1157zaxZs8YcOHDA7Nmzxzz55JPG1dXVbNiwwV7HGdu0KCkJ/XfW+7EgXe+z4KxjcH7KqY/OPHbnl2HDhhlvb28TExPjcCw9f/68vc7jjz9uqlWrZr766iuzY8cOExYWZsLCwgow6ty5Xh+tfM9F8VDcxxrGGcaZwohxpmSOM8UykXbq1CnTp08fU65cOePl5WUGDhxoT5IYY0x8fLyRZDZt2mSMMebIkSPmrrvuMj4+PsZms5natWubZ5991iQlJTm0e/jwYdOpUyfj6elpKleubJ5++mlz6dKlfI1106ZNRlKWU3x8vDHGmC+++MI0a9bMlCtXzpQtW9Y0bdrUzJs3z6SlpeUqtjfeeMNUq1bNuLu7mxYtWpitW7fal7Vt29b079/fof6KFStMnTp1jLu7u2nYsKH57LPPHJanp6ebF1980fj7+xubzWY6dOhg9u/fn6uY8iLW4ODgLLffhAkTjDHGnD9/3nTs2NH4+vqa0qVLm+DgYDNkyJA8+RKSmzhHjRplr+vv7286d+5sdu3a5dBeYdmmxhjz888/G0nmyy+/zNSWM7dpdp+JjPj69+9v2rZtm2mdZs2aGXd3d1OzZk2zaNGiTO3m1P/8iLNt27Y51jfGmF69epnAwEDj7u5ubrnlFtOrVy9z8ODBm4rzRmKdNm2aqVWrlvHw8DA+Pj6mXbt25quvvsrUbl5v06KmuPffWe/HgnS9z4Izj8H5Jac+OvPYnV+y+8509XH/77//Nv/85z9NxYoVTZkyZcx9991njh8/XnBB59L1+mj1ey6Kh+I81jDOMM4URowzJXOccTHGmFydwgYAAAAAAACUQEXmHmkAAAAAAABAQSKRBgAAAAAAAFhAIg0AAAAAAACwgEQaAAAAAAAAYAGJNAAAAAAAAMACEmkAAAAAAACABSTSAAAAAAAAAAtIpAEAAAAAAAAWkEgDAAAAAAAALCCRBgAAAAAAAFhAIg0AAAAAAACw4P8BTiqkVbFwGw0AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from scipy.ndimage import zoom\n", "\n", "TARGET_SIZE = (30, 30) # Define the target size for consistent scaling\n", "\n", "# Function to scale an input to the target size\n", "def scale_to_target(matrix):\n", " scaling_factor = (TARGET_SIZE[0] / matrix.shape[0], TARGET_SIZE[1] / matrix.shape[1])\n", " return zoom(matrix, scaling_factor, order=0)\n", "\n", "# Function to capture cumulative state changes from training data\n", "def capture_state_changes(train_inputs, train_outputs):\n", " # Initialize the state change matrix as a neutral matrix (zeros)\n", " state_change_matrix = np.zeros(TARGET_SIZE, dtype=int)\n", " \n", " # Iterate through each pair of scaled training inputs and outputs\n", " for i, (input_matrix, output_matrix) in enumerate(zip(train_inputs, train_outputs)):\n", " # Scale input and output to the target size\n", " scaled_input = scale_to_target(input_matrix)\n", " scaled_output = scale_to_target(output_matrix)\n", " \n", " # Compute the state changes (where input and output differ)\n", " changes = (scaled_output != scaled_input).astype(int)\n", " \n", " # Accumulate these changes into the state change matrix\n", " state_change_matrix += changes\n", " \n", " print(f\"Captured changes for Training Example {i}:\")\n", " print(f\"Scaled Input:\\n{scaled_input}\")\n", " print(f\"Scaled Output:\\n{scaled_output}\")\n", " print(f\"Detected Changes:\\n{changes}\")\n", " print(\"-\" * 50)\n", " \n", " # Since multiple transformations may overlap, apply modulo 2 to only capture the final state\n", " state_change_matrix %= 2 # Ensures we're left with 0 or 1 states\n", " \n", " print(\"Final Cumulative State Change Matrix:\")\n", " print(state_change_matrix)\n", " print(\"=\" * 50)\n", " \n", " return state_change_matrix\n", "\n", "# Function to apply the cumulative state change matrix to a test input\n", "def apply_state_changes(test_input, state_change_matrix):\n", " # Scale test input to the target size\n", " scaled_test_input = scale_to_target(test_input)\n", " \n", " print(\"Initial Scaled Test Input:\")\n", " print(scaled_test_input)\n", " \n", " # Apply the cumulative state change matrix\n", " final_output = (scaled_test_input + state_change_matrix) % 2 # Flip based on state changes\n", " \n", " print(\"Final Predicted Output after applying state changes:\")\n", " print(final_output)\n", " \n", " return final_output\n", "\n", "# Sample task data for testing\n", "train_inputs = [\n", " np.array([[1, 1], [0, 0]]),\n", " np.array([[1, 1, 0], [0, 1, 1], [1, 0, 1]]),\n", " np.array([[0, 1], [1, 0]]),\n", " np.array([[1, 0, 0], [0, 1, 1]])\n", "]\n", "\n", "train_outputs = [\n", " np.array([[1, 0, 0, 1], [0, 1, 1, 0], [1, 0, 0, 1], [0, 1, 1, 0]]),\n", " np.array([[1, 0, 1], [0, 0, 0], [1, 0, 1]]),\n", " np.array([[0, 1, 0], [1, 0, 1], [0, 1, 0]]),\n", " np.array([[1, 1, 1, 1], [0, 0, 1, 1], [1, 1, 0, 0]])\n", "]\n", "\n", "test_input = np.array([[1, 1], [0, 1]])\n", "\n", "# Capture state changes from training data\n", "state_change_matrix = capture_state_changes(train_inputs, train_outputs)\n", "\n", "# Apply state changes to the test input\n", "predicted_output = apply_state_changes(test_input, state_change_matrix)\n", "\n", "# Display the final predicted output\n", "print(\"Predicted Output:\")\n", "print(predicted_output)\n", "\n", "# Visualize the transformation sequence\n", "fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n", "axes[0].imshow(test_input, cmap='viridis')\n", "axes[0].set_title(\"Test Input\")\n", "\n", "axes[1].imshow(state_change_matrix, cmap='viridis')\n", "axes[1].set_title(\"Cumulative State Changes\")\n", "\n", "axes[2].imshow(predicted_output, cmap='viridis')\n", "axes[2].set_title(\"Predicted Output\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 3, "id": "f75a4a23", "metadata": { "execution": { "iopub.execute_input": "2024-11-27T13:06:32.075519Z", "iopub.status.busy": "2024-11-27T13:06:32.074983Z", "iopub.status.idle": "2024-11-27T13:06:32.583378Z", "shell.execute_reply": "2024-11-27T13:06:32.582191Z" }, "papermill": { "duration": 0.515397, "end_time": "2024-11-27T13:06:32.585520", "exception": false, "start_time": "2024-11-27T13:06:32.070123", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Captured changes for Training Example 0:\n", "Scaled Input:\n", "[[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]]\n", "Scaled Output:\n", "[[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]]\n", "Detected Changes:\n", "[[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]]\n", "--------------------------------------------------\n", "Captured changes for Training Example 1:\n", "Scaled Input:\n", "[[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1]]\n", "Scaled Output:\n", "[[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]]\n", "Detected Changes:\n", "[[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1]]\n", "--------------------------------------------------\n", "Final Cumulative State Change Matrix with Colors:\n", "[[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]]\n", "==================================================\n", "Initial Scaled Test Input:\n", "[[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1]\n", " [1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]]\n", "Final Predicted Output after applying state changes with colors:\n", "[[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 1 1 1]\n", " [1 1 1 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]]\n", "Predicted Output:\n", "[[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 1 1 1]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 1 1 1]\n", " [1 1 1 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [1 1 1 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [0 0 0 1 1 1 1 1 0 0 0 0 0 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]\n", " [1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]]\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABLEAAAGXCAYAAABMcsLYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJv0lEQVR4nO3de1iUdf7/8ReCDKiAiiiwIiLm+VR4iDzkgUTNUivTsg0ttVrU1HUr+m6ppaHVmtYaVtvqWpqHNmyz0lXXw1ZiHks7eAqTMsV1FRQTFT6/P/wx6wgog8DcMzwf13VfOvfcc9/vm4H7Pfdr7oOXMcYIAAAAAAAAsLAqri4AAAAAAAAAuBZCLAAAAAAAAFgeIRYAAAAAAAAsjxALAAAAAAAAlkeIBQAAAAAAAMsjxAIAAAAAAIDlEWIBAAAAAADA8gixAAAAAAAAYHmEWAAAAAAAALA8QiwAAGAJw4cPV8OGDct0ngsWLJCXl5cOHTpUpvNFYQ0bNlT//v1dXQYAuFTDhg01fPhw++MNGzbIy8tLGzZscFlNV7qyRsCdEGLBZby8vEo0lMUG/+zZs5oyZUqJ51XQbN5///3rXnZZeeGFF7RixQpXlwHA4g4ePKhHHnlEjRo1kp+fnwIDA9W5c2fNmTNHv/76q6vLKzdW3Ebu3r1b99xzjyIjI+Xn56ff/OY3uu222/Taa685THe9tX/77beaMmVKuQV1x44d06RJk9SsWTNVq1ZN1atXV0xMjKZNm6ZTp06VyzIBoDQKvrgoGPz8/NSkSRONGTNGx44dc3V5Tvnkk080ZcoUV5ehnJwcPf/882rTpo2qVaumoKAgde3aVQsXLpQxptTzrcj1c3ZfENbm4+oCUHm98847Do8XLlyoNWvWFBrfvHnz617W2bNnNXXqVElS9+7dr3t+rvDCCy/onnvu0cCBA11dCgCL+vjjjzV48GDZbDY9+OCDatWqlc6fP6/PPvtMf/jDH/TNN9/ozTffdHWZ5aK4beRvf/tbDR06VDabrULr+eKLL9SjRw81aNBAo0aNUmhoqDIyMpSWlqY5c+Zo7Nix16y9pL799ltNnTpV3bt3L/Mj2bZu3ap+/frpzJkzeuCBBxQTEyNJ2rZtm2bMmKFNmzbpn//8Z5kuEwCu13PPPaeoqCidO3dOn332mVJSUvTJJ59oz549qlatWoXW0q1bN/3666/y9fV16nWffPKJ5s6d69Ig69ixY+rVq5e+++47DR06VGPGjNG5c+f097//XQkJCfrkk0+0aNEieXt7Oz3vilw/T9gXxP8QYsFlHnjgAYfHaWlpWrNmTaHxAIBrS09P19ChQxUZGal//etfCgsLsz+XmJioAwcO6OOPP3Zhha7h7e1dqg/X12v69OkKCgrS1q1bVbNmTYfnMjMzK7ye0jh16pQGDRokb29v7dy5U82aNXN4fvr06XrrrbdcVB0AFK9v375q3769JGnkyJEKDg7WrFmz9OGHH+q+++4r8jU5OTmqXr16mddSpUoV+fn5lfl8K0JCQoK+++47paam6s4777SPHzdunP7whz/o5Zdf1o033qgnn3zShVWisuF0Qlhafn6+Zs+erZYtW8rPz0/16tXTI488opMnTzpMt23bNsXHx6tOnTry9/dXVFSUHnroIUnSoUOHFBISIkmaOnWq/fBiZ1P/KVOmyMvLSwcOHNDw4cNVs2ZNBQUFacSIETp79qzDtF5eXhozZowWLVqkpk2bys/PTzExMdq0aZPDdMVd/6VgWZfPLycnR3/729/s9XMeO4DLvfjiizpz5ozefvtthwCrQOPGjfX4449LurRd9PLy0oIFCwpNd+X2sWB7tG/fPj3wwAMKCgpSSEiInnnmGRljlJGRoQEDBigwMFChoaH605/+5DC/4q5JVdJrhLz88su65ZZbFBwcLH9/f8XExBQ61ftq28grl9+/f381atSoyGXFxsbad3oKvPvuu4qJiZG/v79q166toUOHKiMj46o1S5dO62zZsmWhAEuS6tatW6Laf/zxR/3ud79T06ZN5e/vr+DgYA0ePNjhZ7lgwQINHjxYktSjR48iT8X/9NNP1bVrV1WvXl0BAQG6/fbb9c0331xzHd544w39/PPPmjVrVqEAS5Lq1aunP/7xj4XGf/bZZ+rYsaP8/PzUqFEjLVy40OH5//73v5o0aZJat26tGjVqKDAwUH379tVXX33lMF3B78iyZcs0ffp01a9fX35+furVq5cOHDhQaLlz585Vo0aN5O/vr44dO+rf//63unfvXuhb99zcXE2ePFmNGzeWzWZTRESEnnjiCeXm5jpMt2bNGnXp0kU1a9ZUjRo11LRpUz399NPX/LkBsJ6ePXtKuvSFj3TpM3iNGjV08OBB9evXTwEBARo2bJikku9/GGM0bdo01a9fX9WqVVOPHj2K3LYW1++2bNmifv36qVatWqpevbratGmjOXPm2OubO3euJMdLsBQo6xqLkpaWptWrV2v48OEOAVaB5ORk3XDDDZo5c6b9cgXFreuVnzuutn4F07788st65ZVXFBkZKX9/f916663as2ePw3yL2sYXzL9gH6us9gVhHRyJBUt75JFHtGDBAo0YMULjxo1Tenq6/vznP2vnzp36/PPPVbVqVWVmZqp3794KCQnRU089pZo1a+rQoUP64IMPJEkhISFKSUnRY489pkGDBumuu+6SJLVp06ZUNd17772KiopScnKyduzYob/85S+qW7euZs6c6TDdxo0btXTpUo0bN042m02vv/66+vTpoy+//FKtWrVyapnvvPOORo4cqY4dO2r06NGSpOjo6FLVD8AzffTRR2rUqJFuueWWcpn/kCFD1Lx5c82YMUMff/yxpk2bptq1a+uNN95Qz549NXPmTC1atEiTJk1Shw4d1K1btzJZ7pw5c3TnnXdq2LBhOn/+vJYsWaLBgwdr5cqVuv322yU5t40cMmSIHnzwQW3dulUdOnSwj//xxx+Vlpaml156yT5u+vTpeuaZZ3Tvvfdq5MiROn78uF577TV169ZNO3fuLDKgKhAZGanNmzdrz549V93mX632rVu36osvvtDQoUNVv359HTp0SCkpKerevbu+/fZbVatWTd26ddO4ceP06quv6umnn7afgl/w7zvvvKOEhATFx8dr5syZOnv2rFJSUtSlSxft3Lnzqqcf/uMf/5C/v7/uueeeYqe50oEDB3TPPffo4YcfVkJCgv76179q+PDhiomJUcuWLSVJP/zwg1asWKHBgwcrKipKx44d0xtvvKFbb71V3377rcLDwx3mOWPGDFWpUkWTJk1SVlaWXnzxRQ0bNkxbtmyxT5OSkqIxY8aoa9eumjBhgg4dOqSBAweqVq1aql+/vn26/Px83Xnnnfrss880evRoNW/eXLt379Yrr7yiffv22a9N9s0336h///5q06aNnnvuOdlsNh04cECff/55iX8WAKzj4MGDkqTg4GD7uIsXLyo+Pl5dunTRyy+/bD/NsCT7H5L07LPPatq0aerXr5/69eunHTt2qHfv3jp//vw161mzZo369++vsLAwPf744woNDdV3332nlStX6vHHH9cjjzyi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+uXLysvL05tvvnnN13p7e8vLy8vhG9VDhw7Z7yB3OWe3kUOGDNGRI0f0l7/8RV999ZWGDBni8Pxdd90lb29vTZ06tVCPMcZc85TJ9evXF/ntcMG1PJo2bXrN2r29vQvN47XXXiv0DXP16tUlFe5x8fHxCgwM1AsvvFDkNSOPHz9+1XV49NFHFRYWpt///vfat29foeczMzM1bdq0q86jKEWt1/Lly/Xzzz87PS/pUjAYHByst956SxcvXrSPX7RoUaEdtXvvvVc///yz3nrrrULz+fXXX5WTkyNJ+u9//1vo+Ss/WwDwPCXd/4iLi1PVqlX12muvOWzPLj8tvTg33XSToqKiNHv27ELb7cvnVdy2vSJqlKRbbrlFcXFxmj9/vlauXFno+f/7v//Tvn379MQTT9jDtMjISHl7e5fo80Vx61dgxYoVDn3hyy+/1JYtW9S3b1/7uOjoaH3//fcO/eyrr74qdCdZV+wLovxwJBYs69Zbb9Ujjzyi5ORk7dq1S71791bVqlW1f/9+LV++XHPmzNE999yjv/3tb3r99dc1aNAgRUdH6/Tp03rrrbcUGBiofv36Sbp0WkCLFi20dOlSNWnSRLVr11arVq1KfS56SbRq1Urx8fEaN26cbDabfeM9depU+zRDhw7Vk08+qUGDBmncuHH2W583adKk0MVtY2JitHbtWs2aNUvh4eGKiopSp06dyq1+AO4lOjpaixcv1pAhQ9S8eXM9+OCDatWqlc6fP68vvvhCy5cv1/Dhw+3Tjxw5UjNmzNDIkSPVvn17bdq0qcig4nq1bNlSN998s5KSkvTf//5XtWvX1pIlSxzChuLcfvvtmjVrlvr06aP7779fmZmZmjt3rho3buwQ/kvObyP79eungIAATZo0Sd7e3rr77rsdno+Ojta0adOUlJSkQ4cOaeDAgQoICFB6erpSU1M1evRoTZo0qdj5jx07VmfPntWgQYPUrFkz+/uwdOlSNWzYUCNGjLhm7f3799c777yjoKAgtWjRQps3b9batWsLXTeqXbt28vb21syZM5WVlSWbzaaePXuqbt26SklJ0W9/+1vddNNNGjp0qEJCQnT48GF9/PHH6ty5s/785z8Xuw61atVSamqq+vXrp3bt2umBBx6w37Bkx44deu+996551F9R+vfvr+eee04jRozQLbfcot27d2vRokUORwo4w9fXV1OmTNHYsWPVs2dP3XvvvTp06JAWLFig6Ohoh2/gf/vb32rZsmV69NFHtX79enXu3Fl5eXn6/vvvtWzZMq1evVrt27fXc889p02bNun2229XZGSkMjMz9frrr6t+/frq0qVLqeoEYH0l3f8ICQnRpEmTlJycrP79+6tfv37auXOnPv3002seUVqlShWlpKTojjvuULt27TRixAiFhYXp+++/1zfffKPVq1dLkn17O27cOMXHx8vb21tDhw6tkBoLLFy4UL169dKAAQN0//33q2vXrsrNzdUHH3ygDRs2aMiQIfrDH/5gnz4oKEiDBw/Wa6+9Ji8vL0VHR2vlypX263Rdrrj1K9C4cWN16dJFjz32mHJzczV79mwFBwfriSeesE/z0EMPadasWYqPj9fDDz+szMxMzZs3Ty1btnS42Lwr9gVRjir4bohAsYq7zeqbb75pYmJijL+/vwkICDCtW7c2TzzxhDly5IgxxpgdO3aY++67zzRo0MDYbDZTt25d079/f7Nt2zaH+XzxxRcmJibG+Pr6XvMWqwW3h12+fLl9XMFt5q+83XZRt4+XZBITE827775rbrjhBmOz2cyNN95Y6Hazxly6DXurVq2Mr6+vadq0qXn33Xfty7rc999/b7p162b8/f1LdFtcAJXTvn37zKhRo0zDhg2Nr6+vCQgIMJ07dzavvfaaOXfunH26s2fPmocfftgEBQWZgIAAc++995rMzMxC28fitn0JCQmmevXqhZZ/6623mpYtWzqMO3jwoImLizM2m83Uq1fPPP3002bNmjWFbsN95S2xjTHm7bfftm9HmzVrZubPn+/UNrKobXSBYcOGGUkmLi6u2J/n3//+d9OlSxdTvXp1U716ddOsWTOTmJho9u7dW+xrjDHm008/NQ899JBp1qyZqVGjhvH19TWNGzc2Y8eONceOHStR7SdPnjQjRowwderUMTVq1DDx8fHm+++/N5GRkYV6wFtvvWUaNWpkvL29C/1c169fb+Lj401QUJDx8/Mz0dHRZvjw4YX6ZHGOHDliJkyYYJo0aWL8/PxMtWrVTExMjJk+fbrJysqyTxcZGWluv/32Qq+/8hbo586dM7///e9NWFiY8ff3N507dzabN28uNF1RvdiYom/Vbowxr776qomMjDQ2m8107NjRfP755yYmJsb06dPHYbrz58+bmTNnmpYtWxqbzWZq1aplYmJizNSpU+3rs27dOjNgwAATHh5ufH19TXh4uLnvvvvMvn37SvQzA+AaBdv8rVu3XnW64npYgWvtfxhjTF5enpk6dap9W9a9e3ezZ8+eQtvogm3ZlfsBn332mbnttttMQECAqV69umnTpo157bXX7M9fvHjRjB071oSEhBgvL69Cfa8sa7ya06dPmylTppiWLVval9W5c2ezYMECk5+fX2j648ePm7vvvttUq1bN1KpVyzzyyCNmz549hbbbxa1fwTb+pZdeMn/6059MRESEsdlspmvXruarr74qtLx3333XNGrUyPj6+pp27dqZ1atXF/l5wpl9QViblzGluComgKvy8vJSYmLiVb/hBgAA5Sc/P18hISG66667ijx9EABgPYcOHVJUVJReeumlqx7xjMqLa2IBAADArZ07d67QdbYWLlyo//73v+revbtrigIAAGWOa2IBAADAraWlpWnChAkaPHiwgoODtWPHDr399ttq1aqVBg8e7OryAABAGSHEAgAAgFtr2LChIiIi9Oqrr9pvIPDggw9qxowZ8vX1dXV5AACgjHBNLAAAAAAAAFge18QCAAAAAACA5VX46YT5+fk6cuSIAgIC5OXlVdGLBwCPY4zR6dOnFR4eripV+G6CPgMAZYs+44g+AwBly5k+U+Eh1pEjRxQREVHRiwUAj5eRkaH69eu7ugyXo88AQPmgz1xCnwGA8lGSPlPhIVZAQIAkqYv6yUdVK3rxAMpY6r7dri6h0ss+k6/Imw7Zt6+VHX0GuOSHGR1cXQLKQKOntrq6BF3UBX2mT+gz/x99BriEPoOykn/unH6aMq1EfabCQ6yCQ259VFU+Xmz0AXcXGMBpBVbBKQ2X0GeAS6r4+bm6BJQBS2zH/v9toOgzl9BngEvoMyhrJekz7H0CACxn7ty5atiwofz8/NSpUyd9+eWXri4JAOBh6DUA4H4IsQAAlrJ06VJNnDhRkydP1o4dO9S2bVvFx8crMzPT1aUBADwEvQYA3BMhFgDAUmbNmqVRo0ZpxIgRatGihebNm6dq1arpr3/9a5HT5+bmKjs722EAAOBqnOk19BkAsA5CLACAZZw/f17bt29XXFycfVyVKlUUFxenzZs3F/ma5ORkBQUF2QfuGAUAuBpnew19BgCsgxALAGAZ//nPf5SXl6d69eo5jK9Xr56O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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from scipy.ndimage import zoom\n", "\n", "TARGET_SIZE = (30, 30) # Define the target size for consistent scaling\n", "\n", "# Function to scale an input to the target size\n", "def scale_to_target(matrix):\n", " scaling_factor = (TARGET_SIZE[0] / matrix.shape[0], TARGET_SIZE[1] / matrix.shape[1])\n", " return zoom(matrix, scaling_factor, order=0)\n", "\n", "# Function to capture cumulative state changes with color tracking\n", "def capture_state_changes(train_inputs, train_outputs):\n", " # Initialize the state change matrix as a neutral matrix (zeros)\n", " state_change_matrix = np.zeros(TARGET_SIZE, dtype=int)\n", " \n", " # Iterate through each pair of scaled training inputs and outputs\n", " for i, (input_matrix, output_matrix) in enumerate(zip(train_inputs, train_outputs)):\n", " # Scale input and output to the target size\n", " scaled_input = scale_to_target(input_matrix)\n", " scaled_output = scale_to_target(output_matrix)\n", " \n", " # Compute where there are changes and update the state change matrix with output values\n", " changes = (scaled_output != scaled_input)\n", " state_change_matrix = np.where(changes, scaled_output, state_change_matrix)\n", " \n", " print(f\"Captured changes for Training Example {i}:\")\n", " print(f\"Scaled Input:\\n{scaled_input}\")\n", " print(f\"Scaled Output:\\n{scaled_output}\")\n", " print(f\"Detected Changes:\\n{changes.astype(int)}\") # Display as binary changes\n", " print(\"-\" * 50)\n", " \n", " print(\"Final Cumulative State Change Matrix with Colors:\")\n", " print(state_change_matrix)\n", " print(\"=\" * 50)\n", " \n", " return state_change_matrix\n", "\n", "# Function to apply the cumulative state change matrix to a test input\n", "def apply_state_changes(test_input, state_change_matrix):\n", " # Scale test input to the target size\n", " scaled_test_input = scale_to_target(test_input)\n", " print(\"Initial Scaled Test Input:\")\n", " print(scaled_test_input)\n", " \n", " # Apply the cumulative state change matrix\n", " final_output = np.where(state_change_matrix != 0, state_change_matrix, scaled_test_input)\n", " \n", " print(\"Final Predicted Output after applying state changes with colors:\")\n", " print(final_output)\n", " \n", " return final_output\n", "\n", "# Replace these arrays with the ARC data examples\n", "train_inputs = [\n", " np.array([\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 1, 0, 0, 0, 0, 0],\n", " [0, 1, 1, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 1, 1, 0],\n", " [0, 0, 0, 0, 0, 1, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0]\n", " ]),\n", " np.array([\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 1, 2, 0, 0, 0, 0],\n", " [0, 1, 1, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 1, 1, 0],\n", " [0, 0, 0, 0, 2, 1, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 1]\n", " ])\n", "]\n", "\n", "train_outputs = [\n", " np.array([\n", " [0, 0, 0, 0, 1, 1, 0],\n", " [0, 0, 0, 0, 0, 1, 0],\n", " [0, 0, 1, 0, 0, 0, 0],\n", " [0, 0, 1, 1, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 1, 0, 0],\n", " [0, 0, 0, 1, 1, 0, 0]\n", " ]),\n", " np.array([\n", " [0, 0, 0, 0, 1, 1, 0],\n", " [0, 0, 0, 0, 2, 1, 0],\n", " [0, 0, 1, 2, 0, 0, 0],\n", " [0, 0, 1, 1, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 2, 1, 0, 0],\n", " [0, 0, 0, 1, 1, 0, 0]\n", " ])\n", "]\n", "\n", "test_input = np.array([\n", " [0, 0, 0, 0, 0, 1, 1],\n", " [1, 1, 0, 0, 0, 0, 1],\n", " [1, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 1, 0, 0, 0],\n", " [0, 0, 0, 1, 1, 0, 0],\n", " [0, 1, 0, 0, 0, 0, 0],\n", " [1, 1, 0, 0, 0, 0, 0]\n", "])\n", "\n", "# Capture state changes from training data\n", "state_change_matrix = capture_state_changes(train_inputs, train_outputs)\n", "\n", "# Apply state changes to the test input\n", "predicted_output = apply_state_changes(test_input, state_change_matrix)\n", "\n", "# Display the final predicted output\n", "print(\"Predicted Output:\")\n", "print(predicted_output)\n", "\n", "# Visualize the transformation sequence\n", "fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n", "axes[0].imshow(test_input, cmap='viridis')\n", "axes[0].set_title(\"Test Input\")\n", "\n", "axes[1].imshow(state_change_matrix, cmap='viridis')\n", "axes[1].set_title(\"Cumulative State Changes\")\n", "\n", "axes[2].imshow(predicted_output, cmap='viridis')\n", "axes[2].set_title(\"Predicted Output\")\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "7c18c00c", "metadata": {}, "source": [ "# All I needed to do was subtract the test input from the output... " ] } ], "metadata": { "kaggle": { "accelerator": "none", "dataSources": [ { "databundleVersionId": 8951125, "sourceId": 67357, "sourceType": "competition" }, { "isSourceIdPinned": true, "modelId": 175594, "modelInstanceId": 153146, "sourceId": 179738, "sourceType": "modelInstanceVersion" } ], "dockerImageVersionId": 30786, "isGpuEnabled": false, "isInternetEnabled": true, "language": "python", "sourceType": "notebook" }, "kernelspec": { "display_name": "Python 3", "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.14" }, "papermill": { "default_parameters": {}, "duration": 5.578095, "end_time": "2024-11-27T13:06:33.110284", "environment_variables": {}, "exception": null, "input_path": "__notebook__.ipynb", "output_path": "__notebook__.ipynb", "parameters": {}, "start_time": "2024-11-27T13:06:27.532189", "version": "2.6.0" } }, "nbformat": 4, "nbformat_minor": 5 }