Skip to content

Instantly share code, notes, and snippets.

@galleon
Created November 27, 2019 06:00
Show Gist options
  • Save galleon/1f025b1dcc37e4f14a828e0b7af77f4c to your computer and use it in GitHub Desktop.
Save galleon/1f025b1dcc37e4f14a828e0b7af77f4c to your computer and use it in GitHub Desktop.
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: gym-jsbsim in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (0.5.0)\n",
"Requirement already satisfied: geographiclib in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym-jsbsim) (1.50)\n",
"Requirement already satisfied: cython>=0.25 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym-jsbsim) (0.29.14)\n",
"Requirement already satisfied: shapely in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym-jsbsim) (1.6.4.post2)\n",
"Requirement already satisfied: gym>=0.12.5 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym-jsbsim) (0.15.4)\n",
"Requirement already satisfied: cloudpickle~=1.2.0 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym>=0.12.5->gym-jsbsim) (1.2.2)\n",
"Requirement already satisfied: opencv-python in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym>=0.12.5->gym-jsbsim) (4.1.2.30)\n",
"Requirement already satisfied: numpy>=1.10.4 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym>=0.12.5->gym-jsbsim) (1.17.4)\n",
"Requirement already satisfied: pyglet<=1.3.2,>=1.2.0 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym>=0.12.5->gym-jsbsim) (1.3.2)\n",
"Requirement already satisfied: scipy in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym>=0.12.5->gym-jsbsim) (1.3.2)\n",
"Requirement already satisfied: six in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym>=0.12.5->gym-jsbsim) (1.13.0)\n",
"Requirement already satisfied: future in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from pyglet<=1.3.2,>=1.2.0->gym>=0.12.5->gym-jsbsim) (0.18.2)\n"
]
}
],
"source": [
"!pip install gym-jsbsim"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: gym in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (0.15.4)\n",
"Requirement already satisfied: scipy in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym) (1.3.2)\n",
"Requirement already satisfied: cloudpickle~=1.2.0 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym) (1.2.2)\n",
"Requirement already satisfied: six in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym) (1.13.0)\n",
"Requirement already satisfied: pyglet<=1.3.2,>=1.2.0 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym) (1.3.2)\n",
"Requirement already satisfied: numpy>=1.10.4 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym) (1.17.4)\n",
"Requirement already satisfied: opencv-python in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym) (4.1.2.30)\n",
"Requirement already satisfied: future in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from pyglet<=1.3.2,>=1.2.0->gym) (0.18.2)\n",
"Requirement already satisfied: folium in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (0.10.0)\n",
"Requirement already satisfied: jinja2>=2.9 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from folium) (2.10.3)\n",
"Requirement already satisfied: numpy in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from folium) (1.17.4)\n",
"Requirement already satisfied: requests in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from folium) (2.22.0)\n",
"Requirement already satisfied: branca>=0.3.0 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from folium) (0.3.1)\n",
"Requirement already satisfied: MarkupSafe>=0.23 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from jinja2>=2.9->folium) (1.1.1)\n",
"Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from requests->folium) (3.0.4)\n",
"Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from requests->folium) (1.24.2)\n",
"Requirement already satisfied: idna<2.9,>=2.5 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from requests->folium) (2.8)\n",
"Requirement already satisfied: certifi>=2017.4.17 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from requests->folium) (2019.9.11)\n",
"Requirement already satisfied: six in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from branca>=0.3.0->folium) (1.13.0)\n"
]
}
],
"source": [
"!pip install gym\n",
"!pip install folium"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"import gym\n",
"import gym_jsbsim\n",
"import random\n",
"import numpy as np\n",
"import folium\n",
"\n",
"from numpy.linalg import norm\n",
"from numpy import array\n",
"\n",
"env1 = gym.make('GymJsbsim-TaxiapControlTask-v0')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(array([11.81175935]),\n",
" array([0.]),\n",
" array([205.12336944]),\n",
" array([419.8125379]),\n",
" array([448.81140705]),\n",
" array([455.89975816]),\n",
" array([-0.08671113]),\n",
" array([-0.08582826]),\n",
" array([0.19471952]),\n",
" array([0.19164676]))"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"env1.reset()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2.0422547485486975\n"
]
}
],
"source": [
"# big action number\n",
"ban = 10\n",
"action = []\n",
"for i in range(ban):\n",
" action.append(env1.action_space.sample()[0][0])\n",
"\n",
"# one action permutation\n",
"oap = action\n",
"\n",
"print(norm(oap))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2.042254748548697\n",
"2.0422547485486975\n",
"2.0422547485486975\n",
"2.0422547485486975\n",
"2.0422547485486975\n",
"2.0422547485486975\n",
"2.0422547485486975\n",
"2.0422547485486975\n",
"2.042254748548697\n",
"2.042254748548697\n"
]
}
],
"source": [
"# step returns state, reward, done, info\n",
"\n",
"for i in range(10):\n",
" env1.reset()\n",
" # yet another action permutation \n",
" random.shuffle(action)\n",
" print(norm(action))\n",
" for i in action:\n",
" state = env1.step(np.asarray([i]))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{0: (array([11.81175935]), array([0.]), array([205.12336944]), array([419.8125379]), array([448.81140705]), array([455.89975816]), array([-0.08671113]), array([-0.08582826]), array([0.19471952]), array([0.19164676])), 1: ((array([10.71654343]), array([5.27722585e-10]), array([204.82523774]), array([419.5144062]), array([448.51328099]), array([455.601632]), array([-0.08159672]), array([-0.08076182]), array([0.19996897]), array([0.19689063])), 0.9993041931749488, False, {}), 2: ((array([10.52965825]), array([0.00034802]), array([204.54738031]), array([419.23654877]), array([448.23543546]), array([455.3237863]), array([-0.0544678]), array([-0.05385778]), array([0.22703218]), array([0.22394615])), 0.9960566670446923, False, {}), 3: ((array([10.46426218]), array([0.00197556]), array([204.27131196]), array([418.96048041]), array([447.95937396]), array([455.04772468]), array([-0.01483134]), array([-0.01431006]), array([0.26674697]), array([0.26365514])), 0.9947880775170133, False, {}), 4: ((array([10.43222719]), array([0.00261278]), array([203.99708701]), array([418.68625546]), array([447.68514713]), array([454.77349784]), array([-0.00024346]), array([0.00042518]), array([0.28166353]), array([0.27856918])), 0.9969147140721665, False, {}), 5: ((array([10.37902524]), array([0.00154503]), array([203.7239662]), array([418.41313466]), array([447.41202301]), array([454.50037372]), array([-0.00853851]), array([-0.00768297]), array([0.27373876]), array([0.27064244])), 0.9996063688366484, False, {}), 6: ((array([10.33107988]), array([0.00019685]), array([203.45229089]), array([418.14145935]), array([447.14034332]), array([454.22869404]), array([-0.03542721]), array([-0.03435601]), array([0.24725024]), array([0.24415236])), 0.9972984079899717, False, {}), 7: ((array([10.28748051]), array([0.00135262]), array([203.18162833]), array([417.87079678]), array([446.86967938]), array([453.95803006]), array([-0.07163007]), array([-0.07042447]), array([0.21136061]), array([0.20826007])), 0.9953839810215173, False, {}), 8: ((array([10.2658249]), array([0.00231335]), array([202.9118205]), array([417.60098894]), array([446.59987069]), array([453.68822135]), array([-0.10132226]), array([-0.09999667]), array([0.18196598]), array([0.17886256])), 0.9936857300013433, False, {}), 9: ((array([10.229306]), array([0.00316714]), array([202.6427002]), array([417.33186863]), array([446.33074956]), array([453.41910018]), array([-0.13109027]), array([-0.129645]), array([0.15249496]), array([0.14938867])), 0.9920012329089208, False, {}), 10: ((array([10.19064239]), array([0.00401546]), array([202.37441084]), array([417.06357928]), array([446.06246241]), array([453.15081297]), array([-0.1479928]), array([-0.14651088]), array([0.13580074]), array([0.13269044])), 0.9914989232334661, False, {})}\n"
]
}
],
"source": [
"state1 = {}\n",
"\n",
"state = env1.reset()\n",
"state1[0] = state\n",
"\n",
"for i in range(len(oap)):\n",
" state1[i+1] = env1.step(np.asarray([oap[i]]))\n",
" \n",
"print(state1)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2.042254748548697\n",
"2.042254748548697\n",
"2.0422547485486975\n",
"2.0422547485486975\n",
"2.0422547485486975\n",
"2.042254748548697\n",
"2.0422547485486975\n",
"2.042254748548697\n",
"2.0422547485486975\n",
"2.0422547485486975\n"
]
}
],
"source": [
"for i in range(10):\n",
" env1.reset()\n",
" # yet another action permutation \n",
" random.shuffle(action)\n",
" print(norm(action))\n",
" for i in action:\n",
" state = env1.step(np.asarray([i]))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{0: (array([11.81175935]), array([0.]), array([205.12336944]), array([419.8125379]), array([448.81140705]), array([455.89975816]), array([-0.08671113]), array([-0.08582826]), array([0.19471952]), array([0.19164676])), 1: ((array([10.69513557]), array([5.27722585e-10]), array([204.82545155]), array([419.51462001]), array([448.51349505]), array([455.60184606]), array([-0.08131443]), array([-0.08048643]), array([0.20024378]), array([0.19716535])), 0.9992041685368482, False, {}), 2: ((array([10.54322195]), array([0.00039807]), array([204.54836103]), array([419.23752949]), array([448.23640774]), array([455.32475867]), array([-0.06489386]), array([-0.06405529]), array([0.2168488]), array([0.21376593])), 0.9993586398836887, False, {}), 3: ((array([10.51946331]), array([0.00032078]), array([204.27203168]), array([418.96120014]), array([447.96007459]), array([455.04842553]), array([-0.07094458]), array([-0.06990572]), array([0.21118421]), array([0.20809953])), 0.9977483059516237, False, {}), 4: ((array([10.45893423]), array([0.00112712]), array([203.99636516]), array([418.68553362]), array([447.68441018]), array([454.77276106]), array([-0.08340532]), array([-0.08232604]), array([0.19893921]), array([0.19585051])), 0.9971714056498021, False, {}), 5: ((array([10.40719524]), array([0.0014163]), array([203.72229097]), array([418.41145942]), array([447.41033745]), array([454.49868827]), array([-0.08648707]), array([-0.08535017]), array([0.19609072]), array([0.19299825])), 0.9963503313986308, False, {}), 6: ((array([10.36309434]), array([0.00182817]), array([203.44949484]), array([418.13866329]), array([447.13754226]), array([454.22589302]), array([-0.09912796]), array([-0.09791927]), array([0.18369757]), array([0.18060155])), 0.9953307263917186, False, {}), 7: ((array([10.33676786]), array([0.0023401]), array([203.1773392]), array([417.86650766]), array([446.86539254]), array([453.9537432]), array([-0.09713952]), array([-0.09599472]), array([0.18578915]), array([0.1826877])), 0.9962522981397568, False, {}), 8: ((array([10.29699108]), array([0.00187737]), array([202.9061536]), array([417.59532205]), array([446.59421025]), array([453.68256083]), array([-0.08731382]), array([-0.08616223]), array([0.19579281]), array([0.19268692])), 0.9961629506090299, False, {}), 9: ((array([10.25425636]), array([0.00192221]), array([202.63609679]), array([417.32526524]), array([446.32415633]), array([453.41250684]), array([-0.08239244]), array([-0.08122285]), array([0.20090359]), array([0.19779341])), 0.9959144260876046, False, {}), 10: ((array([10.21187118]), array([0.00204697]), array([202.36718443]), array([417.05635288]), array([446.05524648]), array([453.14359693]), array([-0.07280752]), array([-0.07160988]), array([0.21068807]), array([0.20757376])), 0.9955244544326767, False, {})}\n"
]
}
],
"source": [
"state2 = {}\n",
"\n",
"state = env1.reset()\n",
"state2[0] = state\n",
"\n",
"for i in range(len(oap)):\n",
" state2[i+1] = env1.step(np.asarray([oap[i]]))\n",
" \n",
"print(state2)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"ii = 10\n",
"\n",
"for i in range(10):\n",
" d = array([state2[ii][0][j] - state1[ii][0][j] for j in range(len(state1[ii][0]))])"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.1521240514580012"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"norm(d)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"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.7.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: gym-jsbsim in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (0.5.0)\n",
"Requirement already satisfied: geographiclib in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym-jsbsim) (1.50)\n",
"Requirement already satisfied: cython>=0.25 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym-jsbsim) (0.29.14)\n",
"Requirement already satisfied: shapely in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym-jsbsim) (1.6.4.post2)\n",
"Requirement already satisfied: gym>=0.12.5 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym-jsbsim) (0.15.4)\n",
"Requirement already satisfied: cloudpickle~=1.2.0 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym>=0.12.5->gym-jsbsim) (1.2.2)\n",
"Requirement already satisfied: opencv-python in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym>=0.12.5->gym-jsbsim) (4.1.2.30)\n",
"Requirement already satisfied: numpy>=1.10.4 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym>=0.12.5->gym-jsbsim) (1.17.4)\n",
"Requirement already satisfied: pyglet<=1.3.2,>=1.2.0 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym>=0.12.5->gym-jsbsim) (1.3.2)\n",
"Requirement already satisfied: scipy in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym>=0.12.5->gym-jsbsim) (1.3.2)\n",
"Requirement already satisfied: six in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym>=0.12.5->gym-jsbsim) (1.13.0)\n",
"Requirement already satisfied: future in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from pyglet<=1.3.2,>=1.2.0->gym>=0.12.5->gym-jsbsim) (0.18.2)\n"
]
}
],
"source": [
"!pip install gym-jsbsim"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: gym in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (0.15.4)\n",
"Requirement already satisfied: scipy in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym) (1.3.2)\n",
"Requirement already satisfied: cloudpickle~=1.2.0 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym) (1.2.2)\n",
"Requirement already satisfied: six in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym) (1.13.0)\n",
"Requirement already satisfied: pyglet<=1.3.2,>=1.2.0 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym) (1.3.2)\n",
"Requirement already satisfied: numpy>=1.10.4 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym) (1.17.4)\n",
"Requirement already satisfied: opencv-python in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from gym) (4.1.2.30)\n",
"Requirement already satisfied: future in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from pyglet<=1.3.2,>=1.2.0->gym) (0.18.2)\n",
"Requirement already satisfied: folium in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (0.10.0)\n",
"Requirement already satisfied: jinja2>=2.9 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from folium) (2.10.3)\n",
"Requirement already satisfied: numpy in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from folium) (1.17.4)\n",
"Requirement already satisfied: requests in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from folium) (2.22.0)\n",
"Requirement already satisfied: branca>=0.3.0 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from folium) (0.3.1)\n",
"Requirement already satisfied: MarkupSafe>=0.23 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from jinja2>=2.9->folium) (1.1.1)\n",
"Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from requests->folium) (3.0.4)\n",
"Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from requests->folium) (1.24.2)\n",
"Requirement already satisfied: idna<2.9,>=2.5 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from requests->folium) (2.8)\n",
"Requirement already satisfied: certifi>=2017.4.17 in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from requests->folium) (2019.9.11)\n",
"Requirement already satisfied: six in /Users/alleon_g/.julia/conda/3/lib/python3.7/site-packages (from branca>=0.3.0->folium) (1.13.0)\n"
]
}
],
"source": [
"!pip install gym\n",
"!pip install folium"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"import gym\n",
"import gym_jsbsim\n",
"import random\n",
"import numpy as np\n",
"import folium\n",
"\n",
"from numpy.linalg import norm\n",
"from numpy import array\n",
"\n",
"env1 = gym.make('GymJsbsim-TaxiapControlTask-v0')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(array([11.81175935]),\n",
" array([0.]),\n",
" array([205.12336944]),\n",
" array([419.8125379]),\n",
" array([448.81140705]),\n",
" array([455.89975816]),\n",
" array([-0.08671113]),\n",
" array([-0.08582826]),\n",
" array([0.19471952]),\n",
" array([0.19164676]))"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"env1.reset()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2.0422547485486975\n"
]
}
],
"source": [
"# big action number\n",
"ban = 10\n",
"action = []\n",
"for i in range(ban):\n",
" action.append(env1.action_space.sample()[0][0])\n",
"\n",
"# one action permutation\n",
"oap = action\n",
"\n",
"print(norm(oap))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2.042254748548697\n",
"2.0422547485486975\n",
"2.0422547485486975\n",
"2.0422547485486975\n",
"2.0422547485486975\n",
"2.0422547485486975\n",
"2.0422547485486975\n",
"2.0422547485486975\n",
"2.042254748548697\n",
"2.042254748548697\n"
]
}
],
"source": [
"# step returns state, reward, done, info\n",
"\n",
"for i in range(10):\n",
" env1.reset()\n",
" # yet another action permutation \n",
" random.shuffle(action)\n",
" print(norm(action))\n",
" for i in action:\n",
" state = env1.step(np.asarray([i]))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{0: (array([11.81175935]), array([0.]), array([205.12336944]), array([419.8125379]), array([448.81140705]), array([455.89975816]), array([-0.08671113]), array([-0.08582826]), array([0.19471952]), array([0.19164676])), 1: ((array([10.71654343]), array([5.27722585e-10]), array([204.82523774]), array([419.5144062]), array([448.51328099]), array([455.601632]), array([-0.08159672]), array([-0.08076182]), array([0.19996897]), array([0.19689063])), 0.9993041931749488, False, {}), 2: ((array([10.52965825]), array([0.00034802]), array([204.54738031]), array([419.23654877]), array([448.23543546]), array([455.3237863]), array([-0.0544678]), array([-0.05385778]), array([0.22703218]), array([0.22394615])), 0.9960566670446923, False, {}), 3: ((array([10.46426218]), array([0.00197556]), array([204.27131196]), array([418.96048041]), array([447.95937396]), array([455.04772468]), array([-0.01483134]), array([-0.01431006]), array([0.26674697]), array([0.26365514])), 0.9947880775170133, False, {}), 4: ((array([10.43222719]), array([0.00261278]), array([203.99708701]), array([418.68625546]), array([447.68514713]), array([454.77349784]), array([-0.00024346]), array([0.00042518]), array([0.28166353]), array([0.27856918])), 0.9969147140721665, False, {}), 5: ((array([10.37902524]), array([0.00154503]), array([203.7239662]), array([418.41313466]), array([447.41202301]), array([454.50037372]), array([-0.00853851]), array([-0.00768297]), array([0.27373876]), array([0.27064244])), 0.9996063688366484, False, {}), 6: ((array([10.33107988]), array([0.00019685]), array([203.45229089]), array([418.14145935]), array([447.14034332]), array([454.22869404]), array([-0.03542721]), array([-0.03435601]), array([0.24725024]), array([0.24415236])), 0.9972984079899717, False, {}), 7: ((array([10.28748051]), array([0.00135262]), array([203.18162833]), array([417.87079678]), array([446.86967938]), array([453.95803006]), array([-0.07163007]), array([-0.07042447]), array([0.21136061]), array([0.20826007])), 0.9953839810215173, False, {}), 8: ((array([10.2658249]), array([0.00231335]), array([202.9118205]), array([417.60098894]), array([446.59987069]), array([453.68822135]), array([-0.10132226]), array([-0.09999667]), array([0.18196598]), array([0.17886256])), 0.9936857300013433, False, {}), 9: ((array([10.229306]), array([0.00316714]), array([202.6427002]), array([417.33186863]), array([446.33074956]), array([453.41910018]), array([-0.13109027]), array([-0.129645]), array([0.15249496]), array([0.14938867])), 0.9920012329089208, False, {}), 10: ((array([10.19064239]), array([0.00401546]), array([202.37441084]), array([417.06357928]), array([446.06246241]), array([453.15081297]), array([-0.1479928]), array([-0.14651088]), array([0.13580074]), array([0.13269044])), 0.9914989232334661, False, {})}\n"
]
}
],
"source": [
"state1 = {}\n",
"\n",
"state = env1.reset()\n",
"state1[0] = state\n",
"\n",
"for i in range(len(oap)):\n",
" state1[i+1] = env1.step(np.asarray([oap[i]]))\n",
" \n",
"print(state1)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2.042254748548697\n",
"2.042254748548697\n",
"2.0422547485486975\n",
"2.0422547485486975\n",
"2.0422547485486975\n",
"2.042254748548697\n",
"2.0422547485486975\n",
"2.042254748548697\n",
"2.0422547485486975\n",
"2.0422547485486975\n"
]
}
],
"source": [
"for i in range(10):\n",
" env1.reset()\n",
" # yet another action permutation \n",
" random.shuffle(action)\n",
" print(norm(action))\n",
" for i in action:\n",
" state = env1.step(np.asarray([i]))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{0: (array([11.81175935]), array([0.]), array([205.12336944]), array([419.8125379]), array([448.81140705]), array([455.89975816]), array([-0.08671113]), array([-0.08582826]), array([0.19471952]), array([0.19164676])), 1: ((array([10.69513557]), array([5.27722585e-10]), array([204.82545155]), array([419.51462001]), array([448.51349505]), array([455.60184606]), array([-0.08131443]), array([-0.08048643]), array([0.20024378]), array([0.19716535])), 0.9992041685368482, False, {}), 2: ((array([10.54322195]), array([0.00039807]), array([204.54836103]), array([419.23752949]), array([448.23640774]), array([455.32475867]), array([-0.06489386]), array([-0.06405529]), array([0.2168488]), array([0.21376593])), 0.9993586398836887, False, {}), 3: ((array([10.51946331]), array([0.00032078]), array([204.27203168]), array([418.96120014]), array([447.96007459]), array([455.04842553]), array([-0.07094458]), array([-0.06990572]), array([0.21118421]), array([0.20809953])), 0.9977483059516237, False, {}), 4: ((array([10.45893423]), array([0.00112712]), array([203.99636516]), array([418.68553362]), array([447.68441018]), array([454.77276106]), array([-0.08340532]), array([-0.08232604]), array([0.19893921]), array([0.19585051])), 0.9971714056498021, False, {}), 5: ((array([10.40719524]), array([0.0014163]), array([203.72229097]), array([418.41145942]), array([447.41033745]), array([454.49868827]), array([-0.08648707]), array([-0.08535017]), array([0.19609072]), array([0.19299825])), 0.9963503313986308, False, {}), 6: ((array([10.36309434]), array([0.00182817]), array([203.44949484]), array([418.13866329]), array([447.13754226]), array([454.22589302]), array([-0.09912796]), array([-0.09791927]), array([0.18369757]), array([0.18060155])), 0.9953307263917186, False, {}), 7: ((array([10.33676786]), array([0.0023401]), array([203.1773392]), array([417.86650766]), array([446.86539254]), array([453.9537432]), array([-0.09713952]), array([-0.09599472]), array([0.18578915]), array([0.1826877])), 0.9962522981397568, False, {}), 8: ((array([10.29699108]), array([0.00187737]), array([202.9061536]), array([417.59532205]), array([446.59421025]), array([453.68256083]), array([-0.08731382]), array([-0.08616223]), array([0.19579281]), array([0.19268692])), 0.9961629506090299, False, {}), 9: ((array([10.25425636]), array([0.00192221]), array([202.63609679]), array([417.32526524]), array([446.32415633]), array([453.41250684]), array([-0.08239244]), array([-0.08122285]), array([0.20090359]), array([0.19779341])), 0.9959144260876046, False, {}), 10: ((array([10.21187118]), array([0.00204697]), array([202.36718443]), array([417.05635288]), array([446.05524648]), array([453.14359693]), array([-0.07280752]), array([-0.07160988]), array([0.21068807]), array([0.20757376])), 0.9955244544326767, False, {})}\n"
]
}
],
"source": [
"state2 = {}\n",
"\n",
"state = env1.reset()\n",
"state2[0] = state\n",
"\n",
"for i in range(len(oap)):\n",
" state2[i+1] = env1.step(np.asarray([oap[i]]))\n",
" \n",
"print(state2)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"ii = 10\n",
"\n",
"for i in range(10):\n",
" d = array([state2[ii][0][j] - state1[ii][0][j] for j in range(len(state1[ii][0]))])"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.1521240514580012"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"norm(d)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"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.7.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment