{ "cells": [ { "cell_type": "markdown", "id": "22d803b1-586b-4787-a87e-06d216268b7b", "metadata": {}, "source": [ "# Genetic algorithm\n", "\n", "Now we have functions for fitness, crossover, mutation, and tournament selection. We can import these and use them in our genetic algorithm to search for the global optima of the fitness function. The objective is to find the global minimum of the Ackley function [0, 0].\n", "\n", "## Exercise 1:\n", "\n", "Provide written answers for the following questions:\n", "- 1.1. Run the GA code using the default parameters and see if the GA finds the global minimum. How many generations does it take to converge?\n", "- 1.2. How does using mutation alone (PROB_CROSSOVER = 0) and crossover alone (PROB_MUTATION = 0) influence the results? What about if you use a small or a large population size?\n", "- 1.3. What happens if you use a larger magnitude mutation probability (PROB_MUTATION)?\n", "- 1.4. What happens if the tournament size is small (minimal is 2) or large (TOURNAMENT_SIZE must still be less than POPULATION_SIZE)?\n", "- 1.5. When the x and y value of each chromosome in the population is plotted, do you notice anything odd about it? Can you explain it? \n", "- 1.6. How does making ELITISM=True influence the results?\n", "\n", "NOTE: Once you have completed the above exercises, complete the exercises in GA_param_search.ipynb" ] }, { "cell_type": "code", "execution_count": 2, "id": "0f8b54c3-0122-4a93-b607-298ca63efb69", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import matplotlib.patches as mpatches\n", "\n", "%run fitness.ipynb\n", "%run selection.ipynb\n", "%run crossover.ipynb\n", "%run mutation.ipynb" ] }, { "cell_type": "markdown", "id": "059c46eb-1ab4-4741-8bf7-bb39258cd3bd", "metadata": {}, "source": [ "## GA parameters\n", "\n", "The user should first choose the GA parameters. IMPORTANT: The parameters we have set for you are by no means optimal (in fact, they are intentionally bad). You should try different values to see what happens. We will show you a more systematic way to aid the choice of parameters later but for now just change one parameter while keeping the others constant and see if you can observe a difference in the convergence to a solution.\n", "\n", "It is often a good idea to keep track of the best solution thus far so that it is not lost. If elitism is chosen, then this best solution will always be added to the new population without being mutated so that future generations can continue to search this area of the solution space." ] }, { "cell_type": "code", "execution_count": 3, "id": "99b5c5f0-3340-4ff2-b958-438a05ae1d94", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Generation 0\n", " --> Best: fitness(-0.02444, 0.96285) = 2.59918\n", " --> Mean: 9.60973 and SD: 2.52694\n" ] }, { "data": { "image/png": "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jr744gv95je/6Vb9AIDwxPSTiXi9Xr311lt6/fXXNWnSJK1evVrvvfeerrjiCknSCy+8oPT0dK1evVr5+fmSGgLIU089pZEjR0qSnnvuOWVlZemDDz7QiBEjzqmOW2+9tem/L7zwQj3xxBMaPny4jh49qtjY2KZppqSkpBY9Nc2Vl5dr7dq1PtX/17/+VRdddJEkafbs2frd7353TnUDAMJb2I3U1NfXa+jQobJYLNq+fbvR5YSEl19+WbGxsbLZbJo0aZJuuOEGTZs2TT169GgKK5LUr18/2e12lZaWNl3r0aOHhg8f3vTvSy65RH369Glxm67aunWrrrvuOg0cOFBxcXEaM2aMJOmLL77w+T5KS0t9qr93795NgUZqOE6gcaoLABBZwi7UFBQUaMCAAUaXEVLGjRun7du3q7y8XHV1dXruuef8tmmb1WrV2Qe5N5/+OduxY8c0YcIExcfH64UXXtDmzZu1atUqSQrI6ednr5ayWCyt6gUARIawCjWvvvqq3njjDS1cuNDoUkLKeeedp8zMTA0cOLBpGXdWVpZOnjyp999/v+l21dXVKisrU3Z2dtO1kydPasuWLU3/Lisr0+HDh5WVlSVJ6t+/f6vG245GyHbu3Knq6mrNnz9fubm5uuSSS1qNnDQeRdF4NEVbfK0fAIBGYRNqKisrddttt+n555/3+cDJ+vp61dbWtviIFIMHD1ZeXp5uu+02vfvuuyopKdFPf/pTfeMb31BeXl7T7Xr27Kk77rhD77//vrZu3app06Zp1KhRTf00V199tbZs2aK///3vKi8v17x58/TJJ5+0+7gDBw5UdHS0nnzySX3++edau3atHnzwwRa3ycjIkMVi0csvv6yqqiodPXr0nOsHAKBRWIQar9eradOm6Re/+IVycnJ8/rpHHnlECQkJTR/p6eldetyePc+X1WrrarndYrXa1LPn+X65r8WLF+vyyy/X97//fY0ePVper1evvPJKiymb3r176+6779ZPfvITXXnllYqNjdXSpUubPj9hwgTdd999Kigo0PDhw3XkyBHddNNN7T5m//79tWTJEi1fvlzZ2dmaP39+q5G1b3zjG3rggQd0zz33KDk5WbNnzz7n+gEAaGTxGtiAcM899+jRRx/t8DalpaV64403tGzZMm3YsEFRUVGqqKjQBRdcoG3btmno0KHtfm19fb3q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fh8BwHeEmtMalyOfvdMsYKSvv/5aUuudiwEArbH66bQePXqod+/eqqqqUs+ePWW1kvdgHK/Xq6+//loHDx5Unz59mkI3AKB9hJrTLBaLUlNTtWvXLu3evdvocgBJDedipaSkGF0GAIQFQk0z0dHRGjx4MFNQCAk9e/ZkhAYAuoBQcxar1crOrQAAhCEaRwAAgCkQagAAgCkQagAAgClEVE9N40ZmtbW1BlcCAAB81fi63dmGpBEVao4cOSJJSk9PN7gSAADQVUeOHFFCQkK7n7d4I2gfdo/Ho/379ysuLk4Wi8Xocs5JbW2t0tPTtWfPHsXHxxtdTkTjZxFa+HmEDn4WocMsPwuv16sjR45owIABHW6OG1EjNVarVWlpaUaX4Rfx8fFh/QtqJvwsQgs/j9DBzyJ0mOFn0dEITSMahQEAgCkQagAAgCkQasJMr169NG/ePPXq1cvoUiIeP4vQws8jdPCzCB2R9rOIqEZhAABgXozUAAAAUyDUAAAAUyDUAAAAUyDUAAAAUyDUmER9fb2GDh0qi8Wi7du3G11OxKmoqND06dN1wQUXKCYmRhdddJHmzZun48ePG11aRPjzn/+sQYMGyWazaeTIkfrggw+MLiniPPLIIxo+fLji4uKUlJSkyZMnq6yszOiyIGn+/PmyWCy68847jS4l4Ag1JlFQUKABAwYYXUbE2rlzpzwejxYtWqR///vfeuyxx/TXv/5V9957r9Glmd7SpUt11113ad68efrwww81ZMgQTZgwQQcPHjS6tIiyYcMGzZo1S8XFxVq3bp1OnDih733vezp27JjRpUW0zZs3a9GiRbr00kuNLiUoWNJtAq+++qruuusurVy5Ut/85je1bds2DR061OiyIt4f/vAHPf300/r888+NLsXURo4cqeHDh+upp56S1HDGW3p6uu644w7dc889BlcXuaqqqpSUlKQNGzboqquuMrqciHT06FFddtll+stf/qKHHnpIQ4cO1eOPP250WQHFSE2Yq6ys1G233abnn39evXv3NrocNFNTU6O+ffsaXYapHT9+XFu3btX48eObrlmtVo0fP16bNm0ysDLU1NRIEn8DBpo1a5auvfbaFn8fZhdRB1qajdfr1bRp0/SLX/xCOTk5qqioMLoknOZ0OvXkk09q4cKFRpdial9++aVOnTql5OTkFteTk5O1c+dOg6qCx+PRnXfeqSuvvFLf+ta3jC4nIr300kv68MMPtXnzZqNLCSpGakLQPffcI4vF0uHHzp079eSTT+rIkSOaO3eu0SWblq8/i+b27duniRMnKj8/X7fddptBlQPGmTVrlj755BO99NJLRpcSkfbs2aNf//rXeuGFF2Sz2YwuJ6joqQlBVVVVqq6u7vA2F154oa6//nr97//+rywWS9P1U6dOKSoqSjfeeKOee+65QJdqer7+LKKjoyVJ+/fv19ixYzVq1CgtWbJEVivvGwLp+PHj6t27t1asWKHJkyc3Xb/55pt1+PBhrVmzxrjiItTs2bO1Zs0avfPOO7rggguMLicirV69WlOmTFFUVFTTtVOnTslischqtaq+vr7F58yEUBPGvvjiC9XW1jb9e//+/ZowYYJWrFihkSNHKi0tzcDqIs++ffs0btw4XX755frHP/5h2ieNUDNy5EiNGDFCTz75pKSGqY+BAwdq9uzZNAoHkdfr1R133KFVq1Zp/fr1Gjx4sNElRawjR45o9+7dLa7dcsstuuSSS3T33XebekqQnpowNnDgwBb/jo2NlSRddNFFBJog27dvn8aOHauMjAwtXLhQVVVVTZ9LSUkxsDLzu+uuu3TzzTcrJydHI0aM0OOPP65jx47plltuMbq0iDJr1iy9+OKLWrNmjeLi4nTgwAFJUkJCgmJiYgyuLrLExcW1Ci7nnXee+vXrZ+pAIxFqAL9Yt26dnE6nnE5nq0DJYGhg3XDDDaqqqtL999+vAwcOaOjQoXrttddaNQ8jsJ5++mlJ0tixY1tcX7x4saZNmxb8ghCRmH4CAACmQBcjAAAwBUINAAAwBUINAAAwBUINAAAwBUINAAAwBUINAAAwBUINAAAwBUINAAAwBUINAAAwBUINAAAwBUINAAAwBUINgLBVVVWllJQUPfzww03XNm7cqOjoaL311lsGVgbACBxoCSCsvfLKK5o8ebI2btwou92uoUOHKi8vT3/84x+NLg1AkBFqAIS9WbNm6c0331ROTo4+/vhjbd68Wb169TK6LABBRqgBEPbq6ur0rW99S3v27NHWrVv17W9/2+iSABiAnhoAYe+zzz7T/v375fF4VFFRYXQ5AAzCSA2AsHb8+HGNGDFCQ4cOld1u1+OPP66PP/5YSUlJRpcGIMgINQDC2n/+539qxYoVKikpUWxsrMaMGaOEhAS9/PLLRpcGIMiYfgIQttavX6/HH39czz//vOLj42W1WvX888/L4XDo6aefNro8AEHGSA0AADAFRmoAAIApEGoAAIApEGoAAIApEGoAAIApEGoAAIApEGoAAIApEGoAAIApEGoAAIApEGoAAIApEGoAAIApEGoAAIAp/P8hcp1oq6uG4wAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Generation 10\n", " --> Best: fitness(-0.01466, -0.01466) = 0.07007\n", " --> Mean: 2.86645 and SD: 3.33056\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjUAAAGwCAYAAABRgJRuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAwoElEQVR4nO3de3SU1b3/8c8kXGYgV5BcIAkCoRFEiAgE9KjBYoO2HvDnoXhpNYpAFVSKHiTtAWq1QJUiilVBLVDUIxUVqccbusQrICKJWCEmQISEAJFiAjETIPP8/ogZCQlhuCTPPHver7VmLfLc5jtMZuaTvffs7bIsyxIAAIDDhdldAAAAwJlAqAEAAEYg1AAAACMQagAAgBEINQAAwAiEGgAAYARCDQAAMEIruwtoST6fT7t27VJkZKRcLpfd5QAAgABYlqUDBw6oc+fOCgs7fntMSIWaXbt2KTk52e4yAADAKdi5c6eSkpKOuz+kQk1kZKSk2v+UqKgom6sBAACBqKioUHJysv9z/HhCKtTUdTlFRUURagAAcJgTDR1hoDAAADACoQYAABiBUAMAAIwQUmNqAAA/qqmp0eHDh+0uA1Dr1q0VHh5+2tch1ABAiLEsS7t379Z3331ndymAX0xMjBISEk5rHjlCDQCEmLpAExcXp3bt2jEZKWxlWZa+//577d27V5KUmJh4ytci1ABACKmpqfEHmo4dO9pdDiBJ8ng8kqS9e/cqLi7ulLuiGCgMACGkbgxNu3btbK4EqK/ud/J0xnkRagAgBNHlhGBzJn4nCTUAAMAIjKkBAEiSvN4dOnz42xa7v9atz5LbndJi9wfzEWoAAPJ6d+jTT9Pk83lb7D7DwtwaNCjfUcEmMzNT6enpmjdvXlBcB/XR/QQA0OHD37ZooJEkn897Ui1D2dnZcrlccrlcatOmjVJTU/XHP/5RR44cacYqT8/q1avlcrkazAn08ssv6/7777enKIPRUgMAcIzhw4dr0aJFqq6u1uuvv64JEyaodevWysnJsbu0k9KhQwe7SzASLTUAAMdo27atEhIS1LVrV912220aNmyYVq5cqf379+vGG29UbGys2rVrpyuuuEIFBQX+8xYvXqyYmBitWLFCPXv2lNvtVlZWlnbu3Ok/Jjs7WyNHjqx3f5MmTVJmZuZx61m6dKkGDBigyMhIJSQk6Prrr/dPIldUVKShQ4dKkmJjY+VyuZSdnS2ptvtp0qRJ/usEWv9bb72lXr16KSIiQsOHD1dpaekp/k+aiVADAHAsj8ejQ4cOKTs7W5999plWrlypNWvWyLIsXXnllfXmPPn+++/1pz/9SX//+9/18ccf67vvvtO11157Wvd/+PBh3X///crLy9OKFStUVFTkDy7Jycl66aWXJEn5+fkqLS3VI4880uh1Aq1/zpw5Wrp0qT744APt2LFD99xzz2nVbxq6nwAAjmNZlt5991299dZbuuKKK7RixQp9/PHHuvDCCyVJzz33nJKTk7VixQqNGjVKUm0Aeeyxx5SRkSFJWrJkiXr16qVPP/1UgwYNOqU6brnlFv+/u3fvrkcffVQDBw7UwYMHFRER4e9miouLU0xMTKPXKCgo0MqVKwOq/8knn1SPHj0kSRMnTtQf//jHU6rbVLTUAAAc47XXXlNERITcbreuuOIKjR49WtnZ2WrVqpU/rEhSx44dlZaWps2bN/u3tWrVSgMHDvT/fM455ygmJqbeMSdrw4YNuuqqq5SSkqLIyEhdeumlkqQdO3YEfI3NmzcHVH+7du38gUaqXSOprqsLtQg1AADHGDp0qHJzc1VQUKCqqiotWbLkjM2OHBYWJsuy6m1rasr+yspKZWVlKSoqSs8995zWr1+vV155RZJ06NChM1LT0Vq3bl3vZ5fL1aDeUEeoAQA4Rvv27ZWamqqUlBS1alU7gqJXr146cuSI1q1b5z9u3759ys/PV+/evf3bjhw5os8++8z/c35+vr777jv16tVLktSpU6cGA29zc3OPW8uWLVu0b98+zZ49WxdffLHOOeecBi0nbdq0kVS7kOjxBFo/ToxQAwBwtJ49e2rEiBEaO3asPvroI+Xl5elXv/qVunTpohEjRviPa926te644w6tW7dOGzZsUHZ2tgYPHuwfT3PZZZfps88+09///ncVFBRoxowZ+vLLL497vykpKWrTpo3mz5+vbdu2aeXKlQ3mnunatatcLpdee+01lZWV6eDBg6dcP06MUAMAUOvWZykszN2i9+lytVHr1medkWstWrRIF1xwgX7xi19oyJAhsixLr7/+er0um3bt2unee+/V9ddfr4suukgRERFatmyZf39WVpamTZumKVOmaODAgTpw4IBuvPHG495np06dtHjxYr344ovq3bu3Zs+erTlz5tQ7pkuXLrrvvvs0depUxcfHa+LEiadcP07MZYVQh1xFRYWio6NVXl6uqKgou8sBgBbn9Xq1fft2devWTW63+5h95q79tHjxYk2aNKnBzL4IHk39bgb6+c1XugEAkiS3O8VR6zABx6L7CQAAGIFQAwAwXnZ2Nl1PIYBQAwAAjECoAQAARiDUAAAAIxBqAACAERwbambPni2Xy6VJkybZXQoAAAgCjpynZv369VqwYIH69u1rdykAYIwdO6RvW27uPZ11lpTSwtPi/OEPf9CKFSuaXNPJLsFcm1M4LtQcPHhQN9xwg5566ik98MADdpcDAEbYsUNKS5O83pa7T7dbys8PPNiUlZVp+vTp+r//+z/t2bNHsbGx6tevn6ZPn66LLrqoeYs9jpYMIkVFRerWrZv/5w4dOuiCCy7Qn//8Z51//vnNfv9Nqatt48aNSk9Pt60Ox3U/TZgwQT//+c81bNiwEx5bXV2tioqKejcAQEPfftuygUaqvb+TaRm65pprtHHjRi1ZskRff/21Vq5cqczMTO3bt6/5igxC77zzjkpLS/XWW2/p4MGDuuKKK055Dp5Dhw6d2eJs5qhQ88ILL+jzzz/XrFmzAjp+1qxZio6O9t+Sk5ObuUIAQHP47rvv9OGHH+rPf/6zhg4dqq5du2rQoEHKycnRf/7nf9Y77tZbb1WnTp0UFRWlyy67THl5eU1e++mnn1avXr3kdrt1zjnn6PHHH6+3v7i4WNddd506dOig9u3ba8CAAVq3bp0WL16s++67T3l5eXK5XHK5XFq8eHHAdcyePVvx8fGKjIzUmDFj5A0wVXbs2FEJCQkaMGCA5syZoz179mjdunXaunWrRowYofj4eEVERGjgwIF655136p179tln6/7779eNN96oqKgojRs3TpL00Ucf6eKLL5bH41FycrLuvPNOVVZW1jtv5syZuuWWWxQZGamUlBQtXLjQv7+uBen888+Xy+VSZmamJGn16tUaNGiQ2rdvr5iYGF100UX65ptvAnqcp8IxoWbnzp2666679NxzzzVY6Op4cnJyVF5e7r/t3LmzmasEADSHiIgIRUREaMWKFaqurj7ucaNGjdLevXv1xhtvaMOGDerfv79++tOf6t///nejxz/33HOaPn26/vSnP2nz5s2aOXOmpk2bpiVLlkiqHfJw6aWXqqSkRCtXrlReXp6mTJkin8+n0aNH6+6779a5556r0tJSlZaWavTo0QHV8Y9//EN/+MMfNHPmTH322WdKTExsEKYC4fF4JNW2uBw8eFBXXnml3n33XW3cuFHDhw/XVVddpR07dtQ7Z86cOerXr582btyoadOmaevWrRo+fLiuueYaffHFF1q2bJk++uijBiuK/+Uvf9GAAQO0ceNG3X777brtttuUn58vSfr0008l/diK9PLLL+vIkSMaOXKkLr30Un3xxRdas2aNxo0bJ5fLddKPM2CWQ7zyyiuWJCs8PNx/k2S5XC4rPDzcOnLkyAmvUV5ebkmyysvLW6BiAAg+VVVV1ldffWVVVVXV275hg2VJLX/bsCHw2pcvX27FxsZabrfbuvDCC62cnBwrLy/Pv//DDz+0oqKiLK/XW++8Hj16WAsWLLAsy7JmzJhh9evXr96+559/vt7x999/vzVkyBDLsixrwYIFVmRkpLVv375Gazr2eoHWMWTIEOv222+vtz8jI6PBtY62fft2S5K1ceNGy7Isa//+/dbVV19tRUREWLt37270nHPPPdeaP3++/+euXbtaI0eOrHfMmDFjrHHjxjV4DGFhYf7fk65du1q/+tWv/Pt9Pp8VFxdnPfHEE43WZlmWtW/fPkuStXr16uM+pqMd73fTsgL//HZMS81Pf/pTbdq0Sbm5uf7bgAEDdMMNNyg3N1fh4eF2lwgAaEbXXHONdu3apZUrV2r48OFavXq1+vfv7+/yycvL08GDB9WxY0d/y05ERIS2b9+urVu3NrheZWWltm7dqjFjxtQ7/oEHHvAfn5ubq/PPP18dOnQIuM5A6ti8ebMyMjLqnTdkyJCArn/hhRcqIiJCsbGxysvL07JlyxQfH6+DBw/qnnvuUa9evRQTE6OIiAht3ry5QUvNgAEDGtS7ePHierVmZWXJ5/Np+/bt/uOO/saxy+VSQkKC9u7de9w6O3TooOzsbGVlZemqq67SI488otLS0oAe46lyzLefIiMj1adPn3rb2rdvr44dOzbYDgAwk9vt1uWXX67LL79c06ZN06233qoZM2YoOztbBw8eVGJiolavXt3gvJiYmAbbDh48KEl66qmnGgSMuj+U67p3TsbJ1nGyli1bpt69e6tjx471rnfPPfdo1apVmjNnjlJTU+XxePRf//VfDQYDt2/fvkG948eP15133tngvlKO+mpa69at6+1zuVzy+XxN1rpo0SLdeeedevPNN7Vs2TL9z//8j1atWqXBgwcH+nBPimNCDQBIktdbrKqqAnk8PeV2J9ldDmzWu3dvrVixQpLUv39/7d69W61atdLZZ599wnPj4+PVuXNnbdu2TTfccEOjx/Tt21dPP/20/v3vfzfaWtOmTRvV1NTU2xZIHb169dK6det04403+retXbv2hDVLUnJysnr06NFg+8cff6zs7GxdffXVkmrDSlFR0Qmv179/f3311VdKTU0N6P4b06ZNG0lq8H8h1Q4ePv/885WTk6MhQ4bo+eefb7ZQ45jup8asXr1a8+bNs7sMAC2ktPQZrV3bVXl5l2nt2q4qLX3G7pLQQvbt26fLLrtMzz77rL744gtt375dL774oh588EGNGDFCkjRs2DANGTJEI0eO1Ntvv62ioiJ98skn+v3vf6/PPvus0eved999mjVrlh599FF9/fXX2rRpkxYtWqS5c+dKkq677jolJCRo5MiR+vjjj7Vt2za99NJLWrNmjaTabwVt375dubm5+vbbb1VdXR1QHXfddZf+9re/adGiRfr66681Y8YM/etf/zqt/6OePXvq5ZdfVm5urvLy8nT99defsCVFku6991598sknmjhxonJzc1VQUKBXX321wUDhpsTFxcnj8ejNN9/Unj17VF5eru3btysnJ0dr1qzRN998o7ffflsFBQXq1avX6TzMJjk61AAIHV5vsfLzx0mqe5P2KT9/vLzeYjvLQguJiIhQRkaGHn74YV1yySXq06ePpk2bprFjx+qxxx6TVNsd8vrrr+uSSy7RzTffrJ/85Ce69tpr9c033yg+Pr7R69566616+umntWjRIp133nm69NJLtXjxYv9XlNu0aaO3335bcXFxuvLKK3Xeeedp9uzZ/u6pa665RsOHD9fQoUPVqVMn/e///m9AdYwePVrTpk3TlClTdMEFF+ibb77Rbbfddlr/R3PnzlVsbKwuvPBCXXXVVcrKylL//v1PeF7fvn31/vvv6+uvv9bFF1+s888/X9OnT1fnzp0Dvu9WrVrp0Ucf1YIFC9S5c2eNGDFC7dq105YtW3TNNdfoJz/5icaNG6cJEyZo/Pjxp/Mwm+SyLMtqtqsHmYqKCkVHR6u8vFxRUVF2lwPgJOzf/57y8i5rsL1fv/cUG5vZ4vU4ldfr1fbt29WtW7d6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7t31y1/+Uv/85z/lcrn822tqahQeHq4bbrhBS5Ysae5SjRfoc9GmTRtJ0q5du5SZmanBgwdr8eLFCgvj74bmdOjQIbVr107Lly/XyJEj/dtvuukmfffdd3r11VftKy5ETZw4Ua+++qo++OADdevWze5yQtKKFSt09dVXKzw83L+tpqZGLpdLYWFhqq6urrfPJIQaB9uxY4cqKir8P+/atUtZWVlavny5MjIylJSUZGN1oaekpERDhw7VBRdcoGeffdbYN41gk5GRoUGDBmn+/PmSars+UlJSNHHiRAYKtyDLsnTHHXfolVde0erVq9WzZ0+7SwpZBw4c0DfffFNv280336xzzjlH9957r9FdgoypcbCUlJR6P0dEREiSevToQaBpYSUlJcrMzFTXrl01Z84clZWV+fclJCTYWJn5Jk+erJtuukkDBgzQoEGDNG/ePFVWVurmm2+2u7SQMmHCBD3//PN69dVXFRkZqd27d0uSoqOj5fF4bK4utERGRjYILu3bt1fHjh2NDjQSoQY4I1atWqXCwkIVFhY2CJQ0hjav0aNHq6ysTNOnT9fu3buVnp6uN998s8HgYTSvJ554QpKUmZlZb/uiRYuUnZ3d8gUhJNH9BAAAjMAoRgAAYARCDQAAMAKhBgAAGIFQAwAAjECoAQAARiDUAAAAIxBqAACAEQg1AADACIQaAABgBEINAAAwAqEGAAAYgVADwLHKysqUkJCgmTNn+rd98sknatOmjd59910bKwNgBxa0BOBor7/+ukaOHKlPPvlEaWlpSk9P14gRIzR37ly7SwPQwgg1ABxvwoQJeueddzRgwABt2rRJ69evV9u2be0uC0ALI9QAcLyqqir16dNHO3fu1IYNG3TeeefZXRIAGzCmBoDjbd26Vbt27ZLP51NRUZHd5QCwCS01ABzt0KFDGjRokNLT05WWlqZ58+Zp06ZNiouLs7s0AC2MUAPA0f77v/9by5cvV15eniIiInTppZcqOjpar732mt2lAWhhdD8BcKzVq1dr3rx5Wrp0qaKiohQWFqalS5fqww8/1BNPPGF3eQBaGC01AADACLTUAAAAIxBqAACAEQg1AADACIQaAABgBEINAAAwAqEGAAAYgVADAACMQKgBAABGINQAAAAjEGoAAIARCDUAAMAI/x97Tp0BrRoYSAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Generation 20\n", " --> Best: fitness(-0.00489, 0.00489) = 0.02082\n", " --> Mean: 2.96191 and SD: 3.61013\n" ] }, { "data": { "image/png": "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KIfDobfeektlZWU6ePDgGdcPAMBxhJqTaNr0PDmdrgY9psPRTE2bnndOnmvBggW69NJLddVVV6l///4yDENvv/122JBNixYtdM899+iGG27QwIEDFR0drUWLFoUez8zM1NSpUzV58mSlp6frwIEDuummm054zLZt2yo3N1d//etf1a1bN82cOVOzZs0K2+b888/XfffdpylTpighIUETJkw44/oBADjOYUTQBITy8nLFxsbK5/PJ4/GEPRYIBLRlyxZ17txZLperWrt9137Kzc3VxIkTa1zZF43HiX4uASCSnOz7uzpO6T4Fl6uDpdZhAqwqECiW318ot7urXK4ks8sBYEGEGgCmKyl5XgUFYyUFJTnl9c5XYmK22WUBsBjm1ESwrKwshp5gukCguFqgkaSgCgrGKRAoNrMsABZEqAFgKr+/UD8EmuMq5fcXmVEOAAsj1AAwldvdVTX/FEXJ7U4xoxwAFkaoAWAqlytJXu98SVHft0TJ653HZGEAp42JwgBMl5iYrbi4TPn9RXK7Uwg0AM6IZXtqZs6cKYfDoYkTJ5pdCoBzwOVKUlzcEAINgDNmyZ6atWvXat68eerRo0e9H2v7dum7hrv2ns47T+rQwJfF+cMf/qAlS5acdE0nszTm2gAAjYvlQs3Bgwd144036tlnn9WDDz5Yr8favl3yeqVAoF4PE8blkgoK6h5sysrKNG3aNP39739XaWmp4uLi1LNnT02bNk0DBw6s32JPoCGDyNatW9W5c+fQ/datW+vSSy/VH//4R/Xq1avej38yx2tbv3690tLSTK0FACKB5Yafxo8fr5///OcaNmzYKbetqKhQeXl52O10fPddwwYaqep4p9MzdO2112r9+vVauHChvvnmGy1dulRDhgzR3r1766/IRuiDDz5QSUmJ3nvvPR08eFBXXHHFGV+D58iRI+e2OABAg7BUqHnllVf0xRdfaMaMGXXafsaMGYqNjQ3dkpOT67nChrV//36tWLFCf/zjHzV06FB17NhRffv2VU5Ojv793/89bLvbbrtNbdu2lcfj0eWXX678/PyTPvdzzz2n1NRUuVwuXXTRRfrzn/8c9nhxcbGuv/56tW7dWi1btlSfPn20Zs0a5ebm6r777lN+fr4cDoccDodyc3PrXMfMmTOVkJCgmJgYZWdnK1DHVNmmTRu1a9dOffr00axZs1RaWqo1a9Zo8+bNGjFihBISEhQdHa309HR98MEHYft26tRJDzzwgG666SZ5PB6NHTtWkvTJJ59o0KBBcrvdSk5O1p133qlDhw6F7ffwww/r1ltvVUxMjDp06KD58+eHHj/eg9SrVy85HA4NGTJEkrR8+XL17dtXLVu2VKtWrTRw4EBt27atTq8TAHBilgk1O3bs0F133aWXXnqpzgv75eTkyOfzhW47duyo5yobVnR0tKKjo7VkyRJVVFSccLtRo0Zpz549euedd7Ru3Tr17t1bP/nJT/Svf/2r1u1feuklTZs2TQ899JA2btyohx9+WFOnTtXChQslVQ0BDh48WDt37tTSpUuVn5+vyZMnKxgMavTo0frtb3+riy++WCUlJSopKdHo0aPrVMerr76qP/zhD3r44Yf1+eefKzExsUaYqgu32y2pqsfl4MGDuvLKK/Xhhx9q/fr1Gj58uK6++mpt3749bJ9Zs2apZ8+eWr9+vaZOnarNmzdr+PDhuvbaa/Xll19q0aJF+uSTT2qsKP7YY4+pT58+Wr9+vX7zm9/o9ttvV0FBgSTps88+k/RDL9Lrr7+uY8eOaeTIkRo8eLC+/PJLrVq1SmPHjpXD4Tjt1wkA+BHDIt544w1DkhEVFRW6STIcDocRFRVlHDt27JTP4fP5DEmGz+er8Zjf7ze+/vprw+/3h9rWrTMMqeFv69bV/X1ZvHixERcXZ7hcLmPAgAFGTk6OkZ+fH3p8xYoVhsfjMQKBQNh+Xbp0MebNm2cYhmFMnz7d6NmzZ9hjL7/8ctj2DzzwgNG/f3/DMAxj3rx5RkxMjLF3795aa/rx89W1jv79+xu/+c1vwh7PyMio8VzVbdmyxZBkrF+/3jAMw9i3b59xzTXXGNHR0cbu3btr3efiiy825syZE7rfsWNHY+TIkWHbZGdnG2PHjq3xGpxOZ+hnpGPHjsYvf/nL0OPBYNCIj4835s6dW2tthmEYe/fuNSQZy5cvP+Frqq62n0sAiDQn+/6uzjI9NT/5yU+0YcMG5eXlhW59+vTRjTfeqLy8PEVFRZ36SWzo2muv1a5du7R06VINHz5cy5cvV+/evUNDPvn5+Tp48KDatGkT6tmJjo7Wli1btHnz5hrPd+jQIW3evFnZ2dlh2z/44IOh7fPy8tSrVy+1bt26znXWpY6NGzcqIyMjbL/+/fvX6fkHDBig6OhoxcXFKT8/X4sWLVJCQoIOHjyou+++W6mpqWrVqpWio6O1cePGGj01ffr0qVFvbm5uWK2ZmZkKBoPasmVLaLvqZ+A5HA61a9dOe/bsOWGdrVu3VlZWljIzM3X11VfrT3/6k0pKSur0GgEAJ2eZs59iYmLUvXv3sLaWLVuqTZs2Ndojjcvl0k9/+lP99Kc/1dSpU3Xbbbdp+vTpysrK0sGDB5WYmKjly5fX2K9Vq1Y12g4ePChJevbZZ2sEjOPB8fjwzuk43TpO16JFi9StWze1adMm7PnuvvtuLVu2TLNmzVJKSorcbrf+8z//s8Zk4JYtW9aod9y4cbrzzjtrHKtDtVPTmjZtGvaYw+FQMPjjdYzCLViwQHfeeafeffddLVq0SP/93/+tZcuWqV+/fnV9uQCAWlgm1KDuunXrpiVLlkiSevfurd27d6tJkybq1KnTKfdNSEhQ+/bt9e233+rGG2+sdZsePXroueee07/+9a9ae2uaNWumysrKsLa61JGamqo1a9bopptuCrWtXr36lDVLUnJysrp06VKj/dNPP1VWVpauueYaSVVhZevWrad8vt69e+vrr79WSsqZrz/UrFkzSarxXkhVk4d79eqlnJwc9e/fXy+//DKhBgDOkmWGn2qzfPlyzZ492+wyTLN3715dfvnlevHFF/Xll19qy5Yt+utf/6pHHnlEI0aMkCQNGzZM/fv318iRI/X+++9r69atWrlype699159/vnntT7vfffdpxkzZujJJ5/UN998ow0bNmjBggV6/PHHJUnXX3+92rVrp5EjR+rTTz/Vt99+q9dee02rVq2SVHVW0JYtW5SXl6fvvvtOFRUVdarjrrvu0v/8z/9owYIF+uabbzR9+nT985//PKv3qGvXrnr99deVl5en/Px83XDDDafsSZGke+65RytXrtSECROUl5enwsJCvfnmmzUmCp9MfHy83G633n33XZWWlsrn82nLli3KycnRqlWrtG3bNr3//vsqLCxUamrq2bxMAIAsHmoiXXR0tDIyMvTEE0/osssuU/fu3TV16lSNGTNGTz31lKSq4ZC3335bl112mW655RZdeOGF+sUvfqFt27YpISGh1ue97bbb9Nxzz2nBggW65JJLNHjwYOXm5oZOUW7WrJnef/99xcfH68orr9Qll1yimTNnhoanrr32Wg0fPlxDhw5V27Zt9b//+791qmP06NGaOnWqJk+erEsvvVTbtm3T7bffflbv0eOPP664uDgNGDBAV199tTIzM9W7d+9T7tejRw999NFH+uabbzRo0CD16tVL06ZNU/v27et87CZNmujJJ5/UvHnz1L59e40YMUItWrTQpk2bdO211+rCCy/U2LFjNX78eI0bN+5sXiYAQJLDMAzD7CIaSnl5uWJjY+Xz+eTxeMIeCwQC2rJlizp37hw6ZdwKVxSGvdX2cwkAkeZk39/VMafmJDp0qAoYdl/7CQAAOyDUnEKHDoQMAACsgDk1AADAFgg1AADAFgg1PxJB86ZhAfw8AkDdEWq+d/x05B9faRYw0+HDhyXVvHIxAKAmJgp/r0mTJmrRooXKysrUtGlTOZ3kPZjHMAwdPnxYe/bsUatWrSJ2bTMAOB2Emu85HA4lJiZqy5Yt2rZtm9nlAJKq1sVq166d2WUAgCUQaqpp1qyZunbtyhAUGoWmTZvSQwMAp4FQ8yNOp5MrtwIAYEFMHAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAEAALZAqAFgeYFAsfbt+4cCgWKzSwFgoiZmFwAAZ6Ok5HkVFIyRZEhyyOt9VomJ2WaXBcAE9NQAsKxAoLhaoJEkQwUFY+ixASIUoQaAZfl8K/VDoDnOkM+3yoxyAJiMUAPAso4e3Xta7QDsjVADwLKaNm1zWu0A7I1QA8CyYmMHSHL8qNWp2Nj+ZpQDwGSEGgCW5XIlyet9VlLU9y1R8nrny+VKMrMsACbhlG4AlpaYmK24uEz5/UVyu1MINEAEI9QAsDyXK4kwA4DhJwAAYA+EGgAAYAuEGgAAYAuEGgAAYAuEGgAAYAuEGgAAYAuEGgAAYAuEGgAAYAuWCTUzZsxQenq6YmJiFB8fr5EjR6qgoMDssgAAQCNhmVDz0Ucfafz48Vq9erWWLVumo0eP6mc/+5kOHTpkdmkAAKARcBiGYZhdxJkoKytTfHy8PvroI1122WV12qe8vFyxsbHy+XzyeDz1XCEAADgX6vr9bdm1n3w+nySpdevWJ9ymoqJCFRUVofvl5eX1XhcAADCHZYafqgsGg5o4caIGDhyo7t27n3C7GTNmKDY2NnRLTk5uwCoBAEBDsuTw0+2336533nlHn3zyiZKSTrwyb209NcnJyQw/AQBgIbYdfpowYYLeeustffzxxycNNJLUvHlzNW/evIEqA9CQAoFi+f2Fcru7yuU6+d8CAJHBMqHGMAzdcccdeuONN7R8+XJ17tzZ7JIAmKSk5HkVFIyVFJTklNc7X4mJ2WaXBcBklplTM378eL344ot6+eWXFRMTo927d2v37t3y+/1mlwagAQUCxdUCjSQFVVAwToFAsZllAWgELBNq5s6dK5/PpyFDhigxMTF0W7RokdmlAWhAfn+hfgg0x1XK7y8yoxwAjYilhp8AwO3uqqr/j1UPNlFyu1NMqghAY2GZnhoAkCSXK0le73xJUd+3RMnrncdkYQDW6akBgOMSE7MVF5cpv79IbncKgQaAJEINAItyuZIIMwDCMPwEAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADAABsgVADwPICgWLt2/cPBQLFZpcCwERNzC4AAM5GScnzKigYKykoySmvd74SE7PNLguACeipAWBZgUBxtUAjSUEVFIyjxwaIUIQaAJbl9xfqh0BzXKX8/iIzygFgMkINAMtyu7uq5p+xKLndKWaUA8BkhBoAluVyJcnrnS8p6vuWKHm98+RyJZlZFgCTMFEYgKUlJmYrLi5Tfn+R3O4UAg0QwQg1ACzP5UoizABg+AkAANgDoQYAANgCoQYAANgCoQYAANgCoQbAOcH6SwDMxtlPAM6a2esv+XxrVV6+Qh7PIMXGpjfYcQE0LoQaAGflROsvxcVlNshp1hs3Zqm0dGHofkLCzUpNza334wJofBh+AnBWzFx/yedbGxZoJKm0dKF8vrX1fmwAjQ+hBsBZMXP9pfLyFSdo/7Tejw2g8SHUADgr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rrvuOv3tb3+Tw+EItVdWVioqKko33nijFi5cWKfjlZeXKzY2Vj6fTx6P56xqBwAADaOu39+mhpq62r59e9h8mF27dikzM1OLFy9WRkaGkpLqdtEtQg0AANZT1+9vS0wU7tChQ9j96OhoSVKXLl3qHGgAAIC9WWKiMAAAwKlYoqfmxzp16iQLjJoBAIAGRE8NAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwBUINAACwhSZmFwAgXCBQLL+/UG53V7lcSWaX02hVf58k8Z4BINQAjUlJyfMqKBgrKSjJKa93vhITs80uq9EJf58c37ca4j0DIpvDMAzD7CIais/nU6tWrbRjxw55PB6zywHCBAI7tXbtxar6cj7OqfT0r+RynW9WWY1O7e9TdbxngN2Ul5crOTlZ+/fvV2xs7Am3i6iemgMHDkiSkpOTTa4EqKugpG5mF2ExvGeAXR04cOCkoSaiemqCwaB27dqlmJgYORyOU+/QCB1Pq/Q2mY/PonHh82g8+CwaD7t8FoZh6MCBA2rfvr2czhOf4xRRPTVOp1NJSfaYROjxeCz9A2onfBaNC59H48Fn0XjY4bM4WQ/NcZzSDQAAbIFQAwAAbIFQYzHNmzfX9OnT1bx5c7NLiXh8Fo0Ln0fjwWfReETaZxFRE4UBAIB90VMDAABsgVADAABsgVADAABsgVADAABsgVBjExUVFUpLS5PD4VBeXp7Z5UScrVu3Kjs7W507d5bb7VaXLl00ffp0HTlyxOzSIsLTTz+tTp06yeVyKSMjQ5999pnZJUWcGTNmKD09XTExMYqPj9fIkSNVUFBgdlmQNHPmTDkcDk2cONHsUuodocYmJk+erPbt25tdRsTatGmTgsGg5s2bp3/+85964okn9Mwzz+j3v/+92aXZ3qJFizRp0iRNnz5dX3zxhXr27KnMzEzt2bPH7NIiykcffaTx48dr9erVWrZsmY4ePaqf/exnOnTokNmlRbS1a9dq3rx56tGjh9mlNAhO6baBd955R5MmTdJrr72miy++WOvXr1daWprZZUW8Rx99VHPnztW3335rdim2lpGRofT0dD311FOSqtZ4S05O1h133KEpU6aYXF3kKisrU3x8vD766CNddtllZpcTkQ4ePKjevXvrz3/+sx588EGlpaVp9uzZZpdVr+ipsbjS0lKNGTNGL7zwglq0aGF2OajG5/OpdevWZpdha0eOHNG6des0bNiwUJvT6dSwYcO0atUqEyuDz+eTJH4HTDR+/Hj9/Oc/D/v9sLuIWtDSbgzDUFZWln7961+rT58+2rp1q9kl4XtFRUWaM2eOZs2aZXYptvbdd9+psrJSCQkJYe0JCQnatGmTSVUhGAxq4sSJGjhwoLp37252ORHplVde0RdffKG1a9eaXUqDoqemEZoyZYocDsdJb5s2bdKcOXN04MAB5eTkmF2ybdX1s6hu586dGj58uEaNGqUxY8aYVDlgnvHjx+urr77SK6+8YnYpEWnHjh2666679NJLL8nlcpldToNiTk0jVFZWpr179550mwsuuEDXXXed/va3v8nhcITaKysrFRUVpRtvvFELFy6s71Jtr66fRbNmzSRJu3bt0pAhQ9SvXz/l5ubK6eT/DfXpyJEjatGihRYvXqyRI0eG2m+++Wbt379fb775pnnFRagJEybozTff1Mcff6zOnTubXU5EWrJkia655hpFRUWF2iorK+VwOOR0OlVRURH2mJ0Qaixs+/btKi8vD93ftWuXMjMztXjxYmVkZCgpKcnE6iLPzp07NXToUF166aV68cUXbftHo7HJyMhQ3759NWfOHElVQx8dOnTQhAkTmCjcgAzD0B133KE33nhDy5cvV9euXc0uKWIdOHBA27ZtC2u75ZZbdNFFF+mee+6x9ZAgc2osrEOHDmH3o6OjJUldunQh0DSwnTt3asiQIerYsaNmzZqlsrKy0GPt2rUzsTL7mzRpkm6++Wb16dNHffv21ezZs3Xo0CHdcsstZpcWUcaPH6+XX35Zb775pmJiYrR7925JUmxsrNxut8nVRZaYmJgawaVly5Zq06aNrQONRKgBzolly5apqKhIRUVFNQIlnaH1a/To0SorK9O0adO0e/dupaWl6d13360xeRj1a+7cuZKkIUOGhLUvWLBAWVlZDV8QIhLDTwAAwBaYxQgAAGyBUAMAAGyBUAMAAGyBUAMAAGyBUAMAAGyBUAMAAGyBUAMAAGyBUAMAAGyBUAMAAGyBUAMAAGyBUAMAAGyBUAPAssrKytSuXTs9/PDDobaVK1eqWbNm+vDDD02sDIAZWNASgKW9/fbbGjlypFauXCmv16u0tDSNGDFCjz/+uNmlAWhghBoAljd+/Hh98MEH6tOnjzZs2KC1a9eqefPmZpcFoIERagBYnt/vV/fu3bVjxw6tW7dOl1xyidklATABc2oAWN7mzZu1a9cuBYNBbd261exyAJiEnhoAlnbkyBH17dtXaWlp8nq9mj17tjZs2KD4+HizSwPQwAg1ACztd7/7nRYvXqz8/HxFR0dr8ODBio2N1VtvvWV2aQAaGMNPACxr+fLlmj17tl544QV5PB45nU698MILWrFihebOnWt2eQAaGD01AADAFuipAQAAtkCoAQAAtkCoAQAAtkCoAQAAtkCoAQAAtkCoAQAAtkCoAQAAtkCoAQAAtkCoAQAAtkCoAQAAtkCoAQAAtvD/GpBCspq4qcsAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Generation 30\n", " --> Best: fitness(-0.00489, 0.00489) = 0.02082\n", " --> Mean: 2.38739 and SD: 3.37714\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjUAAAGwCAYAAABRgJRuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAsfUlEQVR4nO3de3hU9YHG8XcSLjMhVzA3mgQQaARBAwIReFSw1CDVBR+XotJKFIO1QWWti2R3gVqtUJsqFVvESwGtrrSoQFlE0Ee8cL8lYoXInUACRBoSgpkEmLN/xIyEXJgAmZP55ft5nnke5syZM+9kJpmX3/nNOQ7LsiwBAAAEuCC7AwAAAFwOlBoAAGAESg0AADACpQYAABiBUgMAAIxAqQEAAEag1AAAACO0sjuAP3k8HhUUFCgsLEwOh8PuOAAAwAeWZenkyZPq2LGjgoLqH49pUaWmoKBAiYmJdscAAAAXIT8/XwkJCfXe3qJKTVhYmKSqH0p4eLjNaQAAgC9KS0uVmJjo/RyvT4sqNdW7nMLDwyk1AAAEmAtNHWGiMAAAMAKlBgAAGIFSAwAAjNCi5tQAAL539uxZnT592u4YgFq3bq3g4OBL3g6lBgBaGMuydOTIEZ04ccLuKIBXZGSk4uLiLuk4cpQaAGhhqgtNTEyMQkJCOBgpbGVZlr799lsdO3ZMkhQfH3/R26LUAEALcvbsWW+h6dChg91xAEmSy+WSJB07dkwxMTEXvSuKicIA0IJUz6EJCQmxOQlQU/V78lLmeVFqAKAFYpcTmpvL8Z6k1AAAACMwpwYAIElyuw/q9Olv/PZ4rVtfIaczyW+PB/NRagAAcrsPauPGZHk8br89ZlCQUwMG5AVUsRkyZIhSUlI0a9asZrEd1MTuJwCATp/+xq+FRpI8HnejRobS09PlcDjkcDjUpk0bdevWTb/5zW905syZJkx5aVavXi2Hw1HrmEDvvvuunnrqKXtCGYyRGgBAwBg+fLjmzZuniooKLV++XJmZmWrdurWysrLsjtYo7du3tzuCkRipAQAEjLZt2youLk6dOnXSQw89pGHDhmnp0qUqLi7Wvffeq6ioKIWEhOjWW2/Vrl27vPebP3++IiMjtXjxYnXv3l1Op1NpaWnKz8/3rpOenq5Ro0bVeLxJkyZpyJAh9eZ544031K9fP4WFhSkuLk733HOP9yBy+/fv19ChQyVJUVFRcjgcSk9Pl1S1+2nSpEne7fia/4MPPlCPHj0UGhqq4cOHq7Cw8CJ/kmai1AAAApbL5VJlZaXS09O1efNmLV26VOvWrZNlWRoxYkSNY558++23+u1vf6vXX39da9as0YkTJ3TXXXdd0uOfPn1aTz31lHJzc7V48WLt37/fW1wSExP1zjvvSJLy8vJUWFioP/7xj3Vux9f82dnZeuONN/Tpp5/q4MGDevzxxy8pv2nY/QQACDiWZemjjz7SBx98oFtvvVWLFy/WmjVrNGjQIEnSm2++qcTERC1evFijR4+WVFVAXnzxRaWmpkqSFixYoB49emjjxo0aMGDAReW4//77vf++8sor9cILL6h///4qKytTaGiodzdTTEyMIiMj69zGrl27tHTpUp/yv/TSS+rataskaeLEifrNb35zUblNxUgNACBgLFu2TKGhoXI6nbr11ls1ZswYpaenq1WrVt6yIkkdOnRQcnKyduzY4V3WqlUr9e/f33v9qquuUmRkZI11GmvLli26/fbblZSUpLCwMN10002SpIMHD/q8jR07dviUPyQkxFtopKpzJFXv6kIVSg0AIGAMHTpUOTk52rVrl8rLy7VgwYLLdnTkoKAgWZZVY1lDh+w/deqU0tLSFB4erjfffFObNm3Se++9J0mqrKy8LJnO1bp16xrXHQ5HrbwtHaUGABAw2rVrp27duikpKUmtWlXNoOjRo4fOnDmjDRs2eNc7fvy48vLy1LNnT++yM2fOaPPmzd7reXl5OnHihHr06CFJio6OrjXxNicnp94sO3fu1PHjxzVz5kzdcMMNuuqqq2qNnLRp00ZS1YlE6+NrflwYpQYAENC6d++ukSNHKiMjQ59//rlyc3P1s5/9TD/4wQ80cuRI73qtW7fWww8/rA0bNmjLli1KT0/X9ddf751Pc/PNN2vz5s16/fXXtWvXLk2fPl1ffvllvY+blJSkNm3aaPbs2dq7d6+WLl1a69gznTp1ksPh0LJly1RUVKSysrKLzo8Lo9QAANS69RUKCnL69TEdjjZq3fqKy7KtefPm6brrrtNtt92mgQMHyrIsLV++vMYum5CQED3xxBO65557NHjwYIWGhmrhwoXe29PS0jR16lRNnjxZ/fv318mTJ3XvvffW+5jR0dGaP3++/v73v6tnz56aOXOmsrOza6zzgx/8QE8++aSmTJmi2NhYTZw48aLz48IcVgvaIVdaWqqIiAiVlJQoPDzc7jgA4Hdut1v79u1Tly5d5HQ6z7vN3HM/zZ8/X5MmTap1ZF80Hw29N339/OYr3QAASZLTmRRQ52ECzsfuJwAAYARKDQDAeOnp6ex6agEoNQAAwAiUGgAAYARKDQAAMAKlBgAAGCFgS83MmTPlcDg0adIku6MAAIBmICCPU7Np0ybNnTtX11xzjd1RAMAYBw9K3/jv2Hu64gopyc+Hxfn1r3+txYsXN3hOJ7s052yBIuBKTVlZmcaOHatXXnlFTz/9tN1xAMAIBw9KycmS2+2/x3Q6pbw834tNUVGRpk2bpv/7v//T0aNHFRUVpWuvvVbTpk3T4MGDmzZsPfxZRPbv368uXbp4r7dv317XXXedfve736lPnz5N/vgNqc62bds2paSk2JYj4HY/ZWZm6ic/+YmGDRt2wXUrKipUWlpa4wIAqO2bb/xbaKSqx2vMyNCdd96pbdu2acGCBfr666+1dOlSDRkyRMePH2+6kM3Qhx9+qMLCQn3wwQcqKyvTrbfeetHH4KmsrLy84WwWUKXm7bff1tatWzVjxgyf1p8xY4YiIiK8l8TExCZOCABoCidOnNBnn32m3/3udxo6dKg6deqkAQMGKCsrS//2b/9WY70HHnhA0dHRCg8P180336zc3NwGt/3qq6+qR48ecjqduuqqq/TnP/+5xu2HDh3S3Xffrfbt26tdu3bq16+fNmzYoPnz5+vJJ59Ubm6uHA6HHA6H5s+f73OOmTNnKjY2VmFhYRo/frzcPrbKDh06KC4uTv369VN2draOHj2qDRs2aM+ePRo5cqRiY2MVGhqq/v3768MPP6xx386dO+upp57Svffeq/DwcE2YMEGS9Pnnn+uGG26Qy+VSYmKiHnnkEZ06darG/Z555hndf//9CgsLU1JSkl5++WXv7dUjSH369JHD4dCQIUMkSatXr9aAAQPUrl07RUZGavDgwTpw4IBPz/NiBEypyc/P16OPPqo333yz1omu6pOVlaWSkhLvJT8/v4lTAgCaQmhoqEJDQ7V48WJVVFTUu97o0aN17Ngxvf/++9qyZYv69u2rH/3oR/rXv/5V5/pvvvmmpk2bpt/+9rfasWOHnnnmGU2dOlULFiyQVDXl4aabbtLhw4e1dOlS5ebmavLkyfJ4PBozZox+9atf6eqrr1ZhYaEKCws1ZswYn3L87W9/069//Ws988wz2rx5s+Lj42uVKV+4XC5JVSMuZWVlGjFihD766CNt27ZNw4cP1+23366DBw/WuE92drauvfZabdu2TVOnTtWePXs0fPhw3Xnnnfriiy+0cOFCff7557XOKP6HP/xB/fr107Zt2/TLX/5SDz30kPLy8iRJGzdulPT9KNK7776rM2fOaNSoUbrpppv0xRdfaN26dZowYYIcDkejn6fPrADx3nvvWZKs4OBg70WS5XA4rODgYOvMmTMX3EZJSYklySopKfFDYgBofsrLy62vvvrKKi8vr7F8yxbLkvx/2bLF9+yLFi2yoqKiLKfTaQ0aNMjKysqycnNzvbd/9tlnVnh4uOV2u2vcr2vXrtbcuXMty7Ks6dOnW9dee22N2956660a6z/11FPWwIEDLcuyrLlz51phYWHW8ePH68x0/vZ8zTFw4EDrl7/8ZY3bU1NTa23rXPv27bMkWdu2bbMsy7KKi4utO+64wwoNDbWOHDlS532uvvpqa/bs2d7rnTp1skaNGlVjnfHjx1sTJkyo9RyCgoK875NOnTpZP/vZz7y3ezweKyYmxpozZ06d2SzLso4fP25JslavXl3vczpXfe9Ny/L98ztgRmp+9KMfafv27crJyfFe+vXrp7FjxyonJ0fBwcF2RwQANKE777xTBQUFWrp0qYYPH67Vq1erb9++3l0+ubm5KisrU4cOHbwjO6Ghodq3b5/27NlTa3unTp3Snj17NH78+BrrP/300971c3Jy1KdPH7Vv397nnL7k2LFjh1JTU2vcb+DAgT5tf9CgQQoNDVVUVJRyc3O1cOFCxcbGqqysTI8//rh69OihyMhIhYaGaseOHbVGavr161cr7/z582tkTUtLk8fj0b59+7zrnfuNY4fDobi4OB07dqzenO3bt1d6errS0tJ0++23649//KMKCwt9eo4XK2C+/RQWFqZevXrVWNauXTt16NCh1nIAgJmcTqd+/OMf68c//rGmTp2qBx54QNOnT1d6errKysoUHx+v1atX17pfZGRkrWVlZWWSpFdeeaVWwaj+j3L17p3GaGyOxlq4cKF69uypDh061Nje448/rlWrVik7O1vdunWTy+XSv//7v9eaDNyuXbtaeR988EE98sgjtR4r6ZyvprVu3brGbQ6HQx6Pp8Gs8+bN0yOPPKIVK1Zo4cKF+p//+R+tWrVK119/va9Pt1ECptQAAHC+nj17avHixZKkvn376siRI2rVqpU6d+58wfvGxsaqY8eO2rt3r8aOHVvnOtdcc41effVV/etf/6pztKZNmzY6e/ZsjWW+5OjRo4c2bNige++917ts/fr1F8wsSYmJieratWut5WvWrFF6erruuOMOSVVlZf/+/RfcXt++ffXVV1+pW7duPj1+Xdq0aSNJtX4WUtXk4T59+igrK0sDBw7UW2+91WSlJmB2P9Vl9erVmjVrlt0xAABN7Pjx47r55pv117/+VV988YX27dunv//973r22Wc1cuRISdKwYcM0cOBAjRo1SitXrtT+/fu1du1a/fd//7c2b95c53affPJJzZgxQy+88IK+/vprbd++XfPmzdNzzz0nSbr77rsVFxenUaNGac2aNdq7d6/eeecdrVu3TlLVt4L27dunnJwcffPNN6qoqPApx6OPPqq//OUvmjdvnr7++mtNnz5d//znPy/pZ9S9e3e9++67ysnJUW5uru65554LjqRI0hNPPKG1a9dq4sSJysnJ0a5du7RkyZJaE4UbEhMTI5fLpRUrVujo0aMqKSnRvn37lJWVpXXr1unAgQNauXKldu3apR49elzK02xQQJcaAEDLEBoaqtTUVD3//PO68cYb1atXL02dOlUZGRl68cUXJVXtDlm+fLluvPFG3XffffrhD3+ou+66SwcOHFBsbGyd233ggQf06quvat68eerdu7duuukmzZ8/3/sV5TZt2mjlypWKiYnRiBEj1Lt3b82cOdO7e+rOO+/U8OHDNXToUEVHR+t///d/fcoxZswYTZ06VZMnT9Z1112nAwcO6KGHHrqkn9Fzzz2nqKgoDRo0SLfffrvS0tLUt2/fC97vmmuu0SeffKKvv/5aN9xwg/r06aNp06apY8eOPj92q1at9MILL2ju3Lnq2LGjRo4cqZCQEO3cuVN33nmnfvjDH2rChAnKzMzUgw8+eClPs0EOy7KsJtt6M1NaWqqIiAiVlJQoPDzc7jgA4Hdut1v79u1Tly5dahweIxCOKAyz1ffelHz//GZODQBASUlVBcP0cz/BbJQaAICkqoJByUAgY04NAAAwAqUGAAAYgVIDAC1QC/qOCALE5XhPUmoAoAWpPirst99+a3MSoKbq9+T5Ry5uDCYK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LygoUFpamhYtWqTU1FQlJCTYmK7lOXz4sIYOHarrrrtOf/3rX439o9HcpKamasCAAZo9e7akql0fSUlJmjhxIhOF/ciyLD388MN67733tHr1anXv3t3uSC3WyZMndeDAgRrL7rvvPl111VV64oknjN4lyJyaAJaUlFTjemhoqCSpa9euFBo/O3z4sIYMGaJOnTopOztbRUVF3tvi4uJsTGa+xx57TOPGjVO/fv00YMAAzZo1S6dOndJ9991nd7QWJTMzU2+99ZaWLFmisLAwHTlyRJIUEREhl8tlc7qWJSwsrFZxadeunTp06GB0oZEoNcBlsWrVKu3evVu7d++uVSgZDG1aY8aMUVFRkaZNm6YjR44oJSVFK1asqDV5GE1rzpw5kqQhQ4bUWD5v3jylp6f7PxBaJHY/AQAAIzCLEQAAGIFSAwAAjECpAQAARqDUAAAAI1BqAACAESg1AADACJQaAABgBEoNAAAwAqUGAAAYgVIDAACMQKkBAABGoNQACFhFRUWKi4vTM8884122du1atWnTRh999JGNyQDYgRNaAghoy5cv16hRo7R27VolJycrJSVFI0eO1HPPPWd3NAB+RqkBEPAyMzP14Ycfql+/ftq+fbs2bdqktm3b2h0LgJ9RagAEvPLycvXq1Uv5+fnasmWLevfubXckADZgTg2AgLdnzx4VFBTI4/Fo//79dscBYBNGagAEtMrKSg0YMEApKSlKTk7WrFmztH37dsXExNgdDYCfUWoABLT//M//1KJFi5Sbm6vQ0FDddNNNioiI0LJly+yOBsDP2P0EIGCtXr1as2bN0htvvKHw8HAFBQXpjTfe0GeffaY5c+bYHQ+AnzFSAwAAjMBIDQAAMAKlBgAAGIFSAwAAjECpAQAARqDUAAAAI1BqAACAESg1AADACJQaAABgBEoNAAAwAqUGAAAYgVIDAACM8P+F/B417DpshQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Generation 40\n", " --> Best: fitness(-0.00489, 0.00489) = 0.02082\n", " --> Mean: 2.0203 and SD: 3.0153\n" ] }, { "data": { "image/png": "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kUce0QcffKClS5fq17/+tVavXq0BAwZ4+3RrxWdKDQAAF+vZs6dWrFghSerXr5+OHj2qZs2aqXPnzpd9bEREhDp06KB9+/bpnnvuqXaZ3r176/XXX9c333xT7d6agIAAlZeXV5rmTY4ePXpo06ZNuvfeez3TNm7ceNnMkhQdHa2uXbtWmb5u3TolJyfrjjvukFRRVnJyci67vn79+umrr75St27dvNp+dQICAiSpymshVQwe7tu3r1JTUzVw4EC98cYb9VZqfObwU3XWrFmjuXPn2h0DAFDPTpw4oZtvvll//etf9fnnn2v//v36+9//rt///vcaNWqUJGn48OEaOHCgRo8erVWrViknJ0fr16/Xf//3f2vr1q3VrvfJJ5/U7Nmz9dJLL+nrr7/Wzp07tXDhQr3wwguSpLvuukuRkZEaPXq01q1bp3379umtt97Shg0bJFWcFbR//35lZGTo+PHjKi0t9SrHo48+qv/5n//RwoUL9fXXX2vWrFn68ssvr+o16t69u95++21lZGQoMzNTd99992X3pEjSE088ofXr12vSpEnKyMjQnj179M4771QZKHwp4eHhCgoK0gcffKD8/Hy5XC7t379fqamp2rBhgw4cOKBVq1Zpz5496tGjx9U8zUvy6VIDAGgagoODlZiYqBdffFE33XSTevXqpRkzZmjChAl6+eWXJVUcDnnvvfd000036b777tMPf/hD/exnP9OBAwcUERFR7XofeOABvf7661q4cKGuv/56DRkyROnp6Z5TlAMCArRq1SqFh4fr1ltv1fXXX685c+Z4Dk/deeedGjFihIYNG6b27dvrf//3f73KMXbsWM2YMUPTpk3TDTfcoAMHDujhhx++qtfohRdeUOvWrTVo0CDdfvvtSkpKUr9+/S77uN69e+uTTz7R119/rRtvvFF9+/bVzJkz1aFDB6+33axZM7300kuaP3++OnTooFGjRqlly5bavXu37rzzTv3whz/UxIkTlZKSogcffPBqnuYlOSzLsupt7Y1MYWGhQkND5XK55HQ67Y4DAA2upKRE+/fvV5cuXSp9PYYvfKMwzFbTz6bk/ec3Y2oAAIqJqSgYpl/7CWaj1AAAJFUUDEoGfBljagAAgBEoNQAAwAiUGgBogprQOSLwEXXxM0mpAYAm5Py3wn777bc2JwEqO/8zefE3F9cGA4UBoAnx9/dXWFiY55o9LVu2rN+rJgOXYVmWvv32Wx07dkxhYWFXdS1HSg0ANDGRkZGSdMmLEQINLSwszPOzeaUoNQDQxDgcDkVFRSk8PFxnz561Ow6g5s2bX9UemvMoNQDQRPn7+9fJBwnQWDBQGAAAGIFSAwAAjECpAQAARqDUAAAAI1BqAACAESg1AADACJQaAABgBEoNAAAwAqUGAAAYgVIDAACMQKkBAABGoNQAAAAjUGoAAIARKDUAAMAIlBoAAGAESg0AADACpQYAABiBUgMAAIxAqQEAAEag1AAAACNQagAAgBEoNQAAwAiUGgAAYARKDQAAMAKlBgAAGIFSAwAAjECpAQAARqDUAAAAI1BqAACAESg1AADACJQaAABgBEoNAAAwAqUGAAAYoZndAQDgSpSUHFJx8R4FBXVXaWmeCgs/k9N5o0JDE+yOBsAmlBoAPicv78/KypooyV1lXkTEOPXokd7gmQDYj8NPAHxKScmhGguNJOXnL5LLtaVhQwFoFCg1AHxKcfEe1VRozissXNcwYQA0KpQaAD4lKKi7Lvery+kc3DBhADQqlBoAPiUwsKNiYxdI8v9uiqPS/IiIcQwWBpooBgoD8DlRUePVunWSiouzFRTU7buzn9bJ6RxMoQGaMEoNAJ8UGNhRgYEdPf+mzADg8BMAADACpQYAABiBUgMAAIxAqQEAAEag1AAAACNQagAAgBEoNQAAwAiUGgAAYARKDQAAMAKlBgAAGMFnSs3s2bOVkJCgkJAQhYeHa/To0crKyrI7FgAAaCR8ptR88sknSklJ0caNG7V69WqdPXtWt9xyi86cOWN3NAAA0Ag4LMuy7A5xJQoKChQeHq5PPvlEN910k1ePKSwsVGhoqFwul5xOZz0nBAAAdcHbz2+fvUq3y+WSJLVp06bGZUpLS1VaWuq5X1hYWO+5AACAPXzm8NOF3G63pkyZosGDB6tXr141Ljd79myFhoZ6btHR0Q2YEgAANCSfPPz08MMP6/3339fatWvVsWPHGperbk9NdHQ0h58AAPAhxh5+mjRpkt599119+umnlyw0ktSiRQu1aNGigZIBAAA7+UypsSxLkydP1vLly7VmzRp16dLF7kgAAKAR8ZlSk5KSojfeeEPvvPOOQkJCdPToUUlSaGiogoKCbE4HAADs5jNjahwOR7XTFy5cqOTkZK/WwSndAAD4HuPG1PhI9wIAADbxyVO6AQAALkapAQAARqDUAAAAI1BqAACAESg1AADACJQaAABgBEoNAAAwAqUGAAAYgVIDAACMQKkBAABGoNQAAAAjUGoAAIARKDUAfF5JySGdPPkvlZQcsjsKABv5zFW6AaA6eXl/VlbWREluSX6KjV2gqKjxdscCYAP21ADwWSUlhy4oNJLkVlbWg+yxAZooSg0An1VcvEffF5rzylVcnG1HHAA2o9QA8FlBQd1V9deYv4KCutkRB4DNKDUAbHelA30DAzsqNnaBvv9V5qfY2PkKDOxY5xkBNH4MFAZgKwb6Aqgr7KkBYJurHejLQGEAF6LUALDN1Q70ZaAwgAtRagDY5moH+jJQGMCFKDUAbPP9QF//76b412qg79U+HoBZHJZlWXaHaCiFhYUKDQ2Vy+WS0+m0Ow6A75SUHFJxcbaCgrpdUSG52scDaNy8/fzm7CcAtgsM7HhVZeRqHw/ADBx+AgAARqDUAAAAI1BqAACAESg1AADACJQaAABgBEoNAAAwAqUGAAAYgVIDAACMQKkBAABGoNQAAAAjUGoA+LySkkM6efJfKik5ZHcUADbi2k8AfFpe3p+VlTVRkluSn2JjFygqarzdsQDYgD01AHxWScmhCwqNJLmVlfUge2yAJopSA8BnFRfv0feF5rxyFRdn2xEHgM0oNQB8VlBQd1X9NeavoKBudsQBYDNKDQCfFRjYUbGxCyT5fzfFX7Gx8xUY2NHOWABswkBhAD6tdeskde78lIqLd6tdu5+qffuf2B0JgE0oNQB8VsWZTw947ufnL1ZExDj16JFuXygAtuHwEwCfVHHm04Qq0/PzF8nl2mJDIgB2o9QA8EkVZz5Z1c4rLFzXsGEANAqUGgA+qeLMJ0e185zOwQ0bBkCjQKkB4JMqznx6TRcXm4iIcQoNTbAnFABbMVAYgM+Kihqv1q2TdPz4uyorO6q2bW+j0ABNGKUGgE8LDOyojh0fsjsGgEaAw08AAMAIlBoAAGAESg0AADACY2oA2KKk5JCKi/coKKj7VV+raePGBcrM3Kk+fa7XgAET6yghAF9DqQHQ4CoubzBRkluSn2JjFygqavwVrWv69Cl67rnn5Xb7y8+vXI8/PkVz5syty7gAfASHnwA0qIrLG5wvNJLkVlbWgyopOVTrdW3cuMBTaCTJ7fbXc8+laePGBXUXGIDPoNQAaFAVlzdwXzS1XMXF2bVeV2bmTk+hOc/tbqbPP9955QEB+CxKDYAGVXF5g4t/9fgrKKhbrdfVp8/18vMrrzTNz++ceve+/soDAvBZlBrAICUlh3Ty5L+u6FBOQ6m4vMECSef3sPgrNnb+ZQcLZ2fnaeXKHcrOzvNMGzBgoh5//Ffy8zsnqaLQPP74YwwWBpooBgoDhqjLwbf17fzlDYqLsxUU1O2yheb55z/TtGmD5HZHyc+vXL///WdKSemi4uI9uvfeZPn7v64jR77VrbdaGjNmbsM8CQCNjsOyLMvuEA2lsLBQoaGhcrlccjqddscB6kxJySFt3NhJlceq+GvAgJyrPl3abtnZeYqNDa80dsbP75zefLOLNm++Rc8//5osq2Kns8Ph1lNPpevXv77frrgA6oG3n98cfgIMUJeDbxubr746Wu1g4C+/HKDnn1/gKTSSZFl+mjnzXn31VUYDpwTQGFBqAAPU5eDbxqZnz8hqBwNblmRZ/lWWt6xm+uIL3y9zAGqPUgMYIDCwoyIiflFpWkTEz33+0JMkdesWpd//fn2lwcBTpz6kXr02yOEor+YRbvXq5ftlDkDt+Vyp+eMf/6jOnTsrMDBQiYmJ2rx5s92R0Ij4wtk/9aGk5JDy8xdXmpaf/9c6fx3sen3vvvtrvflmF7344lC9+WYX/eIXeWrf/rASE9+TdPGwQIeOHm3eoPkANA4+dfbT0qVLNXXqVL366qtKTEzU3LlzlZSUpKysLIWHh9sdDzbzpbN/6prLtV41jampq701l3p9S0oO6fjxf6isLE9t296u0NCEWq//4mtBnb/v5xesrKwJat/eUvv2FWXqm28OqaDgB9q48TZJjovW5ND//V+ubr75uqt6vkBjVJfXTPMlJSWHvVqu1mc/jRs3TuPHj9dNN910RcGuRmJiohISEvTyyy9Lktxut6KjozV58mRNnz79so/n7CdzmXz2z+VUlI0JqrrHQhowILdOnv+lXt+TJz9UVtYDlZaPiBinHj3SvV7/xYUpIuIX3+15uriofe/xx9/T1q0jq5lj6ZZbVunDD5O83j7gC5rqH255eX/W9u0T9JOfWHV/9pPL5dLw4cPVvXt3Pfvsszp82Lv2dLXKysq0bds2DR8+3DPNz89Pw4cP14YNG6p9TGlpqQoLCyvdYCaTz/65lO+vo1T93yalpXnVTq+tml5fl2vDd4Wqsvz8RXK5tni17uquBZWfv6ia7X1v9+54bd06ooa5Dq1a9SOvtg34irq8ZpovudzvuIvVutSsWLFChw8f1sMPP6ylS5eqc+fOGjlypJYtW6azZ8/WdnVeO378uMrLyxUREVFpekREhI4ePVrtY2bPnq3Q0FDPLTo6ut7ywV4mn/1zKdWXje8VFq6rk+3U9PpW/KKp/peNt9u+3HOozuef/5uqHna60KXmAb6nqf7hVtvfD1c0ULh9+/aaOnWqMjMztWnTJnXr1k2/+MUv1KFDB/3nf/6n9uzZcyWrrXOpqalyuVyeW25urt2RUE+u9Kv3fV31ZeN7TufgOtlOTa9vaOgg1VQgvN325Z5DdXr3Xqua/3KzJJXVan1AY9dU/3Cr7e+Hqzr7KS8vT6tXr9bq1avl7++vW2+9VTt37lTPnj314osvXs2qq2jXrp38/f2Vn59faXp+fr4iIyOrfUyLFi3kdDor3WCuqKjxGjAgR336/EsDBuQ0iWPNVcvG9yIixl3RgN2aVPf6Vmz/NV1cbGqz7eoKU0TEuAvuVy1N//ZvnZWUlK6qxaZiz5FlBXn7tACf0FT/cPv+eXtXV2o9UPjs2bNauXKlFi5cqFWrVql379564IEHdPfdd3tKw/Lly3X//ffr5MmTtX4Cl5KYmKj+/ftr3rx5kioGCsfExGjSpEkMFEaTVnFGRLbOnStSSUm2nM7BdVpovNn+8ePvqqzsqNq2ve0qzn76/lpQF94vLc3TiRP/VEBApNq1+4ln/ocfrlZaWrTWrh323VrKKDQw2sX/T5qKY8d2KSKi52U/v2tdatq1aye326277rpLEyZMUFxcXJVlTp06pb59+2r//v21Dn4pS5cu1bhx4zR//nz1799fc+fO1d/+9jft3r27ylib6lBqAADwPd5+ftf6e2pefPFFjRkzRoGBgTUuExYWVueFRpLGjh2rgoICzZw5U0ePHlVcXJw++OADrwoNAAAwG1fpBgAAjRpX6QYAAE0KpQYAABiBUgMAAIxAqQEAAEag1AAAACNQagAAgBEoNQAAwAiUGgAAYARKDQAAMAKlBgAAGIFSAwAAjECpAQAARqDUAAAAI1BqAACAESg1AADACJQaAABgBEoNAAAwAqUGAAAYgVIDAACMQKkBAABGoNQAAAAjUGoAAIARKDUAAMAIlBoAAGAESg0AADACpQYAABiBUgMAAIxAqQEAAEag1AAAACNQagAAgBEoNQAAwAiUGgAAYARKDQAAMAKlBgAAGIFSAwAAjECpAQAARqDUAAAAI1BqAACAESg1AADACJQaAABgBEoNAAAwAqUGAAAYgVIDAACMQKkBAABGoNQAAAAjUGoAAIARKDUAAMAIlBoAAGAESg0AADACpQYAABiBUgMAAIxAqQEAAEag1AAAACNQagAAgBEoNQAAwAiUGgAAYARKDQAAMAKlBgAAGIFSAwAAjECpAQAARqDUAAAAI1BqAACAESg1AADACD5RanJycjR+/Hh16dJFQUFB6tq1q2bNmqWysjK7owEAgEaimd0BvLF792653W7Nnz9f3bp10xdffKEJEybozJkzSktLszseAABoBByWZVl2h7gSzz33nF555RXt27fP68cUFhYqNDRULpdLTqezHtMBAIC64u3nt0/sqamOy+VSmzZtLrlMaWmpSktLPfcLCwvrOxYAALCJT4ypuVh2drbmzZunBx988JLLzZ49W6GhoZ5bdHR0AyUEAAANzdZSM336dDkcjkvedu/eXekxhw8f1ogRIzRmzBhNmDDhkutPTU2Vy+Xy3HJzc+vz6QAAABvZOqamoKBAJ06cuOQy11xzjQICAiRJR44c0dChQzVgwAClp6fLz692nYwxNQAA+B6fGFPTvn17tW/f3qtlDx8+rGHDhumGG27QwoULa11oAACA2XxioPDhw4c1dOhQderUSWlpaSooKPDMi4yMtDEZAABoLHyi1KxevVrZ2dnKzs5Wx44dK83z0TPSAQBAHfOJYzjJycmyLKvaGwAAgOQjpQYAAOByKDUAAMAIlBoAAGAESg0AADACpQYAABiBUgMAAIxAqQEAAEag1AAAACNQagAAgBEoNQAAwAiUGgAAYARKDQAAMAKlBgAAGIFSAwAAjECpAQAARqDUAAAAI1BqAACAESg1AADACJQaAABgBEoNAAAwAqUGAAAYgVIDAACMQKkBAABGoNQAAAAjUGoAAIARKDUAAMAIlBoAAGAESg0AADACpQYAABiBUgMAAIxAqQEAAEag1AAAACNQagAAgBEoNQAAwAiUGgAAYARKDQAAMAKlBgAAGIFSAwAAjECpAQAARqDUAAAAI1BqAACAESg1AADACJQaAABgBEoNAAAwAqUGAAAY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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Generation 50\n", " --> Best: fitness(-0.00489, 0.00489) = 0.02082\n", " --> Mean: 2.31555 and SD: 3.25056\n" ] }, { "data": { "image/png": "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WrOzs3XvvffqzTff1LJly/Tf//3fWrNmjYYNGxbs6Z4Vx4QaAAC+rV+/flq5cqUkadCgQdq/f7/atGmj7t27n3Hb2NhYxcfHa9euXbr11lsbXOfyyy/Xc889p3/+858Ntta0a9dOJ06cqDMvmDr69u2rDRs26LbbbgvM+/jjj89YsyQlJiaqV69e9eZ/9NFHSk9P14033iipNqwUFhaecX+DBg3SF198od69ewd1/Ia0a9dOkur9WUi1g4cHDhyozMxMDR8+XC+99FKThRrHdD81ZO3atVq4cKHdZQAAmlh5ebmuvfZa/elPf9Jnn32m3bt3669//at+85vfaNy4cZKkMWPGaPjw4Ro/frzefvttFRYWat26dfrFL36hTZs2NbjfBx98UPPnz9cTTzyhL7/8Ulu3blV2drYee+wxSdLNN9+suLg4jR8/Xh999JF27dqlV155RevXr5dUe1fQ7t27lZubq6+++krV1dVB1XHffffp+eefV3Z2tr788kvNmzdP//jHP87rz6hPnz569dVXlZubq7y8PN1yyy1nbEmRpAceeEDr1q3T9OnTlZubqx07dmjVqlX1BgqfTkxMjMLCwvTmm2/qwIED8nq92r17tzIzM7V+/Xrt2bNHb7/9tnbs2KG+ffuez2melqNDDQCgdQgPD1dqaqoef/xxXX311erfv7/mzJmjqVOn6sknn5RU2x3y+uuv6+qrr9btt9+uSy65RDfddJP27Nmj2NjYBvd755136rnnnlN2drYGDBiga665Rjk5OYFblNu1a6e3335bMTExuv766zVgwAAtWLAg0D01YcIEjR07VqNHj1Z0dLT+/Oc/B1XHpEmTNGfOHM2aNUtXXnml9uzZo7vvvvu8/owee+wxderUSSNGjNANN9ygtLQ0DRo06IzbXX755Xrvvff05Zdf6qqrrtLAgQM1d+5cxcfHB33sNm3a6IknntDixYsVHx+vcePGqUOHDtq+fbsmTJigSy65RNOmTVNGRobuuuuu8znN03JZlmU12d5bmIqKCkVGRsrr9crj8dhdDgA0O5/Pp927d6tHjx51Ho/hhCcKw2yNfTel4H+/GVMDAFBSUm3AMP3dTzAboQYAIKk2YBAy4GSMqQEAAEYg1AAAACMQagCgFWpF94jAIS7Ed5JQAwCtyMmnwn799dc2VwLUdfI7+e0nF58NBgoD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KSlRRESEXC6X3eWck5NpldYm+3EtWhauR8vBtWg5TLkWlmXpyJEjio+PV0hI48OBW1VLTUhIiBISEuwu44LweDyO/oKahGvRsnA9Wg6uRcthwrU4XQvNSdz9BAAAjECoAQAARiDUOEz79u01b948tW/f3u5SWj2uRcvC9Wg5uBYtR2u7Fq1qoDAAADAXLTUAAMAIhBoAAGAEQg0AADACoQYAABiBUGOI6upqpaSkyOVyKTc31+5yWp3CwkJNmTJFPXr0UFhYmHr16qV58+appqbG7tJahd///vfq3r273G63UlNT9cknn9hdUqszf/58DRkyRBEREYqJidH48eOVn59vd1mQtGDBArlcLs2YMcPuUpococYQs2bNUnx8vN1ltFrbt2+X3+/X4sWL9Y9//EOPP/64nnnmGf3Xf/2X3aUZb9myZZo5c6bmzZunTz/9VFdccYXS0tJ08OBBu0trVd577z1lZGTo448/1po1a3Ts2DF973vf09GjR+0urVXbuHGjFi9erMsvv9zuUpoFt3Qb4I033tDMmTP1yiuv6LLLLtOWLVuUkpJid1mt3m9/+1s9/fTT2rVrl92lGC01NVVDhgzRk08+Kan2HW+JiYm65557NHv2bJura73KysoUExOj9957T1dffbXd5bRKlZWVGjRokJ566ik9/PDDSklJ0cKFC+0uq0nRUuNwBw4c0NSpU7V06VJ16NDB7nJwCq/Xq86dO9tdhtFqamq0efNmjRkzJjAvJCREY8aM0fr1622sDF6vV5L4f8BGGRkZ+v73v1/n/w/TtaoXWprGsiylp6frJz/5iQYPHqzCwkK7S8K/FBQUaNGiRcrKyrK7FKN99dVXOnHihGJjY+vMj42N1fbt222qCn6/XzNmzNDIkSPVv39/u8tplV5++WV9+umn2rhxo92lNCtaalqg2bNny+VynXbavn27Fi1apCNHjigzM9Puko0V7LU4VXFxscaOHauJEydq6tSpNlUO2CcjI0Off/65Xn75ZbtLaZWKiop033336cUXX5Tb7ba7nGbFmJoWqKysTOXl5addp2fPnvrRj36kv/3tb3K5XIH5J06cUGhoqG699VYtWbKkqUs1XrDXol27dpKkkpISjRo1SsOGDVNOTo5CQvh3Q1OqqalRhw4dtHz5co0fPz4wf/LkyTp8+LBWrVplX3Gt1PTp07Vq1Sq9//776tGjh93ltEorV67UjTfeqNDQ0MC8EydOyOVyKSQkRNXV1XWWmYRQ42B79+5VRUVF4HNJSYnS0tK0fPlypaamKiEhwcbqWp/i4mKNHj1aV155pf70pz8Z+5dGS5OamqqhQ4dq0aJFkmq7PpKSkjR9+nQGCjcjy7J0zz33aMWKFVq7dq369Oljd0mt1pEjR7Rnz546826//XZdeumleuCBB4zuEmRMjYMlJSXV+RweHi5J6tWrF4GmmRUXF2vUqFHq1q2bsrKyVFZWFlgWFxdnY2XmmzlzpiZPnqzBgwdr6NChWrhwoY4eParbb7/d7tJalYyMDL300ktatWqVIiIitH//fklSZGSkwsLCbK6udYmIiKgXXDp27KguXboYHWgkQg1wQaxZs0YFBQUqKCioFyhpDG1akyZNUllZmebOnav9+/crJSVFb775Zr3Bw2haTz/9tCRp1KhRdeZnZ2crPT29+QtCq0T3EwAAMAKjGAEAgBEINQAAwAiEGgAAYARCDQAAMAKhBgAAGIFQAwAAjECoAQAARiDUAAAAIxBqAACAEQg1AADACIQaAABgBEINAMcqKytTXFycHnnkkcC8devWqV27dnr33XdtrAyAHXihJQBHe/311zV+/HitW7dOycnJSklJ0bhx4/TYY4/ZXRqAZkaoAeB4GRkZeueddzR48GBt3bpVGzduVPv27e0uC0AzI9QAcLyqqir1799fRUVF2rx5swYMGGB3SQBswJgaAI63c+dOlZSUyO/3q7Cw0O5yANiElhoAjlZTU6OhQ4cqJSVFycnJWrhwobZu3aqYmBi7SwPQzAg1ABzt5z//uZYvX668vDyFh4frmmuuUWRkpF577TW7SwPQzOh+AuBYa9eu1cKFC7V06VJ5PB6FhIRo6dKl+uCDD/T000/bXR6AZkZLDQAAMAItNQAAwAiEGgAAYARCDQAAMAKhBgAAGIFQAwAAjECoAQAARiDUAAAAIxBqAACAEQg1AADACIQaAABgBEINAAAwwv8DZzReEtGxyeMAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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Yw9pNKxZKhJhScQeD2CzAXl57SvnRvplS2Qe0loZSGdlEEURgUAg+kO4uroar776Krxeb7Q30nXXXYfnnnsOM2bMwOOPP47evXujtLQUn3zyCR588EGEQiH86U9/wi9/+Uv07NkTxcXF+Pnnn3HjjTcCAPr164eSkhJs27YNvXv3hs1ma/UzqF+/ftiwYQMOHjwYbQZrDo899hguvvhi9OnTB1dccQV4nsePP/6InTt34sknn8TSpUsRiUQwefJkmM1m/O1vf4PJZELfvn2xfPlyHDhwAGeccQby8vLwn//8B4IgYMiQIc0ut9rTJGRNTk1jSIlSR48ejdt/9OjRRhOylKKyEnjlFTN+9ztg+nTgm2/UK4tGwxKIbTZmbqScG48HaA/zuak9WmVHgrRWhvagc+fOnRXvsGE0GtG5c+cWvWbFihXo0aMHevTogcmTJ+OHH37ARx99hLPOOgsAq4H++uuv0adPH1x22WUYNmwYbrnlFvj9ftjtdpjNZuzduxeXX345Bg8ejNtvvx1z5szBr3/9awDA5ZdfjunTp+Pss89Gly5d8P7777f68z3wwAPQaDQYPnw4unTpgrKysma9btq0aVi+fDm+/PJLTJw4EaeccgpefPFF9O3bFwCrBXnrrbdw2mmnoaioCP/73//w+eefo1OnTnA6nfjkk09wzjnnYNiwYXjjjTfw/vvvY8SIEa3+HErDiWrbqiRwHIdly5ZF++yLooiePXvigQcewP333w+ANSV17doVS5cuTZlTk4jb7YbD4UBNTU2jVYstJRAAFi0S8eqrHOqboHHeecAjjwADB6btbVqFVHMjCCy5WKq5ydVepKIo5tzswLkKaa0Muaaz3+9HSUkJCgsL44xMts/9lGs65ypt0TnVtQU0//mdNc1PXq8X+/bti25LVXj5+fno06cP5s6diyeffBKDBg2Kdunu2bNn1PioicEAXHFFNS69NB9vvAG89x6wciWwejVw443AffcBzaw5TDtSzU2qZqlcMzfV1dXNroYl2gZprQztRec+ffpk9QSTUrI3kVnU1jlrHmmbNm3C2LFjo33i582bh7Fjx+Kxxx4DADz44IO45557cPvtt2PixInwer1YsWJFVoxRI5GfDzzxBPDVV6ymJhwG/vpXNpeT2kjmxm4HfD7WLFVe3n6apQiCIAgiK5ufMkWmmp8AYNeuOhiNZshHPP/mG6C4GLj11ti+H38EiorUT9wVBFZzEw7HmqWs1uyvuamrq4vrxUJkDtJaGXJN58aaCLKZSCTSLvKXsp226JyO5qcsf4TlDjzf8J94+unxhmbHDuCii4DLL2fmRk14njVDORyA389qbcrL2WjF2VxzQzcl5SCtlYF0VgbKp1EGtXUmU5MmfL7aJmP27mX5Nxs2ABdeCPzmN2weJzVJNDdlZWzJVnMjDUhGZB7SWhlIZ2UQsvGG1g5RW2cyNQpy5ZXA118D0tRW//wnq8157jnWFKQmkrlxOllvrmw3NwRBEASRCJmaNGG1Ni9Hp1cv4JVXgH//G5g0idWOLFkCzJiRHXM3yc1NMJh95ibduVBEakhrZSCdlYGa+ZRBbZ3J1KSJQMDfovgxY4BPPgH+9Cegb1/ghhvUTx6Ww/MscVgyN+XlzNzU1LDu4Wohzd9DZB7SWhlIZ2VQu1mko6C2zmnvTB6JRLBjxw707du3wTwi7ZlQKNji13AcSxyeOjV+aoXly1nT1COPAPWz26uGZG4EAairY6MTm82s+7rVqvyUENJkekTmIa2Vob3oXFYGKDj2Hjp3BloyLE4H6uirKmrr3Oaamrlz5+LPf/4zAGZozjzzTIwbNw4FBQVYs2ZNW0+fMySbtKy5GAyANFaRIADPPAN8+SVwzjnAY48B9ZPsqopkbhwOIBRSr+amLToTLYO0Vob2oHNZGTBkCDB+vHLLkCHsfZvLzTffDI7jcMcddzQ4NmfOHHAch9mzZ6dPlDZw/PhxXHHFFcjLy4PdbsdZZ52F4uLiZr32rbfewujRo2G1WuF0OjF27FgsXrw4enzhwoVxk3t27twZZ5xxBpYsWRKd9T6XafO36eOPP8bo0aMBAJ9//jlKSkqwd+9e3HfffXj44YfbXMBcwW53puU8PA+8+25s8L4//xn4xS9YM1U2/KCTzE1eHiuf0uYmcXZlInOQ1srQHnQ+cYLlByqJ39+ymiGe51FQUIAPPvgAPp9Pdh4//v73v2fVaMi//e1vsWnTJixfvhxbt27FnDlzmvW6d955B3PnzsVvfvMbbNu2Dd999x0efPBBeL3euLgRI0agoqICZWVlWL16Na688kosXrwYp556KjzSXD+tRO1Rm9tsak6cOBGdVPI///kPrrzySgwePBg333wzduzY0eYC5gouV/qqUwYOBJYuBT74ABg2jBmGRYuAs89Wd7JMORzHpllINDcuV2bNTVU2VFt1EEhrZSCdlUEQhGgrwieffBLd/8knn6BPnz7R0ezl8YsXL0ZhYSFMJhNGjx6Njz/+OHo8EonglltuiR4fMmQIXnrppbhzzJ49GzNnzsTzzz+PHj16oFOnTpgzZ06TM7PzPI9TTz0Vp512GgYMGIArr7yyWTNl/+tf/8JVV12FW265BQMHDsSIESNwzTXX4KmnnoqL02q16N69O3r27IlRo0bhnnvuwdq1a7Fz504888wzTb5PY4TD4Ta9vq202dR069YNu3fvRiQSwYoVK3DeeecBYKNkqp0Fneucfjrw3/8Czz8PdO0KHDyYHT2k5CSam0OHgNLSzJsbgiCI1nDzzTfj3XffjW6/8847uOmmmxrELV68GH/5y1/wxhtvYNeuXbjvvvtw/fXXY+3atQCY6enduzc++ugj7N69G4899hh+97vf4R//+EfceVavXo39+/dj9erVeO+997B06VIsXbq00TLOmDEDH3/8MVasWNGiz9a9e3esX78epaWlLXodAAwdOhQXXHBBnOHLRdpsam666SZcddVVGDlyJDiOw9SpUwEAGzZswNChQ9tcwFzBYMjMcOEaDXDNNayG5sUXgTPOiB373//UH7xPQm5uIhFmbg4eZOYmncY9l4Zlz3VIa2UgnZVBGun2+uuvx7fffovS0lKUlpbiu+++w/XXXx8XGwgE8Pvf/x7vvPMOpk2bhv79+2P27Nm4/vrr8eabbwIAdDodFi1ahAkTJqCwsBDXXXcdbrrppgamJi8vD6+++iqGDh2Kiy++GBdddBFWrVqVspy7d+/Gtddei8cffxy33norPvroo+ixzZs3g+O4lLOhL1iwAE6nE/369cOQIUMwe/Zs/OMf/2h2j6ShQ4fi4MGDzYpNhdojCre58WvhwoUYOXIkysvLceWVV8JgMABgfdXnz5/f5gLmChpNZtsRrVbgqqti28ePA3PmMMNw113AnXeyXklqI5kbsznWW8pkAjp1Yp+hrc2tarfXdiRIa2UgnZWlS5cuuOiii7B06VKIooiLLroInTt3jovZt28f6urqoi0PEsFgMK6Z6rXXXsM777yDsrIy+Hw+BINBjBkzJu41I0aMiGu16NGjR6OpGQsXLsQFF1yA+fPn4/zzz8d5552HkydP4o477sCOHTswdOjQBuWVn3vdunXYuXMnvv76a3z//feYNWsW3n77baxYsaLJpHRRFNtsSnLe1ADAFVdcEbftcrkwa9asdJw6Z6ir88LhyFfs/dxulm/zww/ACy8A/+//Ab/9LRu1OBs6U8jNjc8XMzf5+Wxwv9bex71eL/LzldO5I0NaKwPprAzyrsY333wz7r77bgDMmCQiJdb++9//Rq9eveKOST/cP/jgAzzwwAP4wx/+gClTpsBms+G5557Dhg0b4uJ1Ol3cNsdxjdacbN++Pfr8HDduHP71r39h2rRpOHHiBFasWJG0qSyRkSNHYuTIkbjrrrtwxx134PTTT8fatWtx9tlnN/q6PXv2oLCwsMnzN4YgCKr26GvzOz/zzDP48MMPo9tXXXUVOnXqhN69e2P79u1tPT2RggEDgGXLgDffZGM1HD0KzJsHXHAB8N13apcuBscxY5OXx/KBDh9mOTfV1eltliIIgmgu06dPRzAYRCgUwrRp0xocHz58OAwGA8rKyjBw4MC4paCgAADw3Xff4dRTT8Vdd92FsWPHYuDAgdi/f3+by9arVy98I+sRctppp2HZsmV44oknsH///qgZay7Dhw8H0PQcY3v37sWKFStw+eWXt7zQWUSbTc0bb7wR/SevXLkSK1euxBdffIHp06fjgQceaHMBcwWHwwafT9nkWI4DLr4YWLMGePRRwG4Hdu4Err0WqKhQrhzNIV3mxmazZa6QRByktTKQzsogbxbRaDTYs2cPdu/enbRDi81mwwMPPID77rsP7733Hvbv348tW7bglVdewXvvvQcAGDRoEDZt2oT//ve/+Omnn/Doo4/ihx9+aHM5/+///g8rVqzAnDlzsHPnTmzduhVr166FXq/H8ePH8fnnn6d87Z133oknnngC3333HUpLS7F+/XrceOON6NKlC6ZMmRKNC4fDqKysxJEjR7Bjxw688sorOPPMMzFmzBj83//9X5vKr/a4S21ufqqsrIyamuXLl+Oqq67C+eefj379+mHy5MltLmCu4HQGYDTq4HIBej17gCvVtGgwAHfcwXJuXniBbffoETvu87Gmn2xAMjcmEyvX4cMta5YKBAINqnOJzEBaKwPprA5Nzbn1xBNPoEuXLli8eDEOHDgAp9OJcePG4Xe/+x0A4Ne//jW2bt2Kq6++GhzH4ZprrsFdd92FL774ok3l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o9E0yOw+evQounfvrlKp2jeSrqR5+rj77ruxfPlyrF69Gr17947u7969O4LBIFwuV1w8ad1y9Ho9Bg4ciPHjx2Px4sUYPXo0XnrpJdI4jWzevBnHjh3DuHHjoNVqodVqsXbtWrz88svQarXo1q0baZ0BnE4nBg8ejH379mXF9Uympg3o9XqMHz8eq1atiu4TBAGrVq3ClClTVCxZ+6WwsBDdu3eP09ztdmPDhg2keQsRRRF33303li1bhq+++gqFhYVxx8ePHw+dThendXFxMcrKykjrNiIIAgKBAGmcRs4991zs2LED27Ztiy4TJkzAddddF10nrdOP1+vF/v370aNHj+y4nhVJR27HfPDBB6LBYBCXLl0q7t69W7z99ttFp9MpVlZWql20nMXj8Yhbt24Vt27dKgIQX3jhBXHr1q1iaWmpKIqi+PTTT4tOp1P87LPPxO3bt4szZswQCwsLRZ/Pp3LJc4s777xTdDgc4po1a8SKioroUldXF4254447xD59+ohfffWVuGnTJnHKlCnilClTVCx17jF//nxx7dq1YklJibh9+3Zx/vz5Isdx4pdffimKImmcSeS9n0SRtE4H999/v7hmzRqxpKRE/O6778SpU6eKnTt3Fo8dOyaKovoak6lJA6+88orYp08fUa/Xi5MmTRLXr1+vdpFymtWrV4sAGiyzZs0SRZF163700UfFbt26iQaDQTz33HPF4uJidQudgyTTGID47rvvRmN8Pp941113iXl5eaLZbBYvvfRSsaKiQr1C5yA333yz2LdvX1Gv14tdunQRzz333KihEUXSOJMkmhrSuu1cffXVYo8ePUS9Xi/26tVLvPrqq8V9+/ZFj6utMSeKoqhMnZD6CIKAI0eOwGazgeM4tYtDEARBEEQzEEURHo8HPXv2BM+nzpzpUL2fjhw5goKCArWLQRAEQRBEKygvL4/r0JBIhzI1NpsNABPFbren9dxutzvt5yQaQjorB2mtDKSzMpDOypApnd1uNwoKCqLP8VR0KFMjNTlJE8ulE6vV2miVGJEeSGflIK2VgXRWBtJZGTKtc1OpI/QfThOJ/fKJzEA6KwdprQykszKQzsqgts5katKExwPU1gIdJ+2aIAiCILKLDtX8lEl8PjNKSwGLBXA62V8tqZt2zGaz2kXoMJDWykA6KwPprAxq60yP3TQhiszE+P1A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PXoos9msevXqpWbNmqUOHToU2p7oHBuUUkqfMSEhhBBCiNYjc2qEEEIIkRSkqBFCCCFEUpCiRgghhBBJQYoaIYQQQiQFKWqEEEIIkRSkqBFCCCFEUpCiRgghhBBJQYoaIYQQQiQFKWqEEB3eO++8g91uT3QzhBAtJEWNEKLJysrKmDt3LoMGDcJqtZKdnc348eNZvHgx1dXViW5ek+Tm5vLiiy9G3DZr1iy+/fbbxDRICBE3xkQ3QAjRPhw5coTx48djt9t55plnuOSSS7BYLOzZs4e33nqLXr16ceONNyakbUopfD4fRuOF7dJsNhs2my3OrRJC6E1GaoQQTXLfffdhNBrZvn07t956K8OGDWPAgAFMnz6d1atXM23aNAAqKiq488476d69O5mZmUyaNImvv/469DgLFy7k0ksv5d133yU3N5esrCxuu+02KisrQzF+v5/i4mL69++PzWZj1KhRLFu2LLR948aNGAwG1q5dS15eHhaLhU2bNnH48GGmT59OdnY2GRkZjB07lk8++SR0v6uuuorjx48zb948DAYDBoMBiH76afHixQwcOBCz2czQoUN59913I7YbDAbefvttZs6cSVpaGoMHD+Yf//hHaPvZs2eZPXs23bt3x2azMXjwYJYsWdLyf4QQIiYpaoQQjfr555/5+OOPKSoqIj09PWqMViDccsstlJeXs3btWnbs2MHo0aOZPHkyZ86cCcUePnyYlStXsmrVKlatWkVJSQmLFi0KbS8uLuavf/0rb7zxBt988w3z5s3jN7/5DSUlJRF/8/HHH2fRokXs37+fkSNH4nQ6mTp1KuvXr2fnzp1cd911TJs2jRMnTgCwfPlyevfuzdNPP01paSmlpaVRn8uKFSuYO3cuDz/8MHv37uXuu+9mzpw5bNiwISLuqaee4tZbb2X37t1MnTqV2bNnh57n/Pnz2bdvH2vXrmX//v0sXryYbt26NTPzQohm0e33wIUQ7dYXX3yhALV8+fKI27t27arS09NVenq6euyxx9Q///lPlZmZqVwuV0TcwIED1ZtvvqmUUmrBggUqLS1NORyO0PZHH31U5efnK6WUcrlcKi0tTX3++ecRj/Hb3/5W/frXv1ZKKbVhwwYFqJUrVzba9hEjRqhXXnkltN6vXz/1l7/8JSJmyZIlKisrK7R++eWXq9/97ncRMbfccouaOnVqaB1Qf/rTn0LrTqdTAWrt2rVKKaWmTZum5syZ02j7hBDxI3NqhBAX7Msvv8Tv9zN79mzcbjdff/01TqeTrl27RsTV1NRw+PDh0Hpubi6dOnUKrffo0YPy8nIADh06RHV1NVdffXXEY3g8Hi677LKI28aMGROx7nQ6WbhwIatXr6a0tJTa2lpqampCIzVNtX//fu66666I28aPH89LL70UcdvIkSND19PT08nMzAw9j3vvvZebbrqJr776imuuuYYZM2Zw+eWXN6sdQojmkaJGCNGoQYMGYTAYOHjwYMTtAwYMAAhNsnU6nfTo0YONGzee9xjhc1ZMJlPENoPBgN/vDz0GwOrVq+nVq1dEnMViiVivfyrskUceYd26dTz//PMMGjQIm83GzTffjMfjaeIzbZ6Gnsf111/P8ePHWbNmDevWrWPy5MkUFRXx/PPPt0pbhBBS1AghmqBr165cffXVvPrqqzzwwAMx59WMHj2asrIyjEYjubm5F/S3hg8fjsVi4cSJE0ycOLFZ9928eTO33347M2fOBAIF0rFjxyJizGYzPp+vwccZNmwYmzdvprCwMOKxhw8f3qz2dO/encLCQgoLC5kwYQKPPvqoFDVCtCIpaoQQTfL6668zfvx4xowZw8KFCxk5ciQpKSls27aNAwcOkJeXx5QpUygoKGDGjBk8++yzDBkyhJMnT7J69Wpmzpx53umiaDp16sQjjzzCvHnz8Pv9XHHFFZw7d47NmzeTmZkZUWjUN3jwYJYvX860adMwGAzMnz8/NHKiyc3N5bPPPuO2227DYrFEnbz76KOPcuutt3LZZZcxZcoUPvzwQ5YvXx7xSarGPPnkk+Tl5TFixAjcbjerVq1i2LBhTb6/EKL5pKgRQjTJwIED2blzJ8888wxPPPEEP/zwAxaLheHDh/PII49w3333YTAYWLNmDX/84x+ZM2cOp06dIicnhyuvvJLs7Owm/60///nPdO/eneLiYo4cOYLdbmf06NH84Q9/aPB+L7zwAnfccQeXX3453bp14/e//z0OhyMi5umnn+buu+9m4MCBuN1ulFLnPc6MGTN46aWXeP7555k7dy79+/dnyZIlXHXVVU1+DmazmSeeeIJjx45hs9mYMGECS5cubfL9hRDNZ1DRXtFCCCGEEO2MfE+NEEIIIZKCFDVCCCGESApS1AghhBAiKUhRI4QQQoikIEWNEEIIIZKCFDVCCCGESApS1AghhBAiKUhRI4QQQoikIEWNEEIIIZKCFDVCCCGESApS1AghhBAiKfx/otY/a/Zjy6wAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# GA parameters\n", "NUM_GENERATIONS = 50\n", "POPULATION_SIZE = 10\n", "TOURNAMENT_SIZE = 5\n", "PROB_MUTATION = 0.15\n", "PROB_CROSSOVER = 0.5\n", "STAT_INTERVALS = 10\n", "\n", "# add the best chromosome in the current generation to the next generation\n", "ELITISM = False\n", "\n", "# initial population \n", "chromosome = np.array([0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0])\n", "population = np.empty((0, len(chromosome)))\n", "for i in range(POPULATION_SIZE):\n", " random.shuffle(chromosome)\n", " population = np.vstack((population, chromosome))\n", "\n", "# keep track of the best chromosome and it's fitness\n", "best_chromosome = np.empty((0, len(chromosome)))\n", "best_fitness = 100000\n", "gen_stats = np.empty((0, 9))\n", "\n", "# we will add the best individual to the population if ELITISM\n", "POPULATION_SIZE = POPULATION_SIZE - 1 if ELITISM else POPULATION_SIZE\n", "\n", "for i in range(NUM_GENERATIONS + 1):\n", "\n", " # evaluate the fitness for each chromosome in the current generation\n", " fitnesses = np.array([ackley(chrsm) for chrsm in population])\n", "\n", " # print information about the current generation\n", " if i % STAT_INTERVALS == 0:\n", " gen_best_idx = np.argmin(fitnesses[:, 2])\n", " gen_best_x, gen_best_y, gen_best_fit = fitnesses[gen_best_idx, 0], fitnesses[gen_best_idx, 1], fitnesses[\n", " gen_best_idx, 2]\n", " gen_mean_fit, gen_std_fit = np.mean(fitnesses[:, 2]), np.std(fitnesses[:, 2])\n", " gen_mean_x, gen_std_x, gen_mean_y, gen_std_y = np.mean(fitnesses[:, 0]), np.std(fitnesses[:, 0]), np.mean(\n", " fitnesses[:, 1]), np.std(fitnesses[:, 1])\n", " gen_stats = np.append(gen_stats, [[gen_best_fit, gen_mean_fit, gen_std_fit,\n", " gen_best_x, gen_mean_x, gen_std_x,\n", " gen_best_y, gen_mean_y, gen_std_y]], axis=0)\n", " print(f\"Generation {i}\")\n", " print(f\" --> Best: fitness({round(gen_best_x, 5)}, {round(gen_best_y, 5)}) = {round(gen_best_fit, 5)}\")\n", " print(f\" --> Mean: {round(gen_mean_fit, 5)} and SD: {round(gen_std_fit, 5)}\")\n", "\n", " next_gen = np.empty((0, len(chromosome)))\n", " collect_parents = np.empty((0, len(chromosome)))\n", " \n", " while len(next_gen) < POPULATION_SIZE:\n", " # select parent chromosomes\n", " parent_1 = tournament_selection(population, fitnesses[:, 2], TOURNAMENT_SIZE)\n", " parent_2 = tournament_selection(population, fitnesses[:, 2], TOURNAMENT_SIZE)\n", " collect_parents = np.vstack((collect_parents, parent_1))\n", " collect_parents = np.vstack((collect_parents, parent_2))\n", " # make child chromosomes using 2-point crossover\n", " children = crossover(parent_1, parent_2, PROB_CROSSOVER)\n", " # add children to the next generation\n", " next_gen = np.vstack((next_gen, children[0]))\n", " if len(next_gen) >= POPULATION_SIZE: break\n", " next_gen = np.vstack((next_gen, children[1]))\n", "\n", " # mutate genes in the next generation\n", " next_gen = mutation(next_gen, PROB_MUTATION)\n", "\n", " if ELITISM:\n", " if gen_best_fit < best_fitness:\n", " best_fitness = gen_best_fit\n", " best_chromosome = population[gen_best_idx]\n", " # add the best chromosome to the next generation without mutation\n", " next_gen = np.vstack((next_gen, best_chromosome))\n", " \n", " population = next_gen.copy()\n", " \n", " # plot current population and parents\n", " if i % STAT_INTERVALS == 0:\n", " plt.plot(fitnesses[:,0], fitnesses[:,1], '.y')\n", " par_fitnesses = np.array([ackley(chrsm) for chrsm in collect_parents])\n", " plt.plot(par_fitnesses[:,0], par_fitnesses[:,1], '.b')\n", " plt.xlim([-5, 5])\n", " plt.ylim([-5, 5])\n", " plt.xlabel(\"x\")\n", " plt.ylabel(\"y\")\n", " y_patch = mpatches.Patch(color='y', hatch=\".\", label='Population')\n", " b_patch = mpatches.Patch(color='b', hatch=\".\", label='Selected Parents')\n", " plt.legend(handles=[y_patch, b_patch])\n", " plt.pause(0.1)\n", " plt.close()\n", "\n", " plt.show()\n", "\n", "# plot GA statistics \n", "fig, axs = plt.subplots(3)\n", "\n", "x_axis_range = list(range(0, gen_stats.shape[0] * STAT_INTERVALS, STAT_INTERVALS))\n", "\n", "axs[0].plot(x_axis_range, np.zeros(len(x_axis_range)), '--r', linewidth=1.5)\n", "axs[0].plot(x_axis_range, gen_stats[:, 0], '-k', linewidth=1.5)\n", "axs[0].plot(x_axis_range, gen_stats[:, 1], '--b', linewidth=1.5)\n", "axs[0].fill_between(x_axis_range, gen_stats[:, 1] - gen_stats[:, 2], gen_stats[:, 1] + gen_stats[:, 2], color='b',\n", " alpha=0.1)\n", "\n", "axs[1].plot(x_axis_range, np.zeros(len(x_axis_range)), '--r', linewidth=1.5)\n", "axs[1].plot(x_axis_range, gen_stats[:, 3], '-k', linewidth=1.5)\n", "axs[1].plot(x_axis_range, gen_stats[:, 4], '--b', linewidth=1.5)\n", "axs[1].fill_between(x_axis_range, gen_stats[:, 4] - gen_stats[:, 5], gen_stats[:, 4] + gen_stats[:, 5], color='b',\n", " alpha=0.1)\n", "\n", "axs[2].plot(x_axis_range, np.zeros(len(x_axis_range)), '--r', linewidth=1.5)\n", "axs[2].plot(x_axis_range, gen_stats[:, 6], '-k', linewidth=1.5)\n", "axs[2].plot(x_axis_range, gen_stats[:, 7], '--b', linewidth=1.5)\n", "axs[2].fill_between(x_axis_range, gen_stats[:, 7] - gen_stats[:, 8], gen_stats[:, 7] + gen_stats[:, 8], color='b',\n", " alpha=0.1)\n", "\n", "axs[0].set_ylabel(\"Fitness\")\n", "axs[1].set_ylabel(\"x\")\n", "axs[2].set_ylabel(\"y\")\n", "axs[2].set_xlabel(\"Generations\")\n", "\n", "axs[0].legend(handles=[mpatches.Patch(color='k', label=f\"Best fitness\"),\n", " mpatches.Patch(color='b', label=f\"Mean & SD\"),\n", " mpatches.Patch(color='r', label=f\"Global minima\")])\n", "\n", "axs[0].grid(color='k', linestyle='--', linewidth=0.5, alpha=0.1)\n", "axs[1].grid(color='k', linestyle='--', linewidth=0.5, alpha=0.1)\n", "axs[2].grid(color='k', linestyle='--', linewidth=0.5, alpha=0.1)\n", "\n", "# axs[0].set_ylim([-0.5,14])\n", "# axs[1].set_ylim([-5,5])\n", "# axs[2].set_ylim([-5,5])\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "97d80dcc-c88b-4be1-ab4f-2e0ead3e0119", "metadata": {}, "source": [ "## Fitness function global minimum\n", "Remember that the Ackley fitness function has a global minimum:\n", "f(0.0, 0.0) = 0.0" ] }, { "cell_type": "code", "execution_count": null, "id": "05ade091-4ff4-4d2c-90aa-65822b252312", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python", "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.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }