{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import sys\n",
    "from pathlib import Path\n",
    "\n",
    "# set parent directory to address relative imports\n",
    "directory = Path(os.getcwd()).absolute()\n",
    "sys.path.append(str(directory.parent.parent))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from baseline_utils.auto_config import AutoConfig\n",
    "\n",
    "auto=AutoConfig(verbose=False)\n",
    "amt_tasks=auto.get_amt_tasks()\n",
    "coverage = []\n",
    "transport_rate = []\n",
    "successes = []\n",
    "for task_index in range(amt_tasks):\n",
    "\n",
    "    auto.set_task(task_index) # set task index\n",
    "    amt_floorplans=auto.get_amt_floorplans(task_index)\n",
    "\n",
    "    for fp_index in range(amt_floorplans):\n",
    "\n",
    "        auto.set_floorplan(fp_index) # set floorplan\n",
    "        timeout=auto.get_task_timeout() # get timeout number\n",
    "\n",
    "        floor_plan = auto.config().scene\n",
    "        task = auto.config_arr[auto.task_index]['task_name']\n",
    "        num_agents = auto.config().num_agents\n",
    "        file_name = f'results/llamar/actions/{task}/{floor_plan}/{num_agents}/trajectory.csv'\n",
    "        if os.path.isfile(file_name):\n",
    "            df = pd.read_csv(file_name)\n",
    "            coverage.append(df['Coverage'].to_list()[-1]) \n",
    "            transport_rate.append(df['Transport Rate'].to_list()[-1])\n",
    "            success = df['Success'].to_list()[-1]\n",
    "            success = 1 if success == 'Success' else 0\n",
    "            successes.append(success)\n",
    "\n",
    "\n",
    "        # env = AI2ThorEnv(auto.config())\n",
    "        # task = auto.task_string()\n",
    "        # d = env.reset(task=task) \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Coverage: 0.7865853658536586\n",
      "Transport Rate: 0.4847560975609756\n",
      "Success Rate: 0.0\n"
     ]
    }
   ],
   "source": [
    "coverage = np.array(coverage)\n",
    "transport_rate = np.array(transport_rate)\n",
    "successes = np.array(successes)\n",
    "print(f'Coverage: {np.mean(coverage)}')\n",
    "print(f'Transport Rate: {np.mean(transport_rate)}')\n",
    "print(f'Success Rate: {np.mean(successes)}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Step</th>\n",
       "      <th>Action</th>\n",
       "      <th>Success</th>\n",
       "      <th>Coverage</th>\n",
       "      <th>Transport Rate</th>\n",
       "      <th>Finished</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>['PickupObject(Tomato_1)', 'OpenObject(Fridge_...</td>\n",
       "      <td>[False, True]</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.071429</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>['NavigateTo(Tomato_1)', 'Idle']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.142857</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>['PickupObject(Tomato_1)', 'Rotate(Right)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.214286</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>['PutObject(Fridge_1)', 'Rotate(Right)']</td>\n",
       "      <td>[False, True]</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.214286</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>['NavigateTo(Fridge_1)', 'Rotate(Left)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.285714</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Step                                             Action        Success  \\\n",
       "0     0  ['PickupObject(Tomato_1)', 'OpenObject(Fridge_...  [False, True]   \n",
       "1     1                   ['NavigateTo(Tomato_1)', 'Idle']   [True, True]   \n",
       "2     2        ['PickupObject(Tomato_1)', 'Rotate(Right)']   [True, True]   \n",
       "3     3           ['PutObject(Fridge_1)', 'Rotate(Right)']  [False, True]   \n",
       "4     4           ['NavigateTo(Fridge_1)', 'Rotate(Left)']   [True, True]   \n",
       "\n",
       "   Coverage  Transport Rate  Finished  \n",
       "0       0.5        0.071429     False  \n",
       "1       0.5        0.142857     False  \n",
       "2       0.5        0.214286     False  \n",
       "3       0.5        0.214286     False  \n",
       "4       0.5        0.285714     False  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv(f'results/llamar/actions/{task}/{floor_plan}/{num_agents}/trajectory.csv')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv(f'results/llamar/actions/{task}/{floor_plan}/{num_agents}/trajectory.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Step</th>\n",
       "      <th>Action</th>\n",
       "      <th>Success</th>\n",
       "      <th>Coverage</th>\n",
       "      <th>Transport Rate</th>\n",
       "      <th>Finished</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>['PickupObject(Tomato_1)', 'OpenObject(Fridge_...</td>\n",
       "      <td>[False, True]</td>\n",
       "      <td>0.50</td>\n",
       "      <td>0.071429</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>['NavigateTo(Tomato_1)', 'Idle']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>0.50</td>\n",
       "      <td>0.142857</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>['PickupObject(Tomato_1)', 'Rotate(Right)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>0.50</td>\n",
       "      <td>0.214286</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>['PutObject(Fridge_1)', 'Rotate(Right)']</td>\n",
       "      <td>[False, True]</td>\n",
       "      <td>0.50</td>\n",
       "      <td>0.214286</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>['NavigateTo(Fridge_1)', 'Rotate(Left)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>0.50</td>\n",
       "      <td>0.285714</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>['PutObject(Fridge_1)', 'NavigateTo(Shelf_2)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>0.50</td>\n",
       "      <td>0.357143</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>6</td>\n",
       "      <td>['CloseObject(Fridge_1)', 'NavigateTo(CounterT...</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>0.50</td>\n",
       "      <td>0.428571</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>7</td>\n",
       "      <td>['Rotate(Right)', 'Rotate(Right)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>0.50</td>\n",
       "      <td>0.428571</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>8</td>\n",
       "      <td>['Rotate(Right)', 'Rotate(Left)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>0.50</td>\n",
       "      <td>0.428571</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>9</td>\n",
       "      <td>['Rotate(Right)', 'Rotate(Right)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>0.50</td>\n",
       "      <td>0.428571</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>10</td>\n",
       "      <td>['PickupObject(Bread_1)', 'Rotate(Left)']</td>\n",
       "      <td>[False, True]</td>\n",
       "      <td>0.75</td>\n",
       "      <td>0.428571</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>11</td>\n",
       "      <td>['NavigateTo(Bread_1)', 'Rotate(Right)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>0.75</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>12</td>\n",
       "      <td>['PickupObject(Bread_1)', 'NavigateTo(CounterT...</td>\n",
       "      <td>[False, True]</td>\n",
       "      <td>0.75</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>13</td>\n",
       "      <td>['NavigateTo(Bread_1)', 'Rotate(Right)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>0.75</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>14</td>\n",
       "      <td>['PickupObject(Bread_1)', 'Rotate(Left)']</td>\n",
       "      <td>[False, True]</td>\n",
       "      <td>0.75</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>15</td>\n",
       "      <td>['NavigateTo(CounterTop_2)', 'Rotate(Right)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>0.75</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>16</td>\n",
       "      <td>['NavigateTo(CounterTop_2)', 'Rotate(Left)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>0.75</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>17</td>\n",
       "      <td>['Rotate(Right)', 'Rotate(Left)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>0.75</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>18</td>\n",
       "      <td>['PickupObject(Lettuce_1)', 'Rotate(Right)']</td>\n",
       "      <td>[False, True]</td>\n",
       "      <td>1.00</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>19</td>\n",
       "      <td>['NavigateTo(Lettuce_1)', 'Idle']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>1.00</td>\n",
       "      <td>0.571429</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>20</td>\n",
       "      <td>['PickupObject(Lettuce_1)', 'Rotate(Right)']</td>\n",
       "      <td>[False, True]</td>\n",
       "      <td>1.00</td>\n",
       "      <td>0.571429</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>21</td>\n",
       "      <td>['NavigateTo(CounterTop_2)', 'NavigateTo(Count...</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>1.00</td>\n",
       "      <td>0.571429</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>22</td>\n",
       "      <td>['Rotate(Left)', 'NavigateTo(CounterTop_2)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>1.00</td>\n",
       "      <td>0.571429</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>23</td>\n",
       "      <td>['Rotate(Right)', 'PickupObject(Bread_1)']</td>\n",
       "      <td>[True, False]</td>\n",
       "      <td>1.00</td>\n",
       "      <td>0.571429</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>24</td>\n",
       "      <td>['Rotate(Right)', 'NavigateTo(CounterTop_2)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>1.00</td>\n",
       "      <td>0.571429</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>25</td>\n",
       "      <td>['PickupObject(Bread_1)', 'NavigateTo(Bread_1)']</td>\n",
       "      <td>[False, True]</td>\n",
       "      <td>1.00</td>\n",
       "      <td>0.571429</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>26</td>\n",
       "      <td>['NavigateTo(Bread_1)', 'PickupObject(Bread_1)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>1.00</td>\n",
       "      <td>0.642857</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>27</td>\n",
       "      <td>['PickupObject(Lettuce_1)', 'NavigateTo(Fridge...</td>\n",
       "      <td>[False, False]</td>\n",
       "      <td>1.00</td>\n",
       "      <td>0.642857</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>28</td>\n",
       "      <td>['NavigateTo(CounterTop_2)', 'NavigateTo(Fridg...</td>\n",
       "      <td>[True, False]</td>\n",
       "      <td>1.00</td>\n",
       "      <td>0.642857</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>29</td>\n",
       "      <td>['NavigateTo(Lettuce_1)', 'Rotate(Right)']</td>\n",
       "      <td>[True, True]</td>\n",
       "      <td>1.00</td>\n",
       "      <td>0.642857</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    Step                                             Action         Success  \\\n",
       "0      0  ['PickupObject(Tomato_1)', 'OpenObject(Fridge_...   [False, True]   \n",
       "1      1                   ['NavigateTo(Tomato_1)', 'Idle']    [True, True]   \n",
       "2      2        ['PickupObject(Tomato_1)', 'Rotate(Right)']    [True, True]   \n",
       "3      3           ['PutObject(Fridge_1)', 'Rotate(Right)']   [False, True]   \n",
       "4      4           ['NavigateTo(Fridge_1)', 'Rotate(Left)']    [True, True]   \n",
       "5      5     ['PutObject(Fridge_1)', 'NavigateTo(Shelf_2)']    [True, True]   \n",
       "6      6  ['CloseObject(Fridge_1)', 'NavigateTo(CounterT...    [True, True]   \n",
       "7      7                 ['Rotate(Right)', 'Rotate(Right)']    [True, True]   \n",
       "8      8                  ['Rotate(Right)', 'Rotate(Left)']    [True, True]   \n",
       "9      9                 ['Rotate(Right)', 'Rotate(Right)']    [True, True]   \n",
       "10    10          ['PickupObject(Bread_1)', 'Rotate(Left)']   [False, True]   \n",
       "11    11           ['NavigateTo(Bread_1)', 'Rotate(Right)']    [True, True]   \n",
       "12    12  ['PickupObject(Bread_1)', 'NavigateTo(CounterT...   [False, True]   \n",
       "13    13           ['NavigateTo(Bread_1)', 'Rotate(Right)']    [True, True]   \n",
       "14    14          ['PickupObject(Bread_1)', 'Rotate(Left)']   [False, True]   \n",
       "15    15      ['NavigateTo(CounterTop_2)', 'Rotate(Right)']    [True, True]   \n",
       "16    16       ['NavigateTo(CounterTop_2)', 'Rotate(Left)']    [True, True]   \n",
       "17    17                  ['Rotate(Right)', 'Rotate(Left)']    [True, True]   \n",
       "18    18       ['PickupObject(Lettuce_1)', 'Rotate(Right)']   [False, True]   \n",
       "19    19                  ['NavigateTo(Lettuce_1)', 'Idle']    [True, True]   \n",
       "20    20       ['PickupObject(Lettuce_1)', 'Rotate(Right)']   [False, True]   \n",
       "21    21  ['NavigateTo(CounterTop_2)', 'NavigateTo(Count...    [True, True]   \n",
       "22    22       ['Rotate(Left)', 'NavigateTo(CounterTop_2)']    [True, True]   \n",
       "23    23         ['Rotate(Right)', 'PickupObject(Bread_1)']   [True, False]   \n",
       "24    24      ['Rotate(Right)', 'NavigateTo(CounterTop_2)']    [True, True]   \n",
       "25    25   ['PickupObject(Bread_1)', 'NavigateTo(Bread_1)']   [False, True]   \n",
       "26    26   ['NavigateTo(Bread_1)', 'PickupObject(Bread_1)']    [True, True]   \n",
       "27    27  ['PickupObject(Lettuce_1)', 'NavigateTo(Fridge...  [False, False]   \n",
       "28    28  ['NavigateTo(CounterTop_2)', 'NavigateTo(Fridg...   [True, False]   \n",
       "29    29         ['NavigateTo(Lettuce_1)', 'Rotate(Right)']    [True, True]   \n",
       "\n",
       "    Coverage  Transport Rate  Finished  \n",
       "0       0.50        0.071429     False  \n",
       "1       0.50        0.142857     False  \n",
       "2       0.50        0.214286     False  \n",
       "3       0.50        0.214286     False  \n",
       "4       0.50        0.285714     False  \n",
       "5       0.50        0.357143     False  \n",
       "6       0.50        0.428571     False  \n",
       "7       0.50        0.428571     False  \n",
       "8       0.50        0.428571     False  \n",
       "9       0.50        0.428571     False  \n",
       "10      0.75        0.428571     False  \n",
       "11      0.75        0.500000     False  \n",
       "12      0.75        0.500000     False  \n",
       "13      0.75        0.500000     False  \n",
       "14      0.75        0.500000     False  \n",
       "15      0.75        0.500000     False  \n",
       "16      0.75        0.500000     False  \n",
       "17      0.75        0.500000     False  \n",
       "18      1.00        0.500000     False  \n",
       "19      1.00        0.571429     False  \n",
       "20      1.00        0.571429     False  \n",
       "21      1.00        0.571429     False  \n",
       "22      1.00        0.571429     False  \n",
       "23      1.00        0.571429     False  \n",
       "24      1.00        0.571429     False  \n",
       "25      1.00        0.571429     False  \n",
       "26      1.00        0.642857     False  \n",
       "27      1.00        0.642857     False  \n",
       "28      1.00        0.642857     False  \n",
       "29      1.00        0.642857     False  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1.0, 0.6428571428571429)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['Coverage'].to_list()[-1], df['Transport Rate'].to_list()[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "auto.config().num_agents"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "py310",
   "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.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
