diff --git a/notebooks/simple_gridworld/02_actinf_with_agent.ipynb b/notebooks/simple_gridworld/agent_api_single.ipynb similarity index 66% rename from notebooks/simple_gridworld/02_actinf_with_agent.ipynb rename to notebooks/simple_gridworld/agent_api_single.ipynb index 48e931f..12a4f07 100644 --- a/notebooks/simple_gridworld/02_actinf_with_agent.ipynb +++ b/notebooks/simple_gridworld/agent_api_single.ipynb @@ -157,7 +157,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -169,7 +169,7 @@ "import seaborn as sns\n", "import sys\n", "\n", - "sys.path.insert(0, '../')\n", + "sys.path.insert(0, '../../')\n", "\n", "from radcad import Model, Simulation, Experiment\n", "\n", @@ -186,7 +186,7 @@ "import plotly.express as px\n", "\n", "# local utils\n", - "import blockference.utils as u\n", + "import blockference.utils.utils as u\n", "from blockference.agent import Agent\n", "from blockference.envs.grid_env import GridAgent\n", "# from blockference.gridference import ActiveGridference" @@ -201,7 +201,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -210,7 +210,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -219,7 +219,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -228,7 +228,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -262,7 +262,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -272,7 +272,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -281,6 +281,24 @@ "prior = D" ] }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "policies = construct_policies([env.n_states], [len(E)], policy_len=2)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "act = Agent(A=A, B=B, policies=policies)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -290,13 +308,13 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "initial_state = {\n", - " 'A': softmax(A),\n", - " 'B': B,\n", + " 'A': softmax(act.A[0]),\n", + " 'B': act.B[0],\n", " 'C': C,\n", " 'prior': softmax(D),\n", " 'env_state': env.grid[0],\n", @@ -314,7 +332,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -339,20 +357,39 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "u.infer_states" + ] + }, + { + "cell_type": "code", + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "def p_actinf(params, substep, state_history, previous_state):\n", - " policies = construct_policies([act.n_states], [len(act.E)], policy_len = act.policy_len)\n", " # get obs_idx\n", - " obs_idx = grid.index(previous_state['env_state'])\n", + " obs_idx = env.grid.index(previous_state['env_state'])\n", "\n", " # infer_states\n", - " qs_current = u.infer_states(obs_idx, previous_state['prior_A'], previous_state['prior'])\n", + " qs_current = u.infer_states(obs_idx, previous_state['A'], previous_state['prior'])\n", "\n", " # calc efe\n", - " G = u.calculate_G_policies(previous_state['prior_A'], previous_state['prior_B'], previous_state['prior_C'], qs_current, policies=policies)\n", + " G = u.calculate_G_policies(previous_state['A'], previous_state['B'], previous_state['C'], qs_current, policies=policies)\n", "\n", " # calc action posterior\n", " Q_pi = u.softmax(-G)\n", @@ -364,7 +401,7 @@ " chosen_action = u.sample(P_u)\n", "\n", " # calc next prior\n", - " prior = previous_state['prior_B'][:,:,chosen_action].dot(qs_current) \n", + " prior = previous_state['B'][:,:,chosen_action].dot(qs_current) \n", "\n", " # update env state\n", " # action_label = params['actions'][chosen_action]\n", @@ -380,7 +417,7 @@ "\n", " elif chosen_action == 1: # DOWN\n", "\n", - " Y_new = Y + 1 if Y < act.border else Y\n", + " Y_new = Y + 1 if Y < env.border else Y\n", " X_new = X\n", "\n", " elif chosen_action == 2: # LEFT\n", @@ -389,7 +426,7 @@ "\n", " elif chosen_action == 3: # RIGHT\n", " Y_new = Y\n", - " X_new = X +1 if X < act.border else X\n", + " X_new = X +1 if X < env.border else X\n", "\n", " elif chosen_action == 4: # STAY\n", " Y_new, X_new = Y, X \n", @@ -411,7 +448,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ @@ -439,7 +476,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 27, "metadata": {}, "outputs": [], "source": [ @@ -467,7 +504,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ @@ -490,7 +527,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ @@ -503,7 +540,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ @@ -519,7 +556,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 31, "metadata": {}, "outputs": [ { @@ -543,9 +580,9 @@ " \n", " \n", " \n", - " prior_A\n", - " prior_B\n", - " prior_C\n", + " A\n", + " B\n", + " C\n", " prior\n", " env_state\n", " action\n", @@ -593,9 +630,9 @@ " [[0.02672363098939523, 0.009831074434450556, 0...\n", " [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0...\n", " [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, ...\n", - " (1, 0)\n", - " 1\n", + " [0.16866478870681606, 0.008397325366597817, 0....\n", + " (0, 0)\n", + " 4\n", " [0.16866478870681606, 0.008397325366597817, 0....\n", " 0\n", " 0\n", @@ -608,10 +645,10 @@ " [[0.02672363098939523, 0.009831074434450556, 0...\n", " [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0...\n", " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", - " [0.35546098713663643, 0.00651049507942799, 0.0...\n", + " [0.3619714822160643, 0.013020990158855826, 0.0...\n", " (0, 0)\n", " 0\n", - " [7.753058021694268e-17, 7.753058021694268e-17,...\n", + " [0.3554609871366364, 0.006510495079427913, 0.0...\n", " 0\n", " 0\n", " 1\n", @@ -623,10 +660,10 @@ " [[0.02672363098939523, 0.009831074434450556, 0...\n", " [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0...\n", " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", - " [0.603901424016928, 0.00808364440781786, 0.008...\n", + " [0.6146612421088251, 0.008027890789399417, 0.0...\n", " (0, 0)\n", - " 0\n", - " [0.5998596018130191, 0.004041822203908954, 0.0...\n", + " 2\n", + " [0.6066333513194258, 0.008027890789399417, 0.0...\n", " 0\n", " 0\n", " 1\n", @@ -649,168 +686,168 @@ " ...\n", " \n", " \n", - " 10095\n", + " 96\n", " [[0.02672363098939523, 0.009831074434450556, 0...\n", " [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0...\n", " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", - " [8.710941655795045e-17, 8.710941655795045e-17,...\n", - " (6, 4)\n", + " [0.0, 6.385500076446749e-17, 5.032147244080568...\n", + " (3, 9)\n", + " 3\n", + " [6.385500076446749e-17, 5.032147244080568e-17,...\n", " 0\n", - " [3.678794411714443e-17, 3.678794411714443e-17,...\n", " 0\n", - " 99\n", " 1\n", " 1\n", " 96\n", " \n", " \n", - " 10096\n", + " 97\n", " [[0.02672363098939523, 0.009831074434450556, 0...\n", " [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0...\n", " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", - " [1.2596545076772043e-16, 1.2713499590296219e-1...\n", - " (5, 4)\n", + " [7.357588823428889e-17, 1.2918875980943952e-16...\n", + " (2, 9)\n", + " 0\n", + " [3.6787944117144447e-17, 6.027888611437916e-17...\n", " 0\n", - " [6.883370760125423e-17, 6.883370760125423e-17,...\n", " 0\n", - " 99\n", " 1\n", " 1\n", " 97\n", " \n", " \n", - " 10097\n", + " 98\n", " [[0.02672363098939523, 0.009831074434450556, 0...\n", " [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0...\n", " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", - " [0.0, 8.312804375248272e-17, 8.355829536326019...\n", - " (5, 5)\n", - " 3\n", - " [8.312804375248272e-17, 8.355829536326019e-17,...\n", + " [1.1417647320527316e-16, 1.4539917064444794e-1...\n", + " (1, 9)\n", + " 0\n", + " [6.385500076446749e-17, 8.431383288147303e-17,...\n", + " 0\n", " 0\n", - " 99\n", " 1\n", " 1\n", " 98\n", " \n", " \n", - " 10098\n", + " 99\n", " [[0.02672363098939523, 0.009831074434450556, 0...\n", " [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0...\n", " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", - " [0.0, 3.678794411714443e-17, 6.736904239848323...\n", - " (5, 6)\n", - " 3\n", - " [3.678794411714443e-17, 6.736904239848323e-17,...\n", + " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", + " (2, 9)\n", + " 1\n", + " [7.879112127482669e-17, 9.027730976061534e-17,...\n", + " 0\n", " 0\n", - " 99\n", " 1\n", " 1\n", " 99\n", " \n", " \n", - " 10099\n", + " 100\n", " [[0.02672363098939523, 0.009831074434450556, 0...\n", " [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0...\n", " [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...\n", - " [3.678794411714443e-17, 5.0321472440806026e-17...\n", - " (5, 6)\n", + " [3.6787944117144447e-17, 3.6787944117144447e-1...\n", + " (2, 9)\n", " 4\n", - " [3.678794411714443e-17, 5.0321472440806026e-17...\n", + " [3.6787944117144447e-17, 3.6787944117144447e-1...\n", + " 0\n", " 0\n", - " 99\n", " 1\n", " 1\n", " 100\n", " \n", " \n", "\n", - "

10100 rows × 12 columns

\n", + "

101 rows × 12 columns

\n", "" ], "text/plain": [ - " prior_A \\\n", - "0 [[0.02672363098939523, 0.009831074434450556, 0... \n", - "1 [[0.02672363098939523, 0.009831074434450556, 0... \n", - "2 [[0.02672363098939523, 0.009831074434450556, 0... \n", - "3 [[0.02672363098939523, 0.009831074434450556, 0... \n", - "4 [[0.02672363098939523, 0.009831074434450556, 0... \n", - "... ... \n", - "10095 [[0.02672363098939523, 0.009831074434450556, 0... \n", - "10096 [[0.02672363098939523, 0.009831074434450556, 0... \n", - "10097 [[0.02672363098939523, 0.009831074434450556, 0... \n", - "10098 [[0.02672363098939523, 0.009831074434450556, 0... \n", - "10099 [[0.02672363098939523, 0.009831074434450556, 0... \n", + " A \\\n", + "0 [[0.02672363098939523, 0.009831074434450556, 0... \n", + "1 [[0.02672363098939523, 0.009831074434450556, 0... \n", + "2 [[0.02672363098939523, 0.009831074434450556, 0... \n", + "3 [[0.02672363098939523, 0.009831074434450556, 0... \n", + "4 [[0.02672363098939523, 0.009831074434450556, 0... \n", + ".. ... \n", + "96 [[0.02672363098939523, 0.009831074434450556, 0... \n", + "97 [[0.02672363098939523, 0.009831074434450556, 0... \n", + "98 [[0.02672363098939523, 0.009831074434450556, 0... \n", + "99 [[0.02672363098939523, 0.009831074434450556, 0... \n", + "100 [[0.02672363098939523, 0.009831074434450556, 0... \n", "\n", - " prior_B \\\n", - "0 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", - "1 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", - "2 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", - "3 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", - "4 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", - "... ... \n", - "10095 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", - "10096 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", - "10097 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", - "10098 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", - "10099 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", + " B \\\n", + "0 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", + "1 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", + "2 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", + "3 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", + "4 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", + ".. ... \n", + "96 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", + "97 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", + "98 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", + "99 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", + "100 [[[1.0, 0.0, 1.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0... \n", "\n", - " prior_C \\\n", - "0 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", - "1 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", - "2 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", - "3 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", - "4 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", - "... ... \n", - "10095 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", - "10096 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", - "10097 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", - "10098 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", - "10099 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", + " C \\\n", + "0 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", + "1 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", + "2 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", + "3 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", + "4 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", + ".. ... \n", + "96 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", + "97 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", + "98 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", + "99 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", + "100 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... \n", "\n", - " prior env_state action \\\n", - "0 [0.02672363098939523, 0.009831074434450556, 0.... (0, 0) \n", - "1 [0.0694531596563796, 0.00939946303377394, 0.00... (0, 0) 4 \n", - "2 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... (1, 0) 1 \n", - "3 [0.35546098713663643, 0.00651049507942799, 0.0... (0, 0) 0 \n", - "4 [0.603901424016928, 0.00808364440781786, 0.008... (0, 0) 0 \n", - "... ... ... ... \n", - "10095 [8.710941655795045e-17, 8.710941655795045e-17,... (6, 4) 0 \n", - "10096 [1.2596545076772043e-16, 1.2713499590296219e-1... (5, 4) 0 \n", - "10097 [0.0, 8.312804375248272e-17, 8.355829536326019... (5, 5) 3 \n", - "10098 [0.0, 3.678794411714443e-17, 6.736904239848323... (5, 6) 3 \n", - "10099 [3.678794411714443e-17, 5.0321472440806026e-17... (5, 6) 4 \n", + " prior env_state action \\\n", + "0 [0.02672363098939523, 0.009831074434450556, 0.... (0, 0) \n", + "1 [0.0694531596563796, 0.00939946303377394, 0.00... (0, 0) 4 \n", + "2 [0.16866478870681606, 0.008397325366597817, 0.... (0, 0) 4 \n", + "3 [0.3619714822160643, 0.013020990158855826, 0.0... (0, 0) 0 \n", + "4 [0.6146612421088251, 0.008027890789399417, 0.0... (0, 0) 2 \n", + ".. ... ... ... \n", + "96 [0.0, 6.385500076446749e-17, 5.032147244080568... (3, 9) 3 \n", + "97 [7.357588823428889e-17, 1.2918875980943952e-16... (2, 9) 0 \n", + "98 [1.1417647320527316e-16, 1.4539917064444794e-1... (1, 9) 0 \n", + "99 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... (2, 9) 1 \n", + "100 [3.6787944117144447e-17, 3.6787944117144447e-1... (2, 9) 4 \n", "\n", - " current_inference simulation subset \\\n", - "0 0 0 \n", - "1 [0.0694531596563796, 0.00939946303377394, 0.00... 0 0 \n", - "2 [0.16866478870681606, 0.008397325366597817, 0.... 0 0 \n", - "3 [7.753058021694268e-17, 7.753058021694268e-17,... 0 0 \n", - "4 [0.5998596018130191, 0.004041822203908954, 0.0... 0 0 \n", - "... ... ... ... \n", - "10095 [3.678794411714443e-17, 3.678794411714443e-17,... 0 99 \n", - "10096 [6.883370760125423e-17, 6.883370760125423e-17,... 0 99 \n", - "10097 [8.312804375248272e-17, 8.355829536326019e-17,... 0 99 \n", - "10098 [3.678794411714443e-17, 6.736904239848323e-17,... 0 99 \n", - "10099 [3.678794411714443e-17, 5.0321472440806026e-17... 0 99 \n", + " current_inference simulation subset \\\n", + "0 0 0 \n", + "1 [0.0694531596563796, 0.00939946303377394, 0.00... 0 0 \n", + "2 [0.16866478870681606, 0.008397325366597817, 0.... 0 0 \n", + "3 [0.3554609871366364, 0.006510495079427913, 0.0... 0 0 \n", + "4 [0.6066333513194258, 0.008027890789399417, 0.0... 0 0 \n", + ".. ... ... ... \n", + "96 [6.385500076446749e-17, 5.032147244080568e-17,... 0 0 \n", + "97 [3.6787944117144447e-17, 6.027888611437916e-17... 0 0 \n", + "98 [6.385500076446749e-17, 8.431383288147303e-17,... 0 0 \n", + "99 [7.879112127482669e-17, 9.027730976061534e-17,... 0 0 \n", + "100 [3.6787944117144447e-17, 3.6787944117144447e-1... 0 0 \n", "\n", - " run substep timestep \n", - "0 1 0 0 \n", - "1 1 1 1 \n", - "2 1 1 2 \n", - "3 1 1 3 \n", - "4 1 1 4 \n", - "... ... ... ... \n", - "10095 1 1 96 \n", - "10096 1 1 97 \n", - "10097 1 1 98 \n", - "10098 1 1 99 \n", - "10099 1 1 100 \n", + " run substep timestep \n", + "0 1 0 0 \n", + "1 1 1 1 \n", + "2 1 1 2 \n", + "3 1 1 3 \n", + "4 1 1 4 \n", + ".. ... ... ... \n", + "96 1 1 96 \n", + "97 1 1 97 \n", + "98 1 1 98 \n", + "99 1 1 99 \n", + "100 1 1 100 \n", "\n", - "[10100 rows x 12 columns]" + "[101 rows x 12 columns]" ] }, - "execution_count": 16, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -822,12 +859,12 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 32, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] diff --git a/notebooks/simple_gridworld/gridference_single.ipynb b/notebooks/simple_gridworld/gridference_single.ipynb index cbd4f22..c80eb2a 100644 --- a/notebooks/simple_gridworld/gridference_single.ipynb +++ b/notebooks/simple_gridworld/gridference_single.ipynb @@ -157,7 +157,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ diff --git a/notebooks/simple_gridworld/multi_agent_exp.ipynb b/notebooks/simple_gridworld/multi_agent_experimental.ipynb similarity index 100% rename from notebooks/simple_gridworld/multi_agent_exp.ipynb rename to notebooks/simple_gridworld/multi_agent_experimental.ipynb diff --git a/notebooks/simple_gridworld/04_actinf_graphs.ipynb b/notebooks/simple_gridworld/multiple_agents_network.ipynb similarity index 100% rename from notebooks/simple_gridworld/04_actinf_graphs.ipynb rename to notebooks/simple_gridworld/multiple_agents_network.ipynb diff --git a/notebooks/simple_gridworld/05_actinf_multi_agent.ipynb b/notebooks/simple_gridworld/mutliple_agents_dict.ipynb similarity index 100% rename from notebooks/simple_gridworld/05_actinf_multi_agent.ipynb rename to notebooks/simple_gridworld/mutliple_agents_dict.ipynb