diff --git a/aima-data b/aima-data deleted file mode 160000 index a21fc108f..000000000 --- a/aima-data +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a21fc108f52ad551344e947b0eb97df82f8d2b2b diff --git a/mdp.ipynb b/mdp.ipynb index 909b874ca..70e6852b2 100644 --- a/mdp.ipynb +++ b/mdp.ipynb @@ -11,7 +11,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 52, "metadata": { "collapsed": true }, @@ -37,7 +37,7 @@ "\n", "- MDPs help us deal with fully-observable and non-deterministic/stochastic environments. For dealing with partially-observable and stochastic cases we make use of generalization of MDPs named POMDPs (partially observable Markov decision process).\n", "\n", - "Our overall goal to solve a MDP is to come up with a policy which guides us to select the best action in each state so as to maximize the expected sum of future rewards." + "### Our overall goal to solve a MDP is to come up with a policy which guides us to select the best action in each state so as to maximize the expected sum of future rewards." ] }, { @@ -51,13 +51,13 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [], "source": [ - "%psource MDP" + "%psource MDPdelta" ] }, { @@ -88,7 +88,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 17, "metadata": { "collapsed": true }, @@ -120,7 +120,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 18, "metadata": { "collapsed": false }, @@ -154,7 +154,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 30, "metadata": { "collapsed": false }, @@ -182,7 +182,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 31, "metadata": { "collapsed": true }, @@ -199,7 +199,7 @@ "\n", "**go** method returns the state by going in particular direction by using vector_add.\n", "\n", - "**T** method is not implemented and is somewhat different from the text. Here we return (probability, s') pairs where s' belongs to list of possible state by taking action a in state s.\n", + "**T** method takes state and action as input. It returns the probabilities for actions selected.\n", "\n", "**actions** method returns list of actions possible in each state. By default it returns all actions for states other than terminal states.\n", "\n", @@ -222,7 +222,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 53, "metadata": { "collapsed": false }, @@ -230,10 +230,10 @@ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 7, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -257,7 +257,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 54, "metadata": { "collapsed": false }, @@ -275,7 +275,146 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 67, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "U: {(0, 1): 0, (1, 2): 0, (3, 2): 0, (0, 0): 0, (3, 0): 0, (3, 1): 0, (2, 1): 0, (2, 0): 0, (2, 2): 0, (1, 0): 0, (0, 2): 0}\n", + "\n", + "U1 {(0, 1): -0.04, (1, 2): -0.04, (3, 2): 1.0, (0, 0): -0.04, (2, 0): -0.04, (3, 0): -0.04, (1, 0): -0.04, (3, 1): -1.0, (2, 2): -0.04, (2, 1): -0.04, (0, 2): -0.04}\n", + "\n", + "\n", + "U: {(0, 1): -0.04, (1, 2): -0.04, (3, 2): 1.0, (0, 0): -0.04, (3, 0): -0.04, (3, 1): -1.0, (2, 1): -0.04, (2, 0): -0.04, (2, 2): -0.04, (1, 0): -0.04, (0, 2): -0.04}\n", + "\n", + "U1 {(0, 1): -0.07600000000000001, (1, 2): -0.07600000000000001, (3, 2): 1.0, (0, 0): -0.07600000000000001, (2, 0): -0.07600000000000001, (3, 0): -0.07600000000000001, (1, 0): -0.07600000000000001, (3, 1): -1.0, (2, 2): 0.6728000000000001, (2, 1): -0.07600000000000001, (0, 2): -0.07600000000000001}\n", + "\n", + "\n", + "U: {(0, 1): -0.07600000000000001, (1, 2): -0.07600000000000001, (3, 2): 1.0, (0, 0): -0.07600000000000001, (3, 0): -0.07600000000000001, (3, 1): -1.0, (2, 1): -0.07600000000000001, (2, 0): -0.07600000000000001, (2, 2): 0.6728000000000001, (1, 0): -0.07600000000000001, (0, 2): -0.07600000000000001}\n", + "\n", + "U1 {(0, 1): -0.10840000000000002, (1, 2): 0.430736, (3, 2): 1.0, (0, 0): -0.10840000000000002, (2, 0): -0.10840000000000002, (3, 0): -0.10840000000000002, (1, 0): -0.10840000000000002, (3, 1): -1.0, (2, 2): 0.733712, (2, 1): 0.3475760000000001, (0, 2): -0.10840000000000002}\n", + "\n", + "\n", + "U: {(0, 1): -0.10840000000000002, (1, 2): 0.430736, (3, 2): 1.0, (0, 0): -0.10840000000000002, (3, 0): -0.10840000000000002, (3, 1): -1.0, (2, 1): 0.3475760000000001, (2, 0): -0.10840000000000002, (2, 2): 0.733712, (1, 0): -0.10840000000000002, (0, 2): -0.10840000000000002}\n", + "\n", + "U1 {(0, 1): -0.13756000000000002, (1, 2): 0.5658051200000002, (3, 2): 1.0, (0, 0): -0.13756000000000002, (2, 0): 0.19074272000000006, (3, 0): -0.13756000000000002, (1, 0): -0.13756000000000002, (3, 1): -1.0, (2, 2): 0.77731592, (2, 1): 0.4295544800000002, (0, 2): 0.25061792000000005}\n", + "\n", + "\n", + "U: {(0, 1): -0.13756000000000002, (1, 2): 0.5658051200000002, (3, 2): 1.0, (0, 0): -0.13756000000000002, (3, 0): -0.13756000000000002, (3, 1): -1.0, (2, 1): 0.4295544800000002, (2, 0): 0.19074272000000006, (2, 2): 0.77731592, (1, 0): -0.13756000000000002, (0, 2): 0.25061792000000005}\n", + "\n", + "U1 {(0, 1): 0.11568410240000007, (1, 2): 0.6215123840000002, (3, 2): 1.0, (0, 0): -0.163804, (2, 0): 0.24451842560000017, (3, 0): -0.005045641599999963, (1, 0): 0.07257395840000005, (3, 1): -1.0, (2, 2): 0.7886183360000001, (2, 1): 0.46832736560000027, (0, 2): 0.3775548992000002}\n", + "\n", + "\n", + "U: {(0, 1): 0.11568410240000007, (1, 2): 0.6215123840000002, (3, 2): 1.0, (0, 0): -0.163804, (3, 0): -0.005045641599999963, (3, 1): -1.0, (2, 1): 0.46832736560000027, (2, 0): 0.24451842560000017, (2, 2): 0.7886183360000001, (1, 0): 0.07257395840000005, (0, 2): 0.3775548992000002}\n", + "\n", + "U1 {(0, 1): 0.25266266585600017, (1, 2): 0.6396774310400002, (3, 2): 1.0, (0, 0): 0.03508184998400005, (2, 0): 0.30327325174400027, (3, 0): 0.04559915868800014, (1, 0): 0.14911657894400016, (3, 1): -1.0, (2, 2): 0.7931251131440001, (2, 1): 0.4799546648240001, (0, 2): 0.45188042662400024}\n", + "\n", + "\n", + "U: {(0, 1): 0.25266266585600017, (1, 2): 0.6396774310400002, (3, 2): 1.0, (0, 0): 0.03508184998400005, (3, 0): 0.04559915868800014, (3, 1): -1.0, (2, 1): 0.4799546648240001, (2, 0): 0.30327325174400027, (2, 2): 0.7931251131440001, (1, 0): 0.14911657894400016, (0, 2): 0.45188042662400024}\n", + "\n", + "U1 {(0, 1): 0.33083318702336023, (1, 2): 0.6461920190508801, (3, 2): 1.0, (0, 0): 0.15849497801984014, (2, 0): 0.3230917750601602, (3, 0): 0.09246066553760018, (1, 0): 0.20519772546560022, (3, 1): -1.0, (2, 2): 0.7945771800171201, (2, 1): 0.4842460012978403, (0, 2): 0.48397662867200036}\n", + "\n", + "\n", + "U: {(0, 1): 0.33083318702336023, (1, 2): 0.6461920190508801, (3, 2): 1.0, (0, 0): 0.15849497801984014, (3, 0): 0.09246066553760018, (3, 1): -1.0, (2, 1): 0.4842460012978403, (2, 0): 0.3230917750601602, (2, 2): 0.7945771800171201, (1, 0): 0.20519772546560022, (0, 2): 0.48397662867200036}\n", + "\n", + "U1 {(0, 1): 0.3680131463080452, (1, 2): 0.6484101330414849, (3, 2): 1.0, (0, 0): 0.23093223797050902, (2, 0): 0.3354463761247331, (3, 0): 0.11094753794169937, (1, 0): 0.22956166862712338, (3, 1): -1.0, (2, 2): 0.7950940863183464, (2, 1): 0.4856777097291322, (0, 2): 0.49859113712921616}\n", + "\n", + "\n", + "U: {(0, 1): 0.3680131463080452, (1, 2): 0.6484101330414849, (3, 2): 1.0, (0, 0): 0.23093223797050902, (3, 0): 0.11094753794169937, (3, 1): -1.0, (2, 1): 0.4856777097291322, (2, 0): 0.3354463761247331, (2, 2): 0.7950940863183464, (1, 0): 0.22956166862712338, (0, 2): 0.49859113712921616}\n", + "\n", + "U1 {(0, 1): 0.38522798506848377, (1, 2): 0.6491815660966767, (3, 2): 1.0, (0, 0): 0.26641391693557953, (2, 0): 0.34033377959616934, (3, 0): 0.12150666922456077, (1, 0): 0.24284249116269005, (3, 1): -1.0, (2, 2): 0.795269461644273, (2, 1): 0.48617873602483136, (0, 2): 0.5048496812992226}\n", + "\n", + "\n", + "U: {(0, 1): 0.38522798506848377, (1, 2): 0.6491815660966767, (3, 2): 1.0, (0, 0): 0.26641391693557953, (3, 0): 0.12150666922456077, (3, 1): -1.0, (2, 1): 0.48617873602483136, (2, 0): 0.34033377959616934, (2, 2): 0.795269461644273, (1, 0): 0.24284249116269005, (0, 2): 0.5048496812992226}\n", + "\n", + "U1 {(0, 1): 0.39283280784776736, (1, 2): 0.6494466942812784, (3, 2): 1.0, (0, 0): 0.28319722597815267, (2, 0): 0.3428401143727312, (3, 0): 0.12597592153945242, (1, 0): 0.24875196971852623, (3, 1): -1.0, (2, 2): 0.7953303377902194, (2, 1): 0.4863500986261115, (0, 2): 0.5075177175627008}\n", + "\n", + "\n", + "U: {(0, 1): 0.39283280784776736, (1, 2): 0.6494466942812784, (3, 2): 1.0, (0, 0): 0.28319722597815267, (3, 0): 0.12597592153945242, (3, 1): -1.0, (2, 1): 0.4863500986261115, (2, 0): 0.3428401143727312, (2, 2): 0.7953303377902194, (1, 0): 0.24875196971852623, (0, 2): 0.5075177175627008}\n", + "\n", + "U1 {(0, 1): 0.3961226620577427, (1, 2): 0.649538248179588, (3, 2): 1.0, (0, 0): 0.2907150492630937, (2, 0): 0.3438975812240184, (3, 0): 0.1281827152869172, (1, 0): 0.2516202368977013, (3, 1): -1.0, (2, 2): 0.7953512392774699, (2, 1): 0.48640935208530817, (0, 2): 0.5086331671694626}\n", + "\n", + "\n", + "U: {(0, 1): 0.3961226620577427, (1, 2): 0.649538248179588, (3, 2): 1.0, (0, 0): 0.2907150492630937, (3, 0): 0.1281827152869172, (3, 1): -1.0, (2, 1): 0.48640935208530817, (2, 0): 0.3438975812240184, (2, 2): 0.7953512392774699, (1, 0): 0.2516202368977013, (0, 2): 0.5086331671694626}\n", + "\n", + "U1 {(0, 1): 0.3975179595324069, (1, 2): 0.6495697769521042, (3, 2): 1.0, (0, 0): 0.29401849243604633, (2, 0): 0.34439699919803757, (3, 0): 0.12914270285711582, (1, 0): 0.2528979011228795, (3, 1): -1.0, (2, 2): 0.7953584532226501, (2, 1): 0.4864297339674562, (0, 2): 0.5090955633197518}\n", + "\n", + "\n", + "U: {(0, 1): 0.3975179595324069, (1, 2): 0.6495697769521042, (3, 2): 1.0, (0, 0): 0.29401849243604633, (3, 0): 0.12914270285711582, (3, 1): -1.0, (2, 1): 0.4864297339674562, (2, 0): 0.34439699919803757, (2, 2): 0.7953584532226501, (1, 0): 0.2528979011228795, (0, 2): 0.5090955633197518}\n", + "\n", + "U1 {(0, 1): 0.3981020383060546, (1, 2): 0.6495806461716868, (3, 2): 1.0, (0, 0): 0.2954354062836363, (2, 0): 0.34461306281476806, (3, 0): 0.12958868267972745, (1, 0): 0.25348746162470537, (3, 1): -1.0, (2, 2): 0.7953609368471095, (2, 1): 0.48643676237737926, (0, 2): 0.5092854564622092}\n", + "\n", + "\n", + "U: {(0, 1): 0.3981020383060546, (1, 2): 0.6495806461716868, (3, 2): 1.0, (0, 0): 0.2954354062836363, (3, 0): 0.12958868267972745, (3, 1): -1.0, (2, 1): 0.48643676237737926, (2, 0): 0.34461306281476806, (2, 2): 0.7953609368471095, (1, 0): 0.25348746162470537, (0, 2): 0.5092854564622092}\n", + "\n", + "U1 {(0, 1): 0.3983438955478806, (1, 2): 0.6495843908408225, (3, 2): 1.0, (0, 0): 0.2960365256921101, (2, 0): 0.3447113218991121, (3, 0): 0.12978438666780845, (1, 0): 0.25374914831907996, (3, 1): -1.0, (2, 2): 0.7953617929302039, (2, 1): 0.48643918314388307, (0, 2): 0.5093629397727583}\n", + "\n", + "\n", + "U: {(0, 1): 0.3983438955478806, (1, 2): 0.6495843908408225, (3, 2): 1.0, (0, 0): 0.2960365256921101, (3, 0): 0.12978438666780845, (3, 1): -1.0, (2, 1): 0.48643918314388307, (2, 0): 0.3447113218991121, (2, 2): 0.7953617929302039, (1, 0): 0.25374914831907996, (0, 2): 0.5093629397727583}\n", + "\n", + "U1 {(0, 1): 0.3984432178350045, (1, 2): 0.649585681261095, (3, 2): 1.0, (0, 0): 0.2962883154554812, (2, 0): 0.3447542300124158, (3, 0): 0.12987274656746342, (1, 0): 0.25386699846479516, (3, 1): -1.0, (2, 2): 0.7953620878466678, (2, 1): 0.48644001739269643, (0, 2): 0.5093943765842497}\n", + "\n", + "\n", + "U: {(0, 1): 0.3984432178350045, (1, 2): 0.649585681261095, (3, 2): 1.0, (0, 0): 0.2962883154554812, (3, 0): 0.12987274656746342, (3, 1): -1.0, (2, 1): 0.48644001739269643, (2, 0): 0.3447542300124158, (2, 2): 0.7953620878466678, (1, 0): 0.25386699846479516, (0, 2): 0.5093943765842497}\n", + "\n", + "U1 {(0, 1): 0.39848373035096063, (1, 2): 0.6495861258765978, (3, 2): 1.0, (0, 0): 0.29639309509402817, (2, 0): 0.34477338957564474, (3, 0): 0.12991159280001108, (1, 0): 0.25391910533260253, (3, 1): -1.0, (2, 2): 0.7953621894715428, (2, 1): 0.48644030481494355, (0, 2): 0.5094070740057213}\n", + "\n", + "\n" + ] + } + ], + "source": [ + "def value_iteration(mdp, epsilon=0.001):\n", + " \"Solving an MDP by value iteration. [Figure 17.4]\"\n", + " \n", + " ## Initialize the utility/value for all states\n", + " U1 = {s: 0 for s in mdp.states}\n", + " R, T, gamma = mdp.R, mdp.T, mdp.gamma\n", + " \n", + " #print(U1)\n", + " \n", + " while True:\n", + " U = U1.copy()\n", + " delta = 0\n", + " \n", + " # For each state s in a MDP, apply value iteration to calculate value of each state\n", + " for s in mdp.states:\n", + " U1[s] = R(s) + gamma * max([sum([p * U[s1] for (p, s1) in T(s, a)])\n", + " for a in mdp.actions(s)])\n", + " \n", + " delta = max(delta, abs(U1[s] - U[s]))\n", + " print('U:',U)\n", + " print()\n", + " print('U1',U1)\n", + " print()\n", + " print()\n", + " \n", + " \n", + " ## Break at convergence (epsilon)\n", + " if delta < epsilon * (1 - gamma) / gamma:\n", + " return U\n", + "utility_grid = value_iteration(sequential_decision_environment)" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from mdp import best_policy\n", + "best_policy_found = best_policy(sequential_decision_environment, utility_grid)" + ] + }, + { + "cell_type": "code", + "execution_count": 56, "metadata": { "collapsed": false }, @@ -296,15 +435,33 @@ " (3, 2): 1.0}" ] }, - "execution_count": 9, + "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "value_iteration(sequential_decision_environment)" + "utility_grid" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, { "cell_type": "markdown", "metadata": {}, @@ -316,7 +473,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 36, "metadata": { "collapsed": true }, @@ -344,7 +501,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 37, "metadata": { "collapsed": false }, @@ -390,7 +547,7 @@ " ''' Takes an input a slider and returns \n", " callback function for timer and animation\n", " '''\n", - " \n", + " R(s)\n", " def visualize_callback(Visualize, time_step):\n", " if Visualize is True:\n", " for i in range(slider.min, slider.max + 1):\n", @@ -403,7 +560,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 38, "metadata": { "collapsed": false }, @@ -417,7 +574,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 39, "metadata": { "collapsed": false }, @@ -428,7 +585,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 40, "metadata": { "collapsed": false, "scrolled": true @@ -436,9 +593,9 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAATgAAADtCAYAAAAr+2lCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADM5JREFUeJzt2lFolGe+gPFn0ggH1pKEHPWQ0a2Cya7scpz1ECxyEETY\ngANGUKgNbEqoopbdhFKkXikKB9obRXSDVsqxWch2KdQG9cRVKAgKktYajAtdrWldndhIUxs3vRGZ\nOReJaULSONvqzPjv87txJu/7hTd/Ph8+JyZyuRySFFFZsQ8gSU+KgZMUloGTFJaBkxSWgZMUloGT\nFFb5TIsjI/h/SKQimf1sothHeHrkctMOyyc4SWEZOElhGThJYRk4SWEZOElhGThJYRk4SWEZOElh\nGThJYRk4SWEZOElhGThJYRk4SWEZOElhGThJYRk4SWEZOElhGThJYRk4SWEZOElhGThJYRk4SWEZ\nOElhGThJYRk4SWEZOElhGThJYRk4SWEZOElhGThJYRk4SWGVXOC2b28llaplxYoUly/3Trvnxo0v\nWLXqeVKpOlpaXuTBgweT1i9e/Iiqqll0db1fiCMXhXPKn7N6tJeBecB/zrCnFagFUsDEKZ4CfgnU\nAW8+qQP+QCUVuNOnu+nvv05v7zX27z9MW9vWafft3Pk6ra2v0dt7lYqKSjo63h5fy2az7Nq1g9Wr\nGwp17IJzTvlzVvlpAf46w3o3cB24BhwGHk4xC/x+7Nq/AX8GPn1yx/yXlVTgTp7soqmpGYD6+uXc\nuzfMnTuDU/adPfshjY3rAWhqeonjx4+Nrx06dIB16zYwZ87cwhy6CJxT/pxVfv4bqJphvQtoHnu9\nHBgGBoEeRp/qngNmARvH9paKkgrcwECGZHLB+PuamiQDA5lJe4aGhqisrKKsbPToyeR8bt8eGL/+\nxIkP2LRpG7lcrnAHLzDnlD9n9XhkgAUT3s8f+9r3fb1UlFTgfqwdO15lz56JnwL8dG/ImTin/Dmr\n6T0tUygv9gGOHGnn6NEjJBIJli2rJ5O5Ob6WydyipiY5aX91dTXDw9+QzWYpKyubtOfSpY9padlI\nLpdjaOgrzpzpprx8Fun02oL+TE+Cc8qfs3r8ksDNCe9vjX3tPvCPab5eKor+BLd58yucP3+Jc+c+\nIZ1upLOzA4CengtUVFQyd+68KdesXLmKY8feA6Cz8x3S6UYA+vr66evr58qVz2ls3MDeve1hbkTn\nlD9n9cPk+P4ns7VAx9jrC0Alo791rQc+A24wGrt3x/aWiqIHbqKGhjUsXLiIpUsX09a2hX372sfX\n1q9PMzj4JQC7d7/BwYN7SaXquHv3a5qbX57yvRKJRMHOXWjOKX/OKj9NwArgKvBz4H8Z/W3pW2Pr\na4BFwGJgC/Bwis8AB4HfAr9i9JcMSwp26kdLzPTB6cjIU/NPbSmc2c/GDepjl8tNO6ySeoKTpMfJ\nwEkKy8BJCsvASQrLwEkKy8BJCsvASQrLwEkKy8BJCsvASQrLwEkKy8BJCsvASQrLwEkKy8BJCsvA\nSQrLwEkKy8BJCsvASQrLwEkKy8BJCsvASQrLwEkKy8BJCsvASQrLwEkKy8BJCsvASQrLwEkKy8BJ\nCsvASQrLwEkKy8BJCqu82AeIYvbPcsU+wlNh5NtEsY/w1EjgPZWv75uUT3CSwjJwksIycJLCMnCS\nwjJwksIycJLCMnCSwjJwksIycJLCMnCSwjJwksIycJLCMnCSwjJwksIycJLCMnCSwjJwksIycJLC\nMnCSwjJwksIycJLCMnCSwjJwksIycJLCMnCSwjJwksIycJLCMnCSwjJwksIycJLCMnCSwjJwksIq\nucBt395KKlXLihUpLl/unXbPjRtfsGrV86RSdbS0vMiDBw8mrV+8+BFVVbPo6nq/EEcuuFOnTvHL\nJUuo+8UvePPNN6fd09raSm1dHanf/Ibe3t5/6dpovKfy8XdgBfBvwN4Z9n0BPA/UAS8CE+fUCtQC\nKWD6ORdaSQXu9Olu+vuv09t7jf37D9PWtnXafTt3vk5r62v09l6loqKSjo63x9ey2Sy7du1g9eqG\nQh27oLLZLL//wx/466lT/O3KFf787rt8+umnk/Z0d3dzvb+fa1evcvjQIbZu25b3tdF4T+WrGjgA\nbH/EvteB14CrQCXwcE7dwHXgGnAYmH7OhVZSgTt5soumpmYA6uuXc+/eMHfuDE7Zd/bshzQ2rgeg\nqekljh8/Nr526NAB1q3bwJw5cwtz6ALr6emhtraW5557jlmzZrHxhRfo6uqatKerq4vm3/0OgOXL\nlzM8PMzg4GBe10bjPZWvfwf+Cyh/xL4PgfVjr18CPhh73QU0j71eDgwDU+dcaCUVuIGBDMnkgvH3\nNTVJBgYyk/YMDQ1RWVlFWdno0ZPJ+dy+PTB+/YkTH7Bp0zZyuVzhDl5AmUyGBfPnj7+fP38+mczk\nGWUGBliwYMGUPflcG4331OM0BFTxXTbmAw9nmQEWTNibnLBWPCUVuB9rx45X2bNn4udKP/UbcpR/\nMX8476mn26OeR5+4I0faOXr0CIlEgmXL6slkbo6vZTK3qKlJTtpfXV3N8PA3ZLNZysrKJu25dOlj\nWlo2ksvlGBr6ijNnuikvn0U6vbagP9OTlEwm+cfN72Z069YtksnJM0rW1HBzmj33799/5LUReE/l\nqx04AiSA/wP+4xH7q4FvgCyjz0a3GH1SY+zPmxP2TlwrnqI/wW3e/Arnz1/i3LlPSKcb6ezsAKCn\n5wIVFZXMnTtvyjUrV67i2LH3AOjsfId0uhGAvr5++vr6uXLlcxobN7B3b3uQG/E79fX1fPbZZ9y4\ncYP79+/z7l/+wtq1k3/GtWvX0vGnPwFw4cIFKisrmTdvXl7XRuA9la9XgEvAJ0yO20xPqauA98Ze\nvwM0jr1eC3SMvb7A6C8gps650IoeuIkaGtawcOEili5dTFvbFvbtax9fW78+zeDglwDs3v0GBw/u\nJZWq4+7dr2lufnnK90okEgU7dyE988wzHDxwgN82NPCrX/+ajS+8wJIlSzh8+DBvvfUWAGvWrGHR\nwoUsrq1ly9attP/xjzNeG5n3VL4GGf0MbR/wP8DPgZGxtTTw5djrNxj9byR1wNfAwzmtARYBi4Et\njD4dFl9ips9nRkb8wCFfs3/mqPIx8m3kSDxezz5b7BM8PXI5pr2xSuoJTpIeJwMnKSwDJyksAycp\nLAMnKSwDJyksAycpLAMnKSwDJyksAycpLAMnKSwDJyksAycpLAMnKSwDJyksAycpLAMnKSwDJyks\nAycpLAMnKSwDJyksAycpLAMnKSwDJyksAycpLAMnKSwDJyksAycpLAMnKSwDJyksAycpLAMnKazy\nYh8gipFvE8U+goL55z+LfYKnn09wksIycJLCMnCSwjJwksIycJLCMnCSwjJwksIycJLCMnCSwjJw\nksIycJLCMnCSwjJwksIycJLCMnCSwjJwksIycJLCMnCSwjJwksIycJLCMnCSwjJwksIycJLCMnCS\nwjJwksIycJLCMnCSwjJwksIycJLCMnCSwjJwksIycJLCKrnAbd/eSipVy4oVKS5f7p12z40bX7Bq\n1fOkUnW0tLzIgwcPJq1fvPgRVVWz6Op6vxBHLgrnlD9nlZ+IcyqpwJ0+3U1//3V6e6+xf/9h2tq2\nTrtv587XaW19jd7eq1RUVNLR8fb4WjabZdeuHaxe3VCoYxecc8qfs8pP1DmVVOBOnuyiqakZgPr6\n5dy7N8ydO4NT9p09+yGNjesBaGp6iePHj42vHTp0gHXrNjBnztzCHLoInFP+nFV+os6ppAI3MJAh\nmVww/r6mJsnAQGbSnqGhISorqygrGz16Mjmf27cHxq8/ceIDNm3aRi6XK9zBC8w55c9Z5SfqnEoq\ncD/Wjh2vsmfPmxO+UjqDLiXOKX/OKj+lOqfyYh/gyJF2jh49QiKRYNmyejKZm+NrmcwtamqSk/ZX\nV1czPPwN2WyWsrKySXsuXfqYlpaN5HI5hoa+4syZbsrLZ5FOry3oz/QkOKf8Oav8/BTmVPQnuM2b\nX+H8+UucO/cJ6XQjnZ0dAPT0XKCiopK5c+dNuWblylUcO/YeAJ2d75BONwLQ19dPX18/V658TmPj\nBvbubS/6gB8X55Q/Z5Wfn8Kcih64iRoa1rBw4SKWLl1MW9sW9u1rH19bvz7N4OCXAOze/QYHD+4l\nlarj7t2vaW5+ecr3SiQSBTt3oTmn/Dmr/ESdU2KmDwRHRkrkH9KSNIPZs5m2qiX1BCdJj5OBkxSW\ngZMUloGTFJaBkxSWgZMUloGTFJaBkxSWgZMUloGTFJaBkxSWgZMUloGTFJaBkxSWgZMUloGTFJaB\nkxSWgZMUloGTFJaBkxSWgZMUloGTFJaBkxSWgZMUloGTFJaBkxSWgZMUloGTFJaBkxSWgZMUloGT\nFJaBkxSWgZMUViKXyxX7DJL0RPgEJyksAycpLAMnKSwDJyksAycpLAMnKaz/B9v3wubCyTXSAAAA\nAElFTkSuQmCC\n", + "image/png": "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\nYh0tKnLNHxYUpNzSUi04fVoTjx1TY3d3xQYE6IWWLV1zYvz9tSIiQlOOH9eU48fVzttba9u25T1i\nP9NWSf1V9h5Ii8rexCyVhWuJyh7GKP9MdWtJ6yU9qbJH6UMlvaWKTyPGqOw9ZFOcH+0krZXZ7xGT\nJIvDUZN3IUiaNq2GE1Hn9u+v7xXgYnh9rlxbt9b3CnAxDscl/18Gxt9OBABcvYgYAMBYRAwAYCwi\nBgAwFhEDABiLiAEAjEXEAADGImIAAGMRMQCAsYgYAMBYRAwAYCwiBgAwFhEDABiLiAEAjEXEAADG\nImIAAGMRMQCAsYgYAMBYRAwAYCwiBgAwFhEDABiLiAEAjEXEAADGImIAAGMRMQCAsYgYAMBYRAwA\nYCwiBgAwFhEDABiLiAEAjEXEAADGImIAAGMRMQCAsYgYAMBYRAwAYCwiBgAwFhEDABiLiAEAjEXE\nAADGImIAAGMRMQCAsYgYAMBYRAwAYCwiBgAwFhEDABiLiAEAjOVR45mhobW4DPwqs2bV9wpwMc89\nV98rQDUsW7fU9xJwEY4azOFKDABgLCIGADAWEQMAGIuIAQCMRcQAAMYiYgAAYxExAICxiBgAwFhE\nDABgLCIGADAWEQMAGIuIAQCMRcQAAMYiYgAAYxExAICxiBgAwFhEDABgLCIGADAWEQMAGIuIAQCM\nRcQAAMYiYgAAYxExAICxiBgAwFhEDABgLCIGADAWEQMAGIuIAQCMRcQAAMYiYgAAYxExAICxiBgA\nwFhEDABgLCIGADAWEQMAGIuIAQCMRcQAAMYiYgAAYxExAICxiBgAwFhEDABgLCIGADAWEQMAGIuI\nAQCMRcQAAMZqEBFb8MUXCp8yRT5jxyp69mxtOXSoRtt9vX+/PEeNUo+//OWCr723bZs6zZghn7Fj\n1fXZZ/XRzp2XedVXhwULFig8IkI+vr6KjonRli1bLjr/iy++UFTPnvL28VH7Dh20dOnSC+a89957\n6hQZKR9fX3Xt1k0fffRRbS2/wVvwzTcKnztXPrNmKXrRIm05frxG2319+LA8Z8xQj9dfrzB+rqRE\nsz7/XG1feUU+s2ap+8KF2rBvX20s/SrwvqR4SUEq+1b9fQ23e09SJ0k+krpKqur8WCAp3DknWtLF\nz8srmfERW7V1qyasXq2ZAwdq+5Qp6hoaqvhXX1V6bu5Ft8s6e1bDli5VXKdOF3xt04EDGvrWW3rk\n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\n7dvXNWaxWBR3ww1K3r79sv05SV9/rb1pafpdnz6XbZ/1wejbienZ2SopLZW1ceMK49YmTZR6/PhF\nt71u+HCdzspSSWmpZgwZouFxca6v2TIzZW3SpOI+GzeWLTPz8i2+gUt3/t1aK936sDZpotSjR2u0\nj5dWrVJeQYEGl/tm2OG667TkqafUJSJCWXl5emnVKvUdO1a73n5bIUFBl/MQGrT0nJyy16fSbV1r\nYKBST5y46LbXjRmj087tZwwaVCFWX+3Zo7c3blTKX/9aG8u+KqRnZqqkpETWSv89W5s2VerBg79q\n39k5OWrZt68Ki4rk4e6uhbNm6eZysTSR0RH7Nb6aPVu5Z89qc2qqnv7739U2JET3GnxfuKFZkZSk\nZ995R+uee67C78+iIyMVHRnp+jzm+uvVKSFBf/vgA81MSKiHlV59vnrmGeUWFmrzvn16+t131dZq\n1b0xMcotKNADr7+uxQ8/rCb+/vW9TFShkb+/UtavV25enpI2bdKTzz2niLAw3dS7d30v7RczOmJB\nAQFyd3OT/aefKozbMzMVXOlKqrJWzZtLkq5v1Uq2zEzNWLHCFbHgJk1kr3TVZf/pp0vuE/8RFBhY\n9tpkZFQYr8lrs/KzzzTi5Ze1esYM9S93O7IqHu7u6t62rfZf4sobFQU1alT2+mRlVRi3Z2UpuNKd\njcpaNWsmSbo+NFS2rCzN+Oc/dW9MjA7Y7Tqcnq6Bc+bo/C/QS0tLJUnX/OlPSn35ZYU7zztUL6hJ\nE7m7u8uenl5h3H7mjIKdf/e/lMViUYTz4bQunTpp1/79+uvrrxsdMaN/J+bp4aGotm2VVO7RU4fD\noaTvv1ffSvfpL6aktFSFxcWuz2M6dlTS999XmJO4Y4diOnT49Yu+Snh6eCiqfXsllbuH73A4lPTd\nd+p7/fXVbvduUpIemjNHK6dN0601OLFKS0v1Q1qaWlTxxBaq5+nhoajwcCXt3OkaczgcStq5U33b\ntavxfsqfOx1DQvTD7Nna8de/KsX5cWdUlG6+/nqlvPCCrmva9LIfR0Pk6empqM6dlbRpk2vM4XAo\nadMm9e3R47L+WaWlpSosKrqs+6xrRl+JSdL4u+5SwiuvKKptW9cj9vmFhUqIjZUkTV66VCcyMlxP\nHi5cv15hzZqpY2ioJGnjzp16ec0aPXHnna59Pn7nneo3ebLmrlmjAT176t1//1vb9u/XYudTdqiZ\n8X/8oxJmz1ZU+/auR+zzCwuVcOutkqTJixfrxJkzWvrnP0squ4WYMHu2Xh0zRr06dHBdxfl4eSnA\n+QTms+9T/bUMAAADSElEQVS8o+hOndS2ZUv9lJurF1eu1JFTp/TwgAH1c5AGG3/77Up44w1FhYe7\nHrHPLypSwu9+J0mavHKlTmRmup48XJiYqLCmTdUxJESStHH3br28fr2ecL5Pz8vTU5HO8+q8xr6+\nslgs6tSyZR0emfnGP/SQEp56SlGdO7sesc8/e1YJzieuJ7/4ok6cOqWlc+a4tknZvVsOh0O5eXk6\nnZGhlN27dY2npzq1bStJeuH119XzN79Rm1atVFhUpPWff65/rF2rN559tl6O8XIxPmKDb7xR6dnZ\nmr58uew//aRu4eHaMHOmmjl/j2LLzNTRcpflpQ6HJi9bpkOnTsnDzU1tWrTQS8OHa4TzG6tUdiW2\nYuJETXnnHU155x21CwnR2qlTeY/YzzS4Xz+lZ2Vp+ttvy56ZqW5t22rD7Nlq5rxdZcvI0NFTp1zz\nF69fr5LSUo1+9VWNfvVV1/iwW27RkkmTJEmZOTkaMXeubBkZatKokaLatVPya6+pI6/NzzY4Olrp\nOTmavnq17FlZ6taqlTb8+c9q5nwa1PbTTzp65oxrfmlpqSavWqVDp0+XnTtWq14aOlQjnD8w4vIZ\nPGCA0jMyNH3ePNnT09UtMlIb/v53NXNezdpOn9bRkycrbNP9jjtc75n87scftWLdOrVq2VIHN26U\nJOWdPavRzzyjYzabfLy91TEiQsvnztUfbr+9bg/uMjP+fWLQFfs+MThdoe8Tg67Y94nBqaG/TwwA\ncHUjYgAAYxExAICxiBgAwFhEDABgLCIGADAWEQMAGIuIAQCMRcQAAMYiYgAAYxExAICxiBgAwFhE\nDABgLCIGADAWEQMAGIuIAQCMRcQAAMYiYgAAYxExAICxiBgAwFhEDABgLCIGADAWEQMAGIuIAQCM\nRcQAAMYiYgAAYxExAICxiBgAwFhEDABgLCIGADAWEQMAGIuIAQCMRcQAAMYiYgAAYxExAICxiBgA\nwFhEDABgLCIGADAWEQMAGIuIAQCMRcQAAMYiYgAAYxExAICxiBgAwFhEDABgLCIGADAWEQMAGMvi\ncDjqew0AAPwiXIkBAIxFxAAAxiJiAABjETEAgLGIGADAWEQMAGAsIgYAMBYRAwAYi4gBAIz1/4B+\nDaQtWucZAAAAAElFTkSuQmCC\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -467,11 +624,21 @@ "source": [ "Move the slider above to observe how the utility changes across iterations. It is also possible to move the slider using arrow keys or to jump to the value by directly editing the number with a double click. The **Visualize Button** will automatically animate the slider for you. The **Extra Delay Box** allows you to set time delay in seconds upto one second for each time step." ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] } ], "metadata": { + "anaconda-cloud": {}, "kernelspec": { - "display_name": "Python 3", + "display_name": "Python [default]", "language": "python", "name": "python3" }, @@ -485,2494 +652,33 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.5.2" }, "widgets": { "state": { - "001e6c8ed3fc4eeeb6ab7901992314dd": { - "views": [] - }, - "00f29880456846a8854ab515146ec55b": { - "views": [] - }, - "010f52f7cde545cba25593839002049b": { - "views": [] - }, - "01473ad99aa94acbaca856a7d980f2b9": { - "views": [] - }, - "021a4a4f35da484db5c37c5c8d0dbcc2": { - "views": [] - }, - "02229be5d3bc401fad55a0378977324a": { - "views": [] - }, - "022a5fdfc8e44fb09b21c4bd5b67a0db": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "025c3b0250b94d4c8d9b33adfdba4c15": { - "views": [] - }, - "028f96abfed644b8b042be1e4b16014d": { - "views": [] - }, - "0303bad44d404a1b9ad2cc167e42fcb7": { - "views": [] - }, - "031d2d17f32347ec83c43798e05418fe": { - "views": [] - }, - "03de64f0c2fd43f1b3b5d84aa265aeb7": { - "views": [] - }, - "03fdd484675b42ad84448f64c459b0e0": { - "views": [] - }, - "044cf74f03fd44fd840e450e5ee0c161": { - "views": [] - }, - "054ae5ba0a014a758de446f1980f1ba5": { - "views": [] - }, - "0675230fb92f4539bc257b768fb4cd10": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "06c93b34e1f4424aba9a0b172c428260": { - "views": [] - }, - "077a5ea324be46c3ad0110671a0c6a12": { - "views": [] - }, - "0781138d150142a08775861a69beaec9": { - "views": [] - }, - "0783e74a8c2b40cc9b0f5706271192f4": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "07c7678b73634e728085f19d7b5b84f7": { - "views": [] - }, - "07febf1d15a140d8adb708847dd478ec": { - "views": [] - }, - "08299b681cd9477f9b19a125e186ce44": { - "views": [] - }, - "083af89d82e445aab4abddfece61d700": { - "views": [] - }, - "08a1129a8bd8486bbfe2c9e49226f618": { - "views": [] - }, - "08a2f800c0d540fdb24015156c7ffc15": { - "views": [] - }, - "097d8d0feccc4c76b87bbcb3f1ecece7": { - "views": [] - }, - "098f12158d844cdf89b29a4cd568fda0": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "09e96f9d5d32453290af60fbd29ca155": { - "views": [] - }, - "0a2ec7c49dcd4f768194483c4f2e8813": { - "views": [] - }, - "0b1d6ed8fe4144b8a24228e1befe2084": { - "views": [] - }, - "0b299f8157d24fa9830653a394ef806a": { - "views": [] - }, - "0b2a4ac81a244ff1a7b313290465f8f4": { - "views": [] - }, - "0b52cfc02d604bc2ae42f4ba8c7bca4f": { - "views": [] - }, - "0b65fb781274495ab498ad518bc274d4": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "0b865813de0841c49b41f6ad5fb85c6a": { - "views": [] - }, - "0c2070d20fb04864aeb2008a6f2b8b30": { - "views": [] - }, - "0cf5319bcde84f65a1a91c5f9be3aa28": { - "views": [] - }, - "0d721b5be85f4f8aafe26b3597242d60": { - "views": [] - }, - "0d9f29e197ad45d6a04bbb6864d3be6d": { - "views": [] - }, - "0e03c7e2c0414936b206ed055e19acba": { - "views": [] - }, - "0e2265aa506a4778bfc480d5e48c388b": { - "views": [] - }, - "0e4e3d0b6afc413e86970ec4250df678": { - "views": [] - }, - "0e6a5fe6423542e6a13e30f8929a8b02": { - "views": [] - }, - "0e7b2f39c94343c3b0d3b6611351886e": { - "views": [] - }, - "0eb5005fa34440988bcf3be231d31511": { - "views": [] - }, - "104703ad808e41bc9106829bb0396ece": { - "views": [] - }, - "109c376b28774a78bf90d3da4587d834": { - "views": [] - }, - "10b24041718843da976ac616e77ea522": { - "views": [] - }, - "11516bb6db8b45ef866bd9be8bb59312": { - "views": [] - }, - "1203903354fa467a8f38dbbad79cbc81": { - "views": [] - }, - "124ecbe68ada40f68d6a1807ad6bcdf9": { - "views": [] - }, - "1264becdbb63455183aa75f236a3413e": { - "views": [] - }, - "13061cc21693480a8380346277c1b877": { - "views": [] - }, - "130dd4d2c9f04ad28d9a6ac40045a329": { - "views": [] - }, - "1350a087b5a9422386c3c5f04dd5d1c9": { - "views": [] - }, - "139bd19be4a4427a9e08f0be6080188e": { - "views": [] - }, - "13f9f589d36c477f9b597dda459efd16": { - "views": [] - }, - "140917b5c77348ec82ea45da139a3045": { - "views": [] - }, - "145419657bb1401ba934e6cea43d5fd1": { - "views": [] - }, - "15d748f1629d4da1982cd62cfbcb1725": { - "views": [] - }, - "17ad015dbc744ac6952d2a6da89f0289": { - "views": [] - }, - "17b6508f32e4425e9f43e5407eb55ed3": { - "views": [] - }, - "185598d8e5fc4dffae293f270a6e7328": { - "views": [] - }, - "196473b25f384f3895ee245e8b7874e9": { - "views": [] - }, - "19c0f87663a0431285a62d4ad6748046": { - "views": [] - }, - "1a00a7b7446d4ad8b08c9a2a9ea9c852": { - "views": [] - }, - "1a97f5b88cdc4ae0871578c06bbb9965": { - "views": [] - }, - "1a9a07777b0c4a45b33e25a70ebdc290": { - "views": [] - }, - "1af711fe8e4f43f084cef6c89eec40ae": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "1aff6a6e15b34bb89d7579d445071230": { - "views": [] - }, - "1b1ea7e915d846aea9efeae4381b2c48": { - "views": [] - }, - "1ba02ae1967740b0a69e07dbe95635cb": { - "views": [] - }, - "1c5c913acbde4e87a163abb2e24e6e38": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "1cfca0b7ef754c459e1ad97c1f0ceb3b": { - "views": [] - }, - "1d8f6a4910e649589863b781aab4c4d4": { - "views": [] - }, - "1e64b8f5a1554a22992693c194f7b971": { - "views": [] - }, - "1e8f0a2bf7614443a380e53ed27b48c0": { - "views": [] - }, - "1f4e6fa4bacc479e8cd997b26a5af733": { - "views": [] - }, - "1fdf09158eb44415a946f07c6aaba620": { - "views": [] - }, - "200e3ebead3d4858a47e2f6d345ca395": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "2050d4b462474a059f9e6493ba06ac58": { - "views": [] - }, - "20b5c21a6e6a427ba3b9b55a0214f75e": { - "views": [] - }, - "20b99631feba4a9c98c9d5f74c620273": { - "views": [] - }, - "20bcff5082854ab89a7977ae56983e30": { - "views": [] - }, - "20d708bf9b7845fa946f5f37c7733fee": { - "views": [] - }, - "210b36ea9edf4ee49ae1ae3fe5005282": { - "views": [] - }, - "21415393cb2d4f72b5c3f5c058aeaf66": { - "views": [] - }, - "2186a18b6ed8405a8a720bae59de2ace": { - "views": [] - }, - "220dc13e9b6942a7b9ed9e37d5ede7ba": { - "views": [] - }, - "221a735fa6014a288543e6f8c7e4e2ef": { - "views": [] - }, - "2288929cec4d4c8faad411029f5e21fa": { - "views": [] - }, - "22b86e207ea6469d85d8333870851a86": { - "views": [] - }, - "23283ad662a140e3b5e8677499e91d64": { - "views": [] - }, - "23a7cc820b63454ca6be3dcfd2538ac1": { - "views": [] - }, - "240ed02d576546028af3edfab9ea8558": { - "views": [] - }, - "24678e52a0334cb9a9a56f92c29750be": { - "views": [] - }, - "247820f6d83f4dd9b68f5df77dbda4b7": { - "views": [] - }, - "24b6a837fbd942c9a68218fb8910dcd5": { - "views": [] - }, - "24ee3204f26348bca5e6a264973e5b56": { - "views": [] - }, - "262c7bb5bd7447f791509571fe74ae44": { - "views": [] - }, - "263595f22d0d45e2a850854bcefe4731": { - "views": [] - }, - "2640720aa6684c5da6d7870abcbc950b": { - "views": [] - }, - "265ca1ec7ad742f096bb8104d0cf1550": { - "views": [] - }, - "26bf66fba453464fac2f5cd362655083": { - "views": [] - }, - "29769879478f49e8b4afd5c0b4662e87": { - "views": [] - }, - "29a13bd6bc8d486ca648bf30c9e4c2a6": { - "views": [] - }, - "29c5df6267584654b76205fc5559c553": { - "views": [] - }, - "29ce25045e7248e5892e8aafc635c416": { - "views": [] - }, - "2a17207c43c9424394299a7b52461794": { - "views": [] - }, - "2a777941580945bc83ddb0c817ed4122": { - "views": [] - }, - "2ae1844e2afe416183658d7a602e5963": { - "views": [] - }, - "2afa2938b41944cf8c14e41a431e3969": { - "views": [] - }, - "2bdc5f9b161548e3aab8ea392b5af1a1": { - "views": [] - }, - "2c26b2bcfc96473584930a4b622d268e": { - "views": [] - }, - "2ca2a914a5f940b18df0b5cde2b79e4b": { - "views": [] - }, - "2ca2c532840548a9968d1c6b2f0acdd8": { - "views": [] - }, - "2d17c32bfea143babe2b114d8777b15d": { - "views": [] - }, - "2d3acd8872c342eab3484302cac2cb05": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "2dc514cc2f5547aeb97059a5070dc9e3": { - "views": [] - }, - "2e1351ad05384d058c90e594bc6143c1": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "2e9b80fa18984615933e41c1c1db2171": { - "views": [] - }, - "2ef17ee6b7c74a4bbbbbe9b1a93e4fb6": { - "views": [] - }, - "2f5438f1b34046a597a467effd43df11": { + "3ce7eaa0682d4d9a9e518dac9d09cec4": { "views": [ { "cell_index": 27 } ] }, - "2f8d22417f3e421f96027fca40e1554f": { - "views": [] - }, - "2fb0409cfb49469d89a32597dc3edba9": { - "views": [] - }, - "303ccef837984c97b7e71f2988c737a4": { - "views": [] - }, - "3058b0808dca48a0bba9a93682260491": { - "views": [] - }, - "306b65493c28411eb10ad786bbf85dc5": { - "views": [] - }, - "30f5d30cf2d84530b3199015c5ff00eb": { - "views": [] - }, - "310b1ac518bd4079bdb7ecaf523a6809": { - "views": [] - }, - "313eca81d9d24664bcc837db54d59618": { - "views": [] - }, - "31413caf78c14548baa61e3e3c9edc55": { - "views": [] - }, - "317fbd3cb6324b2fbdfd6aa46a8d1192": { - "views": [] - }, - "319425ba805346f5ba366c42e220f9c6": { + "8d7e9727fa3441c08a9fff7308d8152d": { "views": [ { "cell_index": 27 } ] }, - "31fc8165275e473f8f75c6215b5184ff": { - "views": [] - }, - "329f12edaa0c44d2a619450f188e8777": { - "views": [] - }, - "32edf057582f4a6ca30ce3cb685bf971": { - "views": [] - }, - "330e74773ba148e18674cfa3e63cd6cc": { - "views": [] - }, - "332a89c03bfb49c2bb291051d172b735": { + "e1c82ed16cc24f79857d046dcb43532f": { "views": [ { "cell_index": 27 } ] - }, - "3347dfda0aca450f89dd9b39ca1bec7d": { - "views": [] - }, - "336e8bcfd7cc4a85956674b0c7bffff2": { - "views": [] - }, - "3376228b3b614d4ab2a10b2fd0f484fd": { - "views": [] - }, - "3380a22bc67c4be99c61050800f93395": { - "views": [] - }, - "34b5c16cbea448809c2ccbce56f8d5a5": { - "views": [] - }, - "34bb050223504afc8053ce931103f52c": { - "views": [] - }, - "34c28187175d49198b536a1ab13668c4": { - "views": [] - }, - "3521f32644514ecf9a96ddfa5d80fb9b": { - "views": [] - }, - "36511bd77ed74f668053df749cc735d4": { - "views": [] - }, - "36541c3490bd4268b64daf20d8c24124": { - "views": [] - }, - "37aa1dd4d76a4bac98857b519b7b523a": { - "views": [] - }, - "37aa3cfa3f8f48989091ec46ac17ae48": { - "views": [] - }, - "386991b0b1424a9c816dac6a29e1206b": { - "views": [] - }, - "386cf43742234dda994e35b41890b4d8": { - "views": [] - }, - "388571e8e0314dfab8e935b7578ba7f9": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "3974e38e718547efaf0445da2be6a739": { - "views": [] - }, - "398490e0cc004d22ac9c4486abec61e1": { - "views": [] - }, - "399875994aba4c53afa8c49fae8d369e": { - "views": [] - }, - "39b64aa04b1d4a81953e43def0ef6e10": { - "views": [] - }, - "39ffc3dd42d94a27ba7240d10c11b565": { - "views": [] - }, - "3a21291c8e7249e3b04417d31b0447cf": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "3a377d9f46704d749c6879383c89f5d3": { - "views": [] - }, - "3a44a6f1f62742849e96d957033a0039": { - "views": [] - }, - "3b22d68709b046e09fe70f381a3944cd": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "3b329209c8f547acae1925dc3eb4af77": { - "views": [] - }, - "3c1b2ec10a9041be8a3fad9da78ff9f6": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "3c2be3c85c6d41268bb4f9d63a43e196": { - "views": [] - }, - "3c6796eff7c54238a7b7776e88721b08": { - "views": [] - }, - "3cbca3e11edf439fb7f8ba41693b4824": { - "views": [] - }, - "3d4b6b7c0b0c48ff8c4b8d78f58e0f1c": { - "views": [] - }, - "3de1faf0d2514f49a99b3d60ea211495": { - "views": [] - }, - "3df60d9ac82b42d9b885d895629e372e": { - "views": [] - }, - "3e5b9fd779574270bf58101002c152ce": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "3e80f34623c94659bfab5b3b56072d9a": { - "views": [] - }, - "3e8bb05434cb4a0291383144e4523840": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "3ea1c8e4f9b34161928260e1274ee048": { - "views": [] - }, - "3f32f0915bc6469aaaf7170eff1111e3": { - "views": [] - }, - "3fe69a26ae7a46fda78ae0cb519a0f8b": { - "views": [] - }, - "4000ecdd75d9467e9dffd457b35aa65f": { - "views": [] - }, - "402d346f8b68408faed2fd79395cf3fb": { - "views": [] - }, - "402f4116244242148fdc009bb399c3bd": { - "views": [] - }, - "4049e0d7c0d24668b7eae2bb7169376e": { - "views": [] - }, - "4088c9ed71b0467b9b9417d5b04eda0e": { - "views": [] - }, - "40d70faa07654b6cb13496c32ba274b3": { - "views": [] - }, - "4146be21b7614abe827976787ec570f1": { - "views": [] - }, - "4198c08edda440dd93d1f6ce3e4efa62": { - "views": [] - }, - "42023d7d3c264f9d933d4cee4362852b": { - "views": [] - }, - "421ad8c67f754ce2b24c4fa3a8e951cf": { - "views": [] - }, - "4263fe0cef42416f8d344c1672f591f9": { - "views": [] - }, - "428e42f04a1e4347a1f548379c68f91b": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "42a47243baf34773943a25df9cf23854": { - "views": [] - }, - "4343b72c91d04a7c9a6080f30fc63d7d": { - "views": [] - }, - "43488264fc924c01a30fa58604074b07": { - "views": [] - }, - "4379175239b34553bf45c8ef9443ac55": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "43859798809a4a289c58b4bd5e49d357": { - "views": [] - }, - "43ad406a61a34249b5622aba9450b23d": { - "views": [] - }, - "4421c121414d464bb3bf1b5f0e86c37b": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "445cc08b4da44c2386ac9379793e3506": { - "views": [] - }, - "447cff7e256c434e859bb7ce9e5d71c8": { - "views": [] - }, - "44af7da9d8304f07890ef7d11a9f95fe": { - "views": [] - }, - "45021b6f05db4c028a3b5572bc85217f": { - "views": [] - }, - "457768a474844556bf9b215439a2f2e9": { - "views": [] - }, - "45d5689de53646fe9042f3ce9e281acc": { - "views": [] - }, - "461aa21d57824526a6b61e3f9b5af523": { - "views": [] - }, - "472ca253aab34b098f53ed4854d35f23": { - "views": [] - }, - "4731208453424514b471f862804d9bb8": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "47dfef9eaf0e433cb4b3359575f39480": { - "views": [] - }, - "48220a877d494a3ea0cc9dae19783a13": { - "views": [] - }, - "4882c417949b4b6788a1c3ec208fb1ac": { - "views": [] - }, - "49f5c38281984e3bad67fe3ea3eb6470": { - "views": [] - }, - "4a0d39b43eee4e818d47d382d87d86d1": { - "views": [] - }, - "4a470bf3037047f48f4547b594ac65fa": { - "views": [] - }, - "4abab5bca8334dfbb0434be39eb550db": { - "views": [] - }, - "4b48e08fd383489faa72fc76921eac4e": { - "views": [] - }, - "4b9439e6445c4884bd1cde0e9fd2405e": { - "views": [] - }, - "4b9fa014f9904fcf9aceff00cc1ebf44": { - "views": [] - }, - "4bdc63256c3f4e31a8fa1d121f430518": { - "views": [] - }, - "4bebb097ddc64bbda2c475c3a0e92ab5": { - "views": [] - }, - "4c201df21ca34108a6e7b051aa58b7f6": { - "views": [] - }, - "4ced8c156fd941eca391016fc256ce40": { - "views": [] - }, - "4d281cda33fa489d86228370e627a5b0": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "4d85e68205d94965bdb437e5441b10a1": { - "views": [] - }, - "4e0e6dd34ba7487ba2072d352fe91bf5": { - "views": [] - }, - "4e82b1d731dd419480e865494f932f80": { - "views": [] - }, - "4e9f52dea051415a83c4597c4f7a6c00": { - "views": [] - }, - "4ec035cba73647358d416615cf4096ee": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "4f09442f99aa4a9e9f460f82a50317c4": { - "views": [] - }, - "4f80b4e6b074475698efbec6062e3548": { - "views": [] - }, - "4f905a287b4f4f0db64b9572432b0139": { - "views": [] - }, - "50a339306cd549de86fbe5fa2a0a3503": { - "views": [] - }, - "51068697643243e18621c888a6504434": { - "views": [] - }, - "51333b89f44b41aba813aef099bdbb42": { - "views": [] - }, - "5141ae07149b46909426208a30e2861e": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "515606cb3b3a4fccad5056d55b262db4": { - "views": [] - }, - "51aa6d9f5a90481db7e3dd00d77d4f09": { - "views": [] - }, - "524091ea717d427db2383b46c33ef204": { - "views": [] - }, - "524d1132c88f4d91b15344cc427a9565": { - "views": [] - }, - "52f70e249adc4edb8dca28b883a5d4f4": { - "views": [] - }, - "531c080221f64b8ca50d792bbaa6f31e": { - "views": [] - }, - "53349c544b54450f8e2af9b8ba176d78": { - "views": [] - }, - "53a8b8e7b7494d02852a0dc5ccca51a2": { - "views": [] - }, - "53c963469eee41b59479753201626f18": { - "views": [] - }, - "5436516c280a49828c1c2f4783d9cf0e": { - "views": [] - }, - "55a1b0b794f44ac796bc75616f65a2a1": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "55ebf735de4c4b5ba2f09bc51d3593fd": { - "views": [] - }, - "56007830e925480e94a12356ff4fb6a4": { - "views": [] - }, - "56def8b3867843f990439b33dab3da58": { - "views": [] - }, - "5719bb596a5649f6af38c11c3daae6e9": { - "views": [] - }, - "572245b145014b6e91a3b5fe55e4cf78": { - "views": [] - }, - "5728da2e2d5a4c5595e1f49723151dca": { - "views": [] - }, - "579673c076da4626bc34a34370702bd4": { - "views": [] - }, - "57c2148f18314c3789c3eb9122a85c86": { - "views": [] - }, - "58066439757048b98709d3b3f99efdf8": { - "views": [] - }, - "58108da85e9443ea8ba884e8adda699e": { - "views": [] - }, - "583f252174d9450196cdc7c1ebab744f": { - "views": [] - }, - "58b92095873e4d22895ee7dde1f8e09a": { - "views": [] - }, - "58be1833a5b344fb80ec86e08e8326da": { - "views": [] - }, - "58ee0f251d7c4aca82fdace15ff52414": { - "views": [] - }, - "590f2f9f8dc342b594dc9e79990e641f": { - "views": [] - }, - "593c6f6b541e49be95095be63970f335": { - "views": [] - }, - "593d3f780c1a4180b83389afdb9fecfe": { - "views": [] - }, - "5945f05889be40019f93a90ecd681125": { - "views": [] - }, - "595c537ed2514006ac823b4090cf3b4b": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "599cfb7471ec4fd29d835d2798145a54": { - "views": [] - }, - "5a8d17dc45d54463a6a49bad7a7d87ac": { - "views": [] - }, - "5bb323bde7e4454e85aa18fda291e038": { - "views": [] - }, - "5bc5e0429c1e4863adc6bd1ff2225b6d": { - "views": [] - }, - "5bd0fafc4ced48a5889bbcebc9275e40": { - "views": [] - }, - "5ccf965356804bc38c94b06698a2c254": { - "views": [] - }, - "5d1f96bedebf489cac8f820c783f7a14": { - "views": [] - }, - "5d3fc58b96804b57aad1d67feb26c70a": { - "views": [] - }, - "5d41872e720049198a319adc2f476276": { - "views": [] - }, - "5d7a630da5f14cd4969b520c77bc5bc5": { - "views": [] - }, - "5da153e0261e43af8fd1c3c5453cace0": { - "views": [] - }, - "5dde90afb01e44888d3c92c32641d4e2": { - "views": [] - }, - "5de2611543ff4475869ac16e9bf406fd": { - "views": [] - }, - "5e03db9b91124e79b082f7e3e031a7d3": { - "views": [] - }, - "5e576992ccfe4bb383c88f80d9746c1d": { - "views": [] - }, - "5e91029c26c642a9a8c90186f3acba8e": { - "views": [] - }, - "5ea2a6c21b9845d18f72757ca5af8340": { - "views": [] - }, - "5ef08dc24584438c8bc6c618763f0bc8": { - "views": [] - }, - "5f823979d2ce4c34ba18b4ca674724e4": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "5fc7b070fc1a4e809da4cda3a40fc6d9": { - "views": [] - }, - "601ca9a27da94a6489d62ac26f2805a9": { - "views": [] - }, - "605cbb1049a4462e9292961e62e55cee": { - "views": [] - }, - "60addd9bec3f4397b20464fdbcf66340": { - "views": [] - }, - "60e17d6811c64dc8a69b342abe20810a": { - "views": [] - }, - "611840434d9046488a028618769e4b86": { - "views": [] - }, - "627ab7014bbf404ba8190be17c22e79d": { - "views": [] - }, - "633aa1edce474560956be527039800e7": { - "views": [] - }, - "63b6e287d1aa48efad7c8154ddd8f9c4": { - "views": [] - }, - "63dcfdb9749345bab675db257bda4b81": { - "views": [] - }, - "640ba8cc905a4b47ad709398cc41c4e3": { - "views": [] - }, - "644dcff39d7c47b7b8b729d01f59bee5": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "6455faf9dbc6477f8692528e6eb90c9a": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "64ca99573d5b48d2ba4d5815a50e6ffe": { - "views": [] - }, - "65d7924ba8c44d3f98a1d2f02dc883f1": { - "views": [] - }, - "665ed2b201144d78a5a1f57894c2267c": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "66742844c1cd47ddbbe9aacf2e805f36": { - "views": [] - }, - "6678811915f14d0f86660fe90f63bd60": { - "views": [] - }, - "66a04a5cf76e429cadbebfc527592195": { - "views": [] - }, - "66e5c563ffe94e29bab82fdecbd1befa": { - "views": [] - }, - "673066e0bb0b40e288e6750452c52bf6": { - "views": [] - }, - "67ae0fb9621d488f879d0e3c458e88e9": { - "views": [] - }, - "687702eca5f74e458c8d43447b3b9ed5": { - "views": [] - }, - "68a4135d6f0a4bae95130539a2a44b3c": { - "views": [] - }, - "68c3a74e9ea74718b901c812ed179f47": { - "views": [] - }, - "694bd01e350449c2a40cd4ffc5d5a873": { - "views": [] - }, - "6981c38c44ad4b42bfb453b36d79a0e6": { - "views": [] - }, - "69e08ffffce9464589911cc4d2217df2": { - "views": [] - }, - "6a28f605a5d14589907dba7440ede2fc": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "6a74dc52c2a54837a64ad461e174d4e0": { - "views": [] - }, - "6ad1e0bf705141b3b6e6ab7bd6f842ea": { - "views": [] - }, - "6b37935db9f44e6087d1d262a61d54ac": { - "views": [] - }, - "6b402f0f3afb4d0dad0e2fa8b71aa890": { - "views": [] - }, - "6bc95be59a054979b142d2d4a8900cf2": { - "views": [] - }, - "6ce0ea52c2fc4a18b1cce33933df2be4": { - "views": [] - }, - "6d7effd6bc4c40a4b17bf9e136c5814c": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "6d9a639e949c4d1d8a7826bdb9e67bb5": { - "views": [] - }, - "6e18fafd95744f689c06c388368f1d21": { - "views": [] - }, - "6e2bc4a1e3424e2085d0363b7f937884": { - "views": [] - }, - "6e30c494930c439a996ba7c77bf0f721": { - "views": [] - }, - "6e682d58cc384145adb151652f0e3d15": { - "views": [] - }, - "6f08def65d27471b88fb14e9b63f9616": { - "views": [] - }, - "6f20c1dc00ef4a549cd9659a532046bf": { - "views": [] - }, - "6f605585550d4879b2f27e2fda0192be": { - "views": [] - }, - "706dd4e39f194fbbba6e34acd320d1c3": { - "views": [] - }, - "70f21ab685dc4c189f00a17a1810bbad": { - "views": [] - }, - "7101b67c47a546c881fdaf9c934c0264": { - "views": [] - }, - "71b0137b5ed741be979d1896762e5c75": { - "views": [] - }, - "7223df458fdf4178af0b9596e231c09c": { - "views": [] - }, - "7262519db6f94e2a9006c68c20b79d29": { - "views": [] - }, - "72dfe79a3e52429da1cf4382e78b2144": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "72e8d31709eb4e3ea28af5cb6d072ab2": { - "views": [] - }, - "73647a1287424ee28d2fb3c4471d720c": { - "views": [] - }, - "739c5dde541a41e1afae5ba38e4b8ee3": { - "views": [] - }, - "74187cc424a347a5aa73b8140772ec68": { - "views": [] - }, - "7418edf751a6486c9fae373cde30cb74": { - "views": [] - }, - "744302ec305b4405894ed1459b9d41d0": { - "views": [] - }, - "74dfbaa15be44021860f7ba407810255": { - "views": [] - }, - "750a30d80fd740aaabc562c0564f02a7": { - "views": [] - }, - "75e344508b0b45d1a9ae440549d95b1a": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "766efd1cfee542d3ba068dfa1705c4eb": { - "views": [] - }, - "7738084e8820466f9f763d49b4bf7466": { - "views": [] - }, - "781855043f1147679745947ff30308fa": { - "views": [] - }, - "78e2cfb79878452fa4f6e8baea88f822": { - "views": [] - }, - "796027b3dd6b4b888553590fecd69b29": { - "views": [] - }, - "7a302f58080c4420b138db1a9ed8103e": { - "views": [] - }, - "7a3c362499f54884b68e951a1bcfc505": { - "views": [] - }, - "7a4ee63f5f674454adf660bfcec97162": { - "views": [] - }, - "7ac2c18126414013a1b2096233c88675": { - "views": [] - }, - "7b1e3c457efa4f92ab8ff225a1a2c45e": { - "views": [] - }, - "7b8897b4f8094eef98284f5bb1ed5d51": { - "views": [] - }, - "7bbfd7b13dd242f0ac15b36bb437eb22": { - "views": [] - }, - "7d3c88bc5a0f4b428174ff33d5979cfd": { - "views": [] - }, - "7d4f53bd14d44f3f80342925f5b0b111": { - "views": [] - }, - "7d95ca693f624336a91c3069e586ef1b": { - "views": [] - }, - "7dcdc07b114e4ca69f75429ec042fabf": { - "views": [] - }, - "7e79b941d7264d27a82194c322f53b80": { - "views": [] - }, - "7f2f98bbffc0412dbb31c387407a9fed": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "7f4688756da74b369366c22fd99657f4": { - "views": [] - }, - "7f7ed281359f4a55bbe75ce841dd1453": { - "views": [] - }, - "7fdf429182a740a097331bddad58f075": { - "views": [] - }, - "81b312df679f4b0d8944bc680a0f517e": { - "views": [] - }, - "82036e8fa76544ae847f2c2fc3cf72c2": { - "views": [] - }, - "821f1041188a43a4be4bdaeb7fa2f201": { - "views": [] - }, - "827358a9b4ce49de802df37b7b673aea": { - "views": [] - }, - "82db288a0693422cbd846cc3cb5f0415": { - "views": [] - }, - "82e2820c147a4dff85a01bcddbad8645": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "82f795491023435e8429ea04ff4dc60a": { - "views": [] - }, - "8317620833b84ccebc4020d90382e134": { - "views": [] - }, - "8346e26975524082af27967748792444": { - "views": [] - }, - "83f8ed39d0c34dce87f53f402d6ee276": { - "views": [] - }, - "844ac22a0ebe46db84a6de7472fe9175": { - "views": [] - }, - "849948fe6e3144e1b05c8df882534d5a": { - "views": [] - }, - "85058c7c057043b185870da998e4be61": { - "views": [] - }, - "85443822f3714824bec4a56d4cfed631": { - "views": [] - }, - "8566379c7ff943b0bb0f9834ed4f0223": { - "views": [] - }, - "85a3c6f9a0464390be7309edd36c323c": { - "views": [] - }, - "85d7a90fbac640c9be576f338fa25c81": { - "views": [] - }, - "85f31444b4e44e11973fd36968bf9997": { - "views": [] - }, - "867875243ad24ff6ae39b311efb875d3": { - "views": [] - }, - "8698bede085142a29e9284777f039c93": { - "views": [] - }, - "86bf40f5107b4cb6942800f3930fdd41": { - "views": [] - }, - "874c486c4ebb445583bd97369be91d9b": { - "views": [] - }, - "87c469625bda412185f8a6c803408064": { - "views": [] - }, - "87d4bd76591f4a9f991232ffcff3f73b": { - "views": [] - }, - "87df3737c0fc4e848fe4100b97d193df": { - "views": [] - }, - "886b599c537b467ab49684d2c2f8fb78": { - "views": [] - }, - "889e19694e8043e289d8efc269eba934": { - "views": [] - }, - "88c628983ad1475ea3a9403f6fea891c": { - "views": [] - }, - "88c807c411d34103ba2e31b2df28b947": { - "views": [] - }, - "895ddca8886b4c06ad1d71326ca2f0af": { - "views": [] - }, - "899cc011a1bd4046ac798bc5838c2150": { - "views": [] - }, - "89d0e7a3090c47df9689d8ca28914612": { - "views": [] - }, - "89ea859f8bbd48bb94b8fa899ab69463": { - "views": [] - }, - "8a600988321e4e489450d26dedaa061f": { - "views": [] - }, - "8adcca252aff41a18cca5d856c17e42f": { - "views": [] - }, - "8b2fe9e4ea1a481089f73365c5e93d8b": { - "views": [] - }, - "8b5acd50710c4ca185037a73b7c9b25c": { - "views": [] - }, - "8bbdba73a1454cac954103a7b1789f75": { - "views": [] - }, - "8cffde5bdb3d4f7597131b048a013929": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "8db2abcad8bc44df812d6ccf2d2d713c": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "8dd5216b361c44359ba1233ee93683a4": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "8e13719438804be4a0b74f73e25998cd": { - "views": [] - }, - "8eb4ff3279fe4d43a9d8ee752c78a956": { - "views": [] - }, - "8f577d437d4743fd9399fefcd8efc8cb": { - "views": [] - }, - "8f8fbe8fd1914eae929069aeeac16b6d": { - "views": [] - }, - "8f9b8b5f7dd6425a9e8e923464ab9528": { - "views": [] - }, - "8f9e3422db114095a72948c37e98dd3e": { - "views": [] - }, - "8fd325068289448d990b045520bad521": { - "views": [] - }, - "9039bc40a5ad4a1c87272d82d74004e2": { - "views": [] - }, - "90bf5e50acbb4bccad380a6e33df7e40": { - "views": [] - }, - "91028fc3e4bc4f6c8ec752b89bcf3139": { - "views": [] - }, - "9274175be7fb47f4945e78f96d39a7a6": { - "views": [] - }, - "929245675b174fe5bfa102102b8db897": { - "views": [] - }, - "92be1f7fb2794c9fb25d7bbb5cbc313d": { - "views": [] - }, - "933904217b6045c1b654b7e5749203f5": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "936bc7eb12e244c196129358a16e14bb": { - "views": [] - }, - "936c09f4dde8440b91e9730a0212497c": { - "views": [] - }, - "9406b6ae7f944405a0e8a22f745a39b2": { - "views": [] - }, - "942a96eea03740719b28fcc1544284d4": { - "views": [] - }, - "94840e902ffe4bbba5b374ff4d26f19f": { - "views": [] - }, - "948d01f0901545d38e05f070ce4396e4": { - "views": [] - }, - "94e2a0bc2d724f7793bb5b6d25fc7088": { - "views": [] - }, - "94f2b877a79142839622a61a3a081c03": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "94f30801a94344129363c8266bf2e1f8": { - "views": [] - }, - "95b127e8aff34a76a813783a6a3c6369": { - "views": [] - }, - "95d44119bf714e42b163512d9a15bbc5": { - "views": [] - }, - "95f016e9ea9148a4a3e9f04cb8f5132d": { - "views": [] - }, - "968e9e9de47646409744df3723e87845": { - "views": [] - }, - "97207358fc65430aa196a7ed78b252f0": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "9768d539ee4044dc94c0bd5cfb827a18": { - "views": [] - }, - "98587702cc55456aa881daf879d2dc8d": { - "views": [] - }, - "986c6c4e92964759903d6eb7f153df8a": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "987d808edd63404f8d6f2ce42efff33a": { - "views": [] - }, - "9895c26dfb084d509adc8abc3178bad3": { - "views": [] - }, - "994bc7678f284a24a8700b2a69f09f8d": { - "views": [] - }, - "99eee4e3d9c34459b12fe14cee543c28": { - "views": [] - }, - "9a5c0b0805034141a1c96ddd57995a3c": { - "views": [] - }, - "9a7862bb66a84b4f897924278a809ef3": { - "views": [] - }, - "9b812f733f6a4b60ba4bf725959f7913": { - "views": [] - }, - "9bb5ae9ff9c94fe7beece9ce43f519af": { - "views": [] - }, - "9bfde7b437fb4e76a16a49574ea5b7ec": { - "views": [] - }, - "9c1d14484b6d4ab3b059731f17878d14": { - "views": [] - }, - "9c7a66ead55e48c8b92ef250a5a464b7": { - "views": [] - }, - "9ce50a53aafe439ebb19fff363c1bfe2": { - "views": [] - }, - "9d5e9658af264ad795f6a5f3d8c3c30f": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "9d7aa65511b6482d9587609ad7898f54": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "9d87f94baf454bd4b529e55e0792a696": { - "views": [] - }, - "9de4bd9c6a7b4f3dbd401df15f0b9984": { - "views": [] - }, - "9dfd6b08a2574ed89f0eb084dae93f73": { - "views": [] - }, - "9e1dffcb1d9d48aaafa031da2fb5fed9": { - "views": [] - }, - "9efb46d2bb0648f6b109189986f4f102": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "9f1439500d624f769dd5e5c353c46866": { - "views": [] - }, - "9f27ba31ccc947b598dc61aefca16a7f": { - "views": [] - }, - "9f31a58b6e8e4c79a92cf65c497ee000": { - "views": [] - }, - "9f43f85a0fb9464e9b7a25a85f6dba9c": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "9f4970dc472946d48c14e93e7f4d4b70": { - "views": [] - }, - "9f5dd25217a84799b72724b2a37281ea": { - "views": [] - }, - "9faa50b44e1842e0acac301f93a129c4": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "a0202917348d4c41a176d9871b65b168": { - "views": [] - }, - "a058f021f4ca4daf8ab830d8542bf90b": { - "views": [] - }, - "a0a2dded995543a6b68a67cd91baa252": { - "views": [] - }, - "a0e170b3ea484fd984985d2607f90ef3": { - "views": [] - }, - "a168e79f4cbb44c8ac7214db964de5f2": { - "views": [] - }, - "a182b774272b48238b55e3c4d40e6152": { - "views": [] - }, - "a1840ca22d834df2b145151baf6d8241": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "a1bb2982e88e4bb1a2729cc08862a859": { - "views": [] - }, - "a1d897a6094f483d8fc9a3638fbc179d": { - "views": [] - }, - "a231ee00d2b7404bb0ff4e303c6b04ee": { - "views": [] - }, - "a29fdc2987f44e69a0343a90d80c692c": { - "views": [] - }, - "a2de3ac1f4fe423997c5612b2b21c12f": { - "views": [] - }, - "a30ba623acec4b03923a2576bcfcbdf5": { - "views": [] - }, - "a3357d5460c5446196229eae087bb19e": { - "views": [] - }, - "a358d9ecd754457db178272315151fa3": { - "views": [] - }, - "a35aec268ac3406daa7fe4563f83f948": { - "views": [] - }, - "a38c5ed35b9945008341c2d3c0ef1470": { - "views": [] - }, - "a39cfb47679c4d2895cda12c6d9d2975": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "a55227f2fd5d42729fc4fd39a8c11914": { - "views": [] - }, - "a65af2c8506d47ec803c15815e2ab445": { - "views": [] - }, - "a6d2366540004eeaab760c8be196f10a": { - "views": [] - }, - "a709f15a981a468b9471a0f672f961a7": { - "views": [] - }, - "a7258472ad944d038cd227de28d9155f": { - "views": [] - }, - "a72eb43242c34ef19399c52a77da8830": { - "views": [] - }, - "a7568aed621548649e37cfa6423ca198": { - "views": [] - }, - "a83f7f5c09a845ecb3f5823c1d178a54": { - "views": [] - }, - "a87c651448f14ce4958d73c2f1e413e1": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "a8e78f5bc64e412ab44eb9c293a7e63b": { - "views": [] - }, - "a996d507452241e0b99aabe24eecbdd9": { - "views": [] - }, - "a9a4b7a2159e40f8aa93a50f11048342": { - "views": [] - }, - "a9cc48370b964a888f8414e1742d6ff2": { - "views": [] - }, - "a9dcbe9e9a4445bf9cf8961d4c1214a6": { - "views": [] - }, - "aab29dfddb98416ea815475d6c6a3eed": { - "views": [] - }, - "ab89783a86bc4939a5f78957f4019553": { - "views": [] - }, - "abaee5bb577d4a68b6898d637a4c7898": { - "views": [] - }, - "abecb04251e04260860074b8bdad088a": { - "views": [] - }, - "acc07b8cf2cf4d50ae1bceef2254637f": { - "views": [] - }, - "ae3ee1ee05a2443c8bf2f79cd9e86e56": { - "views": [] - }, - "ae4e85e2bceb4ec783dbfaaf3a174ea7": { - "views": [] - }, - "aec1a51db98f470cb0854466f3461fc1": { - "views": [] - }, - "afc5dccd3db64a1592ee0b2fd516b71d": { - "views": [] - }, - "afe28f5bae8941b19717e3d7285ddc61": { - "views": [] - }, - "b00516b171544bca9113adc99ed528a1": { - "views": [] - }, - "b005d7f2afbe479eb02678447a079a1a": { - "views": [] - }, - "b020ad1a7750461bb79fe4e74b9384f6": { - "views": [] - }, - "b07d0aab375142978e1261a6a4c94b10": { - "views": [] - }, - "b2c18df5c51649cdbdaf64092fc945b3": { - "views": [] - }, - "b410c14ee52d4af49c08da115db85ac7": { - "views": [] - }, - "b41220079b2b49c2ba6f59dcfe9e7757": { - "views": [] - }, - "b445a187ca6943bbb465782a67288ce5": { - "views": [] - }, - "b4dfb435038645dc9673ea4257fc26f3": { - "views": [] - }, - "b5633708bd8b4abdaec77a96aca519bb": { - "views": [] - }, - "b59b2622026d4ec582354d919e16f658": { - "views": [] - }, - "b635f31747e14f989c7dee2ba5d5caa5": { - "views": [] - }, - "b63dfdde813a4f019998e118b5168943": { - "views": [] - }, - "b6c3d440986d44ed88a9471a69b70e05": { - "views": [] - }, - "b6ee195c9bfd48ee8526b8cf0f3322b9": { - "views": [] - }, - "b7064dd21c9949d79f40c73fee431dff": { - "views": [] - }, - "b7537298609f4d64b8e36692b84f376c": { - "views": [] - }, - "b755013f41fa4dce8e2bab356d85d26d": { - "views": [] - }, - "b7cd4bfabc2e40fe9f30de702ae63716": { - "views": [] - }, - "b7e4c497ff5c4173961ffdc3bd3821a9": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "b821a13ce3e8453d85f07faccc95fee1": { - "views": [] - }, - "b86ea9c1f1ee45a380e35485ad4e2fac": { - "views": [] - }, - "b87f4d4805944698a0011c10d626726c": { - "views": [] - }, - "b8e173c7c8be41df9161cbbe2c4c6c86": { - "views": [] - }, - "b9322adcd8a241478e096aa1df086c78": { - "views": [] - }, - "b9ad471398784b6889ce7a1d2ef5c4c0": { - "views": [] - }, - "b9c138598fce460692cc12650375ee52": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "ba146eb955754db88ba6c720e14ea030": { - "views": [] - }, - "ba48cba009e8411ea85c7e566a47a934": { - "views": [] - }, - "bb2793de83a64688b61a2007573a8110": { - "views": [] - }, - "bb53891d7f514a17b497f699484c9aed": { - "views": [] - }, - "bbe5dea9d57d466ba4e964fce9af13cf": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "bbe88faf528d44a0a9083377d733d66a": { - "views": [] - }, - "bc0525d022404722a921132e61319e46": { - "views": [] - }, - "bc320fb35f5744cc82486b85f7a53b6f": { - "views": [] - }, - "bc900e9562c546f9ae3630d5110080ec": { - "views": [] - }, - "bcbf6b3ff19d4eb5aa1b8a57672d7f6f": { - "views": [] - }, - "bccf183ccb0041e380732005f2ca2d0a": { - "views": [] - }, - "bd0d18e3441340a7a56403c884c87a8e": { - "views": [] - }, - "bd21e4fe92614c22a76ae515077d2d11": { - "views": [] - }, - "bd5b05203cfd402596a6b7f076c4a8f8": { - "views": [] - }, - "beb0c9b29d8d4d69b3147af666fa298b": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "bf0d147a6a1346799c33807404fa1d46": { - "views": [] - }, - "c03d4477fa2a423dba6311b003203f62": { - "views": [] - }, - "c05697bcb0a247f78483e067a93f3468": { - "views": [] - }, - "c09c3d0e94ca4e71b43352ca91b1a88a": { - "views": [] - }, - "c0d015a0930e4ddf8f10bbace07c0b24": { - "views": [] - }, - "c15edd79a0fd4e24b06d1aae708a38c4": { - "views": [] - }, - "c20b6537360f4a70b923e6c5c2ba7d9b": { - "views": [] - }, - "c21fff9912924563b28470d32f62cd44": { - "views": [] - }, - "c2482621d28542268a2b0cbf4596da37": { - "views": [] - }, - "c25bd0d8054b4508a6b427447b7f4576": { - "views": [] - }, - "c301650ac4234491af84937a8633ad76": { - "views": [] - }, - "c333a0964b1e43d0817e73cb47cf0317": { - "views": [] - }, - "c36213b1566843ceb05b8545f7d3325c": { - "views": [] - }, - "c37d0add29fa4f41a47caf6538ec6685": { - "views": [] - }, - "c409a01effb945c187e08747e383463c": { - "views": [] - }, - "c4e104a7b731463688e0a8f25cf50246": { - "views": [] - }, - "c54f609af4e94e93b57304bc55e02eba": { - "views": [] - }, - "c576bf6d24184f3a9f31d4f40231ce87": { - "views": [] - }, - "c58ab80a895344008b5aadd8b8c628a4": { - "views": [] - }, - "c5d28bea41da447e88f4cec9cfaaf197": { - "views": [] - }, - "c74bbd55a8644defa3fcef473002a626": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "c856e77b213b400599b6e026baaa4c85": { - "views": [] - }, - "c894f9e350a1473abb28ff651443ae6f": { - "views": [] - }, - "c8e3827ae28b45bc9768a8c3e35cc8b1": { - "views": [] - }, - "c95bf1935b71400e98c63722b77caa08": { - "views": [] - }, - "c9e5129d30ea4b78b846e8e92651b0e9": { - "views": [] - }, - "ca2123c7b103485c851815cbcb4a6c17": { - "views": [] - }, - "ca34917db02148168daf0c30ceed7466": { - "views": [] - }, - "caa6adf7b0d243da8229c317c7482fe3": { - "views": [] - }, - "cb924475ebb64e76964f88e830979d38": { - "views": [] - }, - "cba1473ccaee4b2a89aba4d2b4b1e648": { - "views": [] - }, - "cbd735eb8eb446069ee912d795ccaf14": { - "views": [] - }, - "cc0ee37900ef40069515c79e99a9a875": { - "views": [] - }, - "cc564bca35c743b89697f5cfd4ecccc2": { - "views": [] - }, - "cc5a47588e2b4c8eb5deff560a0256c2": { - "views": [] - }, - "ccc64ac3a8a84ae9815ff9e8bdc3279d": { - "views": [] - }, - "cd02a06cec7342438f8585af6227db96": { - "views": [] - }, - "cd236465e91d4a90a2347e6baab6ab71": { - "views": [] - }, - "cd9a0aa1700a4407ab445053029dca18": { - "views": [] - }, - "cdd6c6a945a74c568d611b42e4ba8a1a": { - "views": [] - }, - "cdf0323ea1324c0b969f49176ecee1c2": { - "views": [] - }, - "ce3a0e82e80d48b9b2658e0c52196644": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "ce6ad0459f654b6785b3a71ccdf05063": { - "views": [] - }, - "ce8d3cd3535b459c823da2f49f3cc526": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "cf8c8f791d0541ffa4f635bb07389292": { - "views": [] - }, - "cfed29ab68f244e996b0d571c31020ec": { - "views": [] - }, - "d034cbd7b06a448f98b3f11b68520c08": { - "views": [] - }, - "d13135f5facc4c5996549a85974145a1": { - "views": [] - }, - "d18c7c17fa93493ebc622fe3d2c0d44e": { - "views": [] - }, - "d23b743d7d0342aca257780f2df758d6": { - "views": [] - }, - "d2fe43f4a2064078a6c8da47f8afb903": { - "views": [] - }, - "d34f626ca035456bb9e0c9ad2a9dced1": { - "views": [] - }, - "d359911be08f4342b20e86a954cd060f": { - "views": [] - }, - "d4d76a1c09a342e79cd6733886626459": { - "views": [] - }, - "d58d12f54e2b426fba4ca611b0ffc68f": { - "views": [] - }, - "d5e2a77d429d4ca0969e1edec5dc2690": { - "views": [] - }, - "d5f4bbe3242245f0a2c3b18a284e55f8": { - "views": [] - }, - "d6c325f3069a4186b3022619f4280c37": { - "views": [] - }, - "d6d46520bbcf495bad20bcd266fe1357": { - "views": [] - }, - "d72b7c8058324d1bb56b6574090ccda6": { - "views": [] - }, - "d73bbb49a33d49e187200fa7c8f23aaa": { - "views": [] - }, - "d80e4f8eb9a54aef8b746e38d8c3ef1b": { - "views": [] - }, - "d819255bc7104ee8b9466b149dba5bff": { - "views": [] - }, - "d819fcff913441d39a41982518127af5": { - "views": [] - }, - "d8295021db704345a63c9ff9d692b761": { - "views": [] - }, - "d83329fe36014f85bb5d0247d3ae4472": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "d88a0305cc224037a14e5040ed8e13af": { - "views": [] - }, - "d89b81d63c6048ff800d3380bf921ac0": { - "views": [] - }, - "d8d8667ab50944e4b066d648aa3c8e2a": { - "views": [] - }, - "d8fd2b5ef6e24628b2b5102d3cd375f3": { - "views": [] - }, - "d9579a126d5f44a3bc0a731e0ad55f24": { - "views": [] - }, - "da51bd4d4fd848699919e3973b2fabc2": { - "views": [] - }, - "dba5a5a8fec346b2bcdc88f4ce294550": { - "views": [] - }, - "dc201c38ac434cb8a424553f1fa5a791": { - "views": [] - }, - "dc631df85ae84ffc964acd7a76e399ce": { - "views": [] - }, - "dc7376a2272e44179f237e5a1c7f6a49": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "dc8a45203a0a457c927f582f9d576e5d": { - "views": [] - }, - "dcc0e1ea9e994fc0827d9d7f648e4ad9": { - "views": [] - }, - "dce6f4cb98094ee1b06c0dd0ff8f488a": { - "views": [] - }, - "dcfc688de41b4ed7a8f89ae84089d5c0": { - "views": [] - }, - "dd486b2cbda84c83ace5ceaee8a30ff8": { - "views": [] - }, - "ddcfbf7b97714357920ba9705e8d4ab0": { - "views": [] - }, - "ddd4485714564c65b70bd865783076af": { - "views": [] - }, - "de7738417f1040b1a06ad25e485eb91d": { - "views": [] - }, - "df4cada92e484fd4ae75026eaf1845e2": { - "views": [] - }, - "dfb3707b4a01441c8a0a1751425b8e1c": { - "views": [] - }, - "e03b701a52d948aab86117c928cbe275": { - "views": [] - }, - "e0a614fe085c4d3c835c78d6ada60a40": { - "views": [] - }, - "e138e0c7d5a4471d99bbdac50de00fe1": { - "views": [] - }, - "e154289ce1774450a9a51ac45a1d5725": { - "views": [] - }, - "e25c1d2c78c94c9a805920df36268508": { - "views": [] - }, - "e281172ebc7f48b5ae6545b16da79477": { - "views": [] - }, - "e2862bd7efac4bc0b23532705f5e46c4": { - "views": [] - }, - "e2cd9bb21f254e08885f43fd6e968879": { - "views": [] - }, - "e2f4acecaf194351b8e67439440a9966": { - "views": [] - }, - "e3198c124ac841a79db062efa81f6812": { - "views": [] - }, - "e36f3009f61a4f5ba047562e70330add": { - "views": [] - }, - "e3765274f28b4a55a82d9115ded151de": { - "views": [] - }, - "e37e3fba3b40413180cd30e594bf62bd": { - "views": [] - }, - "e3f9760867fa410fbdc4611aef1cee18": { - "views": [] - }, - "e4331c134ab24f9cae99d476dfa04c89": { - "views": [] - }, - "e46db59e121045169a1ea5313b1748b7": { - "views": [] - }, - "e475d1e00f9d48edadac886fb53c2a20": { - "views": [] - }, - "e48449d21c2d4360b851169468066470": { - "views": [] - }, - "e4c26b8a42b54e959b276a174f2c2795": { - "views": [] - }, - "e4e55dabd92f4c17b78ed4b6881842e8": { - "views": [] - }, - "e4e5dd3dc28d4aa3ab8f8f7c4a475115": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "e516fd8ebfc6478c95130d6edec77c88": { - "views": [] - }, - "e5afb8d0e8a94c4dac18f2bbf1d042ce": { - "views": [] - }, - "e5bcb13bf2e94afc857bcbb37f6d4d87": { - "views": [] - }, - "e64ab85e80184b70b69d01a9c6851943": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "e66b26fb788944ba83b7511d79b85dc5": { - "views": [] - }, - "e73434cfcc854429ac27ddc9c9b07f5e": { - "views": [] - }, - "e7a8244ea5a84493b3b5bdeaf92a50b4": { - "views": [] - }, - "e81ed2c281df4f06bc1d4e6b67c574b4": { - "views": [] - }, - "e85ff7ccdc034c268df9cb0e95e9b850": { - "views": [] - }, - "e8a198bff55a437eab56887563cd9a6e": { - "views": [] - }, - "e92ede4cfc96436b84e63809bcb22385": { - "views": [] - }, - "e949474f6aa64c5dada603476ea6cabd": { - "views": [] - }, - "e98e59c3156c49c1bb27be7a478c3654": { - "views": [] - }, - "e9ea6f88d1334fbcab7f9c9a11cf4a50": { - "views": [] - }, - "ea09e5da878c42f2b533856dc3149e3e": { - "views": [] - }, - "ea74036074054593b1cc31fec030d2a2": { - "views": [] - }, - "ea8d97fb8c0d499095cceb133e4d7d9c": { - "views": [] - }, - "eafbea5bce1f4ab4bcbb0aa08598af0f": { - "views": [] - }, - "ec01e6cdc5a54f068f1bb033415b4a06": { - "views": [] - }, - "ec2d1f18f2e841b184f5d4cd15979d46": { - "views": [] - }, - "ec923af478b94ad99bdfd3257f48cb06": { - "views": [] - }, - "ed02e2272e844678979bd6a3c00f5cb3": { - "views": [] - }, - "ed80296f5f5e42e694dfc5cc7fd3acee": { - "views": [] - }, - "ee4df451ca9d4ed48044b25b19dc3f3f": { - "views": [] - }, - "ee77219007884e089fc3c1479855c469": { - "views": [] - }, - "ef372681937b4e90a04b0d530b217edb": { - "views": [] - }, - "ef452efe39d34db6b4785cb816865ca3": { - "views": [] - }, - "efcb07343f244ff084ea49dbc7e3d811": { - "views": [] - }, - "f083a8e4c8574fe08f5eb0aac66c1e71": { - "views": [] - }, - "f09d7c07bec64811805db588515af7f6": { - "views": [] - }, - "f0ef654c93974add9410a6e243e0fbf2": { - "views": [] - }, - "f20d7c2fcf144f5da875c6af5ffd35cb": { - "views": [] - }, - "f234eb38076146b9a640f44b7ef30892": { - "views": [] - }, - "f24d087598434ed1bb7f5ae3b0b4647a": { - "views": [] - }, - "f262055f3f1b48029f9e2089f752b0b8": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "f2d40a380f884b1b95992ccc7c3df04e": { - "views": [] - }, - "f2e2e2e5177542aa9e5ca3d69508fb89": { - "views": [] - }, - "f31914f694384908bec466fc2945f1c7": { - "views": [] - }, - "f31cbea99df94f2281044c369ef1962d": { - "views": [] - }, - "f32c6c5551f540709f7c7cd9078f1aad": { - "views": [] - }, - "f337eb824d654f0fbd688e2db3c5bf7b": { - "views": [] - }, - "f36f776a7767495cbda2f649c2b3dd48": { - "views": [] - }, - "f3cef080253c46989413aad84b478199": { - "views": [] - }, - "f3df35ce53e0466e81a48234b36a1430": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "f3fa0f8a41ab4ede9c4e20f16e35237d": { - "views": [] - }, - "f42e4f996f254a1bb7fe6f4dfc49aba3": { - "views": [] - }, - "f437babcddc64a8aa238fc7013619fbb": { - "views": [] - }, - "f44a5661ed1f4b5d97849cf4bb5e862e": { - "views": [] - }, - "f44d24e28afa475da40628b4fd936922": { - "views": [] - }, - "f44d5e6e993745b8b12891d1f3af3dc3": { - "views": [] - }, - "f457cb5e76be46a29d9f49ba0dc135f1": { - "views": [] - }, - "f4691cbe84534ef6b7d3fca530cf1704": { - "views": [] - }, - "f4ca26fbbdbf49dda5d1b8affdecfa3e": { - "views": [] - }, - "f54998361fe84a8a95b2607fbe367d52": { - "views": [] - }, - "f54bdb1d3bfb47af9e7aaabb4ed12eff": { - "views": [] - }, - "f54c28b82f7d498b83bf6908e19b6d1b": { - "views": [] - }, - "f5cc05fcee4d4c3e80163c6e9c072b6e": { - "views": [] - }, - "f621b91a209e4997a47cf458f8a5027f": { - "views": [] - }, - "f665bf176eb443f6867cef8fdd79b4e5": { - "views": [] - }, - "f6e27824f5e84bd8b4671e9eb030b20f": { - "views": [] - }, - "f6f162ac0811434ea95875f6335bd484": { - "views": [] - }, - "f6f629e6fb164c97acdc50c25d1354ee": { - "views": [] - }, - "f71adee125f74ddd8302aa2796646d67": { - "views": [] - }, - "f731d66445aa4543800a6bb3e9267936": { - "views": [] - }, - "f8f8e8c27fff45afa309a849d1655e29": { - "views": [] - }, - "f913752b9e86487cb197f894d667d432": { - "views": [] - }, - "f92cde8d24064ae5afd4cd577eaa895a": { - "views": [] - }, - "f944674b7ca345a582de627055614499": { - "views": [] - }, - "f9458080ed534d25856c67ce8f93d5a1": { - "views": [ - { - "cell_index": 27 - } - ] - }, - "f986f98d05dd4b9fa8a3c1111c1cea9b": { - "views": [] - }, - "f9f7bc097f654e41b68f2d849c99a1a1": { - "views": [] - }, - "fa00693458bc45669e2ed4ee536e98d6": { - "views": [] - }, - "fa2f219e60ff453da3842df62a371813": { - "views": [] - }, - "fa6cbfe76fff48848dc08a9344de84ff": { - "views": [] - }, - "fb3b6d5e405d4e1b87e82bcc8ae3df0f": { - "views": [] - }, - "fbe27ee7dc93467292b67f68935ae6f0": { - "views": [] - }, - "fc494b2bcade4c3a890f08386dd8aab0": { - "views": [] - }, - "fd98ac9b76cc44f09bc3b684caf1882d": { - "views": [] - }, - "feb9bf5d951c40d4a87d57a4de5e819a": { - "views": [] - }, - "fedfd679505d409fa74ccaa52b87fcce": { - "views": [] - }, - "fef0278d4386407f96c44b4affe437b8": { - "views": [] - }, - "ff29b06d50b048d6bbcbdb5a8665dcde": { - "views": [] - }, - "ff3c868e31c0430dbf5b85415da9a24b": { - "views": [] - }, - "ff8a91a101044f4fba19cdfffc39e0d3": { - "views": [] - }, - "ffbca26ec77b492bbbda1be40b044d8e": { - "views": [] - }, - "fff5f5bc334942bd851ac24f782f4f3c": { - "views": [] } }, - "version": "1.1.1" + "version": "1.2.0" } }, "nbformat": 4, diff --git a/mdp.py b/mdp.py index 8b0714da9..94aac328f 100644 --- a/mdp.py +++ b/mdp.py @@ -111,15 +111,25 @@ def to_arrows(self, policy): def value_iteration(mdp, epsilon=0.001): "Solving an MDP by value iteration. [Figure 17.4]" + + ## Initialize the utility/value for all states U1 = {s: 0 for s in mdp.states} R, T, gamma = mdp.R, mdp.T, mdp.gamma + + print(U1) + while True: U = U1.copy() delta = 0 + + # For each state s in a MDP, apply value iteration to calculate value of each state for s in mdp.states: U1[s] = R(s) + gamma * max([sum([p * U[s1] for (p, s1) in T(s, a)]) for a in mdp.actions(s)]) + print(delta) delta = max(delta, abs(U1[s] - U[s])) + + ## Break at convergence (epsilon) if delta < epsilon * (1 - gamma) / gamma: return U diff --git a/rl.ipynb b/rl.ipynb index 103c32e9e..a3f0cb975 100644 --- a/rl.ipynb +++ b/rl.ipynb @@ -567,8 +567,9 @@ } ], "metadata": { + "anaconda-cloud": {}, "kernelspec": { - "display_name": "Python 3", + "display_name": "Python [default]", "language": "python", "name": "python3" }, @@ -582,7 +583,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.5.2" } }, "nbformat": 4,