{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "UWC9MCcqfB3I"
      },
      "source": [
        "\n",
        ">> MUTATION AND THE MAX-ROCKET CHALLENGE\n",
        ">>>>\n",
        ">>> José Rodríguez\n",
        ">>>>\n",
        ">>> jose@ejristos.com\n",
        ">>>>\n",
        ">>> 10 February 2026.\n",
        ">>>>\n",
        ">>> Bogotá, Colombia.\n",
        "\n",
        "**Abstract.**\n",
        "\n",
        "The selection of the fittest can be abstracted as the MAX-problem, which consists in choosing the maximal value of a set of numbers. We have seen in a previous work that this is a good technique to pick quality, but not good enough to battle complexity. Thus, the MAX-Rocket Challenge arises: how to insert the selection of the fittest into a powerful algorithm that skyrockets the power of MAX to battle complexity? We welcome the wonderful promise of Evolution to solve it. We study here the effect of the recursive procedure consisting of mutation, that creates variability, MAX, that chooses the best, and cloning, that reproduces the best to create the new population.  \n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ZqK1YK9Wn8j8"
      },
      "source": [
        "\n",
        "# INTRODUCTION\n",
        "\n",
        "We have been studying techniques to battle complexity and concretely to explain the origin of our DNA. The first option is randomness: Randomness can produce whatever you want.  But, we already know that randomness is not scientific, i.e., its results are not guaranteed to be reproducible, repeatable.  This is valid as for randomness working in one front as in various. So, randomness cannot be falsified, and it is allowed to believe in it by blind faith. Nevertheless, randomness can be made scientific if we pay a high price in terms of trials that appear to us as garbage. This is possible but only for rather humble problems because the resources of the whole universe are extremely limited. \n",
        "\n",
        "Instead of searching for complete solutions, we can ask: what is the best that randomness can do? With this question we are pointing to the selection of the fittest. [We have reported with joy](https://drive.google.com/file/d/1INgFRVZV2KWl0PpSjWqc3peXtbAnbDT2/view?usp=sharing) that this procedure is good to consistently pick up high quality. But, at the same time, it is not good enough to battle complexity. This means that we need extremely large quantities of resources, more than available in the entire universe, to consistently obtain high quality when issues are a bit complex.\n",
        "\n",
        "Our failure creates the **MAX-Rocket Challenge**:\n",
        ">\n",
        "> To create a powerful algorithm or procedure in which the selection of the fittest could be inserted to skyrocket, to propel, its capability to battle complexity.\n",
        ">\n",
        "We begin to examine here the beautiful promise of Evolution to solve this challenge."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Njtv-oPEoJmM"
      },
      "source": [
        "# THE IDEA OF EVOLUTION\n",
        "\n",
        "It was the merit of Charles Darwin to convert Evolution as a popular idea of his time into a treasure of Science. He achieved this with his book, The Origin, 1859. He closed it with the following poetry that contains a procedure to battle complexity that although incomplete has enlightened us:\n",
        "\n",
        "\n",
        "It is interesting to contemplate an entangled bank, clothed with many plants of many kinds, with birds singing on the bushes, with various insects flitting about, and with worms crawling through the damp earth, and to reflect that these elaborately constructed forms, so different from each other, and dependent on each other in so complex a manner, have all been produced by laws acting around us. These laws, taken in the largest sense, being Growth with Reproduction; Inheritance which is almost implied by reproduction; Variability from the indirect and direct action of the external conditions of life, and from use and disuse; a Ratio of Increase so high as to lead to a Struggle for Life, and as a consequence on Natural Selection, entailing Divergence of Character and the Extinction of less-improved forms. Thus, from the war of nature, from famine and death, the most exalted object which we are capable of conceiving, namely, the production of the higher animals, directly follows. There is grandeur in this view of life, with its several powers, having been originally breathed into a few forms or into one; and that, whilst this planet has gone cycling on according to the fixed law of gravity, from so simple a beginning endless forms most beautiful and most wonderful have been, and are being, evolved.\n",
        "\n",
        "\n",
        "\n",
        "Science needed around one century to go from this to a completely mechanistic procedure to battle complexity. So, the DNA was discovered, and the mechanism of Evolution was formulated as an algorithm, the Genetic Algorithm, that is used today all around the world to propose acceptable solutions to all kinds of optimization problems.\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "1l8pfxe9oV0D"
      },
      "source": [
        "\n",
        "## The Genetic Algorithm, GA\n",
        "\n",
        "Let us see in which way Evolution faces the MAX-Rocket Challenge. The powerful algorithm that uses the selection of the fittest as a key piece is the following, which clearly reflects the ideas of Darwin:\n",
        "\n",
        "- Select the fittest (Natural Selection).\n",
        "- Clone it as many times as desired (Inheritance and reproduction that is implemented by DNA).\n",
        "- Create variability. \n",
        "- Repeat this procedure the necessary times to get the desired degree of quality (produce a cycle of reproduction similar to that seen in nature year after year).\n",
        "\n",
        "Once the DNA was discovered, the creation of variability was implemented as mutation (change in the DNA bases), and recombination (interchange of information among the encoding DNA strings or genes).\n",
        "\n",
        "The resultant algorithm is called the **Genetic Algorithm, GA**. It is the simplest abstraction of Evolution that produces variability, plus acceptable solutions in many cases, and, in some cases, perfection.\n",
        "\n",
        "Natural Evolution, much more complex that the Genetic algorithm, is a property of life. In fact, Evolution is a reality of nature that inspires terror when thinking of the Evolution of dangerous viruses. Besides, Evolution is also a theory, the Evolutionary Theory, that says that we are here because of the Biological Evolution.  In Science, theories must be tested. We will focus on the capability of Evolution to battle complexity:\n",
        "\n",
        "> Does Evolution skyrocket the capability of selection of the fittest to battle complexity?\n",
        "\n",
        "This question is crucial because the resources of the Universe are extremely limited. Daily work of scientists and engineers seems to show that the answer to this question is affirmative. Actually, the genetic algorithm is used today by routine to propose approximate solution to whatever kind of optimization issues. The bridge between a problem and this algorithm is the encoding of plausible solutions as strings or chromosomes. These are selected for quality, cloned, mutated and recombined recursively. Acceptable quality appears in most cases after some generations.\n",
        "\n",
        "Now, if genetic algorithms succeed by routine, Why do we need one further test?\n",
        "\n",
        "It is because complexity is a bottomless barrel, whose hungry is evidenced by the more frequent use of supercomputers to run GAs.  \n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "OWtMDwZAoRiz"
      },
      "source": [
        "# OUR PURPOSE\n",
        "\n",
        "Our task is to implement the GA and give to it the task of solving a problem that is directly related with complexity. While the GA is formulated in a general form, we restrict here its study to the role of mutation + MAX (selection of the fittest) + cloning (to create the next generation). We leave recombination for later study.\n",
        "\n",
        "Our concern is the **Shakespeare Challenge**, which consists in partially guessing or matching a predefined, target string. Complexity is directly related to the length of the target string because we expect that the larger it is, the more generations and chromosomes are needed. Thus, in a GA, complexity of a task is paralleled by laboriousness of the solver machine. The creative aspect of complexity is solved by the encoding procedure that relates strings or chromosomes to possible solutions.\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "2cpBD3ObH4cV"
      },
      "source": [
        "# THE PROTOTYPE GA\n",
        "\n",
        "GAs come in too many variants, but all share the same core that in practice is reduced to that already exposed. Its implementation in Python follows. The task is to solve the Shakespeare Challenge, in which a target string must be guessed or matched. We prefer a version that is easily captured by mathematical models."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "dAJrmc2FbUQ-",
        "outputId": "2504d269-9a44-445b-f76a-fb82a4ff7e15"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Lab: Simple Genetic Algorithm\n",
            "Purpose: solve an instance of the Shakespeare challenge\n",
            "Date of Experiment  = 2026-02-09 07:03:26.312962\n",
            "target_sequence = Methinks it is like a weasel.\n",
            "population_size = 200\n",
            "mutation_rate = 0.01\n",
            "recombination_rate = 0.01\n",
            "Generation, best_chromosome and best_fitness\n",
            " 1  MRLvVsncfihrmVYZIjV BMAyFNZQj 3\n",
            " 2  MRLvVsncfihrmVYZIje BMAyFNZQj 4\n",
            " 3  MRLv sncfihrmVYZIje BMAyFNZQj 4\n",
            " 4  MRLv snsfihrmVYZIje BMAyFNZQj 5\n",
            " 5  MRLv snsfihrmVYZIje BMAyFNZQ. 6\n",
            " 6  MRLv snsfihrmVYrIje BMAyFNZQ. 6\n",
            " 7  MRLv snsfihrmVYrIje BMAeFNZQ. 7\n",
            " 8  MRLv snsfihrmVYrIje BMAeFNZQ. 7\n",
            " 9  MRLh snsfihrmVYrIje BMAeFNZQ. 8\n",
            " 10  MRLh snsfihrmVYrIje BMAeFNZl. 9\n",
            " 11  MRLh snsfihrmVYrIje B AeFNZl. 10\n",
            " 12  MRLh snsfihrmVYrIje B AeFNZl. 10\n",
            " 13  MRLh nnsfihrmVYrIje B AeFNZl. 11\n",
            " 14  MRLh nnsfihrmVYrIje B AeFNZl. 11\n",
            " 15  MRLh nnsfihrmV rIje B AeFNZl. 12\n",
            " 16  MRLh nnsfihrmV rIje B AeFNZl. 12\n",
            " 17  MRth nnsfihrmV rIje B AeFNZl. 13\n",
            " 18  MRth nnsfihrmV rije B AeFNZl. 14\n",
            " 19  MRth nnsfihrmV rije B AeFNZl. 14\n",
            " 20  MRth nnsfihrmV rije B AeFNZl. 14\n",
            " 21  MRth nnsfihrmV rije a AeFNZl. 15\n",
            " 22  MRth nnsfihrmV rije a AeFNZl. 15\n",
            " 23  MRth nnsfihrmV rije a AeFNZl. 15\n",
            " 24  MRth nnsfihrmV rije a AeFNZl. 15\n",
            " 25  MRth nnsfihrmV rije a AeFNZl. 15\n",
            " 26  MRth nnsfihrmV rije a AeFNZl. 15\n",
            " 27  MRth nnsfihrmV rije a AeFNZl. 15\n",
            " 28  MRth nnsfihrmV rije a AeFNZl. 15\n",
            " 29  MRth nnsfihrmV rije a AeFNZl. 15\n",
            " 30  MRth nnsfihrmV rije a weFNZl. 16\n",
            " 31  MRth nnsfihrmV rije a weFsZl. 17\n",
            " 32  MRth nnsfihrmV rije a weFsZl. 17\n",
            " 33  MRth nnsfihrmV rije a weFsZl. 17\n",
            " 34  MRth nnsfihrmV rije a weFsZl. 17\n",
            " 35  MRth nnsfihrmV rije a weFsZl. 17\n",
            " 36  MRth nnsfihrmV rije a weFsZl. 17\n",
            " 37  MRth nnsfihrmV rije a weFsZl. 17\n",
            " 38  MRth nnsfihrmV rije a weFsZl. 17\n",
            " 39  MRth nnsfihrmV rije a weFsZl. 17\n",
            " 40  MRth nnsfihrmV rije a weFsZl. 17\n",
            " 41  MRth nnsfihrmV rije a weFsZl. 17\n",
            " 42  MRth nnsfihrmV rije a weFsZl. 17\n",
            " 43  MRth nnsfitrmV rije a weFsZl. 18\n",
            " 44  MRth nnsfitrmV rije a weFsZl. 18\n",
            " 45  MRth nksfitrmV rije a weFsZl. 19\n",
            " 46  MRth nksfitrmV rije a weasZl. 20\n",
            " 47  MRth nksfitrmV rije a weasZl. 20\n",
            " 48  MRthinksfitYmV rije a weasZl. 21\n",
            " 49  MRthinksfitYmV rije a weasZl. 21\n",
            " 50  MRthinksfitYmV rije a weasZl. 21\n",
            " 51  MRthinksfitYmV rije a weasZl. 21\n",
            " 52  MRthinksfitYmV rije a weasZl. 21\n",
            " 53  MRthinksfitYmV rije a weasZl. 21\n",
            " 54  M.thinksfitYmV rije a weasZl. 21\n",
            " 55  M.thinksfitYmV rije a weasZl. 21\n",
            " 56  M.thinksfitYmV rije a weasZl. 21\n",
            " 57  M.thinksfitYmV rije a weasZl. 21\n",
            " 58  M.thinksfitYmV rije a weasZl. 21\n",
            " 59  M.thinksfitYmV rije a weasZl. 21\n",
            " 60  M.thinksfitYmV rije a weasZl. 21\n",
            " 61  M.thinksfitYmV rije a weasZl. 21\n",
            " 62  M.thinksfitYmV rije a weasZl. 21\n",
            " 63  M.thinksfitYmV rije a weasZl. 21\n",
            " 64  M.thinksfit mV rije a weasZl. 22\n",
            " 65  M.thinksfit mV rije a weasZl. 22\n",
            " 66  M.thinksfit mV rije a weasZl. 22\n",
            " 67  M.thinksfit mV rije a weasZl. 22\n",
            " 68  M.thinksfit mV rije a weasZl. 22\n",
            " 69  M.thinksfit mV rije a weasZl. 22\n",
            " 70  M.thinksfit mV rije a weasZl. 22\n",
            " 71  M.thinksfit mV rije a weasZl. 22\n",
            " 72  M.thinksfit mV rije a weasZl. 22\n",
            " 73  M.thinksfit mV rije a weasZl. 22\n",
            " 74  M.thinksfit mV rije a weasZl. 22\n",
            " 75  M.thinksfit mV rije a weasZl. 22\n",
            " 76  M.thinksfit wV rije a weasZl. 22\n",
            " 77  M.thinksfit wh rije a weasZl. 22\n",
            " 78  M.thinksfit wh rije a weasZl. 22\n",
            " 79  M.thinksfit wh rije a weasZl. 22\n",
            " 80  M.thinksfit wh rije a weasZl. 22\n",
            " 81  M.thinksfit wh rije a weasZl. 22\n",
            " 82  M.thinksfit wh rije a weasZl. 22\n",
            " 83  M.thinksfit wh rije a weasZl. 22\n",
            " 84  M.thinksfit wh rije a weasZl. 22\n",
            " 85  M.thinksfit wh rije a weasZl. 22\n",
            " 86  M.thinksfit wh rike a weasZl. 23\n",
            " 87  M.thinksfit wh rike a weasZl. 23\n",
            " 88  M.thinksfit wh rike a weasZl. 23\n",
            " 89  M.thinksfit wh rike a weasZl. 23\n",
            " 90  M.thinksfit wh rike a weasZl. 23\n",
            " 91  M.thinksfit wh rike a weasZl. 23\n",
            " 92  M.thinksfit wh rike a weasZl. 23\n",
            " 93  M.thinksfit wh rike a weasZl. 23\n",
            " 94  M.thinksfit wh rike a weasZl. 23\n",
            " 95  M.thinksfit wh rike a weasZl. 23\n",
            " 96  M.thinksfit wh rike a weasZl. 23\n",
            " 97  M.thinksfit wh rike a weasZl. 23\n",
            " 98  M.thinksfit wh rike a weasZl. 23\n",
            " 99  M.thinksfit wh rike a weasZl. 23\n",
            " 100  M.thinksfit wh rike a weasZl. 23\n",
            " 101  M.thinksfit wh rike a weasZl. 23\n",
            " 102  M.thinksfit wh rike a weasZl. 23\n",
            " 103  M.thinksfit wh rike a weasZl. 23\n",
            " 104  Methinksfit wh rike a weasZl. 24\n",
            " 105  Methinksfit wh rike a weasZl. 24\n",
            " 106  Methinksfit wh rike a weasel. 25\n",
            " 107  Methinksfit wh Uike a weasel. 25\n",
            " 108  Methinksfit wh Uike a weasel. 25\n",
            " 109  Methinksfit wh Uike a weasel. 25\n",
            " 110  Methinksfit wh Uike a weasel. 25\n",
            " 111  Methinksfit wh Uike a weasel. 25\n",
            " 112  Methinksfit wh Uike a weasel. 25\n",
            " 113  Methinksfit wh Uike a weasel. 25\n",
            " 114  Methinksfit wh Uike a weasel. 25\n",
            " 115  Methinksfit wh Uike a weasel. 25\n",
            " 116  Methinksfit wh Uike a weasel. 25\n",
            " 117  Methinksfit wh Uike a weasel. 25\n",
            " 118  Methinksfit ws Uike a weasel. 26\n",
            " 119  Methinksfit ws Uike a weasel. 26\n",
            " 120  MethinksIit ws Uike a weasel. 26\n",
            " 121  MethinksIit ws Uike a weasel. 26\n",
            " 122  MethinksIit ws Uike a weasel. 26\n",
            " 123  MethinksIit ws Uike a weasel. 26\n",
            " 124  MethinksIit ws Uike a weasel. 26\n",
            " 125  MethinksIit ws Uike a weasel. 26\n",
            " 126  MethinksIit ws Uike a weasel. 26\n",
            " 127  MethinksIit ws Uike a weasel. 26\n",
            " 128  MethinksIit ws Uike a weasel. 26\n",
            " 129  MethinksIit ws Uike a weasel. 26\n",
            " 130  MethinksIit ws Uike a weasel. 26\n",
            " 131  MethinksIit is Uike a weasel. 27\n",
            " 132  MethinksIit is Uike a weasel. 27\n",
            " 133  MethinksIit is Uike a weasel. 27\n",
            " 134  MethinksIit is Uike a weasel. 27\n",
            " 135  MethinksIit is Uike a weasel. 27\n",
            " 136  MethinksIit is Uike a weasel. 27\n",
            " 137  MethinksIit is Uike a weasel. 27\n",
            " 138  MethinksIit is Uike a weasel. 27\n",
            " 139  MethinksIit is Uike a weasel. 27\n",
            " 140  MethinksIit is Uike a weasel. 27\n",
            " 141  MethinksIit is Uike a weasel. 27\n",
            " 142  MethinksIit is Uike a weasel. 27\n",
            " 143  MethinksIit is Uike a weasel. 27\n",
            " 144  MethinksIit is Uike a weasel. 27\n",
            " 145  MethinksIit is Uike a weasel. 27\n",
            " 146  MethinksIit is Uike a weasel. 27\n",
            " 147  MethinksIit is Uike a weasel. 27\n",
            " 148  MethinksIit is Uike a weasel. 27\n",
            " 149  MethinksIit is Uike a weasel. 27\n",
            " 150  Methinks it is Uike a weasel. 28\n",
            " 151  Methinks it is Uike a weasel. 28\n",
            " 152  Methinks it is Uike a weasel. 28\n",
            " 153  Methinks it is Uike a weasel. 28\n",
            " 154  Methinks it is Uike a weasel. 28\n",
            " 155  Methinks it is Uike a weasel. 28\n",
            " 156  Methinks it is Uike a weasel. 28\n",
            " 157  Methinks it is Uike a weasel. 28\n",
            " 158  Methinks it is Uike a weasel. 28\n",
            " 159  Methinks it is Uike a weasel. 28\n",
            " 160  Methinks it is Uike a weasel. 28\n",
            " 161  Methinks it is Uike a weasel. 28\n",
            " 162  Methinks it is Uike a weasel. 28\n",
            " 163  Methinks it is Uike a weasel. 28\n",
            " 164  Methinks it is Uike a weasel. 28\n",
            " 165  Methinks it is Uike a weasel. 28\n",
            " 166  Methinks it is Uike a weasel. 28\n",
            " 167  Methinks it is Uike a weasel. 28\n",
            " 168  Methinks it is Uike a weasel. 28\n",
            " 169  Methinks it is Uike a weasel. 28\n",
            " 170  Methinks it is Uike a weasel. 28\n",
            " 171  Methinks it is Uike a weasel. 28\n",
            " 172  Methinks it is Uike a weasel. 28\n",
            " 173  Methinks it is Uike a weasel. 28\n",
            " 174  Methinks it is Uike a weasel. 28\n",
            " 175  Methinks it is Uike a weasel. 28\n",
            " 176  Methinks it is Uike a weasel. 28\n",
            " 177  Methinks it is Uike a weasel. 28\n",
            " 178  Methinks it is Uike a weasel. 28\n",
            " 179  Methinks it is Uike a weasel. 28\n",
            " 180  Methinks it is Uike a weasel. 28\n",
            " 181  Methinks it is Uike a weasel. 28\n",
            " 182  Methinks it is Uike a weasel. 28\n",
            " 183  Methinks it is Uike a weasel. 28\n",
            " 184  Methinks it is Uike a weasel. 28\n",
            " 185  Methinks it is like a weasel. 29\n",
            "\n",
            "Target sequence matched in generation 185!\n",
            "Final chromosome: Methinks it is like a weasel.\n",
            "Total cost = population size * number of generations: 37000\n"
          ]
        }
      ],
      "source": [
        "# Program LabSimpleGeneticAlgorithm.py\n",
        "# In colaboration with Gemini 2.5\n",
        "# This program solves the Shakespeare Challenge:\n",
        "# It must match a target string.\n",
        "\n",
        "import datetime\n",
        "import random\n",
        "\n",
        "# This is the string to be matched\n",
        "target_sequence = 'Methinks it is like a weasel.'\n",
        "population_size = 200\n",
        "mutation_rate = 0.01\n",
        "recombination_rate = 0.01\n",
        "alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "\n",
        "def print_parameters():\n",
        "    print(f\"Lab: Simple Genetic Algorithm\")\n",
        "    print(f\"Purpose: solve an instance of the Shakespeare challenge\")\n",
        "    print(f\"Date of Experiment  = {datetime.datetime.now()}\")\n",
        "    print(f\"target_sequence = {target_sequence}\")\n",
        "    print(f\"population_size = {population_size}\")\n",
        "    print(f\"mutation_rate = {mutation_rate}\")\n",
        "    print(f\"recombination_rate = {recombination_rate}\")\n",
        "\n",
        "\n",
        "def create_population(population_size, target_sequence, alphabet):\n",
        "    \"\"\"Creates a new population with random chromosomes.\"\"\"\n",
        "    # print(\"create_population(population_size, target_sequence, alphabet)\")\n",
        "    population = []\n",
        "    for _ in range(population_size):\n",
        "        random_string = ''.join(random.choice(alphabet) for _ in range(len(target_sequence)))\n",
        "        population.append(random_string)\n",
        "    # print(\"initial population\")\n",
        "    # print(population)\n",
        "    return population\n",
        "\n",
        "def calculate_fitness(chromosome, target_sequence):\n",
        "    \"\"\"Calculates the fitness of a chromosome based on its similarity to the target sequence.\"\"\"\n",
        "    #  print(\"\\n *calculate_fitness(chromosome, target_sequence)\")\n",
        "    fitness = 0\n",
        "    for i in range(len(chromosome)):\n",
        "        if chromosome[i] == target_sequence[i]:\n",
        "            fitness += 1\n",
        "    # print(chromosome, \"  fitness: \", fitness)\n",
        "    return fitness\n",
        "\n",
        "def calculate_all_fitness(population, target_sequence):\n",
        "    # print(\"\\n*calculate_all_fitness(population, target_sequence)\")\n",
        "    \"\"\"Calculates the fitness of all chromosomes in the population.\"\"\"\n",
        "    fitness_scores = [calculate_fitness(chromosome, target_sequence) for chromosome in population]\n",
        "    # print(\"fitness_scores: \", fitness_scores)\n",
        "    return fitness_scores\n",
        "\n",
        "def select_the_best(population, target_sequence):\n",
        "    \"\"\"Selects the best chromosome for reproduction.\"\"\"\n",
        "    fitness_scores = calculate_all_fitness(population, target_sequence)\n",
        "    best_fitness = max(fitness_scores)\n",
        "    best_chromosome_index = fitness_scores.index(best_fitness)\n",
        "    best_chromosome = population[best_chromosome_index]\n",
        "    # print(\"\\n*select_the_best(population)\")\n",
        "    # print(\"best_fitness = \", best_fitness)\n",
        "    # print(\"The chro = \", best_chromosome )\n",
        "    return best_fitness, best_chromosome\n",
        "\n",
        "def clone_population(best_chromosome, population_size):\n",
        "    \"\"\"Creates a new population by cloning the best chromosome.\"\"\"\n",
        "    return [best_chromosome] * population_size\n",
        "\n",
        "\n",
        "def mutate(chromosome, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates a chromosome.\"\"\"\n",
        "    mutated_chromosome_list = list(chromosome)\n",
        "    for i in range(len(mutated_chromosome_list)):\n",
        "        if random.random() < mutation_rate:\n",
        "                mutated_chromosome_list[i] = random.choice(alphabet)\n",
        "    return \"\".join(mutated_chromosome_list)\n",
        "\n",
        "def mutate_all(population, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates all chromosomes in the population.\"\"\"\n",
        "    mutated_population = []\n",
        "    for chromosome in population:\n",
        "        mutated_chromosome = mutate(chromosome, mutation_rate, alphabet)\n",
        "        mutated_population.append(mutated_chromosome)\n",
        "    return mutated_population\n",
        "\n",
        "def crossover(parent1, parent2, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover between two parent chromosomes.\"\"\"\n",
        "    if random.random() < recombination_rate:\n",
        "        crossover_point = random.randint(0, len(target_sequence))\n",
        "        return parent1[:crossover_point] + parent2[crossover_point:]\n",
        "    else:\n",
        "        return parent1\n",
        "\n",
        "def crossover_all(population, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover on all chromosomes in the population.\"\"\"\n",
        "    recombinant_population = []\n",
        "    for i in range(len(population)):\n",
        "        parent1 =  population[i]\n",
        "        parent2 = random.choice(population)\n",
        "        child = crossover(parent1, parent2, target_sequence, recombination_rate)\n",
        "        recombinant_population.append(child)\n",
        "    return recombinant_population\n",
        "\n",
        "\n",
        "\n",
        "def run_one_generation(population, target_sequence, mutation_rate, recombination_rate, alphabet):\n",
        "    \"\"\"Runs one generation of the genetic algorithm.\"\"\"\n",
        "    # Calculate fitness scores for the current population\n",
        "    best_fitness, best_chromosome  = select_the_best(population, target_sequence)\n",
        "    # print(f\" best_chromosome {best_chromosome}, best_fitness {best_fitness}\")\n",
        "    # Clone the best to build the new population\n",
        "    cloned_population = clone_population(best_chromosome, population_size)\n",
        "    mutated_population = mutate_all(cloned_population, mutation_rate, alphabet)\n",
        "    new_population = crossover_all(mutated_population, target_sequence, recombination_rate)\n",
        "    return best_fitness, best_chromosome, new_population\n",
        "\n",
        "def main( target_sequence, mutation_rate, recombination_rate, alphabet):\n",
        "    print_parameters()\n",
        "    population = create_population(population_size, target_sequence, alphabet)\n",
        "    # print(population)\n",
        "    generation = 0\n",
        "    best_chromosome = ''\n",
        "    best_fitness = 0\n",
        "    print(\"Generation, best_chromosome and best_fitness\")\n",
        "    while best_fitness < len(target_sequence):\n",
        "        generation += 1\n",
        "        best_fitness, best_chromosome, population = run_one_generation(population, target_sequence, mutation_rate, recombination_rate, alphabet)\n",
        "        print(f\" {generation}  {best_chromosome} {best_fitness}\")\n",
        "    print(f\"\\nTarget sequence matched in generation {generation}!\")\n",
        "    print(f\"Final chromosome: {best_chromosome}\")\n",
        "    totalCost = population_size * generation\n",
        "    print(f\"Total cost = population size * number of generations: {totalCost}\")\n",
        "\n",
        "# Silence this line if you want to run the code\n",
        "# in the cell below that was developed by Gemini.\n",
        "main( target_sequence, mutation_rate, recombination_rate, alphabet)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "-OMp66i7LZzL"
      },
      "source": [
        "**Exercise.** Run the code, follow the output until the target string is matched, and verify that it correctly solves the Shakespeare Challenge.\n",
        ">\n",
        "> *Answer.* The algorithm includes recombination. It solves the problem step by step. This means that the best in a population generated at random may contain some matches by mere randomness. From here, more matches are gained and the fitness, measured as the number of matched sites, always and softly increases until the task is accomplished.  "
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "KIXhLilrL21U"
      },
      "source": [
        "## Let us digest the GA\n",
        "\n",
        "Colab has a service that explains the code. One can invoke it over the three-points-menu at the upper right of the code cell, and clicking on the option of explaining the code. Besides, one always can test what the code does by running it. We apply the dictum that says: *A tree (which is built by a genome, that is a piece of software) is known by its fruits*. In our case, the code consists of segments, which can be run to be tested. Most segments in Python encode for functions. Segments are also informally called methods, although these have a technical definition.\n",
        "\n",
        "**Exercise.** Look at the output of the previous program, detect the lines that report the date and the parameters and identify the lines of code that produce them.\n",
        ">\n",
        "> *Answer.* Date and parameters are printed by the function `print_parameters()`.\n",
        "\n",
        "**Example.** Let us develop a program to show what the method `test_create_population(population_size, target_sequence, alphabet)`does.\n",
        ">\n",
        "> *Answer.* The following code tests the method `test_create_population(population_size, target_sequence, alphabet)`"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "gx7nZx2_Ghfw",
        "outputId": "32346f53-9ff3-4268-d251-d9d20c8f5785"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "['IjiEonlymXuP.xDvxCOaCDYd OOIf',\n",
              " 'FRRwfWYrLujqNnFYw.afxODsnylxp',\n",
              " 'eURDGBQUHgaRA.pOqBdaCzLulVmKp',\n",
              " 'zfoWCA.ZIIDnJdrbBRTnacCKNhaeq',\n",
              " 'nEpTf eV,Zv,JEf KGfnTkZUmhlyC',\n",
              " 'xe,JXAPzlrFOtLEGHImFGdpPVmiow',\n",
              " 'yuuMZOkyTvEifqPg.xnvsrKKPTGZj',\n",
              " 'ZxGtmvAx,Jf.zeblnOuecSKcpZMwv',\n",
              " 'wntKviPKYEyxraIJBoTLKwpcWgxjH',\n",
              " 'SS iVwcdaXxDpdaxw bLpnsJsHDDn',\n",
              " 'kN bSMoifuXsobDdzh HALPgWYsoB',\n",
              " 'QFDqzp,RSyiLaRbJUjVzjFYfTIDkQ',\n",
              " 'sZnbxlBfuROadXrcY IgEYVVnMNyq',\n",
              " 'Dhp.aL.gPsMarjLvLhBruhWPCFuf,',\n",
              " 'PQKDEYTNLVitqxCjZlTfGVYLnHUgV',\n",
              " 'AHMLZm RxDboILZmUKQIxu.CouiLD',\n",
              " 'r.DfF.yveJAFcMyu LVXpjjchPopX',\n",
              " 'rdOCkyTqRVXMItOnbnkyGOvEYfbVH',\n",
              " 'qXAOBvtnuSyHuKZjvhvuZRYqCKJMN',\n",
              " 'JbHJNdNGoTi.XocxqeFKkoVRPmWTW',\n",
              " 'CoQgFckKqJTiyuFDUsfiPQRRbKUVV',\n",
              " 'arMZgYSrOHDwwqsdeOjtuJwVDfIx ',\n",
              " 'EOzpwKFhF SkiffbxXEmSyKQMrfeC',\n",
              " 'UBWSnsVzdqbHLJYhFeCwAXFsstnEV',\n",
              " 'dtvzCt,wuAHKWMnBzkrGoPlJkTPyC',\n",
              " 'FfgFG.NbICPyqTyJhRMatBpfuMKbN',\n",
              " 'PrSDmZXrGqgw XObOEZOdvBXoiShs',\n",
              " 'ZhcXMiEOaDNit WkACzNetnJbe,L ',\n",
              " 'csDDRlYsTNgvaHkvSbweAqaowqfqH',\n",
              " 'bWqLoPMlr.VT.xgEnq,vBLzmDWMbF',\n",
              " 'QlNszxHBxJNCwob,fIJuRDHcGcmIe',\n",
              " 'bYzZiTswGtoR.WLEQyKrwOyjpXAEn',\n",
              " 'VeSjnPqYzTbFZcskdwhchiqUPihlb',\n",
              " 'LbnPtStVETR,psrKUgzEGvNFBXRcE',\n",
              " 'PrjKDYQGMJFxlplLjXOcSI dMImbd',\n",
              " 'eno toezjQ wMDXwJDFLdQgGbwYLL',\n",
              " 'DEV  WrqlCK.vhnvlMWFNW,UEUnyy',\n",
              " 'FfDAiGskCQoSiImmOSIeuBnzgKkMM',\n",
              " 'EV,urrAcbtmDaGwOnxTTQcGMajXJF',\n",
              " 'Ses,ueJNrviSbllgq,zwSL.NrgusW',\n",
              " 'wiu.yXPkaikpZUSQVAoJT l,wb.lA',\n",
              " 'DrFGJEzCAjPkHlpxNqnzywCk,hsI.',\n",
              " 'cfDNErws TeCREL,jStZUOQPiUpYJ',\n",
              " 'crvttzTjgJ,PIKLvQDPJwEcrtdWgs',\n",
              " 'tIKc Kjo,IFhB i ,SQmaEtAghHg ',\n",
              " 'fygbVBcsBaPXiPFyoobDpwzap edO',\n",
              " 'qkDfI,imNIu,Z,KUGHihicleOqJnv',\n",
              " 'zvuEnNevOGGupwfFlvzKoZiaHxsGp',\n",
              " 'JCWRfa.kykGdJJkEILunzojiweGCT',\n",
              " 'PhgmXMvsZKRLWAqhKIxqSLPiJPoKN',\n",
              " 'fu.ipmGEdLgeWAAONQJbzlKlKrILz',\n",
              " 'OITMXZrjbHhcFzcjDvqN xPfGuyQS',\n",
              " 'jCmRXCWAAqJDUgktOlpNxTfLNhCAl',\n",
              " 'IiS odlKVUJzFxtzKJtSkVKnODJvH',\n",
              " 'BOKJuQEyAmGcEbLXDwJBcWriIrMkc',\n",
              " 'm IcHU,r,aWIRHkCAQHZbTyPPRuZy',\n",
              " 'LZiLJyxIvdkArPCEha.RiBIULjUee',\n",
              " 'RSECXWJLUJQBAuZcpebSIua.LnvXc',\n",
              " 'unsqcVCPO AkEMS.ASrxFdXcPbbVx',\n",
              " 'TuK.tKgqFlGlwfwDul.CSoPZSSIMo',\n",
              " '.ThhevxhUEUkgx rtwiIIMSqeAtFq',\n",
              " 'NMUBMmirnppProZVMucHjlKXqJ,gc',\n",
              " 'FmkfeBfXCcdULlAeXZRxwqVnNkwSE',\n",
              " 'zCJhlTs mSXQvkK.feCJlFDONKUpY',\n",
              " 'KxdEQI ShYj.dKUrcYrp,uS Imy.w',\n",
              " 'TLsVgPqCQs,.fpXSGddKleQNyqxCi',\n",
              " 'gCXoCHOeJGXmthictNBCippShCRwo',\n",
              " 'XGADvvERlM.TSnwv,aU,NAdsiWFtA',\n",
              " 'iTTytaTvjHJXvchBfGouHaeWnaXAU',\n",
              " 'EMHyjsUPaSPmowaUEerqOLyBTTdA.',\n",
              " ' OAlWmDADBDholOMnwbV.pIDStgNp',\n",
              " '.Y EygXYvAyrLP,OCIIxOyPVZUyrJ',\n",
              " 'TrODgoqk.mvXG.gOsjTNWtfDmLkjE',\n",
              " 'pUmaVvlLVLSmMLhLpexaBcyKccngN',\n",
              " 'gIMDcAoWjC.tMhJv.BHtxkmYDIwfj',\n",
              " 'ZfDwODorEMTAokcWYEINdrwhLpLzF',\n",
              " 'LF.iOXCCusKGYZzKsyuTCpjAyU,jK',\n",
              " 'PvulH HahJIRbjlmINHlgSk kwuVd',\n",
              " 'hayRUsgPkWsnhgYjjXVjDCWmxiyHQ',\n",
              " 'OdjdWiPgFYuoXoiPTNoJmqHTVGnXh',\n",
              " 'vPhNLasuVMkUsPnwmAAwUoyUWACiV',\n",
              " 'FkzmnWsUdiIGnBGnodfDyqbCURyaU',\n",
              " 'j yiv NNpLaftUyrKAbXji.rBY.oh',\n",
              " 'EQpydRmkzC.XhxqLpYAxOcJRjLuNn',\n",
              " 'BAiaRQVqfETUNOqpgy,gMPSVImDpW',\n",
              " 'DgxfuNWnHxvEPwHPwxCpDFFzK,nWd',\n",
              " 'VNqdW JuqZNyTojsZasKNhzdOEUpA',\n",
              " 'kHUcYAs WdmhcCXLzJTRSVjWOwxHs',\n",
              " '.xA eIqgzdYSVEm,vhVsNYyK RtAW',\n",
              " 'rDzdYMIgKvFtqLnoLzCsuBRghhprn',\n",
              " 'WuKXAbOYfgSOtPVyGQbHNmlxAxUGK',\n",
              " 'FUwmrugQJxkFCXeTqb,Unhx.asGcz',\n",
              " 'ZhQhGSGophrzULzNgDYtncFOREfNn',\n",
              " 'XBDaTfstHUTHewTKVfQaaeMSDYsSh',\n",
              " 'WShOntuJYJkFqejOfMvXMjJQRohZo',\n",
              " 'FJdgpvWA.qWU.ksFMOOflnXinnWXj',\n",
              " 'LbDHPzJeJsofpAkfkTUQwAgarpFws',\n",
              " 'VOVqpgMrVSpyYyamguCWyWMstlnjZ',\n",
              " 'KA,XLLvRFCRHuPbGuOZDKgxTgaIkP',\n",
              " 'nSeUcNEUdwioPiUWGFLuNrtXoqxXC',\n",
              " 'nAeQHfCllQJUbSmFQXXJyvWPmFWGj',\n",
              " 'qiEPRcBWdfuFAkCdvHGLJesMURjlM',\n",
              " 'SgI UVsuoCAsSsDTRIKEUicDsWbE.',\n",
              " 'eKimvuYt.waRtzUYqByJkgDYPrFRZ',\n",
              " 'Jh.obawPVQuRRWc,IdiUnfYMfGWOm',\n",
              " 'EdlAxgcStIFtthAdiLCbSPvWQCIii',\n",
              " 'CDUYpQUQJARL,hdxCMZ,IgAAKZClZ',\n",
              " 'kvocIpEPyBBjXKirpNMwzKTZnXgmF',\n",
              " 'mDSpS. xJJnLHAESL ,nSZQLGiyn,',\n",
              " 'EoLnIHCoqdIGpldFSklwjwlx,hYYz',\n",
              " 'AT ykovg.BBmUDQfXlEKVjFfAWmWw',\n",
              " 'baCDYtb,OfgIXVFohXGDBPWUsryLv',\n",
              " 'QhuRaaKObMhjHQV.MJrObtuPWr.al',\n",
              " 'ITSXbDzWZCbNYuCHLQKUFVIlKHzqZ',\n",
              " 'DSLVhpDvyDLDLbCWRZZBjPIU.XjeT',\n",
              " 'ctvEKPGqBHAAMnvfduJgkfk.ZXGSv',\n",
              " 'VuuM.TtTnsDHhNUccavZQf FhlaIv',\n",
              " 'WebSNCtmDvMKPEVn sXbcFLfzAy.y',\n",
              " 'KLncL,kjsMK.ciduPyhEAGCcjH LD',\n",
              " 'VbeJTrYhvZGKv eVLBShpJhnqSiii',\n",
              " 'YIWMNnEycPqHCU.eCsBdAN,LlMz K',\n",
              " ' PbuHGXWLuMftiErztWINRXcJGfpI',\n",
              " 'jeiWHn zStZvMFwlWDmWeFOuLbeNe',\n",
              " 'EDTOWyZwjxFIkIyyqAllhqGKlAATa',\n",
              " 'RflaqFjNHTybwcY,baTpJuyjPyI.d',\n",
              " 'wsxYFXn vHiYRsaQM.aGCknvPETtp',\n",
              " 'rWNHfdpdIltJwebAUKlnFFfAGTbQl',\n",
              " 'uOpUB,lcmqUVqgBEdRevySaaXWKYZ',\n",
              " 'pXnlMUnZwGgvnRfjQ cdKt,VWRGGi',\n",
              " ',sfpTvTAICkqhVxNUQRmWFvCaBrey',\n",
              " 'hGeOUYUDgeruTYRLCzHa,qUqMESsG',\n",
              " 'zBAoNIAFMBgLMMDXInzohaiZvWURo',\n",
              " 'qoIHdi,UwENN,vtAHcmazqCyLJekR',\n",
              " 'izjqFrscAnhhUtMbB KyNDyU,BoWh',\n",
              " 'uQFsfKH,nVILVspvdhIdgBkNIxFyU',\n",
              " 'xCZsqUmiafyrALkiEaKhLIIHEBYOy',\n",
              " ' uKhbAktFhLipuourgGDGOcTAArQk',\n",
              " 'jlmHABYBbsDxFVjjnEUTczGJxdNWL',\n",
              " 'vnHk RpKsmzEWALpQdbxsMTdiiNfP',\n",
              " 'gVeurnLAXAlpu.Q,o SdAKDZonXzO',\n",
              " 'BHEXiWftn,El.KZPOolndJuzPR AV',\n",
              " 'Ubytmhsrb.bCsxIikTCRMDZrjyRDC',\n",
              " 'XDdfxtpycIyzEjtzuqqzarErqqBll',\n",
              " 'elxwfyEFc CtPcUFNpWMJdf,pfpom',\n",
              " 'AKrWIbRKDy.hxR,UI MWnsl.NWHon',\n",
              " 'NycXmbzx,JJUWMJqcGzyAEbGXQtdj',\n",
              " 'lqeKrIvT.x,e.zvSyPDoLYuFuoowq',\n",
              " 'UGfDVawyBCckJUywtSQtdDHYBf XT',\n",
              " 'kHAxyBGbFxPHIRFYweZGcKJbTEGxl',\n",
              " 'CqrKdQGCS ESbHXLPzQXvQItZhBkN',\n",
              " 'mpnBMjXfQ,bG.eKKyf dEeXSPoac.',\n",
              " 'upQPwUeICyNpsZRfSmGadeUqyuUVq',\n",
              " 'aRaDDeCtGzXT.WgNJJCOK GeeETPp',\n",
              " 'LP,zON ksDkZ gYSJnJoM.ypGJtvX',\n",
              " 'jdTCwk.sDgAtBSLZb rhUUsLMKkuX',\n",
              " 'uUnXNVjiSD,dPGzQxSFYhB P,TBTs',\n",
              " 'Zllwjxpst,KhmgZpBNY bBXGxT oH',\n",
              " 'nhj.gb,eDqRTekVadLWPgxazLBQVM',\n",
              " 'fRwVJnYARHmx.Ko plTXccW BMINq',\n",
              " 'IL.yZozhKwdoIZoHSLu,DwBAelwAW',\n",
              " 'TOKzpAs ChTwAYGWoeRUZigWBGGhB',\n",
              " 'BsiSINvJqhVpBdTpGQrXxdv,gsdek',\n",
              " 'wPvyKweyKodOwaVpMX svdzjgtjgL',\n",
              " 'YDBuecPrJczPs.oKlOkSFluCA,XiG',\n",
              " 'GtuHfqLyws,TLaHmBYGawXdJiagQT',\n",
              " 'UixWJFe,RoffQoNzrCrbXYyUHbiHp',\n",
              " 'B.tBIqeMLSPjsQAMTivFTRjuntcIY',\n",
              " 'eI.XwNMxlvGcGauNIxhLbChzYzDFU',\n",
              " 'tJpk,uijO dOZBjFirWEa cKM XQy',\n",
              " 'qj,LiJdPDfaprJwZUrqZSLeRfHSkg',\n",
              " 'EINy TYpFilPDjqURkALZwF.wStsW',\n",
              " 'peDwwWeqHaBnXUbXjMmrUuGpRYsc ',\n",
              " 'wDnyENfWjsb.GeOppNAqLcpEkSpRU',\n",
              " 'rTRcSJtGgB.JGzhlSfzpzvdCiSeDL',\n",
              " 'vlpSRtKHgNZSpoMsEEHMCpfVEshhM',\n",
              " 'ESVCpiNhChF.YSqqalZeV VEvULWU',\n",
              " 'RszMGIycVaZhcXAjMjjV,UFRCyL.i',\n",
              " 'yXswfWhmzuidn.zUhATXexdYQuEMe',\n",
              " 'jOXHrCaegI KxQJWztv,fk. rPFjx',\n",
              " 'Zl,HGbDdC,afniojBGMcXaypjGdym',\n",
              " 'eMEpLRWTKJvjKQwaLYikKHTuBJbfw',\n",
              " 'uvahtCTIxIWMUoKNhEbLQMvzETLVl',\n",
              " 'KiZLwRqRL,mshR,sXAbfP.hlqpZOd',\n",
              " 'ypVoyIhzEpB,. sGc,wrSj,rJkSQG',\n",
              " 'rFSBG VmXJhtS.FA,kcMJhovv,dG ',\n",
              " 'OTPvjKDyktzInaA.mlFkoEHCwmhTG',\n",
              " 'BattTeOyotDcTAFkQmcipnkowdHoi',\n",
              " 'xZoxrdutIiUDQKuX.QBSYetp,MhWZ',\n",
              " 'Mw.KxBRTquZXbCFLMJCJstFgJKwDW',\n",
              " 'RLLBixfZOEwJndDmdccOxlkDgBGfX',\n",
              " 'NKrgvfZIusjE gtpJFAFQR EGONiH',\n",
              " 'UvbqcJXOQGbnKIcnAyi,zaTWeLqKd',\n",
              " 'VVTLBLbxXKgefyoyH KQUnumqkRxF',\n",
              " 'bqnZiPHxmIzsjSYQPByYpWmupwKC ',\n",
              " 'oFsqz,O,Mi,.oHfimCtmtQeoyAV,M',\n",
              " 'uNWALSbInCsNkwykYfuQxlZQXoSuo',\n",
              " 'QViT,RJWzboBR oYeBsWBtZDYXyrU',\n",
              " 'ejwPKevNgJxkiQaTjhjboFsLKYUwu',\n",
              " 'ezTQIhRGldjVQVeGLlRpQkPipeStf',\n",
              " 'Xc,MnfIR OXIGRoHrRzt.CEPfaJlG']"
            ]
          },
          "execution_count": 2,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "# Program test_create_population.py\n",
        "import random\n",
        "\n",
        "# This is the string to be matched\n",
        "target_sequence = 'Methinks it is like a weasel.'\n",
        "population_size = 200\n",
        "alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "\n",
        "def create_population2(population_size, target_sequence, alphabet):\n",
        "    \"\"\"Creates a new population with random chromosomes.\"\"\"\n",
        "    # print(\"create_population(population_size, target_sequence, alphabet)\")\n",
        "    population = []\n",
        "    for _ in range(population_size):\n",
        "        random_string = ''.join(random.choice(alphabet) for _ in range(len(target_sequence)))\n",
        "        population.append(random_string)\n",
        "    # print(\"initial population\")\n",
        "    # print(population)\n",
        "    return population\n",
        "\n",
        "create_population2(population_size, target_sequence, alphabet)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "DTPKmjlJH_a0"
      },
      "source": [
        "*Comment.* A random string is certainly random. No meaning, no interest. However, it may contain some matches. So, it is predicted that randomness is a good candidate to produce incipient solutions to many problems, which then can be improved by Evolution or whatever. \n",
        "\n",
        "**Exercise.** Test the code that chooses the best.\n",
        ">\n",
        "> *Answer.* To choose the best, the population must be created, its fitness must be measured (fitness is the number of matched sites), and the MAX, the best, must be selected and singled apart. The `calculate_fitness(chromosome, target_sequence)` function compares two sequences, the first is the chromosome, or the tentative solution, and the second is the target. According to their similarity, a score is given to the chromosome. It says how near is the chromosome to the target, how near we are to the full solution. The code follows:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "_H5j-Ax_IdRH",
        "outputId": "ed931441-d362-4647-e72c-842cd28d8546"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "*create_population(population_size, target_sequence, alphabet)\n",
            "\n",
            "*calculate_all_fitness(population, target_sequence)\n",
            "\n",
            "\n",
            "\n",
            " *calculate_fitness(chromosome, target_sequence)\n",
            "cTLSOSykudFOECZqGdjscJZGIVWOG   fitness:  0\n",
            "Methinks it is like a weasel.  = target_sequence  \n",
            "\n",
            "\n",
            " *calculate_fitness(chromosome, target_sequence)\n",
            "WwuWfyPVsKRFfNP rJUE.OJzTiwUu   fitness:  0\n",
            "Methinks it is like a weasel.  = target_sequence  \n",
            "\n",
            "\n",
            " *calculate_fitness(chromosome, target_sequence)\n",
            "tYnNrqMLsKtQHhVzWl ZOCZmvlCqM   fitness:  1\n",
            "Methinks it is like a weasel.  = target_sequence  \n",
            "\n",
            "\n",
            " *calculate_fitness(chromosome, target_sequence)\n",
            "OwHe.diDCUVaw,wHzNUTehMgNca,X   fitness:  0\n",
            "Methinks it is like a weasel.  = target_sequence  \n",
            "\n",
            "\n",
            " *calculate_fitness(chromosome, target_sequence)\n",
            "DrOqKKhoufAoPuhUnWZNb,xcXLgeq   fitness:  0\n",
            "Methinks it is like a weasel.  = target_sequence  \n",
            "\n",
            "*select_the_best3(population)\n",
            "best_fitness =  1\n",
            "The best chro =  tYnNrqMLsKtQHhVzWl ZOCZmvlCqM\n"
          ]
        }
      ],
      "source": [
        "# Program that test selection_of_the_fittest.py\n",
        "# In colaboration with Gemini 2.5\n",
        "# This program solves the Shakespeare Challenge:\n",
        "# It must match a target string.\n",
        "\n",
        "import datetime\n",
        "import random\n",
        "\n",
        "# This is the string to be matched\n",
        "target_sequence = 'Methinks it is like a weasel.'\n",
        "population_size = 5\n",
        "alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "\n",
        "\n",
        "def create_population3(population_size, target_sequence, alphabet):\n",
        "    \"\"\"Creates a new population with random chromosomes.\"\"\"\n",
        "    print(\"*create_population(population_size, target_sequence, alphabet)\")\n",
        "    population = []\n",
        "    for _ in range(population_size):\n",
        "        random_string = ''.join(random.choice(alphabet) for _ in range(len(target_sequence)))\n",
        "        population.append(random_string)\n",
        "    # print(\"initial population\")\n",
        "    # print(population)\n",
        "    return population\n",
        "\n",
        "def calculate_fitness3(chromosome, target_sequence):\n",
        "    \"\"\"Calculates the fitness of a chromosome based on its similarity to the target sequence.\"\"\"\n",
        "    print()\n",
        "    print(\"\\n *calculate_fitness(chromosome, target_sequence)\")\n",
        "    fitness = 0\n",
        "    for i in range(len(chromosome)):\n",
        "        if chromosome[i] == target_sequence[i]:\n",
        "            fitness += 1\n",
        "    print(chromosome, \"  fitness: \", fitness)\n",
        "    print(target_sequence, \" = target_sequence  \" )\n",
        "    return fitness\n",
        "\n",
        "def calculate_all_fitness3(population, target_sequence):\n",
        "    print(\"\\n*calculate_all_fitness(population, target_sequence)\")\n",
        "    print()\n",
        "    \"\"\"Calculates the fitness of all chromosomes in the population.\"\"\"\n",
        "    fitness_scores = [calculate_fitness3(chromosome, target_sequence) for chromosome in population]\n",
        "    # print(\"fitness_scores: \", fitness_scores)\n",
        "    return fitness_scores\n",
        "\n",
        "def select_the_best3(population, target_sequence):\n",
        "    \"\"\"*Selects the best chromosome for reproduction.\"\"\"\n",
        "    fitness_scores = calculate_all_fitness3(population, target_sequence)\n",
        "    best_fitness = max(fitness_scores)\n",
        "    best_chromosome_index = fitness_scores.index(best_fitness)\n",
        "    best_chromosome = population[best_chromosome_index]\n",
        "    print(\"\\n*select_the_best3(population)\")\n",
        "    print(\"best_fitness = \", best_fitness)\n",
        "    print(\"The best chro = \", best_chromosome )\n",
        "    return best_fitness, best_chromosome\n",
        "\n",
        "def test3(population_size, target_sequence, alphabet):\n",
        "    population = create_population3(population_size, target_sequence, alphabet)\n",
        "    select_the_best3(population, target_sequence)\n",
        "\n",
        "test3(population_size, target_sequence, alphabet)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "eodVissuMZBo"
      },
      "source": [
        "*Comment.* Many random strings have 1 or more matches with the target string.\n",
        "\n",
        "Evolution results from the recurrence of one simple procedure that conforms to one cycle or generation. Thus, we need a method to create the population of the next generation. We opt for the simplest solution: only the fittest reproduces. Like in wolves. The virtue of simplicity is that the corresponding mathematical model will be also simple.\n",
        "\n",
        "**Exercise.** Test the method that clones the best.\n",
        ">\n",
        "> *Answer.* The following program test the method that clones the best to create the new population."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "6fAQtNGsMwAE",
        "outputId": "3cec60c0-08f7-4323-b100-602dfbdf6554"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "*create_population(population_size, target_sequence, alphabet)\n",
            "\n",
            "*calculate_all_fitness(population, target_sequence)\n",
            "\n",
            "\n",
            "\n",
            " *calculate_fitness(chromosome, target_sequence)\n",
            "XNIbkWeGnkMREPsg.NyLR CfCuTsn   fitness:  1\n",
            "Methinks it is like a weasel.  = target_sequence  \n",
            "\n",
            "\n",
            " *calculate_fitness(chromosome, target_sequence)\n",
            "wgAzCChDGXffO,.gqHVsyqtpmiysB   fitness:  0\n",
            "Methinks it is like a weasel.  = target_sequence  \n",
            "\n",
            "\n",
            " *calculate_fitness(chromosome, target_sequence)\n",
            "ezpzuWGIsGpZpMDFoYxfbNiSuoZs    fitness:  0\n",
            "Methinks it is like a weasel.  = target_sequence  \n",
            "\n",
            "\n",
            " *calculate_fitness(chromosome, target_sequence)\n",
            "CHMpYWQDvM.OKTbmizCTncqaT.My    fitness:  1\n",
            "Methinks it is like a weasel.  = target_sequence  \n",
            "\n",
            "\n",
            " *calculate_fitness(chromosome, target_sequence)\n",
            "dFUaxurGWxsBwlYaWJykshUnU fli   fitness:  1\n",
            "Methinks it is like a weasel.  = target_sequence  \n",
            "\n",
            "*select_the_best4(population)\n",
            "best_fitness =  1\n",
            "The best chro =  XNIbkWeGnkMREPsg.NyLR CfCuTsn\n",
            " best_chromosome XNIbkWeGnkMREPsg.NyLR CfCuTsn, best_fitness 1\n",
            "\n",
            "Clonedpopulation\n",
            "['XNIbkWeGnkMREPsg.NyLR CfCuTsn', 'XNIbkWeGnkMREPsg.NyLR CfCuTsn', 'XNIbkWeGnkMREPsg.NyLR CfCuTsn', 'XNIbkWeGnkMREPsg.NyLR CfCuTsn', 'XNIbkWeGnkMREPsg.NyLR CfCuTsn']\n"
          ]
        }
      ],
      "source": [
        "# Program test_cloning_of_the_fittest.py\n",
        "# In colaboration with Gemini 2.5\n",
        "\n",
        "\n",
        "import datetime\n",
        "import random\n",
        "\n",
        "# This is the string to be matched\n",
        "target_sequence = 'Methinks it is like a weasel.'\n",
        "population_size = 5\n",
        "alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "\n",
        "\n",
        "def create_population4(population_size, target_sequence, alphabet):\n",
        "    \"\"\"Creates a new population with random chromosomes.\"\"\"\n",
        "    print(\"*create_population(population_size, target_sequence, alphabet)\")\n",
        "    population = []\n",
        "    for _ in range(population_size):\n",
        "        random_string = ''.join(random.choice(alphabet) for _ in range(len(target_sequence)))\n",
        "        population.append(random_string)\n",
        "    # print(\"initial population\")\n",
        "    # print(population)\n",
        "    return population\n",
        "\n",
        "def calculate_fitness4(chromosome, target_sequence):\n",
        "    \"\"\"Calculates the fitness of a chromosome based on its similarity to the target sequence.\"\"\"\n",
        "    print()\n",
        "    print(\"\\n *calculate_fitness(chromosome, target_sequence)\")\n",
        "    fitness = 0\n",
        "    for i in range(len(chromosome)):\n",
        "        if chromosome[i] == target_sequence[i]:\n",
        "            fitness += 1\n",
        "    print(chromosome, \"  fitness: \", fitness)\n",
        "    print(target_sequence, \" = target_sequence  \" )\n",
        "    return fitness\n",
        "\n",
        "def calculate_all_fitness4(population, target_sequence):\n",
        "    print(\"\\n*calculate_all_fitness(population, target_sequence)\")\n",
        "    print()\n",
        "    \"\"\"Calculates the fitness of all chromosomes in the population.\"\"\"\n",
        "    fitness_scores = [calculate_fitness4(chromosome, target_sequence) for chromosome in population]\n",
        "    # print(\"fitness_scores: \", fitness_scores)\n",
        "    return fitness_scores\n",
        "\n",
        "def select_the_best4(population, target_sequence):\n",
        "    \"\"\"*Selects the best chromosome for reproduction.\"\"\"\n",
        "    fitness_scores = calculate_all_fitness4(population, target_sequence)\n",
        "    best_fitness = max(fitness_scores)\n",
        "    best_chromosome_index = fitness_scores.index(best_fitness)\n",
        "    best_chromosome = population[best_chromosome_index]\n",
        "    print(\"\\n*select_the_best4(population)\")\n",
        "    print(\"best_fitness = \", best_fitness)\n",
        "    print(\"The best chro = \", best_chromosome )\n",
        "    return best_fitness, best_chromosome\n",
        "\n",
        "def clone_population4(best_chromosome, population_size):\n",
        "    \"\"\"Creates a new population by cloning the best chromosome.\"\"\"\n",
        "    return [best_chromosome] * population_size\n",
        "\n",
        "\n",
        "def test4(population_size, target_sequence, alphabet):\n",
        "    population = create_population4(population_size, target_sequence, alphabet)\n",
        "    # Calculate fitness scores for the current population\n",
        "    best_fitness, best_chromosome  = select_the_best4(population, target_sequence)\n",
        "    print(f\" best_chromosome {best_chromosome}, best_fitness {best_fitness}\")\n",
        "    # Clone the best to build the new population\n",
        "    cloned_population = clone_population(best_chromosome, population_size)\n",
        "    print()\n",
        "    print(\"Clonedpopulation\")\n",
        "    print(cloned_population)\n",
        "\n",
        "test4(population_size, target_sequence, alphabet)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "wiUrKDY1L2T4"
      },
      "source": [
        "*Comment.* Just as promised, the best is selected and cloned to produce the new population. \n",
        "\n",
        "Let us consider now the sources of variability: mutation, that changes single characters, and recombination or cross-over, that interchanges information between chromosomes that are strings that represent tentative solutions.\n",
        "\n",
        "**Example.** Test the code that produces mutation.\n",
        ">\n",
        "> *Answer.* The following program tests the code that produces mutation. We see how a probability is simulated:\n",
        ">\n",
        "> The method `random.random()` generates a number in the interval (0,1) with a uniform distribution. This means that all numbers in this interval have equal probability. Or, if you love rigor, that the probability of a number to fall in a given subinterval is proportional to its length and for the whole interval (0,1), it is one. In consequence, the instruction\n",
        ">>\n",
        ">> ` if random.random() < mutation_rate`\n",
        ">>\n",
        "> is executed as follows: a random number in the interval (0,1) is thrown. If it falls in the interval $(0,mutation\\_rate)$, whose length is $mutation\\_rate$, the instruction below the `if` is executed. Otherwise, nothing is done. Therefore, the probability of executing that instruction is precisely $mutation\\_rate$.\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "jogP8_oRQ1KV",
        "outputId": "bcb72adb-9600-4883-bff5-b40e701ba065"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Original (first line) and mutated population (second line):\n",
            "['zxDc,dUGTwAAkiWoeBBRQvUTgSKFN', 'FzWrpEIvuMgfbQHikvszxnabKLcXv', 'zPbUieQHpSzaLVqdmnIlXSTBRfDWm', 'arINOANBtnE WfvtJLKAqXTPIqfMo', 'lczKrdvdgnlsJu,iuYwuGLDQRvjWk']\n",
            "['zxDc,dUGTVAAkIWoeBiRXpUTgSKA.', 'FjvFpERveMrfbQHikvszxZajKLcSv', 'zcbZieQHpSzQLVqdmnQaXSTBRfDWm', 'ardNOANNtnE WfvtJLKAaXTPvqfGo', 'lczKANvHgJlsJu,iuzwuGLDQRajWm']\n"
          ]
        }
      ],
      "source": [
        "# Program test_mutation.py\n",
        "# In colaboration with Gemini 2.5\n",
        "\n",
        "\n",
        "import datetime\n",
        "import random\n",
        "\n",
        "# This is the string to be matched\n",
        "target_sequence = 'Methinks it is like a weasel.'\n",
        "population_size = 5\n",
        "mutation_rate = 0.3\n",
        "alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "\n",
        "def create_population5(population_size, target_sequence, alphabet):\n",
        "    \"\"\"Creates a new population with random chromosomes.\"\"\"\n",
        "    # print(\"create_population(population_size, target_sequence, alphabet)\")\n",
        "    population = []\n",
        "    for _ in range(population_size):\n",
        "        random_string = ''.join(random.choice(alphabet) for _ in range(len(target_sequence)))\n",
        "        population.append(random_string)\n",
        "    # print(\"initial population\")\n",
        "    # print(population)\n",
        "    return population\n",
        "\n",
        "\n",
        "def mutate5(chromosome, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates a chromosome.\"\"\"\n",
        "    mutated_chromosome_list = list(chromosome)\n",
        "    for i in range(len(mutated_chromosome_list)):\n",
        "        if random.random() < mutation_rate:\n",
        "                mutated_chromosome_list[i] = random.choice(alphabet)\n",
        "    return \"\".join(mutated_chromosome_list)\n",
        "\n",
        "def mutate_all5(population, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates all chromosomes in the population.\"\"\"\n",
        "    mutated_population = []\n",
        "    for chromosome in population:\n",
        "        mutated_chromosome = mutate5(chromosome, mutation_rate, alphabet)\n",
        "        mutated_population.append(mutated_chromosome)\n",
        "    return mutated_population\n",
        "\n",
        "def test5(target_sequence, mutation_rate,  alphabet):\n",
        "    \"\"\"Runs one generation of the genetic algorithm.\"\"\"\n",
        "    population = create_population5(population_size, target_sequence, alphabet)\n",
        "    mutated_population = mutate_all5(population, mutation_rate, alphabet)\n",
        "    print(\"Original (first line) and mutated population (second line):\")\n",
        "    print(population)\n",
        "    print(mutated_population)\n",
        "\n",
        "test5(target_sequence, mutation_rate, alphabet)\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "fkco-SXbRPGY"
      },
      "source": [
        "*Comment.* One can regulate the frequency of mutation with the mutation rate. The frequency of mutants is proportional to it.\n",
        "\n",
        "**Exercise.** Develop a test for recombination.\n",
        ">\n",
        "> *Answer.*  Our test for recombination prints two incoming sentences and the output or recombinant:\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "sxTG1MyRvMCR",
        "outputId": "528ed706-4021-4843-d24c-e66840670413"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Incoming parent 1 and 2,  output string\n",
            "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA   parent1\n",
            "00000000000000000000000000000000000000000000000000   parent2\n",
            "AAAAAAAAAAA000000000000000000000000000000000000000   recombinant\n"
          ]
        }
      ],
      "source": [
        "# Program test_recombination.py\n",
        "\n",
        "parent1 = 'A'*50 #50 copies of A\n",
        "parent2 = '0'*50 #50 copies of 0\n",
        "target_sequence = 'Methinks it is like a weasel.'\n",
        "recombination_rate = 0.9\n",
        "\n",
        "def crossover6(parent1, parent2, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover between two parent chromosomes.\"\"\"\n",
        "    if random.random() < recombination_rate:\n",
        "        # A place for recombination is chosen at random\n",
        "        crossover_point = random.randint(0, len(target_sequence))\n",
        "        # Recombinant = from parent1 take the substring from 0 to the crossover_point\n",
        "        # and concatenate from parent2 from the crossover_point to the end\n",
        "        return parent1[:crossover_point] + parent2[crossover_point:]\n",
        "    else:\n",
        "        return parent1\n",
        "\n",
        "print('Incoming parent 1 and 2,  output string')\n",
        "print(parent1, \"  parent1\")\n",
        "print(parent2, \"  parent2\")\n",
        "recombinant = crossover6(parent1, parent2, target_sequence, recombination_rate)\n",
        "print(recombinant, \"  recombinant\")\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "vOuriNvBuiv0"
      },
      "source": [
        "*Comment.* The implemented recombination procedure is the simplest one because it has only one pivot. More complex ones would have various pivots, whose maximal number is the length of the strings. \n",
        "\n",
        "**Challenge.** Develop a test for a fundamental cycle or generation.\n",
        "\n",
        "**Challenge.** Develop a test for recurrence of the fundamental cycle, i.e., various generations.\n",
        "\n",
        "**Challenge.** Develop a test for achieving perfection. "
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "dgG97l7p1WVr"
      },
      "source": [
        "## Graphic\n",
        "\n",
        "We need to see the overall effect of Evolution over the fitness of the best of each generation. Nothing better than a graphic. The purpose of adding a graphic is that the beholder must exclaim: **The Evolution works!** This was implemented by Gemini, and we appended its solution to our former program, which includes memorization of the best performance. We use here a binary alphabet that produces binary strings, of zeroes and ones."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 787
        },
        "id": "TUQcFRZUrFe8",
        "outputId": "0e134f1c-695e-440f-c939-5735e19b207c"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Lab: Simple Genetic Algorithm\n",
            "Purpose: solve an instance of the Shakespeare challenge\n",
            "Date of Experiment  = 2026-02-09 07:19:13.978416\n",
            "alphabet =  01\n",
            "target_sequence = 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111\n",
            "length_of_target_sequence = 800\n",
            "population_size = 200\n",
            "include_clone_population7 = True\n",
            "include_mutate_all7 = True\n",
            "include_crossover_all7 = True\n",
            "mutation_rate = 0.01\n",
            "recombination_rate = 0.01\n",
            "print_best_fitness = False\n",
            "\n",
            "Target sequence matched in generation 374\n",
            "Final chromosome: 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111\n",
            "Total cost = population size * number of generations: 74800\n"
          ]
        },
        {
          "data": {
            "image/png": "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WDRs2BDr1q3DgQMHcPjwYUyYMKHGz3ZVyvdTVftSq9UiOztbb3lN35mPPvooNm/erPsjsVGjRggLC8M333zzQDFaC16NZaVsbW3Ru3dvJCQkICMjQ+8fY/llk/fPHePt7Q0AmDVrFkaMGFHpdlu0aGFUHOXb/O677xAUFGRU3+o0aNAA6enpRvfTarW6eVuqyvHLL7/E4sWLK11X/kVVXsTdKzMzU+/ojpeXFzIyMiq0u379OoC/35tyMpmsxvjrs+eee07vh88UV7/UBm9vb7Rt2xbz5s2rdH15wQEA48ePx/jx43H37l388ssvmD17NmJiYnDu3DkEBQXByckJc+bMwZw5c3Djxg3dUZ7BgwdXWzQb89kYP3483n33XcTHx+Pxxx/Hjz/+iKlTp8LW1vaBcgIM/6xFRUXh9ddfx48//ojo6Gjdcnd3d11Rev+Pt7e3N7y8vPDTTz9Vuk0XFxeDXvv+bf7T/NatW4eQkBBs2LBBb71KpTI6nnLluVe1L21sbODh4WH0docOHYqhQ4dCpVLh4MGDWLBgAUaPHo3g4GB069btgeO1ZCx2rNisWbOwY8cOPP/88/juu+9qPGzdokULNGvWDMePH8f8+fNNEkO/fv1gZ2eHCxcuYOTIkdW2vfcvnJouhx8wYADeeust7N69G7179zY4np07dyI9PR0vvPACHnvssQrrX3zxRaxZswbz58+v9FRKly5doFQqsWHDBr1i6eDBg7h8+bJesdOnTx8sWLAAR44cQceOHXXL16xZA5lMhl69ehkc973u/0uwvggICKjwo2Nqpsg9JiYG27dvR2hoqME/RE5OThgwYABKSkowbNgwpKamVijefX19MW7cOBw/fhxLly5FYWEhHB0dK91enz59sGnTJly/fl3vPVuzZg0cHR31Lm9u1aoVunTpglWrVkGj0UClUmH8+PH/OCdDdOrUCdHR0fj888/x+OOP45FHHqmxT0xMDOLj46HRaNClSxeTxGGK/GQyGRQKhV6hk5mZiR9++KFC26qOhN6vRYsWaNiwIdavX48ZM2botn337l18//336NatW5WfAUMolUr06NED7u7u2LlzJ44ePcpipwosdqxY9+7d8dFHH2HKlCno2LEjnnvuObRp0wY2NjbIyMjA999/DwB6k/V9+umnGDBgAPr164dx48ahYcOGuHPnDk6fPo0jR47g22+/NSqG4OBgzJ07F2+88QYuXryI/v37w8PDAzdu3MChQ4d0fxkDQHh4OABg0aJFGDBgAGxtbdG2bVu9+YHKTZ06FRs2bMDQoUPx2muv4aGHHkJRURH27duHmJiYKguJlStXws7ODq+//nqlP8yTJk3CSy+9hG3btmHo0KEV1nt6emLatGlYsGABPDw8MHz4cKSnp2POnDnw9/fXO2//yiuvYM2aNRg0aBDmzp2LoKAgbNu2DR9//DH+9a9/oXnz5ka9l+XK36cPP/wQY8eOhVwuR4sWLR7oL2ZzY4rc586di8TERERGRuKll15CixYtUFxcjEuXLmH79u1YsWIFGjVqhGeffRYODg7o3r07/P39kZmZiQULFsDNzU03rqJLly6IiYlB27Zt4eHhgdOnT2Pt2rU1/sjNnj1bNw7lrbfegqenJ77++mts27YNixcv1hsDAwATJkzApEmTcP36dURGRlY4wmpoTg9i3bp16NevH/r27Ytx48ahX79+8PHxQV5eHk6cOIFdu3bpfYc88cQT+PrrrzFw4EC8/PLLeOihhyCXy5Geno49e/Zg6NChGD58uFExmCK/mJgYbNy4EZMnT8Zjjz2Gq1ev4u2334a/v3+F047h4eHYu3cvtmzZAn9/f7i4uFR6VNvGxgaLFy/GmDFjEBMTg0mTJkGlUuHdd99FTk4OFi5caFSeAPDWW28hPT0dffr0QaNGjZCTk4MPP/wQcrkcPXr0MHp7VkPqEdIkvWPHjonx48eLkJAQoVQqhb29vWjatKl45plnxM8//1yh/fHjx0VsbKzw8fERcrlc+Pn5id69e4sVK1bo2lQ1R0pV81Bs3rxZ9OrVS7i6ugqlUimCgoLEY489Jnbt2qVro1KpxP/93/+JBg0aCJlMZtA8Oy+//LJo3LixkMvlwsfHRwwaNKjClSPlbt68KRQKRbVXz2RnZwsHBwcxePBgvTzvn2fnnXfeEY0aNRIKhUK0bdtWbN26VbRr104MHz5cb3uXL18Wo0ePFl5eXkIul4sWLVqId999t9J5dt59990K8VR2RZIQZZe/BwQECBsbm0rnmrnf/XMAVbX/yq8YuXnzpt7ysWPHCicnpyrftwdh7Dw75f5p7kKUfRZeeuklERISIuRyufD09BQRERHijTfeEAUFBUIIIb766ivRq1cv4evrKxQKhQgICBCxsbHixIkTuu289tprolOnTro5qZo0aSJeeeUV3SXh1UlJSRGDBw8Wbm5uQqFQiHbt2lXItVxubq5wcHAQAMTnn39eaRtDcqrus1ad4uJisWzZMvHwww8Ld3d3YWdnJzw9PcUjjzwiFi1aJG7fvq3XXq1Wi/fee0+0a9dO2NvbC2dnZ9GyZUsxadIkcf78eV07U++zmvJbuHChbk6kVq1aic8//1z3mb/XsWPHRPfu3YWjo6NB8+xs3rxZdOnSRdjb2wsnJyfRp08f8dtvv+m1qerf1v3fMVu3bhUDBgwQDRs2FAqFQvj4+IiBAwfqXcZOFcmEEKJuyysi65OWloaWLVti9uzZeP3116UOh4jIqrDYITKx48eP45tvvkFkZCRcXV1x9uxZLF68GHl5eTh58mSlV2oREVHt4ZgdIhNzcnLCH3/8gZUrVyInJwdubm7o2bMn5s2bx0KHiEgCPLJDREREFo2TChIREZFFY7FDREREFo3FDhEREVk0DlBG2S0Crl+/DhcXF7Ofkp+IiMhaCCGQn5+PgIAAvUlb78diB2X3KLn/7sJERERkHq5evVrtLNksdvD3jeeuXr2qN635P6VWq5GQkIDo6Oga7ztlKawtZ2vLF7C+nK0tX8D6cra2fAHLyTkvLw+BgYE13hKGxQ7+vgOuq6uryYsdR0dHuLq6mvWHyRjWlrO15QtYX87Wli9gfTlbW76A5eVc0xAUDlAmIiIii8Zih4iIiCwaix0iIiKyaCx2iIiIyKKx2CEiIiKLxmKHiIiILBqLHSIiIrJoLHaIiIjIorHYISIiIovGYoeIiIgsmqTFTmlpKf7zn/8gJCQEDg4OaNKkCebOnQutVqtrI4RAXFwcAgIC4ODggJ49eyI1NVVvOyqVClOmTIG3tzecnJwwZMgQpKen13U6REREVA9JWuwsWrQIK1aswPLly3H69GksXrwY7777LpYtW6Zrs3jxYnzwwQdYvnw5Dh8+DD8/P0RFRSE/P1/XZurUqdi0aRPi4+Oxf/9+FBQUICYmBhqNRoq0iIiIqB6RtNg5cOAAhg4dikGDBiE4OBiPPfYYoqOj8ccffwAoO6qzdOlSvPHGGxgxYgTCwsLw1VdfobCwEOvXrwcA5ObmYuXKlXj//ffRt29fdOjQAevWrUNKSgp27dolZXpERERWT6MV2H3mhqQxSHrX84cffhgrVqzAuXPn0Lx5cxw/fhz79+/H0qVLAQBpaWnIzMxEdHS0ro9SqUSPHj2QlJSESZMmITk5GWq1Wq9NQEAAwsLCkJSUhH79+lV4XZVKBZVKpXuel5cHABAtW0LYVF//ifbtodm0SW+Z7fDhkB07VqGtrRCIVqlgq1RCyGTQvvwytFOn/t0gPx92bdtW+3rlSr//HujYUfdctm0bbF98seaOTk4oPXlSb5HNa6/BZsOGGrtqBwyA9uOP9ZbZdu0K2Y2qP7TlOWvffRfqp576e8XZs7Dr37/meAGUJiUB/v6657IvvoDtvHk19hPNmkGTkKAfzzPPQPbrrzX21U6YAO2bb+otswsJqbGfrRDw+te/oI6K+jvefftgO25cjX0BoDQtTe+5zdtvw+bLL2vsJx55BJo1a/RjiY6G7Pz5Gvtq3ngD4v/+7+8FGRmwi4w0LN6ffoK6SRMAZXdNln3zDWxff73meH19oTl4UG+ZzeTJsNmxo8a+2scfh3bhQr1ldmFhwN27NfbVLF8OMWjQ3wuOHIHdyJE19gOA0hMnABcXqNVqAIB4/32I5ctr7GfMd8T96st3BP79b0SvW6f77qoy3gf4jiinmT8f4skn/14g4XeE7S+/6H1X69oLgVKtAADcfuJp3Jg6U69v667hBsV7ZcknKOj2sO6584H9aPzKvwzqe+pgit5z36WL4RW/tsZ+BV0iceXDT/WWhT45DMq0C2VPBNCnpARCoUDJfbv4xkszcHv0WN1zu6xMNB8SBUNc+HojVKHNdM9dNn0LjzlvoVWpFkWOctjLbSvt96DfEeKeYS/VkbTYefXVV5Gbm4uWLVvC1tYWGo0G8+bNw5N//QPIzMwEAPj6+ur18/X1xeXLl3VtFAoFPDw8KrQp73+/BQsWYM6cORWWyzIyUP1N4oFsZ2f8un273rJH/vwTnteuVdweAId7np9PTsbZe/raFRZiUCX9KnNg715k35NPQFISOhvQV+3ggO33xdv+xAkEGdA389Qp/HFf3+jLl+Fw+3aVfcpzPpqcjCuenrrlLleuoLeBue5OTESxt7fueejhwwgzoG++jQ323BdvtzNn4GNA37Tjx5F6X9+hBvSTAbApLUViYqJuWYOjRxFpYK7375s2x4+jqQF9b545gwP39e114QJcDeh75vBhXAgI0D23v3UL/QyM99c9e5B/oezLMjExEY0PHUIHA/oWFxcj4b54O506hYYG9E0/cQLH7us78OpVyIuKaux7NCkJ1+/58fI4cwaPGphrws6dKHV01D2/eOwYWhrQ15jviPvVm++I1FQEVfPvvNyDfEeUSzl0CFfc3HTP6+I74rawwcr1+j+esSfPIOT6db3v6nIyAIq//n/b/rN4R6n/Y3wpM8OgeOduPI5fjv39c/voxeNYY2DfYZ/ov+Z/9p/F/xnQ9+Txi3jmvr4J566g+e2/+yru7/SX1YmnsDL3775+ebdw0MB4X/r6CM43+Hv/P378FBbl3Cx7UlB1vwf9jqjpN7ucpMXOhg0bsG7dOqxfvx5t2rTBsWPHMHXqVAQEBGDs2L+rStl9f1kIISosu191bWbNmoVp06bpnufl5SEwMBDC37/GIzvuTZti4MCBestsP/8coqDiXhRCQKVSQalUQiaToVlEBELv7ZufD9GwYbWvV65bz576f7UJYVBfOyenCvHa/PILxOnTNfb1a926Yq5BQRD29lX2Kc+5dUQEwu7te/aswbn2jorS/6vt+nWI+/4aq4xzaGjFeOPjIW7erLFvSLt2CLqvryHxCiGgtbNDVFQU5HJ5WbxOTgbnWmHfJCdDJCfX2M+7ZcuKuS5datBfOS07d0aLe/tmZBgc7yO9ekHdpAkSExMRFRUFRW4uxObNNfZT+vpWzHXrVoi//mipTqO2bRFwX1+7wEAIA47sdIiMRPt7+/r5GZxrdL9+uiM7iYmJaNK+PcT+/TX2M+Y74n715TsCe/ag6OhR3XdXVR7kO6Jc+EMPVfkdoRUCJaVVf5Y1jdpC6/33H8Fq/9Mo8vGrsr1aI3C3pBRpdh745LT+kYUWWjfYO3tV2Vcmk8FGBmhd3eDrqtRbl+XqXUUvfU6uTnp9nVydDO57/2tqXd0M6lvo5lGhb56bJ7LUhbrnVf1O2rm66PX1hL3B8bq7Ouj1Vbg647Z7A7ja28HOturf1wf9jhBaLZBRcyEmE0KIGlvVksDAQLz22mt44YUXdMveeecdrFu3DmfOnMHFixcRGhqKI0eOoEOHDro2Q4cOhbu7O7766ivs3r0bffr0wZ07d/SO7rRr1w7Dhg2r9AjO/fLy8uDm5obc3Fy4urqaLD+1Wo3t27dj4MCBuh9CS2dtOVtbvoD15Wxt+QLG5azRCiSeykRWvqradoYqKdVixb6LuFVgmu3dq6mPM+xsKinehEBefj5cXVyAe378I4I8MGtgKzgrJT0uUCss5XNt6O+3pHuwsLAQNvcdSbG1tdVdeh4SEgI/Pz8kJibqip2SkhLs27cPixYtAgBERERALpcjMTERsbGxAICMjAycPHkSixcvrsNsiIisy+0CFaZuOIZfz98y+bYbeTgg0MOx5oYGsLOVYVSnQAxpF1Dp+r9/+CPN+oefqiZpsTN48GDMmzcPjRs3Rps2bXD06FF88MEHmDBhAoCyw4dTp07F/Pnz0axZMzRr1gzz58+Ho6MjRo8eDQBwc3PDxIkTMX36dHh5ecHT0xMzZsxAeHg4+vbtK2V6RET1nhACPx6/jqNXcnTLtFotLl2yQfK2MxX+IL3XztRMZOQWw15ug57NfVDDKACDNfF2xgu9msJBUflgViJjSVrsLFu2DG+++SYmT56MrKwsBAQEYNKkSXjrrbd0bWbOnImioiJMnjwZ2dnZ6NKlCxISEuDi4qJrs2TJEtjZ2SE2NhZFRUXo06cPVq9eDVtb/kMhIsslhMD//riKAxdqHhBclcy8Yhy8eKeSNTb4JfNKjf2beDvh46c6oqWf6YYAEJmapMWOi4sLli5dqrvUvDIymQxxcXGIi4urso29vT2WLVumNxkhEZG5OJ2Rh4/2/In84lKj+uUUluB4eu4/fn07GxlGd2kMF/uynwStRos/L1xA09BQ2FQzqNTDUYHHOwfCxZ6nfqh+s7xRV0RE9YwQAhsOX8W3yeko1VS8yuhMZj5U1Vx9VB25rQz/90gTeDlVdSFx9WQyGSJDvdDK/+8jM2q1GtvV5zEwqhnHsJBFYLFDRFSJWwUqzP4xFSeu5qCw0Bbvnfm1xikvqlKq0eJ6bnG1bXo0b1DlANrqdGjsjiYNnB8oLiJrwWKHiKyCEALaaibaKNVq8d+fzyP+0FWUaLRQqbUo0R2FkeG2quZJDKtjayPD1D7N0KZhxbEtLvZyRDT2gE1ll0UT0T/GYoeILN7mo9cwZ0sqsgvVRvVr5uOMWQOaIyX5ELpFRsLO7sG/MgPcHODnVvNke0Rkeix2iMgsFJVocC2nsOaG9xACWJ10CV//XvNVRQDg5iDHnCFt0C7QHTIAgZ6O0GpKkX8O6BDozvErRGaKxQ4R1UtqjRap1/Og1miRnl2IOVtOIcfIIzPlZDJgSu9mGB8ZjOqG3Tgq7KCw07/6SKt5oJckonqExQ4R1QtCCBy7moOb+SpotALL9/yJ1Ot5em2cFLYVipGaeDop8GZMa/Rs4WPKcInIjLDYISJJ/HHpDi7e/PtmnkkXbmHzset6bZyVdvBxUQIyIKqVL6ZFN4fSjpOFEpFxWOwQUZ1SlWowb9tprDlQ8W7GNjLoxss08nDErIEt4e/mUPdBEpFFYbFDRCZ15Eo2dp26UeVl3kkXbuHEX7P+PtLMG4q/Zui1l9vimW5B6NLEq65CJSIrwWKHiP6xwpJSrPw1DeezCrD1xPVq57MByq56WvJ4O/Ru6Vs3ARKRVWOxQ0RGEwL4Nvkafjl/GwIC524UIO3W3+Nvolr7IsjTsdK+jgpbxHYORCOPytcTEZkaix0iMkqBqhRfnbfB0YOpessbuCjxdNcghDV05REbIqpXWOwQkcHO3cjH82v/wMXbNrCzkWFSjyYIcHeA3NYGfVr6wMtZKXWIREQVsNghomqVarT47+4/8e0fV3GrQAW1RsBNIfDZ2IfQJbSB1OEREdWIxQ4RVUkIgclfH0HCqRu6Zd1DvTDQ4wY6NnaXLjAiIiOw2CGiSuUWqbHpSDoSTt2Aws4G84aFISLIA43cFNixY4fU4RERGYzFDhHpEULg018u4r2dZ1H61zXk06OaY1SnQACAWv1g96ciIpIKix0i0rNs95/4IPEcAMBeboPuod6Y+HCIxFERET04FjtEhBPpOUi7dRd3VRos230eAPCfQa0w8eEQyKq7TTgRkRlgsUNkxdQaLRbuOIOV+9P0lke39mWhQ0QWg8UOkRU6nZGHxFM3sPdsFo5cyQEAdA72gMLOBu4OCsQNacNCh4gsBosdIisihMDag5fx9tZTUGvKBh+72NvhvVHt0K+Nn8TRERHVDhY7RFYgPbsQn/1yEedu5OPgxTsAgIebeqNNgCvGdAlCYy/ep4qILBeLHSILJYTA+kNXkJB6A8eu5iC3qOyScTsbGV4b0JJjcojIarDYIbJA+cVqzPzuBHaczNQta9vIDcPaN0S3UC+08neVMDoiorrFYofIwpzOyMPkr48g7dZdyG1lmNK7GVr6uaBHiwZQ2tlKHR4RUZ1jsUNkQb794yr+s/kkVKVaNHR3wEdjOqJ9oLvUYRERSYrFDpEFKFZrMPuHVGz44yoAoGeLBlgS2x4eTgqJIyMikh6LHSIzd+nWXfzr6yM4nZEHGxkwLao5JvdsChsbDj4mIgJY7BCZJSEEUq/n4XRGHuZuOYV8VSm8nBT475Md0L2pt9ThERHVKyx2iMxMbqEa0/53DD+fydIt6xzsgWVPdoSfm72EkRER1U8sdojMiFYrMGndHzh48Q4UdjYI8nRE/zA/vNSnGeS2NlKHR0RUL7HYITIjX/9+GQcv3oGD3BbfPt8NYQ3dpA6JiKjeY7FDZAa0WoHle/7Ekl3nAAD/7teChQ4RkYEkPe4dHBwMmUxW4fHCCy8AAMaNG1dhXdeuXfW2oVKpMGXKFHh7e8PJyQlDhgxBenq6FOkQmdyfWfmY/cNJxH56AB8knoMQwBOdAzE2Mljq0IiIzIakR3YOHz4MjUaje37y5ElERUVh1KhRumX9+/fHqlWrdM8VCv15Q6ZOnYotW7YgPj4eXl5emD59OmJiYpCcnAxbW84WS+brh2PX8Nr3KShSl/0bUdrZ4O1hYYjtFChxZERE5kXSYqdBgwZ6zxcuXIjQ0FD06NFDt0ypVMLPz6/S/rm5uVi5ciXWrl2Lvn37AgDWrVuHwMBA7Nq1C/369au94IlM7HRGHt5POIecwhKUaLQ4kZ4LAOjaxBO9WvigTytfNPVxljhKIiLzU2/G7JSUlGDdunWYNm2a3p2Y9+7dCx8fH7i7u6NHjx6YN28efHx8AADJyclQq9WIjo7WtQ8ICEBYWBiSkpKqLHZUKhVUKpXueV5eHgBArVZDrVabLKfybZlym/WdteVsqny/P3INs7echqpUq7d8co8meKl3KGz/miCwPryv3MeWz9pytrZ8AcvJ2dD4ZUIIUcuxGOR///sfRo8ejStXriAgIAAAsGHDBjg7OyMoKAhpaWl48803UVpaiuTkZCiVSqxfvx7jx4/XK1wAIDo6GiEhIfj0008rfa24uDjMmTOnwvL169fD0dHR9MkRVaFEA2y8ZIMDWWXD51q6adHNV0AGoIG9QICTtPEREdVnhYWFGD16NHJzc+Hq6lplu3pT7PTr1w8KhQJbtmypsk1GRgaCgoIQHx+PESNGVFnsREVFITQ0FCtWrKh0O5Ud2QkMDMStW7eqfbOMpVarkZiYiKioKMjlcpNttz6ztpwfNF+VWoMr2UWY/m0KTmfmQyYDXuoVisk9mtT72zxwH1s+a8vZ2vIFLCfnvLw8eHt711js1IvTWJcvX8auXbuwcePGatv5+/sjKCgI58+fBwD4+fmhpKQE2dnZ8PDw0LXLyspCZGRkldtRKpVQKpUVlsvl8lrZ6bW13frM2nI2Jt+9Z7Pw7Jo/oNaU/Z3h6aTAh0+0xyPNGtTQs37hPrZ81pazteULmH/OhsZeL6ZcXbVqFXx8fDBo0KBq292+fRtXr16Fv78/ACAiIgJyuRyJiYm6NhkZGTh58mS1xQ6RVHKL1Hj1+xO6QqdbEy9se+lhsyt0iIjMieRHdrRaLVatWoWxY8fCzu7vcAoKChAXF4eRI0fC398fly5dwuuvvw5vb28MHz4cAODm5oaJEydi+vTp8PLygqenJ2bMmIHw8HDd1VlE9cWNvGK8uP4IbuSpEOLthC1THoazUvJ/gkREFk/yb9pdu3bhypUrmDBhgt5yW1tbpKSkYM2aNcjJyYG/vz969eqFDRs2wMXFRdduyZIlsLOzQ2xsLIqKitCnTx+sXr2ac+xQvSKEwHNr/sDx9Fw4K+3w3qh2LHSIiOqI5N+20dHRqGyMtIODA3bu3Fljf3t7eyxbtgzLli2rjfCITOL3tDs4np4Le7kNfnyxO5o04Hw5RER1pV6M2SGyZEIIrNyfBgAY2bERCx0iojrGYoeoFpVqtPj3dyeQeOoGAGB892BpAyIiskKSn8YismSf/nIR3yWnw0YGvDGoNZr6uNTciYiITIrFDlEtOXolGx/uKpsTavFj7fBYRCOJIyIisk4sdohMTAiBr3+/grlbTqFEo0WvFg0wsmNDqcMiIrJaLHaITKiwpBSvb0zB5mPXAQBRrX3xfmw7vZvbEhFR3WKxQ2QihSWlGPnJAZzOyIOtjQyv9m+BZx9pwkKHiEhiLHaITOT9hHM4nZEHb2cFPh4TgYdCPKUOiYiIwEvPiUzi6NUcfPlb2Vw6745qx0KHiKgeYbFD9A+VaoFZm1IhBDCiY0P0auEjdUhERHQPFjtE/9DOdBtcuHkX3s5KvBXTWupwiIjoPix2iP6BUxl52HWtbADy20PbwN1RIXFERER0PxY7RA9IrdFi1qZUaCFDv9Y+GBDuL3VIRERUCRY7RA/os18u4lRGPhztBGbHtJI6HCIiqgKLHaIH8GdWAT78uexWECOCtWjgopQ4IiIiqgqLHSIjabUCr35/AiWlWvRo5o1O3kLqkIiIqBosdoiMtO/cTSRfzoaTwhZvD20NTpBMRFS/sdghMlL55IGjuzSGv5u9xNEQEVFNWOwQGWH3mRv49fwt2MiAZ7oFSx0OEREZgPfGIjKARivw4c/nsWx32aDkwe0CEOjpCLVaLXFkRERUExY7RAZ49fsT+C45HUDZ6SvOlExEZD5Y7BDVYNepG/guOR02MuC9Ue0womMjqUMiIiIjcMwOUTX2nM3C9G+PAwCefaQJCx0iIjPEIztEVfgzKx/PfvUHSrUCHRq745Wo5lKHRERED4DFDlEVvvztEkq1At2beuHLcZ2htLOVOiQiInoAPI1FVImcwhJsPFI2IHlK72YsdIiIzBiLHaJKfPjzeRSrtWjl74ouIZ5Sh0NERP8Aix2i+/xx6Q5WJ10CAMwa0BIy3g+CiMissdghukexWoOZ35+AEMCoiEZ4tHkDqUMiIqJ/iMUO0V80WoG5W0/h4s27aOCixH8GceJAIiJLwKuxiADczFfh5fijSLpwGwAwb1gY3BzlEkdFRESmwGKHrN6htDt4cf0RZOWr4KiwxcKRbRHdxk/qsIiIyERY7JDVEkLg818vYtFPZ6HRCjTzccYnT3VEUx8XqUMjIiITYrFDVim3SI1/f3scCaduAACGtQ/A/BHhcFTwnwQRkaXhNztZnVKNFs98eQjHr+ZAYWuDtwa3xpgujXmJORGRhZL0aqzg4GDIZLIKjxdeeAFA2WmGuLg4BAQEwMHBAT179kRqaqreNlQqFaZMmQJvb284OTlhyJAhSE9PlyIdMhOf/5qG41dz4Gpvh+/+1Q1PdQ1ioUNEZMEkLXYOHz6MjIwM3SMxMREAMGrUKADA4sWL8cEHH2D58uU4fPgw/Pz8EBUVhfz8fN02pk6dik2bNiE+Ph779+9HQUEBYmJioNFoJMmJ6i+tVuCTvRfw7s4zAIA3Y1qjbSN3aYMiIqJaJ+lprAYN9CdsW7hwIUJDQ9GjRw8IIbB06VK88cYbGDFiBADgq6++gq+vL9avX49JkyYhNzcXK1euxNq1a9G3b18AwLp16xAYGIhdu3ahX79+dZ4T1U+5hWpM//YYdp3OAgA80TkQj0U0kjgqIiKqC/VmzE5JSQnWrVuHadOmQSaT4eLFi8jMzER0dLSujVKpRI8ePZCUlIRJkyYhOTkZarVar01AQADCwsKQlJRUZbGjUqmgUql0z/Py8gAAarUaarXaZDmVb8uU26zv6mPOZzPz8fzXR5GeUwyFnQ3eGtQSsRENUVpa+o+3XR/zrW3WlrO15QtYX87Wli9gOTkbGn+9KXY2b96MnJwcjBs3DgCQmZkJAPD19dVr5+vri8uXL+vaKBQKeHh4VGhT3r8yCxYswJw5cyosT0hIgKOj4z9Jo1Llp+esSX3JuUQDLDphi1vFMngpBcY3L4FL1gns2HHCpK9TX/KtS9aWs7XlC1hfztaWL2D+ORcWFhrUrt4UOytXrsSAAQMQEBCgt/z+gaNCiBoHk9bUZtasWZg2bZrueV5eHgIDAxEdHQ1XV9cHiL5yarUaiYmJiIqKglxuHbPx1recF/50FreKL8PXVYmtL0TC3cSzIte3fOuCteVsbfkC1pezteULWE7O5WdmalIvip3Lly9j165d2Lhxo26Zn1/ZDLaZmZnw9/fXLc/KytId7fHz80NJSQmys7P1ju5kZWUhMjKyytdTKpVQKpUVlsvl8lrZ6bW13fqsPuR8/GoOViWVHQVcMCIcDdxMf9SuXH3It65ZW87Wli9gfTlbW76A+edsaOz14kagq1atgo+PDwYNGqRbFhISAj8/P71DbCUlJdi3b5+ukImIiIBcLtdrk5GRgZMnT1Zb7JDlKynVYuZ3J6AVZRMG9m7pW3MnIiKySJIf2dFqtVi1ahXGjh0LO7u/w5HJZJg6dSrmz5+PZs2aoVmzZpg/fz4cHR0xevRoAICbmxsmTpyI6dOnw8vLC56enpgxYwbCw8N1V2eRdfpoz584eyMfXk4KvDW4jdThEBGRhCQvdnbt2oUrV65gwoQJFdbNnDkTRUVFmDx5MrKzs9GlSxckJCTAxeXvexctWbIEdnZ2iI2NRVFREfr06YPVq1fD1ta2LtOgeuR0Rh4+2vMnAGDu0DB4OikkjoiIiKQkebETHR0NIUSl62QyGeLi4hAXF1dlf3t7eyxbtgzLli2rpQjJnJRqyk5flWoF+rXxxcBw3r2ciMja1YsxO0SmUFhSiunfHkfKtVy42tvh7aFhvA0EERFJf2SHyBT+zCrA5K+Tce5GAWxtZJg/Ihw+rvZSh0VERPUAix0yezmFJXjy84O4ma+Cj4sSy0d3xEMhnlKHRURE9QSLHTJ7c7eews18FUIbOOGb57rCx4VHdIiI6G8cs0Nm7eS1XGw8cg0yGfDuqHYsdIiIqAIWO2TWvvwtDQAwpF0AOjb2qKE1ERFZIxY7ZLay8oux5fh1AMD47iESR0NERPUVix0yW18fvAK1RqBjY3e0D3SXOhwiIqqnWOyQWVKVavD172U3+eRRHSIiqg6LHTI7Qgh8uu8ibhWUwN/NHv3DOEsyERFVjZeek9mZt+00vthfNjD5/x5pArkta3YiIqoafyXIrCRduKUrdN4Y2AoTugdLGxAREdV7PLJDZqOwpBSvfZ8CABjTpTGefbSJxBEREZE54JEdMhvvJ5zDlTuFCHCzx2sDWkodDhERmQkWO2QW/szK100gOG9EOFzs5RJHRERE5oLFDpmFL3+7BCGAvq180auFj9ThEBGRGWGxQ/VeTmEJNh5JBwA8+wjn1CEiIuOw2KF678Ofz6NYrUVrf1c8FOIpdThERGRmWOxQvZZ8+Q5WJ10CALw6oCVkMpm0ARERkdlhsUP1VrFag39/dwJCAI9FNEKP5g2kDomIiMwQix2qt/7783lcvHkXDVyUeHNQa6nDISIiM8Vih+qlk9dy8ekvFwEAbw8Ng5sjLzUnIqIHw2KH6h21RouZ352ARiswKNyfN/okIqJ/hMUO1Tuf7ruAUxl58HCUI25IG6nDISIiM8dih+qV9OxC/PfnPwEAswe3QQMXpcQRERGRuWOxQ/XK1hMZKNFo8VCwJ4a2D5A6HCIisgAsdqhe2XEyEwAwpH0A59QhIiKTYLFD9ca1nCIcv5oDmQzo14aDkomIyDRY7FC9kJlbjMlfHwEAdA725FgdIiIymX9c7OTl5WHz5s04ffq0KeIhK6TRCjy/LhnHr+bAzUGOV/u3lDokIiKyIEYXO7GxsVi+fDkAoKioCJ06dUJsbCzatm2L77//3uQBkuVb9Vsajl3NgYvSDj++2B0RQR5Sh0RERBbE6GLnl19+wSOPPAIA2LRpE4QQyMnJwX//+1+88847Jg+QLNulW3fxXsJZAMAbg1ohyMtJ4oiIiMjSGF3s5ObmwtPTEwDw008/YeTIkXB0dMSgQYNw/vx5kwdIlqtAVYoZ3x5HsVqL7k298HjnQKlDIiIiC2R0sRMYGIgDBw7g7t27+OmnnxAdHQ0AyM7Ohr29vckDJMuUU1iCIcv344/L2XBU2GLhiLa81JyIiGqFnbEdpk6dijFjxsDZ2RlBQUHo2bMngLLTW+Hh4aaOjyzUV0mXcfHmXfi6KvHxmAgEejpKHRIREVkoo4/sTJ48GQcOHMCXX36J/fv3w8ambBNNmjR5oDE7165dw1NPPQUvLy84Ojqiffv2SE5O1q0fN24cZDKZ3qNr165621CpVJgyZQq8vb3h5OSEIUOGID093ehYqG6oSjVYe/AyAOCNQa05IJmIiGqV0Ud2AKBTp07o1KkTAECj0SAlJQWRkZHw8DDuRys7Oxvdu3dHr169sGPHDvj4+ODChQtwd3fXa9e/f3+sWrVK91yhUOitnzp1KrZs2YL4+Hh4eXlh+vTpiImJQXJyMmxtbR8kRapF205k4FaBCn6u9hjAO5oTEVEte6DTWOHh4Zg4cSI0Gg169OiBpKQkODo6YuvWrbrTWoZYtGgRAgMD9QqZ4ODgCu2USiX8/Cr/UczNzcXKlSuxdu1a9O3bFwCwbt06BAYGYteuXejXr59R+VHtEkLgy9/SAABPdwuC3JbzWhIRUe0y+pfmu+++Q7t27QAAW7ZsQVpaGs6cOYOpU6fijTfeMGpbP/74Izp16oRRo0bBx8cHHTp0wOeff16h3d69e+Hj44PmzZvj2WefRVZWlm5dcnIy1Gq1bqA0AAQEBCAsLAxJSUnGpke17I/L2Th5LQ9KOxuMfqix1OEQEZEVMPrIzq1bt3RHWbZv345Ro0ahefPmmDhxIv773/8ata2LFy/ik08+wbRp0/D666/j0KFDeOmll6BUKvHMM88AAAYMGIBRo0YhKCgIaWlpePPNN9G7d28kJydDqVQiMzMTCoWiwik0X19fZGZmVvq6KpUKKpVK9zwvLw8AoFaroVarjcqhOuXbMuU267vqchZCYGniOQDA0Hb+cFbIzP694T62fNaWL2B9OVtbvoDl5Gxo/DIhhDBmw0FBQfj888/Rp08fhISE4OOPP0ZMTAxSU1Px8MMPIzs72+BtKRQKdOrUSe8IzEsvvYTDhw/jwIEDlfbJyMhAUFAQ4uPjMWLECKxfvx7jx4/XK14AICoqCqGhoVixYkWFbcTFxWHOnDkVlq9fvx6OjrwqqLb8niXD+gu2sJMJvNpOAx8HqSMiIiJzVlhYiNGjRyM3Nxeurq5VtjP6yM748eMRGxsLf39/yGQyREVFAQB+//13tGxp3D2N/P390bp1a71lrVq1qva2E/7+/ggKCtJNYOjn54eSkhJkZ2frHd3JyspCZGRkpduYNWsWpk2bpnuel5eHwMBAREdHV/tmGUutViMxMRFRUVGQy+Um2259VlXOGq3AvPd+AaDC1L7NMe7REOmCNCHuY8vP2dryBawvZ2vLF7CcnMvPzNTE6GInLi4OYWFhuHr1KkaNGgWlsuzu1La2tnjttdeM2lb37t1x9uxZvWXnzp1DUFBQlX1u376Nq1evwt/fHwAQEREBuVyOxMRExMbGAig7+nPy5EksXry40m0olUpd3PeSy+W1stNra7v12f05H7l4G1n5Krja2+G5Hk0ht7Osgcncx5bP2vIFrC9na8sXMP+cDY39gS49f+yxxwAAxcXFumVjx441ejuvvPIKIiMjMX/+fMTGxuLQoUP47LPP8NlnnwEACgoKEBcXh5EjR8Lf3x+XLl3C66+/Dm9vbwwfPhwA4ObmhokTJ2L69Onw8vKCp6cnZsyYgfDwcN3VWSS9HSfLxk9FtfaDwsIKHSIiqt+M/tXRaDR4++230bBhQzg7O+PixYsAgDfffBMrV640aludO3fGpk2b8M033yAsLAxvv/02li5dijFjxgAoO1qUkpKCoUOHonnz5hg7diyaN2+OAwcOwMXFRbedJUuWYNiwYYiNjUX37t3h6OiILVu2cI6dekKrFfjpr2KH8+oQEVFdM/rIzrx58/DVV19h8eLFePbZZ3XLw8PDsWTJEkycONGo7cXExCAmJqbSdQ4ODti5c2eN27C3t8eyZcuwbNkyo16b6sax9Bxk5hXDWWmHh5t5Sx0OERFZGaOP7KxZswafffYZxowZo3fkpG3btjhz5oxJgyPLsCMlAwDQp5UP7OU82kZERHXL6GLn2rVraNq0aYXlWq3W7K/XJ9MTQujG6/AUFhERScHoYqdNmzb49ddfKyz/9ttv0aFDB5MERZbjRHou0rOL4CC3RY/mPlKHQ0REVsjoMTuzZ8/G008/jWvXrkGr1WLjxo04e/Ys1qxZg61bt9ZGjGTG1v11d/Oo1r5wUPAUFhER1T2jj+wMHjwYGzZswPbt2yGTyfDWW2/h9OnT2LJli26CQSIAuFWgwg/HrgMAxnUPljYYIiKyWg80z06/fv14N3Gq0We/XESJRov2ge7o2Nij5g5ERES14IGKHQAoKSlBVlYWtFqt3vLGjXknawJSruXii1/L5mB6qU/FAe1ERER1xehi5/z585gwYYLezTuBsqtuZDIZNBqNyYIj8/Ve4nloBTC4XQB6t/SVOhwiIrJiRhc748aNg52dHbZu3aq7GSjRvQrUwMGLdwAA/45uIXE0RERk7Ywudo4dO4bk5GSj73BO1uPEHRm0Aghr6IrGXo5Sh0NERFbO6KuxWrdujVu3btVGLGQhjt8uO9o3IMxf4kiIiIgeoNhZtGgRZs6cib179+L27dvIy8vTe5B1+z3tDs7kln2sBoaz2CEiIukZfRqrb9++AIA+ffroLecAZSoq0eD1zakAgCc6N0KIt5PEERERET1AsbNnz57aiIMswPsJZ3HlThHcFQIzo5tLHQ4RERGAByh2QkJCEBgYWOEqLCEErl69arLAyLykXs/Fl7+lAQBim2jhYv/AUzgRERGZlNFjdkJCQnDz5s0Ky+/cuYOQkBCTBEXm57vkdGgF0K+1D9p4CKnDISIi0jG62Ckfm3O/goIC2NvbmyQoMi9arcBPJzMBAMPbB0gcDRERkT6DzzVMmzYNACCTyfDmm2/C0fHv+VM0Gg1+//13tG/f3uQBUv13PD0HGbnFcFLY4uGmXvg5TeqIiIiI/mZwsXP06FEAZUd2UlJSoFAodOsUCgXatWuHGTNmmD5Cqve2HM8AAPRu5Qul3FbiaIiIiPQZXOyUX4U1fvx4fPjhh3B1da21oMh8FKhK8e0fZQPTR3RsKHE0REREFRl9ycyqVatqIw4yU9/9cRX5qlI08XZCj2YNoNGUSh0SERGRHoOKnREjRmD16tVwdXXFiBEjqm27ceNGkwRG5uG7I+kAgHHdg2FjIwPnlCQiovrGoGLHzc1NdwWWm5tbrQZE5iP7bglSr5fdIqR/mJ/E0RAREVXOoGJn1apV2L17Nx599FGexiKdAxdvQwigua8zfFw47QAREdVPBs+zExUVhTt37uied+3aFdeuXauVoMg8/PbnLQBAZKi3xJEQERFVzeBiRwj9WXFTU1OhUqlMHhCZByEEki7cBgB0b8pih4iI6i+jZ1AmAoDky9lIu3UXCjsbdGniKXU4REREVTK42JHJZHq3ibj/OVmXVb9dAgAMb98QrvZyaYMhIiKqhsHz7Agh0KdPH9jZlXUpLCzE4MGD9WZSBoAjR46YNkKqd67lFOGn1LJ7YY1/OFjaYIiIiGpgcLEze/ZsvedDhw41eTBkHtYcuASNViAy1Ast/TiTNhER1W8PXOyQdSosKUX8obLbQ4zvHiJxNERERDXjAGUyytbjGcgtUiPIyxG9W/pIHQ4REVGNWOyQUballN3hfFREI9jacIA6ERHVfyx2yGC5hWrdRIIDwv0ljoaIiMgwLHbIYImnb6BUK9DC1wWhDZylDoeIiMggRhc7a9asqXTm5JKSEqxZs8YkQVH9U6zW4OO9fwIABoTzpp9ERGQ+jC52xo8fj9zc3ArL8/PzMX78eKMDuHbtGp566il4eXnB0dER7du3R3Jysm69EAJxcXEICAiAg4MDevbsidTUVL1tqFQqTJkyBd7e3nBycsKQIUOQnp5udCxUtWW7z+Pizbto4KLE+EhehUVERObD6GJHCFHpzMnp6elwc3MzalvZ2dno3r075HI5duzYgVOnTuH999+Hu7u7rs3ixYvxwQcfYPny5Th8+DD8/PwQFRWF/Px8XZupU6di06ZNiI+Px/79+1FQUICYmBhoNBpj06NK5Baq8eX+SwCAt4e2gZsjZ0wmIiLzYfA8Ox06dNDdIuLemZQBQKPRIC0tDf379zfqxRctWoTAwECsWrVKtyw4OFj3/0IILF26FG+88QZGjBgBAPjqq6/g6+uL9evXY9KkScjNzcXKlSuxdu1a9O3bFwCwbt06BAYGYteuXejXr59RMVFFG/64giK1Bi39XNCvDU9hERGReTG42Bk2bBgA4NixY+jXrx+cnf8eoKpQKBAcHIyRI0ca9eI//vgj+vXrh1GjRmHfvn1o2LAhJk+ejGeffRYAkJaWhszMTERHR+v6KJVK9OjRA0lJSZg0aRKSk5OhVqv12gQEBCAsLAxJSUmVFjsqlUpv3FFeXh4AQK1WQ61WG5VDdcq3Zcpt1rVitQar/7oP1jNdA1FaWlpte0vI2RjWli9gfTlbW76A9eVsbfkClpOzofEbPYNycHAwnnjiCSiVygeL7B4XL17EJ598gmnTpuH111/HoUOH8NJLL0GpVOKZZ55BZmbZ/Zd8fX31+vn6+uLy5csAgMzMTCgUCnh4eFRoU97/fgsWLMCcOXMqLE9ISICjo+M/zut+iYmJJt9mXfnxsg2u59rATS4gv34C22+cMKifOef8IKwtX8D6cra2fAHry9na8gXMP+fCwkKD2hlc7JTr3bs3bt68iUaNGgEADh06hPXr16N169Z47rnnjNqWVqtFp06dMH/+fABlp8pSU1PxySef4JlnntG1u3+MUFXjhgxtM2vWLEybNk33PC8vD4GBgYiOjoarq+nu9aRWq5GYmIioqCjI5eY3zuXy7UJM+/03AAILR3VA31Y1z5hs7jkby9ryBawvZ2vLF7C+nK0tX8Byci4/M1MTo4ud0aNH47nnnsPTTz+NzMxM9O3bF2FhYVi3bh0yMzPx1ltvGbwtf39/tG7dWm9Zq1at8P333wMA/PzKxodkZmbC3//vSeyysrJ0R3v8/PxQUlKC7OxsvaM7WVlZiIyMrPR1lUplpUem5HJ5rez02tpubfvlzzvQaAW6NvHEgLYNjeprrjk/KGvLF7C+nK0tX8D6cra2fAHzz9nQ2I2+GuvkyZN46KGHAAD/+9//EB4ejqSkJKxfvx6rV682alvdu3fH2bNn9ZadO3cOQUFBAICQkBD4+fnpHWYrKSnBvn37dIVMREQE5HK5XpuMjAycPHmyymKHDJN0oWy25J4teA8sIiIyX0Yf2VGr1bqjIrt27cKQIUMAAC1btkRGRoZR23rllVcQGRmJ+fPnIzY2FocOHcJnn32Gzz77DEDZ6aupU6di/vz5aNasGZo1a4b58+fD0dERo0ePBgC4ublh4sSJmD59Ory8vODp6YkZM2YgPDxcd3UWGa9Uo8XvF+8AALqHekscDRER0YMzuthp06YNVqxYgUGDBiExMRFvv/02AOD69evw8vIyaludO3fGpk2bMGvWLMydOxchISFYunQpxowZo2szc+ZMFBUVYfLkycjOzkaXLl2QkJAAFxcXXZslS5bAzs4OsbGxKCoqQp8+fbB69WrY2toamx795cS1XOSrSuHmIEfrANONYyIiIqprRhc7ixYtwvDhw/Huu+9i7NixaNeuHYCyy8jLT28ZIyYmBjExMVWul8lkiIuLQ1xcXJVt7O3tsWzZMixbtszo16fK7TxZdiVbtyZevLs5ERGZNaOLnZ49e+LWrVvIy8vTGxD83HPP1cpl21T3CktKEX/4KgBgZEQjiaMhIiL6Zx7orudCCCQnJ+PTTz/V3bZBoVCw2LEQ3x+5htwiNRp7OqJ3Sw5OJiIi82b0kZ3Lly+jf//+uHLlClQqFaKiouDi4oLFixejuLgYK1asqI04qY7cuVuCpYnnAADjIoN5CouIiMye0Ud2Xn75ZXTq1AnZ2dlwcHDQLR8+fDh+/vlnkwZHdW/OllTcvluCFr4ueKprkNThEBER/WNGH9nZv38/fvvtNygUCr3lQUFBuHbtmskCo7q369QN/HDsOmxkwOLH2kJh90BnOYmIiOoVo3/NtFotNBpNheXp6el6l4OTeVGVavCfzScBAP/3SBO0C3SXNiAiIiITMbrYiYqKwtKlS3XPZTIZCgoKMHv2bAwcONCUsVEd+u3PW8jMK0YDFyVe6dtc6nCIiIhMxujTWEuWLEGvXr3QunVrFBcXY/To0Th//jy8vb3xzTff1EaMVAe2p5TNqzMwzA8OCk7GSERElsPoYicgIADHjh1DfHw8kpOTodVqMXHiRIwZM0ZvwDKZD7VGi8RTNwAAA8L9a2hNRERkXowudgDAwcEB48ePx/jx400dD0ngwIXbyC1Sw9tZgc7BnlKHQ0REZFJGFzu3b9/W3QPr6tWr+Pzzz1FUVITBgwfj0UcfNXmAVPt2nCy7gWt0Gz/Oq0NERBbH4AHKKSkpCA4Oho+PD1q2bIljx46hc+fOWLJkCT777DP07t0bmzdvrsVQqTaUarRISC07hTUwjKewiIjI8hhc7MycORPh4eHYt28fevbsiZiYGAwcOBC5ubnIzs7GpEmTsHDhwtqMlWrBoUt3cPtuCdwd5ejShKewiIjI8hh8Guvw4cPYvXs32rZti/bt2+Ozzz7D5MmTYWNTVi9NmTIFXbt2rbVAqXZ8l5wOAIhu7Qu5LScRJCIiy2Pwr9udO3fg5+cHAHB2doaTkxM8Pf8+EuDh4aG7KSiZh6z8Ymw5fh0AMLoLbw1BRESWyag/5WUyWbXPybx8ffAK1BqBjo3d0Z4zJhMRkYUy6mqscePGQalUAgCKi4vx/PPPw8nJCQCgUqlMHx3VGlWpBl//fhkAML57iMTREBER1R6Di52xY8fqPX/qqacqtHnmmWf+eURUJ7Ycz8CtghL4u9mjf5if1OEQERHVGoOLnVWrVtVmHFSHhBBY9VsaAODpbkEcmExERBaNv3JW6FDaHaRez4O93AZPdm4sdThERES1isWOFVr12yUAwPAOjeDhpJA2GCIiolrGYsfKXL1TiIRTZXc4H989WNpgiIiI6gCLHSuz5sAlaAXwSDNvNPd1kTocIiKiWsdix4rcVZUi/vBVADyqQ0RE1oPFjhX5/kg68otLEeLthJ7NfaQOh4iIqE6w2LESWq3QDUweFxkMGxvOfk1ERNaBxY6V2HfuJtJu3YWL0g4jIxpJHQ4REVGdYbFjJb78axLBxzsHwllp1F1CiIiIzBqLHStw/kY+fj1/CzYyYGxksNThEBER1SkWO1ZgddIlAEDfVr4I9HSUNhgiIqI6xmLHwqk1Wmw9kQEAeKZbsLTBEBERSYDFjoU7ePE2covU8HJSoGsTT6nDISIiqnMsdizc9pSyW0NEt/GDHe9uTkREVoi/fhZMVapBQmpZsTMgzE/iaIiIiKTBYseCbT2egdt3S+Dnao9uoV5Sh0NERCQJSYuduLg4yGQyvYef399HIMaNG1dhfdeuXfW2oVKpMGXKFHh7e8PJyQlDhgxBenp6XadS7wghdHPrPN0tCHKewiIiIisl+S9gmzZtkJGRoXukpKTore/fv7/e+u3bt+utnzp1KjZt2oT4+Hjs378fBQUFiImJgUajqcs06p2Ua7lIvZ4HpZ0NnnyosdThEBERSUbyqXTt7Oz0jubcT6lUVrk+NzcXK1euxNq1a9G3b18AwLp16xAYGIhdu3ahX79+tRKzOSgfmNy3lS88nRQSR0NERCQdyYud8+fPIyAgAEqlEl26dMH8+fPRpEkT3fq9e/fCx8cH7u7u6NGjB+bNmwcfn7I7dicnJ0OtViM6OlrXPiAgAGFhYUhKSqqy2FGpVFCpVLrneXl5AAC1Wg21Wm2y3Mq3ZcptGkIIge0p1wEAUa0a1OnrS5WzVKwtX8D6cra2fAHry9na8gUsJ2dD45cJIUQtx1KlHTt2oLCwEM2bN8eNGzfwzjvv4MyZM0hNTYWXlxc2bNgAZ2dnBAUFIS0tDW+++SZKS0uRnJwMpVKJ9evXY/z48XqFCwBER0cjJCQEn376aaWvGxcXhzlz5lRYvn79ejg6mv8Mw9fuAotP2EEuE3inswb2tlJHREREZHqFhYUYPXo0cnNz4erqWmU7SYud+929exehoaGYOXMmpk2bVmF9RkYGgoKCEB8fjxEjRlRZ7ERFRSE0NBQrVqyo9HUqO7ITGBiIW7duVftmGUutViMxMRFRUVGQy+Um225Nluz6Ex/vu4i+LRvgkzEd6ux1Aelyloq15QtYX87Wli9gfTlbW76A5eScl5cHb2/vGosdyU9j3cvJyQnh4eE4f/58pev9/f0RFBSkW+/n54eSkhJkZ2fDw8ND1y4rKwuRkZFVvo5SqYRSqaywXC6X18pOr63tViXhdBYAYFC7AMk+xHWds9SsLV/A+nK2tnwB68vZ2vIFzD9nQ2OX/Gqse6lUKpw+fRr+/v6Vrr99+zauXr2qWx8REQG5XI7ExERdm4yMDJw8ebLaYseSnb+Rjz+zCiC3laFPK1+pwyEiIpKcpMXOjBkzsG/fPqSlpeH333/HY489hry8PIwdOxYFBQWYMWMGDhw4gEuXLmHv3r0YPHgwvL29MXz4cACAm5sbJk6ciOnTp+Pnn3/G0aNH8dRTTyE8PFx3dZa12XGy7Cqsh5t6w9XefKt1IiIiU5H0NFZ6ejqefPJJ3Lp1Cw0aNEDXrl1x8OBBBAUFoaioCCkpKVizZg1ycnLg7++PXr16YcOGDXBxcdFtY8mSJbCzs0NsbCyKiorQp08frF69Gra21jkqd3tK2R3OB4RXfnSMiIjI2kha7MTHx1e5zsHBATt37qxxG/b29li2bBmWLVtmytDMUtqtuziTmQ9bGxmieAqLiIgIQD0bs0P/zI6TZUd1IkO94MGJBImIiACw2LEoCak3AAD9eYdzIiIiHRY7FiK3SI0T6TkAgN4tfaQNhoiIqB5hsWMhfr94G1oBNPF2gr+bg9ThEBER1RssdixE0oXbAIDIpl4SR0JERFS/sNixEL/9eQsA0D3UW+JIiIiI6hcWOxbg6p1CnM8qgI0M6NqER3aIiIjuxWLHApRfct4lhJecExER3Y/FjgUov0XEwHBeck5ERHQ/Fjtm7lpOEY5eyYFMBvRrw2KHiIjofix2zNy6g5cBAF1DvODjai9xNERERPUPix0zVlSiwfrfrwAAxnUPljYYIiKieorFjhnbdPQacovUCPR0QF/e+JOIiKhSLHbMlBACq35LAwCM7RYMWxuZxBERERHVTyx2zNT+P2/hfFYBnBS2iO0cKHU4RERE9RaLHTP1zaGysTqjOgXC1V4ucTRERET1F4sdM1RUosGeMzcBACM7NpI4GiIiovqNxY4Z2ncuC0VqDRp5OCCsoavU4RAREdVrLHbM0PaUshmTB4T5QSbjwGQiIqLqsNgxM3fulmBnavntIfwljoaIiKj+Y7FjZr45dAWqUi3CG7qhfaC71OEQERHVeyx2zEipRos1By4BACY8HMxTWERERAZgsWNGDqXdwY08FTwc5RgUHiB1OERERGaBxY4Z2XGybKxOdGs/KOy464iIiAzBX0wzodUK/PTXwOT+4X4SR0NERGQ+WOyYiWPpObiZr4KLvR26h3pLHQ4REZHZYLFjJo5czgYAdG3ixVNYRERERuCvppk4eiUHANChsbukcRAREZkbFjtm4uiVsiM7HQI9JI6EiIjIvLDYMQOZucW4nlsMGxnQtpGb1OEQERGZFRY7ZuDY1bKjOi38XOGktJM4GiIiIvPCYscMHEr76xQWx+sQEREZjcWOGUi6cAsAEBnqJXEkRERE5ofFTj13q0CFM5n5AIBuTVjsEBERGYvFTj134MJtAEBLPxd4OSsljoaIiMj8SFrsxMXFQSaT6T38/P6+FYIQAnFxcQgICICDgwN69uyJ1NRUvW2oVCpMmTIF3t7ecHJywpAhQ5Cenl7XqdSapL+Kne5NOWsyERHRg5D8yE6bNm2QkZGhe6SkpOjWLV68GB988AGWL1+Ow4cPw8/PD1FRUcjPz9e1mTp1KjZt2oT4+Hjs378fBQUFiImJgUajkSIdkyufOfmhEE+JIyEiIjJPkl/HbGdnp3c0p5wQAkuXLsUbb7yBESNGAAC++uor+Pr6Yv369Zg0aRJyc3OxcuVKrF27Fn379gUArFu3DoGBgdi1axf69etXp7mYWn6xGueyygo7XolFRET0YCQ/snP+/HkEBAQgJCQETzzxBC5evAgASEtLQ2ZmJqKjo3VtlUolevTogaSkJABAcnIy1Gq1XpuAgACEhYXp2pizE+m5EAJo5OEAHxd7qcMhIiIyS5Ie2enSpQvWrFmD5s2b48aNG3jnnXcQGRmJ1NRUZGZmAgB8fX31+vj6+uLy5csAgMzMTCgUCnh4eFRoU96/MiqVCiqVSvc8Ly8PAKBWq6FWq02SW/n27v2vsZIvlY3XadfIzaRx1aZ/mrO5sbZ8AevL2dryBawvZ2vLF7CcnA2NX9JiZ8CAAbr/Dw8PR7du3RAaGoqvvvoKXbt2BQDIZDK9PkKICsvuV1ObBQsWYM6cORWWJyQkwNHR0ZgUDJKYmPhA/RLO2ACwgSL/GrZvN69B1w+as7mytnwB68vZ2vIFrC9na8sXMP+cCwsLDWon+Zidezk5OSE8PBznz5/HsGHDAJQdvfH399e1ycrK0h3t8fPzQ0lJCbKzs/WO7mRlZSEyMrLK15k1axamTZume56Xl4fAwEBER0fD1dXVZPmo1WokJiYiKioKcrncqL75xaV4/cg+ABqMju6G9oHuJourNv2TnM2RteULWF/O1pYvYH05W1u+gOXkXH5mpib1qthRqVQ4ffo0HnnkEYSEhMDPzw+JiYno0KEDAKCkpAT79u3DokWLAAARERGQy+VITExEbGwsACAjIwMnT57E4sWLq3wdpVIJpbLinDVyubxWdvqDbPeHQ+m4q9IgtIETIoK9YWNT/dGs+qa23sv6ytryBawvZ2vLF7C+nK0tX8D8czY0dkmLnRkzZmDw4MFo3LgxsrKy8M477yAvLw9jx46FTCbD1KlTMX/+fDRr1gzNmjXD/Pnz4ejoiNGjRwMA3NzcMHHiREyfPh1eXl7w9PTEjBkzEB4errs6yxxptQJfJV0CAIzrHmJ2hQ4REVF9Immxk56ejieffBK3bt1CgwYN0LVrVxw8eBBBQUEAgJkzZ6KoqAiTJ09GdnY2unTpgoSEBLi4uOi2sWTJEtjZ2SE2NhZFRUXo06cPVq9eDVtbW6nS+sfOZxXg0u1COCpsMbJjQ6nDISIiMmuSFjvx8fHVrpfJZIiLi0NcXFyVbezt7bFs2TIsW7bMxNFJ59jVsokE2zVyh6OiXp1pJCIiMjuSz7NDFR29kgOAEwkSERGZAoudeqi82DGXK7CIiIjqMxY79cy9t4hozyM7RERE/xiLnXrm6JUc3iKCiIjIhFjs1DMJp8puc9E91FviSIiIiCwDi516RKMV2Jl6AwAwILzineCJiIjIeCx26pHky9m4ma+Cq70dInlkh4iIyCRY7NQjO05mAAD6tvaFwo67hoiIyBT4i1pPaLUCP50sG68zMMy/htZERERkKBY79cTx9Bxk5BbDSWGLh5vxFBYREZGpsNipJ3b8dVSnTytf2MvN975eRERE9Q2LnXpACKEbrzMgjFdhERERmRKLnXog9Xoert4pgoPcFj1b+EgdDhERkUVhsVMPlB/V6dmiARwUPIVFRERkSix26oHy8ToDwnkVFhERkamx2JHYtZwiXLx5F7Y2MvRs0UDqcIiIiCwOix2J/fbnLQBA20ZucLWXSxwNERGR5WGxI7Gkv4qdyFAviSMhIiKyTCx2JCSEQNKF2wB4l3MiIqLawmJHQhduFiArXwWlnQ06BnlIHQ4REZFFYrEjod/+LDuq0ynYg7MmExER1RIWOxL6TTdeh6ewiIiIaguLHYlotAIHL/41Xqcpix0iIqLawmJHIiev5SKvuBQu9nYIb+gmdThEREQWi8WORH67UHYKq2sTL9jayCSOhoiIyHKx2JFI0p/ll5xzfh0iIqLaxGJHAsVqDQ5fugOA43WIiIhqG4sdCRy5kg1VqRYNXJRo6uMsdThEREQWjcWOBA78NWtyZKgXZDKO1yEiIqpNLHYkUD6/Dm8RQUREVPtY7NSx/GI1jqfnAgAim3JwMhERUW1jsVPHDqXdgUYrEOTliEYejlKHQ0REZPFY7NSx8vth8RYRREREdYPFTh1L+msywe48hUVERFQnWOzUoVsFKpzJzAcAdGvCYoeIiKgusNipQ0l/XXLeyt8VXs5KiaMhIiKyDvWm2FmwYAFkMhmmTp2qWzZu3DjIZDK9R9euXfX6qVQqTJkyBd7e3nBycsKQIUOQnp5ex9EbJumvS84jeYsIIiKiOlMvip3Dhw/js88+Q9u2bSus69+/PzIyMnSP7du3662fOnUqNm3ahPj4eOzfvx8FBQWIiYmBRqOpq/ANIoTQ3fyT43WIiIjqjuTFTkFBAcaMGYPPP/8cHh4eFdYrlUr4+fnpHp6enrp1ubm5WLlyJd5//3307dsXHTp0wLp165CSkoJdu3bVZRo1OnsjH1fvFEFhZ4OHQljsEBER1RU7qQN44YUXMGjQIPTt2xfvvPNOhfV79+6Fj48P3N3d0aNHD8ybNw8+Pj4AgOTkZKjVakRHR+vaBwQEICwsDElJSejXr1+lr6lSqaBSqXTP8/LyAABqtRpqtdpkuZVvS61WY9vxawCAR5p6QWkjTPo69cm9OVsDa8sXsL6crS1fwPpytrZ8AcvJ2dD4JS124uPjceTIERw+fLjS9QMGDMCoUaMQFBSEtLQ0vPnmm+jduzeSk5OhVCqRmZkJhUJR4YiQr68vMjMzq3zdBQsWYM6cORWWJyQkwNHR9BP9JSYm4ttjtgBk8C/NrHAqzhIlJiZKHUKdsrZ8AevL2dryBawvZ2vLFzD/nAsLCw1qJ1mxc/XqVbz88stISEiAvb19pW0ef/xx3f+HhYWhU6dOCAoKwrZt2zBixIgqty2EqPYGm7NmzcK0adN0z/Py8hAYGIjo6Gi4uro+QDaVU6vVSExMRPOI7sg88DvktjK8EtsXrg5yk71GfVOec1RUFORyy82znLXlC1hfztaWL2B9OVtbvoDl5Fx+ZqYmkhU7ycnJyMrKQkREhG6ZRqPBL7/8guXLl0OlUsHW1lavj7+/P4KCgnD+/HkAgJ+fH0pKSpCdna13dCcrKwuRkZFVvrZSqYRSWfHSb7lcXis7PeX6XQBAu0bu8HK1jltE1NZ7WV9ZW76A9eVsbfkC1pezteULmH/OhsYu2QDlPn36ICUlBceOHdM9OnXqhDFjxuDYsWMVCh0AuH37Nq5evQp/f38AQEREBORyud5huIyMDJw8ebLaYqeuHUvPAQB0aOwuaRxERETWSLIjOy4uLggLC9Nb5uTkBC8vL4SFhaGgoABxcXEYOXIk/P39cenSJbz++uvw9vbG8OHDAQBubm6YOHEipk+fDi8vL3h6emLGjBkIDw9H3759pUirUseult3lvEPjilebERERUe2S/Gqsqtja2iIlJQVr1qxBTk4O/P390atXL2zYsAEuLi66dkuWLIGdnR1iY2NRVFSEPn36YPXq1ZUeGZJCiQY4e6MAANA+0F3aYIiIiKxQvSp29u7dq/t/BwcH7Ny5s8Y+9vb2WLZsGZYtW1aLkT24q3cBjVbA11UJf7fKB2ITERFR7ZF8UkFLdyGv7KqwDoEe1V4hRkRERLWDxU4tO5dbVuBE8hYRREREkmCxU4uK1Rqk5f9V7IR6SxwNERGRdWKxU4uOXMlBqZDB10WJ0AZOUodDRERklVjs1KIDF+8AALo18eR4HSIiIomw2KlF+cWlsJUJdAv1rLkxERER1Yp6dem5pYkb3ArtkYZ+bfykDoWIiMhq8chOLVPYAg6K+jHBIRERkTVisUNEREQWjcUOERERWTQWO0RERGTRWOwQERGRRWOxQ0RERBaNxQ4RERFZNBY7REREZNFY7BAREZFFY7FDREREFo3FDhEREVk0FjtERERk0VjsEBERkUVjsUNEREQWzU7qAOoDIQQAIC8vz6TbVavVKCwsRF5eHuRyuUm3XV9ZW87Wli9gfTlbW76A9eVsbfkClpNz+e92+e94VVjsAMjPzwcABAYGShwJERERGSs/Px9ubm5VrpeJmsohK6DVanH9+nW4uLhAJpOZbLt5eXkIDAzE1atX4erqarLt1mfWlrO15QtYX87Wli9gfTlbW76A5eQshEB+fj4CAgJgY1P1yBwe2QFgY2ODRo0a1dr2XV1dzfrD9CCsLWdryxewvpytLV/A+nK2tnwBy8i5uiM65ThAmYiIiCwaix0iIiKyaCx2apFSqcTs2bOhVCqlDqXOWFvO1pYvYH05W1u+gPXlbG35AtaXMwcoExERkUXjkR0iIiKyaCx2iIiIyKKx2CEiIiKLxmKHiIiILBqLnVr08ccfIyQkBPb29oiIiMCvv/4qdUgmERcXB5lMpvfw8/PTrRdCIC4uDgEBAXBwcEDPnj2RmpoqYcTG++WXXzB48GAEBARAJpNh8+bNeusNyVGlUmHKlCnw9vaGk5MThgwZgvT09DrMwnA15Ttu3LgK+7xr1656bcwp3wULFqBz585wcXGBj48Phg0bhrNnz+q1saR9bEi+lraPP/nkE7Rt21Y3aV63bt2wY8cO3XpL2r9Azfla2v41FoudWrJhwwZMnToVb7zxBo4ePYpHHnkEAwYMwJUrV6QOzSTatGmDjIwM3SMlJUW3bvHixfjggw+wfPlyHD58GH5+foiKitLdg8wc3L17F+3atcPy5csrXW9IjlOnTsWmTZsQHx+P/fv3o6CgADExMdBoNHWVhsFqyhcA+vfvr7fPt2/frrfenPLdt28fXnjhBRw8eBCJiYkoLS1FdHQ07t69q2tjSfvYkHwBy9rHjRo1wsKFC/HHH3/gjz/+QO/evTF06FBdQWNJ+xeoOV/Asvav0QTVioceekg8//zzestatmwpXnvtNYkiMp3Zs2eLdu3aVbpOq9UKPz8/sXDhQt2y4uJi4ebmJlasWFFHEZoWALFp0ybdc0NyzMnJEXK5XMTHx+vaXLt2TdjY2IiffvqpzmJ/EPfnK4QQY8eOFUOHDq2yjznnK4QQWVlZAoDYt2+fEMLy9/H9+Qph+ftYCCE8PDzEF198YfH7t1x5vkJYx/6tDo/s1IKSkhIkJycjOjpab3l0dDSSkpIkisq0zp8/j4CAAISEhOCJJ57AxYsXAQBpaWnIzMzUy12pVKJHjx4Wk7shOSYnJ0OtVuu1CQgIQFhYmNm+D3v37oWPjw+aN2+OZ599FllZWbp15p5vbm4uAMDT0xOA5e/j+/MtZ6n7WKPRID4+Hnfv3kW3bt0sfv/en285S92/huCNQGvBrVu3oNFo4Ovrq7fc19cXmZmZEkVlOl26dMGaNWvQvHlz3LhxA++88w4iIyORmpqqy6+y3C9fvixFuCZnSI6ZmZlQKBTw8PCo0MYcPwMDBgzAqFGjEBQUhLS0NLz55pvo3bs3kpOToVQqzTpfIQSmTZuGhx9+GGFhYQAsex9Xli9gmfs4JSUF3bp1Q3FxMZydnbFp0ya0bt1a9+Ntafu3qnwBy9y/xmCxU4tkMpnecyFEhWXmaMCAAbr/Dw8PR7du3RAaGoqvvvpKN+DNUnO/14PkaK7vw+OPP677/7CwMHTq1AlBQUHYtm0bRowYUWU/c8j3xRdfxIkTJ7B///4K6yxxH1eVryXu4xYtWuDYsWPIycnB999/j7Fjx2Lfvn269Za2f6vKt3Xr1ha5f43B01i1wNvbG7a2thWq4aysrAp/SVgCJycnhIeH4/z587qrsiw5d0Ny9PPzQ0lJCbKzs6tsY878/f0RFBSE8+fPAzDffKdMmYIff/wRe/bsQaNGjXTLLXUfV5VvZSxhHysUCjRt2hSdOnXCggUL0K5dO3z44YcWu3+ryrcylrB/jcFipxYoFApEREQgMTFRb3liYiIiIyMliqr2qFQqnD59Gv7+/ggJCYGfn59e7iUlJdi3b5/F5G5IjhEREZDL5XptMjIycPLkSYt4H27fvo2rV6/C398fgPnlK4TAiy++iI0bN2L37t0ICQnRW29p+7imfCtj7vu4MkIIqFQqi9u/VSnPtzKWuH+rVedDoq1EfHy8kMvlYuXKleLUqVNi6tSpwsnJSVy6dEnq0P6x6dOni71794qLFy+KgwcPipiYGOHi4qLLbeHChcLNzU1s3LhRpKSkiCeffFL4+/uLvLw8iSM3XH5+vjh69Kg4evSoACA++OADcfToUXH58mUhhGE5Pv/886JRo0Zi165d4siRI6J3796iXbt2orS0VKq0qlRdvvn5+WL69OkiKSlJpKWliT179ohu3bqJhg0bmm2+//rXv4Sbm5vYu3evyMjI0D0KCwt1bSxpH9eUryXu41mzZolffvlFpKWliRMnTojXX39d2NjYiISEBCGEZe1fIarP1xL3r7FY7NSijz76SAQFBQmFQiE6duyod5mnOXv88ceFv7+/kMvlIiAgQIwYMUKkpqbq1mu1WjF79mzh5+cnlEqlePTRR0VKSoqEERtvz549AkCFx9ixY4UQhuVYVFQkXnzxReHp6SkcHBxETEyMuHLligTZ1Ky6fAsLC0V0dLRo0KCBkMvlonHjxmLs2LEVcjGnfCvLFYBYtWqVro0l7eOa8rXEfTxhwgTd92+DBg1Enz59dIWOEJa1f4WoPl9L3L/GkgkhRN0dRyIiIiKqWxyzQ0RERBaNxQ4RERFZNBY7REREZNFY7BAREZFFY7FDREREFo3FDhEREVk0FjtERERk0VjsEBEZaPXq1XB3d5c6DCIyEosdIjK5zMxMvPzyy2jatCns7e3h6+uLhx9+GCtWrEBhYaHU4RkkODgYS5cu1Vv2+OOP49y5c9IEREQPzE7qAIjIsly8eBHdu3eHu7s75s+fj/DwcJSWluLcuXP48ssvERAQgCFDhkgSmxACGo0GdnYP9tXn4OAABwcHE0dFRLWNR3aIyKQmT54MOzs7/PHHH4iNjUWrVq0QHh6OkSNHYtu2bRg8eDAAIDc3F8899xx8fHzg6uqK3r174/jx47rtxMXFoX379li7di2Cg4Ph5uaGJ554Avn5+bo2QggsXrwYTZo0gYODA9q1a4fvvvtOt37v3r2QyWTYuXMnOnXqBKVSiV9//RUXLlzA0KFD4evrC2dnZ3Tu3Bm7du3S9evZsycuX76MV155BTKZDDKZDEDlp7E++eQThIaGQqFQoEWLFli7dq3eeplMhi+++ALDhw+Ho6MjmjVrhh9//NFk7zcR1YzFDhGZzO3bt5GQkIAXXngBTk5OlbaRyWQQQmDQoEHIzMzE9u3bkZycjI4dO6JPnz64c+eOru2FCxewefNmbN26FVu3bsW+ffuwcOFC3fr//Oc/WLVqFT755BOkpqbilVdewVNPPYV9+/bpvebMmTOxYMECnD59Gm3btkVBQQEGDhyIXbt24ejRo+jXrx8GDx6MK1euAAA2btyIRo0aYe7cucjIyEBGRkaluWzatAkvv/wypk+fjpMnT2LSpEkYP3489uzZo9duzpw5iI2NxYkTJzBw4ECMGTNGL08iqmWS3oaUiCzKwYMHBQCxceNGveVeXl7CyclJODk5iZkzZ4qff/5ZuLq6iuLiYr12oaGh4tNPPxVCCDF79mzh6Ogo8vLydOv//e9/iy5dugghhCgoKBD29vYiKSlJbxsTJ04UTz75pBDi77u5b968ucbYW7duLZYtW6Z7HhQUJJYsWaLXZtWqVcLNzU33PDIyUjz77LN6bUaNGiUGDhyoew5A/Oc//9E9LygoEDKZTOzYsaPGmIjINDhmh4hMrvy0T7lDhw5Bq9VizJgxUKlUSE5ORkFBAby8vPTaFRUV4cKFC7rnwcHBcHFx0T339/dHVlYWAODUqVMoLi5GVFSU3jZKSkrQoUMHvWWdOnXSe3737l3MmTMHW7duxfXr11FaWoqioiLdkR1DnT59Gs8995zesu7du+PDDz/UW9a2bVvd/zs5OcHFxUWXBxHVPhY7RGQyTZs2hUwmw5kzZ/SWN2nSBAB0g3u1Wi38/f2xd+/eCtu4d0yMXC7XWyeTyaDVanXbAIBt27ahYcOGeu2USqXe8/tPqf373//Gzp078d5776Fp06ZwcHDAY489hpKSEgMz1Y/pXkKICsuqy4OIah+LHSIyGS8vL0RFRWH58uWYMmVKleN2OnbsiMzMTNjZ2SE4OPiBXqt169ZQKpW4cuUKevToYVTfX3/9FePGjcPw4cMBAAUFBbh06ZJeG4VCAY1GU+12WrVqhf379+OZZ57RLUtKSkKrVq2MioeIaheLHSIyqY8//hjdu3dHp06dEBcXh7Zt28LGxgaHDx/GmTNnEBERgb59+6Jbt24YNmwYFi1ahBYtWuD69evYvn07hg0bVuG0U2VcXFwwY8YMvPLKK9BqtXj44YeRl5eHpKQkODs7Y+zYsVX2bdq0KTZu3IjBgwdDJpPhzTffrHCkJTg4GL/88gueeOIJKJVKeHt7V9jOv//9b8TGxuoGV2/ZsgUbN27Uu7KLiKTHYoeITCo0NBRHjx7F/PnzMWvWLKSnp0OpVKJ169aYMWMGJk+eDJlMhu3bt+ONN97AhAkTcPPmTfj5+eHRRx+Fr6+vwa/19ttvw8fHBwsWLMDFixfh7u6Ojh074vXXX6+235IlSzBhwgRERkbC29sbr776KvLy8vTazJ07F5MmTUJoaChUKhWEEBW2M2zYMHz44Yd499138dJLLyEkJASrVq1Cz549Dc6BiGqfTFT2L5iIiIjIQnCeHSIiIrJoLHaIiIjIorHYISIiIovGYoeIiIgsGosdIiIismgsdoiIiMiisdghIiIii8Zih4iIiCwaix0iIiKyaCx2iIiIyKKx2CEiIiKLxmKHiIiILNr/A6m8yXuD8SUPAAAAAElFTkSuQmCC",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "# Program LabSimpleGeneticAlgorithmGMNI.py\n",
        "# Coworking with Gemini\n",
        "\n",
        "import datetime\n",
        "import random\n",
        "import matplotlib.pyplot as plt # Import matplotlib for plotting\n",
        "# target_sequence = 'Methinks it is like a weasel.'\n",
        "# alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "alphabet = '01' # Binary alphabet, binary strings\n",
        "length_of_target_sequence = 800\n",
        "target_sequence = '1'*length_of_target_sequence  #1111...1 (800 ones)\n",
        "population_size = 200\n",
        "include_clone_population7 = True\n",
        "include_mutate_all7 = True\n",
        "include_crossover_all7 = True\n",
        "mutation_rate = 0.01\n",
        "recombination_rate = 0.01\n",
        "# alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "# Boolean flag to print the generation, best chromosome and fitness.\n",
        "# This is the ancestral line of the solution.\n",
        "print_best_fitness = False\n",
        "show_graph = True\n",
        "\n",
        "\n",
        "def print_parameters7():\n",
        "    print(f\"Lab: Simple Genetic Algorithm\")\n",
        "    print(f\"Purpose: solve an instance of the Shakespeare challenge\")\n",
        "    print(f\"Date of Experiment  = {datetime.datetime.now()}\")\n",
        "    print(f\"alphabet =  {alphabet}\")\n",
        "    print(f\"target_sequence = {target_sequence}\")\n",
        "    print(f\"length_of_target_sequence = {length_of_target_sequence}\")\n",
        "    print(f\"population_size = {population_size}\")\n",
        "    print(f\"include_clone_population7 = {include_clone_population7}\")\n",
        "    print(f\"include_mutate_all7 = {include_mutate_all7}\")\n",
        "    print(f\"include_crossover_all7 = {include_crossover_all7}\")\n",
        "    if include_mutate_all7:\n",
        "        print(f\"mutation_rate = {mutation_rate}\")\n",
        "    if include_crossover_all7:\n",
        "        print(f\"recombination_rate = {recombination_rate}\")\n",
        "    if include_clone_population7:\n",
        "        print(f\"print_best_fitness = {print_best_fitness}\")\n",
        "\n",
        "\n",
        "def create_population7(population_size, target_sequence, alphabet):\n",
        "    \"\"\"Creates a new population with random chromosomes.\"\"\"\n",
        "    # print(\"create_population8(population_size, target_sequence, alphabet)\")\n",
        "    population = []\n",
        "    for _ in range(population_size):\n",
        "        random_string = ''.join(random.choice(alphabet) for _ in range(len(target_sequence)))\n",
        "        population.append(random_string)\n",
        "    # print(\"initial population\")\n",
        "    # print(population)\n",
        "    return population\n",
        "\n",
        "def calculate_fitness7(chromosome, target_sequence):\n",
        "    \"\"\"Calculates the fitness of a chromosome based on its similarity to the target sequence.\"\"\"\n",
        "    #  print(\"\\n *calculate_fitness8(chromosome, target_sequence)\")\n",
        "    fitness = 0\n",
        "    for i in range(len(chromosome)):\n",
        "        if chromosome[i] == target_sequence[i]:\n",
        "            fitness += 1\n",
        "    # print(chromosome, \"  fitness: \", fitness)\n",
        "    return fitness\n",
        "\n",
        "def calculate_all_fitness7(population, target_sequence):\n",
        "    # print(\"\\n*calculate_all_fitness8(population, target_sequence)\")\n",
        "    \"\"\"Calculates the fitness of all chromosomes in the population.\"\"\"\n",
        "    fitness_scores = [calculate_fitness7(chromosome, target_sequence) for chromosome in population]\n",
        "    # print(\"fitness_scores: \", fitness_scores)\n",
        "    return fitness_scores\n",
        "\n",
        "def select_the_best7(population, target_sequence):\n",
        "    \"\"\"Selects the best chromosome for reproduction.\"\"\"\n",
        "    fitness_scores = calculate_all_fitness7(population, target_sequence)\n",
        "    best_fitness = max(fitness_scores)\n",
        "    best_chromosome_index = fitness_scores.index(best_fitness)\n",
        "    best_chromosome = population[best_chromosome_index]\n",
        "    # print(\"\\n*select_the_best7(population)\")\n",
        "    # print(\"best_fitness = \", best_fitness)\n",
        "    # print(\"The chro = \", best_chromosome )\n",
        "    return best_fitness, best_chromosome\n",
        "\n",
        "def clone_population7(best_chromosome, population_size):\n",
        "    \"\"\"Creates a new population by cloning the best chromosome.\"\"\"\n",
        "    return [best_chromosome] * population_size\n",
        "\n",
        "\n",
        "def mutate7(chromosome, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates a chromosome.\"\"\"\n",
        "    mutated_chromosome_list = list(chromosome)\n",
        "    for i in range(len(mutated_chromosome_list)):\n",
        "        if random.random() < mutation_rate:\n",
        "                mutated_chromosome_list[i] = random.choice(alphabet)\n",
        "    return \"\".join(mutated_chromosome_list)\n",
        "\n",
        "def mutate_all7(population, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates all chromosomes in the population.\"\"\"\n",
        "    mutated_population = []\n",
        "    for chromosome in population:\n",
        "        mutated_chromosome = mutate7(chromosome, mutation_rate, alphabet)\n",
        "        mutated_population.append(mutated_chromosome)\n",
        "    return mutated_population\n",
        "\n",
        "def crossover7(parent1, parent2, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover between two parent chromosomes.\"\"\"\n",
        "    if random.random() < recombination_rate:\n",
        "        crossover_point = random.randint(0, len(target_sequence))\n",
        "        return parent1[:crossover_point] + parent2[crossover_point:]\n",
        "    else:\n",
        "        return parent1\n",
        "\n",
        "def crossover_all7(population, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover on all chromosomes in the population.\"\"\"\n",
        "    recombinant_population = []\n",
        "    for i in range(len(population)):\n",
        "        parent1 =  population[i]\n",
        "        parent2 = random.choice(population)\n",
        "        child = crossover7(parent1, parent2, target_sequence, recombination_rate)\n",
        "        recombinant_population.append(child)\n",
        "    return recombinant_population\n",
        "\n",
        "\n",
        "\n",
        "def run_one_generation7(population, target_sequence, mutation_rate, recombination_rate, alphabet):\n",
        "    \"\"\"Runs one generation of the genetic algorithm.\"\"\"\n",
        "    # Calculate fitness scores for the current population\n",
        "    best_fitness, best_chromosome  = select_the_best7(population, target_sequence)\n",
        "    # print(f\" best_chromosome {best_chromosome}, best_fitness {best_fitness}\")\n",
        "    # Clone the best to build the new population\n",
        "    new_population = []\n",
        "    if include_clone_population7:\n",
        "        new_population = clone_population7(best_chromosome, population_size)\n",
        "    if include_mutate_all7:\n",
        "        new_population = mutate_all7(new_population, mutation_rate, alphabet)\n",
        "    if include_crossover_all7:\n",
        "        new_population = crossover_all7(new_population, target_sequence, recombination_rate)\n",
        "    return best_fitness, best_chromosome, new_population\n",
        "\n",
        "\n",
        "\n",
        "def plot_Best_Fitness7(best_fitness_history):\n",
        "    # Plot the fitness history\n",
        "    plt.plot(best_fitness_history)\n",
        "    plt.axhline(y=length_of_target_sequence, color='red', linestyle='--', linewidth=2)\n",
        "    plt.xlabel('Generation')\n",
        "    plt.ylabel('Best Fitness')\n",
        "    plt.title('Genetic Algorithm - Fitness over Generations')\n",
        "    plt.grid(True)\n",
        "    plt.show()\n",
        "\n",
        "\n",
        "def main7( target_sequence, mutation_rate, recombination_rate, alphabet):\n",
        "    print_parameters7()\n",
        "    population = create_population7(population_size, target_sequence, alphabet)\n",
        "    # print(population)\n",
        "    generation = 0\n",
        "    best_chromosome = ''\n",
        "    best_fitness = 0\n",
        "    best_fitness_history = [] # List to store best fitness of each generation\n",
        "    if print_best_fitness:\n",
        "        print(\"Generation, best_chromosome and best_fitness\")\n",
        "    while best_fitness < len(target_sequence):\n",
        "        generation += 1\n",
        "        best_fitness, best_chromosome, population = run_one_generation7(population, target_sequence, mutation_rate, recombination_rate, alphabet)\n",
        "        if print_best_fitness:\n",
        "            print(f\" {generation}  {best_chromosome} {best_fitness}\")\n",
        "        best_fitness_history.append(best_fitness)\n",
        "    print(f\"\\nTarget sequence matched in generation {generation}\")\n",
        "    print(f\"Final chromosome: {best_chromosome}\")\n",
        "    totalCost = population_size * generation\n",
        "    print(f\"Total cost = population size * number of generations: {totalCost}\")\n",
        "    if show_graph:\n",
        "        plot_Best_Fitness7(best_fitness_history)\n",
        "\n",
        "\n",
        "main7( target_sequence, mutation_rate, recombination_rate, alphabet)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "GKfDz9W0blPw"
      },
      "source": [
        "## Speeding the code\n",
        "\n",
        "Evolution is simulated in many flavors, say, by varying the number of pivots in the recombination procedure. One genre deals with speed, which is important for both developers and clients. So, we asked Colab:\n",
        "\n",
        ">> Colab, please, speed the program `LabSimpleGeneticAlgorithm.py` to be run with very long target sequences.\n",
        ">\n",
        "> Gemini responded with a code that included a variation in selection, cross-over and reproduction, and also added memorization of the best performance per generation and a graphic. To ease the study of the code, all suggestions were joined here into an autonomous program. It uses a binary alphabet that is best suited for mathematical models."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 802
        },
        "id": "UCywcjFYRlII",
        "outputId": "cf06c001-c96a-4fad-f1bc-09a0f7174b4b"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Lab: Simple Genetic Algorithm\n",
            "Purpose: solve an instance of the Shakespeare challenge\n",
            "Date of Experiment  = 2026-02-09 07:20:35.025987\n",
            "alphabet =  01\n",
            "target_sequence = 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111\n",
            "length_of_target_sequence = 300\n",
            "population_size = 200\n",
            "include_clone_population8 = True\n",
            "include_mutate_all8 = True\n",
            "include_crossover_all8 = True\n",
            "mutation_rate = 0.01\n",
            "recombination_rate = 0.01\n",
            "print_best_fitness = False\n",
            "Generation, best_chromosome and best_fitness\n",
            " 0  010110111110010111101101110001010110101111010001111101100101010100001100011011101010101110101101110100011010110000111110111110111110001000111010101101101111011011111001000111010011101101100100010100100010110101101111100110001111100110010111001001101111011001011010001011100111110110110010011000110101 173\n",
            "\n",
            "Target sequence matched in generation 256!\n",
            "Final chromosome: 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111\n",
            "Total cost = population size * number of generations: 51200\n"
          ]
        },
        {
          "data": {
            "image/png": "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",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "# Program FastLabSimpleGeneticAlgorithm.py\n",
        "# Coworking with Gemini\n",
        "\n",
        "import datetime\n",
        "import random\n",
        "import matplotlib.pyplot as plt # Import matplotlib for plotting\n",
        "\n",
        "# alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "# target_sequence = 'Methinks it is like a weasel.'\n",
        "alphabet = '01' # Binary alphabet, binary strings\n",
        "length_of_target_sequence = 300\n",
        "target_sequence = '1'*length_of_target_sequence # 111...1\n",
        "population_size = 200\n",
        "include_clone_population8 = True\n",
        "include_mutate_all8 = True\n",
        "include_crossover_all8 = True\n",
        "mutation_rate = 0.01\n",
        "recombination_rate = 0.01\n",
        "# Boolean flag to print the generation, best chromosome and fitness.\n",
        "# This is the ancestral line of the solution.\n",
        "print_best_fitness = False\n",
        "show_graph = True\n",
        "\n",
        "\n",
        "def print_parameters8():\n",
        "    print(f\"Lab: Simple Genetic Algorithm\")\n",
        "    print(f\"Purpose: solve an instance of the Shakespeare challenge\")\n",
        "    print(f\"Date of Experiment  = {datetime.datetime.now()}\")\n",
        "    print(f\"alphabet =  {alphabet}\")\n",
        "    print(f\"target_sequence = {target_sequence}\")\n",
        "    print(f\"length_of_target_sequence = {length_of_target_sequence}\")\n",
        "    print(f\"population_size = {population_size}\")\n",
        "    print(f\"include_clone_population8 = {include_clone_population8}\")\n",
        "    print(f\"include_mutate_all8 = {include_mutate_all8}\")\n",
        "    print(f\"include_crossover_all8 = {include_crossover_all8}\")\n",
        "    if include_mutate_all8:\n",
        "        print(f\"mutation_rate = {mutation_rate}\")\n",
        "    if include_crossover_all8:\n",
        "        print(f\"recombination_rate = {recombination_rate}\")\n",
        "    if include_clone_population8:\n",
        "        print(f\"print_best_fitness = {print_best_fitness}\")\n",
        "\n",
        "\n",
        "def create_population8(population_size, target_sequence, alphabet):\n",
        "    \"\"\"Creates a new population with random chromosomes.\"\"\"\n",
        "    # print(\"create_population8(population_size, target_sequence, alphabet)\")\n",
        "    population = []\n",
        "    for _ in range(population_size):\n",
        "        random_string = ''.join(random.choice(alphabet) for _ in range(len(target_sequence)))\n",
        "        population.append(random_string)\n",
        "    # print(\"initial population\")\n",
        "    # print(population)\n",
        "    return population\n",
        "\n",
        "def calculate_fitness8(chromosome, target_sequence):\n",
        "    \"\"\"Calculates the fitness of a chromosome based on its similarity to the target sequence.\"\"\"\n",
        "    #  print(\"\\n *calculate_fitness8(chromosome, target_sequence)\")\n",
        "    fitness = 0\n",
        "    for i in range(len(chromosome)):\n",
        "        if chromosome[i] == target_sequence[i]:\n",
        "            fitness += 1\n",
        "    # print(chromosome, \"  fitness: \", fitness)\n",
        "    return fitness\n",
        "\n",
        "def calculate_all_fitness8(population, target_sequence):\n",
        "    # print(\"\\n*calculate_all_fitness8(population, target_sequence)\")\n",
        "    \"\"\"Calculates the fitness of all chromosomes in the population.\"\"\"\n",
        "    fitness_scores = [calculate_fitness8(chromosome, target_sequence) for chromosome in population]\n",
        "    # print(\"fitness_scores: \", fitness_scores)\n",
        "    return fitness_scores\n",
        "\n",
        "def select_the_best8(population, target_sequence):\n",
        "    \"\"\"Selects the best chromosome for reproduction.\"\"\"\n",
        "    fitness_scores = calculate_all_fitness8(population, target_sequence)\n",
        "    best_fitness = max(fitness_scores)\n",
        "    best_chromosome_index = fitness_scores.index(best_fitness)\n",
        "    best_chromosome = population[best_chromosome_index]\n",
        "    # print(\"\\n*select_the_best8(population)\")\n",
        "    # print(\"best_fitness = \", best_fitness)\n",
        "    # print(\"The chro = \", best_chromosome )\n",
        "    return best_fitness, best_chromosome\n",
        "\n",
        "def clone_population8(best_chromosome, population_size):\n",
        "    \"\"\"Creates a new population by cloning the best chromosome.\"\"\"\n",
        "    return [best_chromosome] * population_size\n",
        "\n",
        "\n",
        "def mutate8(chromosome, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates a chromosome.\"\"\"\n",
        "    mutated_chromosome_list = list(chromosome)\n",
        "    for i in range(len(mutated_chromosome_list)):\n",
        "        if random.random() < mutation_rate:\n",
        "                mutated_chromosome_list[i] = random.choice(alphabet)\n",
        "    return \"\".join(mutated_chromosome_list)\n",
        "\n",
        "\n",
        "# Define a more efficient reproduction function using tournament selection and single-point crossover\n",
        "def tournament_selection8(population, fitness_scores, tournament_size):\n",
        "    \"\"\"Selects a parent chromosome using tournament selection.\"\"\"\n",
        "    selected_indices = random.sample(range(len(population)), tournament_size)\n",
        "    best_index = selected_indices[0]\n",
        "    for index in selected_indices:\n",
        "        if fitness_scores[index] > fitness_scores[best_index]:\n",
        "            best_index = index\n",
        "    return population[best_index]\n",
        "\n",
        "def single_point_crossover8(parent1, parent2):\n",
        "    \"\"\"Performs single-point crossover between two parent chromosomes.\"\"\"\n",
        "    crossover_point = random.randint(0, len(parent1))\n",
        "    return parent1[:crossover_point] + parent2[crossover_point:]\n",
        "\n",
        "def reproduce_efficient8(population, fitness_scores, mutation_rate, recombination_rate, alphabet, tournament_size):\n",
        "    \"\"\"Creates a new population through reproduction with tournament selection, single-point crossover, and mutation.\"\"\"\n",
        "    new_population = []\n",
        "    for _ in range(len(population)):\n",
        "        parent1 = tournament_selection8(population, fitness_scores, tournament_size)\n",
        "        parent2 = tournament_selection8(population, fitness_scores, tournament_size)\n",
        "        if random.random() < recombination_rate:\n",
        "            child = single_point_crossover8(parent1, parent2)\n",
        "        else:\n",
        "            child = random.choice([parent1, parent2]) # Choose one parent if no crossover\n",
        "        mutated_child = mutate8(child, mutation_rate, alphabet)\n",
        "        new_population.append(mutated_child)\n",
        "    return new_population\n",
        "\n",
        "# Modify the main function to use the efficient reproduction\n",
        "def main_efficient8(target_sequence, population_size, mutation_rate, recombination_rate, alphabet, tournament_size=5):\n",
        "    print_parameters8()\n",
        "    population = create_population8(population_size, target_sequence, alphabet)\n",
        "    generation = 0\n",
        "    best_chromosome = ''\n",
        "    best_fitness = 0\n",
        "    best_fitness_history = [] # List to store best fitness of each generation\n",
        "    print(\"Generation, best_chromosome and best_fitness\")\n",
        "\n",
        "    # Calculate initial fitness scores\n",
        "    fitness_scores = calculate_all_fitness8(population, target_sequence)\n",
        "    best_fitness = max(fitness_scores)\n",
        "    best_chromosome_index = fitness_scores.index(best_fitness)\n",
        "    best_chromosome = population[best_chromosome_index]\n",
        "    best_fitness_history.append(best_fitness) # Store initial best fitness\n",
        "    print(f\" {generation}  {best_chromosome} {best_fitness}\")\n",
        "\n",
        "\n",
        "    while best_fitness < len(target_sequence):\n",
        "        generation += 1\n",
        "        population = reproduce_efficient8(population, fitness_scores, mutation_rate, recombination_rate, alphabet, tournament_size)\n",
        "        # Recalculate fitness scores for the new population\n",
        "        fitness_scores = calculate_all_fitness8(population, target_sequence)\n",
        "        best_fitness = max(fitness_scores)\n",
        "        best_chromosome_index = fitness_scores.index(best_fitness)\n",
        "        best_chromosome = population[best_chromosome_index]\n",
        "        best_fitness_history.append(best_fitness) # Store best fitness\n",
        "        # print(f\" {generation}  {best_chromosome} {best_fitness}\")\n",
        "\n",
        "\n",
        "    print(f\"\\nTarget sequence matched in generation {generation}!\")\n",
        "    print(f\"Final chromosome: {best_chromosome}\")\n",
        "    totalCost = population_size * generation\n",
        "    print(f\"Total cost = population size * number of generations: {totalCost}\")\n",
        "\n",
        "    return best_fitness_history # Return fitness history\n",
        "\n",
        "# Run the efficient genetic algorithm and get the fitness history\n",
        "fitness_history = main_efficient8(target_sequence, population_size, mutation_rate, recombination_rate, alphabet)\n",
        "\n",
        "# Plot the fitness history\n",
        "plt.plot(fitness_history)\n",
        "plt.axhline(y=length_of_target_sequence, color='red', linestyle='--', linewidth=2)\n",
        "plt.xlabel('Generation')\n",
        "plt.ylabel('Best Fitness')\n",
        "plt.title('Genetic Algorithm - Fitness over Generations')\n",
        "plt.grid(True)\n",
        "plt.show()\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "*Comment.* The suggestions by Gemini function and the program finds perfection but not faster that our former algorithm."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "SGTb7CzVps7a"
      },
      "source": [
        "# THE SENSELESS SEA\n",
        "\n",
        "What happens if mutation is recurrent and works alone?  \n",
        "\n",
        "**Example.** We can see in the next program the effect of recurrent mutation over an understandable sentence in English."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 9,
      "metadata": {
        "id": "cizaklPYp3jJ"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Lab: recursive mutation\n",
            "Purpose: show the effects of recursive mutation over the meaning of a sentence\n",
            "alphabet =  abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,\n",
            "target_sequence = Methinks it is like a weasel.\n",
            "Incoming string and its mutations in tandem\n",
            "0  MPthinks ic is Qike a weasel.  fitness = 26\n",
            "1  MPthitks ic is Qike T weasel.  fitness = 24\n",
            "2  pPthitks ic isdQike T weaszl.  fitness = 21\n",
            "3  qPthitks ic is hike T weaszlh  fitness = 21\n",
            "4  qPghQyks icDixshikeqG weyszlh  fitness = 14\n",
            "5  qPghQyks icDiDshikeqG weyszlh  fitness = 14\n",
            "6  qPghQBkW icDiDshikeqG weyszlh  fitness = 13\n",
            "7  qPbhQBkW icEioshikenG weyTzle  fitness = 12\n",
            "8  qPbhQBkW icEioshi,enG wAyTzle  fitness = 10\n",
            "9  qPbhMBkW ncZioshi,enG wAyTzae  fitness = 8\n",
            "10  qPbhMBkW gcZioshiRenG wAyTzae  fitness = 8\n",
            "11  qPbhMjCW gcZiosMiRenG wAyTzae  fitness = 7\n",
            "12  qPbhMjCWxgcZiosMiRenG wAyTzae  fitness = 6\n",
            "13  qPbhMjCWxgcZiosMscel iwAyTzae  fitness = 4\n",
            "14  qPbhMjCWxgcZIosMscel iwjyTzae  fitness = 3\n",
            "15  qPbhMjCWxgcnIvsMscel iwSyTvae  fitness = 3\n",
            "16  qPbhMjCWxgcnIvsMscel SwSyTvae  fitness = 3\n",
            "17  qPbbMjCWxgcnIvsMshtl EwSyTvae  fitness = 1\n",
            "18  qPbbMjCWxgCnKvsMshtl EwSyTvWe  fitness = 1\n",
            "19  qPFoMjCWxgCnKvZMshtl EwSyTvWe  fitness = 1\n",
            "20  qPFoMjfWxgCnKvZMshtl EwSyTvWe  fitness = 1\n",
            "21  qPFoMjfnxgCnKvZMshtl EDSyTvWe  fitness = 0\n",
            "22  KPFoMjfnxgCnKfZMshll EDSyTvWe  fitness = 0\n",
            "23  KjFoMjfnJgCnKfZMshll EDSyTvWe  fitness = 0\n",
            "24  KjFoMjGnJgCnKDZishll EDSyTvWe  fitness = 0\n",
            "25  KjFoMqGnJgCzKPZishnl EDSyTvWe  fitness = 0\n",
            "26  KjFoMqKnJgCzKPZishnl EDSyTvWe  fitness = 0\n",
            "27  KjFoMqKnJgCzKPZPshnR EDSyTvWc  fitness = 0\n",
            "28  KjFoMnenJgCzKNZPshnRCEDSyTvWc  fitness = 1\n",
            "29  KjFdMnenJgCzKNZPohPRCEDSyTUWc  fitness = 1\n",
            "30  KjF MnenJgJzdNZPohPRCEDSXTUuc  fitness = 1\n",
            "31  KjF MnenIgJzdNZMohPRCEDSCTUuc  fitness = 1\n",
            "32  KLF MneeIgJzdkZMohPwCEDSCFUuc  fitness = 1\n",
            "33  KLF MneeUgJzdkZMoh.wCEDSCpUuc  fitness = 1\n",
            "34  KLF MmeeUgJzdkZcoK.wCEDSCpUuc  fitness = 0\n",
            "35  KLF MmeeUkJcdkZcoK.wxEDSCpUuc  fitness = 0\n",
            "36  Ktc MmesUkYcdkZcoK.wxEDSeaUIL  fitness = 1\n",
            "37  Kxc MmesUkYc,WZcoK.wxElSeaU.L  fitness = 1\n",
            "38  Kxc MmesUkYc,W,coK.wxG.SeYU.L  fitness = 1\n",
            "39  Kxc MmksUqYc,W,doK.VxG.SeYU.L  fitness = 2\n",
            "40  Kxc MmksUqYc,WadoK.VCG.SeYU.L  fitness = 2\n",
            "41  Kxc MmksUqPP,WadoK.VhG.SeMU.l  fitness = 2\n",
            "42  KxcbMmksUqPP,WadoK.VhGsSeMU.l  fitness = 2\n",
            "43  KtcbMmksUqPP,WadoK.VhGsSeMf.l  fitness = 2\n",
            "44  KtcbMmLsUqPP,WadoK.V.GsSeMf.l  fitness = 1\n",
            "45  KtcbymLsUqPP,WadoK.V.GsSeMfGl  fitness = 1\n",
            "46  KtcbymLsUqPX,WadoH.W.GsShMfGl  fitness = 1\n",
            "47  KtlbyXLsUqPe,yadoH.W.GsShMfGl  fitness = 1\n",
            "48  KalbyvLUUqPe,yadoHpW.tsShMfGl  fitness = 0\n",
            "49  KalbyvLUUqPb,yaBoHpW.tsShyfGl  fitness = 0\n",
            "50  KalbyVLUUqPb,yaBoHpW.tsShyfGl  fitness = 0\n",
            "51  KalbyVLUUqPb,yqBoHpW.tsShyfGl  fitness = 0\n",
            "52  KdlbyVLUUqPb,yqBoHpW.tsPhysrl  fitness = 0\n",
            "53  KdlbyVLUUJPf,yqBoHpp.,sPhysrl  fitness = 0\n",
            "54  KdlbyVLaUJPf,yqBoHpp.,sPhysrl  fitness = 0\n",
            "55  KdlbyVLaUJPf,yqBolpp.,sxhyLGT  fitness = 0\n",
            "56  KGrbyVeaUJPf,yqBolpp.,sxhnLGT  fitness = 0\n",
            "57  KGr yVeaUJPf,oqBolpp.,sxhnLGT  fitness = 0\n",
            "58  CGrPyVeaUJhf,oqBolpp.,sxhnLGs  fitness = 0\n",
            "59  RGrPyVeaUJhf,ofvrlpp.,sxhnLGs  fitness = 0\n",
            "60  RGGPyVAaUJhf,ofvrlpp,,sxtncGs  fitness = 0\n",
            "61  RG PyVAaUJhf,oavrlpp,,sxfnfGs  fitness = 0\n",
            "62  RG Py AaUJhZpoaarlpp,isxfnyGr  fitness = 0\n",
            "63  RG Py AaUJhZpoaarlppjisxfnyrr  fitness = 0\n",
            "64  RG PS AaUJhZpsaarGppjisxfnyrr  fitness = 1\n",
            "65  RG PS AaUJhZpsadrGppjisxfnyrr  fitness = 1\n",
            "66  RG PS AaUJhZpsmdaGppjisxfnyrr  fitness = 1\n",
            "67  RG PS AaUJhCpKmdaGppjisxfnyrr  fitness = 0\n",
            "68  RG PS AaUJhCpKmdaGppAisxfnyrr  fitness = 0\n",
            "69  RG PS AaUJhCpKmdkCppAisxfnyrr  fitness = 0\n",
            "70  RY PSXAaUJhCpKmVkCppAisxfnyrr  fitness = 0\n",
            "71  RY PSXAaUJhCpKmVkCppAisxfnyrr  fitness = 0\n",
            "72  RY PSXAaUJhCpKmVkCppAisxfnygr  fitness = 0\n",
            "73  UY P,XAaUJhCpKmVkCpVAioxfnygr  fitness = 0\n",
            "74  UY P,XAaUJhCpKmVkCpVAioxfnygr  fitness = 0\n",
            "75  UY P,XXPrJhCpKmpkC,VAioxfnygr  fitness = 0\n",
            "76  UrEP,XXPrJhCpKmpkCZVAioxfnygr  fitness = 0\n",
            "77  UrEP,XUPrJhCpKmpkCZVAioxfiygr  fitness = 0\n",
            "78  UrEP,XUPhJhCtKmpkCZVAioxfiygf  fitness = 0\n",
            "79  grEP,kUPhJhCuKmpkCZVAioxfiygf  fitness = 0\n",
            "80  grEP,kUPiJhCuKmmkCZVAioxfiygf  fitness = 0\n",
            "81  grEP,kUPiJDCuKmmkC.VVizxjiygf  fitness = 0\n",
            "82  grpPMkUPiJDCuKmmkC.VVizxjiyJf  fitness = 0\n",
            "83  grpPMkUPiJDJuKmmkCaVVizxjitJf  fitness = 0\n",
            "84  grpPMkUniJDJuKmmkCaVVizxjitJf  fitness = 0\n",
            "85  grpPRkUniJDJuKmmkCaVVijxiisJf  fitness = 0\n",
            "86  grmPRkUniJDJuKmmkCapVijxiiHaf  fitness = 0\n",
            "87  gfmPRxUniJDJuKmmkCapVijxiiLaf  fitness = 0\n",
            "88  gfCPRxUniJDJuKmmkiapVijxiiLaf  fitness = 0\n",
            "89  gXCPRxUniJDJuKzmkOapVijxiiLaf  fitness = 0\n",
            "90  tXCPRxUniJDJuKzmkOapIq.xiiLaf  fitness = 0\n",
            "91  tXCPRxUniJDJgKzmkfapIq.xiisaf  fitness = 0\n",
            "92  tXCPRxUniJDJgKzkkfjpIq.xiisaf  fitness = 0\n",
            "93  tXCPRtU iJDJgKwkkdspIq.xiisaf  fitness = 0\n",
            "94  tXdPRtURiHDJgKwkkdspIq.xiisaf  fitness = 0\n",
            "95  kXdPRtUhkHDJgswkkdspIq.xiiyaf  fitness = 1\n",
            "96  kXZPRtUhkHDJgswkkdspIq.xioyaf  fitness = 1\n",
            "97  wXZPRtUhkHDtgswkkdspIq.xioyax  fitness = 1\n",
            "98  wFZPRtUhLHDtgswWkdspIq.xioyax  fitness = 1\n",
            "99  wFyPRtUhLUDtgswWkdspIqNeioyax  fitness = 2\n",
            "100  rFyPR.UhLHDtgskWkdspIqNeioyax  fitness = 2\n",
            "101  rFyPR.UQLHDtgskWkdspIqNeioyax  fitness = 2\n",
            "102  rFyPR.UQeHDtgskEkZspIqNeioyhx  fitness = 2\n",
            "103  rFyPR.tQBvDRgskEkVspIqNeigyhx  fitness = 2\n",
            "104  raySR.tQBvDRgskEkVspIqNBigyhx  fitness = 1\n",
            "105  raySR tQBvDRusREkVspIqNBigyhx  fitness = 1\n",
            "106  aaySR tQBvNRuKRPkVspqqNBigyhx  fitness = 0\n",
            "107  aaySR tQbvNRumRPkVspqqNBigyhx  fitness = 0\n",
            "108  aaySR tQbvNRukRPkkspbqNBigyhx  fitness = 1\n",
            "109  aBySR tQbANRukRPLkspbqNBigyhx  fitness = 1\n",
            "110  sBySRNtQbqNRukRPLkspbqNSIgyhx  fitness = 1\n",
            "111  sBySRNtQbqNRukRPLkspbqNSpgyhx  fitness = 1\n",
            "112  sxySRXtQbqNRukRPLkspbqNSpgyhx  fitness = 1\n",
            "113  sxySOXoQbyNRukRP.kMpbqNSpgyhx  fitness = 1\n",
            "114  sxySOXoQbyNlukRP.k.SbHNSpgyhx  fitness = 1\n",
            "115  sxySOXoQbyNvukRP.k.SbHNSpgyhx  fitness = 1\n",
            "116  sxySOXombrNvukRPvk.SbHNSpgyhx  fitness = 1\n",
            "117  sxyHOXomyrNvuklPvk.SbHNSpgyhZ  fitness = 1\n",
            "118  sxyHOmomyrNvsklPvf.SbHrSqgyhZ  fitness = 0\n",
            "119  sxyHOmomyrNvsplPvfVSbHrSqYygZ  fitness = 0\n",
            "120  sxMHOmomyrNvsplPvfVSbcrSqYygZ  fitness = 0\n",
            "121  HxMmOmomDrNvsplPvfVSbcrSqYyeZ  fitness = 0\n",
            "122  HxMmmmomDrNvsplPvfVSbcrStYyeZ  fitness = 0\n",
            "123  HxMmmmo.DrNvsplPvfVSbcrStYAeZ  fitness = 0\n",
            "124  HxMmmmo.DrNvsplPvfVSbmrStYAeZ  fitness = 0\n",
            "125  HxMmmmoDDrbvsplPvfVSbmrStYAeZ  fitness = 0\n",
            "126  HxMmmmoDQrbvsplPvfVSbmrStYAeZ  fitness = 0\n",
            "127  HxMmmmoDqrbvsplPvfVSbmrStYAeZ  fitness = 0\n",
            "128  HxMmmmoDqrbasplPvuVSbmrStYAeZ  fitness = 0\n",
            "129  HxN.mmoDqrbawplPvuVSbmgStYLeZ  fitness = 0\n",
            "130  HxN.mGoDqrbawplPHuVSbmgSOYLeZ  fitness = 0\n",
            "131  HxN.mGRDqrbawpFPHuVSbmgSOYLeZ  fitness = 0\n",
            "132  HxN.LGRDqTbNwpFPHbVSUmgSkYyeZ  fitness = 0\n",
            "133  HxN.LGRDqTbNwpFPHbVSUmgSkYyev  fitness = 0\n",
            "134  HxN.LGRwqTbNwpFPHFVSUmgSkByev  fitness = 0\n",
            "135  HxN.LHRwqTbNwpyPGFVSUmgSkByqv  fitness = 0\n",
            "136  HxN.eHbnqTbNwpyPGFVgUmgSkByqv  fitness = 0\n",
            "137  HxNTeHbnqTbNwpyPkFVgUmgSkwyqv  fitness = 0\n",
            "138  HxNTeZbnqTbNwpyPkFVgUpgSkwyqv  fitness = 0\n",
            "139  HxNTeZbnjTbNwpyPkFVgUpgSkwyqv  fitness = 0\n",
            "140  HxNTeZbnjTbNwpyEkFVgYpgSkwxqv  fitness = 0\n",
            "141  HxNTegbnjTxNwpyEkFVgYpgSkwxqv  fitness = 0\n",
            "142  HxNTegbnjFvNwpyOkFVgYpgskwpqv  fitness = 0\n",
            "143  HxmTegbnjFvNwpyOkFVgYpgskwpqv  fitness = 0\n",
            "144  HxhpegbnjFvNwpyOkOGgYpgskwptv  fitness = 0\n",
            "145  kxhpegbMjFvNwFyOkOGgHpgskwptv  fitness = 0\n",
            "146  kxhpegmMnHvNwFyOkOGgHpgskwptv  fitness = 0\n",
            "147  kxhpagmMnHvNgFyOkOGgupgskwptv  fitness = 0\n",
            "148  kxhpOumMnHvNgFoOkOggupgNkwptv  fitness = 0\n",
            "149  kxQpOumMnHvNgFoOkOggupgNkwptv  fitness = 0\n",
            "150  kxQpOumMuHvNgKoOkOggupgNiwptv  fitness = 0\n",
            "151  kxQsOumMuRmNgKoOKOggupgNiwptv  fitness = 0\n",
            "152  kxQsOumMuRmNgKoOKOggBpgNiwptv  fitness = 0\n",
            "153  kxQsOVmMuRmNghoOKOggBpgNiwptZ  fitness = 0\n",
            "154  BxQLOVmMuRmNEhoOKOggBpYNiwptZ  fitness = 0\n",
            "155  BzQLOVmMuRmzEhHOL ggBpYNiwptZ  fitness = 0\n",
            "156  BzQJOVmMuRuzEhHOL ggBpYNiwptZ  fitness = 0\n",
            "157  BzQJOVmMuRuzDHHOLWggBpYNiwptt  fitness = 0\n",
            "158  BzQJhVmMuRuzDHHOLWggBpYNiwptt  fitness = 0\n",
            "159  BzQJhVmMuRuzDHHOLWggBpFNiwptI  fitness = 0\n",
            "160  BzQJhVmMuRuzDHHOLWggBpFNiwptI  fitness = 0\n",
            "161  BzQJGVmMuRuzDHvOLWggBpFpiwptI  fitness = 0\n",
            "162  BzQJiVmzuRuzDFjOLWggBpF.iwptI  fitness = 1\n",
            "163  BzQJiVmzuRuzDvjTLWgUSpF.iwptI  fitness = 1\n",
            "164  BzQJiVmDuRZzjmvThkgUSpF.YwptI  fitness = 2\n",
            "165  BzQJiVLDuRZzjmvThkgUSpF.YwptI  fitness = 2\n",
            "166  BzQJiVLDuRZzjmvThktUSpF.YwptI  fitness = 2\n",
            "167  BzQJiVLQuRZzjDvShktUSpF.YwptI  fitness = 2\n",
            "168  BzQJiVLQuRZzjDvShktUSpF.YwptI  fitness = 2\n",
            "169  BzQJiVLQuRZzjDvShktUSrF.YwptI  fitness = 2\n",
            "170  BzQJiVLQuRZzjDvShktUKrFWYwptI  fitness = 2\n",
            "171  XyQEivLQuRZzjDvShktUKrFWYwptZ  fitness = 2\n",
            "172  XCQEivLQuRZ,jIvShktUKrFWYwptZ  fitness = 2\n",
            "173  XCQEpvLQRRZ,jIvy.ktUKrFvYwpgZ  fitness = 1\n",
            "174  XCQEWvLQRRZ,jIvc.ktUKrFvYwpgZ  fitness = 1\n",
            "175  XCQEWvLQRRQ,jMvc.ktUKrFvYIXgZ  fitness = 1\n",
            "176  XCQEWvLQRRQ,jMvc.ktUKrFvYIXdU  fitness = 1\n",
            "177  XCDEWvVQRRQ,jMvc.ktUKrFiYIXdU  fitness = 1\n",
            "178  XCDEWvVQRYQ,jMlc.ktUmdFiYIXdU  fitness = 1\n",
            "179  XCDEWVVQRYQ,jMlc.ktUmdFiYIXdU  fitness = 1\n",
            "180  XCDEWVVQRYQ,jMlc.ktUmdFiYIXdU  fitness = 1\n",
            "181  ,CDEWVVQilQcjMlc.ktUmDFiYFXdp  fitness = 1\n",
            "182  ,CDEWVVQilQcOMlc.ktUmDAiYFXdp  fitness = 1\n",
            "183  ,CDEWVVQilQcOMlc.ktUmDAilFXdp  fitness = 1\n",
            "184  OCeEWVVQilQcOMlc.ktUmDAilFXdK  fitness = 1\n",
            "185  OCeEWVVQilQcOMlc.ktUmDAilFXdK  fitness = 1\n",
            "186  ObeEuVRQilQcOMlc.ktUmDAElFXdK  fitness = 1\n",
            "187  ObeEuVRQilQcOMlcOktUmDAElFXdK  fitness = 1\n",
            "188  ObeEuVRQilQcOMlcOAtUmDAElFXdK  fitness = 0\n",
            "189  ObeEuVRQilQcOMwcOAtUmDAElFXdK  fitness = 0\n",
            "190  OOGEuVRQilQcOMwcOAtUmDAElFXdK  fitness = 0\n",
            "191  OOGEuVRQilQcOMwcOAtCmDAwlFXdK  fitness = 0\n",
            "192  OOGnuVRQilQcOMwcOAtbmkAXlFXkK  fitness = 0\n",
            "193  OOGJuVRQglQcOMwcOAtbmkAXlFXkK  fitness = 0\n",
            "194  OOGJuVRQVUCcOMwxwAtbmkAXlFRkK  fitness = 0\n",
            "195  OOGJpVRQKUCcOMwxwptbmkAXlFRkK  fitness = 0\n",
            "196  OOGJpVRQKUCcOMwxxptbmkAXlFRwK  fitness = 0\n",
            "197  OOSqpVRQKUCcOMwxxptbmkAXlF,wK  fitness = 0\n",
            "198  OOSqpVRQKUTcAMwxxptbmkAXlF,so  fitness = 0\n",
            "199  OOSqpVRQKUTcAMTuxptbxzAXlF,so  fitness = 0\n"
          ]
        }
      ],
      "source": [
        "# Program recurrent_mutation.py\n",
        "\n",
        "import random\n",
        "\n",
        "mutation_rate = 0.1\n",
        "\n",
        "alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "target_sequence = 'Methinks it is like a weasel.'\n",
        "length_of_target_sequence = len(target_sequence)\n",
        "# alphabet = '01' # Binary alphabet, binary strings\n",
        "# length_of_target_sequence = 100\n",
        "# target_sequence = '1'*length_of_target_sequence # 111...1\n",
        "\n",
        "def calculate_fitness9(chromosome, target_sequence):\n",
        "    \"\"\"Calculates the fitness of a chromosome based on its similarity to the target sequence.\"\"\"\n",
        "    #  print(\"\\n *calculate_fitness8(chromosome, target_sequence)\")\n",
        "    fitness = 0\n",
        "    for i in range(len(chromosome)):\n",
        "        if chromosome[i] == target_sequence[i]:\n",
        "            fitness += 1\n",
        "    # print(chromosome, \"  fitness: \", fitness)\n",
        "    return fitness\n",
        "\n",
        "def mutate9(chromosome, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates a chromosome.\"\"\"\n",
        "    mutated_chromosome_list = list(chromosome)\n",
        "    for i in range(len(mutated_chromosome_list)):\n",
        "        if random.random() < mutation_rate:\n",
        "            mutated_chromosome_list[i] = random.choice(alphabet)\n",
        "    return \"\".join(mutated_chromosome_list)\n",
        "\n",
        "def main9():\n",
        "    print(f\"Lab: recursive mutation\")\n",
        "    print(f\"Purpose: show the effects of recursive mutation over the meaning of a sentence\")\n",
        "    print(f\"alphabet =  {alphabet}\")\n",
        "    print(f\"target_sequence = {target_sequence}\")\n",
        "    print('Incoming string and its mutations in tandem')\n",
        "    chromosome = target_sequence\n",
        "    for i in range(200):\n",
        "        chromosome = mutate9(chromosome, mutation_rate, alphabet)\n",
        "        fitness = calculate_fitness9(chromosome, target_sequence)\n",
        "        print(f\"{i}  {chromosome}  fitness = {fitness}\")\n",
        "\n",
        "main9()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "pAkFPHU0r9c4"
      },
      "source": [
        "**Exercise.** Run the code, extract your conclusions and explain them.  \n",
        ">>\n",
        ">> *Answer.* The program takes and initial understandable sentence and recurrently mutates it. The fitness of each mutant is defined as the number of sites in which the initial and mutant sentences coincide. The fitness of the mutant continuously diminish and arrives to 0 with fluctuations that produce 1 and, with less frequency, 2, and rarely 3. It peacefully remains in that situation. \n",
        "\n",
        "From the semantic point of view, recurrent mutation degrades the meaning of any initial sentence. Why? It is because sentences with meaning form an archipelago that is surrounded by a sea of strings at random that make no sense in whatever language. Why shall this be so? It is because the human memory is limited to one million words, while the number of strings 20 chars long over an alphabet with 54 symbols is $54^{20} = \\infty$. So, apart from rare exceptions, strings are senseless. Nonetheless, sometimes a mutation leads to an understandable string. That is why we say that sentences with meaning form an archipelago, which is, anyway, very small. \n",
        "\n",
        "**Exercise.**  Do you consider that the previous exercise is for linguistics alone, or can it be applied to the study of the Evolution of living beings?\n",
        ">\n",
        "> *Answer.*  It is a fact of life that randomness alone produces nothing and degrades every effort. The reason is that the appearance of function needs the congruent role of many concomitant factors. But, when one has the appropriate formation, randomness can be a source of creativity. This possibility has been consecrated in Science with the name of serendipity. Evolution has been envisaged to be  \n",
        "also the appropriate environment to convert the senseless proposals of randomness into creative power. \n",
        "> \n",
        "> This exercise is applicable to Biology in the following form: a DNA string is understandable for nature when it encodes for something that helps to survive. Mutation makes changes and some of them could function in certain environments much better than the original one. But, mutations can cumulate and, in general, render the carrier organism unviable, which dies else it suffers somehow, the string or chromosome is detrimental. In our words: if that string is not understandable, it is senseless, has no meaning, the corresponding organism dies.  The proportion of understandable strings is low because the constraints are very stringent. Equivalently, making an alive being or part of it is extremely expensive and demands too much know-how, so most projects that come to mind are irrealizable or are poor imitations, and final products are not genuine.\n",
        ">\n",
        "> In conclusion, the DNA strings with meaning form an archipelago that is surrounded by a sea of strings that make no sense. That sea is the Senseless Sea, which is populated by useless DNA strings. That is why Genetic Engineering is so expensive and have produced various human deaths in spite of the strict security protocols. \n",
        "\n",
        "**Exercise.**  Research the structure of the senseless sea in binary strings. Hints: Edit the previous program `recurrent_mutation.py` as follows: deactivate lines 7, 8 and 9, and activate lines 10,11 and 12. This allows to change from the Latin alphabet to a binary one, which only has the symbols 0 and 1. Run the new version. Report your conclusions. \n",
        "> \n",
        "> *Answer.* For the binary alphabet, the senseless sea is composed of strings whose fitness is in the vicinity of half the optimum. To the human being, most binary strings seem to be senseless. \n",
        "\n",
        "**Example.** The fitness of the strings of the senseless sea for the Latin alphabet is different from that for the binary alphabet. In the first case, that sea is in the vicinity of fitness 0, and in the second, it is in the vicinity of mediocrity. How must we understand these contradictory facts?\n",
        "> \n",
        "> *Execution.* The contradiction is caused by the different expected values of the fitness function. The fitness of a string is the quantity of coincidences with the target string. Let us consider the mean, or expected values, in both cases:  \n",
        ">\n",
        ">  Binary case: The target function is 1111...1, with 100 ones. If a char of the string is 0, its fitness is zero and the contribution to the mean is 0. If the char is 1, its fitness is 1 and, since its probability is 1/2, the contribution to the mean is 1/2. This is the expected value that corresponds with mediocrity.\n",
        ">\n",
        "> Latin alphabet: The used alphabet contains 54 symbols. A symbol of the alphabet can match a specific site of the mutant string with probability 1/54. In that case, it contributes to the mean fitness with 1. How many times can this happen? As a first approximation, each symbol of the used alphabet appears in English sentences with equal probability, 1/54. So, if the original sentence has length $L$, the expected absolute frequency of each symbol is $L/54$. In that case the contribution to the fitness is 1. Therefore, the contribution of each symbol to the mean fitness is $\\frac{L}{54} \\times \\frac{1}{54}$ Now, we have 54 symbols. Therefore, the mean fitness is \n",
        "> >\n",
        "> $54 \\times \\frac{L}{54} \\times \\frac{1}{54} = \\frac{L}{54} $\n",
        ">  \n",
        "> In our case, the phrase: 'Methinks it is like a weasel.' has 29 chars. Hence, we have a prediction:\n",
        ">\n",
        "> The mean fitness is $\\frac{29}{54} = 0.54$ where the maximum is $29$. Thus, the expected value of the sea of nonsense for the Latin alphabet is very low, near 0.\n",
        "\n",
        "**Exercise.** Test the prediction of the previous exercise: The mean fitness for the Latin alphabet is $\\frac{29}{54} = 0.54$. To put this number on context, let us say that he maximal fitness is the length of the original pattern, which is 29. If a discrepancy exists, decide whether it is mortal. If not, propose an explanation. \n",
        ">\n",
        ">*Answer.* To know the mean fitness of the senseless sea corresponding to the phrase 'Methinks it is like a weasel.', 100 strings were synthesized at random, each fitness was measured, and the average was found and reported by the next program: \n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 10,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "*create_population(population_size, target_sequence, alphabet)\n",
            "Observed mean fitness = 0.43\n",
            "Expected mean fitness = 0.54\n"
          ]
        }
      ],
      "source": [
        "# Program mean_fitness.py\n",
        "# In colaboration with Gemini 2.5\n",
        "\n",
        "\n",
        "import datetime\n",
        "import random\n",
        "\n",
        "# This is the string to be matched\n",
        "target_sequence = 'Methinks it is like a weasel.'\n",
        "population_size = 100\n",
        "alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "\n",
        "\n",
        "def create_population10(population_size, target_sequence, alphabet):\n",
        "    \"\"\"Creates a new population with random chromosomes.\"\"\"\n",
        "    print(\"*create_population(population_size, target_sequence, alphabet)\")\n",
        "    population = []\n",
        "    for _ in range(population_size):\n",
        "        random_string = ''.join(random.choice(alphabet) for _ in range(len(target_sequence)))\n",
        "        population.append(random_string)\n",
        "    # print(\"initial population\")\n",
        "    # print(population)\n",
        "    return population\n",
        "\n",
        "def calculate_fitness10(chromosome, target_sequence):\n",
        "    \"\"\"Calculates the fitness of a chromosome based on its similarity to the target sequence.\"\"\"\n",
        "    #  print(\"\\n *calculate_fitness10(chromosome, target_sequence)\")\n",
        "    fitness = 0\n",
        "    for i in range(len(chromosome)):\n",
        "        if chromosome[i] == target_sequence[i]:\n",
        "            fitness += 1\n",
        "    # print(chromosome, \"  fitness: \", fitness)\n",
        "    return fitness\n",
        "\n",
        "def calculate_all_fitness10(population, target_sequence):\n",
        "    # print(\"\\n*calculate_all_fitness8(population, target_sequence)\")\n",
        "    \"\"\"Calculates the fitness of all chromosomes in the population.\"\"\"\n",
        "    fitness_scores = [calculate_fitness10(chromosome, target_sequence) for chromosome in population]\n",
        "    # print(\"fitness_scores: \", fitness_scores)\n",
        "    return fitness_scores\n",
        "\n",
        "def find_mean_fitness10(fitness_scores):\n",
        "    sum = 0\n",
        "    for i in range(len(fitness_scores)):\n",
        "        sum += fitness_scores[i]\n",
        "    mean = sum/len(fitness_scores)\n",
        "    return mean\n",
        "\n",
        "def main10():\n",
        "    population = create_population10(population_size, target_sequence, alphabet)\n",
        "    fitness_scores = calculate_all_fitness10(population, target_sequence)\n",
        "    mean = find_mean_fitness10(fitness_scores)\n",
        "    print(f\"Observed mean fitness = {mean:.3}\")\n",
        "    print(f\"Expected mean fitness = {0.54}\")\n",
        "\n",
        "main10()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "*Our comment.* There is a small discrepancy between observed and predicted, but we consider that it is not mortal. It might have its origin in the different frequencies of symbols of the used alphabet. For instance, there are 4 i, only one period and no z. That is why we continue believing that the basic behavior of the senseless sea is dictated by the average or expected fitness of the used alphabet. \n",
        "\n",
        "*The senseless sea as a challenge.* A sea of water has fluctuations. These are like waves that suddenly appear to disappear maybe immediately. Thus, the sea of nonsense has semantic fluctuations, in which sense is created. Each one might represent a different version of the origin of life. There are also energetic fluctuations in which the sense of a string could be stronger than usual. The simpler challenge is how to continuously extract energy from this sea of infinite power. Just as many small turbines could produce a good balance of energy from the waves and tides of seawater. The lesson of MAX, the selection of the fittest, to create sense is to use ensemble properties.   \n",
        "\n",
        "**Concourse.** Build mathematical models that help to explain and understand the results of our simulations. We inaugurate the concourse with our own models. But, our solutions are not necessarily the best, the simplest, the most intuitive, the most predictive. They even may be wrong. So, be alert to do something better.  And do it. \n",
        "\n",
        "**Example.** Let us build a mathematical model to predict the existence of the senseless sea for the binary alphabet. \n",
        ">\n",
        ">*Realization.* We will prove that when Evolution consists of mutation alone, a mandatory prediction for the binary alphabet is the senseless sea, which is conformed by strings with a fitness that is equal to nearly half of that of the target string.\n",
        "\n",
        "The population of the present generation consists of cloned chromosomes of the champion of the last generation. Since we deal with mutation alone, it is enough to consider one chromosome because all have the same behavior. But the initial condition could be whatever. \n",
        "\n",
        "The target string, the original one that serves as pattern, has length $H$. Every chromosome has a fitness $M_t$ that is the number of sites that match the corresponding sites in the target string.  Let us turn mutation on. Each site can be or not touched by mutation, whose rate is $\\mu$. So, the proportion of touched sites is $\\mu H$. \n",
        "\n",
        "If a site is touched, mutation posits in there a random char than can be 1 or 0.  And each site matches or not the corresponding site of the target string. Since the char is chosen at random, the proportion of those sites that match is the half of touched ones, $\\frac{1}{2} \\mu H$.\n",
        "\n",
        "If a site is not touched, we have two options, two branches: the site is already correct and matches the target string, else not. The proportion of untouched sites is $H - \\mu H = (1- \\mu) H$ and the global proportion of correct sites is $\\frac{M_t}{H}$.  Therefore, the quantity of correct sites among the untouched ones is\n",
        "\n",
        "$(1- \\mu) H (\\frac{M_t}{H})  = (1-\\mu)M_t = M_t - \\mu M_t$.\n",
        "\n",
        "The total number of correct sites of the next generation has two sources, those touched by mutation and those untouched, hence, we add the corresponding terms:\n",
        "\n",
        "$M_{t+1} = \\frac{1}{2} \\mu H + M_t - \\mu M_t $\n",
        "\n",
        "$M_{t+1} - M_t = \\frac{1}{2} \\mu H - \\mu M_t  = \\mu ( \\frac{1}{2}  H -   M_t) $\n",
        "\n",
        "if we name $M_{t+1} - M_t $ as $\\Delta M_t$, we get\n",
        "\n",
        "$\\Delta M_t =  \\mu ( \\frac{1}{2}  H -   M_t) $\n",
        "\n",
        "This is the increment of correct sites from one generation to the next. It is equal to zero if\n",
        "\n",
        "$\\Delta M_t =  \\mu ( \\frac{1}{2}  H -   M_t) = 0$\n",
        "\n",
        "that happens when \n",
        "\n",
        "$M_t = \\frac{1}{2}  H$ \n",
        "\n",
        "This equation says that \n",
        "\n",
        "> When Evolution is fueled by mutation alone, it is a force that fiercely battles for keeping the status quo, which is mediocrity (in the case of a binary alphabet). Or, the nonsense sea is a mandatory prediction when mutation works alone.\n",
        "\n",
        "**Challenge.** Generalize the previous result for whatever alphabet. \n",
        "\n",
        "\n",
        "**Exercise.** Use a simulation to test the prediction that mutation enforces mediocrity when there is no selection and the used alphabet is binary. This means that mutation alone is a tremendous force that rises from no-function to mediocrity-function, with about the half of perfection. But, if by mere randomness, quality rises above mediocrity, mutation push it backwards to mediocrity.\n",
        ">\n",
        "> *Answer.* We consider binary strings. Perfection is depicted by the string 111...1, and total absence of function by 000...0. We must proof that in the long range, every initial condition is forgotten in favor of mediocrity, in which zeroes and ones appear in almost equal proportions.  The code follows:\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Lab: recursive mutation\n",
            "Purpose: show the effects of recursive mutation over the meaning of a sentence\n",
            "alphabet =  01\n",
            "target_sequence = 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111\n",
            "Incoming string and its mutations in tandem\n",
            "target_sequence = 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111\n",
            "Incoming string and its mutations in tandem\n",
            "target_sequence = 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111\n",
            "Incoming string and its mutations in tandem\n"
          ]
        },
        {
          "data": {
            "image/png": "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",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "# Program convergence_to_mediocrity.py\n",
        "\n",
        "import random\n",
        "import math\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt # Import matplotlib for plotting\n",
        "\n",
        "mutation_rate = 0.1\n",
        "\n",
        "# alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "# target_sequence = 'Methinks it is like a weasel.'\n",
        "# length_of_target_sequence = len(target_sequence)\n",
        "\n",
        "alphabet = '01' # Binary alphabet, binary strings\n",
        "length_of_target_sequence = 1000\n",
        "target_sequence = '1'*length_of_target_sequence # 111...1\n",
        "\n",
        "def calculate_fitness11(chromosome, target_sequence):\n",
        "    \"\"\"Calculates the fitness of a chromosome based on its similarity to the target sequence.\"\"\"\n",
        "    #  print(\"\\n *calculate_fitness8(chromosome, target_sequence)\")\n",
        "    fitness = 0\n",
        "    for i in range(len(chromosome)):\n",
        "        if chromosome[i] == target_sequence[i]:\n",
        "            fitness += 1\n",
        "    # print(chromosome, \"  fitness: \", fitness)\n",
        "    return fitness\n",
        "\n",
        "def mutate11(chromosome, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates a chromosome.\"\"\"\n",
        "    mutated_chromosome_list = list(chromosome)\n",
        "    for i in range(len(mutated_chromosome_list)):\n",
        "        if random.random() < mutation_rate:\n",
        "            mutated_chromosome_list[i] = random.choice(alphabet)\n",
        "    return \"\".join(mutated_chromosome_list)\n",
        "\n",
        "def main_loop11(initial_sequence):\n",
        "    print(f\"target_sequence = {target_sequence}\")\n",
        "    print('Incoming string and its mutations in tandem')\n",
        "    chromosome = initial_sequence\n",
        "    fitness_history = []\n",
        "    for i in range(200):\n",
        "        chromosome = mutate11(chromosome, mutation_rate, alphabet)\n",
        "        fitness = calculate_fitness11(chromosome, target_sequence)\n",
        "        # print(f\"{i}  {chromosome}  fitness = {fitness}\")\n",
        "        fitness_history.append(fitness)\n",
        "    return fitness_history\n",
        "\n",
        "def main11(target_sequence):\n",
        "    print(f\"Lab: recursive mutation\")\n",
        "    print(f\"Purpose: show the effects of recursive mutation over the meaning of a sentence\")\n",
        "    print(f\"alphabet =  {alphabet}\")\n",
        "    random_string = ''.join(random.choice(alphabet) for _ in range(len(target_sequence)))\n",
        "    fitness_history1 = main_loop11(random_string)\n",
        "    initial_sequence1 = target_sequence\n",
        "    fitness_history2 = main_loop11(initial_sequence1)\n",
        "    initial_sequence2 = '0'*length_of_target_sequence\n",
        "    fitness_history3 = main_loop11(initial_sequence2)\n",
        "    \n",
        "    # Graphs\n",
        "    plt.plot(fitness_history1)\n",
        "    plt.plot(fitness_history2)\n",
        "    plt.plot(fitness_history3)\n",
        "    xlabel = 'Generation'\n",
        "    ylabel = 'Number of matched sites'\n",
        "    title = 'Three initial conditions, population size = 1. Fitness over Generations'\n",
        "    plt.grid(True)\n",
        "    plt.legend(['Random', 'All 1s', 'All 0s'])\n",
        "    plt.xlabel(xlabel)\n",
        "    plt.ylabel(ylabel)\n",
        "    plt.title(title)\n",
        "    plt.show()\n",
        "\n",
        "main11(target_sequence)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "*Comments.* Mutation alone is a force that lifts quality from null to mediocrity. Thus, a change in fitness cannot be attributed to Selection if before the effect of mutation has not been ruled out. If quality surpasses mediocrity, mutation very fast attacks it to implant mediocrity as the status quo, the ordinary estate of the sea of nonsense. Thus, a question arises: How can we scape from the sea on nonsense?\n",
        "\n",
        "We already know that mutation alone creates a very impressive entity that we called the **senseless sea** to which all rivers converge. The sea level for a binary alphabet is mediocrity, which is kept as the status quo, by a (virtual) force that is no less powerful than gravitation in our seas of water.\n",
        "\n",
        "**Challenge.** The sea level for a binary alphabet is mediocrity.  In this case randomness lifts from nothing to mediocrity, so, binary alphabet seems to solve the half of all problems. By contrast, the sea level for the Latin alphabet is much lower. Since everything can be expressed in binary terms, Why does the Latin alphabet exist?\n",
        "\n",
        "**Example.** We have a mathematical model that correctly predicts that the nonsense sea is a mandatory prediction starting from whatever initial condition. Let us elaborate the model to predict the form of convergence towards the senseless sea.\n",
        "\n",
        "*Development.* Sense is a synonym of fitness, of the number of matched sites. Thus, according to the previous model, the fitness in the next generation is given in terms of the present fitness by\n",
        "\n",
        "$\\Delta M_t =  M_{t+1} - M_t =  \\mu ( \\frac{1}{2}  H -   M_t) $\n",
        "\n",
        "\n",
        "This means that the number of matched sites will increase when \n",
        "\n",
        "$ \\frac{1}{2} H -M_t > 0$ \n",
        "\n",
        "$ \\frac{1}{2} H > M_t $ \n",
        "\n",
        "or\n",
        "\n",
        "$ M_t <  \\frac{1}{2} H  $ \n",
        "\n",
        "i.e. when $M_t$ is below the half of the length of the password. In particular, if the initial condition is given by a string with 0 fitness, mutation will force the kinematics to rise until mediocrity. In this case, mutation plays the role of a progressist force. By contrast, if by some reason $M_t$ is greater than $\\frac{1}{2} H$, mutation will persecute matching sites until their number falls below $ \\frac{1}{2}H$. We see that mutation is a force that makes of mediocrity the status quo.\n",
        "\n",
        "Let us find the associated differential equation to the previous difference equation, solve it, and interpret results.\n",
        " \n",
        "The equation\n",
        " \n",
        "$M_{t+1} - M_t = \\mu ( \\frac{1}{2} H -M_t)$\n",
        " \n",
        "can be read as follows if we consider that the unit of time is $\\Delta t$:\n",
        " \n",
        "$\\Delta M = (M_{t+ \\Delta t} - M_t) = \\mu ( \\frac{1}{2} H -M_t)\\Delta t$\n",
        " \n",
        "$\\frac{\\Delta M}{\\Delta t} = \\mu ( \\frac{1}{2} H -M_t) $\n",
        " \n",
        "This equation is valid for finite intervals of time. We can extend it to infinitesimal times as a differential equation:\n",
        " \n",
        "$\\frac{dM}{d t} = \\mu ( \\frac{1}{2} H -M) $\n",
        " \n",
        "$\\frac{dM}{d t} + \\mu M = \\frac{1}{2} \\mu H $\n",
        " \n",
        "The general equation is\n",
        "\n",
        "$\\frac{dM}{d t} + A M = B $\n",
        "\n",
        "with general solution (see next exercise)\n",
        "\n",
        "$$M = \\frac{B}{A} (1 - de^{-A t})  \\tag{1}$$\n",
        "\n",
        "In our case, $A = \\mu$ , and $B= \\frac{1}{2} \\mu H$, hence, $\\frac{B}{A} =  \\frac{1}{2}H $. The solution is, therefore,\n",
        "\n",
        "\n",
        "$$ M = \\frac{1}{2} H(1 - de^{-\\mu t}) \\tag{2} $$\n",
        "\n",
        "If the initial condition is total imperfection, $M_0 = 0$,  \n",
        "\n",
        "$0 = \\frac{1}{2} H(1 - d )$\n",
        "\n",
        "$ d = 1$\n",
        "\n",
        "$M_t = \\frac{1}{2} H(1 - e^{-\\mu t})$\n",
        "\n",
        "when $t$ grows, the exponential diminishes, and $M$ grows until\n",
        "\n",
        "$M_{\\infty} = \\frac{1}{2} H(1 - 0) = \\frac{H}{2}$\n",
        "\n",
        "\n",
        "This says that if the initial condition is total imperfection, $M_0 = 0$, then \n",
        "$M_t$ will grow steadily towards $\\frac{1}{2}$. It always opens downwards because the second derivative is always negative. This means that mutation alone is capable of  rising the number of matches from 0 to mediocrity.  \n",
        "\n",
        "If the initial condition is total perfection, $M_0 = H$,  \n",
        "\n",
        "$H = \\frac{1}{2} H(1 - d )$\n",
        "\n",
        "$ d = -1$\n",
        "\n",
        "$M_t = \\frac{1}{2} H(1 + e^{-\\mu t})$\n",
        "\n",
        "when $t$ grows, the exponential diminishes, and $M$ also until\n",
        "\n",
        "$M_{\\infty} = \\frac{1}{2} H(1 + 0) = \\frac{H}{2}$\n",
        "\n",
        "\n",
        "If the initial condition is total perfection, $M_0 = H$, \n",
        "$M$ will diminish steadily towards $\\frac{1}{2}$. It always opens upwards because the second derivative is always positive. This means that mutation alone distorts perfection but not totally but until mediocrity.  \n",
        "\n",
        "The kinematics of $p$, the proportion of guessed bits, is:\n",
        "\n",
        "$p_t = \\frac{M}{H} = \\frac{1}{2} (1 - de^{-\\mu t})$\n",
        "\n",
        "The limit of $p_t$ when $t \\to \\infty$ is\n",
        "\n",
        "$p_\\infty = \\frac{M}{H} = \\frac{1}{2} (1 - 0) = \\frac{1}{2}$\n",
        "\n",
        "is independent of the initial condition, which is driven into mediocrity. \n",
        "\n",
        "**Exercise.** Find the general solution of the differential equation  \n",
        "\n",
        "$\\frac{dM}{d t} + A M = B $\n",
        ">\n",
        ">*Answer.* Let us observe that a constant can solve this equation. Let it be $M_t = K$. Replacing, we get\n",
        "\n",
        "$AK = B$\n",
        "\n",
        "$K = \\frac{B}{A}$.\n",
        "\n",
        "If we define \n",
        "\n",
        "$N_t = M_t-\\frac{B}{A}$\n",
        "\n",
        "or\n",
        "\n",
        "$M_t = N_t+\\frac{B}{A}$ \n",
        "\n",
        "which can be replaced in the differential equation, to get\n",
        "\n",
        "$\\frac{d (N_t+\\frac{B}{A})}{d t} + A (N_t+\\frac{B}{A})) = B $\n",
        "\n",
        "$\\frac{d N_t}{d t} + A N_t+ B = B $\n",
        "\n",
        "$\\frac{d N_t}{d t} + A N_t = 0 $\n",
        "\n",
        "Separating variables, $N$ from $t$, we get\n",
        "\n",
        "$ d N_t = - A N_t dt$\n",
        "\n",
        "$\\frac{d N_t}{ N_t}  = -Adt$\n",
        "\n",
        "Integrating\n",
        "\n",
        "$\\ln N_t = -At + c$\n",
        "\n",
        "Taking exponentials\n",
        "\n",
        "$N_t = e^{-At + c} = Ce^{-At} $\n",
        "\n",
        "and, returning to $M_t$,\n",
        "\n",
        "$M_t = N_t+\\frac{B}{A}   $ \n",
        "\n",
        "$M_t = Ce^{-At}+\\frac{B}{A} $ \n",
        "\n",
        "$M_t = \\frac{B}{A} ( de^{-At}+ 1) $ \n",
        "\n",
        "or\n",
        "\n",
        "$$ M(t) = \\frac{B}{A} (1 - de^{-A t})  \\tag{1}$$\n",
        "\n",
        "**Exercise.** Design a test for the  prediction of our math model that the convergence to mediocrity is dictated by an exponential function.\n",
        ">\n",
        ">*Answer.*   The equation\n",
        "\n",
        "$$ M = \\frac{1}{2} H(1 - de^{-\\mu t}) \\tag{2} $$\n",
        "\n",
        "is equivalent to\n",
        "\n",
        "$M_t = \\frac{1}{2} H  - \\frac{dH}{2} e^{-\\mu t} $ \n",
        "\n",
        "$M_t - \\frac{1}{2} H   = - \\frac{dH}{2} e^{-\\mu t} $ \n",
        "\n",
        "$W_t = \\frac{1}{2} H  - M_t =  \\frac{dH}{2} e^{-\\mu t} $ \n",
        "\n",
        "Taking ln\n",
        "\n",
        "$\\ln W_t = \\ln d + \\ln H - \\ln 2 - \\mu t$\n",
        "\n",
        "$\\ln W_t = c - \\mu t$\n",
        "\n",
        "where $c = \\ln d + \\ln H - \\ln 2 $\n",
        "\n",
        "\n",
        "We must resolve the following objection: In the anterior proof, it has been assumed that $d > 0$. But it also can be less than 0. So, the proposed test is incomplete. If $d < 0$, we are above mediocrity. Then, we can define\n",
        "\n",
        "$W_t = M_t - \\frac{1}{2} H =  - \\frac{dH}{2} e^{-\\mu t} $\n",
        "\n",
        "and go on as before. \n",
        "\n",
        "\n",
        "We have here a test for the prediction: if the kinematics follows an exponential function, then the graph of the ln of $|M_t - \\frac{1}{2} H|$ against $t$ must be a straight line. \n",
        "\n",
        "\n",
        "\n",
        "\n",
        "**Exercise.* Execute the test and comment on your finding.\n",
        ">\n",
        "> *Answer.* The code that executes the test follows.\n",
        "\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 12,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Lab: recursive mutation\n",
            "Purpose: show the effects of recursive mutation over the meaning of a sentence\n",
            "alphabet =  01\n",
            "target_sequence = 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111\n",
            "Incoming string and its mutations in tandem\n"
          ]
        },
        {
          "data": {
            "image/png": "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",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "shifted_fitness_history = [451. 416. 372. 343. 310. 271. 245. 227. 207. 181. 158. 142. 126. 115.\n",
            "  98.  85.  81.  72.  68.  67.  60.  54.  50.  26.  14.   6.  10.]\n",
            "Linear Regression Equation (log of mean of MAX vs number of monkeys): y = -0.1300932x + 6.36\n"
          ]
        },
        {
          "data": {
            "image/png": "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",
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "# Program exponential_convergence.py\n",
        "# This program tests the prediction\n",
        "# that the convergence of fitness \n",
        "# to medicrity is dictated by an exponential function.\n",
        "\n",
        "import random\n",
        "import math\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt # Import matplotlib for plotting\n",
        "\n",
        "mutation_rate = 0.1\n",
        "\n",
        "# alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "# target_sequence = 'Methinks it is like a weasel.'\n",
        "alphabet = '01' # Binary alphabet, binary strings\n",
        "length_of_target_sequence = 1000\n",
        "target_sequence = '1'*length_of_target_sequence # 111...1\n",
        "n_generations = 27\n",
        "\n",
        "def calculate_fitness12(chromosome, target_sequence):\n",
        "    \"\"\"Calculates the fitness of a chromosome based on its similarity to the target sequence.\"\"\"\n",
        "    #  print(\"\\n *calculate_fitness8(chromosome, target_sequence)\")\n",
        "    fitness = 0\n",
        "    for i in range(len(chromosome)):\n",
        "        if chromosome[i] == target_sequence[i]:\n",
        "            fitness += 1\n",
        "    # print(chromosome, \"  fitness: \", fitness)\n",
        "    return fitness\n",
        "\n",
        "def mutate12(chromosome, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates a chromosome.\"\"\"\n",
        "    mutated_chromosome_list = list(chromosome)\n",
        "    for i in range(len(mutated_chromosome_list)):\n",
        "        if random.random() < mutation_rate:\n",
        "            mutated_chromosome_list[i] = random.choice(alphabet)\n",
        "    return \"\".join(mutated_chromosome_list)\n",
        "\n",
        "def main_loop12(initial_sequence):\n",
        "    print(f\"target_sequence = {target_sequence}\")\n",
        "    print('Incoming string and its mutations in tandem')\n",
        "    chromosome = initial_sequence\n",
        "    fitness_history = []\n",
        "    for i in range(n_generations):\n",
        "        chromosome = mutate12(chromosome, mutation_rate, alphabet)\n",
        "        fitness = calculate_fitness12(chromosome, target_sequence)\n",
        "        # print(f\"{i}  {chromosome}  fitness = {fitness}\")\n",
        "        fitness_history.append(fitness)\n",
        "    return fitness_history\n",
        "\n",
        "def main12(target_sequence):\n",
        "    print(f\"Lab: recursive mutation\")\n",
        "    print(f\"Purpose: show the effects of recursive mutation over the meaning of a sentence\")\n",
        "    print(f\"alphabet =  {alphabet}\")\n",
        "    initial_sequence = target_sequence\n",
        "    fitness_history = main_loop12(initial_sequence)\n",
        "    \n",
        "    # Graph of fitness history\n",
        "    plt.plot(fitness_history)\n",
        "    xlabel = 'Generation'\n",
        "    ylabel = 'Number of matched sites'\n",
        "    title = 'Fitness over Generations'\n",
        "    plt.grid(True)\n",
        "    plt.legend(['Random', 'All 1s', 'All 0s'])\n",
        "    plt.xlabel(xlabel)\n",
        "    plt.ylabel(ylabel)\n",
        "    plt.title(title)\n",
        "    plt.show()\n",
        "\n",
        "    # Test for exponential convergence\n",
        "    shifted_fitness_history = fitness_history\n",
        "    shifted_fitness_history = np.array(shifted_fitness_history)\n",
        "    L = length_of_target_sequence\n",
        "    shift = L/2\n",
        "    shifted_fitness_history =  shifted_fitness_history  - shift \n",
        "    print(f\"shifted_fitness_history = {shifted_fitness_history}\")\n",
        "\n",
        "\n",
        "    # Linear regression on the log of fitness\n",
        "    log_y_array = np.log(shifted_fitness_history)\n",
        "    t = np.linspace(0, n_generations, n_generations)\n",
        "    slope, log_intercept = np.polyfit(t, log_y_array, 1)\n",
        "    print(f\"Linear Regression Equation (log of mean of MAX vs number of monkeys): y = {slope:.7f}x + {log_intercept:.2f}\")\n",
        "    log_regression_line = slope * np.array(t) + log_intercept\n",
        "\n",
        "    # Plot the  log of transformed data and the log regression line\n",
        "    plt.figure(figsize=(10, 6))\n",
        "    plt.scatter(t, log_y_array, label='Observed Log Data')\n",
        "    plt.plot(t, log_regression_line, color='red', label=f'Linear Regression on Log: log(y) = {slope:.7f}x + {log_intercept:.4f}')\n",
        "    plt.xlabel('m = number of monkeys')\n",
        "    plt.ylabel('Log of means of MAX ')\n",
        "    plt.title('Linear Regression of Log of  (shifted fitness history)  vs. generation')\n",
        "    plt.legend()\n",
        "    plt.grid(True)\n",
        "    plt.show()\n",
        "\n",
        "main12(target_sequence)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "*Comment.* The fitting of the regression line to the data is good. Thus, we accept the hypothesis that the convergence of the fitness to the senseless sea is dictated by an exponential function, such as claimed by the mathematical model. This example shows that a continuous model can fit discrete data. We observed that when the fitness is approaching the sea, the magnitude of fluctuations seem to increase. This is a mystery for us and a challenge for you.\n",
        "\n",
        "*Challenge.* Respond to the following complaint:\n",
        ">\n",
        "> Objection: To make sure that the fall into the senseless sea follows an exponential function, one must draw the predicted and observed functions, and compare.\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# COMMON ANCESTOR OF DOGS AND CATS\n",
        "\n",
        "Let us start Evolution with a string with sense and direct it to another string with sense. Our aim is to see if Evolution traverses the sea of nonsense.\n",
        "\n",
        "> *Exercise.* Invent a sentence to characterize a dog. Invent another for a cat. Run full Evolution from one into the another.  What can you say about the common ancestor that Evolution retro-predicts? This is the **Darwinian Shakespeare Challenge**.\n",
        ">\n",
        "> *Answer.\n",
        "> Our characterization of a cat is:\n",
        ">\n",
        ">> *The cat slept the whole day.*\n",
        ">>\n",
        "> Our characterization of a dog is:\n",
        ">>\n",
        ">>> *The dog barked the whole night.*\n",
        ">>\n",
        "> The code in the next cell enables Evolution starting with a cloned population of the sentence that characterizes the cat, and the task is to match the sentence that characterizes the dog. The aim is to determine the common ancestor. We aligned the two sentences.\n",
        ">\n",
        "> The common ancestor was determined by the following criterion: while Evolution goes from the starting sequence to the target one, the fitness that is determined by the target string increases step by step. At the same time, the fitness that is determined by the starting string diminishes. The last generation in which the target fitness ceases to be less than the starting fitness determines the common ancestor, and the generation in which he arises."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Lab: Simple Genetic Algorithm\n",
            "Purpose: solve an instance of the Shakespeare challenge\n",
            "Date of Experiment  = 2026-02-09 09:46:39.144645\n",
            "alphabet =  abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,\n",
            "starting_sequence = The cat slept  the whole day...\n",
            "target_sequence   = The dog barked the whole night.\n",
            "length_of_starting_sequence = 31\n",
            "length_of_target_sequence = 31\n",
            "population_size = 20\n",
            "include_clone_population13 = True\n",
            "include_mutate_all13 = True\n",
            "include_crossover_all13 = True\n",
            "mutation_rate = 0.01\n",
            "recombination_rate = 0.01\n",
            "print_best_fitness = True\n",
            "Initial population\n",
            "['The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...', 'The cat slept  the whole day...']\n",
            "Generation, best_chromosome, best_fitness, best_fitness2\n",
            " 1  The cat slept  the whole day... 17  31\n",
            " 2  The cat slept  the whole day... 17  31\n",
            " 3  The cat slept  the whole day... 17  31\n",
            " 4  The cat sleyt  the whole day... 17  30\n",
            " 5  The cat sleyt  the whole day... 17  30\n",
            " 6  The cat sleyt  the whole day... 17  30\n",
            " 7  The cat sleyt  the whole day... 17  30\n",
            " 8  The cat sleyt  the whole day... 17  30\n",
            " 9  The cah sleyt  the whole day... 17  29\n",
            " 10  The cah sleyt  the whole day... 17  29\n",
            " 11  The cah sleyt  the whole day... 17  29\n",
            " 12  The cah sleyt  the whole day... 17  29\n",
            " 13  The cah sleyt  the whole day... 17  29\n",
            " 14  The cah sleyt  the whole day... 17  29\n",
            " 15  The cah sleyti the whole day... 17  28\n",
            " 16  The cah sleyti the whole day... 17  28\n",
            " 17  The cah sleyti the whole day... 17  28\n",
            " 18  The cah sleyti the whole day... 17  28\n",
            " 19  The cah sleyti the whole day... 17  28\n",
            " 20  The cah sleyti the whole day... 17  28\n",
            " 21  The cah sleyti the whole day... 17  28\n",
            " 22  The ceh sleyti the whole day... 17  27\n",
            " 23  The ceh sleyti the whole day... 17  27\n",
            " 24  The ceh sleyti the whole day... 17  27\n",
            " 25  The ceh sleyti the whole day... 17  27\n",
            " 26  The ceh sleyti the whole day... 17  27\n",
            " 27  The ceh sleyti the whole day... 17  27\n",
            " 28  The ceh sleyti the whole day... 17  27\n",
            " 29  The ceh sleyti the whole day... 17  27\n",
            " 30  The ceh sleyti the whole day... 17  27\n",
            " 31  The ceh sleyti the whole day... 17  27\n",
            " 32  The ceh sleyti the whole day... 17  27\n",
            " 33  The ceh sleyti the whole day... 17  27\n",
            " 34  The ceh sleyti the whole day... 17  27\n",
            " 35  The ceh sleyti the whole day... 17  27\n",
            " 36  The ceh sleyti the whole day... 17  27\n",
            " 37  The ceh sleyti the whole day... 17  27\n",
            " 38  The ceh sleyti the whole day... 17  27\n",
            " 39  The ceh sleyti the whole day... 17  27\n",
            " 40  The ceh sleyti the whole day... 17  27\n",
            " 41  The ceh sleyti the whole day... 17  27\n",
            " 42  The deh sleyti the whole day... 18  26\n",
            " 43  The deh sleyti the whole day... 18  26\n",
            " 44  The deh sleyti the whole day... 18  26\n",
            " 45  The deh sleyti the whole day... 18  26\n",
            " 46  The deh sleyti the whole day... 18  26\n",
            " 47  The deh sleyti the whole day... 18  26\n",
            " 48  The deh sleyti the whole day... 18  26\n",
            " 49  The deh sleyti the whole day... 18  26\n",
            " 50  The dOh sleyti the whole day... 18  26\n",
            " 51  The dOh sleyti the whole day... 18  26\n",
            " 52  The dOh sleyti the whole day... 18  26\n",
            " 53  The dOh sleyti the whole day... 18  26\n",
            " 54  The dOh sleyti the whole day... 18  26\n",
            " 55  The dOh sleyti the whole day... 18  26\n",
            " 56  The dOh sleyti the whole day... 18  26\n",
            " 57  The dOh sleyti the whole day... 18  26\n",
            " 58  The dOh sleyti the whole day... 18  26\n",
            " 59  The dOh sleyti the whole day... 18  26\n",
            " 60  The dOh sleyti the whole day... 18  26\n",
            " 61  The dOh sleyti the whole day... 18  26\n",
            " 62  The dOh sleyti the whole day... 18  26\n",
            " 63  The dOh sleyti the whole day... 18  26\n",
            " 64  The dOh sleyti the whole day... 18  26\n",
            " 65  The dOh sleyti the whole day... 18  26\n",
            " 66  The dOh sleyti the whole day... 18  26\n",
            " 67  The dOh sleyti the whole day... 18  26\n",
            " 68  The dOh sleyti the whole day... 18  26\n",
            " 69  The dOh sleyti the whole day... 18  26\n",
            " 70  The dOh sleyti the whole day... 18  26\n",
            " 71  The dOh sleyti the whole day... 18  26\n",
            " 72  The dOh sleyti the whole day... 18  26\n",
            " 73  The dOh sleyti the whole day... 18  26\n",
            " 74  The dOh sleyti the whole day... 18  26\n",
            " 75  The dOh sleyti the whole dCy... 18  25\n",
            " 76  The dOh sleyti the whole dCyh.. 19  24\n",
            " 77  The dOh sleyti the whole dCyh.. 19  24\n",
            " 78  The dOh sleyti the whole dCyh.. 19  24\n",
            " 79  The dOh sleyti the whole dCyh.. 19  24\n",
            " 80  The dOh sleyti the whole dCyh.. 19  24\n",
            " 81  The dOh sleyti the whole dCyh.. 19  24\n",
            " 82  The dOh sleyti the whole dCyh.. 19  24\n",
            " 83  The dOh sleyti the whole dCyh.. 19  24\n",
            " 84  The dth sleyti the whole dCyh.. 19  24\n",
            " 85  The dth sleyti the whole dCyh.. 19  24\n",
            " 86  The dth sleyti the whole dCyh.. 19  24\n",
            " 87  The dth sleyti the whole dCyh.. 19  24\n",
            " 88  The dth sleyti the whole dCyh.. 19  24\n",
            " 89  The dth sleyti the whole dCyh.. 19  24\n",
            " 90  The dth Eleyti the whole dCyh.. 19  23\n",
            " 91  The dth Eleyti the whole dCyh.. 19  23\n",
            " 92  The dtg Eleyti the whole dCyh.. 20  23\n",
            " 93  The dtg Eleyti the whole dCyh.. 20  23\n",
            " 94  The dtg Eleyti the whole dCyh.. 20  23\n",
            " 95  The dtg Eleyti the whole dCQh.. 20  22\n",
            " 96  The dtg Eleytd the whole dCQh.. 21  22\n",
            " 97  The dtg Eleytd the whole dCQh.. 21  22\n",
            " 98  The dtg Eleytd the whole dCQh.. 21  22\n",
            " 99  The dtg Eleytd the whole dCQh.. 21  22\n",
            " 100  The dtg Eleytd the whole dCQh.. 21  22\n",
            " 101  The dtg Eleytd the whole dCQh.. 21  22\n",
            " 102  The dtg Eleytd the whole dCQh.. 21  22\n",
            " 103  The dtg Eleytd the whole dCQh.. 21  22\n",
            " 104  The dtg Eleytd the whole dCQh.. 21  22\n",
            " 105  The dtg Eleytd the whole dCQh.. 21  22\n",
            " 106  The dtg Eleytd the whole dCQh.. 21  22\n",
            " 107  The dtg Eleytd the whole dCQh.. 21  22\n",
            " 108  The dtg Elxytd the whole dCQh.. 21  21\n",
            " 109  The dtg Elxytd the whole dCQh.. 21  21\n",
            " 110  The dtg Elxytd the whole dCQh.. 21  21\n",
            " 111  The dtg Elxytd the whole dCQh.. 21  21\n",
            " 112  The dtg Elxytd the whole dCQh.. 21  21\n",
            " 113  The dog Elxytd the whole dCQh.. 22  21\n",
            " 114  The dog Elxytd the whole dCQh.. 22  21\n",
            " 115  The dog Elxytd the whole dCQh.. 22  21\n",
            " 116  The dog Elxytd the whole dCQh.. 22  21\n",
            " 117  The dog Elxytd the whole dCQh.. 22  21\n",
            " 118  The dog Elxytd the whole dCQh.. 22  21\n",
            " 119  The dog Elxytd the whole dCQh.. 22  21\n",
            " 120  The dog Elxytd the whole dCQh.. 22  21\n",
            " 121  The dog Elxytd the whole dCQh.. 22  21\n",
            " 122  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 123  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 124  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 125  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 126  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 127  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 128  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 129  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 130  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 131  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 132  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 133  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 134  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 135  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 136  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 137  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 138  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 139  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 140  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 141  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 142  The dog Ecxytd the whole dCQh.. 22  20\n",
            " 143  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 144  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 145  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 146  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 147  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 148  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 149  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 150  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 151  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 152  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 153  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 154  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 155  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 156  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 157  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 158  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 159  The dog Ecxktd the whole dCQh.. 23  20\n",
            " 160  The dog EcWktd the whole dCQh.. 23  20\n",
            " 161  The dog EcWktd the whole dJQh.. 23  20\n",
            " 162  The dog EcWktd the whole dJQh.. 23  20\n",
            " 163  The dog EcWktd the whole dJQh.. 23  20\n",
            " 164  The dog EcWktd the whole dJQh.. 23  20\n",
            " 165  The dog EcWktd the whole dJQh.. 23  20\n",
            " 166  The dog EcWktd the whole dJQh.. 23  20\n",
            " 167  The dog EcWktd the whole dJQh.. 23  20\n",
            " 168  The dog EcWktd the whole dJQh.. 23  20\n",
            " 169  The dog EcWktd the whole dJQh.. 23  20\n",
            " 170  The dog EcWktd the whole dJQh.. 23  20\n",
            " 171  The dog EcWktd the whole dJQh.. 23  20\n",
            " 172  The dog Ecnktd the whole dJQh.. 23  20\n",
            " 173  The dog Ecnktd the whole dJQh.. 23  20\n",
            " 174  The dog Ecnktd the whole dkQh.. 23  20\n",
            " 175  The dog Ecnktd the whole dkQh.. 23  20\n",
            " 176  The dog Ecnktd the whole dkQh.. 23  20\n",
            " 177  The dog Ecnktd the whole dkQh.. 23  20\n",
            " 178  The dog Ecnktd the whole dkQh.. 23  20\n",
            " 179  The dog Ecnktd the whole dkQh.. 23  20\n",
            " 180  The dog Ecnktd the whole dkQh.. 23  20\n",
            " 181  The dog Ecnktd the whole dkQh.. 23  20\n",
            " 182  The dog Ecnktd the whole dkQh.. 23  20\n",
            " 183  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 184  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 185  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 186  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 187  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 188  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 189  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 190  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 191  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 192  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 193  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 194  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 195  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 196  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 197  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 198  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 199  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 200  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 201  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 202  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 203  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 204  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 205  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 206  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 207  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 208  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 209  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 210  The dog Ecnktd the whole dkQhs. 23  19\n",
            " 211  The dog Ecnktd the whole dMQhs. 23  19\n",
            " 212  The dog Ecnktd the whole dMQhs. 23  19\n",
            " 213  The dog EcnkOd the whole dMQhs. 23  18\n",
            " 214  The dog EcnkOd the whole dMQhs. 23  18\n",
            " 215  The dog EcnkOd the whole dMQhs. 23  18\n",
            " 216  The dog EcnkOd the whole dMQhs. 23  18\n",
            " 217  The dog EcnkOd the whole fMQhs. 23  17\n",
            " 218  The dog EcnkOd the whole fMQhs. 23  17\n",
            " 219  The dog EcnkOd the whole fMQhs. 23  17\n",
            " 220  The dog EcnkOd the whole fMQhs. 23  17\n",
            " 221  The dog EcnkOd the whole fMQhs. 23  17\n",
            " 222  The dog EcnkOd the whole fMQhs. 23  17\n",
            " 223  The dog EcnkOd the whole fMQhs. 23  17\n",
            " 224  The dog EcnkOd the whole fMQhs. 23  17\n",
            " 225  The dog EcnkOd the whole fMQhs. 23  17\n",
            " 226  The dog EcnkOd the whole fMQhs. 23  17\n",
            " 227  The dog EcnkOd the whole fMQhs. 23  17\n",
            " 228  The dog EcrkOd the whole fMQhs. 24  17\n",
            " 229  The dog EcrkOd the whole fMQhs. 24  17\n",
            " 230  The dog EcrkOd the whole fMQhs. 24  17\n",
            " 231  The dog EcrkOd the whole fMQhs. 24  17\n",
            " 232  The dog EcrkOd the whole fMihs. 24  17\n",
            " 233  The dog EcrkOd the whole fMihs. 24  17\n",
            " 234  The dog EcrkOd the whole fMihs. 24  17\n",
            " 235  The dog EcrkOd the whole fMihs. 24  17\n",
            " 236  The dog EcrkOd the whole fMihs. 24  17\n",
            " 237  The dog EcrkOd the whole fMihs. 24  17\n",
            " 238  The dog EcrkOd the whole fMihs. 24  17\n",
            " 239  The dog EcrkOd the whole fMihs. 24  17\n",
            " 240  The dog bcrkOd the whole fMihs. 25  17\n",
            " 241  The dog bcrkOd the whole fMihs. 25  17\n",
            " 242  The dog bcrkOd the whole fMihs. 25  17\n",
            " 243  The dog bcrkOd the whole fMihs. 25  17\n",
            " 244  The dog bcrkOd the whole fMihs. 25  17\n",
            " 245  The dog bcrkOd the whole fpihs. 25  17\n",
            " 246  The dog bcrkOd the whole fpihs. 25  17\n",
            " 247  The dog bcrkOd the whole fpihs. 25  17\n",
            " 248  The dog bcrkOd the whole fpPhs. 25  17\n",
            " 249  The dog bcrkOd the whole fpPhs. 25  17\n",
            " 250  The dog bcrkOd the whole fpPhs. 25  17\n",
            " 251  The dog bcrkOd the whole fpPhs. 25  17\n",
            " 252  The dog bcrkOd the whole fpPhs. 25  17\n",
            " 253  The dog bcrkOd the whole fpPhs. 25  17\n",
            " 254  The dog bcrkOd the whole fpPhs. 25  17\n",
            " 255  The dog bArkOd the whole fpPhs. 25  17\n",
            " 256  The dog bArkOd the whole fpPhs. 25  17\n",
            " 257  The dog bArkOd the whole fpPhs. 25  17\n",
            " 258  The dog bArkOd the whole fpPhs. 25  17\n",
            " 259  The dog bArkOd the whole fpPhs. 25  17\n",
            " 260  The dog bArkOd the whole fpPhs. 25  17\n",
            " 261  The dog bArkOd the whole fpPhs. 25  17\n",
            " 262  The dog bArkOd the whole fpPhs. 25  17\n",
            " 263  The dog bArkOd the whole fpPhs. 25  17\n",
            " 264  The dog bArkOd the whole fpPhZ. 25  17\n",
            " 265  The dog bArkOd the whole fpPhZ. 25  17\n",
            " 266  The dog bArkOd the whole fpPhZ. 25  17\n",
            " 267  The dog bArkOd the whole fpPhZ. 25  17\n",
            " 268  The dog bArkOd the whole fpthZ. 25  17\n",
            " 269  The dog bArkOd the whole fpthZ. 25  17\n",
            " 270  The dog bArkOd the whole fpthZ. 25  17\n",
            " 271  The dog bArkOd the whole fpthZ. 25  17\n",
            " 272  The dog bArkOd the whole fpthZ. 25  17\n",
            " 273  The dog bArkOd the whole fpthZ. 25  17\n",
            " 274  The dog bArkOd the whole fpthZ. 25  17\n",
            " 275  The dog bArkOd the whole fpthZ. 25  17\n",
            " 276  The dog bArkOd the whole fpthZ. 25  17\n",
            " 277  The dog bArkOd the whole fpthZ. 25  17\n",
            " 278  The dog bArkOd the whole fpthZ. 25  17\n",
            " 279  The dog bArkOd the whole fpthZ. 25  17\n",
            " 280  The dog bArkOd the whole fpthZ. 25  17\n",
            " 281  The dog bArkOd the whole fpthZ. 25  17\n",
            " 282  The dog bArkOd the whole fpthZ. 25  17\n",
            " 283  The dog bArkOd the whole fpthZ. 25  17\n",
            " 284  The dog bArkOd the whole fpthZ. 25  17\n",
            " 285  The dog bArkOd the whole fpthZ. 25  17\n",
            " 286  The dog bArkOd the whole fpthZ. 25  17\n",
            " 287  The dog bArkOd the whole fpthZ. 25  17\n",
            " 288  The dog bArkOd the whole fpthZ. 25  17\n",
            " 289  The dog bArkOd the whole fpthZ. 25  17\n",
            " 290  The dog bArkOd the whole fpthZ. 25  17\n",
            " 291  The dog bArkOd the whole fpthZ. 25  17\n",
            " 292  The dog bArkOd the whole fpthZ. 25  17\n",
            " 293  The dog bArkOd the whole fpthZ. 25  17\n",
            " 294  The dog bArkOd the whole fpthZ. 25  17\n",
            " 295  The dog bArkOd the whole fpthZ. 25  17\n",
            " 296  The dog bArkOd the whole fpthZ. 25  17\n",
            " 297  The dog bArkOd the whole fpthZ. 25  17\n",
            " 298  The dog bArkOd the whole fpthZ. 25  17\n",
            " 299  The dog bArkOd the whole fpthZ. 25  17\n",
            " 300  The dog bArkOd the whole fpthZ. 25  17\n",
            " 301  The dog bArkOd the whole fpthZ. 25  17\n",
            " 302  The dog bArkOd the whole fpthZ. 25  17\n",
            " 303  The dog bArkOd the whole fpthZ. 25  17\n",
            " 304  The dog bArkOd the whole fpthZ. 25  17\n",
            " 305  The dog bArkOd the whole fpthZ. 25  17\n",
            " 306  The dog bArkOd the whole fpthZ. 25  17\n",
            " 307  The dog bArkOd the whole fpthZ. 25  17\n",
            " 308  The dog bArkOd the whole fpthZ. 25  17\n",
            " 309  The dog bArkOd the whole fpthZ. 25  17\n",
            " 310  The dog bArkOd the whole fpghZ. 26  17\n",
            " 311  The dog bArkOd the whole fpghZ. 26  17\n",
            " 312  The dog bArkOd the whole fpghZ. 26  17\n",
            " 313  The dog bArkOd the whole fpghZ. 26  17\n",
            " 314  The dog bArkOd the whole fpghZ. 26  17\n",
            " 315  The dog bArkOd the whole fpghZ. 26  17\n",
            " 316  The dog bArkOd the whole fpghZ. 26  17\n",
            " 317  The dog bArkOd the whole fpghZ. 26  17\n",
            " 318  The dog bArkOd the whole fpghZ. 26  17\n",
            " 319  The dog bArkOd the whole fpghZ. 26  17\n",
            " 320  The dog bArkOd the whole fpghZ. 26  17\n",
            " 321  The dog bArkOd the whole fpghZ. 26  17\n",
            " 322  The dog bArkOd the whole fpghZ. 26  17\n",
            " 323  The dog bArkOd the whole fpghZ. 26  17\n",
            " 324  The dog bArkOd the whole fpghZ. 26  17\n",
            " 325  The dog bArkOd the whole fpghZ. 26  17\n",
            " 326  The dog bArkOd the whole fpghZ. 26  17\n",
            " 327  The dog bArkOd the whole fpghZ. 26  17\n",
            " 328  The dog bArkOd the whole fpghZ. 26  17\n",
            " 329  The dog bArkOd the whole fpghZ. 26  17\n",
            " 330  The dog bArkOd the whole fpghZ. 26  17\n",
            " 331  The dog bArkOd the whole fpghZ. 26  17\n",
            " 332  The dog bArkOd the whole fpghP. 26  17\n",
            " 333  The dog bArkOd the whole fpghP. 26  17\n",
            " 334  The dog bArkOd the whole fpghP. 26  17\n",
            " 335  The dog bArkOd the whole fpghP. 26  17\n",
            " 336  The dog bArkOd the whole fpghP. 26  17\n",
            " 337  The dog bArkOd the whole fpghP. 26  17\n",
            " 338  The dog bArkOd the whole fpghP. 26  17\n",
            " 339  The dog bArkOd the whole fpghP. 26  17\n",
            " 340  The dog bArkOd the whole fpghP. 26  17\n",
            " 341  The dog bArkOd the whole fpghP. 26  17\n",
            " 342  The dog bArkOd the whole fpghP. 26  17\n",
            " 343  The dog bArkOd the whole fpghP. 26  17\n",
            " 344  The dog bArkOd the whole fpghP. 26  17\n",
            " 345  The dog bArkOd the whole fpghP. 26  17\n",
            " 346  The dog bArkOd the whole fpghP. 26  17\n",
            " 347  The dog bArkOd the whole fpghP. 26  17\n",
            " 348  The dog bArkOd the whole fpghP. 26  17\n",
            " 349  The dog bArkOd the whole fpghP. 26  17\n",
            " 350  The dog bsrkOd the whole fpghP. 26  17\n",
            " 351  The dog bsrkOd the whole fpghP. 26  17\n",
            " 352  The dog bsrkOd the whole fpghP. 26  17\n",
            " 353  The dog bsrkOd the whole fpghP. 26  17\n",
            " 354  The dog bsrkOd the whole fpghP. 26  17\n",
            " 355  The dog bsrkOd the whole fpghP. 26  17\n",
            " 356  The dog bsrkOd the whole fpghP. 26  17\n",
            " 357  The dog bsrkOd the whole fpghP. 26  17\n",
            " 358  The dog bsrkOd the whole fpghP. 26  17\n",
            " 359  The dog bsrkOd the whole fpghP. 26  17\n",
            " 360  The dog bsrkOd the whole fpghP. 26  17\n",
            " 361  The dog bsrkOd the whole fpghP. 26  17\n",
            " 362  The dog bsrkOd the whole fpghP. 26  17\n",
            " 363  The dog bsrkOd the whole fpghP. 26  17\n",
            " 364  The dog bsrkOd the whole fpghP. 26  17\n",
            " 365  The dog bsrkOd the whole fpghP. 26  17\n",
            " 366  The dog bsrkOd the whole fpghP. 26  17\n",
            " 367  The dog bsrkOd the whole fpghP. 26  17\n",
            " 368  The dog bsrkOd the whole fpghP. 26  17\n",
            " 369  The dog bsrkOd the whole fpghP. 26  17\n",
            " 370  The dog bsrkOd the whole fpghP. 26  17\n",
            " 371  The dog bsrkOd the whole fpghP. 26  17\n",
            " 372  The dog bsrkOd the whole fpghP. 26  17\n",
            " 373  The dog bsrkOd the whole fpghP. 26  17\n",
            " 374  The dog bsrkOd the whole fpghr. 26  17\n",
            " 375  The dog bsrkOd the whole fpghr. 26  17\n",
            " 376  The dog bsrkOd the whole fpghr. 26  17\n",
            " 377  The dog bsrkOd the whole fpghr. 26  17\n",
            " 378  The dog bsrkOd the whole fpghr. 26  17\n",
            " 379  The dog bsrkOd the whole foghr. 26  17\n",
            " 380  The dog bsrkOd the whole foghr. 26  17\n",
            " 381  The dog bsrkOd the whole foghr. 26  17\n",
            " 382  The dog bsrkOd the whole foghr. 26  17\n",
            " 383  The dog bsrkOd the whole foghr. 26  17\n",
            " 384  The dog bsrkOd the whole foghr. 26  17\n",
            " 385  The dog bsrkOd the whole foghr. 26  17\n",
            " 386  The dog bsrkOd the whole foghr. 26  17\n",
            " 387  The dog bsrkOd the whole foghr. 26  17\n",
            " 388  The dog bsrkOd the whole foghr. 26  17\n",
            " 389  The dog bsrkOd the whole foghr. 26  17\n",
            " 390  The dog bsrkOd the whole foghr. 26  17\n",
            " 391  The dog bsrkOd the whole foghr. 26  17\n",
            " 392  The dog bsrkOd the whole foghr. 26  17\n",
            " 393  The dog bsrkOd the whole foghr. 26  17\n",
            " 394  The dog bsrkOd the whole foghr. 26  17\n",
            " 395  The dog bsrkOd the whole foghr. 26  17\n",
            " 396  The dog bsrkOd the whole foghr. 26  17\n",
            " 397  The dog bsrkOd the whole foghr. 26  17\n",
            " 398  The dog bsrkOd the whole foghr. 26  17\n",
            " 399  The dog bsrkOd the whole woghr. 26  17\n",
            " 400  The dog bsrkOd the whole woghr. 26  17\n",
            " 401  The dog bsrkOd the whole woghr. 26  17\n",
            " 402  The dog bsrkOd the whole woghr. 26  17\n",
            " 403  The dog bsrkOd the whole woghr. 26  17\n",
            " 404  The dog bsrkOd the whole woghr. 26  17\n",
            " 405  The dog bsrkOd the whole woghr. 26  17\n",
            " 406  The dog bsrkOd the whole woghr. 26  17\n",
            " 407  The dog bsrkOd the whole woghr. 26  17\n",
            " 408  The dog bsrkOd the whole woghr. 26  17\n",
            " 409  The dog bsrkOd the whole woghr. 26  17\n",
            " 410  The dog bsrkOd the whole woghr. 26  17\n",
            " 411  The dog bsrkOd the whole woghr. 26  17\n",
            " 412  The dog bsrkOd the whole woghr. 26  17\n",
            " 413  The dog bsrkOd the whole woghr. 26  17\n",
            " 414  The dog bsrkOd the whole woghr. 26  17\n",
            " 415  The dog bsrkOd the whole woghr. 26  17\n",
            " 416  The dog bsrkOd the whole woghr. 26  17\n",
            " 417  The dog bsrkOd the whole woghr. 26  17\n",
            " 418  The dog bsrkOd the whole woghr. 26  17\n",
            " 419  The dog bsrkOd the whole woghr. 26  17\n",
            " 420  The dog bsrkOd the whole woghr. 26  17\n",
            " 421  The dog bsrkOd the whole woghr. 26  17\n",
            " 422  The dog bsrkOd the whole woghr. 26  17\n",
            " 423  The dog bsrkOd the whole woghr. 26  17\n",
            " 424  The dog bsrkOd the whole woghr. 26  17\n",
            " 425  The dog bsrkOd the whole woghr. 26  17\n",
            " 426  The dog bsrkOd the whole woghr. 26  17\n",
            " 427  The dog bsrkOd the whole woghr. 26  17\n",
            " 428  The dog bsrkOd the whole woghr. 26  17\n",
            " 429  The dog bsrkOd the whole woghr. 26  17\n",
            " 430  The dog bsrkOd the whole woghr. 26  17\n",
            " 431  The dog bsrkOd the whole woghr. 26  17\n",
            " 432  The dog bsrkOd the whole woghr. 26  17\n",
            " 433  The dog bsrkOd the whole woghr. 26  17\n",
            " 434  The dog bsrkOd the whole woghr. 26  17\n",
            " 435  The dog bsrkOd the whole woghr. 26  17\n",
            " 436  The dog bsrkOd the whole wqghr. 26  17\n",
            " 437  The dog bsrkOd the whole wqghr. 26  17\n",
            " 438  The dog bsrkOd the whole wqghr. 26  17\n",
            " 439  The dog bsrkOd the whole wqghr. 26  17\n",
            " 440  The dog bsrkOd the whole wqghr. 26  17\n",
            " 441  The dog bsrkOd the whole wqghr. 26  17\n",
            " 442  The dog bsrkOd the whole wqghr. 26  17\n",
            " 443  The dog bsrkOd the whole wqghr. 26  17\n",
            " 444  The dog bsrkOd the whole wqghr. 26  17\n",
            " 445  The dog bsrkOd the whole wqghr. 26  17\n",
            " 446  The dog bzrkOd the whole wqghr. 26  17\n",
            " 447  The dog bzrkOd the whole wqghr. 26  17\n",
            " 448  The dog bzrkOd the whole wqghr. 26  17\n",
            " 449  The dog bzrkOd the whole wqghr. 26  17\n",
            " 450  The dog bzrkOd the whole wqghr. 26  17\n",
            " 451  The dog bzrkOd the whole wqghr. 26  17\n",
            " 452  The dog bzrkOd the whole wqghr. 26  17\n",
            " 453  The dog bzrkOd the whole wqghr. 26  17\n",
            " 454  The dog bzrkOd the whole wqghr. 26  17\n",
            " 455  The dog bzrkOd the whole wqghr. 26  17\n",
            " 456  The dog bzrkOd the whole wqghr. 26  17\n",
            " 457  The dog bzrkOd the whole wqghr. 26  17\n",
            " 458  The dog bzrkOd the whole wqghr. 26  17\n",
            " 459  The dog bzrkOd the whole wqghr. 26  17\n",
            " 460  The dog bzrkOd the whole wqghr. 26  17\n",
            " 461  The dog bzrkOd the whole wqghr. 26  17\n",
            " 462  The dog bzrkOd the whole wqghr. 26  17\n",
            " 463  The dog bzrkOd the whole wqghr. 26  17\n",
            " 464  The dog bzrkOd the whole wqghr. 26  17\n",
            " 465  The dog bzrkOd the whole wqghr. 26  17\n",
            " 466  The dog bzrkOd the whole wqghr. 26  17\n",
            " 467  The dog bzrkOd the whole wqghr. 26  17\n",
            " 468  The dog bzrkOd the whole wqghr. 26  17\n",
            " 469  The dog bzrkOd the whole wqghr. 26  17\n",
            " 470  The dog bzrkOd the whole wqghr. 26  17\n",
            " 471  The dog bzrkOd the whole wqghr. 26  17\n",
            " 472  The dog bzrkOd the whole wqghr. 26  17\n",
            " 473  The dog bzrkOd the whole wqghr. 26  17\n",
            " 474  The dog bzrkOd the whole wqghr. 26  17\n",
            " 475  The dog bzrkOd the whole wqghr. 26  17\n",
            " 476  The dog bzrkOd the whole wqghr. 26  17\n",
            " 477  The dog bzrkOd the whole wqghr. 26  17\n",
            " 478  The dog bzrkLd the whole wqghr. 26  17\n",
            " 479  The dog bzrkLd the whole wqghr. 26  17\n",
            " 480  The dog bzrkLd the whole wqghr. 26  17\n",
            " 481  The dog bzrkLd the whole wqghr. 26  17\n",
            " 482  The dog bzrkLd the whole wqghr. 26  17\n",
            " 483  The dog bzrkLd the whole wqghr. 26  17\n",
            " 484  The dog bzrkLd the whole wqghr. 26  17\n",
            " 485  The dog bzrkLd the whole wqghr. 26  17\n",
            " 486  The dog bzrkLd the whole wqghr. 26  17\n",
            " 487  The dog bzrkLd the whole wqghr. 26  17\n",
            " 488  The dog bzrkLd the whole wqghr. 26  17\n",
            " 489  The dog bzrkLd the whole wqghr. 26  17\n",
            " 490  The dog bzrkLd the whole wqghr. 26  17\n",
            " 491  The dog bzrkLd the whole wqghr. 26  17\n",
            " 492  The dog bzrkLd the whole wqghr. 26  17\n",
            " 493  The dog bzrkLd the whole wqghr. 26  17\n",
            " 494  The dog bzrkLd the whole wqghr. 26  17\n",
            " 495  The dog bzrkLd the whole wqghr. 26  17\n",
            " 496  The dog bzrkLd the whole wqghr. 26  17\n",
            " 497  The dog bzrkLd the whole wqghr. 26  17\n",
            " 498  The dog bzrkLd the whole wqghr. 26  17\n",
            " 499  The dog bzrkLd the whole pqghr. 26  17\n",
            " 500  The dog bzrkLd the whole pqghr. 26  17\n",
            " 501  The dog bzrkLd the whole pqghr. 26  17\n",
            " 502  The dog bzrkLd the whole pqghr. 26  17\n",
            " 503  The dog bzrkLd the whole pqghr. 26  17\n",
            " 504  The dog bzrkLd the whole pqghr. 26  17\n",
            " 505  The dog bzrkLd the whole pqghr. 26  17\n",
            " 506  The dog bzrkLd the whole pqghr. 26  17\n",
            " 507  The dog bzrkLd the whole pqghr. 26  17\n",
            " 508  The dog bzrkLd the whole pqghr. 26  17\n",
            " 509  The dog bzrkLd the whole pqghr. 26  17\n",
            " 510  The dog bzrkLd the whole pqghr. 26  17\n",
            " 511  The dog bzrkLd the whole pqghr. 26  17\n",
            " 512  The dog bzrkLd the whole pqghr. 26  17\n",
            " 513  The dog bzrkLd the whole pqghr. 26  17\n",
            " 514  The dog bzrkLd the whole pqghr. 26  17\n",
            " 515  The dog bzrkLd the whole pqghr. 26  17\n",
            " 516  The dog bzrkLd the whole pqghr. 26  17\n",
            " 517  The dog bzrkLd the whole pqghr. 26  17\n",
            " 518  The dog bzrkLd the whole pqghr. 26  17\n",
            " 519  The dog bzrkLd the whole pqghr. 26  17\n",
            " 520  The dog bzrkLd the whole pqghr. 26  17\n",
            " 521  The dog bzrkLd the whole pqghr. 26  17\n",
            " 522  The dog bzrkLd the whole pqghr. 26  17\n",
            " 523  The dog bzrkLd the whole pqghr. 26  17\n",
            " 524  The dog bzrkLd the whole pqghr. 26  17\n",
            " 525  The dog bzrkLd the whole pqghr. 26  17\n",
            " 526  The dog bzrkLd the whole pqghr. 26  17\n",
            " 527  The dog bzrkLd the whole pqghr. 26  17\n",
            " 528  The dog bzrkLd the whole pqghr. 26  17\n",
            " 529  The dog bzrkLd the whole pqghr. 26  17\n",
            " 530  The dog bzrkLd the whole pqghr. 26  17\n",
            " 531  The dog bzrkLd the whole pqghr. 26  17\n",
            " 532  The dog bzrkLd the whole pqghr. 26  17\n",
            " 533  The dog bzrkLd the whole pqghr. 26  17\n",
            " 534  The dog bzrkLd the whole pqghr. 26  17\n",
            " 535  The dog bzrkLd the whole pqghr. 26  17\n",
            " 536  The dog bzrkLd the whole pqghr. 26  17\n",
            " 537  The dog bzrkLd the whole pqghr. 26  17\n",
            " 538  The dog bzrkLd the whole pqghr. 26  17\n",
            " 539  The dog bzrkLd the whole pqghr. 26  17\n",
            " 540  The dog bzrkLd the whole pqghr. 26  17\n",
            " 541  The dog bzrkLd the whole pqghi. 26  17\n",
            " 542  The dog bzrkLd the whole pqghi. 26  17\n",
            " 543  The dog bzrkHd the whole pqghi. 26  17\n",
            " 544  The dog bdrkHd the whole pqghi. 26  17\n",
            " 545  The dog bdrkHd the whole pqghi. 26  17\n",
            " 546  The dog bdrkHd the whole pqghi. 26  17\n",
            " 547  The dog bdrkHd the whole pqghi. 26  17\n",
            " 548  The dog bdrkHd the whole aqghi. 26  17\n",
            " 549  The dog bdrkHd the whole aqghi. 26  17\n",
            " 550  The dog bdrkHd the whole aqghi. 26  17\n",
            " 551  The dog bdrkHd the whole aqghi. 26  17\n",
            " 552  The dog bdrkHd the whole aqghi. 26  17\n",
            " 553  The dog barkHd the whole aqghi. 27  17\n",
            " 554  The dog barkHd the whole aqghi. 27  17\n",
            " 555  The dog barkHd the whole aqghi. 27  17\n",
            " 556  The dog barkHd the whole aqghi. 27  17\n",
            " 557  The dog barkHd the whole aqghi. 27  17\n",
            " 558  The dog barkHd the whole aqghi. 27  17\n",
            " 559  The dog barkHd the whole aqghi. 27  17\n",
            " 560  The dog barkHd the whole jqghi. 27  17\n",
            " 561  The dog barkfd the whole jqghi. 27  17\n",
            " 562  The dog barkfd the whole jqghi. 27  17\n",
            " 563  The dog barkfd the whole jqghi. 27  17\n",
            " 564  The dog barkfd the whole jqghi. 27  17\n",
            " 565  The dog barkfd the whole jqghi. 27  17\n",
            " 566  The dog barkfd the whole jqghi. 27  17\n",
            " 567  The dog barkfd the whole jqghi. 27  17\n",
            " 568  The dog barkfd the whole jqghi. 27  17\n",
            " 569  The dog barkfd the whole jqghi. 27  17\n",
            " 570  The dog barkfd the whole jqghi. 27  17\n",
            " 571  The dog barkfd the whole jqghi. 27  17\n",
            " 572  The dog barkfd the whole jqghi. 27  17\n",
            " 573  The dog barkfd the whole jqghi. 27  17\n",
            " 574  The dog barkfd the whole jqghi. 27  17\n",
            " 575  The dog barkfd the whole jqghi. 27  17\n",
            " 576  The dog barkfd the whole jqghi. 27  17\n",
            " 577  The dog barkfd the whole jqghi. 27  17\n",
            " 578  The dog barkfd the whole jqghi. 27  17\n",
            " 579  The dog barkfd the whole lqghi. 27  17\n",
            " 580  The dog barkfd the whole lqghi. 27  17\n",
            " 581  The dog barkfd the whole lqghi. 27  17\n",
            " 582  The dog barkfd the whole lqghi. 27  17\n",
            " 583  The dog barkfd the whole lqghi. 27  17\n",
            " 584  The dog barkfd the whole lqghi. 27  17\n",
            " 585  The dog barkfd the whole lqghi. 27  17\n",
            " 586  The dog barkfd the whole lqghi. 27  17\n",
            " 587  The dog barkfd the whole lqghi. 27  17\n",
            " 588  The dog barkfd the whole lqghi. 27  17\n",
            " 589  The dog barkfd the whole lqghL. 27  17\n",
            " 590  The dog barkfd the whole lqghL. 27  17\n",
            " 591  The dog barkfd the whole lqghL. 27  17\n",
            " 592  The dog barkfd the whole lqghF. 27  17\n",
            " 593  The dog barkfd the whole lqghF. 27  17\n",
            " 594  The dog barkfd the whole lqghF. 27  17\n",
            " 595  The dog barkfd the whole lqghF. 27  17\n",
            " 596  The dog barkfd the whole lqghF. 27  17\n",
            " 597  The dog barked the whole lqghF. 28  17\n",
            " 598  The dog barked the whole lqghF. 28  17\n",
            " 599  The dog barked the whole lqghF. 28  17\n",
            " 600  The dog barked the whole lqghF. 28  17\n",
            " 601  The dog barked the whole lqghF. 28  17\n",
            " 602  The dog barked the whole lqghF. 28  17\n",
            " 603  The dog barked the whole lqghF. 28  17\n",
            " 604  The dog barked the whole lqghF. 28  17\n",
            " 605  The dog barked the whole lqghF. 28  17\n",
            " 606  The dog barked the whole lqghF. 28  17\n",
            " 607  The dog barked the whole lqghF. 28  17\n",
            " 608  The dog barked the whole lqghF. 28  17\n",
            " 609  The dog barked the whole lqghF. 28  17\n",
            " 610  The dog barked the whole lqghF. 28  17\n",
            " 611  The dog barked the whole lqghF. 28  17\n",
            " 612  The dog barked the whole lqghF. 28  17\n",
            " 613  The dog barked the whole lLghF. 28  17\n",
            " 614  The dog barked the whole lLghF. 28  17\n",
            " 615  The dog barked the whole lLghF. 28  17\n",
            " 616  The dog barked the whole lLghF. 28  17\n",
            " 617  The dog barked the whole lLghF. 28  17\n",
            " 618  The dog barked the whole lLghF. 28  17\n",
            " 619  The dog barked the whole lLghF. 28  17\n",
            " 620  The dog barked the whole lLghF. 28  17\n",
            " 621  The dog barked the whole lLghF. 28  17\n",
            " 622  The dog barked the whole lLghF. 28  17\n",
            " 623  The dog barked the whole lLghF. 28  17\n",
            " 624  The dog barked the whole lLghF. 28  17\n",
            " 625  The dog barked the whole lLghF. 28  17\n",
            " 626  The dog barked the whole lLghF. 28  17\n",
            " 627  The dog barked the whole lLghF. 28  17\n",
            " 628  The dog barked the whole lLghF. 28  17\n",
            " 629  The dog barked the whole lLghF. 28  17\n",
            " 630  The dog barked the whole lLghF. 28  17\n",
            " 631  The dog barked the whole lLghF. 28  17\n",
            " 632  The dog barked the whole lLghF. 28  17\n",
            " 633  The dog barked the whole lLghF. 28  17\n",
            " 634  The dog barked the whole lLghF. 28  17\n",
            " 635  The dog barked the whole lLghF. 28  17\n",
            " 636  The dog barked the whole lLghF. 28  17\n",
            " 637  The dog barked the whole lLghF. 28  17\n",
            " 638  The dog barked the whole lLghF. 28  17\n",
            " 639  The dog barked the whole lLghF. 28  17\n",
            " 640  The dog barked the whole lLghF. 28  17\n",
            " 641  The dog barked the whole lLghF. 28  17\n",
            " 642  The dog barked the whole lLghF. 28  17\n",
            " 643  The dog barked the whole lLghF. 28  17\n",
            " 644  The dog barked the whole lLghF. 28  17\n",
            " 645  The dog barked the whole lLghF. 28  17\n",
            " 646  The dog barked the whole lLghF. 28  17\n",
            " 647  The dog barked the whole lLghF. 28  17\n",
            " 648  The dog barked the whole lLghF. 28  17\n",
            " 649  The dog barked the whole lLghF. 28  17\n",
            " 650  The dog barked the whole lLghF. 28  17\n",
            " 651  The dog barked the whole lLghF. 28  17\n",
            " 652  The dog barked the whole lLghF. 28  17\n",
            " 653  The dog barked the whole lLghF. 28  17\n",
            " 654  The dog barked the whole lLghF. 28  17\n",
            " 655  The dog barked the whole lLghF. 28  17\n",
            " 656  The dog barked the whole lLghF. 28  17\n",
            " 657  The dog barked the whole lLghF. 28  17\n",
            " 658  The dog barked the whole lLghF. 28  17\n",
            " 659  The dog barked the whole lLghF. 28  17\n",
            " 660  The dog barked the whole lLghF. 28  17\n",
            " 661  The dog barked the whole lLghF. 28  17\n",
            " 662  The dog barked the whole lLghF. 28  17\n",
            " 663  The dog barked the whole lLghF. 28  17\n",
            " 664  The dog barked the whole lLghF. 28  17\n",
            " 665  The dog barked the whole lLghF. 28  17\n",
            " 666  The dog barked the whole lLghF. 28  17\n",
            " 667  The dog barked the whole lLghF. 28  17\n",
            " 668  The dog barked the whole lLghF. 28  17\n",
            " 669  The dog barked the whole lLghF. 28  17\n",
            " 670  The dog barked the whole lLghF. 28  17\n",
            " 671  The dog barked the whole lLghF. 28  17\n",
            " 672  The dog barked the whole lLghF. 28  17\n",
            " 673  The dog barked the whole lLghF. 28  17\n",
            " 674  The dog barked the whole lLghF. 28  17\n",
            " 675  The dog barked the whole lLghF. 28  17\n",
            " 676  The dog barked the whole lLghF. 28  17\n",
            " 677  The dog barked the whole lLghF. 28  17\n",
            " 678  The dog barked the whole lLghF. 28  17\n",
            " 679  The dog barked the whole lLghF. 28  17\n",
            " 680  The dog barked the whole lLghF. 28  17\n",
            " 681  The dog barked the whole lLghF. 28  17\n",
            " 682  The dog barked the whole lLghF. 28  17\n",
            " 683  The dog barked the whole lLghF. 28  17\n",
            " 684  The dog barked the whole lLghF. 28  17\n",
            " 685  The dog barked the whole lLghF. 28  17\n",
            " 686  The dog barked the whole lLghF. 28  17\n",
            " 687  The dog barked the whole lLghF. 28  17\n",
            " 688  The dog barked the whole lLghF. 28  17\n",
            " 689  The dog barked the whole lLghF. 28  17\n",
            " 690  The dog barked the whole lLghF. 28  17\n",
            " 691  The dog barked the whole lLghF. 28  17\n",
            " 692  The dog barked the whole lLghF. 28  17\n",
            " 693  The dog barked the whole lLghF. 28  17\n",
            " 694  The dog barked the whole lLghF. 28  17\n",
            " 695  The dog barked the whole lLghF. 28  17\n",
            " 696  The dog barked the whole lLghF. 28  17\n",
            " 697  The dog barked the whole lLghF. 28  17\n",
            " 698  The dog barked the whole lLghF. 28  17\n",
            " 699  The dog barked the whole lLghF. 28  17\n",
            " 700  The dog barked the whole lLghF. 28  17\n",
            " 701  The dog barked the whole lLghF. 28  17\n",
            " 702  The dog barked the whole lLghF. 28  17\n",
            " 703  The dog barked the whole lLghF. 28  17\n",
            " 704  The dog barked the whole lLghF. 28  17\n",
            " 705  The dog barked the whole lLghF. 28  17\n",
            " 706  The dog barked the whole lLghF. 28  17\n",
            " 707  The dog barked the whole lLghF. 28  17\n",
            " 708  The dog barked the whole lLghF. 28  17\n",
            " 709  The dog barked the whole lLghF. 28  17\n",
            " 710  The dog barked the whole lLghF. 28  17\n",
            " 711  The dog barked the whole lLghF. 28  17\n",
            " 712  The dog barked the whole lLghF. 28  17\n",
            " 713  The dog barked the whole lLghF. 28  17\n",
            " 714  The dog barked the whole lLghF. 28  17\n",
            " 715  The dog barked the whole lLghF. 28  17\n",
            " 716  The dog barked the whole lLghF. 28  17\n",
            " 717  The dog barked the whole lLghF. 28  17\n",
            " 718  The dog barked the whole lLghF. 28  17\n",
            " 719  The dog barked the whole lLghF. 28  17\n",
            " 720  The dog barked the whole lLghF. 28  17\n",
            " 721  The dog barked the whole lLghF. 28  17\n",
            " 722  The dog barked the whole lLghF. 28  17\n",
            " 723  The dog barked the whole lLghF. 28  17\n",
            " 724  The dog barked the whole lLghF. 28  17\n",
            " 725  The dog barked the whole lLghF. 28  17\n",
            " 726  The dog barked the whole lLghF. 28  17\n",
            " 727  The dog barked the whole lLghF. 28  17\n",
            " 728  The dog barked the whole lLghF. 28  17\n",
            " 729  The dog barked the whole lLghF. 28  17\n",
            " 730  The dog barked the whole lLghF. 28  17\n",
            " 731  The dog barked the whole lLghF. 28  17\n",
            " 732  The dog barked the whole lLghF. 28  17\n",
            " 733  The dog barked the whole lLghF. 28  17\n",
            " 734  The dog barked the whole lLghF. 28  17\n",
            " 735  The dog barked the whole lLghF. 28  17\n",
            " 736  The dog barked the whole lLghF. 28  17\n",
            " 737  The dog barked the whole lLghF. 28  17\n",
            " 738  The dog barked the whole lLghF. 28  17\n",
            " 739  The dog barked the whole lLghF. 28  17\n",
            " 740  The dog barked the whole lLghF. 28  17\n",
            " 741  The dog barked the whole lLghF. 28  17\n",
            " 742  The dog barked the whole lLght. 29  17\n",
            " 743  The dog barked the whole lLght. 29  17\n",
            " 744  The dog barked the whole lLght. 29  17\n",
            " 745  The dog barked the whole lLght. 29  17\n",
            " 746  The dog barked the whole lLght. 29  17\n",
            " 747  The dog barked the whole lLght. 29  17\n",
            " 748  The dog barked the whole lLght. 29  17\n",
            " 749  The dog barked the whole lLght. 29  17\n",
            " 750  The dog barked the whole lLght. 29  17\n",
            " 751  The dog barked the whole lLght. 29  17\n",
            " 752  The dog barked the whole lLght. 29  17\n",
            " 753  The dog barked the whole lLght. 29  17\n",
            " 754  The dog barked the whole lLght. 29  17\n",
            " 755  The dog barked the whole lLght. 29  17\n",
            " 756  The dog barked the whole lLght. 29  17\n",
            " 757  The dog barked the whole lLght. 29  17\n",
            " 758  The dog barked the whole lLght. 29  17\n",
            " 759  The dog barked the whole lLght. 29  17\n",
            " 760  The dog barked the whole lLght. 29  17\n",
            " 761  The dog barked the whole lLght. 29  17\n",
            " 762  The dog barked the whole lLght. 29  17\n",
            " 763  The dog barked the whole lLght. 29  17\n",
            " 764  The dog barked the whole lLght. 29  17\n",
            " 765  The dog barked the whole lLght. 29  17\n",
            " 766  The dog barked the whole lLght. 29  17\n",
            " 767  The dog barked the whole lLght. 29  17\n",
            " 768  The dog barked the whole lLght. 29  17\n",
            " 769  The dog barked the whole lLght. 29  17\n",
            " 770  The dog barked the whole lLght. 29  17\n",
            " 771  The dog barked the whole lCght. 29  17\n",
            " 772  The dog barked the whole lCght. 29  17\n",
            " 773  The dog barked the whole lCght. 29  17\n",
            " 774  The dog barked the whole lCght. 29  17\n",
            " 775  The dog barked the whole lCght. 29  17\n",
            " 776  The dog barked the whole lCght. 29  17\n",
            " 777  The dog barked the whole lCght. 29  17\n",
            " 778  The dog barked the whole lCght. 29  17\n",
            " 779  The dog barked the whole lCght. 29  17\n",
            " 780  The dog barked the whole lCght. 29  17\n",
            " 781  The dog barked the whole lCght. 29  17\n",
            " 782  The dog barked the whole lCght. 29  17\n",
            " 783  The dog barked the whole lCght. 29  17\n",
            " 784  The dog barked the whole nCght. 30  17\n",
            " 785  The dog barked the whole nCght. 30  17\n",
            " 786  The dog barked the whole nCght. 30  17\n",
            " 787  The dog barked the whole nCght. 30  17\n",
            " 788  The dog barked the whole nCght. 30  17\n",
            " 789  The dog barked the whole nCght. 30  17\n",
            " 790  The dog barked the whole nCght. 30  17\n",
            " 791  The dog barked the whole nCght. 30  17\n",
            " 792  The dog barked the whole nCght. 30  17\n",
            " 793  The dog barked the whole nCght. 30  17\n",
            " 794  The dog barked the whole nCght. 30  17\n",
            " 795  The dog barked the whole nCght. 30  17\n",
            " 796  The dog barked the whole nCght. 30  17\n",
            " 797  The dog barked the whole nCght. 30  17\n",
            " 798  The dog barked the whole nCght. 30  17\n",
            " 799  The dog barked the whole nCght. 30  17\n",
            " 800  The dog barked the whole nCght. 30  17\n",
            " 801  The dog barked the whole nCght. 30  17\n",
            " 802  The dog barked the whole nCght. 30  17\n",
            " 803  The dog barked the whole nCght. 30  17\n",
            " 804  The dog barked the whole nCght. 30  17\n",
            " 805  The dog barked the whole nCght. 30  17\n",
            " 806  The dog barked the whole nCght. 30  17\n",
            " 807  The dog barked the whole nCght. 30  17\n",
            " 808  The dog barked the whole nCght. 30  17\n",
            " 809  The dog barked the whole nCght. 30  17\n",
            " 810  The dog barked the whole nCght. 30  17\n",
            " 811  The dog barked the whole nCght. 30  17\n",
            " 812  The dog barked the whole nCght. 30  17\n",
            " 813  The dog barked the whole nCght. 30  17\n",
            " 814  The dog barked the whole nCght. 30  17\n",
            " 815  The dog barked the whole njght. 30  17\n",
            " 816  The dog barked the whole njght. 30  17\n",
            " 817  The dog barked the whole njght. 30  17\n",
            " 818  The dog barked the whole njght. 30  17\n",
            " 819  The dog barked the whole njght. 30  17\n",
            " 820  The dog barked the whole njght. 30  17\n",
            " 821  The dog barked the whole njght. 30  17\n",
            " 822  The dog barked the whole njght. 30  17\n",
            " 823  The dog barked the whole njght. 30  17\n",
            " 824  The dog barked the whole njght. 30  17\n",
            " 825  The dog barked the whole njght. 30  17\n",
            " 826  The dog barked the whole njght. 30  17\n",
            " 827  The dog barked the whole njght. 30  17\n",
            " 828  The dog barked the whole njght. 30  17\n",
            " 829  The dog barked the whole njght. 30  17\n",
            " 830  The dog barked the whole njght. 30  17\n",
            " 831  The dog barked the whole njght. 30  17\n",
            " 832  The dog barked the whole njght. 30  17\n",
            " 833  The dog barked the whole njght. 30  17\n",
            " 834  The dog barked the whole njght. 30  17\n",
            " 835  The dog barked the whole njght. 30  17\n",
            " 836  The dog barked the whole njght. 30  17\n",
            " 837  The dog barked the whole njght. 30  17\n",
            " 838  The dog barked the whole njght. 30  17\n",
            " 839  The dog barked the whole njght. 30  17\n",
            " 840  The dog barked the whole njght. 30  17\n",
            " 841  The dog barked the whole njght. 30  17\n",
            " 842  The dog barked the whole njght. 30  17\n",
            " 843  The dog barked the whole njght. 30  17\n",
            " 844  The dog barked the whole njght. 30  17\n",
            " 845  The dog barked the whole njght. 30  17\n",
            " 846  The dog barked the whole njght. 30  17\n",
            " 847  The dog barked the whole njght. 30  17\n",
            " 848  The dog barked the whole njght. 30  17\n",
            " 849  The dog barked the whole njght. 30  17\n",
            " 850  The dog barked the whole njght. 30  17\n",
            " 851  The dog barked the whole njght. 30  17\n",
            " 852  The dog barked the whole njght. 30  17\n",
            " 853  The dog barked the whole njght. 30  17\n",
            " 854  The dog barked the whole njght. 30  17\n",
            " 855  The dog barked the whole njght. 30  17\n",
            " 856  The dog barked the whole njght. 30  17\n",
            " 857  The dog barked the whole njght. 30  17\n",
            " 858  The dog barked the whole njght. 30  17\n",
            " 859  The dog barked the whole njght. 30  17\n",
            " 860  The dog barked the whole njght. 30  17\n",
            " 861  The dog barked the whole njght. 30  17\n",
            " 862  The dog barked the whole nPght. 30  17\n",
            " 863  The dog barked the whole nPght. 30  17\n",
            " 864  The dog barked the whole nPght. 30  17\n",
            " 865  The dog barked the whole nPght. 30  17\n",
            " 866  The dog barked the whole nPght. 30  17\n",
            " 867  The dog barked the whole nPght. 30  17\n",
            " 868  The dog barked the whole nPght. 30  17\n",
            " 869  The dog barked the whole nPght. 30  17\n",
            " 870  The dog barked the whole nPght. 30  17\n",
            " 871  The dog barked the whole nPght. 30  17\n",
            " 872  The dog barked the whole nPght. 30  17\n",
            " 873  The dog barked the whole nPght. 30  17\n",
            " 874  The dog barked the whole nPght. 30  17\n",
            " 875  The dog barked the whole nPght. 30  17\n",
            " 876  The dog barked the whole nPght. 30  17\n",
            " 877  The dog barked the whole nPght. 30  17\n",
            " 878  The dog barked the whole nPght. 30  17\n",
            " 879  The dog barked the whole nPght. 30  17\n",
            " 880  The dog barked the whole nPght. 30  17\n",
            " 881  The dog barked the whole nPght. 30  17\n",
            " 882  The dog barked the whole nPght. 30  17\n",
            " 883  The dog barked the whole nPght. 30  17\n",
            " 884  The dog barked the whole nPght. 30  17\n",
            " 885  The dog barked the whole nPght. 30  17\n",
            " 886  The dog barked the whole nPght. 30  17\n",
            " 887  The dog barked the whole nPght. 30  17\n",
            " 888  The dog barked the whole nPght. 30  17\n",
            " 889  The dog barked the whole nPght. 30  17\n",
            " 890  The dog barked the whole nPght. 30  17\n",
            " 891  The dog barked the whole nPght. 30  17\n",
            " 892  The dog barked the whole nPght. 30  17\n",
            " 893  The dog barked the whole nPght. 30  17\n",
            " 894  The dog barked the whole nPght. 30  17\n",
            " 895  The dog barked the whole nPght. 30  17\n",
            " 896  The dog barked the whole nPght. 30  17\n",
            " 897  The dog barked the whole nPght. 30  17\n",
            " 898  The dog barked the whole nPght. 30  17\n",
            " 899  The dog barked the whole nPght. 30  17\n",
            " 900  The dog barked the whole nPght. 30  17\n",
            " 901  The dog barked the whole nPght. 30  17\n",
            " 902  The dog barked the whole nPght. 30  17\n",
            " 903  The dog barked the whole nPght. 30  17\n",
            " 904  The dog barked the whole nPght. 30  17\n",
            " 905  The dog barked the whole nPght. 30  17\n",
            " 906  The dog barked the whole nPght. 30  17\n",
            " 907  The dog barked the whole nPght. 30  17\n",
            " 908  The dog barked the whole nPght. 30  17\n",
            " 909  The dog barked the whole nPght. 30  17\n",
            " 910  The dog barked the whole nPght. 30  17\n",
            " 911  The dog barked the whole nPght. 30  17\n",
            " 912  The dog barked the whole nPght. 30  17\n",
            " 913  The dog barked the whole nPght. 30  17\n",
            " 914  The dog barked the whole nPght. 30  17\n",
            " 915  The dog barked the whole nPght. 30  17\n",
            " 916  The dog barked the whole nPght. 30  17\n",
            " 917  The dog barked the whole nPght. 30  17\n",
            " 918  The dog barked the whole nPght. 30  17\n",
            " 919  The dog barked the whole nPght. 30  17\n",
            " 920  The dog barked the whole nPght. 30  17\n",
            " 921  The dog barked the whole nPght. 30  17\n",
            " 922  The dog barked the whole nPght. 30  17\n",
            " 923  The dog barked the whole nPght. 30  17\n",
            " 924  The dog barked the whole nPght. 30  17\n",
            " 925  The dog barked the whole nPght. 30  17\n",
            " 926  The dog barked the whole nPght. 30  17\n",
            " 927  The dog barked the whole nPght. 30  17\n",
            " 928  The dog barked the whole nPght. 30  17\n",
            " 929  The dog barked the whole nPght. 30  17\n",
            " 930  The dog barked the whole nPght. 30  17\n",
            " 931  The dog barked the whole nPght. 30  17\n",
            " 932  The dog barked the whole nPght. 30  17\n",
            " 933  The dog barked the whole nPght. 30  17\n",
            " 934  The dog barked the whole nPght. 30  17\n",
            " 935  The dog barked the whole nPght. 30  17\n",
            " 936  The dog barked the whole nPght. 30  17\n",
            " 937  The dog barked the whole nPght. 30  17\n",
            " 938  The dog barked the whole nPght. 30  17\n",
            " 939  The dog barked the whole nPght. 30  17\n",
            " 940  The dog barked the whole nPght. 30  17\n",
            " 941  The dog barked the whole nPght. 30  17\n",
            " 942  The dog barked the whole nPght. 30  17\n",
            " 943  The dog barked the whole nPght. 30  17\n",
            " 944  The dog barked the whole nPght. 30  17\n",
            " 945  The dog barked the whole nPght. 30  17\n",
            " 946  The dog barked the whole nPght. 30  17\n",
            " 947  The dog barked the whole nPght. 30  17\n",
            " 948  The dog barked the whole nPght. 30  17\n",
            " 949  The dog barked the whole nPght. 30  17\n",
            " 950  The dog barked the whole nPght. 30  17\n",
            " 951  The dog barked the whole nPght. 30  17\n",
            " 952  The dog barked the whole njght. 30  17\n",
            " 953  The dog barked the whole njght. 30  17\n",
            " 954  The dog barked the whole njght. 30  17\n",
            " 955  The dog barked the whole njght. 30  17\n",
            " 956  The dog barked the whole njght. 30  17\n",
            " 957  The dog barked the whole njght. 30  17\n",
            " 958  The dog barked the whole njght. 30  17\n",
            " 959  The dog barked the whole njght. 30  17\n",
            " 960  The dog barked the whole njght. 30  17\n",
            " 961  The dog barked the whole njght. 30  17\n",
            " 962  The dog barked the whole njght. 30  17\n",
            " 963  The dog barked the whole njght. 30  17\n",
            " 964  The dog barked the whole njght. 30  17\n",
            " 965  The dog barked the whole njght. 30  17\n",
            " 966  The dog barked the whole njght. 30  17\n",
            " 967  The dog barked the whole njght. 30  17\n",
            " 968  The dog barked the whole njght. 30  17\n",
            " 969  The dog barked the whole njght. 30  17\n",
            " 970  The dog barked the whole njght. 30  17\n",
            " 971  The dog barked the whole njght. 30  17\n",
            " 972  The dog barked the whole njght. 30  17\n",
            " 973  The dog barked the whole njght. 30  17\n",
            " 974  The dog barked the whole njght. 30  17\n",
            " 975  The dog barked the whole njght. 30  17\n",
            " 976  The dog barked the whole njght. 30  17\n",
            " 977  The dog barked the whole njght. 30  17\n",
            " 978  The dog barked the whole njght. 30  17\n",
            " 979  The dog barked the whole njght. 30  17\n",
            " 980  The dog barked the whole njght. 30  17\n",
            " 981  The dog barked the whole njght. 30  17\n",
            " 982  The dog barked the whole njght. 30  17\n",
            " 983  The dog barked the whole njght. 30  17\n",
            " 984  The dog barked the whole njght. 30  17\n",
            " 985  The dog barked the whole njght. 30  17\n",
            " 986  The dog barked the whole njght. 30  17\n",
            " 987  The dog barked the whole njght. 30  17\n",
            " 988  The dog barked the whole njght. 30  17\n",
            " 989  The dog barked the whole njght. 30  17\n",
            " 990  The dog barked the whole njght. 30  17\n",
            " 991  The dog barked the whole njght. 30  17\n",
            " 992  The dog barked the whole njght. 30  17\n",
            " 993  The dog barked the whole njght. 30  17\n",
            " 994  The dog barked the whole njght. 30  17\n",
            " 995  The dog barked the whole njght. 30  17\n",
            " 996  The dog barked the whole njght. 30  17\n",
            " 997  The dog barked the whole njght. 30  17\n",
            " 998  The dog barked the whole njght. 30  17\n",
            " 999  The dog barked the whole njght. 30  17\n",
            " 1000  The dog barked the whole njght. 30  17\n",
            " 1001  The dog barked the whole njght. 30  17\n",
            " 1002  The dog barked the whole njght. 30  17\n",
            " 1003  The dog barked the whole njght. 30  17\n",
            " 1004  The dog barked the whole njght. 30  17\n",
            " 1005  The dog barked the whole njght. 30  17\n",
            " 1006  The dog barked the whole njght. 30  17\n",
            " 1007  The dog barked the whole njght. 30  17\n",
            " 1008  The dog barked the whole njght. 30  17\n",
            " 1009  The dog barked the whole njght. 30  17\n",
            " 1010  The dog barked the whole njght. 30  17\n",
            " 1011  The dog barked the whole njght. 30  17\n",
            " 1012  The dog barked the whole njght. 30  17\n",
            " 1013  The dog barked the whole njght. 30  17\n",
            " 1014  The dog barked the whole njght. 30  17\n",
            " 1015  The dog barked the whole njght. 30  17\n",
            " 1016  The dog barked the whole njght. 30  17\n",
            " 1017  The dog barked the whole njght. 30  17\n",
            " 1018  The dog barked the whole njght. 30  17\n",
            " 1019  The dog barked the whole njght. 30  17\n",
            " 1020  The dog barked the whole njght. 30  17\n",
            " 1021  The dog barked the whole njght. 30  17\n",
            " 1022  The dog barked the whole njght. 30  17\n",
            " 1023  The dog barked the whole njght. 30  17\n",
            " 1024  The dog barked the whole njght. 30  17\n",
            " 1025  The dog barked the whole njght. 30  17\n",
            " 1026  The dog barked the whole njght. 30  17\n",
            " 1027  The dog barked the whole njght. 30  17\n",
            " 1028  The dog barked the whole njght. 30  17\n",
            " 1029  The dog barked the whole njght. 30  17\n",
            " 1030  The dog barked the whole njght. 30  17\n",
            " 1031  The dog barked the whole njght. 30  17\n",
            " 1032  The dog barked the whole njght. 30  17\n",
            " 1033  The dog barked the whole njght. 30  17\n",
            " 1034  The dog barked the whole njght. 30  17\n",
            " 1035  The dog barked the whole njght. 30  17\n",
            " 1036  The dog barked the whole nmght. 30  17\n",
            " 1037  The dog barked the whole nmght. 30  17\n",
            " 1038  The dog barked the whole nmght. 30  17\n",
            " 1039  The dog barked the whole nmght. 30  17\n",
            " 1040  The dog barked the whole nmght. 30  17\n",
            " 1041  The dog barked the whole nmght. 30  17\n",
            " 1042  The dog barked the whole nmght. 30  17\n",
            " 1043  The dog barked the whole nPght. 30  17\n",
            " 1044  The dog barked the whole nPght. 30  17\n",
            " 1045  The dog barked the whole nPght. 30  17\n",
            " 1046  The dog barked the whole nPght. 30  17\n",
            " 1047  The dog barked the whole nPght. 30  17\n",
            " 1048  The dog barked the whole nPght. 30  17\n",
            " 1049  The dog barked the whole nPght. 30  17\n",
            " 1050  The dog barked the whole nPght. 30  17\n",
            " 1051  The dog barked the whole nPght. 30  17\n",
            " 1052  The dog barked the whole nPght. 30  17\n",
            " 1053  The dog barked the whole nPght. 30  17\n",
            " 1054  The dog barked the whole nPght. 30  17\n",
            " 1055  The dog barked the whole nPght. 30  17\n",
            " 1056  The dog barked the whole nPght. 30  17\n",
            " 1057  The dog barked the whole nPght. 30  17\n",
            " 1058  The dog barked the whole nPght. 30  17\n",
            " 1059  The dog barked the whole nPght. 30  17\n",
            " 1060  The dog barked the whole nPght. 30  17\n",
            " 1061  The dog barked the whole nPght. 30  17\n",
            " 1062  The dog barked the whole nPght. 30  17\n",
            " 1063  The dog barked the whole nPght. 30  17\n",
            " 1064  The dog barked the whole nPght. 30  17\n",
            " 1065  The dog barked the whole nPght. 30  17\n",
            " 1066  The dog barked the whole nPght. 30  17\n",
            " 1067  The dog barked the whole nPght. 30  17\n",
            " 1068  The dog barked the whole nPght. 30  17\n",
            " 1069  The dog barked the whole nPght. 30  17\n",
            " 1070  The dog barked the whole nPght. 30  17\n",
            " 1071  The dog barked the whole nPght. 30  17\n",
            " 1072  The dog barked the whole nPght. 30  17\n",
            " 1073  The dog barked the whole nPght. 30  17\n",
            " 1074  The dog barked the whole nPght. 30  17\n",
            " 1075  The dog barked the whole nPght. 30  17\n",
            " 1076  The dog barked the whole nPght. 30  17\n",
            " 1077  The dog barked the whole nPght. 30  17\n",
            " 1078  The dog barked the whole nPght. 30  17\n",
            " 1079  The dog barked the whole nPght. 30  17\n",
            " 1080  The dog barked the whole nPght. 30  17\n",
            " 1081  The dog barked the whole nPght. 30  17\n",
            " 1082  The dog barked the whole nPght. 30  17\n",
            " 1083  The dog barked the whole nPght. 30  17\n",
            " 1084  The dog barked the whole nPght. 30  17\n",
            " 1085  The dog barked the whole nPght. 30  17\n",
            " 1086  The dog barked the whole nPght. 30  17\n",
            " 1087  The dog barked the whole nPght. 30  17\n",
            " 1088  The dog barked the whole nrght. 30  17\n",
            " 1089  The dog barked the whole nrght. 30  17\n",
            " 1090  The dog barked the whole nrght. 30  17\n",
            " 1091  The dog barked the whole nrght. 30  17\n",
            " 1092  The dog barked the whole nrght. 30  17\n",
            " 1093  The dog barked the whole nrght. 30  17\n",
            " 1094  The dog barked the whole nrght. 30  17\n",
            " 1095  The dog barked the whole nrght. 30  17\n",
            " 1096  The dog barked the whole nrght. 30  17\n",
            " 1097  The dog barked the whole nrght. 30  17\n",
            " 1098  The dog barked the whole nrght. 30  17\n",
            " 1099  The dog barked the whole nrght. 30  17\n",
            " 1100  The dog barked the whole nrght. 30  17\n",
            " 1101  The dog barked the whole nrght. 30  17\n",
            " 1102  The dog barked the whole nrght. 30  17\n",
            " 1103  The dog barked the whole nrght. 30  17\n",
            " 1104  The dog barked the whole nrght. 30  17\n",
            " 1105  The dog barked the whole nrght. 30  17\n",
            " 1106  The dog barked the whole nrght. 30  17\n",
            " 1107  The dog barked the whole nrght. 30  17\n",
            " 1108  The dog barked the whole nrght. 30  17\n",
            " 1109  The dog barked the whole nrght. 30  17\n",
            " 1110  The dog barked the whole nrght. 30  17\n",
            " 1111  The dog barked the whole nrght. 30  17\n",
            " 1112  The dog barked the whole nrght. 30  17\n",
            " 1113  The dog barked the whole nrght. 30  17\n",
            " 1114  The dog barked the whole nrght. 30  17\n",
            " 1115  The dog barked the whole nrght. 30  17\n",
            " 1116  The dog barked the whole nrght. 30  17\n",
            " 1117  The dog barked the whole nrght. 30  17\n",
            " 1118  The dog barked the whole nrght. 30  17\n",
            " 1119  The dog barked the whole nrght. 30  17\n",
            " 1120  The dog barked the whole nrght. 30  17\n",
            " 1121  The dog barked the whole nrght. 30  17\n",
            " 1122  The dog barked the whole nrght. 30  17\n",
            " 1123  The dog barked the whole nrght. 30  17\n",
            " 1124  The dog barked the whole nrght. 30  17\n",
            " 1125  The dog barked the whole nrght. 30  17\n",
            " 1126  The dog barked the whole nrght. 30  17\n",
            " 1127  The dog barked the whole nrght. 30  17\n",
            " 1128  The dog barked the whole nrght. 30  17\n",
            " 1129  The dog barked the whole nrght. 30  17\n",
            " 1130  The dog barked the whole nrght. 30  17\n",
            " 1131  The dog barked the whole nrght. 30  17\n",
            " 1132  The dog barked the whole nrght. 30  17\n",
            " 1133  The dog barked the whole nrght. 30  17\n",
            " 1134  The dog barked the whole nrght. 30  17\n",
            " 1135  The dog barked the whole nrght. 30  17\n",
            " 1136  The dog barked the whole nrght. 30  17\n",
            " 1137  The dog barked the whole nrght. 30  17\n",
            " 1138  The dog barked the whole nrght. 30  17\n",
            " 1139  The dog barked the whole nrght. 30  17\n",
            " 1140  The dog barked the whole nrght. 30  17\n",
            " 1141  The dog barked the whole nrght. 30  17\n",
            " 1142  The dog barked the whole nrght. 30  17\n",
            " 1143  The dog barked the whole nrght. 30  17\n",
            " 1144  The dog barked the whole nrght. 30  17\n",
            " 1145  The dog barked the whole nrght. 30  17\n",
            " 1146  The dog barked the whole nrght. 30  17\n",
            " 1147  The dog barked the whole nrght. 30  17\n",
            " 1148  The dog barked the whole nrght. 30  17\n",
            " 1149  The dog barked the whole nrght. 30  17\n",
            " 1150  The dog barked the whole nrght. 30  17\n",
            " 1151  The dog barked the whole nrght. 30  17\n",
            " 1152  The dog barked the whole nrght. 30  17\n",
            " 1153  The dog barked the whole nrght. 30  17\n",
            " 1154  The dog barked the whole nrght. 30  17\n",
            " 1155  The dog barked the whole nrght. 30  17\n",
            " 1156  The dog barked the whole nrght. 30  17\n",
            " 1157  The dog barked the whole nrght. 30  17\n",
            " 1158  The dog barked the whole nrght. 30  17\n",
            " 1159  The dog barked the whole nrght. 30  17\n",
            " 1160  The dog barked the whole nrght. 30  17\n",
            " 1161  The dog barked the whole nrght. 30  17\n",
            " 1162  The dog barked the whole nrght. 30  17\n",
            " 1163  The dog barked the whole nrght. 30  17\n",
            " 1164  The dog barked the whole nrght. 30  17\n",
            " 1165  The dog barked the whole nrght. 30  17\n",
            " 1166  The dog barked the whole nrght. 30  17\n",
            " 1167  The dog barked the whole nrght. 30  17\n",
            " 1168  The dog barked the whole nrght. 30  17\n",
            " 1169  The dog barked the whole nrght. 30  17\n",
            " 1170  The dog barked the whole nrght. 30  17\n",
            " 1171  The dog barked the whole nrght. 30  17\n",
            " 1172  The dog barked the whole nrght. 30  17\n",
            " 1173  The dog barked the whole nrght. 30  17\n",
            " 1174  The dog barked the whole nrght. 30  17\n",
            " 1175  The dog barked the whole nrght. 30  17\n",
            " 1176  The dog barked the whole nrght. 30  17\n",
            " 1177  The dog barked the whole nrght. 30  17\n",
            " 1178  The dog barked the whole nrght. 30  17\n",
            " 1179  The dog barked the whole nrght. 30  17\n",
            " 1180  The dog barked the whole nrght. 30  17\n",
            " 1181  The dog barked the whole nrght. 30  17\n",
            " 1182  The dog barked the whole nrght. 30  17\n",
            " 1183  The dog barked the whole nrght. 30  17\n",
            " 1184  The dog barked the whole nrght. 30  17\n",
            " 1185  The dog barked the whole nrght. 30  17\n",
            " 1186  The dog barked the whole nrght. 30  17\n",
            " 1187  The dog barked the whole nrght. 30  17\n",
            " 1188  The dog barked the whole nrght. 30  17\n",
            " 1189  The dog barked the whole nrght. 30  17\n",
            " 1190  The dog barked the whole nrght. 30  17\n",
            " 1191  The dog barked the whole nrght. 30  17\n",
            " 1192  The dog barked the whole nrght. 30  17\n",
            " 1193  The dog barked the whole nrght. 30  17\n",
            " 1194  The dog barked the whole nrght. 30  17\n",
            " 1195  The dog barked the whole nrght. 30  17\n",
            " 1196  The dog barked the whole nrght. 30  17\n",
            " 1197  The dog barked the whole nrght. 30  17\n",
            " 1198  The dog barked the whole nrght. 30  17\n",
            " 1199  The dog barked the whole nrght. 30  17\n",
            " 1200  The dog barked the whole nrght. 30  17\n",
            " 1201  The dog barked the whole nrght. 30  17\n",
            " 1202  The dog barked the whole nrght. 30  17\n",
            " 1203  The dog barked the whole nrght. 30  17\n",
            " 1204  The dog barked the whole nrght. 30  17\n",
            " 1205  The dog barked the whole nrght. 30  17\n",
            " 1206  The dog barked the whole nrght. 30  17\n",
            " 1207  The dog barked the whole nrght. 30  17\n",
            " 1208  The dog barked the whole nrght. 30  17\n",
            " 1209  The dog barked the whole nrght. 30  17\n",
            " 1210  The dog barked the whole nrght. 30  17\n",
            " 1211  The dog barked the whole nrght. 30  17\n",
            " 1212  The dog barked the whole nrght. 30  17\n",
            " 1213  The dog barked the whole nrght. 30  17\n",
            " 1214  The dog barked the whole nrght. 30  17\n",
            " 1215  The dog barked the whole nrght. 30  17\n",
            " 1216  The dog barked the whole nrght. 30  17\n",
            " 1217  The dog barked the whole nrght. 30  17\n",
            " 1218  The dog barked the whole nrght. 30  17\n",
            " 1219  The dog barked the whole nrght. 30  17\n",
            " 1220  The dog barked the whole nrght. 30  17\n",
            " 1221  The dog barked the whole nrght. 30  17\n",
            " 1222  The dog barked the whole nrght. 30  17\n",
            " 1223  The dog barked the whole nrght. 30  17\n",
            " 1224  The dog barked the whole nrght. 30  17\n",
            " 1225  The dog barked the whole nrght. 30  17\n",
            " 1226  The dog barked the whole nrght. 30  17\n",
            " 1227  The dog barked the whole nrght. 30  17\n",
            " 1228  The dog barked the whole nrght. 30  17\n",
            " 1229  The dog barked the whole nrght. 30  17\n",
            " 1230  The dog barked the whole nrght. 30  17\n",
            " 1231  The dog barked the whole nrght. 30  17\n",
            " 1232  The dog barked the whole nrght. 30  17\n",
            " 1233  The dog barked the whole nrght. 30  17\n",
            " 1234  The dog barked the whole nrght. 30  17\n",
            " 1235  The dog barked the whole nrght. 30  17\n",
            " 1236  The dog barked the whole nrght. 30  17\n",
            " 1237  The dog barked the whole nrght. 30  17\n",
            " 1238  The dog barked the whole nrght. 30  17\n",
            " 1239  The dog barked the whole nrght. 30  17\n",
            " 1240  The dog barked the whole nrght. 30  17\n",
            " 1241  The dog barked the whole nrght. 30  17\n",
            " 1242  The dog barked the whole nwght. 30  17\n",
            " 1243  The dog barked the whole nwght. 30  17\n",
            " 1244  The dog barked the whole nwght. 30  17\n",
            " 1245  The dog barked the whole nwght. 30  17\n",
            " 1246  The dog barked the whole nwght. 30  17\n",
            " 1247  The dog barked the whole nwght. 30  17\n",
            " 1248  The dog barked the whole nwght. 30  17\n",
            " 1249  The dog barked the whole nwght. 30  17\n",
            " 1250  The dog barked the whole nwght. 30  17\n",
            " 1251  The dog barked the whole nwght. 30  17\n",
            " 1252  The dog barked the whole nwght. 30  17\n",
            " 1253  The dog barked the whole nwght. 30  17\n",
            " 1254  The dog barked the whole nwght. 30  17\n",
            " 1255  The dog barked the whole nwght. 30  17\n",
            " 1256  The dog barked the whole nwght. 30  17\n",
            " 1257  The dog barked the whole nwght. 30  17\n",
            " 1258  The dog barked the whole nwght. 30  17\n",
            " 1259  The dog barked the whole nwght. 30  17\n",
            " 1260  The dog barked the whole night. 31  17\n",
            "\n",
            "Starting sequence = The cat slept  the whole day...\n",
            " Target  sequence = The dog barked the whole night.\n",
            " Common  ancestor = The dtg Eleytd the whole dCQh..\n",
            "Generation of common ancestor: 107\n",
            "Final fitness: 31\n",
            " Final chromosome = The dog barked the whole night.\n",
            "Target sequence matched in generation 1260\n",
            "Total cost = population size * number of generations: 25200\n"
          ]
        },
        {
          "data": {
            "image/png": "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CEaNGmW17YEHHsCcOXOstkVHRyv/HxAQgMDAQOU8iKh0MJkhIpvcc8890Gg0OHr0qNX2WrVqAYDSedZsNqNatWrYsmVLvmPk7ZOi0+ms9mk0GpjNZuUYALBmzRpUr17dqpxer7d6fOctrxdffBHr16/HrFmzcM8998DPzw+PPvoocnJybDxT6zrlJSL5thV1HkRUOpjMEJFNKlWqhNjYWHz44YeIj48vtN9Ms2bNkJKSAm9vb0RGRhbrtRo0aAC9Xo/Tp0+jQ4cOdj13+/btGD58OPr37w8AuH79Ov7++2+rMj4+PjCZTEUep379+tixYweGDh2qbNu5cyfq169vV32IyPGYzBCRzT7++GM88MADaNGiBRISEhAdHQ2tVou9e/fi6NGjaN68OTp37ow2bdqgX79+ePvtt1G3bl2cP38ea9euRb9+/fLdFipIYGAgXnjhBUyYMAFmsxnt2rVDeno6du7ciXLlymHYsGGFPveee+7BsmXL0Lt3b2g0Grz++uv5WkoiIyOxbds2PP7449Dr9ahcuXK+47z44osYMGCA0nl51apVWLZsmdXIKCIqG5jMEJHNateujQMHDmD69OmYNGkSzp49C71ejwYNGuCFF17AmDFjoNFosHbtWkyePBkjR47EP//8g9DQULRv3x5Vq1a1+bXeeOMNhISEYMaMGfjrr79Qvnx5NGvWDK+++mqRz3v33XcxcuRItG3bFpUrV8bLL7+M9PR0qzJTp07F6NGjUbt2bWRnZ0NE8h2nX79+mDNnDt555x0899xziIqKQlJSEmJiYmw+ByIqHRop6FNMRERE5CI4zwwRERG5NCYzRERE5NKYzBAREZFLYzJDRERELo3JDBEREbk0JjNERETk0pjMEBERkUtjMkNEREQujckMERERuTQmM0REROTSmMwQERGRS2MyQ0RERC7t/wFgjcop8Ecu/QAAAABJRU5ErkJggg==",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "# Program FromCatToDog.py\n",
        "# A sentence characterizes a cat,\n",
        "# Another a dog.\n",
        "# Evolution is programmed to go from the first sentence\n",
        "# to the second.\n",
        "# This is the Darwinian Shakespeare Challenge.\n",
        "\n",
        "import datetime\n",
        "import random\n",
        "import matplotlib.pyplot as plt # Import matplotlib for plotting\n",
        "# starting_sequence = 'The cat slept the whole day....'\n",
        "starting_sequence = 'The cat slept  the whole day...'\n",
        "target_sequence   = 'The dog barked the whole night.'\n",
        "alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "# alphabet = '01'\n",
        "# target_sequence = '1'*200\n",
        "length_of_starting_sequence = len(starting_sequence)\n",
        "length_of_target_sequence = len(target_sequence)\n",
        "population_size = 20\n",
        "include_clone_population13 = True\n",
        "include_mutate_all13 = True\n",
        "include_crossover_all13 = True\n",
        "mutation_rate = 0.01\n",
        "recombination_rate = 0.01\n",
        "\n",
        "# Boolean flag to print the generation, best chromosome and fitness.\n",
        "# This is the ancestral line of the solution.\n",
        "print_best_fitness = True\n",
        "show_graph = True\n",
        "\n",
        "\n",
        "def print_parameters13():\n",
        "    print(f\"Lab: Simple Genetic Algorithm\")\n",
        "    print(f\"Purpose: solve an instance of the Shakespeare challenge\")\n",
        "    print(f\"Date of Experiment  = {datetime.datetime.now()}\")\n",
        "    print(f\"alphabet =  {alphabet}\")\n",
        "    print(f\"starting_sequence = {starting_sequence}\")\n",
        "    print(f\"target_sequence   = {target_sequence}\")\n",
        "    print(f\"length_of_starting_sequence = {length_of_starting_sequence}\")\n",
        "    print(f\"length_of_target_sequence = {length_of_target_sequence}\")\n",
        "    print(f\"population_size = {population_size}\")\n",
        "    print(f\"include_clone_population13 = {include_clone_population13}\")\n",
        "    print(f\"include_mutate_all13 = {include_mutate_all13}\")\n",
        "    print(f\"include_crossover_all13 = {include_crossover_all13}\")\n",
        "    if include_mutate_all13:\n",
        "        print(f\"mutation_rate = {mutation_rate}\")\n",
        "    if include_crossover_all13:\n",
        "        print(f\"recombination_rate = {recombination_rate}\")\n",
        "    if include_clone_population13:\n",
        "        print(f\"print_best_fitness = {print_best_fitness}\")\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "def create_population13(population_size, starting_sequence, alphabet):\n",
        "    \"\"\"Creates a new population cloning the starting sequence.\"\"\"\n",
        "    # print(\"create_population13(population_size, target_sequence, alphabet)\")\n",
        "    population = [starting_sequence] * population_size\n",
        "    print(\"Initial population\")\n",
        "    print(population)\n",
        "    return population\n",
        "\n",
        "def calculate_fitness13(chromosome, target_sequence):\n",
        "    \"\"\"Calculates the fitness of a chromosome based on its similarity to the target sequence.\"\"\"\n",
        "    #  print(\"\\n *calculate_fitness13(chromosome, target_sequence)\")\n",
        "    fitness = 0\n",
        "    for i in range(len(chromosome)):\n",
        "        if chromosome[i] == target_sequence[i]:\n",
        "            fitness += 1\n",
        "    # print(chromosome, \"  fitness: \", fitness)\n",
        "    return fitness\n",
        "\n",
        "def calculate_all_fitness13(population, target_sequence):\n",
        "    # print(\"\\n*calculate_all_fitness13(population, target_sequence)\")\n",
        "    \"\"\"Calculates the fitness of all chromosomes in the population.\"\"\"\n",
        "    fitness_scores = [calculate_fitness13(chromosome, target_sequence) for chromosome in population]\n",
        "    # print(\"fitness_scores: \", fitness_scores)\n",
        "    return fitness_scores\n",
        "\n",
        "def select_the_best13(population, target_sequence):\n",
        "    \"\"\"Selects the best chromosome for reproduction.\"\"\"\n",
        "    fitness_scores = calculate_all_fitness13(population, target_sequence)\n",
        "    best_fitness = max(fitness_scores)\n",
        "    best_chromosome_index = fitness_scores.index(best_fitness)\n",
        "    best_chromosome = population[best_chromosome_index]\n",
        "    # print(\"\\n*select_the_best13(population)\")\n",
        "    # print(\"best_fitness = \", best_fitness)\n",
        "    # print(\"The chro = \", best_chromosome )\n",
        "    return best_fitness, best_chromosome\n",
        "\n",
        "def clone_population13(best_chromosome, population_size):\n",
        "    \"\"\"Creates a new population by cloning the best chromosome.\"\"\"\n",
        "    return [best_chromosome] * population_size\n",
        "\n",
        "def mutate13(chromosome, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates a chromosome.\"\"\"\n",
        "    mutated_chromosome_list = list(chromosome)\n",
        "    for i in range(len(mutated_chromosome_list)):\n",
        "        if random.random() < mutation_rate:\n",
        "                mutated_chromosome_list[i] = random.choice(alphabet)\n",
        "    return \"\".join(mutated_chromosome_list)\n",
        "\n",
        "def mutate_all13(population, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates all chromosomes in the population.\"\"\"\n",
        "    mutated_population = []\n",
        "    for chromosome in population:\n",
        "        mutated_chromosome = mutate13(chromosome, mutation_rate, alphabet)\n",
        "        mutated_population.append(mutated_chromosome)\n",
        "    return mutated_population\n",
        "\n",
        "def crossover13(parent1, parent2, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover between two parent chromosomes.\"\"\"\n",
        "    if random.random() < recombination_rate:\n",
        "        crossover_point = random.randint(0, len(target_sequence))\n",
        "        return parent1[:crossover_point] + parent2[crossover_point:]\n",
        "    else:\n",
        "        return parent1\n",
        "\n",
        "def crossover_all13(population, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover on all chromosomes in the population.\"\"\"\n",
        "    recombinant_population = []\n",
        "    for i in range(len(population)):\n",
        "        parent1 =  population[i]\n",
        "        parent2 = random.choice(population)\n",
        "        child = crossover13(parent1, parent2, target_sequence, recombination_rate)\n",
        "        recombinant_population.append(child)\n",
        "    return recombinant_population\n",
        "\n",
        "\n",
        "\n",
        "def run_one_generation13(population, target_sequence, mutation_rate, recombination_rate, alphabet):\n",
        "    \"\"\"Runs one generation of the genetic algorithm.\"\"\"\n",
        "    # Calculate fitness scores for the current population\n",
        "    best_fitness, best_chromosome  = select_the_best13(population, target_sequence)\n",
        "    # print(f\" best_chromosome {best_chromosome}, best_fitness {best_fitness}\")\n",
        "    # Clone the best to build the new population\n",
        "    new_population = []\n",
        "    if include_clone_population13:\n",
        "        new_population = clone_population13(best_chromosome, population_size)\n",
        "    if include_mutate_all13:\n",
        "        new_population = mutate_all13(new_population, mutation_rate, alphabet)\n",
        "    if include_crossover_all13:\n",
        "        new_population = crossover_all13(new_population, target_sequence, recombination_rate)\n",
        "    return best_fitness, best_chromosome, new_population\n",
        "\n",
        "\n",
        "\n",
        "def plot_Best_Fitness13(best_fitness_history, best_fitness_history2):\n",
        "    # Plot the fitness history\n",
        "    plt.plot(best_fitness_history)\n",
        "    plt.plot(best_fitness_history2)\n",
        "    plt.xlabel('Generation')\n",
        "    plt.ylabel('Best Fitness')\n",
        "    plt.title('Genetic Algorithm - Fitness and fitness2 over Generations')\n",
        "    plt.grid(True)\n",
        "    plt.show()\n",
        "\n",
        "\n",
        "def main13( target_sequence, mutation_rate, recombination_rate, alphabet):\n",
        "    print_parameters13()\n",
        "    population = create_population13(population_size, starting_sequence, alphabet)\n",
        "    # print(population)\n",
        "    generation = 0\n",
        "    best_chromosome = ''\n",
        "    best_fitness = 0 # with respect to the target sequence\n",
        "    best_fitness2 = 0 # with respect to the initial sequence\n",
        "    best_fitness_history = [] # List to store best fitness of each generation,\n",
        "    best_fitness_history2 = [] # List to store  fitness2 of best chromosome of each generation\n",
        "    common_ancestor = \"\"\n",
        "    generation_of_common_ancestor = 0\n",
        "    if print_best_fitness:\n",
        "        print(\"Generation, best_chromosome, best_fitness, best_fitness2\")\n",
        "    while best_fitness < len(target_sequence):\n",
        "        generation += 1\n",
        "        best_fitness, best_chromosome, population = run_one_generation13(population, target_sequence, mutation_rate, recombination_rate, alphabet)\n",
        "        best_fitness_history.append(best_fitness)\n",
        "        best_fitness2 = calculate_fitness13(best_chromosome, starting_sequence)\n",
        "        best_fitness_history2.append(best_fitness2)\n",
        "        if print_best_fitness:\n",
        "            print(f\" {generation}  {best_chromosome} {best_fitness}  {best_fitness2}\")\n",
        "        if (best_fitness < best_fitness2):\n",
        "            common_ancestor = best_chromosome\n",
        "            generation_of_common_ancestor = generation\n",
        "\n",
        "    print(f\"\\nStarting sequence = {starting_sequence}\")\n",
        "    print(f\" Target  sequence = {target_sequence}\")\n",
        "    print(f\" Common  ancestor = {common_ancestor}\")\n",
        "    print(f\"Generation of common ancestor: {generation_of_common_ancestor}\")\n",
        "    print(f\"Final fitness: {best_fitness}\")\n",
        "    print(f\" Final chromosome = {best_chromosome}\")\n",
        "    print(f\"Target sequence matched in generation {generation}\")\n",
        "    \n",
        "    totalCost = population_size * generation\n",
        "    print(f\"Total cost = population size * number of generations: {totalCost}\")\n",
        "    if show_graph:\n",
        "        plot_Best_Fitness13(best_fitness_history, best_fitness_history2)\n",
        "\n",
        "main13( target_sequence, mutation_rate, recombination_rate, alphabet)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "*Comment.* We aligned the initial sequence to the target one as much as possible. We found that Evolution can conserve the common substrings, but the uncommon ones are connected by the sea of nonsense. In the uncommon ones, the sense is lost and Evolution builds its own solution. Thus, Evolution would conserve the characteristic of having four legs. However, to claim that the dog and the cat have a common ancestor, it is necessary to find fossils with too many senseless characteristics that evolved into those specific to a cat, say, the almost spheric form of the head.  This prediction is scientific, it leaves light reasoning and enters the terrain of comparing observed with predicted. \n",
        " \n",
        "This poses a very interesting engineering problem in reference to the cost of building structures: Is to begin from scratch easier and cheaper than remodeling? Or in our terms: What is more effective: evolution or design ab initio?  This question transforms the Evolutionary Dogma into a scientific motif of inquiring. It is valid for every engineering task. We can learn something by considering the strategies that are used in masonry: it is common to see that old houses and building are totally destroyed, the terrain is flattened, and new buildings are done ab initio. But in other occasions, old houses and building are remodeled, very specially when these are of historic interest.\n",
        "\n",
        "*Challenge.* Convert this funny exercise, of inquiring over a common ancestor of two lineages, into a research program."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# CONNECTION WITH SURVIVING\n",
        "\n",
        "We have focused on the battle against complexity. This looks distant from Biology. So, let us show that Fundamental Biology is one step away from our activity. To this aim, we asked Colab to help us with an animation in which the Shakespeare challenge, using a binary alphabet, was connected to the surviving of a virtual hen:\n",
        "\n",
        "> The code for an animation that shows how a robotic hen advances through a road with fruit trees, and jumps to feed itself to acquire energy to go forward. The specifications of the road are: it is linear and divided into segments of equal length, which are numbered 0, 1, 2, 3,... A segment may have no tree or one tree. Every tree has fruit. A binary sequence dictates which segment has a tree: the k-bit of that sequence determines whether there is a tree in the k segment of the road; a zero means that there is no tree, a one means that there is a tree. That sequence is called the energizing sequence. For instance, the energizing sequence 0101 says that there is no tree at segments 0 and 2, and that there are trees at segments 1 and 3. The specifications for the behavior of the hen are: the hen executes the instructions given by a binary chromosome, which is a binary sequence whose length is equal to that of the road. The k-bit of the chromosome decides whether the hen must jump at the k-th segment of the road.  A 0 means to move forward with a cost of one unit of energy. A 1 means to jump and move forward, with a cost of two units of energy. If there is a tree in that segment, the hen grasps its fruit, eats it, and gains 3 units of energy to go on.  At the beginning, the hen has 3 units of energy. Energy is cumulative. The energy of the hen is shown by the intensity of its color, which could be red. Example: given the energizing sequence 1010, the chromosome 1010 is executed by the hen as follows: the hen goes to the initial segment, jumps, wastes two units of energy, grasps a fruit, eats it, and gains 3 units of energy. Balance: 6 units of energy were gained and 2 were wasted. The result is +4. Next, it runs through segment 1 and employs 1 unit of energy. The hen leaves with 3 units of energy. In segment 2, the hen jumps, wastes two units of energy, grasps a fruit, eats it, and gains 3 units of energy. It leaves with 4 units of energy.  And so on.\n",
        "\n",
        "The unfatigable work of Gemini produced various solutions. For instance, a genetic algorithm was used to find a binary string that encodes the places where a tree sits, and the hen must jump in order to guarantee its surviving. Nevertheless, we have experienced troubles to run them. So, we report only the initial and simplest one.  The code follows:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Hen's Positions:\n",
            "[0, 1, 2, 3, 4]\n",
            "\n",
            "Hen's Energy Levels:\n",
            "[3, 4, 2, 1, -1]\n"
          ]
        },
        {
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1UAAAK7CAYAAAAaxqWAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAABnIklEQVR4nO3deVxUZf//8ffIMoIiCqaI4L6hYZKauaSSuaZlVu65dbeplUu2aC5U7tXdYpqmaVZu3VqZqUmKW2mhpaWVabkVmIqKC8l6/f7ox3wdQQMPzAi8no8Hj/uea6455zMzH3LenHOusRljjAAAAAAA16SYuwsAAAAAgIKMUAUAAAAAFhCqAAAAAMACQhUAAAAAWECoAgAAAAALCFUAAAAAYAGhCgAAAAAsIFQBAAAAgAWEKgAAAACwgFAFAG6wYMEC2Ww2x4+np6cqVKignj17av/+/de0zQkTJshms+nkyZN5VueiRYv02muvZXufzWbThAkT8mQ/VapUUefOnbO9b8eOHbLZbFqwYEGe7Cs3Ln2fNm7cmOV+Y4xq1Kghm82m1q1bu7y+gmLmzJluef8AwFUIVQDgRvPnz9e2bdv05ZdfaujQoVq5cqVatGih06dPu7s0SVcPVdu2bdN//vMf1xbkJn5+fpo3b16W8U2bNum3336Tn5+fG6oqOAhVAAo7QhUAuNGNN96oW2+9Va1bt9aYMWP07LPP6vjx4/rkk0/cXdq/uvXWWxUSEuLuMlyiR48eWr58uc6ePes0Pm/ePDVt2lSVKlVyU2UAgOsBoQoAriONGjWSJP31119O4ytXrlTTpk3l6+srPz8/tW3bVtu2bct2G0ePHlW3bt1UqlQp+fv7q2/fvjpx4oTTnIyMDE2bNk116tSR3W5XuXLl1K9fP/3xxx+OOa1bt9bnn3+uw4cPO52qmCm70//+/PNPPfzwwwoNDZW3t7eCg4N13333ZXk+eWH//v3q3bu3ypUrJ7vdrrCwML311ltOczZu3CibzabFixdrzJgxCg4OVqlSpXTHHXdo3759Od5Xr169JEmLFy92jCUmJmr58uUaNGhQto85deqUBg8erIoVK8rb21vVqlXTmDFjlJyc7JgTERGh2267Lctj09PTVbFiRXXr1s0xlpKSopdeesnxnt1www0aOHBglvc281TKVatWKSIiQj4+PgoLC9OqVask/XNKY1hYmEqUKKFbbrlFO3bsyLL/HTt26K677lJAQICKFy+uiIgILVu2zGlO5qmRMTExeuyxx1S2bFkFBgaqW7duiouLc6pn79692rRpk6OHqlSpcqWXGgAKJEIVAFxHDh48KEmqVauWY2zRokW6++67VapUKS1evFjz5s3T6dOn1bp1a23dujXLNu655x7VqFFD//vf/zRhwgR98sknat++vVJTUx1zHnvsMT3zzDNq27atVq5cqRdffFFr165Vs2bNHNdkzZw5U82bN1dQUJC2bdvm+LmSP//8U40bN9bHH3+sESNGaM2aNXrttdfk7++fo9MZjTFKS0vL8pOenp5l7k8//aTGjRtrz549euWVV7Rq1SrdeeedeuKJJxQVFZVl/ujRo3X48GHNnTtXc+bM0f79+9WlS5dst52dUqVK6b777tO7777rGFu8eLGKFSumHj16ZJl/8eJFRUZGauHChRoxYoQ+//xz9e3bV9OmTXMKSgMHDtTWrVuzXEe3bt06xcXFaeDAgZL+CcF33323pkyZot69e+vzzz/XlClTFB0drdatW+vvv/92evzu3bv13HPP6ZlnntGKFSvk7++vbt26afz48Zo7d64mTZqkDz/8UImJiercubPT42NiYtS8eXOdOXNGb7/9tj799FM1aNBAPXr0yPYUvv/85z/y8vLSokWLNG3aNG3cuFF9+/Z13P/xxx+rWrVqioiIcPTQxx9/nKPXHQAKDAMAcLn58+cbSWb79u0mNTXVnDt3zqxdu9YEBQWZli1bmtTUVGOMMenp6SY4ONiEh4eb9PR0x+PPnTtnypUrZ5o1a+YYGz9+vJFkhg8f7rSvDz/80EgyH3zwgTHGmJ9//tlIMoMHD3aa98033xhJZvTo0Y6xO++801SuXDnb5yDJjB8/3nF70KBBxsvLy/z000+5fj0qV65sJF31Z/78+Y757du3NyEhISYxMdFpO0OHDjXFixc3p06dMsYYExMTYySZTp06Oc1btmyZkWS2bdt21boy36fY2FjHtvbs2WOMMaZx48ZmwIABxhhj6tWrZ1q1auV43Ntvv20kmWXLljltb+rUqUaSWbdunTHGmJMnTxpvb2+n19wYY7p3727Kly/v6IPFixcbSWb58uVO82JjY40kM3PmTKfX0sfHx/zxxx+OsV27dhlJpkKFCubChQuO8U8++cRIMitXrnSM1alTx0RERDj2nalz586mQoUKjj7MfG0u76Np06YZSSY+Pt4xdvnrAwCFDUeqAMCNbr31Vnl5ecnPz08dOnRQmTJl9Omnn8rT01OStG/fPsXFxemBBx5QsWL/95/skiVL6t5779X27duVlJTktM0+ffo43e7evbs8PT0VExMjSY7/HTBggNO8W265RWFhYVq/fv01PZc1a9YoMjJSYWFh1/T4Fi1aKDY2NsvPwoULneZdvHhR69ev1z333CNfX1+no1qdOnXSxYsXtX37dqfH3HXXXU6369evL0k6fPhwjutr1aqVqlevrnfffVc//vijYmNjr3jq34YNG1SiRAndd999TuOZr3nmaxwYGKguXbrovffeU0ZGhiTp9OnT+vTTT9WvXz9HH6xatUqlS5dWly5dnJ5vgwYNFBQUlGVlwgYNGqhixYqO25nvSevWreXr65tlPPN1OHDggH755RdHD13+2sbHx2c5bTIvXlsAKOg83V0AABRlCxcuVFhYmM6dO6elS5dq9uzZ6tWrl9asWSNJSkhIkCRVqFAhy2ODg4OVkZGh06dPO31QDgoKcprn6empwMBAx7b+bZvX+mH4xIkTlhau8Pf3d1xTdjUJCQlKS0vTm2++qTfffDPbOZcvKx8YGOh02263S1KW0+auxmazaeDAgXrjjTd08eJF1apVK9vroTJrDAoKcroGTZLKlSsnT09Px3sgSYMGDdLy5csVHR2t9u3ba/HixUpOTnYKvX/99ZfOnDkjb2/vHD3fgIAAp9uZj7vS+MWLFx37kaSnnnpKTz31VI72lRevLQAUdIQqAHCjsLAwR5CIjIxUenq65s6dq//973+67777HB9Y4+Pjszw2Li5OxYoVU5kyZZzGjx075nSUIi0tTQkJCY5tXbrNy0NQXFycypYte03P5YYbbnBa6CK/lClTRh4eHnrggQc0ZMiQbOdUrVo1X/Y9YMAAjRs3Tm+//bYmTpx4xXmBgYH65ptvZIxxClbHjx9XWlqa02vcvn17BQcHa/78+Wrfvr3mz5+vJk2aqG7duo45mYtArF27Ntv95dWS7pl1Pffcc07Xfl2qdu3aebIvAChMCFUAcB2ZNm2ali9frnHjxqlbt26qXbu2KlasqEWLFumpp55yfEC/cOGCli9f7lgR8FIffvihGjZs6Li9bNkypaWlOb6c9vbbb5ckffDBB2rcuLFjXmxsrH7++WeNGTPGMWa323N8xKFjx456//33tW/fvnz94O3r66vIyEh9//33ql+//hWP3uSHihUratSoUfrll1/Uv3//K85r06aNli1bpk8++UT33HOPYzzzVMY2bdo4xjID4muvvaYtW7Zox44dmj17ttP2OnfurCVLlig9PV1NmjTJ42f1f2rXrq2aNWtq9+7dmjRpUp5tNzd9BAAFEaEKAK4jZcqU0XPPPaenn35aixYtcqwY16dPH3Xu3FmPPPKIkpOTNX36dJ05c0ZTpkzJso0VK1bI09NTbdu21d69ezV27FjddNNN6t69u6R/Pjg//PDDevPNN1WsWDF17NhRhw4d0tixYxUaGqrhw4c7thUeHq4VK1Zo1qxZatiwoYoVK3bFU/ReeOEFrVmzRi1bttTo0aMVHh6uM2fOaO3atRoxYoTq1KmTZ6/T66+/rhYtWui2227TY489pipVqujcuXM6cOCAPvvsM23YsCHP9nW57F7zy/Xr109vvfWW+vfvr0OHDik8PFxbt27VpEmT1KlTJ91xxx1O8wcNGqSpU6eqd+/e8vHxybKiYM+ePfXhhx+qU6dOevLJJ3XLLbfIy8tLf/zxh2JiYnT33Xc7hTcrZs+erY4dO6p9+/YaMGCAKlasqFOnTunnn3/Wd999p48++ijX2wwPD9eSJUu0dOlSVatWTcWLF1d4eHie1AsA1wNCFQBcZx5//HHNmDFDL7zwgnr16qXevXurRIkSmjx5snr06CEPDw/deuutiomJUbNmzbI8fsWKFZowYYJmzZolm82mLl266LXXXnM6ojNr1ixVr15d8+bN01tvvSV/f3916NBBkydPdrpG5sknn9TevXs1evRoJSYmyhgjY0y2dVesWFHffvutxo8frylTpighIUE33HCDWrRokeVaHqvq1q2r7777Ti+++KKef/55HT9+XKVLl1bNmjXVqVOnPN3XtShevLhiYmI0ZswYTZ8+XSdOnFDFihX11FNPafz48Vnm16pVS82aNdPXX3+tPn36yN/f3+l+Dw8PrVy5Uq+//rref/99TZ48WZ6engoJCVGrVq3yNKBERkbq22+/1cSJEzVs2DCdPn1agYGBqlu3riOY51ZUVJTi4+P10EMP6dy5c6pcubIOHTqUZzUDgLvZzJX+dQQAAAAA/CuWVAcAAAAA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AgAAAAALCFUAAAAAYAGhCgAAAAAsIFQBAAAAgAWEKgAAAACwgFAFAAAAABYQqgAAAADAAkIVAAAAAFhAqAIAAAAACwhVAAAAAGABoQoAAAAALCBUAQAAAIAFhCoAAAAAsIBQBQAAAAAWEKoAAAAAwAJCFQAAAABYQKgCAAAAAAsIVQAAAABgAaEKAAAAACwgVAEAAACABYQqAAAAALCAUAUAAAAAFhCqAAAAAMACQhUAAAAAWECoAgAAAAALCFUAAAAAYAGhCgAAAAAsIFQBAAAAgAWEKgAAAACwgFAFAAAAABYQqgAAAADAAkIVAAAAAFhAqAIAAAAACwhVAAAAAGABoQoAAAAALCBUAQAAAIAFhCoAAAAAsIBQBQAAAAAWEKoAAAAAwAJCFQAAAABYQKgCAAAAAAsIVQAAAABgAaEKAAAAACwgVAEAAACABYQqAAAAALCAUAUAAAAAFhCqAAAAAMACQhUAAAAAWECoAgAAAAALCFUAAAAAYAGhCgAAAAAsIFQBAAAAgAWEKgAAAACwgFAFAAAAABYQqgAAAADAAkIVAAAAAFhAqAIAAAAACwhVAAAAAGABoQoAAAAALCBUAQAAAIAFhCoAAAAAsIBQBQAAAAAWEKoAAAAAwAJCFQAAAABYQKgCAAAAAAsIVQAAAABgAaEKAAAAACwgVAEAAACABYQqAAAAALCAUAUAAAAAFhCqAAAAAMACQhUAAAAAWECoAgAAAAALCFUAAAAAYAGhCgAAAAAsIFQBAAAAgAWEKgAAAACwgFAFAAAAABYQqgAAAADAAkIVAAAAAFhAqAIAAAAACwhVAAAAAGABoQoAAAAALCBUAQAAAIAFhCoAAAAAsIBQBQAAAAAWEKoAAAAAwAJCFQAAAABYQKgCAAAAAAsIVQAAAABgAaEKAAAAACwgVAEAAACABYQqAAAAALCAUAUAAAAAFhCqAAAAAMACQhUAAAAAWECoAgAAAAALCFUAAAAAYAGhCgAAAAAsIFQBAAAAgAWEKgAAAACwgFAFAAAAABYQqgAAAADAAkIVAAAAAFhAqAIAAAAACwhVAAAAAGABoQoAAAAALCBUAQAAAIAFhCoAAAAAsIBQBQAAAAAWEKoAAAAAwAJCFQAAAABYQKgCAAAAAAsIVQAAAABgAaEKAAAAACwgVAEAAACABYQqAAAAALCAUAUAAAAAFhCqAAAAAMACQhUAAAAAWECoAgAAAAALCFUAAAAAYAGhCgAAAAAs8HR3Aa5kjJEknT171s2VuEdqaqqSkpJ09uxZeXl5ubscuAl9AHoA9ADoAdAD/5cJMjOCFUUqVJ07d06SFBoa6uZKAAAAAFwPzp07J39/f0vbsJm8iGYFREZGhuLi4uTn5yebzebuclzu7NmzCg0N1dGjR1WqVCl3lwM3oQ9AD4AeAD0AeuCfI1Tnzp1TcHCwihWzdlVUkTpSVaxYMYWEhLi7DLcrVapUkf3lwf+hD0APgB4APYCi3gNWj1BlYqEKAAAAALCAUAUAAAAAFhCqihC73a7x48fLbre7uxS4EX0AegD0AOgB0AN5q0gtVAEAAAAAeY0jVQAAAABgAaEKAAAAACwgVAEAAACABYQqAAAAALCAUFWEzJw5U1WrVlXx4sXVsGFDbdmyxd0lwUUmT56sxo0by8/PT+XKlVPXrl21b98+d5cFN5o8ebJsNpuGDRvm7lLgQn/++af69u2rwMBA+fr6qkGDBtq5c6e7y4ILpaWl6fnnn1fVqlXl4+OjatWq6YUXXlBGRoa7S0M+2bx5s7p06aLg4GDZbDZ98sknTvcbYzRhwgQFBwfLx8dHrVu31t69e91TbAFGqCoili5dqmHDhmnMmDH6/vvvddttt6ljx446cuSIu0uDC2zatElDhgzR9u3bFR0drbS0NLVr104XLlxwd2lwg9jYWM2ZM0f169d3dylwodOnT6t58+by8vLSmjVr9NNPP+mVV15R6dKl3V0aXGjq1Kl6++23NWPGDP3888+aNm2apk+frjfffNPdpSGfXLhwQTfddJNmzJiR7f3Tpk3Tq6++qhkzZig2NlZBQUFq27atzp075+JKCzaWVC8imjRpoptvvlmzZs1yjIWFhalr166aPHmyGyuDO5w4cULlypXTpk2b1LJlS3eXAxc6f/68br75Zs2cOVMvvfSSGjRooNdee83dZcEFnn32WX311VecpVDEde7cWeXLl9e8efMcY/fee698fX31/vvvu7EyuILNZtPHH3+srl27SvrnKFVwcLCGDRumZ555RpKUnJys8uXLa+rUqXrkkUfcWG3BwpGqIiAlJUU7d+5Uu3btnMbbtWunr7/+2k1VwZ0SExMlSQEBAW6uBK42ZMgQ3XnnnbrjjjvcXQpcbOXKlWrUqJHuv/9+lStXThEREXrnnXfcXRZcrEWLFlq/fr1+/fVXSdLu3bu1detWderUyc2VwR0OHjyoY8eOOX1GtNvtatWqFZ8Rc8nT3QUg/508eVLp6ekqX76803j58uV17NgxN1UFdzHGaMSIEWrRooVuvPFGd5cDF1qyZIm+++47xcbGursUuMHvv/+uWbNmacSIERo9erS+/fZbPfHEE7Lb7erXr5+7y4OLPPPMM0pMTFSdOnXk4eGh9PR0TZw4Ub169XJ3aXCDzM+B2X1GPHz4sDtKKrAIVUWIzWZzum2MyTKGwm/o0KH64YcftHXrVneXAhc6evSonnzySa1bt07Fixd3dzlwg4yMDDVq1EiTJk2SJEVERGjv3r2aNWsWoaoIWbp0qT744AMtWrRI9erV065duzRs2DAFBwerf//+7i4PbsJnROsIVUVA2bJl5eHhkeWo1PHjx7P8ZQKF2+OPP66VK1dq8+bNCgkJcXc5cKGdO3fq+PHjatiwoWMsPT1dmzdv1owZM5ScnCwPDw83Voj8VqFCBdWtW9dpLCwsTMuXL3dTRXCHUaNG6dlnn1XPnj0lSeHh4Tp8+LAmT55MqCqCgoKCJP1zxKpChQqOcT4j5h7XVBUB3t7eatiwoaKjo53Go6Oj1axZMzdVBVcyxmjo0KFasWKFNmzYoKpVq7q7JLhYmzZt9OOPP2rXrl2On0aNGqlPnz7atWsXgaoIaN68eZavUvj1119VuXJlN1UEd0hKSlKxYs4f/zw8PFhSvYiqWrWqgoKCnD4jpqSkaNOmTXxGzCWOVBURI0aM0AMPPKBGjRqpadOmmjNnjo4cOaJHH33U3aXBBYYMGaJFixbp008/lZ+fn+Oopb+/v3x8fNxcHVzBz88vyzV0JUqUUGBgINfWFRHDhw9Xs2bNNGnSJHXv3l3ffvut5syZozlz5ri7NLhQly5dNHHiRFWqVEn16tXT999/r1dffVWDBg1yd2nIJ+fPn9eBAwcctw8ePKhdu3YpICBAlSpV0rBhwzRp0iTVrFlTNWvW1KRJk+Tr66vevXu7seqChyXVi5CZM2dq2rRpio+P14033qj//ve/LKddRFzpvOj58+drwIABri0G143WrVuzpHoRs2rVKj333HPav3+/qlatqhEjRuihhx5yd1lwoXPnzmns2LH6+OOPdfz4cQUHB6tXr14aN26cvL293V0e8sHGjRsVGRmZZbx///5asGCBjDGKiorS7Nmzdfr0aTVp0kRvvfUWf3DLJUIVAAAAAFjANVUAAAAAYAGhCgAAAAAsIFQBAAAAgAWEKgAAAACwgFAFAAAAABYQqgAAAADAAkIVAAAAAFhAqAIAAAAACwhVAAAAAGABoQoAAAAALCBUAQAAAIAFhCoAAAAAsIBQBQAAAAAWEKoAAAAAwAJCFQCXWLBggWw2m3bs2JHt/Z07d1aVKlVcW9T/V6VKFdlstmx/Wrdu7ZaaXOXf3hd3s9lsmjBhgrvLuC4cOnTIqTeLFSumMmXKqE2bNlq3bp3b6srpe3T06FENHjxYtWrVko+PjwICAhQeHq6HHnpIR48ezf9CrzMzZ87UggUL3F0GgDzi6e4CAOB60Lx5c7388stZxkuVKuWGaoAre/zxx9W7d2+lp6frl19+UVRUlDp16qQNGzaoZcuW7i4vW3/88YduvvlmlS5dWiNHjlTt2rWVmJion376ScuWLdPvv/+u0NBQd5fpUjNnzlTZsmU1YMAAd5cCIA8QqgBAUunSpXXrrbe6uwxJUlJSknx9fd1dBq7R33//LR8fn3zbfqVKlRy92rx5c9WsWVOtWrXSvHnzrttQ9c477+jkyZP69ttvVbVqVcd4165dNXr0aGVkZLixOgCwjtP/AFy3jDGaOXOmGjRoIB8fH5UpU0b33Xeffv/9d6d5rVu31o033qjY2Fjddttt8vX1VbVq1TRlypQ8/bA2YcIE2Ww27d27V7169ZK/v7/Kly+vQYMGKTEx0VLtmzdvVrNmzeTr66tBgwZJ+uev+/fdd5/8/PxUunRp9enTR7GxsbLZbI7Tht5//33ZbDZt27YtS70vvPCCvLy8FBcXZ/m579+/X71791a5cuVkt9sVFhamt956y3H/iRMn5O3trbFjx2Z57C+//CKbzaY33njDMXbs2DE98sgjCgkJkbe3t6pWraqoqCilpaVdU32nTp3S4MGDVbFiRXl7e6tatWoaM2aMkpOTHXMiIiJ02223ZXlsenq6KlasqG7dujnGUlJS9NJLL6lOnTqy2+264YYbNHDgQJ04ccLpsVWqVFHnzp21YsUKRUREqHjx4oqKirpindHR0br77rsVEhKi4sWLq0aNGnrkkUd08uTJa3rektSoUSNJ0l9//eU0vmfPHt19990qU6aMihcvrgYNGui9995zmnPx4kWNHDlSDRo0kL+/vwICAtS0aVN9+umnWfZz9uxZPfTQQwoMDFTJkiXVoUMH/frrrzmqMSEhQcWKFVO5cuWyvb9YMeePIzt27NBdd92lgIAAFS9eXBEREVq2bFmWx23dulVNmzZV8eLFVbFiRY0dO1Zz586VzWbToUOHHPMy36dVq1YpIiJCPj4+CgsL06pVqyT9cxpsWFiYSpQooVtuuSXb02FzUlPm6bQxMTF67LHHVLZsWQUGBqpbt25Ov4dVqlTR3r17tWnTJsfpnO46/RlAHjEA4ALz5883ksz27dtNampqlp9OnTqZypUrOz3moYceMl5eXmbkyJFm7dq1ZtGiRaZOnTqmfPny5tixY455rVq1MoGBgaZmzZrm7bffNtHR0Wbw4MFGknnvvff+tbbKlSubTp06ZVtXRkaGY9748eONJFO7dm0zbtw4Ex0dbV599VVjt9vNwIEDr7n2gIAAExoaat58800TExNjNm3aZM6fP29q1KhhAgICzFtvvWW++OILM3z4cFO1alUjycyfP98YY0xycrIJCgoyffr0cdp/amqqCQ4ONvfff3+O3pfY2Ngrztm7d6/x9/c34eHhZuHChWbdunVm5MiRplixYmbChAmOeffcc48JDQ016enpTo9/+umnjbe3tzl58qQxxpj4+HgTGhpqKleubGbPnm2+/PJL8+KLLxq73W4GDBjg9FhJZvz48Vd9Dn///bepX7++KVGihHn55ZfNunXrzNixY42np6fp1KmTY97rr79uJJlff/3V6fGrV682kszKlSuNMcakp6ebDh06mBIlSpioqCgTHR1t5s6daypWrGjq1q1rkpKSHI+tXLmyqVChgqlWrZp59913TUxMjPn222+vWOusWbPM5MmTzcqVK82mTZvMe++9Z2666SZTu3Ztk5KSctXnefDgQSPJTJ8+3Wl8z549RpJ5/PHHHWO//PKL8fPzM9WrVzcLFy40n3/+uenVq5eRZKZOneqYd+bMGTNgwADz/vvvmw0bNpi1a9eap556yhQrVszpdycjI8NERkYau91uJk6caNatW2fGjx9vqlWrlqP36IMPPjCSTLt27czatWtNYmLiFedu2LDBeHt7m9tuu80sXbrUrF271gwYMMCp740xZvfu3aZ48eKmfv36ZsmSJWblypWmU6dOpkqVKkaSOXjwoGNu5cqVTUhIiLnxxhvN4sWLzerVq02TJk2Ml5eXGTdunGnevLlZsWKF+fjjj02tWrVM+fLlnd7nnNaU+ftUrVo18/jjj5svvvjCzJ0715QpU8ZERkY65n333XemWrVqJiIiwmzbts1s27bNfPfdd1d9DQFc3whVAFwi88PG1X4uDVXbtm0zkswrr7zitJ2jR48aHx8f8/TTTzvGWrVqZSSZb775xmlu3bp1Tfv27f+1tsqVK1+xphdffNExLzNUTZs2zenxgwcPNsWLF3cEsGupff369U5z33rrLSPJrFmzxmn8kUceyfJBbvz48cbb29v89ddfjrGlS5caSWbTpk1Xfe45CVXt27c3ISEhWT4IDx061BQvXtycOnXKGGPMypUrjSSzbt06x5y0tDQTHBxs7r33XqfnULJkSXP48GGn7b388stGktm7d69jLCcf2N9++20jySxbtsxpfOrUqU71nDx50nh7e5vRo0c7zevevbspX768SU1NNcYYs3jxYiPJLF++3GlebGyskWRmzpzpGKtcubLx8PAw+/btu2qN2cnIyDCpqanm8OHDRpL59NNPrzo/M1RNnTrVpKammosXL5pdu3aZpk2bmgoVKjiFiJ49exq73W6OHDnitI2OHTsaX19fc+bMmWz3kZaWZlJTU82DDz5oIiIiHONr1qwxkszrr7/uNH/ixIk5eo8yMjLMI488YooVK2YkGZvNZsLCwszw4cOd6jbGmDp16piIiAjH+5Gpc+fOpkKFCo7Qfv/995sSJUqYEydOOOakp6ebunXrZhuqfHx8zB9//OEY27Vrl5FkKlSoYC5cuOAY/+STT5xCdm5qyvx9Gjx4sNO8adOmGUkmPj7eMVavXj3TqlWrq75uAAoOTv8D4FILFy5UbGxslp8WLVo4zVu1apVsNpv69u2rtLQ0x09QUJBuuukmbdy40Wl+UFCQbrnlFqex+vXr6/Dhwzmqq0WLFtnW9eCDD2aZe9ddd2XZz8WLF3X8+PFrqr1MmTK6/fbbncY2bdokPz8/dejQwWm8V69eWep57LHHJP1z3UqmGTNmKDw83PI1NhcvXtT69et1zz33yNfX1+n5dOrUSRcvXtT27dslSR07dlRQUJDmz5/vePwXX3yhuLg4xymN0j+vT2RkpIKDg52217FjR8dzz40NGzaoRIkSuu+++5zGMxcAWL9+vSQpMDBQXbp00Xvvvec4LfT06dP69NNP1a9fP3l6ejrqK126tLp06eJUX4MGDRQUFJTl/atfv75q1aqVo1qPHz+uRx99VKGhofL09JSXl5cqV64sSfr5559ztI1nnnlGXl5ejlP69uzZo88++8zp9LENGzaoTZs2WRZ/GDBggJKSkpxOF/3oo4/UvHlzlSxZ0lHTvHnznOqJiYmRJPXp08dpe717985RzTabTW+//bZ+//13zZw5UwMHDlRqaqr++9//ql69eo73/MCBA/rll18c+7m83+Lj47Vv3z5J//TJ7bffrrJlyzr2U6xYMXXv3j3bGho0aKCKFSs6boeFhUn65xTcS69hzBzP/G9HbmrKlN1/Iy7dJoDCh4UqALhUWFiY4xqQS/n7+zstq/zXX3/JGKPy5ctnu51q1ao53Q4MDMwyx2636++//85RXf7+/tnWlZ3L92W32yXJsa/c1l6hQoUscxISErJ9/JXGevToodmzZ+vZZ5/V3r17tWXLFs2ePTtHz+dqEhISlJaWpjfffFNvvvlmtnMyrwfy9PTUAw88oDfffFNnzpxR6dKltWDBAlWoUEHt27d3zP/rr7/02WefycvL66rby02NQUFBstlsTuPlypWTp6enEhISHGODBg3S8uXLFR0drfbt22vx4sVKTk52WoHtr7/+0pkzZ+Tt7Z2j+rJ7/7KTkZGhdu3aKS4uTmPHjlV4eLhKlCihjIwM3XrrrTnu1SeffFJ9+/ZVcnKytm/frueff1533323du/e7ejNhISEbOsKDg523C9JK1asUPfu3XX//fdr1KhRCgoKkqenp2bNmqV3333X8biEhAR5enpm6f2goKAc1ZypcuXKjj8CSNKyZcvUq1cvjRo1St9++63jurCnnnpKTz31VLbbyHz9c/M7IkkBAQFOtzPf3yuNX7x4UZJyVVOmf/tvBIDCh1AF4LpUtmxZ2Ww2bdmyxfGB5FLZjV0vclv75WFA+udD2bfffptl/NixY9nu88knn9T777+vTz/9VGvXrnUsbGFVmTJl5OHhoQceeEBDhgzJds6lq7kNHDhQ06dP15IlS9SjRw+tXLlSw4YNk4eHh2NO2bJlVb9+fU2cODHb7WV+8M+pwMBAffPNNzLGOL2Wx48fV1pamtORjPbt2ys4OFjz589X+/btNX/+fDVp0kR169Z1qi8wMFBr167Ndn9+fn5Ot7N7/7KzZ88e7d69WwsWLFD//v0d4wcOHMjR4zOFhIQ4/gDQvHlzBQUFqW/fvho/frxmzJgh6Z/XJD4+PstjMxdLyHxNPvjgA1WtWlVLly51eh6XLvCRub20tDQlJCQ4BYYr9WNOde/eXZMnT9aePXuc6nruueecFg65VO3atR01Xb44R17UdLnc1ASg6CJUAbgude7cWVOmTNGff/55xdN5rld5UXurVq20bNkyrVmzxnFanCQtWbIk2/kNGzZUs2bNNHXqVO3Zs0cPP/ywSpQocU37vpSvr68iIyP1/fffq379+lc8epMpLCxMTZo00fz585Wenq7k5GQNHDjQaU7nzp21evVqVa9eXWXKlLFcY5s2bbRs2TJ98sknuueeexzjCxcudNyfKTMgvvbaa9qyZYt27NiR5Yhe586dtWTJEqWnp6tJkyaW68uUGVouD9VWjyj26dNHc+fO1TvvvKNRo0apcuXKatOmjT7++GPFxcU5hdSFCxfK19fXsSS7zWaTt7e3U6A6duxYltX/IiMjNW3aNH344Yd64oknHOOLFi3KUY3x8fHZHjk7f/68jh496qixdu3aqlmzpnbv3q1JkyZddZutWrXS6tWrdfLkSUfwycjI0EcffZSjmnIqNzXlRm6OpAO4/hGqAFyXmjdvrocfflgDBw7Ujh071LJlS5UoUULx8fHaunWrwsPDnU4jsurMmTOOa4MuZbfbFRERkatt5UXt/fv313//+1/17dtXL730kmrUqKE1a9boiy++kJR1CWrpn6NVPXr0kM1m0+DBg3NV84YNG5yWoM7UqVMnvf7662rRooVuu+02PfbYY6pSpYrOnTunAwcO6LPPPtOGDRucHjNo0CA98sgjiouLU7NmzbL8Ff+FF15QdHS0mjVrpieeeEK1a9fWxYsXdejQIa1evVpvv/22QkJCclx7v3799NZbb6l///46dOiQwsPDtXXrVk2aNEmdOnXSHXfckaW+qVOnqnfv3vLx8VGPHj2c7u/Zs6c+/PBDderUSU8++aRuueUWeXl56Y8//lBMTIzuvvtup/CWU3Xq1FH16tX17LPPyhijgIAAffbZZ4qOjs71ti43depUNWnSRC+++KLmzp2r8ePHO65dGzdunAICAvThhx/q888/17Rp0+Tv7y9JjuXgBw8erPvuu09Hjx7Viy++qAoVKmj//v2O7bdr104tW7bU008/rQsXLqhRo0b66quv9P777+eovokTJ+qrr75Sjx49HF8zcPDgQc2YMUMJCQmaPn26Y+7s2bPVsWNHtW/fXgMGDFDFihV16tQp/fzzz/ruu+8coWnMmDH67LPP1KZNG40ZM0Y+Pj56++23deHCBUnZ/45cq5zWlBvh4eFasmSJli5dqmrVqql48eIKDw/Ps5oBuJh718kAUFT82ypzd955Z5Yl1Y0x5t133zVNmjQxJUqUMD4+PqZ69eqmX79+ZseOHY45rVq1MvXq1cvy2P79+2e7zctdbfW/ihUrOuZlrv536Wpjlz63y1cxs1K7McYcOXLEdOvWzZQsWdL4+fmZe++917H8d3YrxSUnJxu73W46dOjwr8/58tqv9JP5nA4ePGgGDRpkKlasaLy8vMwNN9xgmjVrZl566aUs20xMTDQ+Pj5GknnnnXey3e+JEyfME088YapWrWq8vLxMQECAadiwoRkzZow5f/68Y55ysLKcMcYkJCSYRx991FSoUMF4enqaypUrm+eee85cvHgx2/nNmjUzkrIsRZ8pNTXVvPzyy+amm24yxYsXNyVLljR16tQxjzzyiNm/f79jXuXKlc2dd975r/Vl+umnn0zbtm2Nn5+fKVOmjLn//vvNkSNHcvQ8r7Skeqb777/feHp6mgMHDhhjjPnxxx9Nly5djL+/v/H29jY33XST06qRmaZMmWKqVKli7Ha7CQsLM++8846j1y915swZM2jQIFO6dGnj6+tr2rZta3755Zcc1b59+3YzZMgQc9NNN5mAgADj4eFhbrjhBtOhQwezevXqLPN3795tunfvbsqVK2e8vLxMUFCQuf32283bb7/tNG/Lli2mSZMmxm63m6CgIDNq1CjHqo+XrnB4pfdJkhkyZIjT2JVe55zUdKX/zsXExBhJJiYmxjF26NAh065dO+Pn55dl9VMABY/NGGNcEd4AANZNmjRJzz//vI4cOZLlaM5nn32mu+66S59//rk6derkpgoB92rXrp0OHTqU4y8mBoC8wOl/AHCdylx0oE6dOkpNTdWGDRv0xhtvqG/fvk6B6qefftLhw4c1cuRINWjQwOkaLKAwGzFihCIiIhQaGqpTp07pww8/VHR0tObNm+fu0gAUMYQqALhO+fr66r///a8OHTqk5ORkVapUSc8884ye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b59jzMfHRyVLllTJkiVdXtuXX36pnj17atKkSbrrrrtks9n0008/uS3gAQAKFo5UAQBcIigoyPHj7+8vm82WZezyo0EDBgxQ165dNWnSJJUvX16lS5dWVFSU0tLSNGrUKAUEBCgkJETvvvuu077+/PNP9ejRQ2XKlFFgYKDuvvtuHTp06Iq1rVq1Si1atNCoUaNUu3Zt1apVS127dtWbb74pSVqwYIGioqK0e/dux5G1BQsWSJISExP18MMPq1y5cipVqpRuv/127d6927HtzOc0e/ZshYaGytfXV/fff7/OnDmTVy8tAMDNCFUAgOvahg0bFBcXp82bN+vVV1/VhAkT1LlzZ5UpU0bffPONHn30UT366KM6evSoJCkpKUmRkZEqWbKkNm/erK1bt6pkyZLq0KGDUlJSst1HUFCQ9u7dqz179mR7f48ePTRy5EjVq1dP8fHxio+PV48ePWSM0Z133qljx45p9erV2rlzp26++Wa1adNGp06dcjz+wIEDWrZsmT777DOtXbtWu3bt0pAhQ/L+xQIAuAWhCgBwXQsICNAbb7yh2rVra9CgQapdu7aSkpI0evRo1axZU88995y8vb311VdfSZKWLFmiYsWKae7cuQoPD1dYWJjmz5+vI0eOaOPGjdnu4/HHH1fjxo0VHh6uKlWqqGfPnnr33XeVnJws6f9OTfT09HQcWfPx8VFMTIx+/PFHffTRR2rUqJFq1qypl19+WaVLl9b//vc/x/YvXryo9957Tw0aNFDLli315ptvasmSJTp27Fi+v34AgPxHqAIAXNfq1aunYsX+75+r8uXLKzw83HHbw8NDgYGBOn78uCRp586dOnDggPz8/BzXaAUEBOjixYv67bffst1HiRIl9Pnnn+vAgQN6/vnnVbJkSY0cOVK33HKLkpKSrljbzp07df78eQUGBjr2VbJkSR08eNBpX5UqVVJISIjjdtOmTZWRkeF0TRkAoOBioQoAwHXNy8vL6bbNZst2LCMjQ5KUkZGhhg0b6sMPP8yyrRtuuOGq+6pevbqqV6+u//znPxozZoxq1aqlpUuXauDAgdnOz8jIUIUKFbI9Ala6dOkr7sdmszn9LwCgYCNUAQAKlZtvvllLly51LBxxrapUqSJfX19duHBBkuTt7a309PQs+zp27Jg8PT1VpUqVK27ryJEjiouLU3BwsCRp27ZtKlasmGrVqnXN9QEArh+c/gcAKFT69OmjsmXL6u6779aWLVt08OBBbdq0SU8++aT++OOPbB8zYcIEPf3009q4caMOHjyo77//XoMGDVJqaqratm0r6Z+QdfDgQe3atUsnT55UcnKy7rjjDjVt2lRdu3bVF198oUOHDunrr7/W888/rx07dji2X7x4cfXv31+7d+/Wli1b9MQTT6h79+4KCgpyyWsCAMhfhCoAQKHi6+urzZs3q1KlSurWrZvCwsI0aNAg/f3331c8ctWqVSv9/vvv6tevn+rUqaOOHTvq2LFjWrdunWrXri1Juvfee9WhQwdFRkbqhhtu0OLFi2Wz2bR69Wq1bNlSgwYNUq1atdSzZ08dOnRI5cuXd2y/Ro0a6tatmzp16qR27drpxhtv1MyZM13yegAA8p/NGGPcXQQAAIXVhAkT9Mknn2jXrl3uLgUAkE84UgUAAAAAFhCqAAAAAMACTv8DAAAAAAs4UgUAAAAAFhCqAAAAAMACQhUAAAAAWECoAgAAAAALCFUAAAAAYAGhCgAAAAAsIFQBAAAAgAWEKgAAAACw4P8B/NWIwkuMPPYAAAAASUVORK5CYII=",
            "text/plain": [
              "<Figure size 1000x800 with 2 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "# Program BinaryNumbersAndSurvivingOfHen.py\n",
        "# This is an animation that shows \n",
        "# how a robotic hen advances through a road with fruit trees, \n",
        "# and jumps to feed itself acquiring energy to go forward.\n",
        "# The places where the trees are located \n",
        "# are specified by a binary string,\n",
        "# the energizing_sequence \n",
        "# Another binary sequence, the sample_chromosome,  \n",
        "# encodes for the behavior of the hen.\n",
        "\n",
        "import matplotlib.animation as animation\n",
        "import matplotlib.pyplot as plt # Import matplotlib for plotting\n",
        "\n",
        "\n",
        "road_length = 10\n",
        "energizing_sequence = '1010110100'\n",
        "sample_chromosome = '1101011001'  # Sample chromosome of length 10\n",
        "initial_energy = 3\n",
        "\n",
        "def simulate_hen_behavior(chromosome, energizing_sequence, initial_energy, road_length):\n",
        "    \"\"\"Simulates the hen's movement and energy changes.\"\"\"\n",
        "    current_energy = initial_energy\n",
        "    current_position = 0\n",
        "    positions = [current_position]\n",
        "    energy_levels = [current_energy]\n",
        "\n",
        "    for i in range(road_length):\n",
        "        if current_energy <= 0:\n",
        "            break\n",
        "\n",
        "        if chromosome[i] == '0':  # Move forward\n",
        "            current_energy -= 1\n",
        "        elif chromosome[i] == '1':  # Jump and move forward\n",
        "            current_energy -= 2\n",
        "            if energizing_sequence[i] == '1':  # Tree present\n",
        "                current_energy += 3\n",
        "\n",
        "        current_position += 1\n",
        "        positions.append(current_position)\n",
        "        energy_levels.append(current_energy)\n",
        "\n",
        "    return positions, energy_levels\n",
        "\n",
        "\n",
        "positions, energy_levels = simulate_hen_behavior(sample_chromosome, energizing_sequence, initial_energy, road_length)\n",
        "\n",
        "print(\"Hen's Positions:\")\n",
        "print(positions)\n",
        "print(\"\\nHen's Energy Levels:\")\n",
        "print(energy_levels)\n",
        "\n",
        "\n",
        "\n",
        "fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10, 8))\n",
        "\n",
        "# Initialize the hen's position marker\n",
        "hen_marker, = ax1.plot([], [], 'ro', markersize=10)\n",
        "ax1.set_xlim(-1, road_length + 1)\n",
        "ax1.set_ylim(-1, 1)\n",
        "ax1.set_yticks([0])\n",
        "ax1.set_yticklabels(['Road'])\n",
        "ax1.set_title('Robotic Hen Movement')\n",
        "ax1.grid(True)\n",
        "\n",
        "# Plot the trees\n",
        "tree_positions = [i for i, char in enumerate(energizing_sequence) if char == '1']\n",
        "ax1.plot(tree_positions, [0] * len(tree_positions), 'g^', markersize=10, label='Fruit Tree')\n",
        "ax1.legend()\n",
        "\n",
        "\n",
        "# Initialize the energy level line\n",
        "energy_line, = ax2.plot([], [], 'b-')\n",
        "ax2.set_xlim(0, road_length)\n",
        "ax2.set_ylim(min(energy_levels) - 1, max(energy_levels) + 1)\n",
        "ax2.set_xlabel('Time Step')\n",
        "ax2.set_ylabel('Energy Level')\n",
        "ax2.set_title('Hen Energy Level over a Road Segment')\n",
        "ax2.grid(True)\n",
        "\n",
        "\n",
        "def init():\n",
        "    \"\"\"Initializes the animation.\"\"\"\n",
        "    hen_marker.set_data([], [])\n",
        "    energy_line.set_data([], [])\n",
        "    return hen_marker, energy_line,\n",
        "\n",
        "def animate(i):\n",
        "    \"\"\"Updates the animation for each frame.\"\"\"\n",
        "    hen_marker.set_data(positions[i], 0)\n",
        "    energy_line.set_data(range(i + 1), energy_levels[:i + 1])\n",
        "    return hen_marker, energy_line,\n",
        "\n",
        "# Create the animation\n",
        "ani = animation.FuncAnimation(fig, animate, frames=len(positions), init_func=init, blit=True, interval=500)\n",
        "\n",
        "# Display the animation\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "**Exercise.** Run the previous program and report your impressions.\n",
        ">\n",
        "> *Answer.* The program deals with a hen that uses binary instructions to jump in the right place to get a fruit that it must eat to enable surviving. We see a solution to the posed problem although the graphic interface poorly functions. So, one cannot see neither the animation nor the graphic of the varying energy content of the hen. The idea is to show that binary numbers could be connected to biology in just one step. \n",
        "\n",
        "**Challenge.** Amend the previous code.  "
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# THE MUTATION-MAX DUO\n",
        "\n",
        "Our purpose now is to study the Mutation + MAX Duo, i.e., mutation plus selection of the fittest in a recursive fashion. The fittest is cloned to create the new generation. \n",
        "\n",
        "Our first step is to enrich the context. \n",
        "\n",
        "We already know that the sea of nonsense has fluctuations. These can be as positive as negative but when we consider ensemble properties, these fluctuations not only are positive but moreover grow with the size of the ensemble and become more stable. The mathematical model is MAX, the function that picks up the maximum of a set of numbers. \n",
        "\n",
        "MAX is good to pick up quality but not good enough to battle complexity, i.e., to deal with complex problems that here correspond with large binary strings to be matched. The reason is the immense waste of resources needed to tackle complex problems. \n",
        "\n",
        "This failure inaugurates the MAX-rocket challenge: To insert MAX into a powerful algorithm that skyrockets the power of MAX to battle complexity. Science proposes Evolution as the required powerful algorithm. Its implementation has shown us that it functions. We need to understand what happens, how and why it functions, and to test whether it really skyrockets the power of MAX to battle complexity.\n",
        "\n",
        "To understand Evolution means to devise mathematical models that capture its basic properties and successfully predicts its behavior in relation with complexity. In our case, complexity is the length of the binary strings that must be matched in the Shakespeare challenge. We expect that the larger is a string, the larger is the number of trials that must one make to match it. But, Evolution must solve large problems in front of our eyes, and not as randomness that needs ultra-cosmological time.\n",
        "\n",
        "Our first mathematical model formulated the role of iterative mutation that led to the notion of the nonsense sea. Our second model is the next one and searches to bound the possibilities of the Mutation + MAX Duo working recursively.\n",
        "\n",
        "The upper bound according to determinism is achieved as follows: MAX cannot go above the possibilities offered by mutation. So, to upper bound our considered form of Evolution, we imagine in our next model that mutation converts every touched site into the correct value, that we have defined as 1 in regard with binary strings of the Shakespeare challenge."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "### Magic Mutation\n",
        "\n",
        "A workable model results when one considers a special type of mutation, one that ipso facto converts each touched site to its correct value, here 1. This is just as King Midas of the Greek Mythology. This king converted everything that he touched into Gold. His unhappiness arouse because he touched his own daughter. Mutation is alike: very profitable at one hand, but spoiler at the other.\n",
        "\n",
        "The effect of mutation is as follows:\n",
        "\n",
        "At the beginning, the actual sentence is very far away from the target sequence and so, mutation has much place to work and this can generate a large improvement by mere chance. But, in the measure that perfection is achieved, the role of mutation turns to be spoiling: mutation becomes error-prone, the rate of Evolution is tremendously lowered, and the process tends to an equilibrium. We already studied the case of random mutation.\n",
        "\n",
        "Let us calculate now what happens when mutation is magic, when all touched by mutation sites are converted to the right value. In this setting, to be touched by mutation is to get correct. Let $M_t$ be the number of sites that match in the best chromosome at generation $t$. The other $H-M_t$ sites are not correct. The quantity of sites that are touched from $M_t$ by mutation is $\\mu M_t$. When a site is touched, it is replaced by a matching bit, therefore, all those sites get correct. On the other hand, the $M_t - \\mu M_t$ sites that are not touched, but that were correct, continue to be correctly defined. At the same time, of the $H-M_t$ sites that are not correct, a fraction $\\mu(H-M_t)$ will be touched. In the considered case, all of them will be correct. Adding all sites that match, we get:\n",
        ">\n",
        "> $M_{t+1} = \\mu M_t + (M_t - \\mu M_t) + \\mu(H-M_t) $\n",
        ">\n",
        "> $M_{t+1} = \\mu M_t + M_t - \\mu M_t + \\mu H- \\mu M_t$\n",
        ">\n",
        "> $M_{t+1} = M_t  + \\mu H - \\mu M_t$\n",
        ">\n",
        "> $M_{t+1} = M_t + \\mu ( H -M_t)$\n",
        ">\n",
        "> $M_{t+1} - M_t = \\mu ( H -M_t)$\n",
        ">\n",
        "> $\\Delta M_t = M_{t+1} - M_t = \\mu ( H -M_t)$\n",
        "> \n",
        "This difference equation means that the number of matched sites will increase when $ H -M_t > 0$ i.e., always. Hence, progress is not only guaranteed, but we also can make sure that the perfect solution will be incessantly approached to because the force of progress is proportional to the lacking task. Also, when the task is almost complete, the force of progress is very weak, and progressing a bit would take a longer time. This implies that the graphic opens downwards at the infinite. Moreover, it also opens downwards everywhere because the described process is also very simple. At the same time, the force of progress is proportional to the mutation rate: the higher is the mutation rate, the faster is the pace of change.\n",
        "\n",
        "*Challenge.* Test the prediction that says that when mutation is magic *the higher is the mutation rate, the faster is the pace of approaching perfection*.\n",
        "\n",
        "*Exercise.* To continue enriching the context, test over a normal GA the prediction of the magic mutation model that says that *the higher is the mutation rate, the faster is the pace of approaching perfection*.\n",
        ">\n",
        "> *Answer.* The task for Evolution was to match a string of length 200 with a population size of 200, no recombination. We tried out various values of mutation to see the effect over the number of generations to reach perfection. Here, infinite, $\\infty$, means more than 2 minutes of work by Gemini. Results are shown in the following table\n",
        ">\n",
        ">    $\\mu  \\to$     Number of Generations to finish a task\n",
        ">\n",
        ">   0.001  $\\to$ 121\n",
        ">\n",
        ">    0.005  $\\to$ 68\n",
        ">\n",
        ">    0.01  $\\to$ 57\n",
        ">\n",
        ">    0.05  $\\to$ 782\n",
        ">\n",
        ">    0.1  $\\to$ $\\infty$\n",
        ">\n",
        ">    0.3  $\\to$ $\\infty$\n",
        ">\n",
        ">    0.5  $\\to$ $\\infty$\n",
        ">\n",
        "> We see that in our GA, the performance of mutation is maximal circa 0.01, and diminishes for sideward values.\n",
        "\n",
        "**Challenge.** Express your opinion about the following reasoning:\n",
        ">\n",
        "> A requisite for a mathematical model to be on the right track is the following: a right mathematical model that describes the fitness in terms of mutation must include a polynomial of second degree in the mutation rate $\\mu$ because for certain value, the number of generations to achieve a task is minimal, and grows at both sides.  \n",
        "\n",
        "**Exercise.**  Mutation is per se an anti-high-quality force because it makes its best to convert mediocrity into the status quo. Thus, what is the strategy to convert mutation into a progressive force inside a cooperative unity that includes MAX? \n",
        ">\n",
        "> *Answer.* To convert mutation into a progressive force inside a cooperative populational unity that includes MAX do the following: restrict mutation to a portion of each chromosome. Mutation will create variability in that portion, which can be profited by MAX. If the portion is not too large, the maximal possible damage is not that high. If the portion is too small, the created variability will not be enough to skyrocket MAX. \n",
        "\n",
        "**Challenge.** Evolution that consists of mutation alone is described by a difference equation\n",
        "\n",
        "$\\Delta M_t =  M_{t+1} - M_t =  \\mu ( \\frac{1}{2}  H -   M_t) $\n",
        "\n",
        "This equation is of the same family of equations that describe Magic mutation, when mutation solves every touched site:\n",
        "\n",
        "$\\Delta M_t = M_{t+1} - M_t = \\mu ( H -M_t)$\n",
        "\n",
        "Since magic mutation is the upper bound to what the Mutation + MAX Duo can do, and mutation alone is its lower bound, we might infer that the Mutation + MAX Duo must fall somewhere in the middle. So, one can postulate for this duo an equation of the form\n",
        "\n",
        "$\\Delta M_t = M_{t+1} - M_t = \\mu ( sH -M_t)$ with $\\frac{1}{2} < s < 1$\n",
        "\n",
        "This predicts that the graph of the number of matched sites when Evolution is restricted to the mutation + MAX + cloning trio must be in between that of magic mutation, upwards, and random mutation.  \n",
        "\n",
        "Test this postulate and explain your results.\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# FLUCTUATIONS\n",
        "\n",
        "Fluctuations are excursions outside the expected value that are fueled by randomness. They may happen inside a chromosome or across them.\n",
        "\n",
        "Our aim for this section is to study the phenomenology of fluctuations and to characterize them by a mathematical model. Mathematics will dominate. Using the terminology of the Philosophy of Science, all our work is Theory-Laden. This implies that one must be attentive to register and study every innocent postulate one introduces together with its development. And, no less important, ready to detect the vacuums that one leaves and that may appear as approximations. \n",
        "\n",
        "The overall context is the following:\n",
        "\n",
        "Everything springs from an interaction of mutation with the selection of the fittest, whose effect is chained as follows:\n",
        "- Every site of each chromosome undergoes the possibility to be affected by mutation, which is a probability $\\mu$. This means that the expected number of touched sites is $n = \\mu H$, where $H$ is the length of the target string = length of all chromosomes.  \n",
        "- If mutation touches a site, this is filled with a 1 or a 0 that is chosen at random with equal probability. Approximately the half of touched sites get correctly defined, i.e., they match the pattern, which we have defined as 111...1. Hence, we have that the expected number of correct sites among those touched by mutation is $n/2 = \\mu H /2$. \n",
        "- The number of correct sites in each chromosome among those touched by mutation is, in general, not equal to its expected value, but is a random variable. It is modeled by the Binomial variables $Bi(1/2, n)$. The random variable is Binomial because it represents the matching or not matching of each site of each chromosome to the corresponding site of the pattern, or target string. The parameters of the binomials are $p = 0.5$ and $n = \\mu H$, where $H$ is the length of the target string = length of all chromosomes. Thus, we are dealing with $Bi(1/2, \\mu H)$. Its expected value is $ \\mu H/2 $. Let us notice that we are leaving out the fact that $n$ varies from chromosome to chromosome because $\\mu$ is not a deterministic parameter but a probability. \n",
        "- Since a binomial random variable has a mean and a variance, we are including fluctuations, i.e., shifts of the number of matched sites away from the expected value. \n",
        "- The variability in the number of correct sites among chromosomes is strongly softened by MAX or Selection of the Fittest, which selects the chromosome with the maximal number of matched sites and clones it to form the new population.    \n",
        "- In mathematical terms we have a problem: find the best predictor for MAX. Since MAX has a relatively small dispersion, we have claimed that the best predictor is its mean value. Thus, MAX absorbs all the random variability of fluctuations. Officially: \n",
        ">>>> The expected value of the MAX of $m$ binomial variables $Bi(1/2, n)$ is \n",
        ">>>>\n",
        ">>>> Mean of MAX = $\\mathbb{E}(MAX) = \\frac{n}{2} +  \\sqrt{\\frac{n}{k}\\ln m  }  $\n",
        ">>>>\n",
        ">>>> where\n",
        ">>>>\n",
        ">>>> $k = 24.9 n^{-1.18} + 2.53$\n",
        ">>>>\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "\n",
        "## Modelling fluctuations\n",
        "\n",
        "To model fluctuations, we need to know the expected behavior, because fluctuations consists of excursions apart from it. Let us repeat how the expected behavior is obtained.\n",
        "\n",
        "The population consists of $m$ cloned chromosomes of the champion of the last generation.\n",
        "\n",
        "The target string has length $H$. Each chromosome has the same fitness $M_t$ that is the number of sites that match the corresponding sites in the target string.  Let us turn mutation on. Each site can be or not touched by mutation.\n",
        "\n",
        "If a site is touched, mutation posits in there a random char than can be 1 or 0. The proportion of touched sites is $\\mu H$. And each symbol can or not match the corresponding site of the target string. Since the char is chosen at random, the proportion of those sites that match is the half of touched ones, $\\frac{1}{2} \\mu H$.\n",
        "\n",
        "If a site is not touched, we have two options, two branches: the site is already correct and matches the target string, else not. The proportion of untouched sites is $H - \\mu H = (1- \\mu) H$ and the global proportion of correct sites is $\\frac{M_t}{H}$.  Therefore, the quantity of correct sites among the untouched ones is\n",
        "\n",
        "$(1- \\mu) H (\\frac{M_t}{H})  = (1-\\mu)M_t = M_t - \\mu M_t$.\n",
        "\n",
        "The total number of correct sites of the next generation has two sources, those touched and those untouched, hence, we add the corresponding terms:\n",
        "\n",
        "$M_{t+1} = \\frac{1}{2} \\mu H + M_t - \\mu M_t $\n",
        "\n",
        "$M_{t+1} = M_t +\\mu ( \\frac{1}{2} H   -   M_t) $\n",
        "\n",
        "Thus, the change in the number of matched sites that are due to mutation alone is\n",
        "\n",
        "change = $\\Delta M_{t+1} =  M_{t+1} - M_t = \\mu ( \\frac{1}{2}  H -   M_t) $\n",
        "\n",
        "This equation says that Evolution due to mutation is, in average, a force that fiercely battles for keeping the status quo which is mediocrity.\n",
        "\n",
        "And, where are fluctuations?\n",
        "\n",
        "The fluctuations are deviations from expected values which are unavoidable because we deal with a stochastic process. We envisage two main branches that cause fluctuations:\n",
        "\n",
        "- The expected number of touched by mutation sites is $\\mu H$. Fluctuations are excursions outside this value. These are quantified by the variance of the Binomial $Bi(\\mu, H)$. We ignore here this variability. The reason is that we pursue realizable examples, in which the length $H$ of target strings is low. \n",
        "- The number of converted sites to true among those touched by mutation is not constant. It has a variance from chromosome to chromosome. This variability is the one dealt with by MAX.\n",
        "\n",
        "What do fluctuations do?\n",
        "\n",
        "Fluctuations are excursions beyond the expected behavior. So, the matched points in one chromosome will be different from that in another.  MAX picks the best, whose fitness is above the expected value. MAX is very stable above a minimum population size. The best is cloned to form the new population. It is in this way that Evolution is a progressive process. \n",
        "\n",
        "How do we model fluctuations? \n",
        "\n",
        "Let us postulate the simplest mechanism: the fluctuations that MAX picks up are added to the number of existing matched sites. So, the previous equation without fluctuations\n",
        "\n",
        "$M_{t+1} = M_t +\\mu ( \\frac{1}{2} H   -   M_t) $\n",
        "\n",
        "becomes, with fluctuations, whose magnitude is $\\eta$,\n",
        "\n",
        "$M_{t+1} = M_t +\\mu ( \\frac{1}{2} H   -   M_t) + \\eta$\n",
        "  \n",
        "This is a prediction for $M$ if we know $\\eta$, the magnitude of fluctuations from a simulation or by the expected value of MAX.\n",
        "\n",
        "**Exercise.** Formulate a prediction of the magnitude of fluctuations $\\eta_t$ in an Evolutionary Process.\n",
        "\n",
        "*Answer.* From the equation\n",
        "\n",
        "$ M_{t+1} = (1- \\mu) M_t + \\frac{1}{2} \\mu H + \\eta$\n",
        "\n",
        "we get\n",
        "\n",
        "$ \\eta =  M_{t+1} - (1- \\mu) M_t - \\frac{1}{2} \\mu H $\n",
        "\n",
        "This equation predicts that the magnitude of fluctuations change with the process. Thus, we must assign a generation for the prediction:\n",
        "\n",
        "$ \\eta_{t+1} =  M_{t+1} - (1- \\mu) M_t - \\frac{1}{2} \\mu H $\n",
        "\n",
        "\n",
        "\n",
        "## Prediction of the shape of the graph of fluctuations\n",
        "\n",
        "Let us postulate a prediction of the shape of fluctuations. To that aim, let use our recently derived equation for the magnitude of the fluctuations:\n",
        "\n",
        "$ \\eta_{t+1}  = M_{t+1} -  (1- \\mu) M_t - \\frac{1}{2} \\mu H $\n",
        ">>\n",
        ">> $ =  M_{t+1} - M_t   + \\mu M_t - \\frac{1}{2} \\mu H $\n",
        ">>\n",
        ">> $ =  M_{t+1} - M_t   + \\mu (M_t - \\frac{1}{2} H) $\n",
        ">>\n",
        ">> $ = \\Delta M_t   + \\mu (M_t - \\frac{1}{2} H) $\n",
        "\n",
        "\n",
        "Our reading of this equation is the following:\n",
        "\n",
        "The magnitude of fluctuations has two components. The first corresponds to the derivative of the number of correct sites $M_t$, which when $ \\Delta t = 1$ becomes $ \\Delta M_{t+1} = M_{t+1} - M_t $. The number of correct sites is described by a concave function, hence its derivative is large at the beginning and diminishes with the development of the process. The second component explicitly depens on mutation and on the surplus of correct sites over the expected value, which is $M_t - \\frac{1}{2} H$. The contribution of the second term begins from 0 and becomes the more important the more is developed the process. Therefore, the dominant term at the start, immediately above $\\frac{1}{2} H $, is the derivative, but the mutation-driven force becomes dominant later on. \n",
        "\n",
        "We see that the mutation dependent term is enslaved to the cumulative derivative.  \n",
        "\n",
        "It is time to test our beliefs. We must compare observed fluctuations with those predicted by simulations and math models.\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "\n",
        "## Registering fluctuations in a simulation\n",
        "\n",
        "To register the observed value of the fluctuations, we asked Colab:\n",
        "\n",
        "> The code of a genetic algorithm to match a binary string. The program must report the successive values of $ M_t $, the number of matched sites, and the observed values of $\\eta_{t+1}$ along generations, which is given by:\n",
        ">>\n",
        ">> $ \\eta_{t+1} = M_{t+1} -  (1- \\mu) M_t - \\frac{1}{2} \\mu H$\n",
        ">>\n",
        "\n",
        "Gemini responded with a program that we adapted to our purposes:\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Lab: Simple Genetic Algorithm\n",
            "Purpose: Calculate eta_t in the Shakespeare challenge\n",
            "Date of Experiment  = 2026-02-09 10:33:53.042935\n",
            "alphabet =  01\n",
            "target_sequence = 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111\n",
            "length_of_target_sequence = 500\n",
            "population_size = 200\n",
            "include_clone_population_eta = True\n",
            "include_mutate_all_eta = True\n",
            "include_crossover_all_eta = False\n",
            "mutation_rate = 0.01\n",
            "print_best_fitness = True\n",
            "Generation 1: M_t = 279, eta_t+1 = 0.2900\n",
            "Generation 2: M_t = 284, eta_t+1 = 0.3400\n",
            "Generation 3: M_t = 288, eta_t+1 = 0.3800\n",
            "Generation 4: M_t = 292, eta_t+1 = 0.4200\n",
            "Generation 5: M_t = 296, eta_t+1 = 0.4600\n",
            "Generation 6: M_t = 300, eta_t+1 = 0.5000\n",
            "Generation 7: M_t = 304, eta_t+1 = 0.5400\n",
            "Generation 8: M_t = 308, eta_t+1 = 0.5800\n",
            "Generation 9: M_t = 311, eta_t+1 = 0.6100\n",
            "Generation 10: M_t = 314, eta_t+1 = 0.6400\n",
            "Generation 11: M_t = 319, eta_t+1 = 0.6900\n",
            "Generation 12: M_t = 323, eta_t+1 = 0.7300\n",
            "Generation 13: M_t = 326, eta_t+1 = 0.7600\n",
            "Generation 14: M_t = 330, eta_t+1 = 0.8000\n",
            "Generation 15: M_t = 333, eta_t+1 = 0.8300\n",
            "Generation 16: M_t = 336, eta_t+1 = 0.8600\n",
            "Generation 17: M_t = 339, eta_t+1 = 0.8900\n",
            "Generation 18: M_t = 342, eta_t+1 = 0.9200\n",
            "Generation 19: M_t = 346, eta_t+1 = 0.9600\n",
            "Generation 20: M_t = 348, eta_t+1 = 0.9800\n",
            "Generation 21: M_t = 351, eta_t+1 = 1.0100\n",
            "Generation 22: M_t = 354, eta_t+1 = 1.0400\n",
            "Generation 23: M_t = 358, eta_t+1 = 1.0800\n",
            "Generation 24: M_t = 360, eta_t+1 = 1.1000\n",
            "Generation 25: M_t = 363, eta_t+1 = 1.1300\n",
            "Generation 26: M_t = 366, eta_t+1 = 1.1600\n",
            "Generation 27: M_t = 369, eta_t+1 = 1.1900\n",
            "Generation 28: M_t = 372, eta_t+1 = 1.2200\n",
            "Generation 29: M_t = 375, eta_t+1 = 1.2500\n",
            "Generation 30: M_t = 378, eta_t+1 = 1.2800\n",
            "Generation 31: M_t = 382, eta_t+1 = 1.3200\n",
            "Generation 32: M_t = 384, eta_t+1 = 1.3400\n",
            "Generation 33: M_t = 388, eta_t+1 = 1.3800\n",
            "Generation 34: M_t = 391, eta_t+1 = 1.4100\n",
            "Generation 35: M_t = 394, eta_t+1 = 1.4400\n",
            "Generation 36: M_t = 396, eta_t+1 = 1.4600\n",
            "Generation 37: M_t = 398, eta_t+1 = 1.4800\n",
            "Generation 38: M_t = 401, eta_t+1 = 1.5100\n",
            "Generation 39: M_t = 404, eta_t+1 = 1.5400\n",
            "Generation 40: M_t = 406, eta_t+1 = 1.5600\n",
            "Generation 41: M_t = 407, eta_t+1 = 1.5700\n",
            "Generation 42: M_t = 409, eta_t+1 = 1.5900\n",
            "Generation 43: M_t = 411, eta_t+1 = 1.6100\n",
            "Generation 44: M_t = 413, eta_t+1 = 1.6300\n",
            "Generation 45: M_t = 415, eta_t+1 = 1.6500\n",
            "Generation 46: M_t = 417, eta_t+1 = 1.6700\n",
            "Generation 47: M_t = 419, eta_t+1 = 1.6900\n",
            "Generation 48: M_t = 421, eta_t+1 = 1.7100\n",
            "Generation 49: M_t = 425, eta_t+1 = 1.7500\n",
            "Generation 50: M_t = 427, eta_t+1 = 1.7700\n",
            "Generation 51: M_t = 429, eta_t+1 = 1.7900\n",
            "Generation 52: M_t = 431, eta_t+1 = 1.8100\n",
            "Generation 53: M_t = 434, eta_t+1 = 1.8400\n",
            "Generation 54: M_t = 435, eta_t+1 = 1.8500\n",
            "Generation 55: M_t = 438, eta_t+1 = 1.8800\n",
            "Generation 56: M_t = 439, eta_t+1 = 1.8900\n",
            "Generation 57: M_t = 442, eta_t+1 = 1.9200\n",
            "Generation 58: M_t = 445, eta_t+1 = 1.9500\n",
            "Generation 59: M_t = 446, eta_t+1 = 1.9600\n",
            "Generation 60: M_t = 447, eta_t+1 = 1.9700\n",
            "Generation 61: M_t = 448, eta_t+1 = 1.9800\n",
            "Generation 62: M_t = 449, eta_t+1 = 1.9900\n",
            "Generation 63: M_t = 451, eta_t+1 = 2.0100\n",
            "Generation 64: M_t = 452, eta_t+1 = 2.0200\n",
            "Generation 65: M_t = 453, eta_t+1 = 2.0300\n",
            "Generation 66: M_t = 454, eta_t+1 = 2.0400\n",
            "Generation 67: M_t = 456, eta_t+1 = 2.0600\n",
            "Generation 68: M_t = 458, eta_t+1 = 2.0800\n",
            "Generation 69: M_t = 460, eta_t+1 = 2.1000\n",
            "Generation 70: M_t = 461, eta_t+1 = 2.1100\n",
            "Generation 71: M_t = 462, eta_t+1 = 2.1200\n",
            "Generation 72: M_t = 463, eta_t+1 = 2.1300\n",
            "Generation 73: M_t = 464, eta_t+1 = 2.1400\n",
            "Generation 74: M_t = 466, eta_t+1 = 2.1600\n",
            "Generation 75: M_t = 467, eta_t+1 = 2.1700\n",
            "Generation 76: M_t = 468, eta_t+1 = 2.1800\n",
            "Generation 77: M_t = 470, eta_t+1 = 2.2000\n",
            "Generation 78: M_t = 471, eta_t+1 = 2.2100\n",
            "Generation 79: M_t = 472, eta_t+1 = 2.2200\n",
            "Generation 80: M_t = 474, eta_t+1 = 2.2400\n",
            "Generation 81: M_t = 475, eta_t+1 = 2.2500\n",
            "Generation 82: M_t = 476, eta_t+1 = 2.2600\n",
            "Generation 83: M_t = 478, eta_t+1 = 2.2800\n",
            "Generation 84: M_t = 480, eta_t+1 = 2.3000\n",
            "Generation 85: M_t = 480, eta_t+1 = 2.3000\n",
            "Generation 86: M_t = 481, eta_t+1 = 2.3100\n",
            "Generation 87: M_t = 482, eta_t+1 = 2.3200\n",
            "Generation 88: M_t = 483, eta_t+1 = 2.3300\n",
            "Generation 89: M_t = 484, eta_t+1 = 2.3400\n",
            "Generation 90: M_t = 484, eta_t+1 = 2.3400\n",
            "Generation 91: M_t = 485, eta_t+1 = 2.3500\n",
            "Generation 92: M_t = 485, eta_t+1 = 2.3500\n",
            "Generation 93: M_t = 485, eta_t+1 = 2.3500\n",
            "Generation 94: M_t = 485, eta_t+1 = 2.3500\n",
            "Generation 95: M_t = 486, eta_t+1 = 2.3600\n",
            "Generation 96: M_t = 487, eta_t+1 = 2.3700\n",
            "Generation 97: M_t = 487, eta_t+1 = 2.3700\n",
            "Generation 98: M_t = 488, eta_t+1 = 2.3800\n",
            "Generation 99: M_t = 489, eta_t+1 = 2.3900\n",
            "Generation 100: M_t = 490, eta_t+1 = 2.4000\n",
            "Generation 101: M_t = 490, eta_t+1 = 2.4000\n",
            "Generation 102: M_t = 491, eta_t+1 = 2.4100\n",
            "Generation 103: M_t = 492, eta_t+1 = 2.4200\n",
            "Generation 104: M_t = 492, eta_t+1 = 2.4200\n",
            "Generation 105: M_t = 493, eta_t+1 = 2.4300\n",
            "Generation 106: M_t = 494, eta_t+1 = 2.4400\n",
            "Generation 107: M_t = 495, eta_t+1 = 2.4500\n",
            "Generation 108: M_t = 495, eta_t+1 = 2.4500\n",
            "Generation 109: M_t = 495, eta_t+1 = 2.4500\n",
            "Generation 110: M_t = 495, eta_t+1 = 2.4500\n",
            "Generation 111: M_t = 495, eta_t+1 = 2.4500\n",
            "Generation 112: M_t = 495, eta_t+1 = 2.4500\n",
            "Generation 113: M_t = 495, eta_t+1 = 2.4500\n",
            "Generation 114: M_t = 495, eta_t+1 = 2.4500\n",
            "Generation 115: M_t = 495, eta_t+1 = 2.4500\n",
            "Generation 116: M_t = 495, eta_t+1 = 2.4500\n",
            "Generation 117: M_t = 495, eta_t+1 = 2.4500\n",
            "Generation 118: M_t = 495, eta_t+1 = 2.4500\n",
            "Generation 119: M_t = 496, eta_t+1 = 2.4600\n",
            "Generation 120: M_t = 496, eta_t+1 = 2.4600\n",
            "Generation 121: M_t = 496, eta_t+1 = 2.4600\n",
            "Generation 122: M_t = 496, eta_t+1 = 2.4600\n",
            "Generation 123: M_t = 496, eta_t+1 = 2.4600\n",
            "Generation 124: M_t = 496, eta_t+1 = 2.4600\n",
            "Generation 125: M_t = 497, eta_t+1 = 2.4700\n",
            "Generation 126: M_t = 497, eta_t+1 = 2.4700\n",
            "Generation 127: M_t = 497, eta_t+1 = 2.4700\n",
            "Generation 128: M_t = 497, eta_t+1 = 2.4700\n",
            "Generation 129: M_t = 497, eta_t+1 = 2.4700\n",
            "Generation 130: M_t = 497, eta_t+1 = 2.4700\n",
            "Generation 131: M_t = 497, eta_t+1 = 2.4700\n",
            "Generation 132: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 133: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 134: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 135: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 136: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 137: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 138: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 139: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 140: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 141: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 142: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 143: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 144: M_t = 499, eta_t+1 = 2.4900\n",
            "Generation 145: M_t = 499, eta_t+1 = 2.4900\n",
            "Generation 146: M_t = 499, eta_t+1 = 2.4900\n",
            "Generation 147: M_t = 500, eta_t+1 = 2.5000\n",
            "\n",
            "Target sequence matched in generation 147\n",
            "Final chromosome: 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111\n",
            "Total cost = population size * number of generations: 29400\n"
          ]
        },
        {
          "data": {
            "image/png": "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zbXXXuvymC+99JKx2Wzm7rvvNosWLTILFiwwnTt3Nn5+fmbHjh3GGGP27t1rbrrpJiPJ/PLLL86fzMxMY4wxdevWNcOHD3c+ZkpKimnRooXx8/MzL7zwglm6dKn56quvzJgxY8zKlSsvup2ffvqpkWTefvttY4wxV155pfH39zepqaku653dzv379zvHxo8fbySZ++67zyxZssS8//77JiIiwoSGhpprrrnGuV5iYqKpXbu2qVGjhpkxY4ZZsmSJeeihh4wk88ADDzjX279/v5Fkateuba699lrz5ZdfmmXLlpn9+/c7l53tfVxcnBk9erSRZBYsWODsU3JysrNPderUMc2bNzdz5swxS5cuNTfffLORZNasWZNvu+rXr28ee+wxs2zZMvPKK68Yd3d3M2zYMNO+fXvz4osvmuXLl5snn3zSSDKvvfbaRftaGGdr+PXXX01OTo7Jzs42cXFx5uGHHzZubm5myZIlznXz8vLM9ddfb/z8/MzEiRPN8uXLzQcffGBq165tmjdvbtLT05299Pb2Nj169DALFy40q1evNp9++qm54447zKlTp0xmZqZZsmSJkWTuueceZ//27t173jrPvgavvPKKycnJcflxOBzOvp99fyYnJzu37Z///KfzOeLi4owxxgwfPtx4eXmZZs2amX/9619mxYoV5rnnnjM2m81MnDixxLfZGGPmzZtnJJnRo0ebZcuWmRUrVpgZM2aYhx9++IKvUUZGhmndurXx8/Mz//rXv8yyZcvMs88+azw8PEyfPn2c67355ptGktm9e7fL/RcvXmwkmW+//bZQ23S2p6GhoaZBgwbmww8/NKtWrTLr168/Z53/+c9/jCQzfvz4C27P3xXks8mYkn/NLrZ9jzzyiJk+fbpZsmSJWblypZk6daqpXr26ueuuu5z337Fjh7niiitMSEiIy2fmWZLM888/77y9c+dOExAQYBo2bGjmzJljvv/+ezNs2DDne/usVatWGUmmXr165rbbbjPff/+9mTdvnomIiDCNGzc2ubm5xhhj0tLSTHBwsImKijKff/65WbNmjfnss8/M/fffb37//fdCvQ5ARUCwAiqwhIQEI8kMHTo037Lc3Nxzfjk0xpimTZuadu3amZycHJf79OvXz4SGhpq8vDxjzP++FI8aNcplvSlTphhJJj4+3hhjTGxsrPHw8DCjR492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aNWqlebPny9jjLZu3apZs2bphRdekI+Pz3knEQEqKoIVUMGNHz9eP/zwg+6//359+eWXFz3MrEmTJmrcuLG2bNni8uWkOHr16iUPDw/9+eefuvHGGy+47l//InqxKYd79+6t5557TitXrtR1111X4HqWLl2qQ4cO6cEHH8x3eJMkPfTQQ5ozZ44mTZrkPHzprzp16iS73a7PPvvMJZj9+uuvOnjwoEuw6tatmyZPnqyNGzeqffv2zvE5c+bIZrPp2muvLXDdf/X3vxyXFWFhYflmmCyqs18iz87g169fP82fP195eXkFPvzO3d1dnTp1UtOmTfXpp59q48aNGjp06CXpX0k8R0lu81/5+fmpd+/eys7O1g033KAdO3acN1h069ZNn3/+uRYuXKhBgwY5x+fMmeNc/tfnvuOOO/TGG2/o559/1oYNG/JNb16UbSoILy8vPf7443r66af1yiuv6Mknn7zofQrz2VRQJbF9Z8PWX/8wYYzR+++/n2/d8+2JPpdu3brp66+/1pEjR1z+n86ZM0e+vr7Fmp7dZrOpTZs2mjp1qmbNmqWNGzcW+bGA8opgBVRwV1xxhd5++22NHj1a7du313333acWLVrIzc1N8fHx+uqrryTJ5cKm7777rnr37q1evXppxIgRql27tk6ePKk//vhDGzdu1BdffFGoGurVq6cXXnhBzzzzjPbt2+e8RtHRo0e1fv16+fn5OacYbtWqlaQz16Pp3bu33N3d1bp163NOFT927Fh99tlnGjhwoJ566il17NhRGRkZWrNmjfr163fe0DJz5kx5eHjo6aefPmcIGDlypB5++GF9//33GjhwYL7l1apV06OPPqrJkyeratWqGjRokA4dOqSJEycqNDRUbm7/O8r6kUce0Zw5c9S3b1+98MILqlu3rr7//nu98847euCBB4p87sjZPr355psaPny4PD091aRJkyIflma17du3Kzc3V9KZw5EWLFig5cuXa9CgQapfv74kaejQofr000/Vp08fjRkzRh07dpSnp6cOHTqkVatWaeDAgRo0aJBmzJihlStXqm/fvoqIiFBmZqbzvLmz5+MFBASobt26+uabb9StWzdVq1ZN1atXz3eOXHE0bNhQPj4++vTTT9WsWTP5+/sXOniW5Dbfe++98vHx0RVXXKHQ0FAlJCRo8uTJCgoKck4Nfy533nmn3n77bQ0fPlwHDhxQq1attHbtWk2aNEl9+vTJd47j3XffrVdeeUW33nqrfHx8dMsttxRpm4riySef1M6dO/XUU0/pp59+0i233KJ69eopKytL+/bt0wcffCB3d3f5+vpKKtxnU0GVxPb16NFDXl5eGjZsmJ544gllZmZq+vTpOnXqVL51W7VqpQULFmj69OmKjIyUm5ubyzXh/ur555/XokWLdO211+q5555TtWrV9Omnn+r777/XlClTFBQUVKhtXbRokd555x3dcMMNatCggYwxWrBggZKSktSjR49CPRZQIVg5cwaAS2fz5s3mrrvuMvXr1zd2u914e3ubRo0amTvvvNP8+OOP+dbfsmWLGTJkiKlZs6bx9PQ0ISEh5rrrrnOZcevsjG7R0dEu9z07o9SqVatcxhcuXGiuvfZaExgYaOx2u6lbt6656aabzIoVK5zrZGVlmX/84x+mRo0axmazucx89/dZ14wx5tSpU2bMmDEmIiLCeHp6mpo1a5q+ffuanTt3nrMPx44dM15eXuaGG244b69OnTplfHx8TP/+/V22868z8DkcDvPiiy+aOnXqGC8vL9O6dWuzaNEi06ZNGzNo0CCXxzt48KC59dZbTXBwsPH09DRNmjQxr776qnN2RWP+N+vcq6++mq+ec80KaMyZKd/DwsKMm5ubS7/r1q1r+vbtm+9xrrnmGpcZC8/3+j3//PNGkjl27JjL+PDhw42fn995+1YU55oVMCgoyLRt29a8/vrrzqn2z8rJyTH/+te/TJs2bYy3t7fx9/c3TZs2NSNHjjR79uwxxpyZnXHQoEGmbt26xm63m+DgYHPNNdc4p/s+a8WKFaZdu3bGbrcbSfneW391odfnrHO9P+fNm2eaNm1qPD09XWZoO18vz/a+NLZ59uzZ5tprrzW1atUyXl5eJiwszAwZMsRs3br1vNt01okTJ8z9999vQkNDjYeHh6lbt64ZP358vtfnrC5duhhJ5rbbbjvn8oJs09menuu9fDHffvut6d+/v6lVq5bx8PAwAQEBpm3btuaxxx4752dDQT6bSvo1u9j2fffdd877165d2zz++OPmhx9+yPfZevLkSXPTTTeZKlWqOD8zz5Lyz3y5bds2079/fxMUFGS8vLxMmzZt8n22nP0M/+KLL1zG//5ZtHPnTjNs2DDTsGFD4+PjY4KCgkzHjh3NrFmzzrlNQEVnM8aYSxfjAKDi2r9/v5o2barnn3++QBddBQAAFQfBCgCKYMuWLZo3b566dOmiwMBA7dq1S1OmTFFKSoq2b99+zhkDAQBAxcU5VgBQBH5+ftqwYYNmzpyppKQkBQUFqWvXrnrppZcIVQAAVELssQIAAACAYuICwQAAAABQTAQrAAAAACgmghUAAAAAFBOTV/yNw+HQkSNHFBAQ4LzyOQAAAIDKxxij1NRUhYWFyc3twvukCFZ/c+TIEYWHh1tdBgAAAIAyIi4uTnXq1LngOgSrvwkICJB0pnmBgYEWVyPl5ORo2bJl6tmzpzw9Pa0up1Kh99ai/9ai/9ai/9ai/9ai/9ai/65SUlIUHh7uzAgXQrD6m7OH/wUGBpaZYOXr66vAwEDe3JcYvbcW/bcW/bcW/bcW/bcW/bcW/T+3gpwixOQVAAAAAFBMBCsAAAAAKCaCFQAAAAAUE8EKAAAAAIqJYAUAAAAAxUSwAgAAAIBiIlgBAAAAQDERrAAAAACgmAhWAAAAAFBMBCsAAAAAKCaCFQAAAAAUE8EKAAAAAIqJYAUAAAAAxUSwAgAAAIBiKjPBasKECbLZbC4/ISEhzuXGGE2YMEFhYWHy8fFR165dtWPHDpfHyMrK0ujRo1W9enX5+flpwIABOnTo0KXeFAAAAACVTJkJVpLUokULxcfHO3+2bdvmXDZlyhS9/vrreuuttxQdHa2QkBD16NFDqampznXGjh2rr7/+WvPnz9fatWuVlpamfv36KS8vz4rNAQAAAFBJlKlg5eHhoZCQEOdPjRo1JJ3ZW/XGG2/omWee0eDBg9WyZUvNnj1b6enpmjt3riQpOTlZM2fO1Guvvabu3burXbt2+uSTT7Rt2zatWLHCys0CAAAAUEA7E1L08a8HrS6j0DysLuCv9uzZo7CwMNntdnXq1EmTJk1SgwYNtH//fiUkJKhnz57Ode12u6655hqtW7dOI0eOVExMjHJyclzWCQsLU8uWLbVu3Tr16tXrnM+ZlZWlrKws5+2UlBRJUk5OjnJyckppSwvubA1loZbKht5bi/5bi/5bi/5bi/5bi/5by6r+p2fnavH2o/pswyFtjkuWzSZd1bCqalfxuaR1/F1h+lBmglWnTp00Z84cXXbZZTp69KhefPFFdenSRTt27FBCQoIkqVatWi73qVWrlg4ePJNmExIS5OXlpapVq+Zb5+z9z2Xy5MmaOHFivvFly5bJ19e3uJtVYpYvX251CZUWvbcW/bcW/bcW/bcW/bcW/bdWcfufnivtOGVTZgHOyIlPtynmuE2ZeTZJkpvNqFVVo+U/rlJNa3OV0tPTC7xumQlWvXv3dv67VatW6ty5sxo2bKjZs2fr8ssvlyTZbDaX+xhj8o393cXWGT9+vB599FHn7ZSUFIWHh6tnz54KDAwsyqaUqJycHC1fvlw9evSQp6en1eVUKvTeWvTfWvTfWvTfWvTfWvTfWsXpvzFGMbFJ+nzDIS3eflRZuY5C3T+imo+GRNbRje3DVN3fXqj7lpazR7MVRJkJVn/n5+enVq1aac+ePbrhhhskndkrFRoa6lwnMTHRuRcrJCRE2dnZOnXqlMteq8TERHXp0uW8z2O322W353/hPD09y9R/5rJWT2VC761F/61F/61F/61F/61VUfufnevQj38c1fYjyVaXck6OPIf2xrpp5+oDcnMv+HQMuXlGP+5M1N7ENOdYk1oBalTT/6L3DfD20IA2Ybq8QbDc3C680+RSK8x7sMwGq6ysLP3xxx+66qqrVL9+fYWEhGj58uVq166dJCk7O1tr1qzRK6+8IkmKjIyUp6enli9friFDhkiS4uPjtX37dk2ZMsWy7QAAAAD2Hz+t+dGx+nLDIZ04nW11ORfhpuWH9xfpnj6e7urfJlTDOkaobXiVix5dVpGUmWA1btw49e/fXxEREUpMTNSLL76olJQUDR8+XDabTWPHjtWkSZPUuHFjNW7cWJMmTZKvr69uvfVWSVJQUJDuuecePfbYYwoODla1atU0btw4tWrVSt27d7d46wAAAGAlY4x+3XdSS7bHKz370l6KJ/Zkun7bf9J5u2aAXd2a1ZLdo0xN0C1JcjgcOnDggOrVqyc3t8LV17iWvwa0CVOAd8Xb01gQZSZYHTp0SMOGDdPx48dVo0YNXX755fr1119Vt25dSdITTzyhjIwMjRo1SqdOnVKnTp20bNkyBQQEOB9j6tSp8vDw0JAhQ5SRkaFu3bpp1qxZcnd3t2qzAAAAYKHjaVn6MuaQPouO0/7jpy2rw80mXXNZDQ3rGKHrmtaURyEOs7uUcnJytHjxPvXp07RCHopZmspMsJo/f/4Fl9tsNk2YMEETJkw47zre3t6aNm2apk2bVsLVAQAAoKQYY/TLvhNasPGwElOzXJc5HDp2zE1fHouRrZB7TP4uOzdPMQdPKSfPSJL8vNw1oG2YIqr5FetxC8vH0009W4QozOKpw1G6ykywAgAAQMV2du/R/PWxOnDiQtNYu2ln8okSe9424VV0a8dw9WsdJj87X39ROnhnAQAAlCF7jqZq3vo4/bb/hPIcxupyStSfx9Kce4/87R4a0DZM7SOq6q/TG+Tl5WnL1i1q07pNiZzO0TwsUM1Crb+EDio+ghUAAIDFMrLztHhbvOatj9WGg6esLqdUtQ2vomEX2HuUk5Mje/xm9WkXxjk+KFcIVgAAABb5Iz5F89fHasGmw0rNzJUkubvZ1K1pTd3QrrYCK9jsaiFB3gW6rhFQHhGsAAAALqHTWblatPWI5q2P0+a4JOd4nao+GtYxQjdF1lGtQG/rCgRQJAQrAACAS2D74WTNXR+rbzcfUVrWmb1THm429WxRS0M7ROjKRtXl5lZ5LqYKVDQEKwAAgBKQm+fQ0b9NHe5wGP2055jmrY/V9sMpzvF6wb4a2jFCN7avoxoB9ktdKoBSQLACAAAohoMnTmt+dJy+2HBIx9Oyzruel7uberUM0bCO4bq8fjB7p4AKhmAFAABQSFm5eVq246jmR8fqP3v/d70lDzdbvsBUL9hXQ6LCNbh9HVXz87rUpQK4RAhWAAAABfTnsTTNXx+rrzYe1snT2ZIkm026unENDesYrm7NasnT3c3iKgFYgWAFAADwXw6H0YaDp7TlhE0evx+Vu/uZr0pJ6dlasOmw1u8/6Vy3VqBdt0SF6+aocIVX87WqZABlBMEKAABUekdTMvXFhjjNj47ToVMZktz14e4t+dZzs0nXNqmpYR0j1LVJDXmwdwrAfxGsAABApZTnMPpp9zHNXR+rlTsTlecwkqQAbw8Fe+SoWrWqstnOnC/lbrPpikbVNaRDHYUG+VhZNoAyimAFAAAqlSNJGfosOk5fbIjTkeRM53hU3aoa1jFCPZpW16oVS9WnT0d5enpaWCmA8oRgBQAAKrzcPIdW7kzU/Og4rd6VqP/unFIVX0/d2L6OhnYIV+NaAZKknJwcCysFUF4RrAAAQIUVdzL9zN6pmDgdTfnfNaYub1BNwzpGqFeLEHl7ultYIYCKgmAFAADKLWOM1u8/qR+2Jyg9O9dl2ZGkTP3nz+My/907FeznpZui6mhohwjVr+5nQbUAKjKCFQAAKHdOpGVpwcbDmhcdq33HTl9w3asaV9ewjhHq3qyWvDyYxQ9A6SBYAQCAcsHhMPpl3wnNWx+rpTsSlJN3ZleUr5e7+rcOU93qrteSsnu4q0ezWooI5hpTAEofwQoAAJRpiamZ+jLmkD6LjtPBE+nO8dZ1gjSsY4T6twmTv52vNACsxacQAAAoNcnpOVqw6ZAWb4tXWlZeoe9vjNHexDTl/ncaP3+7h25oF6ahHSLUsnZQSZcLAEVGsAIAACXq7IQS86PjtHhbvLJyHcV+zHYRVTSsY4T6tQ6VrxdfXwCUPXwyAQCAQsvMydPibfGaHx2nPxPTXJbl5DmUkvm/GfqahgRoWMcINahRtJn4QoN81Kimf7HqBYDSRrACAAAFtjMhRfPXx2nBxkMu4envfL3cNaBNmIZ2jFCbOkGy2WyXsEoAuPQIVgAA4ILSs3O1aEu85kXHalNsknO8dhUfDe0Qrmub1pSnu+s05nWq+siPCSUAVCJ84gEAgHPafjhZ86Nj9c2mI0rNOrN3ysPNph7Na2loxwhd1ai63NzYEwUAEsEKAAD8RVpWrr7dfETzo2O19VCyc7xusK+GdojQTZF1VCPAbmGFAFA2EawAAKjkjDHaeihZ89bH6tstR5SefWZadE93m3q1CNGtHSN0eYNg9k4BwAUQrAAAqKRSMnP0zabDmrc+Tr/HpzjHG9Tw07AOERrcvraC/dk7BQAFQbACAKACS0zJ1Oa4JJexXIfRyp2JWrT1iDJzzlxjysvDTX1bhWpoh3B1rF+NWfwAoJAIVgAAVFBLtifosc836/R/D+07l8tq+WtYxwgNaldbVXy9LmF1AFCxEKwAAKhg8hxGry/fpbdX/SlJqhfsq2p+rqGpUU1/3dIhQu0jqrB3CgBKAMEKAIAKJCk9Ww/P36yfdh+TJN19RX2N79M033WmAAAli2AFAEAF8fuRFN3/SYxiT6bL29NNr9zYWgPb1ra6LACoFAhWAABUAN9sPqwnv9qqzByHwqv56N3bo9Q8LNDqsgCg0iBYAQBQjuXmOTT5h52auXa/JOnqy2ro30PbMhEFAFxiBCsAAMqp42lZemjuRv2676Qk6cFrG+rRHk3kzoV8AeCSI1gBAFDOpGfnatHWeL2xfLeOJGfKz8tdrw1pq+tbhlhdGgBUWgQrAADKiR1HkjVvfay+2XREqVm5kqQGNfz03h2RalQzwOLqAKByI1gBAFCGpWXl6rstRzRvfay2Hkp2jtcN9tUtHcJ1x+V1FeDtaWGFAACJYAUAQJljjNHBNOmZhTu0aFuC0rPzJEme7jb1ahGiYR0j1LlBsNw4lwoAygyCFQAAZUjcyXSNmb9JG2M9JB2WJDWo7qehHcN1Y/s6Cva3W1sgAOCcCFYAAJQRa/cc1+h5G3UqPUceNqM+rcJ06+V11al+Ndls7J0CgLKMYAUAgMWMMXr3p32asmSnHEZqGRaoG0NO6vZBreTpyflTAFAeuFldAAAAldnprFw9NHeTXv7hTKi6KbKO5v2jg6pxxB8AlCvssQIAwAIHT5zW/Og4fbHhkI6nZcnT3abn+rfQ7Z0ilJuba3V5AIBCIlgBAHCJZOXmadmOo5q3Plbr/jzhHA8L8ta0W9spsm41C6sDABQHwQoAgFL257E0zV8fq682HtbJ09mSJJtNuuayGhraIULdmtWUpztH5wNAeUawAgCgFOQ5jL7bckRz18dq/f6TzvGQQG8N6RCuIVF1VKeqr4UVAgBKEsEKAIASdvJ0tkbP26j/7D1zuJ+bTbquaU0N7RChrk1qyIO9UwBQ4RCsAAAoQdsPJ2vkxzE6nJQhH093jbymgW7pEK7QIB+rSwMAlCKCFQAAJeSrmEN6+uttysp1qG6wr967I0pNQgKsLgsAcAkQrAAAKKbElEz9e+UeffJrrCTp2iY19MbQdgry4eK+AFBZEKwAACiCPIfRT3uOaf76WK34I1F5DiNJerhbY43t1lhubjaLKwQAXEoEKwAACiE+OUOfRx/S5xvidDgpwzkeWbeqHrquka5tUtPC6gAAViFYAQBwEbl5Dq3edUzz1sdq1a5E/XfnlIJ8PHVj+zoa2jFcl9XiXCoAqMwIVgAAnIcxRh//elDvrPpTCSmZzvFO9atpWMcIXd8yRN6e7hZWCAAoKwhWAACcQ3p2rp78apu+23JEklTNz0s3RdbRLR3C1bCGv8XVAQDKGoIVAAB/c/DEaY38OEY7E1Ll4WbTU72b6o7OdWX3YO8UAODcCFYAAPzF6l2JenjeJqVk5qq6v5fevrW9OjUItrosAEAZR7ACAFR6xhjFHDyluetj9fWmwzJGahteRTNuj1RIkLfV5QEAygGCFQCg0jp1OlsLNh3W/PWx2pOY5hwf1jFCEwY059A/AECBEawAAJWKMUa/7T+peetj9cP2BGXnOiRJPp7u6tc6VMM6Rah9RFWLqwQAlDcEKwBApXAiLUtfbTyk+evjtO/4aed489BA3dopQgPahinQ29PCCgEA5RnBCgBQYTkcRr/sO6G562O1bEeCcvLOXNnXz8tdA9rW1rCO4WpVO0g2m83iSgEA5R3BCgBQ4SSmZurLmDN7p2JPpjvH29QJ0rCOEerfJkx+dn4FAgBKDr9VAAAVQp7D6Oc9xzR/fZxW/HFUuY4ze6cC7B66oV1tDe0YrhZhQRZXCQCoqAhWAIBy7URalj79LVafRcfpcFKGczyyblUN7RCuvq1D5evFrzsAQOniNw0AoNxav/+kRn26UcfTsiRJQT6eGtSutoZ1jFCTkACLqwMAVCYEKwBAuWOM0ex1B/Ti938o12HUuKa/Rl3bUL1bhsrbk2tPAQAuPYIVAKBcyczJ09MLtmnBpsOSpP5twvTKja043A8AYCl+CwEAyo24k+m6/5MY7TiSInc3m8b3bqp7rqzPdOkAAMsRrAAA5cLaPcc1et5GnUrPUTU/L711azt1aVjd6rIAAJBEsAIAlHHGGL370z5NWbJTDiO1rhOk6bdHqnYVH6tLAwDAiWAFACizTmfl6okvt+r7bfGSpJsj6+j/bmjJBBUAgDKHYAUAKJP2Hz+tkR9v0O6jafJ0t+m5/i10e6cIzqcCAJRJBCsAQJnz4x9HNfazzUrNzFWNALtm3N5ekXWrWV0WAADnRbACAJQZDofRv1fu0Rsr9kiSIutW1fTb2qtmoLfFlQEAcGEEKwBAmZCSmaNHP9usFX8kSpLuuLyunu3XXF4ebhZXBgDAxRGsAACWOnk6Wws2HtKsdQd06FSGvDzc9NINLXVzVLjVpQEAUGAEKwDAJWeM0S/7Tmje+jgt3Z6g7DyHJCksyFsz7ohU6zpVrC0QAIBCIlgBAC6Z42lZ+jLmkOavj9WBE+nO8RZhgRrWMUI3tKstfzu/mgAA5Q+/vQAApcrhMFq797jmR8dq2Y6jynUYSZKfl7sGtqutYR0i1KpOkMVVAgBQPAQrAECpOJqSqS82xOmzDXGKO5nhHG8TXkW3dgxXv9Zh8mPvFACggiizUy1NnjxZNptNY8eOdY6NGDFCNpvN5efyyy93uV9WVpZGjx6t6tWry8/PTwMGDNChQ4cucfUAUDk5HEardibq3jkb1OXllfrXst2KO5mhAG8P3dm5rhY/fJW+efAK3dIhglAFAKhQyuRvtejoaL333ntq3bp1vmXXX3+9PvroI+dtLy8vl+Vjx47Vd999p/nz5ys4OFiPPfaY+vXrp5iYGLm7u5d67QBQWSVn5Gjs/E1ateuYcyyqblUN7Rihvq1C5ePFZzAAoOIqc8EqLS1Nt912m95//329+OKL+Zbb7XaFhISc877JycmaOXOmPv74Y3Xv3l2S9Mknnyg8PFwrVqxQr169SrV2AKisdiWk6r6PN+jgiXTZPdx0a6cIDesYoctqBVhdGgAAl0SZC1YPPvig+vbtq+7du58zWK1evVo1a9ZUlSpVdM011+ill15SzZo1JUkxMTHKyclRz549neuHhYWpZcuWWrdu3TmDVVZWlrKyspy3U1JSJEk5OTnKyckp6c0rtLM1lIVaKht6by36b63C9H/xtgQ99fV2ZeQ4VLuKt94e1lYtwgILfH/kx/vfWvTfWvTfWvTfVWH6UKaC1fz587Vx40ZFR0efc3nv3r118803q27dutq/f7+effZZXXfddYqJiZHdbldCQoK8vLxUtWpVl/vVqlVLCQkJ53zMyZMna+LEifnGly1bJl9f3+JvVAlZvny51SVUWvTeWvTfWhfqf2autPSQm1bGnzld97Igh0Y0StPBzWt1cPMlKrCC4/1vLfpvLfpvLfp/Rnp6+sVX+q8yE6zi4uI0ZswYLVu2TN7e3udc55ZbbnH+u2XLloqKilLdunX1/fffa/Dgwed9bGOMbDbbOZeNHz9ejz76qPN2SkqKwsPD1bNnTwUGBhZxa0pOTk6Oli9frh49esjT09PqcioVem8t+m+t8/XfGKMth5L12YbD+n5bvDJyzlzY976r6unR7o3l7nbuz1oUDu9/a9F/a9F/a9F/V2ePZiuIMhOsYmJilJiYqMjISOdYXl6efvrpJ7311lvKysrKN/lEaGio6tatqz179kiSQkJClJ2drVOnTrnstUpMTFSXLl3O+bx2u112uz3fuKenZ5l6M5W1eioTem8t+m+ts/1PzsjRwk2HNW99rHYmpDqXN6zhp8d7NdH1LUMtrLLi4v1vLfpvLfpvLfp/RmF6UGaCVbdu3bRt2zaXsbvuuktNmzbVk08+ec4Z/U6cOKG4uDiFhp75hR4ZGSlPT08tX75cQ4YMkSTFx8dr+/btmjJlSulvBABUIMZIGw6e0hcbj+j7rfHKyj2zd8ru4aa+rUM1rGOEoupWPe8RAQAAVCZlJlgFBASoZcuWLmN+fn4KDg5Wy5YtlZaWpgkTJujGG29UaGioDhw4oKefflrVq1fXoEGDJElBQUG655579Nhjjyk4OFjVqlXTuHHj1KpVK+csgQCACzt1OltfbIjVzC3uOvrr/855bRoSoGEdI3RD29oK8uWvmAAA/FWZCVYX4+7urm3btmnOnDlKSkpSaGiorr32Wn322WcKCPjfdL5Tp06Vh4eHhgwZooyMDHXr1k2zZs3iGlYAcAHGGP2y74Tmr4/Tku0Jys5zSLLJx9NN/duEaVjHCLUNr8LeKQAAzqNMB6vVq1c7/+3j46OlS5de9D7e3t6aNm2apk2bVoqVAUDFcDwtS1/FHNL86DjtP37aOd48NEAtvJM0/tbrVC3Ax8IKAQAoH8p0sAIAlDyHw+g/fx7X/PVxWvZ7gnLyjCTJz8tdA9vV1rAOEWpay1eLFy9WgDe/JgAAKAh+YwJAJRJz8KQe+WyLYk/+77ocbcKr6NaO4erXOkx+9jO/FrgwJAAAhUOwAoBK4sDx07pn9gYlpecowNtDg9rV1tAOEWoeZv01+wAAKO8IVgBQCSSn5+ju2dFKSs9Rm/AqmvuPTs69UwAAoPjcrC4AAFC6cvIcenDuRu07dlphQd56/85IQhUAACWMYAUAFZgxRhO/26G1e4/L18tdHwzvoJoB3laXBQBAhUOwAoAKbPa6A/rk11jZbNKbQ9txPhUAAKWEYAUAFdTqXYl6YdHvkqSnrm+qHs1rWVwRAAAVF8EKACqg3UdTNXruJjmMdHNkHd13dQOrSwIAoEIjWAFABXMiLUv3zI5WalauOtavppcGtZLNZrO6LAAAKjSCFQBUIFm5eRr5cYziTmYoopqvZtweKS8PPuoBACht/LYFgArCGKPxC7Zpw8FTCvD20IcjolTNz8vqsgAAqBS4kAkAVAC5eQ69tWqvFmw8LHc3m96+tb0a1QywuiwAACoNghUAlGNxJ9P1+YY4fb4hTkdTsiRJE/o319WX1bC4MgAAKheCFQCUQ9EHTmrayr36ec8xGXNmrJqflx64pqHu6FzP0toAAKiMCFYAUM7EHDyl2z74Tdm5DknSlY2qa2jHcPVoXkt2D3eLqwMAoHIiWAFAOXLoVLpGfrxB2bkOXXNZDb0wsIXqBvtZXRYAAJUewQoAyom0rFz9Y/YGHU/LVrPQQL1zW3v52fkYBwCgLGC6dQAoB/IcRmPmbdLOhFRV97frg+FRhCoAAMoQghUAlAOTF/+hH3cmyu7hpvfvjFTtKj5WlwQAAP6CP3cCQBm271ia5vxyULPWHZAk/evmNmoXUdXaogAAQD4EKwAoYzJz8rR0R4LmrY/Vr/tOOsfHdm+s/m3CLKwMAACcD8EKAMqQtXuO6+H5m3TydLYkyc0mdW1SU7d1itB1TWtaXB0AADgfghUAlBG7j6bqgU9ilJqVq9Agb93SIVxDosIVxvlUAACUeQQrACgDTqRl6Z7Z0UrNylXH+tX08T0dudgvAADlCLMCAoDFsnLzNPLjGMWdzFBENV/NuD2SUAUAQDlDsAIACxljNH7BNm04eEoB3h76cESUqvl5WV0WAAAoJIIVAFho+po/tWDjYbm72fT2re3VqGaA1SUBAIAi4BwrALCAw2H09qq9em35bknShP7NdfVlNSyuCgAAFBXBCgAusdTMHD36+RYt//2oJGnk1Q10R+d61hYFAACKhWAFAJfQ3sRU3fdxjPYdOy0vdze9eENLDekQbnVZAACgmAhWAHCJLNmeoMc+36zT2XkKDfLWjNsj1Sa8itVlAQCAEkCwAoBSlucwen35Lr296k9J0uUNqumtW9urur/d4soAAEBJIVgBQClKSs/WmPmbtWb3MUnSPVfW1/jeTeXhzqSsAABUJAQrACglvx9J0f2fxCj2ZLq8Pd30yo2tNbBtbavLAgAApYBgBQCl4JvNh/XkV1uVmeNQeDUfvXt7lJqHBVpdFgAAKCUEKwAoQbl5Dk3+Yadmrt0vSbr6shr699C2quLrZXFlAACgNBGsAKCEHE/L0kNzN+rXfSclSQ9e21CP9mgidzebxZUBAIDSRrACgBKwJS5JD3wSoyPJmfLzctdrQ9rq+pYhVpcFAAAuEYIVABTT0h0JGj1vk7JzHWpQw0/v3RGpRjUDrC4LAABcQgQrACiG42lZeuLLrcrOdah7s1p6/ZY2CvT2tLosAABwiRGsAKAYXlz0u5IzctQ8NFAzbm/P9akAAKik+AYAAEW0ZvcxLdx8RG42afLgVoQqAAAqMb4FAEARZGTn6Z8Lt0mShneppzbhVawtCAAAWIpgBQBF8OaPexR3MkOhQd56rGcTq8sBAAAWI1gBQCH9EZ+i93/eJ0l6YWBL+ds5XRUAgMqOYAUAhZDnMHpqwTblOYyubxGiHs1rWV0SAAAoAwhWAFBAmTl5evKrrdoSl6QAu4cmDGhhdUkAAKCM4PgVACiAI0kZeuCTGG05lCw3mzRxYAuFBHlbXRYAACgjCFYAcBG//HlCD83dqBOns1XF11PThrXTVY1rWF0WAAAoQwhWAHAexhjNXLtfk3/YqTyHUfPQQL17R6TCq/laXRoAAChjCFYAcA7p2bl66qtt+nbLEUnSoHa1NWlQK/l4uVtcGQAAKIuKHKxycnKUkJCg9PR01ahRQ9WqVSvJugDAMrEn0nXfxxu0MyFV7m42Pdu3mYZ3qSebzWZ1aQAAoIwqVLBKS0vTp59+qnnz5mn9+vXKyspyLqtTp4569uyp++67Tx06dCjxQgHgUli9K1Fj5m9WckaOqvt76e1b26tTg2CrywIAAGVcgadbnzp1qurVq6f3339f1113nRYsWKDNmzdr165d+uWXX/T8888rNzdXPXr00PXXX689e/aUZt0AUKKMMXp71V7dNStayRk5ahteRd+NvpJQBQAACqTAe6zWrVunVatWqVWrVudc3rFjR919992aMWOGZs6cqTVr1qhx48YlVigAlJbUzByN+2KLlu44Kkka1jFcEwa0kN2D86kAAEDBFDhYffHFF+ddlpWVJbvdLkmy2+0aNWpU8SsDgEtgb2KaRn68QX8eOy0vdzdNHNhCwzpGWF0WAAAoZwp8KOCFdOnSJd/Y7t27S+KhAaDULN2RoBve/o/+PHZaIYHe+mzk5YQqAABQJMWabn3RokXauXOnTp8+rSNHjigsLMy57Oabb9aWLVuKXSAAlLQ8h9HU5bv11qq9kqSO9arp7dvaq0aA3eLKAABAeVWsYNWiRQvFxsYqMTFRw4YNU1xcnOrUqaOwsDC5u3NuAoCyJzk9R2M+26TVu45JkkZ0qadn+jaTp3uJ7MAHAACVVLGCVf369TVq1Ci1bNlSV199tSTp8OHD2r9/v1q2bFkiBQJASdmZkKKRH8fo4Il02T3c9PKNrTSoXR2rywIAABVAoYLVhAkT1L59e0VGRqp27drO8bOhSpJq167tsgwAyoJvtxzRk19uVUZOnupU9dGM2yPVsnaQ1WUBAIAKolDB6oUXXpDNZpMkVa9eXZGRkWrfvr0zbNWtW7dUigSAosrNc+iVJTv1/s/7JUlXNa6ufw9tp6p+XhZXBgAAKpJCBasOHTooPj5ed911l0JCQrRx40YtXrxYr776qnJzc1W1alW1b99ey5YtK616AaDATqRl6aG5m/TLvhOSpAe6NtS4nk3k7mazuDIAAFDRFCpY/fbbb5o1a5aefvpptWvXTlOnTtVll12mnJwcbd26VRs3btSmTZtKq1YAKLCth5J0/8cxOpKcKV8vd/3r5jbq0yrU6rIAAEAFVehpsEaMGKHdu3erRYsWioqK0uOPP66srCxFRkbq3nvv1TvvvFMadQJAgX2+IU43zfhFR5IzVb+6nxY+eAWhCgAAlKoizS/s7++vKVOmKCYmRjt37lSjRo304YcflnRtAFAo2bkO/XPhNj3x5VZl5zrUrWlNLXzwCl1WK8Dq0gAAQAVX5Au35OTkKCMjQ0OHDlVERITuvfdenTx5siRrA4ACS0zJ1LD3f9Unv8ZKksZ2b6z374xSkI+nxZUBAIDKoFDnWL300kvatm2btm3bpt27d8vPz0+tW7dWp06dNHLkSAUFMXUxgEsv5uBJPfDJRiWmZinA20Nv3NJW3ZrVsrosAABQiRQqWD377LOqV6+eRowYoWHDhqlx48alVRcAXJQxRp/8elAvLPpdOXlGl9Xy17t3RKl+dT+rSwMAAJVMoYLVlVdeqS1btmjChAl65ZVX1Lp1a+e1rCIjI9WyZUu5u7uXVq0A4JSZk6d/LtyuL2MOSZL6tArRqze1kZ+9UB9rAAAAJaJQ30B++uknSdKePXsUExOjjRs3KiYmRnPnzlVSUpLsdrtatWql9evXl0qxACBJh5MydP/HMdp2OFluNumJ65tq5NUNnBcwBwAAuNSK9Kfdxo0bq3Hjxho6dKhzbP/+/dqwYQPXsQJQqtbtPa6H5m3SydPZquLrqWnD2umqxjWsLgsAAFRyJXbMTP369VW/fn3dfPPNJfWQAOB08nS25vxyQP/+cY8cRmoRFqgZt0cqvJqv1aUBAAAUPFjFxsYqIiKiwA98+PBh1a5du0hFAYAkOYy07s8T+mLjES3bcVTZeQ5J0uB2tTVpcCt5e3JOJwAAKBsKfB2rDh066N57773g+VPJycl6//331bJlSy1YsKBECgRQOX2z+Yhe2uSu4bNitGhrvLLzHGpVO0hTb2mj14a0IVQBAIAypcB7rP744w9NmjRJ119/vTw9PRUVFaWwsDB5e3vr1KlT+v3337Vjxw5FRUXp1VdfVe/evUuzbgAVVHauQxO/26FPf4uVZJOf3V03tK2tYR0j1LI218oDAABlU4GDVbVq1fSvf/1LL774ohYvXqyff/5ZBw4cUEZGhqpXr67bbrtNvXr1UsuWLUuzXgAV2NGUTI36dKNiDp6SzSb1qu3QyyOuUxV/H6tLAwAAuKBCT17h7e2twYMHa/DgwaVRD4BKasOBk3rg0406lpqlAG8PvXZTK2X8Gc11qQAAQLlQ4HOsAKC0fLfliIa+96uOpWbpslr++vahK3VtE6ZQBwAA5Qd/CgZgqZiDJ/XY51uU6zDq2ypUU25qLT+7h3JycqwuDQAAoMAIVgAsE3cyXffNiVF2nkM9m9fStGHt5OZms7osAACAQuNQQACWSM3M0T9mb9CJ09lqERaoN4a2JVQBAIByq0jBKiMjQ+np6c7bBw8e1BtvvKFly5aVWGEAKq48h9HD8zZp19FU1Qyw64PhUfL1Ygc6AAAov4oUrAYOHKg5c+ZIkpKSktSpUye99tprGjhwoKZPn14ihU2ePFk2m01jx451jhljNGHCBIWFhcnHx0ddu3bVjh07XO6XlZWl0aNHq3r16vLz89OAAQN06NChEqkJQMl46fs/tGrXMdk93PT+nVEKDWI6dQAAUL4VKVht3LhRV111lSTpyy+/VK1atXTw4EHNmTNH//73v4tdVHR0tN577z21bt3aZXzKlCl6/fXX9dZbbyk6OlohISHq0aOHUlNTneuMHTtWX3/9tebPn6+1a9cqLS1N/fr1U15eXrHrAlB8c3+L1Yf/2S9Jen1IW7UJr2JtQQAAACWgSMEqPT1dAQEBkqRly5Zp8ODBcnNz0+WXX66DBw8Wq6C0tDTddtttev/991W1alXnuDFGb7zxhp555hkNHjxYLVu21OzZs5Wenq65c+dKkpKTkzVz5ky99tpr6t69u9q1a6dPPvlE27Zt04oVK4pVF4DiW7f3uJ77Zrsk6bEel6lv61CLKwIAACgZRTqpoVGjRlq4cKEGDRqkpUuX6pFHHpEkJSYmKjAwsFgFPfjgg+rbt6+6d++uF1980Tm+f/9+JSQkqGfPns4xu92ua665RuvWrdPIkSMVExOjnJwcl3XCwsLUsmVLrVu3Tr169cr3fFlZWcrKynLeTklJkSTl5OSUiemez9ZQFmqpbOh9ydp//LTu/yRGuQ6jAa1DNfKquhfsLf23Fv23Fv23Fv23Fv23Fv13VZg+FClYPffcc7r11lv1yCOPqFu3burcubOkM3uv2rVrV5SHlCTNnz9fGzduVHR0dL5lCQkJkqRatWq5jJ89DPHsOl5eXi57us6uc/b+fzd58mRNnDgx3/iyZcvk6+tbpO0oDcuXL7e6hEqL3hff6Rxp6nZ3pWTaVM/f6GqfOP3wQ1yB7kv/rUX/rUX/rUX/rUX/rUX/z/jrhH0XU6RgddNNN+nKK69UfHy82rRp4xzv1q2bBg0aVJSHVFxcnMaMGaNly5bJ29v7vOvZbK7TMRtj8o393YXWGT9+vB599FHn7ZSUFIWHh6tnz57F3vtWEnJycrR8+XL16NFDnp6eVpdTqdD7kpGT59Dds2N0LPOUalfx1ryRnVTd337x+9F/S9F/a9F/a9F/a9F/a9F/V2ePZiuIIs9vHBISopCQEJexjh07FvXhFBMTo8TEREVGRjrH8vLy9NNPP+mtt97Srl27JJ3ZKxUa+r/zMhITE517sUJCQpSdna1Tp0657LVKTExUly5dzvm8drtddnv+L3menp5l6s1U1uqpTOh90Rlj9Oy32/Tr/lPy83LXzBEdFFrVv1CPQf+tRf+tRf+tRf+tRf+tRf/PKEwPysx1rLp166Zt27Zp8+bNzp+oqCjddttt2rx5sxo0aKCQkBCX3ZLZ2dlas2aNMzRFRkbK09PTZZ34+Hht3779vMEKQOlIy8rV/Z/EaH50nNxs0rRb26lpiPV7gQEAAEpDkfZYDRw4UIMHD9b999/vvI6Vp6enjh8/rtdff10PPPBAoR8zICBALVu2dBnz8/NTcHCwc3zs2LGaNGmSGjdurMaNG2vSpEny9fXVrbfeKkkKCgrSPffco8cee0zBwcGqVq2axo0bp1atWql79+5F2VQARfDnsTTdN2eD/jx2Wl7ubpo0uJWua1rr4ncEAAAop4oUrDZu3KipU6dK+t91rDZt2qSvvvpKzz33XJGCVUE88cQTysjI0KhRo3Tq1Cl16tRJy5Ytc079LklTp06Vh4eHhgwZooyMDHXr1k2zZs2Su7t7qdQEwNWyHQl69PMtSsvKVUigt6bf3l7tIqpe/I4AAADlWJGCVWlex+qvVq9e7XLbZrNpwoQJmjBhwnnv4+3trWnTpmnatGklVgeAi8tzGL2xYremrdwrSepYv5revrW9agRcfKIKAACA8q5I51idvY5VXFycli5d6rxuVElcxwpA+ZOcnqN7Zkc7Q9VdV9TTp//oRKgCAACVRpGC1XPPPadx48apXr166tixY4ldxwpA+bMzIUUD3l6r1buOydvTTVNvaaPn+7eQp3uRPl4AAADKpWJfx6pt27bO8eJcxwpA+fPdliN64sutysjJU52qPnr3jki1CAuyuiwAAIBLrsh/Ut6zZ49ee+01XXHFFTp8+LAkadeuXTp+/HiJFQeg7Jr24x6NnrdJGTl5uqpxdX330JWEKgAAUGkVKVh99dVX6tWrl3x8fLRx40ZlZWVJklJTUzVp0qQSLRBA2fNVzCG9tny3JOn+axpq1l0dVdXPy+KqAAAArFOkYPXiiy9qxowZev/9912uRtylSxdt3LixxIoDUPZEHzip8Qu2SZIevLahnurdVO5uNourAgAAsFaRgtWuXbt09dVX5xsPDAxUUlJScWsCUEbFnkjXyI9jlJ3nUO+WIXqsRxOrSwIAACgTihSsQkNDtXfv3nzja9euVYMGDYpdFICyJyXzzJTqJ09nq2XtQL02pI3c2FMFAAAgqYjBauTIkRozZox+++032Ww2HTlyRJ9++qnGjRunUaNGlXSNACyWm+fQ6LmbtCcxTbUC7frgzg7y9SrSpKIAAAAVUpG+GT3xxBNKTk7Wtddeq8zMTF199dWy2+0aN26cHnrooZKuEYDFXvz+D63ZfeY6VR/c2UEhQd5WlwQAAFCmFPlPzi+99JKeeeYZ/f7773I4HGrevLn8/f1LsjYAZcDHvx7UrHUHJElv3NJWreowpToAAMDfFetYHl9fX0VFRZVULQDKmJ/3HNOEb3dIkh7v1UTXtwy1uCIAAICyqcjB6scff9SPP/6oxMREORwOl2UffvhhsQsDYK29iWka9elG5TmMBrerrVFdG1pdEgAAQJlVpGA1ceJEvfDCC4qKilJoaKhsNmYGAyqSU6ezdc/saKVm5iqqblVNvrEV/88BAAAuoEjBasaMGZo1a5buuOOOkq4HgMWycx26/5MYHTyRrjpVffTuHZGye7hbXRYAAECZVqTp1rOzs9WlS5eSrgVAGfDO6r36bf9J+ds99OGIDgr2t1tdEgAAQJlXpGD1j3/8Q3Pnzi3pWgBYbG9imt5Z9ackadLgVrqsVoDFFQEAAJQPRToUMDMzU++9955WrFih1q1by9PT02X566+/XiLFAbh0HA6jp7/epuw8h65tUkP9WzMDIAAAQEEVKVht3bpVbdu2lSRt377dZRknuAPl0xcxcVq//6R8PN31wsCW/F8GAAAohCIFq9mzZ6tOnTpyc3M9ktAYo7i4uBIpDMClcyw1Sy99/4ck6bGelym8mq/FFQEAAJQvRTrHqn79+jp+/Hi+8ZMnT6p+/frFLgrApfV/i35XSmauWtYO1Igu9awuBwAAoNwpUrAyxpxzPC0tTd7e3sUqCMCltXpXor7dckRuNmnyoNbycC/SxwIAAEClVqhDAR999FFJZ86jeu655+Tr+7/DhfLy8vTbb785z70CUPbFnUzXM1+fOU/yrivqq1WdIIsrAgAAKJ8KFaw2bdok6cweq23btsnLy8u5zMvLS23atNG4ceNKtkIApeLnPcc0et4mJaXnqE5VHz3a4zKrSwIAACi3ChWsVq1aJUm666679OabbyowMLBUigJQeowxevenfZqyZKccRmpdJ0gzbo+Un71Ic9kAAABARZwV8KOPPirpOgBcAqezcvXEl1v1/bZ4SdKQqDp6YWBLeXu6W1wZAABA+VbgYPXoo4/q//7v/+Tn5+c81+p8uEAwUPbk5Dl02we/aXNckjzdbXq+fwvd1imC61UBAACUgAIHq02bNiknJ8f57/PhSxpQNn24dr82xyUpyMdTH47ooMi6Va0uCQAAoMIocLA6e37V3/8NoOyLO5muqSt2S5L+2bcZoQoAAKCEFeqCNfv27TvvNawAlE3GGD2zcLsycxzq3CBYN0XWsbokAACACqdQwapx48Y6duyY8/Ytt9yio0ePlnhRAErOt1uO6Kfdx+Tl4aaXBrXkcF0AAIBSUKhg9fe9VYsXL9bp06dLtCAAJScpPVsvfPe7JGn0tY3UoIa/xRUBAABUTIUKVgDKl8mLd+rE6Ww1rumvkdc0tLocAACACqtQwcpms+U7jIjDioCy6dd9J/TZhjhJ0uTBreTlwd9RAAAASkuhLhBsjNGIESNkt9slSZmZmbr//vvl5+fnst6CBQtKrkIAhZaYkqlHPtssSbq1U4Si6lWztiAAAIAKrlDBavjw4S63b7/99hItBkDxZebk6d45GxSfnKmGNfz0VO+mVpcEAABQ4RUqWH300UelVQeAEuBwGD32+RZtOZSsqr5nLgQc6O1pdVkAAAAVHiddABXIGyt26/tt8fJ0t2nG7ZGqG+x38TsBAACg2AhWQAXxzebD+vfKvZKklwa1UqcGwRZXBAAAUHkQrIAKIObgKT3+5VZJ0shrGmhIVLjFFQEAAFQuBCugnDt0Kl0jP96g7FyHejSvpSd7MVkFAADApVakYBUbGytjTL5xY4xiY2OLXRSAgknLytU/Zm/Q8bRsNQsN1Bu3tJWbG9eWAwAAuNSKFKzq16+vY8eO5Rs/efKk6tevX+yiAFxcnsPo4XmbtDMhVTUC7Jo5PEp+9kJN9AkAAIASUqRgZYyRzZb/r+JpaWny9vYudlEALm7y4j+0cmei7B5uev/OKIVV8bG6JAAAgEqrUH/efvTRRyVJNptNzz77rHx9fZ3L8vLy9Ntvv6lt27YlWiCA/Oavj9UHa/dLkv51cxu1Da9ibUEAAACVXKGC1aZNmySd2WO1bds2eXl5OZd5eXmpTZs2GjduXMlWCMDFuj+P658Lt0uSHul+mfq3CbO4IgAAABQqWK1atUqSdNddd+nNN99UYGBgqRQF4Nz2Hz+tBz7ZqFyH0YA2YXq4WyOrSwIAAICKeI7VO++8Iw+P/2WygwcP6o033tCyZctKrDAArpLTc3TPrGglZ+SobXgVTbmp9TnPdQQAAMClV6RgNXDgQM2ZM0eSlJSUpI4dO+q1117TwIEDNX369BItEICUk+fQA5/GaN/x0woL8tZ7d0bK29Pd6rIAAADwX0UKVhs3btRVV10lSfryyy8VEhKigwcPas6cOfr3v/9dogUClZ0xRs9/u0Pr/jwhXy93zRzRQTUDmH0TAACgLClSsEpPT1dAQIAkadmyZRo8eLDc3Nx0+eWX6+DBgyVaIFDZffSfA5r7W6xsNunfQ9upWSjnNgIAAJQ1RQpWjRo10sKFCxUXF6elS5eqZ8+ekqTExEQmtABK0KqdiXrx+98lSU/3bqbuzWtZXBEAAADOpUjB6rnnntO4ceNUr149derUSZ07d5Z0Zu9Vu3btSrRAoLLalZCq0fM2yWGkW6LC9Y+r6ltdEgAAAM6jUNOtn3XTTTfpyiuvVHx8vNq0aeMc79atmwYNGlRixQGV1fG0LN09K1ppWbnqVL+a/u+GlswACAAAUIYVKVhJUkhIiEJCQlzGOnbsWOyCgMouMydPIz+O0eGkDNUL9tWM2yPl5VGkncsAAAC4RIr8be3nn3/W7bffrs6dO+vw4cOSpI8//lhr164tseKAysYYo/ELtinm4CkFenvog+EdVNXPy+qyAAAAcBFFClZfffWVevXqJR8fH23atElZWVmSpNTUVE2aNKlECwQqk3dW/6mvNx2Wu5tN79wWqUY1/a0uCQAAAAVQpGD14osvasaMGXr//ffl6enpHO/SpYs2btxYYsUBlcnibfF6dekuSdLEAS10ZePqFlcEAACAgipSsNq1a5euvvrqfOOBgYFKSkoqbk1ApbP1UJIe/XyzJGlEl3q6/fK61hYEAACAQilSsAoNDdXevXvzja9du1YNGjQodlFAZZKQnKl752xQZo5D11xWQ//s28zqkgAAAFBIRQpWI0eO1JgxY/Tbb7/JZrPpyJEj+vTTTzVu3DiNGjWqpGsEKqz07Fz9Y060jqZk6bJa/pp2azt5uDMDIAAAQHlTpOnWn3jiCSUnJ+vaa69VZmamrr76atntdo0bN04PPfRQSdcIVEgOh9Gjn23R9sMpqubnpZnDOyjQ2/PidwQAAECZU+TrWL300kt65pln9Pvvv8vhcKh58+by92cGM6Cg/rVsl5bsSJCXu5veuyNS4dV8rS4JAAAARVSkY45OnDghSfL19VWtWrW0aNEivfDCC/r5559LtDigovoq5pDeWf2nJOnlG1spql41iysCAABAcRQqWG3btk316tVTzZo11bRpU23evFkdOnTQ1KlT9e677+raa6/VwoULS6lUoGKIPnBS4xdskySN6tpQg9vXsbgiAAAAFFehgtUTTzyhVq1aac2aNeratav69eunPn36KDk5WadOndLIkSP18ssvl1atQLkXeyJdIz+OUXaeQ9e3CNG4nk2sLgkAAAAloFDnWEVHR2vlypVq3bq12rZtq/fee0+jRo2Sm9uZfDZ69GhdfvnlpVIoUN6lZObontnROnk6Wy1rB+r1W9rIzc1mdVkAAAAoAYXaY3Xy5EmFhIRIkvz9/eXn56dq1f53bkjVqlWVmppashUCFUBunkOj527SnsQ01Qq064M7O8jXq8hzxwAAAKCMKfTkFTab7YK3AbhKzsjRfR/HaM3uY/L2dNMHd3ZQSJC31WUBAACgBBX6T+Yj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3qpVq5auvPJKzZgxQ+np6VaXVyD16tXTG2+84TJ2yy23aPfu3dYUBAC4JDysLgAAAEnat2+frrjiClWpUkWTJk1Sq1atlJubq927d+vDDz9UWFiYBgwYYEltxhjl5eXJw6NovzZ9fHzk4+NTwlUBAMoS9lgBAMqEUaNGycPDQxs2bNCQIUPUrFkztWrVSjfeeKO+//579e/fX5KUnJys++67TzVr1lRgYKCuu+46bdmyxfk4EyZMUNu2bfXxxx+rXr16CgoK0tChQ5WamupcxxijKVOmqEGDBvLx8VGbNm305ZdfOpevXr1aNptNS5cuVVRUlOx2u37++Wf9+eefGjhwoGrVqiV/f3916NBBK1ascN6va9euOnjwoB555BHZbDbZbDZJ5z4UcPr06WrYsKG8vLzUpEkTffzxxy7LbTabPvjgAw0aNEi+vr5q3Lixvv322xLrNwCgZBGsAACWO3HihJYtW6YHH3xQfn5+51zHZrPJGKO+ffsqISFBixcvVkxMjNq3b69u3brp5MmTznX//PNPLVy4UIsWLdKiRYu0Zs0avfzyy87l//znP/XRRx9p+vTp2rFjhx555BHdfvvtWrNmjctzPvHEE5o8ebL++OMPtW7dWmlpaerTp49WrFihTZs2qVevXurfv79iY2MlSQsWLFCdOnX0wgsvKD4+XvHx8efclq+//lpjxozRY489pu3bt2vkyJG66667tGrVKpf1Jk6cqCFDhmjr1q3q06ePbrvtNpftBACUIQYAAIv9+uuvRpJZsGCBy3hwcLDx8/Mzfn5+5oknnjA//vijCQwMNJmZmS7rNWzY0Lz77rvGGGOef/554+vra1JSUpzLH3/8cdOpUydjjDFpaWnG29vbrFu3zuUx7rnnHjNs2DBjjDGrVq0ykszChQsvWnvz5s3NtGnTnLfr1q1rpk6d6rLORx99ZIKCgpy3u3TpYu69916XdW6++WbTp08f521J5p///KfzdlpamrHZbOaHH364aE0AgEuPc6wAAGXG2UPnzlq/fr0cDoduu+02ZWVlKSYmRmlpaQoODnZZLyMjQ3/++afzdr169RQQEOC8HRoaqsTEREnS77//rszMTPXo0cPlMbKzs9WuXTuXsaioKJfbp0+f1sSJE7Vo0SIdOXJEubm5ysjIcO6xKqg//vhD9913n8vYFVdcoTfffNNlrHXr1s5/+/n5KSAgwLkdAICyhWAFALBco0aNZLPZtHPnTpfxBg0aSJJz4geHw6HQ0FCtXr0632P89RwmT09Pl2U2m00Oh8P5GJL0/fffq3bt2i7r2e12l9t/Pyzx8ccf19KlS/Wvf/1LjRo1ko+Pj2666SZlZ2cXcEtda/orY0y+sQttBwCgbCFYAQAsFxwcrB49euitt97S6NGjz3ueVfv27ZWQkCAPDw/Vq1evSM/VvHlz2e12xcbG6pprrinUfX/++WeNGDFCgwYNkiSlpaXpwIEDLut4eXkpLy/vgo/TrFkzrV27VnfeeadzbN26dWrWrFmh6gEAlB0EKwBAmfDOO+/oiiuuUFRUlCZMmKDWrVvLzc1N0dHR2rlzpyIjI9W9e3d17txZN9xwg1555RU1adJER44c0eLFi3XDDTfkO3TvXAICAjRu3Dg98sgjcjgcuvLKK5WSkqJ169bJ399fw4cPP+99GzVqpAULFqh///6y2Wx69tln8+1Bqlevnn766ScNHTpUdrtd1atXz/c4jz/+uIYMGeKceOO7777TggULXGYYBACULwQrAECZ0LBhQ23atEmTJk3S+PHjdejQIdntdjVv3lzjxo3TqFGjZLPZtHjxYj3zzDO6++67dezYMYWEhOjqq69WrVq1Cvxc//d//6eaNWtq8uTJ2rdvn6pUqaL27dvr6aefvuD9pk6dqrvvvltdunRR9erV9eSTTyolJcVlnRdeeEEjR45Uw4YNlZWVJWNMvse54YYb9Oabb+rVV1/Vww8/rPr16+ujjz5S165dC7wNAICyxWbO9YkPAAAAACgwrmMFAAAAAMVEsAIAAACAYiJYAQAAAEAxEawAAAAAoJgIVgAAAABQTAQrAAAAACgmghUAAAAAFBPBCgAAAACKiWAFAAAAAMVEsAIAAACAYiJYAQAAAEAx/T/qUcRKvtQ75wAAAABJRU5ErkJggg==",
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAIhCAYAAAB5deq6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB2QklEQVR4nO3deVxU1f/H8fcAwyrgioCAqOW+o35dKrXSUrPU0qw0bTPLVivLlm/qt7J9X2wxzcylRc3STM2t0hL3XVNRUMEFFVQEBub8/vDn1AQKKHBZXs/Hg8fDOffO3M+cMzPOe+6959qMMUYAAAAAgHPysLoAAAAAACjpCE4AAAAAkAeCEwAAAADkgeAEAAAAAHkgOAEAAABAHghOAAAAAJAHghMAAAAA5IHgBAAAAAB5IDgBAAAAQB4ITkAZsmHDBt11112qU6eO/Pz85Ofnp0svvVT33nuvVq1aZXV5LnPnztWoUaNyXRYdHa3BgwcX+jZbtmwpm82m119/PdflEydOlM1m0549ewp92/mxZ88e2Ww2TZw40dW2fPlyjRo1SsePH8+xfnR0tK677rriK/AiTZ8+XY0aNZKfn59sNpvWrVunUaNGyWazFdk2Dxw4oFGjRmndunVFto1/+vDDD93G76zcxhYXrrR8zhWG830GdOrUSZ06dSr2moDyjOAElBEff/yxYmJi9Oeff+rhhx/Wjz/+qDlz5uiRRx7R5s2b1bp1a+3atcvqMiWdCU6jR4/OddnMmTP13HPPFer21q1bp7Vr10qSxo8fX6iPXVjCwsK0YsUK9ejRw9W2fPlyjR49OtcvTaXJ4cOHNXDgQNWpU0fz5s3TihUrVLdu3SLf7oEDBzR69GjLg1NuY4sLU5o+5wrD+T4DPvzwQ3344YfFXxRQjnlZXQCAi/f777/r/vvvV48ePfTtt9/K29vbtezKK6/UsGHD9M0338jPz8/CKvOnRYsWhf6Yn332mSSpR48emjNnjpYvX6727dsX+nYuRHZ2trKysuTj46O2bdtaXU6R2LFjhxwOhwYMGKCOHTtaXU6xK8tjW9jS0tLk7++f67Ky8Dl3vudXUA0bNiyUxwFQAAZAqde9e3djt9vNgQMHCnS/2NhY07NnT1OpUiXj4+NjmjdvbqZPn+62zoQJE4wks2jRIjN06FBTpUoVU7lyZdO7d2+zf//+HI85bdo007ZtW+Pv728CAgJM165dzZo1a1zLBw0aZCTl+IuLizPGGFOzZk0zaNAgt8c8duyYGT58uKlVq5bx9vY21apVM926dTNbt27N8zmePn3aVKpUycTExJgdO3YYSeauu+7Ksd7Z53m2DmOMcTqd5sUXXzRRUVHGx8fHxMTEmPnz55uOHTuajh07ut1/79695rbbbjPVqlUz3t7epn79+ub111832dnZrnXi4uKMJPPKK6+Y//3vfyY6Otp4enqan376ybVswoQJxhhjnn/++Vz7afHixa5+6tGjh/npp59MixYtjK+vr6lXr54ZP358rs/rl19+MXfffbepXLmyCQwMNAMHDjQnT540iYmJpm/fviY4ONiEhoaaxx57zGRmZubZr/mV23if7buzz/GfJJnnn38+x+Pk9rrYt2+fueeee0xERISx2+0mLCzM3HjjjSYpKcksXrw41/47+9i5jeHZemvWrOnWNmrUKNOmTRtTqVIlExgYaFq0aGE+++wz43Q63er797bOPs6/x/asX3/91Vx55ZWmQoUKxs/Pz7Rr1878+OOPbusU5P33yy+/mI4dO5rKlSsbX19fExkZafr06WNOnTqV43n+U3Z2tnnllVdMvXr1XO+vgQMHmoSEBNc6Dz/8sPH39zcpKSk57t+vXz8TEhLi9rrJ63PgbF8HBASYDRs2mC5dupgKFSqYtm3bnrPO0vQ5l9fzmz9/vrn++utNjRo1jI+Pj6lTp44ZMmSIOXz4sOv+eX0G5PYaTk5ONvfdd58JDw83drvd1KpVyzz99NMmPT3dbT1JZtiwYWbSpEmmfv36xs/PzzRt2tT88MMPbusdOnTI9R7z9vY2VatWNe3btzcLFiwo0BgAZQXBCSjlsrKyXF+6CmLRokXG29vbXH755Wb69Olm3rx5ZvDgwTm+4J39QlG7dm3z4IMPmp9//tl89tlnplKlSqZz585uj/niiy8am81m7rzzTvPjjz+aGTNmmHbt2pmAgACzefNmY4wxO3fuNDfddJORZFasWOH6O/sf+7+/IKempppGjRqZgIAAM2bMGPPzzz+b7777zjz88MNm0aJFeT7Pr776ykgyH3zwgTHGmMsuu8xUqFDBnDhxwm293ILTyJEjjSQzZMgQM2/ePPPpp5+aqKgoExYW5vaF5dChQ6ZGjRqmWrVqZty4cWbevHnmgQceMJLMfffd51rv7BfoGjVqmM6dO5tvv/3WzJ8/38TFxeX4cp2QkGAefPBBI8nMmDHD1U9nv7jWrFnTREREmIYNG5pJkyaZn3/+2fTt29dIMkuXLs3xvGrVqmUee+wxM3/+fPPKK68YT09Pc8stt5iWLVuaF154wSxYsMA8+eSTRpJ544038uzX/Nq5c6f54IMPjCTz0ksvmRUrVrheCxcTnPbt22fCwsJM1apVzZtvvmkWLlxopk+fbu68806zdetWk5KS4nruzz77rKv/zoaBggSnwYMHm/Hjx5sFCxaYBQsWmP/973/Gz8/PjB492rXOmjVrTO3atU2LFi1c2zr7RTq34LRkyRJjt9tNTEyMmT59upk1a5bp2rWrsdlsZtq0aa718vv+i4uLM76+vqZLly5m1qxZZsmSJearr74yAwcONMeOHTvfEJkhQ4YYSeaBBx4w8+bNM+PGjTPVqlUzkZGRri/y69evN5LMp59+6nbfY8eOGR8fHzN8+HBXW34+B872td1uN9HR0Wbs2LHml19+MT///HOuNZa2z7m8nt9HH31kxo4da2bPnm2WLl1qvvjiC9OsWTNTr149VwDN6zPg36/h06dPm6ZNm5qAgADz+uuvm/nz55vnnnvOeHl5me7du7s9B0kmOjratGnTxnz99ddm7ty5plOnTsbLy8vs2rXLtd4111xjqlWrZj755BOzZMkSM2vWLPPf//7X7TUKlCcEJ6CUS0pKMpJM//79cyzLysoyDofD9ffPX8jr169vWrRoYRwOh9t9rrvuOhMWFubaU3L2C8X999/vtt6rr75qJJnExERjjDHx8fHGy8vLPPjgg27rnThxwoSGhpp+/fq52oYNG5bjC/NZ//6CPGbMGCPpgn/hvPLKK42vr6/ry+PZ53OuPTNng9PRo0eNj4+Pufnmm93WW7FihdteE2OMeeqpp4wk8+eff7qte9999xmbzWa2b99ujPn7C3SdOnVy7NXJ7cv1a6+9liPMnVWzZk3j6+tr9u7d62o7ffq0qVy5srn33ntzPK9/j0uvXr2MJPPmm2+6tTdv3ty0bNkyx/Yuxtm9P998841b+8UEpzvvvNPY7XazZcuWc243NjY21z09xhQsOP1Tdna2cTgcZsyYMaZKlSpu76lGjRrl+pi5jW3btm1NSEiIW4DPysoyjRs3NhEREa7Hze/779tvvzWSzLp1685Ze262bt2a6+P/+eefRpJ5+umnXW0tW7Y07du3d1vvww8/NJLMxo0bjTEF+xw4uzfy888/z7PO0vg5l9/n53Q6jcPhMHv37jWSzPfff+9adr7PgH+/hseNG2ckma+//tptvVdeecVIMvPnz3e1STLVq1c3qamprrakpCTj4eFhxo4d62qrUKGCeeSRR85bP1CeMDkEUIbFxMTIbre7/t544w1J0s6dO7Vt2zbddtttkqSsrCzXX/fu3ZWYmKjt27e7Pdb111/vdrtp06aSpL1790qSfv75Z2VlZen22293ezxfX1917NhRS5YsuaDn8NNPP6lu3bq6+uqrC3zfuLg4LV68WH369FHFihUlSX379lVgYKA+//zz8973jz/+UEZGhvr16+fW3rZtW0VHR7u1LVq0SA0bNlSbNm3c2gcPHixjjBYtWuTWfv3118tutxf4+fxb8+bNFRUV5brt6+urunXrusbkn/49A1+DBg0kKceEBQ0aNMj1/v/kdDrdxjg7O/tCn8IF++mnn9S5c2fX8yhKixYt0tVXX63g4GB5enrKbrfrv//9r5KTk3Xo0KECP96pU6f0559/6qabblKFChVc7Z6enho4cKD27dtX4Pdf8+bN5e3trSFDhuiLL77Q7t2781XL4sWLJSnHTJZt2rRRgwYN9Msvv7ja7rjjDi1fvtyttgkTJqh169Zq3LixpAv7HLjxxhvzVeu5lPTPudye36FDhzR06FBFRkbKy8tLdrtdNWvWlCRt3br1gvph0aJFCggI0E033eTWfnZs/zmWktS5c2cFBga6blevXl0hISFu7/82bdpo4sSJeuGFF/THH3/I4XBcUG1AWUFwAkq5qlWrys/PL9cvu1OmTFFsbKxmz57t1n7w4EFJ0uOPP+72hcNut+v++++XJB05csTtPlWqVHG77ePjI0k6ffq022O2bt06x2NOnz49x+Pl1+HDhxUREXFB9/38889ljNFNN92k48eP6/jx43I4HLr++uv1+++/a9u2bee8b3JysqQzXyb+7d9tycnJCgsLy7FeeHi422Odldu6F+LfYyKdGZezY/JPlStXdrt99sT63NrT09PPu90xY8a4jW+dOnUKWvpFu5jXRUGsXLlSXbt2lSR9+umn+v333xUbG6tnnnlGknLt67wcO3ZMxpgCvWbyev/VqVNHCxcuVEhIiIYNG6Y6deqoTp06euedd85by9ntnKuWf9Zx2223ycfHxzVz4JYtWxQbG6s77rjDtU5BPwf8/f0VFBR03hql0vs5l9vzczqd6tq1q2bMmKERI0bol19+0cqVK/XHH3+4baugkpOTFRoammOK/5CQEHl5eeX5mjr7fP+5/enTp2vQoEH67LPP1K5dO1WuXFm33367kpKSLqhGoLRjVj2glPP09NSVV16p+fPnKzEx0e0L0NlZl/59baKqVatKkkaOHKk+ffrk+rj16tUrUB1nH/Pbb791/XJaGKpVq6Z9+/YV+H5Op9P1Be9cz/Hzzz/Xq6++muuys18qzn5R+qekpCS3vU5VqlRRYmJijvUOHDgg6e++Oasor11UHIYMGeK2B+vsl8vC4OPjo4yMjBzt//7Sd6Gvi7N8fX2VkpKSo/3fX3ynTZsmu92uH3/8Ub6+vq72WbNmXfC2K1WqJA8PjwK9ZvLj8ssv1+WXX67s7GytWrVK7733nh555BFVr15d/fv3z/U+Z1/niYmJOYLogQMH3OqoVKmSbrjhBk2aNEkvvPCCJkyYIF9fX91yyy2udQr6OZDf90Jp/ZzL7flt2rRJ69ev18SJEzVo0CBX+86dOwtUy79VqVJFf/75p4wxbts9dOiQsrKyLug1VbVqVb399tt6++23FR8fr9mzZ+upp57SoUOHNG/evIuqFyiN2OMElAEjR45Udna2hg4dmq9DKerVq6dLL71U69evV6tWrXL9++chHPlxzTXXyMvLS7t27TrnY571719xz6dbt27asWNHjsPd8vLzzz9r3759GjZsmBYvXpzjr1GjRpo0aZKysrJyvf9//vMf+fj4aPr06W7tf/zxR45fva+66ipt2bJFa9ascWufNGmSbDabOnfuXKDazypIPxWn8PBwt3Ft0qRJoT12dHS0NmzY4Na2aNEinTx50q2tW7duWrx4cY5Drf7pfP0XHR2tHTt2uIW05ORkLV++3G09m80mLy8veXp6utpOnz6tL7/8Mtft5WesAgIC9J///EczZsxwW9/pdGry5MmKiIi4qOtceXp66j//+Y8++OADScrxuvynK6+8UpI0efJkt/bY2Fht3bpVV111lVv7HXfcoQMHDmju3LmaPHmyevfu7ToMVirY50BBlbbPuXM5G2r+/YPDxx9/nGPdgnwGXHXVVTp58mSOUD9p0iTX8osRFRWlBx54QF26dDnvawooy9jjBJQBHTp00AcffKAHH3xQLVu21JAhQ9SoUSPXr9rfffedJLkdMvLxxx+rW7duuuaaazR48GDVqFFDR48e1datW7VmzRp98803BaohOjpaY8aM0TPPPKPdu3fr2muvVaVKlXTw4EGtXLlSAQEBrovenv2i/corr6hbt27y9PRU06ZN3a7LctYjjzyi6dOn64YbbtBTTz2lNm3a6PTp01q6dKmuu+66c4aS8ePHy8vLS08//bTr8Kd/uvfee/XQQw9pzpw5uuGGG3Isr1y5soYPH66xY8eqUqVK6t27t/bt26fRo0crLCxMHh5//+706KOPatKkSerRo4fGjBmjmjVras6cOfrwww913333XfCX4LP99M4772jQoEGy2+2qV69egb/slSYDBw7Uc889p//+97/q2LGjtmzZovfff1/BwcFu640ZM0Y//fSTrrjiCj399NNq0qSJjh8/rnnz5mn48OGqX7++6tSpIz8/P3311Vdq0KCBKlSooPDwcIWHh2vgwIH6+OOPNWDAAN1zzz1KTk7Wq6++muOwqh49eujNN9/UrbfeqiFDhig5OVmvv/56rnvZmjRpomnTpmn69OmqXbu2fH19zxkqx44dqy5duqhz5856/PHH5e3trQ8//FCbNm3S1KlTC7xXcty4cVq0aJF69OihqKgopaenu87jO9/5gfXq1dOQIUP03nvvycPDQ926ddOePXv03HPPKTIyUo8++qjb+l27dlVERITuv/9+JSUluR2mJxXsc6CgStvn3LmcfW0+9dRTMsaocuXK+uGHH7RgwYIc6xbkM+D222/XBx98oEGDBmnPnj1q0qSJfvvtN7300kvq3r17gc8TTUlJUefOnXXrrbeqfv36CgwMVGxsrObNm3fOPXhAmWfp1BQACtW6devMHXfcYWrVqmV8fHyMr6+vueSSS8ztt99ufvnllxzrr1+/3nUNFrvdbkJDQ82VV15pxo0b51rn7GxTsbGxbvc9O1Pa2WuKnDVr1izTuXNnExQUZHx8fEzNmjXNTTfdZBYuXOhaJyMjw9x9992mWrVqxmaz5es6Tg8//LCJiooydrvdhISEmB49epht27bl2g+HDx823t7eplevXufsq2PHjhk/Pz/Ts2dPt+f57+s4vfDCC65rmDRt2tT8+OOPplmzZqZ3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",
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "# Program Calculate_fluctuations.py\n",
        "# This program implements a genetic algorithm to match a binary string\n",
        "# and reports the successive values of M_t and eta_t = fluctuations.\n",
        "# The process is reproduced by a difference equation.\n",
        "# By Gemini 2.5\n",
        "\n",
        "import datetime\n",
        "import random\n",
        "import math\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "# target_sequence = 'Methinks it is like a weasel.'\n",
        "# alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "alphabet = '01'\n",
        "target_sequence = '1'*500\n",
        "length_of_target_sequence = len(target_sequence)\n",
        "population_size = 200\n",
        "# Include cloning of the fittest to build the next generation\n",
        "include_clone_population_eta = True\n",
        "# Include mutation\n",
        "include_mutate_all_eta = True\n",
        "# Include recombination\n",
        "include_crossover_all_eta = False\n",
        "mutation_rate = 0.01\n",
        "recombination_rate = 0.01\n",
        "# Boolean flag to print the generation, best chromosome and fitness.\n",
        "# This is the ancestral line of the solution.\n",
        "print_best_fitness = True\n",
        "show_graph = True\n",
        "\n",
        "\n",
        "def print_parameters_eta():\n",
        "    print(f\"Lab: Simple Genetic Algorithm\")\n",
        "    print(f\"Purpose: Calculate eta_t in the Shakespeare challenge\")\n",
        "    print(f\"Date of Experiment  = {datetime.datetime.now()}\")\n",
        "    print(f\"alphabet =  {alphabet}\")\n",
        "    print(f\"target_sequence = {target_sequence}\")\n",
        "    print(f\"length_of_target_sequence = {length_of_target_sequence}\")\n",
        "    print(f\"population_size = {population_size}\")\n",
        "    print(f\"include_clone_population_eta = {include_clone_population_eta}\")\n",
        "    print(f\"include_mutate_all_eta = {include_mutate_all_eta}\")\n",
        "    print(f\"include_crossover_all_eta = {include_crossover_all_eta}\")\n",
        "    if include_mutate_all_eta:\n",
        "        print(f\"mutation_rate = {mutation_rate}\")\n",
        "    if include_crossover_all_eta:\n",
        "        print(f\"recombination_rate = {recombination_rate}\")\n",
        "    if include_clone_population_eta:\n",
        "        print(f\"print_best_fitness = {print_best_fitness}\")\n",
        "\n",
        "\n",
        "def create_population_eta(population_size, target_sequence, alphabet):\n",
        "    \"\"\"Creates a new population with random chromosomes.\"\"\"\n",
        "    population = []\n",
        "    for _ in range(population_size):\n",
        "        random_string = ''.join(random.choice(alphabet) for _ in range(len(target_sequence)))\n",
        "        population.append(random_string)\n",
        "    return population\n",
        "\n",
        "def calculate_fitness_eta(chromosome, target_sequence):\n",
        "    \"\"\"Calculates the fitness of a chromosome based on its similarity to the target sequence.\"\"\"\n",
        "    fitness = 0\n",
        "    for i in range(len(chromosome)):\n",
        "        if chromosome[i] == target_sequence[i]:\n",
        "            fitness += 1\n",
        "    return fitness\n",
        "\n",
        "def calculate_all_fitness_eta(population, target_sequence):\n",
        "    \"\"\"Calculates the fitness of all chromosomes in the population.\"\"\"\n",
        "    fitness_scores = [calculate_fitness_eta(chromosome, target_sequence) for chromosome in population]\n",
        "    return fitness_scores\n",
        "\n",
        "def select_the_best_eta(population, target_sequence):\n",
        "    \"\"\"Selects the best chromosome for reproduction.\"\"\"\n",
        "    fitness_scores = calculate_all_fitness_eta(population, target_sequence)\n",
        "    best_fitness = max(fitness_scores)\n",
        "    best_chromosome_index = fitness_scores.index(best_fitness)\n",
        "    best_chromosome = population[best_chromosome_index]\n",
        "    return best_fitness, best_chromosome\n",
        "\n",
        "def clone_population_eta(best_chromosome, population_size):\n",
        "    \"\"\"Creates a new population by cloning the best chromosome.\"\"\"\n",
        "    return [best_chromosome] * population_size\n",
        "\n",
        "\n",
        "def mutate_eta(chromosome, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates a chromosome.\"\"\"\n",
        "    mutated_chromosome_list = list(chromosome)\n",
        "    for i in range(len(mutated_chromosome_list)):\n",
        "        if random.random() < mutation_rate:\n",
        "                mutated_chromosome_list[i] = random.choice(alphabet)\n",
        "    return \"\".join(mutated_chromosome_list)\n",
        "\n",
        "def mutate_all_eta(population, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates all chromosomes in the population.\"\"\"\n",
        "    mutated_population = []\n",
        "    for chromosome in population:\n",
        "        mutated_chromosome = mutate_eta(chromosome, mutation_rate, alphabet)\n",
        "        mutated_population.append(mutated_chromosome)\n",
        "    return mutated_population\n",
        "\n",
        "def crossover_eta(parent1, parent2, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover between two parent chromosomes.\"\"\"\n",
        "    if random.random() < recombination_rate:\n",
        "        crossover_point = random.randint(0, len(target_sequence))\n",
        "        return parent1[:crossover_point] + parent2[crossover_point:]\n",
        "    else:\n",
        "        return parent1\n",
        "\n",
        "def crossover_all_eta(population, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover on all chromosomes in the population.\"\"\"\n",
        "    recombinant_population = []\n",
        "    for i in range(len(population)):\n",
        "        parent1 =  population[i]\n",
        "        parent2 = random.choice(population)\n",
        "        child = crossover_eta(parent1, parent2, target_sequence, recombination_rate)\n",
        "        recombinant_population.append(child)\n",
        "    return recombinant_population\n",
        "\n",
        "\n",
        "def run_one_generation_eta(population, target_sequence, mutation_rate, recombination_rate, alphabet):\n",
        "    \"\"\"Runs one generation of the genetic algorithm.\"\"\"\n",
        "    best_fitness, best_chromosome  = select_the_best_eta(population, target_sequence)\n",
        "    new_population = []\n",
        "    if include_clone_population_eta:\n",
        "        new_population = clone_population_eta(best_chromosome, population_size)\n",
        "    if include_mutate_all_eta:\n",
        "        new_population = mutate_all_eta(new_population, mutation_rate, alphabet)\n",
        "    if include_crossover_all_eta:\n",
        "        new_population = crossover_all_eta(new_population, target_sequence, recombination_rate)\n",
        "    return best_fitness, best_chromosome, new_population\n",
        "\n",
        "\n",
        "def main_eta( target_sequence, mutation_rate, recombination_rate, alphabet):\n",
        "    print_parameters_eta()\n",
        "    population = create_population_eta(population_size, target_sequence, alphabet)\n",
        "    generation = 0\n",
        "    best_fitness_history = []\n",
        "    eta_history = []\n",
        "    recursive_prediction = []\n",
        "    best_fitness, best_chromosome = select_the_best_eta(population, target_sequence)\n",
        "    new_recurrent_prediction = best_fitness\n",
        "    best_fitness_history.append(best_fitness)\n",
        "    recursive_prediction.append(new_recurrent_prediction)\n",
        "\n",
        "    while best_fitness < len(target_sequence):\n",
        "        generation += 1\n",
        "        best_fitness, best_chromosome, population = run_one_generation_eta(population, target_sequence, mutation_rate, recombination_rate, alphabet)\n",
        "        M_t_plus_1 = best_fitness\n",
        "\n",
        "        # Calculate eta_t+1\n",
        "        # $ \\eta_{t+1} = M_{t+1} -  (1- \\mu) M_t - \\frac{1}{2} \\mu H $\n",
        "        eta_t_plus_1 = M_t_plus_1 - (1 - mutation_rate) * M_t_plus_1- (1/2) * mutation_rate * length_of_target_sequence\n",
        "        eta_history.append(eta_t_plus_1)\n",
        "        best_fitness_history.append(best_fitness)\n",
        "        print(f\"Generation {generation}: M_t = {M_t_plus_1}, eta_t+1 = {eta_t_plus_1:.4f}\")\n",
        "\n",
        "\n",
        "    print(f\"\\nTarget sequence matched in generation {generation}\")\n",
        "    print(f\"Final chromosome: {best_chromosome}\")\n",
        "    totalCost = population_size * generation\n",
        "    print(f\"Total cost = population size * number of generations: {totalCost}\")\n",
        "\n",
        "    if show_graph:\n",
        "        plt.figure(figsize=(10, 6))\n",
        "        plt.plot(range(0, generation + 1), best_fitness_history)\n",
        "        plt.xlabel('Generation')\n",
        "        plt.ylabel('Best Fitness ($M_t$)')\n",
        "        plt.title('Genetic Algorithm - Best Fitness over Generations')\n",
        "        plt.grid(True)\n",
        "        plt.show()\n",
        "\n",
        "        plt.figure(figsize=(10, 6))\n",
        "        plt.plot(range(1, generation + 1), eta_history)\n",
        "        plt.xlabel('Generation')\n",
        "        plt.ylabel('Fluctuations = eta_t+1')\n",
        "        plt.title('Genetic Algorithm - fluctuations over Generations')\n",
        "        plt.grid(True)\n",
        "        plt.show()\n",
        "\n",
        "\n",
        "main_eta( target_sequence, mutation_rate, recombination_rate, alphabet)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "**Exercise.** Run the previous program and redact your impressions.\n",
        ">\n",
        "> *Answer.* The program depicts the change over generations of the fluctuations in the number of matched sites in the best chromosome of each generation. We have two points of view. First. The silhouette of the graph is concave, as it is expected, assuming that the main component is the derivative of the fitness as a function of the generation number. Second. It was predicted by the previous additive model that, assuming that the process is mutation-driven, the magnitude of fluctuations grows from nearly 0 to a maximal value. The two visions seem to complement each other: at the start, the concave nature of the derivative dominates, but at the final stage, the mutation-driven process dominates. \n",
        "\n",
        "What is the cause of fluctuations?\n",
        "\n",
        "We have mentioned various factors. We tend to believe that selection of the fittest is the major factor (for our workable examples). Its effects have been captured by MAX, which was studied in the previous work.\n",
        "\n",
        "**Exercise.** Use MAX to formulate a concrete prediction of the value of fluctuations for our example and use the results of the simulation to test it. \n",
        ">\n",
        "*Answer* The parameters for the simulation were:\n",
        ">\n",
        ">length_of_target_sequence = 500 \n",
        ">\n",
        ">population_size = 200\n",
        ">\n",
        ">include_clone_population_eta = True\n",
        ">\n",
        ">include_mutate_all_eta = True\n",
        ">\n",
        ">include_crossover_all_eta = False\n",
        ">\n",
        ">mutation_rate = 0.01\n",
        "\n",
        "Thus, the number of monkeys is $m = 200$. The length of the target string is 500. The value of $n$ is not equal to the length of the target string but to the number of sites that are touched by mutation:\n",
        "\n",
        "$n = 500*0.01 = 5$\n",
        "\n",
        "Based on our simulations, we expect that 200 monkeys will fully optimize the available possibilities, with a maximum of 5. On the other hand, the corresponding prediction by MAX of the value of the fluctuations is the following:  \n",
        " \n",
        ">\n",
        ">  Mean of MAX = $\\mathbb{E}(MAX) = \\frac{n}{2} +  \\sqrt{\\frac{n}{k}\\ln m  }  $\n",
        "> \n",
        ">  where\n",
        "> \n",
        ">  $k = 24.9 n^{-1.18} + 2.53$\n",
        "> \n",
        "This formula predicts:\n",
        "\n",
        "$k = 24.9 n^{-1.18} + 2.53$\n",
        "\n",
        "$k = 24.9 \\times 5^{-1.18} + 2.53$\n",
        "\n",
        "$k = 24.9 \\times 0.14 + 2.53 = 6.01$\n",
        "\n",
        "Mean of MAX = $\\mathbb{E}(MAX) = \\frac{n}{2} +  \\sqrt{\\frac{n}{k}\\ln m  }  $\n",
        "\n",
        "$\\mathbb{E}(MAX) = \\frac{5}{2} +  \\sqrt{\\frac{5}{6.01}\\ln (200)  }  $\n",
        "\n",
        "$\\mathbb{E}(MAX) = 2.5 + \\sqrt{\\frac{5}{6.01} \\times 5.3 }$\n",
        "\n",
        "$\\mathbb{E}(MAX) = 2.5 + 2.1 = 4.7$\n",
        "\n",
        "*Protest.*  The values assigned by our previous mathematical work and by simulations of 4.7 and 5 for the magnitude of the fluctuations are quite close to each other.  But observed values grow from nearly 0.5 to 2.5. While the difference in numbers between predicted and observed may sound irrelevant, the observed behavior strongly contradicts the spirit of the prediction, which is a constant 5. To support this, let us reproduce an edited version of a program from the previous work. It reports the value of MAX for a task of matching a binary string 5 bits long using 200 monkeys or chromosomes. The number of repetitions was 200."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Maximum number of heads (out of 5 coins) from 200 draws over 100 trials:\n",
            "[5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]\n"
          ]
        },
        {
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAIhCAYAAAB5deq6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAABjIklEQVR4nO3dd3RU1d7G8WdCekIghBp6QHoo0kGlBqQLVooUKyjSriBYqVJUROUqKiAgUhVQFIHQQUE60q4i0g1GQAg1pOz3D1fmZUiZ5GTCjPD9rJW1mH32nPM7kz3DPDl79tiMMUYAAAAAgHR5ubsAAAAAAPB0BCcAAAAAcILgBAAAAABOEJwAAAAAwAmCEwAAAAA4QXACAAAAACcITgAAAADgBMEJAAAAAJwgOAEAAACAEwQn3FIzZsyQzWaTzWbTunXrUm03xqhs2bKy2Wxq3LhxjtZSqlQp9ezZM0ePcauVKlVKNptNvXv3TrVt3bp1stls+vLLL91QmdS4cWNVqVLFLce24oMPPlDZsmXl6+srm82m8+fPp9kvZUxv3749ze1t27ZVqVKlcq7QDAwfPlw2m80l+zp37pwee+wxFSxYUDabTQ888IBL9psT4uLiNGbMGDVu3FiFCxdWcHCwIiMjNX78eF27di1V/4SEBI0YMUKlSpWSn5+fKlSooA8++CDNff/+++/q1KmT8ubNq+DgYEVFRWnnzp2Zqqtx48b21z8vLy/lzp1bZcuW1cMPP6wvv/xSycnJ2Trvf5ujR4+qTZs2ypcvn2w2mwYMGJBu3xsfuxt/7r///kwfL2Vc1KpVSyEhIfLz81OpUqX0xBNPZPp3eKOU19S0/i+DtH//fj333HOqX7++goKCnD5W8+bNU/Xq1eXv76/w8HANGDBAly5dStXv0qVLGjBggMLDw+Xv76/q1atr3rx5GdZy9OjRNMdPWj9Hjx5Ncx/Zec9wO77fuFN5u7sA3Jly586tadOmpQpH69ev1+HDh5U7d+4cr2Hx4sUKCQnJ8eO4w7Rp0zRw4ECVL1/e3aX8K+3evVv9+vXTU089pR49esjb2/uWjElPNmrUKC1evFjTp09XmTJllC9fPneXlK7jx49r0qRJevzxxzVo0CAFBwdr48aNGj58uKKjoxUdHe0QKJ977jl9/vnnGjVqlGrXrq0VK1aof//+unjxol5++WV7v7/++kv33nuvQkNDNX36dPn7+2vs2LFq3Lixtm3blqnnW0REhL744gtJ0uXLl3XkyBEtWbJEDz/8sO69914tXbpUefLkcf2D4oEGDhyon376SdOnT1fhwoVVpEiRDPvf+NilyJs3b6aOdfjwYbVo0UKxsbHq3bu3RowYoeDgYB09elQLFixQzZo1df78+Sw99nfffbc2b96sSpUqZfo+d5Lt27dryZIlqlGjhpo1a6alS5em2/eLL75Qt27d9NRTT+ndd9/Vr7/+qpdeekkHDhzQypUrHfp26tRJ27Zt07hx41SuXDnNmTNHnTt3VnJysrp06ZLm/osUKaLNmzc7tD333HO6cOFCqjGV3ji8nd8zIAsMcAt99tlnRpJ56qmnTEBAgLlw4YLD9m7dupn69eubypUrm0aNGrmnyH+xkiVLmvr165s8efKYTp06OWxbu3atkWQWLlzoltoaNWpkKleunOPHuXLlSrb3MXv2bCPJ/PTTT077pozpbdu2pbm9TZs2pmTJktmuyYo33njDuOplvnnz5qZixYpO+yUmJppr16655JhWXbp0yVy6dClV+1tvvWUkmY0bN9rb9u3bZ2w2m3nzzTcd+j799NMmICDAnD171t42ePBg4+PjY44ePWpvu3DhgsmfP7955JFHnNaV0XNg+vTpRpLT/SQnJ7tkjHuCsmXLmlatWmWqb3ZePxITE01kZKQJCQkxe/fuTbPPsmXLzOXLly3t/06W0VhMSkqy/3vhwoVGklm7dm2qfomJiaZIkSKmRYsWDu1ffPGFkWSWLVtmb/vuu++MJDNnzhyHvlFRUSY8PNwkJiZmuvbMjilXPN9KlixpevToke39wP2Yqge36Ny5syRp7ty59rYLFy7oq6++0hNPPJHmfUaMGKG6desqX758CgkJ0d13361p06bJGGPvs2nTJvn4+OjFF190uG/KdKpp06bZ226+dJ4y7WLOnDl66aWXVKRIEQUHB6tdu3b6888/dfHiRT3zzDPKnz+/8ufPr169ejlMI0iZCjBjxoxUtdtsNg0fPtx+O2UK1c8//6yHH35YefLkUb58+TRo0CAlJibql19+0f3336/cuXOrVKlSmjBhQqYeV0nKly+fhg4dqkWLFmnLli0Z9u3Zs2ea08jSmuJls9nUt29fffbZZypfvrwCAgJUq1YtbdmyRcYYvfXWWypdurSCg4PVtGlT/fbbb2kec+PGjapXr54CAgJUtGhRvfbaa0pKSnLoc/36dY0ePVoVKlSQn5+fChQooF69eumvv/5y6FeqVCm1bdtWixYtUo0aNeTv768RI0ZkeM7Tp09XtWrV5O/vr3z58qljx446ePCgfXvjxo3VrVs3SVLdunVls9lcPsXCGKMPP/xQ1atXV0BAgEJDQ/XQQw/p999/d+gXHR2tDh06qFixYvL391fZsmX17LPP6syZM6n2+d1336l69ery8/NT6dKl9fbbb6d57IULF6pu3brKkyePAgMDFRERke5zTvr/cb1q1SodPHjQYaptyrYJEyZo9OjRKl26tPz8/LR27VpJ0jfffKP69esrMDBQuXPnVlRUVKq/+ubEcyEoKEhBQUGp2uvUqSNJOnHihL1tyZIlMsaoV69eDn179eqlq1evavny5fa2xYsXq2nTpipZsqS9LSQkRJ06ddLSpUuVmJjotLb09OrVS61bt9bChQt17Ngxe3vK827KlCmqWLGi/Pz8NHPmTEmZe00cPHiw8uTJ4/Ace+GFF2Sz2fTWW2/Z286ePSsvLy/7FMXk5GSNHj3a/lzPmzevqlatqvfee8/puRw/flzdunVTwYIF5efnp4oVK+qdd96xT0VMea397bff9P333zudIpVdS5Ys0d69ezVs2LB0pwu3atVKgYGB9tubNm1Ss2bNlDt3bgUGBqpBgwb67rvvHO6T1lS9nj17Kjg4WL/99ptat26t4OBgFS9eXP/5z38UHx/vcP+PPvpI1apVU3BwsHLnzq0KFSo4XOFMz7lz5/Tcc8+paNGi8vX1VUREhF555RWH/deoUUP33ntvqvsmJSWpaNGi6tSpk70tp15vvbwy9xZzy5YtiomJSfUcfPjhhxUcHKzFixfb2xYvXqzg4GA9/PDDDn179eqlP/74Qz/99FOmjpmejM7x5vcM165d03/+8x9Vr17d/rpVv359ff31106Pk53nF9zMrbENd5wb/zr/+OOPmzp16ti3ffTRRyYoKMjExcWlecWpZ8+eZtq0aSY6OtpER0ebUaNGmYCAADNixAiHfuPGjTOSzNdff22M+ecvyoGBgaZbt24O/W7+C1DKFZmSJUuanj17muXLl5spU6aY4OBg06RJExMVFWVefPFFs3LlSjN+/HiTK1cu88ILL9jvf+TIESPJfPbZZ6nOW5J544037LdTrgSUL1/ejBo1ykRHR5shQ4YYSaZv376mQoUK5v333zfR0dGmV69eRpL56quvnD6+JUuWNG3atDFXrlwxRYsWNffee2+q87vxilOPHj3SvBqS1pWKlMemQYMGZtGiRWbx4sWmXLlyJl++fGbgwIGmQ4cO5ttvvzVffPGFKVSokKlatapJTk62379Ro0YmLCzMhIeHm/fff9+sWLHC9OvXz0gyzz//vL1fUlKSuf/++01QUJAZMWKEiY6ONlOnTjVFixY1lSpVcvjrX8mSJU2RIkVMRESEmT59ulm7dq3ZunVruo/Pm2++aSSZzp07m++++87MmjXLREREmDx58phff/3VGGPM/v37zauvvmr/XW7evNn89ttv6e4zZUxv2bLFJCQkpPpp3bp1qsf46aefNj4+PuY///mPWb58uZkzZ46pUKGCKVSokDl9+rS930cffWTGjh1rvvnmG7N+/Xozc+ZMU61aNVO+fHlz/fp1e79Vq1aZXLlymXvuuccsWrTILFy40NSuXduUKFHC4ff4448/GpvNZh577DGzbNkys2bNGvPZZ5+Zxx9/PN3zu3btmtm8ebOpUaOGiYiIMJs3bzabN282Fy5csI/5okWLmiZNmpgvv/zSrFy50hw5csT+1+IWLVqYJUuWmPnz55uaNWsaX19fhys+OfVcSEvKsfbs2WNve+yxx0yBAgVS9b106ZKRZIYNG2aM+eevzjabzQwePDhV38mTJxtJ5pdffsnw+M7+wj1lyhQjyXz++ef2tpTHt2rVqmbOnDlmzZo1Zt++fcaYzL0mLl++3EgyP/74o72tQoUKJiAgwERFRdnb5s+fbySZAwcOGGOMGTt2rMmVK5d54403zOrVq83y5cvNpEmTzPDhwzM8x9jYWFO0aFFToEABM2XKFLN8+XLTt29fI8n06dPHGPPPVbrNmzebwoULm4YNG9rHVEZXKhs1amT8/f1NaGioyZUrl4mIiDAvv/xypq4GPPPMM0aSOXjwoNO+xhizbt064+PjY2rWrGnmz59vlixZYlq0aGFsNpuZN2+evV/Ka+qNV1F69OhhfH19TcWKFc3bb79tVq1aZV5//XVjs9kcfi9z5841kswLL7xgVq5caVatWmWmTJli+vXrl2FtV69eNVWrVjVBQUHm7bffNitXrjSvvfaa8fb2Nq1bt7b3e++9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cYj169erXbt2Klu2rO666y61b99eGzdudGVtAAAAAOARLAWn2bNnq3nz5goMDFS/fv3Ut29fBQQEqFmzZpozZ46rawQAAAAAt7I0VW/MmDGaMGGCBg4caG/r37+/Jk6cqFGjRqlLly4uKxAAAAAA3M3SFafff/9d7dq1S9Xevn37VAtHAAAAAMC/naXgVLx4ca1evTpV++rVq1W8ePFsFwUAAAAAnsTSVL3//Oc/6tevn3bv3q0GDRrIZrNp06ZNmjFjht577z1X1wgAAAAAbmUpOPXp00eFCxfWO++8owULFkiSKlasqPnz56tDhw4uLRAAAAAA3M1ScJKkjh07qmPHjq6sBQAAAAA8kuXvcXLGGJNTuwYAAACAWyrTwalixYqaM2eOrl+/nmG/Q4cOqU+fPho/fny2iwMAAAAAT5DpqXr//e9/9dJLL+n5559XixYtVKtWLYWHh8vf319///23Dhw4oE2bNunAgQPq27evnnvuuZysGwAAAABumUwHp6ZNm2rbtm368ccfNX/+fM2ZM0dHjx7V1atXlT9/ftWoUUPdu3dXt27dlDdv3hwsGQAAAABurSwvDtGgQQM1aNAgJ2oBAAAAAI+UY4tDAAAAAMDtguAEAAAAAE4QnAAAAADACYITAAAAADhBcAIAAAAAJywFp507d2rv3r32219//bUeeOABvfzyy06/IBcAAAAA/m0sBadnn31Wv/76qyTp999/12OPPabAwEAtXLhQQ4YMcWmBAAAAAOBuloLTr7/+qurVq0uSFi5cqPvuu09z5szRjBkz9NVXX7myPgAAAABwO0vByRij5ORkSdKqVavUunVrSVLx4sV15swZ11UHAAAAAB7AUnCqVauWRo8erc8//1zr169XmzZtJElHjhxRoUKFXFogAAAAALibpeA0adIk7dy5U3379tUrr7yismXLSpK+/PJLNWjQwKUFAgAAAIC7eVu5U9WqVR1W1Uvx1ltvKVeuXNkuCgAAAAA8iaXglB5/f39X7g4AAAAAPEKmg1NoaKhsNlum+p47d85yQQAAAADgaTIdnCZNmmT/99mzZzV69Gi1bNlS9evXlyRt3rxZK1as0GuvvebyIgEAAADAnTIdnHr06GH/94MPPqiRI0eqb9++9rZ+/fpp8uTJWrVqlQYOHOjaKgEAAADAjSytqrdixQrdf//9qdpbtmyp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++676tq1q/z9/fXuu++m289msxGcAAAAANxWMh2cjhw5kua/AQAAAOB2Z+kzTlevXk13W0xMjOViAAAAAMATWQpONWrU0M6dO1O1f/nll6patWq2iwIAAAAAT2IpOEVFRalBgwYaN26cjDG6dOmSevbsqR49euj11193dY0AAAAA4FaWvsfpgw8+UJs2bdSrVy999913+uOPPxQSEqJt27apUqVKrq4RAAAAANzKUnCSpBYtWqhTp0766KOP5O3traVLlxKaAAAAANyWLE3VO3z4sOrXr69vv/1WK1as0JAhQ9ShQwcNGTJECQkJrq4RAAAAANzKUnCqXr26SpcurT179igqKkqjR4/WmjVrtGjRItWpU8fVNQIAAACAW1kKTh9++KHmzZunvHnz2tsaNGigXbt26e6773ZVbQAAAADgESwFp8cffzzN9ty5c2vatGnZKggAAAAAPI3lxSEk6cCBAzp+/LiuX79ub7PZbGrXrl22CwMAAAAAT2EpOP3+++/q2LGj9u7dK5vNJmOMpH9CkyQlJSW5rkIAAAAAcDNLU/X69++v0qVL688//1RgYKD279+vDRs2qFatWlq3bp2LSwQAAAAA97J0xWnz5s1as2aNChQoIC8vL3l5eemee+7R2LFj1a9fP+3atcvVdQIAAACA21i64pSUlKTg4GBJUv78+fXHH39IkkqWLKlffvnFddUBAAAAgAewdMWpSpUq+vnnnxUREaG6detqwoQJ8vX11SeffKKIiAhX1wgAAAAAbmUpOL366qu6fPmyJGn06NFq27at7r33XoWFhWn+/PkuLRAAAAAA3M1ScGrZsqX93xERETpw4IDOnTun0NBQ+8p6AAAAAHC7yNb3ON0oX758rtoVAAAAAHiULAWnJ554IlP9pk+fbqkYAAAAAPBEWQpOM2bMUMmSJVWjRg37l94CAAAAwO0uS8Gpd+/emjdvnn7//Xc98cQT6tatG1P0AAAAANz2svQ9Th9++KFiYmL00ksvaenSpSpevLgeeeQRrVixgitQAAAAAG5bWf4CXD8/P3Xu3FnR0dE6cOCAKleurOeee04lS5bUpUuXcqJGAAAAAHCrLAenG9lsNtlsNhljlJyc7KqaAAAAAMCjZDk4xcfHa+7cuYqKilL58uW1d+9eTZ48WcePH1dwcHBO1AgAAAAAbpWlxSGee+45zZs3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efPm1YIFC9S4cWP5+/tr9uzZqabqHT58WB06dFChQoUUHBys2rVra9WqVVmupXz58mrSpIleffXVdPukNU1wyZIlstls9tvDhw9X9erVNX36dJUoUULBwcHq06ePkpKSNGHCBBUuXFgFCxbUmDFjUu0/JiZGrVq1UkBAgEqXLq2FCxc6bD916pQeffRRhYaGKiwsTB06dHC4GtazZ0898MADGjt2rMLDw1WuXLksPw4AANchOAEAbpmXXnpJ/fr108GDB9WyZctU2y9duqTWrVtr1apV2rVrl1q2bKl27drp+PHjWT7WuHHj9NVXX2nbtm3Zqvnw4cP6/vvvtXz5cs2dO1fTp09XmzZtdPLkSa1fv17jx4/Xq6++qi1btjjc77XXXtODDz6oPXv2qFu3burcubMOHjwoSbpy5YqaNGmi4OBgbdiwQZs2bVJwcLDuv/9+hytLq1ev1sGDBxUdHa1vv/02W+cBAMgeb3cXAAC4cwwYMECdOnVKd3u1atVUrVo1++3Ro0dr8eLF+uabb9S3b98sHevuu+/WI488oqFDh2r16tWWa05OTtb06dOVO3duVapUSU2aNNEvv/yiZcuWycvLS+XLl9f48eO1bt061atXz36/hx9+WE899ZQkadSoUYqOjtYHH3ygDz/8UPPmzZOXl5emTp1qv8L12WefKW/evFq3bp1atGghSQoKCtLUqVPl6+truX4AgGsQnAAAt0ytWrUy3H758mWNGDFC3377rf744w8lJibq6tWrlq44Sf8Er4oVK2rlypWWP0tVqlQp5c6d2367UKFCypUrl7y8vBzaYmNjHe5Xv379VLd3794tSdqxY4d+++03h/1K0rVr13T48GH77cjISEITAHgIghMA4JYJCgrKcPvgwYO1YsUKvf322ypbtqwCAgL00EMPWV4YoUyZMnr66ac1dOhQTZs2zWGbl5eXjDEObQkJCan24ePj43DbZrOl2ZacnOy0npSrS8nJyapZs6a++OKLVH0KFChg/7ezxwsAcOsQnAAAHmPjxo3q2bOnOnbsKOmfzzxld/nw119/XWXKlNG8efMc2gsUKKCLFy/q8uXL9oCSckXIFbZs2aLu3bs73K5Ro4akf6YRzp8/XwULFlRISIjLjgkAyDksDgEA8Bhly5bVokWLtHv3bu3Zs0ddunTJ1JWcjBQqVEiDBg3S+++/79Bet25dBQYG6uWXX9Zvv/2mOXPmaMaMGdk61o0WLlyo6dOn69dff9Ubb7yhrVu32j+n1bVrV+XPn18dOnTQxo0bdeTIEa1fv179+/fXyZMnXVYDAMB1CE4AAI/x7rvvKjQ0VA0aNFC7du3UsmVL3X333dne7+DBgxUcHOzQli9fPs2ePVvLli1TZGSk5s6dq+HDh2f7WClGjBihefPmqWrVqpo5c6a++OILVapUSZIUGBioDRs2qESJEurUqZMqVqyoJ554QlevXuUKFAB4KJu5eYI3AAAAAMABV5wAAAAAwAmCEwAAAAA4QXACAAAAACcITgAAAADgBMEJAAAAAJwgOAEAAACAEwQnAAAAAHCC4AQAAAAAThCcAAAAAMAJghMAAAAAOEFwAgAAAAAn/g9EwcA0LrbuvAAAAABJRU5ErkJggg==",
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "# Program fluctuations.py\n",
        "# This is MAX for coin draws.\n",
        "# By Gemini 2.5 and slight modifications by the Author.\n",
        "\n",
        "import random\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "def simulate_coin_draws(num_coins_per_draw):\n",
        "    \"\"\"Simulates drawing coins and returns the number of heads.\"\"\"\n",
        "    heads = 0\n",
        "    for _ in range(num_coins_per_draw):\n",
        "        if random.random() < 0.5:  # Simulate a coin flip (0.5 probability of heads)\n",
        "            heads += 1\n",
        "    return heads\n",
        "\n",
        "def get_max_heads(num_coins_per_draw, num_sets):\n",
        "    \"\"\"Repeats the coin draw simulation multiple times and returns the maximum number of heads.\"\"\"\n",
        "    max_heads = 0\n",
        "    for _ in range(num_sets):\n",
        "        heads = simulate_coin_draws(num_coins_per_draw) \n",
        "        if heads > max_heads:\n",
        "            max_heads = heads\n",
        "    return max_heads\n",
        "\n",
        "# Parameters for the simulation\n",
        "num_coins_per_draw = 5 #length of each string\n",
        "num_sets_of_draws = 200 #number of monkeys, which produce one MAX value.\n",
        "num_trials = 100 # repetitions\n",
        "\n",
        "# Run the simulation and store the maximum number of heads for each trial\n",
        "max_heads_history = []\n",
        "for _ in range(num_trials):\n",
        "    max_h = get_max_heads(num_coins_per_draw, num_sets_of_draws)\n",
        "    max_heads_history.append(max_h)\n",
        "print(f\"Maximum number of heads (out of {num_coins_per_draw} coins) from {num_sets_of_draws} draws over {num_trials} trials:\")\n",
        "print(max_heads_history)\n",
        "\n",
        "# Plot the results\n",
        "plt.figure(figsize=(10, 6))\n",
        "plt.plot(range(1, num_trials + 1), max_heads_history)\n",
        "plt.xlabel('Trial Number')\n",
        "plt.ylabel('Maximum Number of Heads (out of 10 coins)')\n",
        "plt.title(f'Maximum Number of Heads from {num_sets_of_draws} Draws of {num_coins_per_draw} Coins over {num_trials} Trials')\n",
        "plt.grid(True)\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "**Exercise.** Run the previous program and express your reaction: Does it support the expressed protest that 5 is quite different from an array of growing values from 0.5 to 2.5?\n",
        ">\n",
        "> *Answer* With one or zero exceptions among 200, MAX = 5. In the exception, the value is 4. There is no place for an array of growing values from 0.5 t0 2.5. \n",
        "\n",
        "In short, and to proceed further, our estimation of the magnitude of the fluctuations say that they are 5. \n",
        "\n",
        "**Exercise.** Use our estimation that gives to fluctuations the constant value 5 to reproduce the values of $M_t$, the number of matched sites. Compare this prediction with observed in a simulation. \n",
        ">\n",
        "> *Answer* We accept that the value of the fluctuations is constant\n",
        "> \n",
        "> $\\eta = 5$ \n",
        "> \n",
        "> The prediction for the initial number of correct sites  is:\n",
        ">\n",
        "> $M_0 = H/2$ \n",
        "> \n",
        "> This is half of $H$, the length of the target string.\n",
        "> \n",
        "> Actually, the number of correct sites in the created population can be measured and taken as $M_0$. On the other hand, the prediction for the future number of correct sites is\n",
        "> \n",
        ">$$ M_{t+1}  =  (1- \\mu) M_t + \\frac{1}{2} \\mu H + \\eta    \\tag{3}$$\n",
        "> \n",
        "> where $\\mu = $ mutation rate.\n",
        ">\n",
        "> This recursive equation is implemented in the following program. To compare the observed in a simulation with the predicted by this formula, the recursive equation begins with the observed value of $M_0$. \n",
        ">\n",
        "> "
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Lab: Simple Genetic Algorithm\n",
            "Purpose: Calculate eta_t in the Shakespeare challenge\n",
            "Date of Experiment  = 2026-02-09 11:14:18.073364\n",
            "alphabet =  01\n",
            "target_sequence = 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111\n",
            "length_of_target_sequence = 500\n",
            "population_size = 200\n",
            "include_clone_population_eta2 = True\n",
            "include_mutate_all_eta2 = True\n",
            "include_crossover_all_eta2 = False\n",
            "mutation_rate = 0.01\n",
            "print_best_fitness = True\n",
            "Fluctuations = 3.8\n",
            "Generation 1: M_t = 279, eta_t+1 = 0.2900\n",
            "Generation 2: M_t = 283, eta_t+1 = 0.3300\n",
            "Generation 3: M_t = 288, eta_t+1 = 0.3800\n",
            "Generation 4: M_t = 292, eta_t+1 = 0.4200\n",
            "Generation 5: M_t = 295, eta_t+1 = 0.4500\n",
            "Generation 6: M_t = 299, eta_t+1 = 0.4900\n",
            "Generation 7: M_t = 304, eta_t+1 = 0.5400\n",
            "Generation 8: M_t = 307, eta_t+1 = 0.5700\n",
            "Generation 9: M_t = 311, eta_t+1 = 0.6100\n",
            "Generation 10: M_t = 314, eta_t+1 = 0.6400\n",
            "Generation 11: M_t = 318, eta_t+1 = 0.6800\n",
            "Generation 12: M_t = 323, eta_t+1 = 0.7300\n",
            "Generation 13: M_t = 328, eta_t+1 = 0.7800\n",
            "Generation 14: M_t = 332, eta_t+1 = 0.8200\n",
            "Generation 15: M_t = 336, eta_t+1 = 0.8600\n",
            "Generation 16: M_t = 339, eta_t+1 = 0.8900\n",
            "Generation 17: M_t = 342, eta_t+1 = 0.9200\n",
            "Generation 18: M_t = 345, eta_t+1 = 0.9500\n",
            "Generation 19: M_t = 349, eta_t+1 = 0.9900\n",
            "Generation 20: M_t = 352, eta_t+1 = 1.0200\n",
            "Generation 21: M_t = 354, eta_t+1 = 1.0400\n",
            "Generation 22: M_t = 359, eta_t+1 = 1.0900\n",
            "Generation 23: M_t = 361, eta_t+1 = 1.1100\n",
            "Generation 24: M_t = 364, eta_t+1 = 1.1400\n",
            "Generation 25: M_t = 367, eta_t+1 = 1.1700\n",
            "Generation 26: M_t = 370, eta_t+1 = 1.2000\n",
            "Generation 27: M_t = 373, eta_t+1 = 1.2300\n",
            "Generation 28: M_t = 375, eta_t+1 = 1.2500\n",
            "Generation 29: M_t = 378, eta_t+1 = 1.2800\n",
            "Generation 30: M_t = 382, eta_t+1 = 1.3200\n",
            "Generation 31: M_t = 384, eta_t+1 = 1.3400\n",
            "Generation 32: M_t = 386, eta_t+1 = 1.3600\n",
            "Generation 33: M_t = 390, eta_t+1 = 1.4000\n",
            "Generation 34: M_t = 393, eta_t+1 = 1.4300\n",
            "Generation 35: M_t = 395, eta_t+1 = 1.4500\n",
            "Generation 36: M_t = 397, eta_t+1 = 1.4700\n",
            "Generation 37: M_t = 399, eta_t+1 = 1.4900\n",
            "Generation 38: M_t = 402, eta_t+1 = 1.5200\n",
            "Generation 39: M_t = 403, eta_t+1 = 1.5300\n",
            "Generation 40: M_t = 405, eta_t+1 = 1.5500\n",
            "Generation 41: M_t = 407, eta_t+1 = 1.5700\n",
            "Generation 42: M_t = 410, eta_t+1 = 1.6000\n",
            "Generation 43: M_t = 413, eta_t+1 = 1.6300\n",
            "Generation 44: M_t = 415, eta_t+1 = 1.6500\n",
            "Generation 45: M_t = 417, eta_t+1 = 1.6700\n",
            "Generation 46: M_t = 420, eta_t+1 = 1.7000\n",
            "Generation 47: M_t = 422, eta_t+1 = 1.7200\n",
            "Generation 48: M_t = 424, eta_t+1 = 1.7400\n",
            "Generation 49: M_t = 425, eta_t+1 = 1.7500\n",
            "Generation 50: M_t = 427, eta_t+1 = 1.7700\n",
            "Generation 51: M_t = 429, eta_t+1 = 1.7900\n",
            "Generation 52: M_t = 431, eta_t+1 = 1.8100\n",
            "Generation 53: M_t = 434, eta_t+1 = 1.8400\n",
            "Generation 54: M_t = 436, eta_t+1 = 1.8600\n",
            "Generation 55: M_t = 437, eta_t+1 = 1.8700\n",
            "Generation 56: M_t = 439, eta_t+1 = 1.8900\n",
            "Generation 57: M_t = 441, eta_t+1 = 1.9100\n",
            "Generation 58: M_t = 443, eta_t+1 = 1.9300\n",
            "Generation 59: M_t = 445, eta_t+1 = 1.9500\n",
            "Generation 60: M_t = 447, eta_t+1 = 1.9700\n",
            "Generation 61: M_t = 449, eta_t+1 = 1.9900\n",
            "Generation 62: M_t = 450, eta_t+1 = 2.0000\n",
            "Generation 63: M_t = 453, eta_t+1 = 2.0300\n",
            "Generation 64: M_t = 455, eta_t+1 = 2.0500\n",
            "Generation 65: M_t = 456, eta_t+1 = 2.0600\n",
            "Generation 66: M_t = 458, eta_t+1 = 2.0800\n",
            "Generation 67: M_t = 461, eta_t+1 = 2.1100\n",
            "Generation 68: M_t = 462, eta_t+1 = 2.1200\n",
            "Generation 69: M_t = 463, eta_t+1 = 2.1300\n",
            "Generation 70: M_t = 466, eta_t+1 = 2.1600\n",
            "Generation 71: M_t = 467, eta_t+1 = 2.1700\n",
            "Generation 72: M_t = 468, eta_t+1 = 2.1800\n",
            "Generation 73: M_t = 468, eta_t+1 = 2.1800\n",
            "Generation 74: M_t = 469, eta_t+1 = 2.1900\n",
            "Generation 75: M_t = 470, eta_t+1 = 2.2000\n",
            "Generation 76: M_t = 471, eta_t+1 = 2.2100\n",
            "Generation 77: M_t = 472, eta_t+1 = 2.2200\n",
            "Generation 78: M_t = 473, eta_t+1 = 2.2300\n",
            "Generation 79: M_t = 474, eta_t+1 = 2.2400\n",
            "Generation 80: M_t = 475, eta_t+1 = 2.2500\n",
            "Generation 81: M_t = 475, eta_t+1 = 2.2500\n",
            "Generation 82: M_t = 477, eta_t+1 = 2.2700\n",
            "Generation 83: M_t = 478, eta_t+1 = 2.2800\n",
            "Generation 84: M_t = 479, eta_t+1 = 2.2900\n",
            "Generation 85: M_t = 480, eta_t+1 = 2.3000\n",
            "Generation 86: M_t = 480, eta_t+1 = 2.3000\n",
            "Generation 87: M_t = 481, eta_t+1 = 2.3100\n",
            "Generation 88: M_t = 482, eta_t+1 = 2.3200\n",
            "Generation 89: M_t = 482, eta_t+1 = 2.3200\n",
            "Generation 90: M_t = 483, eta_t+1 = 2.3300\n",
            "Generation 91: M_t = 484, eta_t+1 = 2.3400\n",
            "Generation 92: M_t = 486, eta_t+1 = 2.3600\n",
            "Generation 93: M_t = 487, eta_t+1 = 2.3700\n",
            "Generation 94: M_t = 488, eta_t+1 = 2.3800\n",
            "Generation 95: M_t = 489, eta_t+1 = 2.3900\n",
            "Generation 96: M_t = 489, eta_t+1 = 2.3900\n",
            "Generation 97: M_t = 490, eta_t+1 = 2.4000\n",
            "Generation 98: M_t = 491, eta_t+1 = 2.4100\n",
            "Generation 99: M_t = 492, eta_t+1 = 2.4200\n",
            "Generation 100: M_t = 492, eta_t+1 = 2.4200\n",
            "Generation 101: M_t = 493, eta_t+1 = 2.4300\n",
            "Generation 102: M_t = 493, eta_t+1 = 2.4300\n",
            "Generation 103: M_t = 493, eta_t+1 = 2.4300\n",
            "Generation 104: M_t = 494, eta_t+1 = 2.4400\n",
            "Generation 105: M_t = 494, eta_t+1 = 2.4400\n",
            "Generation 106: M_t = 494, eta_t+1 = 2.4400\n",
            "Generation 107: M_t = 494, eta_t+1 = 2.4400\n",
            "Generation 108: M_t = 494, eta_t+1 = 2.4400\n",
            "Generation 109: M_t = 495, eta_t+1 = 2.4500\n",
            "Generation 110: M_t = 496, eta_t+1 = 2.4600\n",
            "Generation 111: M_t = 496, eta_t+1 = 2.4600\n",
            "Generation 112: M_t = 496, eta_t+1 = 2.4600\n",
            "Generation 113: M_t = 496, eta_t+1 = 2.4600\n",
            "Generation 114: M_t = 496, eta_t+1 = 2.4600\n",
            "Generation 115: M_t = 496, eta_t+1 = 2.4600\n",
            "Generation 116: M_t = 497, eta_t+1 = 2.4700\n",
            "Generation 117: M_t = 497, eta_t+1 = 2.4700\n",
            "Generation 118: M_t = 497, eta_t+1 = 2.4700\n",
            "Generation 119: M_t = 497, eta_t+1 = 2.4700\n",
            "Generation 120: M_t = 497, eta_t+1 = 2.4700\n",
            "Generation 121: M_t = 497, eta_t+1 = 2.4700\n",
            "Generation 122: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 123: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 124: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 125: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 126: M_t = 498, eta_t+1 = 2.4800\n",
            "Generation 127: M_t = 499, eta_t+1 = 2.4900\n",
            "Generation 128: M_t = 499, eta_t+1 = 2.4900\n",
            "Generation 129: M_t = 499, eta_t+1 = 2.4900\n",
            "Generation 130: M_t = 499, eta_t+1 = 2.4900\n",
            "Generation 131: M_t = 499, eta_t+1 = 2.4900\n",
            "Generation 132: M_t = 499, eta_t+1 = 2.4900\n",
            "Generation 133: M_t = 499, eta_t+1 = 2.4900\n",
            "Generation 134: M_t = 499, eta_t+1 = 2.4900\n",
            "Generation 135: M_t = 499, eta_t+1 = 2.4900\n",
            "Generation 136: M_t = 499, eta_t+1 = 2.4900\n",
            "Generation 137: M_t = 499, eta_t+1 = 2.4900\n",
            "Generation 138: M_t = 499, eta_t+1 = 2.4900\n",
            "Generation 139: M_t = 500, eta_t+1 = 2.5000\n",
            "\n",
            "Target sequence matched in generation 139\n",
            "Final chromosome: 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111\n",
            "Total cost = population size * number of generations: 27800\n"
          ]
        },
        {
          "data": {
            "image/png": "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E6NWr16tpk+frt56660H9lFqaqqqWrWqcnR0VJ988omKiYlRH374obKyslLt2rUzbPfFF18oQB09etRo/xUrVihA/fHHHwU6p+zX1NfXV5UrV059//33at26dWrbtm25tvPff/9VgBoxYsQDz+de+bk2KWX6Psvr/N5++231zTffqJUrV6q1a9eqzz//XHl6eqr+/fsb9j9w4IBq1KiR8vHxMbpmZgPU6NGjDcuHDx9Wzs7Oqnz58mrevHlq+fLlqmfPnoa/7Wzr1q1TgCpbtqzq3bu3Wr58uVq4cKEKDAxUISEhKjMzUyml1K1bt5SHh4eqXbu2+umnn9SGDRvU4sWL1WuvvaYOHjxYoH5QKuf14O5/d7v3syC3a/Td57Fu3TpD2cyZM5VGo1FNmzZVCxYsUKtXr1bTpk1Tb7zxhlLqwZ9D916L73bva71hwwY1bNgw9csvv6gNGzaopUuXqi5duih7e3t1+PBhpVTe14nRo0ere792vvLKKwpQgwYNUitXrlTTp09XpUuXVgEBAery5cuG7SIjI5WHh4cKCQlR06dPV7GxseqNN95QgJo7d26efZGZmZmjD3L7l5WVleex7j5mWlqaOnTokOrcubPy8vJSZ8+ezXO/wYMHKycnJ7V06VKVlJSkTp06pXr27Knc3d3VsWPH8l2/ME8SWIlHRkJCggLUc889l2PdvRfN7C+HSikVGhqqatSokePDrEOHDsrX19dwIc3+QMj+QMo2adIkBaj4+HillFJnz55VVlZW6s033zTa7ubNm8rHx0f16NHDUDZw4MAcHyTZ7v0wHTt2rAJUbGxsPl6NnJo3b67s7OwMXzyzz2fWrFlG2937oX3t2jVla2urnn32WaPtNm/erACjwOr9999XgNq6davRtq+//rrSaDTqyJEjSqk7X9zLly+vMjIyjLbN7cN88uTJuX6RUEr/OtnZ2akzZ84YylJTU1WpUqXUq6++muO87u2XLl26KEB99tlnRuXVq1dXNWvWzFFfUWS34d5/tra2atq0aUbbZgcGv/76q1H59u3bFWDY/pdfflGA2r17933rvXz5co4vQg+S3Qe5/cv++7v37zO7Xbl9Cevbt68C1E8//WRU3q5dO1WpUqViOedBgwYpNze3fJ3v3aZPn55rWz/++GMFqJiYGKWUUleuXFE2Njbqgw8+MNquR48eytvb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duxYgoKCWL58OdOmTeP1118v9LMj2a/TF198Qd++fbG2tqZSpUo5fg1/VOzfv5/MzExA/+vvkiVLiI2NpWvXrgQHBwPw3HPPMX/+fNq1a8fgwYOpW7cu1tbWnD9/nnXr1tG5c2e6du3K9OnTWbt2Le3btycwMJC0tDTDc3PZz+M5OzsTFBTE77//TosWLShVqhSenp65DtssrPLly2Nvb8/8+fMJCwvDycmpwIGnKc95wIAB2Nvb06hRI3x9fUlISGDixIm4urredygcQJ8+ffj666/p27cvp0+fJiIign/++YcJEybQrl27HM84vvjii3z88cf06tULe3t7nn322UKdU2G89957HD58mPfff5+NGzfy7LPPUrZsWdLT0zl58iQzZ87E0tISBwcHoGDXpvwyxfm1atUKGxsbevbsybvvvktaWhrffPMN169fz7FtREQES5Ys4ZtvvqFWrVpYWFjcdxjd6NGjWbZsGc2aNWPUqFGUKlWK+fPns3z5ciZNmpQjpXVeli1bxrRp0+jSpQvlypVDKcWSJUu4ceOG0fDS7Lsf2e9xU6tTpw6VKlVi+PDhZGZm4u7uztKlS/nnn3+MtnNycuLTTz/l5ZdfpmXLlgwYMABvb2+OHz/Onj17DM90Puhz6Pnnn+f777+nfPnyVKtWjW3btrFgwYIcberQoQNz5swhNDSUqlWrEhcXx+TJk3MEAgW5TlSqVIlXXnmFqVOnYmFhQdu2bTl9+jQffvghAQEBvP3226Z6SQs8MuV+kpKSaNWqFb169SIkJAR7e3uOHj3KF198QXp6OqNHjzba3srKisjISMPzYk899RR16tQhOjqalJQUmjRpQlJSElOnTuXUqVP88MMPJmmnKEEllzdDiMLbvXu36t+/vwoODla2trbKzs5OVahQQfXp00etWbMmx/Z79uxRPXr0UF5eXsra2lr5+Pio5s2bG2Xcys7EtH37dqN9c0txq5RSv/32m2rWrJlycXFRtra2KigoSHXv3l2tXr3asE16erp6+eWXVenSpZVGozHK9HRvJiillLp+/boaPHiwCgwMVNbW1srLy0u1b9/ekM72XpcvX1Y2NjaqS5cu932trl+/ruzt7VXHjh2NzvPujFM6nU6NGzdOlSlTRtnY2KiqVauqZcuWqWrVqqmuXbsaHe/MmTOqV69eysPDQ1lbW6tKlSqp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6d+/P0lJSYY7UNHR0fdti0ajMbQl+5+9vb3RUMDo6Gjmzp3L77//bjjm+vXrOX36NBqNhiVLltCsWTMcHByoVq0amzdvNqojr9dx2rRphISEYGdnh7e3N927dzes++WXX4iIiMDe3h4PDw9atmxptK8QQgghxJPIbO5YPapStVlUHrWqROo+OLY1DjZ5d+G1a9dYtWoV48ePx97e3midj48PvXv3ZvHixUybNs2Q5W7y5Ml88MEHREdHs2rVKt5++21CQ0Np1aoVv/zyC59//jmLFi0iPDychIQEowCjf//+nD59mkWLFuHn58fSpUtp06YN+/btIyQkBNCnrpw4cSIzZ87Ew8ODMmXKMHr0aH799VdeeuklQH8n66effmLs2LEA7Nu3j9atW/PRRx8xa9YsLl++zKBBgxg0aBCzZ88G9MPjzp07x9q1a7GxseGtt94iMTGxQK9renq6IfirVKkSoA+g27dvT6lSpVi2bBmWlpYsWLCAFi1acPToUUqVKkXv3r2pUaMG33zzDZaWluzevRtra2saNmzIlClTGDVqlOFOVFHvPA0fPpxDhw6RnJxsOPdSpUpx8eJFAEaOHMknn3xCSEgII0eOpGfPnhw/fhwrK6s8X8cdO3bw1ltv8cMPP9CwYUOuXbvG33//DeifW+zZsyeTJk2ia9eu3Lx5k7///rtAQb4QQgghxONIAqsnwLFjx1BKERYWluv6sLAwrl+/zuXLlw0TLjdq1Ij3338fgIoVK/Lvv//y+eef06pVK86ePYuPjw8tW7bE2tqawMBA6tatC8CJEydYuHAh58+fx8/PD9AHAStXrmT27NlMmDAB0KfMnDZtGtWqVTO049lnn2XBggWGwGrNmjVcv36dZ555BtAHe7169WLIkCEAhISE8OWXXxIZGck333zD2bNnDcMa69WrB8CsWbPue95327dvnyHYSUlJwdnZmcWLFxvSaq5bt459+/aRmJiItbU1ycnJTJ48md9//51ffvmFV155hbNnz/LOO+8QGhpqaF82V1dXw52ovCQlJRkFXk5OTiQkJBht4+TkhL29Penp6bkec/jw4bRv3x6AMWPGEB4ezvHjxwkNDc3X6+jo6EiHDh1wdnYmKCiIGjVqAPrAKjMzk27duhEUFARAREREnuckhBBCCPG4k8CqiOytLTk4tnWxHV+n03Ez+SbOLs45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iIiIiIg70qyA7s7s5+oKRERERETkNhSsREREREREcknBSkREREREJJcUrERERERERHJJwUpERERERCSXFKxERERERERyScFKREREREQklxSsREREREREcknBSkREREREJJcUrERERERERHJJwUpERERERCSXFKxERERERERyScFKREREREQklxSsREREREREcknBSkREREREJJcUrERERERERHJJwUpERERERCSXFKxERERERERyycvVBbgbwzAAiI+Pd3ElDlarlaSkJOLj4zGbza4uR1BP3JF64p7UF/ejnrgf9cQ9qS/ux1U9+W8m+G9GuBUFq79JSEgAoGzZsi6uRERERERE3EFCQgLBwcG3HGMyshK/ihC73c7Zs2cJDAzEZDK5uhzi4+MpW7Ysp06dIigoyNXlCOqJO1JP3JP64n7UE/ejnrgn9cX9uKonhmGQkJBAREQEHh63votKZ6z+xsPDgzJlyri6jOsEBQXpg+1m1BP3o564J/XF/agn7kc9cU/qi/txRU9ud6bqvzR5hYiIiIiISC4pWImIiIiIiOSSgpWbs1gsjB8/HovF4upS5C/qiftRT9yT+uJ+1BP3o564J/XF/RSEnmjyChERERERkVzSGSsREREREZFcUrASERERERHJJQUrERERERGRXFKwEhERERERySUFKzf2/vvvU7FiRXx8fGjYsCEbNmxwdUlFxpQpU2jcuDGBgYGEhobSo0cPDh48mGmMYRhMmDCBiIgIfH19adOmDfv27XNRxUXPlClTMJlMjBgxImOdeuIaZ86coX///pQsWRI/Pz/q1atHdHR0xnb1JX+lp6fzyiuvULFiRXx9falUqRITJ07EbrdnjFFP8t4vv/xC165diYiIwGQysXz58kzbs9KD1NRUhg0bRkhICP7+/nTr1o3Tp0/n47soXG7VE6vVyujRo6lTpw7+/v5EREQwcOBAzp49m+kY6olz3e5z8r+GDh2KyWRi+vTpmda7U08UrNzU4sWLGTFiBOPGjWPHjh3cfffddOrUiZMnT7q6tCJh/fr1PPPMM/z++++sXr2a9PR0OnTowLVr1zLGvPXWW7z77rvMmjWLrVu3EhYWRvv27UlISHBh5UXD1q1b+fDDD4mMjMy0Xj3Jf1euXKFFixaYzWZ++OEH9u/fzzvvvEOxYsUyxqgv+evNN99kzpw5zJo1iz/++IO33nqLt99+m5kzZ2aMUU/y3rVr16hbty6zZs264fas9GDEiBEsW7aMqKgoNm7cSGJiIl26dMFms+XX2yhUbtWTpKQktm/fzquvvsr27dtZunQphw4dolu3bpnGqSfOdbvPyX8tX76czZs3ExERcd02t+qJIW6pSZMmxlNPPZVpXfXq1Y0xY8a4qKKiLTY21gCM9evXG4ZhGHa73QgLCzOmTp2aMSYlJcUIDg425syZ46oyi4SEhASjatWqxurVq43WrVsbw4cPNwxDPXGV0aNHGy1btrzpdvUl/91///3GY489lmldz549jf79+xuGoZ64AmAsW7YsYzkrPbh69aphNpuNqKiojDFnzpwxPDw8jJUrV+Zb7YXV33tyI1u2bDEA48SJE4ZhqCd57WY9OX36tFG6dGlj7969Rvny5Y1p06ZlbHO3nuiMlRtKS0sjOjqaDh06ZFrfoUMHNm3a5KKqira4uDgASpQoAcCxY8c4d+5cph5ZLBZat26tHuWxZ555hvvvv5927dplWq+euMY333xDo0aNePjhhwkNDaV+/fp89NFHGdvVl/zXsmVLfvrpJw4dOgTArl272LhxI507dwbUE3eQlR5ER0djtVozjYmIiKB27drqUz6Ji4vDZDJlnIFXT/Kf3W5nwIABjBo1ilq1al233d164pXvryi3dfHiRWw2G6VKlcq0vlSpUpw7d85FVRVdhmHwwgsv0LJlS2rXrg2Q0Ycb9ejEiRP5XmNRERUVxfbt29m6det129QT1zh69CizZ8/mhRdeYOzYsWzZsoXnnnsOi8XCwIED1RcXGD16NHFxcVSvXh1PT09sNhuTJk2iT58+gD4r7iArPTh37hze3t4UL178ujH6LpD3UlJSGDNmDH379iUoKAhQT1zhzTffxMvLi+eee+6G292tJwpWbsxkMmVaNgzjunWS95599ll2797Nxo0br9umHuWfU6dOMXz4cFatWoWPj89Nx6kn+ctut9OoUSMmT54MQP369dm3bx+zZ89m4MCBGePUl/yzePFiFi5cyKJFi6hVqxY7d+5kxIgRREREMGjQoIxx6onr5aQH6lPes1qt9O7dG7vdzvvvv3/b8epJ3oiOjmbGjBls374923++ruqJLgV0QyEhIXh6el6XtGNjY6/73y3JW8OGDeObb75h7dq1lClTJmN9WFgYgHqU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",
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "# Program Calculate_fluctuations2.py\n",
        "# This program implements a genetic algorithm to match a binary string\n",
        "# and reports the successive values of M_t and eta_t = fluctuations.\n",
        "# The process is reproduced by a difference equation.\n",
        "# Coworking with Gemini. \n",
        "\n",
        "import datetime\n",
        "import random\n",
        "import math\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "# target_sequence = 'Methinks it is like a weasel.'\n",
        "# alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "alphabet = '01'\n",
        "target_sequence = '1'*500\n",
        "length_of_target_sequence = len(target_sequence)\n",
        "population_size = 200\n",
        "# Include cloning of the fittest to build the next generation\n",
        "include_clone_population_eta2 = True\n",
        "# Include mutation\n",
        "include_mutate_all_eta2 = True\n",
        "# Include recombination\n",
        "include_crossover_all_eta2 = False\n",
        "mutation_rate = 0.01\n",
        "recombination_rate = 0.01\n",
        "fluctuation = 3.8\n",
        "# Boolean flag to print the generation, best chromosome and fitness.\n",
        "# This is the ancestral line of the solution.\n",
        "print_best_fitness = True\n",
        "show_graph = True\n",
        "\n",
        "\n",
        "def print_parameters_eta2():\n",
        "    print(f\"Lab: Simple Genetic Algorithm\")\n",
        "    print(f\"Purpose: Calculate eta_t in the Shakespeare challenge\")\n",
        "    print(f\"Date of Experiment  = {datetime.datetime.now()}\")\n",
        "    print(f\"alphabet =  {alphabet}\")\n",
        "    print(f\"target_sequence = {target_sequence}\")\n",
        "    print(f\"length_of_target_sequence = {length_of_target_sequence}\")\n",
        "    print(f\"population_size = {population_size}\")\n",
        "    print(f\"include_clone_population_eta2 = {include_clone_population_eta2}\")\n",
        "    print(f\"include_mutate_all_eta2 = {include_mutate_all_eta2}\")\n",
        "    print(f\"include_crossover_all_eta2 = {include_crossover_all_eta2}\")\n",
        "    if include_mutate_all_eta2:\n",
        "        print(f\"mutation_rate = {mutation_rate}\")\n",
        "    if include_crossover_all_eta2:\n",
        "        print(f\"recombination_rate = {recombination_rate}\")\n",
        "    if include_clone_population_eta2:\n",
        "        print(f\"print_best_fitness = {print_best_fitness}\")\n",
        "    print(f\"Fluctuations = {fluctuation}\")\n",
        "\n",
        "\n",
        "def create_population_eta2(population_size, target_sequence, alphabet):\n",
        "    \"\"\"Creates a new population with random chromosomes.\"\"\"\n",
        "    population = []\n",
        "    for _ in range(population_size):\n",
        "        random_string = ''.join(random.choice(alphabet) for _ in range(len(target_sequence)))\n",
        "        population.append(random_string)\n",
        "    return population\n",
        "\n",
        "def calculate_fitness_eta2(chromosome, target_sequence):\n",
        "    \"\"\"Calculates the fitness of a chromosome based on its similarity to the target sequence.\"\"\"\n",
        "    fitness = 0\n",
        "    for i in range(len(chromosome)):\n",
        "        if chromosome[i] == target_sequence[i]:\n",
        "            fitness += 1\n",
        "    return fitness\n",
        "\n",
        "def calculate_all_fitness_eta2(population, target_sequence):\n",
        "    \"\"\"Calculates the fitness of all chromosomes in the population.\"\"\"\n",
        "    fitness_scores = [calculate_fitness_eta2(chromosome, target_sequence) for chromosome in population]\n",
        "    return fitness_scores\n",
        "\n",
        "def select_the_best_eta2(population, target_sequence):\n",
        "    \"\"\"Selects the best chromosome for reproduction.\"\"\"\n",
        "    fitness_scores = calculate_all_fitness_eta2(population, target_sequence)\n",
        "    best_fitness = max(fitness_scores)\n",
        "    best_chromosome_index = fitness_scores.index(best_fitness)\n",
        "    best_chromosome = population[best_chromosome_index]\n",
        "    return best_fitness, best_chromosome\n",
        "\n",
        "def clone_population_eta2(best_chromosome, population_size):\n",
        "    \"\"\"Creates a new population by cloning the best chromosome.\"\"\"\n",
        "    return [best_chromosome] * population_size\n",
        "\n",
        "\n",
        "def mutate_eta2(chromosome, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates a chromosome.\"\"\"\n",
        "    mutated_chromosome_list = list(chromosome)\n",
        "    for i in range(len(mutated_chromosome_list)):\n",
        "        if random.random() < mutation_rate:\n",
        "                mutated_chromosome_list[i] = random.choice(alphabet)\n",
        "    return \"\".join(mutated_chromosome_list)\n",
        "\n",
        "def mutate_all_eta2(population, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates all chromosomes in the population.\"\"\"\n",
        "    mutated_population = []\n",
        "    for chromosome in population:\n",
        "        mutated_chromosome = mutate_eta2(chromosome, mutation_rate, alphabet)\n",
        "        mutated_population.append(mutated_chromosome)\n",
        "    return mutated_population\n",
        "\n",
        "def crossover_eta2(parent1, parent2, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover between two parent chromosomes.\"\"\"\n",
        "    if random.random() < recombination_rate:\n",
        "        crossover_point = random.randint(0, len(target_sequence))\n",
        "        return parent1[:crossover_point] + parent2[crossover_point:]\n",
        "    else:\n",
        "        return parent1\n",
        "\n",
        "def crossover_all_eta2(population, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover on all chromosomes in the population.\"\"\"\n",
        "    recombinant_population = []\n",
        "    for i in range(len(population)):\n",
        "        parent1 =  population[i]\n",
        "        parent2 = random.choice(population)\n",
        "        child = crossover_eta2(parent1, parent2, target_sequence, recombination_rate)\n",
        "        recombinant_population.append(child)\n",
        "    return recombinant_population\n",
        "\n",
        "\n",
        "def run_one_generation_eta2(population, target_sequence, mutation_rate, recombination_rate, alphabet):\n",
        "    \"\"\"Runs one generation of the genetic algorithm.\"\"\"\n",
        "    best_fitness, best_chromosome  = select_the_best_eta2(population, target_sequence)\n",
        "    new_population = []\n",
        "    if include_clone_population_eta2:\n",
        "        new_population = clone_population_eta2(best_chromosome, population_size)\n",
        "    if include_mutate_all_eta2:\n",
        "        new_population = mutate_all_eta2(new_population, mutation_rate, alphabet)\n",
        "    if include_crossover_all_eta2:\n",
        "        new_population = crossover_all_eta2(new_population, target_sequence, recombination_rate)\n",
        "    return best_fitness, best_chromosome, new_population\n",
        "\n",
        "\n",
        "def main_eta2( target_sequence, mutation_rate, recombination_rate, alphabet):\n",
        "    print_parameters_eta2()\n",
        "    population = create_population_eta2(population_size, target_sequence, alphabet)\n",
        "    generation = 0\n",
        "    best_fitness_history = []\n",
        "    eta_history = []\n",
        "    recursive_prediction = []\n",
        "    new_recurrent_prediction = 0\n",
        "    best_fitness, best_chromosome = select_the_best_eta2(population, target_sequence)\n",
        "    new_recurrent_prediction = best_fitness\n",
        "    old_recurrent_prediction = best_fitness\n",
        "    best_fitness_history.append(best_fitness)\n",
        "    recursive_prediction.append(new_recurrent_prediction)\n",
        "\n",
        "    while best_fitness < len(target_sequence):\n",
        "        generation += 1\n",
        "        best_fitness, best_chromosome, population = run_one_generation_eta2(population, target_sequence, mutation_rate, recombination_rate, alphabet)\n",
        "\n",
        "        M_t_plus_1 = best_fitness\n",
        "\n",
        "        #$ M_{t+1}  =  (1- \\mu) M_t + \\frac{1}{2} \\mu H + \\eta$\n",
        "        # Calculate eta_t+1\n",
        "        eta_t_plus_1 = M_t_plus_1 - (1 - mutation_rate) * M_t_plus_1- (1/2) * mutation_rate * length_of_target_sequence\n",
        "        eta_history.append(eta_t_plus_1)\n",
        "\n",
        "        best_fitness_history.append(best_fitness)\n",
        "        # Recursive prediction\n",
        "        new_recurrent_prediction =  (1 - mutation_rate) * old_recurrent_prediction + (1/2) * mutation_rate * length_of_target_sequence + fluctuation\n",
        "        recursive_prediction.append(new_recurrent_prediction)\n",
        "        old_recurrent_prediction = new_recurrent_prediction\n",
        "        print(f\"Generation {generation}: M_t = {M_t_plus_1}, eta_t+1 = {eta_t_plus_1:.4f}\")\n",
        "\n",
        "\n",
        "    print(f\"\\nTarget sequence matched in generation {generation}\")\n",
        "    print(f\"Final chromosome: {best_chromosome}\")\n",
        "    totalCost = population_size * generation\n",
        "    print(f\"Total cost = population size * number of generations: {totalCost}\")\n",
        "\n",
        "    if show_graph:\n",
        "        plt.figure(figsize=(10, 6))\n",
        "        plt.plot(range(0, generation + 1), best_fitness_history)\n",
        "        plt.plot(range(0, generation + 1), recursive_prediction)\n",
        "        plt.axhline(y=length_of_target_sequence, color='red', linestyle='--', linewidth=2)\n",
        "        plt.xlabel('Generation')\n",
        "        plt.ylabel('Best Fitness ($M_t$)')\n",
        "        plt.title(f'Genetic Algorithm - Best Fitness over Generations. Fluctuation = {fluctuation}')\n",
        "        plt.legend(['Observed Best Fitness', 'Recursive Prediction'])\n",
        "        plt.grid(True)\n",
        "        plt.show()\n",
        "\n",
        "main_eta2( target_sequence, mutation_rate, recombination_rate, alphabet)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "*Our comments.* With fluctuation = 5, the graph of the recursive prediction always goes above the graph of the observed. With fluctuation = 4, the recursive prediction coincides with the observed until 90% of the task. But afterward, the theoretical estimation goes above the observed one. This means that these values can be used to predict a minimum number of generations to accomplish a task. With fluctuation = 3.8 the recursive prediction coincides with the observed until 95% of the task, and after that, the model goes above the observed. On the other hand, the value of the observed fluctuations begins with 0.25 and ends with 2.5. This is different from our prediction of 5 as a constant value, but anyway, with a value of 3.8 the error is tolerable up to 95% of the task.\n",
        "\n",
        "**Practical directive.**\n",
        "\n",
        "We feel that we are on the right track, but it is apparent that we are missing something regarding the nature of fluctuations. Nevertheless, the phenomenology is well-fitted by our models.  \n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Solving the recurrence equation\n",
        "\n",
        "We have reasons to consider that our mathematical models are good to describe the observed behavior of Evolution, restricted in this case to mutation + selection of the fittest. Let us go now one step further.\n",
        "\n",
        "*Example.* Let us solve the last equation that is known as a *difference equation*. We conserve its discrete type. \n",
        "\n",
        "To solve a difference equation means to find an expression that reports a general term in terms of the first and the parameters of the model. The fluctuations, represented by $\\eta$, will be averaged, assuming that the population size is large, in practice greater than 4. The new constant is represented by the same symbol.\n",
        "\n",
        "The equation to solve is:\n",
        "\n",
        "$$ M_{t+1}  =  (1- \\mu) M_t + \\frac{1}{2} \\mu H + \\eta    \\tag{3}$$\n",
        "\n",
        "\n",
        "To simplify our work, let us consider the abstract equation\n",
        "\n",
        "$ M_{t+1} =  a M_t   + b$\n",
        "\n",
        "where $a$ and $b$ are constants defined by  \n",
        " \n",
        ">> $ M_{t+1} =  a M_t   + b$\n",
        ">>\n",
        ">> $ a = 1- \\mu $\n",
        ">>\n",
        ">> $ b = \\frac{1}{2} \\mu H + \\eta$\n",
        ">>\n",
        " \n",
        "Let $M(0) = I$. We have\n",
        "\n",
        "$ M_{1} =  a M_0   + b$\n",
        "\n",
        " $ M_{1} =  a I   + b$\n",
        "\n",
        " $ M_{2} =  a M_1   + b$\n",
        "\n",
        " $ M_{2} =  a (a I   + b)   + b = a^2I + ab + b$\n",
        "\n",
        " $ M_{3} =  a M_2   + b$\n",
        "\n",
        " $ M_{3} =  a (a^2I + ab + b)   + b $\n",
        "\n",
        " $ = a^3I + a^2b + ab + b$\n",
        "\n",
        " **Exercise.** Find the 4th term and generalize.\n",
        ">\n",
        "> *Answer.* The fourth term is\n",
        ">\n",
        "> $ M_{4} =  a M_3   + b$\n",
        ">\n",
        "> $ M_{4} =  a ( a^3I + a^2b + ab + b)   + b$\n",
        ">\n",
        "> $ M_{4} =  a^4I + a^3b + a^2 b + ab   + b$\n",
        ">\n",
        "> $  M_{4} =  a^4I + (a^3 + a^2  + a   + 1) b$\n",
        ">\n",
        "> Our generalization is\n",
        ">\n",
        "> $M(n) = a^nI + (a^{n-1} + \\dots + a + 1) b$\n",
        "\n",
        "Let us continue.\n",
        "\n",
        "In our case,  $ a = 1-\\mu$ , so $a < 1$. Let us recall that in this case\n",
        "\n",
        " $a^{n-1} + \\dots + a + 1 = \\frac{1- a^n}{1-a}$\n",
        "\n",
        " This implies that\n",
        "\n",
        " $M(n) = a^nI + \\frac{1- a^n}{1-a} b$\n",
        "\n",
        "**Challenge.** Prove the general formula by induction. If this is impossible, everything is wrong. \n",
        "\n",
        "\n",
        "Let us apply our generalization to our case: \n",
        ">>\n",
        ">> $ M_{t+1} =  a M_t   + b$\n",
        ">>\n",
        ">> $ a = 1- \\mu $\n",
        ">>\n",
        ">> $ b = \\frac{1}{2} \\mu H + \\eta$\n",
        ">>\n",
        "\n",
        "The solution is\n",
        "\n",
        "$M(n) = a^nI + \\frac{1- a^n}{1-a} b$\n",
        "\n",
        "$M(n) = (1-\\mu)^nI + \\frac{1- (1-\\mu)^n}{1-(1-\\mu)} (\\frac{1}{2} \\mu H + \\eta )  $\n",
        "\n",
        "$$M(n) = (1-\\mu)^nI + \\frac{1- (1-\\mu)^n}{ \\mu} (\\frac{1}{2} \\mu H + \\eta )  \\tag{4}   $$\n",
        "\n",
        "We urgently need the graphic of this function. So, we asked Colab to draw it, and its gently answer was the following program:\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIhCAYAAABE54vcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB3GUlEQVR4nO3dd3gU1f7H8c9ms9n0QBJCEgih19BRmkoHKaKiFwv3isC1XBVBwX5VsGHFgl0RUH8IFrBLkyYiVZCOSC8JoaTXzWZ+f8TsdU2AbEiYlPfrefbJ7pmzs99ZjpCPZ+aMxTAMQwAAAACAEvMyuwAAAAAAqGwIUgAAAADgIYIUAAAAAHiIIAUAAAAAHiJIAQAAAICHCFIAAAAA4CGCFAAAAAB4iCAFAAAAAB4iSAEAAACAhwhSAFABWCyWEj2WL1+u5cuXy2Kx6PPPPze77FL5/vvvNWnSpGK31a9fXzfffHO5fXbPnj3Vs2fPEvWzWCxq2LChDMMosn3lypWuP5OZM2eWWX0zZ86UxWLRgQMHPH7vpEmTZLFYSv3Z53vMTzzxhFq2bKn8/HyPP/vRRx9Vhw4dSvVeADALQQoAKoBffvnF7TFo0CD5+fkVae/QoYPZpZ6377//XpMnTy522/z58/Xoo49e4IqKFxQUpP3792vp0qVFtn3wwQcKDg42oaryVdpjPnbsmJ5//nk98cQT8vLy/FeLiRMnav/+/Zo1a5bH7wUAs3ibXQAAQOrSpYvb61q1asnLy6tIe0WUlZUlX1/f85oNKdS+ffsyqKhs1KtXT0FBQfrggw/Up08fV3taWpo+++wzjRgxQu+9956JFZa90h7zq6++qho1amjYsGGl+tyQkBD985//1LPPPqubb765TMYSAJQ3ZqQAoJJyOBx65JFHFB0dreDgYPXt21e7d+8u0m/JkiXq06ePgoOD5e/vr+7du+vHH38s0m/VqlXq06ePgoKC5O/vr27duum7775z61N46tmiRYs0evRo1apVS/7+/srJyZEkzZ07V127dlVAQIACAwM1YMAAbdq0yfX+m2++WW+88YYk99MZC09lK+7UvuTkZE2YMEENGzaU3W5XRESEBg0apF27drn6TJ48WZ07d1ZoaKiCg4PVoUMHTZ8+vdhT1DwxevRozZs3T8nJya62OXPmSJKuv/76Yt9Tku9RktasWaPu3bvL19dX0dHReuihh+RwOIrd57m+17Lk6THn5uZq+vTpuvHGG91mow4cOCCLxaIXX3xRU6dOVYMGDRQYGKiuXbtqzZo1Rfbzr3/9S7///ruWLVtW9gcFAOWAIAUAldTDDz+sgwcP6v3339e7776rPXv26IorrpDT6XT1+fjjj9W/f38FBwdr1qxZ+vTTTxUaGqoBAwa4hakVK1aod+/eSklJ0fTp0/XJJ58oKChIV1xxhebOnVvks0ePHi2bzaaPPvpIn3/+uWw2m5555hndcMMNatmypT799FN99NFHSktL06WXXqodO3ZIKrgW5tprr5XkfjpjVFRUsceYlpamSy65RO+8845GjRqlb775Rm+//baaNm2q+Ph4V78DBw7otttu06effqp58+Zp2LBhGjt2rJ588snz+o6vv/56Wa1WffLJJ6626dOn69prry32NLeSfo87duxQnz59lJycrJkzZ+rtt9/Wpk2b9NRTTxXZZ0m+1zMpDL6eXMfl6TGvXbtWp06dUq9evYrd3xtvvKHFixfrlVde0f/93/8pIyNDgwYNUkpKilu/jh07KjAwsNjQCQAVkgEAqHBGjhxpBAQEFLtt2bJlhiRj0KBBbu2ffvqpIcn45ZdfDMMwjIyMDCM0NNS44oor3Po5nU6jbdu2xsUXX+xq69KlixEREWGkpaW52vLy8oy4uDijbt26Rn5+vmEYhjFjxgxDknHTTTe57fPQoUOGt7e3MXbsWLf2tLQ0IzIy0hg+fLir7c477zTO9M9PbGysMXLkSNfrJ554wpBkLF68uNj+xXE6nYbD4TCeeOIJIywszFW7YRhGjx49jB49epxzHz169DBatWplGEbBn0WnTp0MwzCM7du3G5KM5cuXG+vXrzckGTNmzHC9r6Tf43XXXWf4+fkZCQkJbv2aN29uSDL2799vGIZn3+vjjz9e5HudNWuWYbVajVmzZpXbMT/33HOGJLdjMQzD2L9/vyHJaN26tZGXl+dqX7dunSHJ+OSTT4rU0L17d6Nz587nrBUAKgJmpACgkho6dKjb6zZt2kiSDh48KElavXq1Tp8+rZEjRyovL8/1yM/P1+WXX67169crIyNDGRkZWrt2ra699loFBga69me1WvWvf/1LR44cKXLK4DXXXOP2euHChcrLy9NNN93k9lm+vr7q0aOHli9fXqpj/OGHH9S0aVP1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6OXr2snfp9S3XwMAAEAVUaogdffdd+u1114r0v76669r/Pjx51sTUGEkpmXrsa+2SZLu6tVY7WJqmFsQAAAAKoRSBakvvvhC3bt3L9LerVs3ff755+ddFFARGIahR+ZvU3KmQ62ig3VX78ZmlwQAAIAKolRB6tSpUwoJCSnSHhwcrJMnT553UUBF8NXmY1q847hsVote/Edb2aycCQsAAIACpfrNsHHjxlqwYEGR9h9++EENGzY876IAsyWmZuvxr7dLku7u3UQtooJNrggAAAAVSamumr/33nt111136cSJE+rdu7ck6ccff9RLL72kV155pSzrAy44wzD08PytSslyKK5OsG7v2cjskgAAAFDBlCpIjR49Wjk5OXr66af15JNPSpLq16+vt956SzfddFOZFghcaPM3HdWSnYmyWS166R/tOKUPAAAARZR6Hef//Oc/+s9//qMTJ07Iz89PgYGBZVkXYIrjqdma9OcpfeP7NlWzyCCTKwIAAEBFVKr/1d67d28lJydLkmrVquUKUampqa5T/YDKxjAMPTRvq1Kz89Smbohuu4zr/QAAAFC8UgWp5cuXKzc3t0h7dna2fvrpp/MuCjDDl5uPaumuRPlYvfTiP9rKm1P6AAAAcAYendq3ZcsW1/MdO3YoISHB9drpdGrBggWqU6dO2VUHXCCn0nP0xDc7JEl392msprU5pQ8AAABn5lGQateunSwWiywWS7Gn8Pn5+WnatGllVhxwoUz+ZoeSMh1qHhmk23qwSh8AAADOzqMgtX//fhmGoYYNG2rdunWqVauWa5uPj48iIiJktVrLvEigPC3ddVxf/3ZMXhbp+WvbsEofAAAAzsmjIBUbGytJys/PL5digAstPSdP/52/TZI05pIGalO3hrkFAQAAoFIo9fLnUsF1UocOHSqy8MTQoUPPqyjgQnl+wS4dS8lWvVB/3duvmdnlAAAAoJIoVZDat2+frr76am3dulUWi0WGYUiSLBaLpIKFJ4CKbsOB0/pozUFJ0pRhreXnw2mpAAAAKJlSXQwybtw4NWjQQMePH5e/v7+2b9+ulStXqlOnTlq+fHkZlwiUvWyHUw98sUWGIf2jY111bxxudkkAAACoREo1I/XLL79o6dKlqlWrlry8vOTl5aVLLrlEU6ZM0d13361NmzaVdZ1AmXpz2R/aeyJD4YF2/XdwS7PLAQAAQCVTqhkpp9OpwMBASVJ4eLiOHTsmqWAxit27d5dddUA5+CMxXW+t2CtJeuLKVgrxt5lcEQAAACqbUs1IxcXFacuWLWrYsKE6d+6s559/Xj4+Pnr33XfVsGHDsq4RKDOGYeiR+VvlcBrq3TxCA+MizS4JAAAAlVCpgtR///tfZWRkSJKeeuopDRkyRJdeeqnCwsI0d+7cMi0QKEvzfj2qtftPy9fmpclDW7kWSAEAAAA8UaogNWDAANfzhg0baseOHTp9+rRq1qzJL6aosJIzc/X09zslSeP6NFVMqL/JFQEAAKCyOq/7SP1VaGhoWe0KKBfPLdil0xm5alo7UP++tIHZ5QAAAKAS8yhIjR49ukT9Pvjgg1IVA5SXjQdP65N1hyVJT1/dWjZrqdZZAQAAACR5GKRmzpyp2NhYtW/f3nUTXqCiczjz9fC8bZKk6zrF6KL6zJ4CAADg/HgUpG6//XbNmTNH+/bt0+jRo/XPf/6TU/pQ4X2war92H09TTX+bHhzY3OxyAAAAUAV4dH7Tm2++qfj4eD3wwAP65ptvFBMTo+HDh2vhwoXMUKFCOpKUqVeW7JEkPTyohWoG+JhcEQAAAKoCjy8UsdvtuuGGG7R48WLt2LFDrVq10h133KHY2Filp6eXR41AqT317U5lOZy6uEGoru1Y1+xyAAAAUEWc1xX3FotFFotFhmEoPz+/rGoCysTK309owfYEWb0sevLKOJbmBwAAQJnxOEjl5OTok08+Ub9+/dSsWTNt3bpVr7/+ug4dOqTAwMDyqBHwWG5eviZ9s12SNLJrfTWLDDK5IgAAAFQlHi02cccdd2jOnDmqV6+eRo0apTlz5igsLKy8agNKbcbP+7XvRIbCA300vl8Ts8sBAABAFeNRkHr77bdVr149NWjQQCtWrNCKFSuK7Tdv3rwyKQ4ojYSUbL32Y8ECEw8ObKFgX5vJFQEAAKCq8ShI3XTTTVxnggpvyg87lZHrVId6NTSsfR2zywEAAEAV5PENeYGKbO2+U/pq8zFZLNITV8bJy4vgDwAAgLJ3Xqv2ARVJnjNfj39dsMDEjRfXU1ydEJMrAgAAQFVFkEKV8fGag9qVkKYa/jZN7N/M7HIAAABQhRGkUCWczsjVS4t/lyTdN6CZagb4mFwRAAAAqjKCFKqEqYt3Ky07Ty2jgnX9RfXMLgcAAABVXImDVIcOHZSUlCRJeuKJJ5SZmVluRQGe2J2QptlrD0mSHruipawsMAEAAIByVuIgtXPnTmVkZEiSJk+erPT09HIrCigpwzD05Lc7lG9IA+Mi1aUhN4gGAABA+Svx8uft2rXTqFGjdMkll8gwDL344osKDAwstu9jjz1WZgUCZ7N0V6JW/XFSPlYvPTSwhdnlAAAAoJoocZCaOXOmHn/8cX377beyWCz64Ycf5O1d9O0Wi4UghQsiNy9fT3+3U5I0+pIGqhfmb3JFAAAAqC5KHKSaNWumOXPmSJK8vLz0448/KiIiotwKA87lozUHte9khsIDfXRnr0ZmlwMAAIBqpMRB6q/y8/PLug7AI6czcvXqkoLlzif2b6YgX5vJFQEAAKA6KVWQkqS9e/fqlVde0c6dO2WxWNSiRQuNGzdOjRoxM4Dy9/Li35WanacWUcH6R6cYs8sBAABANVOq+0gtXLhQLVu21Lp169SmTRvFxcVp7dq1atWqlRYvXlzWNQJudiek6f/WHpQkPTqkBcudAwAA4IIrVZB68MEHdc8992jt2rWaOnWqXn75Za1du1bjx4/XAw88UOL9vPXWW2rTpo2Cg4MVHBysrl276ocffnBtv/nmm2WxWNweXbp0cdtHTk6Oxo4dq/DwcAUEBGjo0KE6cuRIaQ4LlcQz3+9UviENaFVb3RqFm10OAAAAqqFSBamdO3dqzJgxRdpHjx6tHTt2lHg/devW1bPPPqsNGzZow4YN6t27t6688kpt377d1efyyy9XfHy86/H999+77WP8+PGaP3++5syZo1WrVik9PV1DhgyR0+kszaGhglu156RW/H5CNquF5c4BAABgmlJdI1WrVi1t3rxZTZo0cWvfvHmzRyv5XXHFFW6vn376ab311ltas2aNWrVqJUmy2+2KjIws9v0pKSmaPn26PvroI/Xt21eS9PHHHysmJkZLlizRgAEDPDksVHD5+Yam/FCw3PmIzrGqHx5gckUAAACorkoVpG655Rbdeuut2rdvn7p16yaLxaJVq1bpueee04QJE0pViNPp1GeffaaMjAx17drV1b58+XJFRESoRo0a6tGjh55++mlXWNu4caMcDof69+/v6h8dHa24uDitXr36jEEqJydHOTk5rtepqamSJIfDIYfDUar6y0rh55tdR0X01eZj2n4sVYF2b91+WX2+oz8xZuAp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CgAAAKgICFIV3J7jadp9PE02q0UDWkaaXQ4AAAAAEaQqvMLZqMua1FKIv83kagAAAABIBKkKzTAMfbul4PqowZzWBwAAAFQYBKkKbPfxNO09kSEfby/1a1nb7HIAAAAA/IkgVYF9+1vBaX09mtZSkC+n9QEAAAAVBUGqgjIMQ99tZbU+AAAAoCIiSFVQO+LTtP9khuzeXurbgtP6AAAAgIqEIFVBfb8tQZLUu3mEAuzeJlcDAAAA4K8IUhWQYUjfbzsuSRrSJtrkagAAAAD8HUGqAjqUIR1JypKfzapezWuZXQ4AAACAvyFIVUCbThb8sfRpESF/H07rAwAAACoaU4PUlClTdNFFFykoKEgRERG66qqrtHv3brc+N998sywWi9ujS5cubn1ycnI0duxYhYeHKyAgQEOHDtWRI0cu5KGUGcMwtOmURRKn9QEAAAAVlalBasWKFbrzzju1Zs0aLV68WHl5eerfv78yMjLc+l1++eWKj493Pb7//nu37ePHj9f8+fM1Z84crVq1Sunp6RoyZIicTueFPJwysflwipJzLQrwsapnM07rAwAAACoiU88bW7BggdvrGTNmKCIiQhs3btRll13marfb7YqMjCx2HykpKZo+fbo++ugj9e3bV5L08ccfKyYmRkuWLNGAAQPK7wDKQeFqfX2aR8jXZjW5GgAAAADFqVAX4KSkpEiSQkND3dqXL1+uiIgI1ahRQz169NDTTz+tiIgISdLGjRvlcDjUv39/V//o6GjFxcVp9erVxQapnJwc5eTkuF6npqZKkhwOhxwOR5kfV0nl5xv64c/V+ga0CDe1FlQeheOE8YKSYszAU4wZeIoxA09VpDFT0hoshmEY5VxLiRiGoSuvvFJJSUn66aefXO1z585VYGCgYmNjtX//fj366KPKy8vTxo0bZbfbNXv2bI0aNcotGElS//791aBBA73zzjtFPmvSpEmaPHlykfbZs2fL39+/7A+uhLLzpPkHvbQnxaKH2znlzVIgAAAAwAWVmZmpG2+8USkpKQoODj5jvwozI3XXXXdpy5YtWrVqlVv7dddd53oeFxenTp06KTY2Vt99952GDRt2xv0ZhiGLxVLstoceekj33nuv63VqaqpiYmLUv3//s35ZF8IVDocWLVqs/v37yWazmVoLKgeHw6HFixerXz/GDEqGMQNPMWbgKcYMPFWR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7a0NGzZo+PDhatGihVq3bq1rrrlG3333na644gpX35SUFN16662KiIhQcHCwevfurd9++821fdKkSWrXrp0++ugj1a9fXyEhIbr++uvdTnUzDEPPP/+8GjZsKD8/P7Vt21aff/65a/vy5ctlsVi0cOFCderUSXa7XT/99JP27t2rK6+8UrVr11ZgYKAuuugiLVmyxPW+nj176uDBg7rnnntksVhksVgkFX9q31tvvaVGjRrJx8dHzZo100cffeS23WKx6P3339fVV18tf39/NWnSRF9//fVZv8dPP/1Ubdu2Vd26dV1thZ+9cOFCtWjRQoGBgbr88ssVHx/v9t6hQ4fqk08+Oev+AQBlgyAFADhvp06d0qJFi3TnnXcqICCg2D6FgcQwDA0ePFgJCQn6/vvvtXHjRnXo0EF9+vTR6dOnXf337t2rL7/8Ut9++62+/fZbrVixQs8++6xr+3//+1/NmDFDb731lrZv36577rlH//znP7VixQq3z73//vs1ZcoU7dy5U23atFF6eroGDRqkJUuWaNOmTRowYICuuOIKHTp0SJI0b9481a1bV0888YTi4+OLhJVC8+fP17hx4zRhwgRt27ZNt912m0aNGqVly5a59Zs8ebKGDx+uLVu2aNCgQRoxYoTbcf7dypUr1alTpyLtmZmZevHFF/XRRx9p5cqVOnTokCZOnOjW5+KLL9bhw4d18ODBM+4fAFBGDAAAztOaNWsMSca8efPc2sPCwoyAgAAjICDAuP/++w3DMIwff/zRCA4ONrKzs936NmrUyHjnnXcMwzCMxx9/3PD39zdSU1Nd2++77z6jc+fOhmEYRnp6uuHr62usXr3abR9jxowxbrjhBsMwDGPZsmWGJOPLL788Z/0tW7Y0pk2b5nodGxtrvPzyy259ZsyYYYSEhLhed+vWzbjlllvc+vzjH/8wBg0a5Hotyfjvf//rep2enm5YLBbjhx9+OGMtbdu2NZ544okiny3J+OOPP1xtb7zxhlG7dm23fikpKYYkY/ny5Wc+WABAmeAaKQBAmSmcdSq0bt065efna8SIEcrJyZEkbdy4Uenp6QoLC3Prm5WVpb1797pe169f322xhaioKCUmJkqSduzYoezsbPXr189tH7m5uWrfvr1b299ndzIyMjR58mR9++23OnbsmPLy8pSVleWakSqpnTt36tZbb3Vr6969u1599VW3tjZt2rieBwQEKCgoyHUcxcnKypKvr2+Rdn9/fzVq1Mj1+q/fR6HCa7gq08IeAFBZEaQAAOetcePGslgs2rVrl1t7w4YNJcltkYb8/HxFRUVp+fLlRfbz12uQbDab2zaLxaL8/HzXPiTpu+++U506ddz62e12t9d/P9Xwvvvu08KFC/Xiiy+qcePG8vPz07XXXqvc3NwSHKm7vwdHwzCKtJ3tOIoTHh6upKSkIu3F7ccwDLe2wlMGa9Wqde7iAQDnhSAFADhvYWFh6tevn15//XWNHTv2jNdJSVKHDh2UkJAgb29v1a9fv1Sf17JlS9ntdh06dEg9evTw6L0//fSTbr75Zl199dWSpPT0dB04cMCtj4+Pj5xO51n306JFC61atUo33XSTq2316tVq0aKFR/X8Xfv27bVjx45SvXfbtm2y2Wxq1arVedUAADg3ghQAoEy8+eab6t69uzp16qRJkyapTZs28vLy0vr167Vr1y517NhRktS3b1917dpVV111lZ577jk1a9ZMx44d0/fff6+rrrqq2IUW/i4oKEgTJ07UPffco/z8fF1yySVKTU3V6tWrFRgYqJEjR57xvY0bN9a8efN0xRVXyGKx6NFHHy0yQ1S/fn2tXLlS119/vex2u8LDw4vs57777tPw4cNdC2V88803mjdvntsKgKUxYMAA/fvf/5bT6ZTVavXovT/99JMuvfTSC7JMOwBUdwQpAECZaNSokTZt2qRnnnlGDz30kI4cOSK73a6WLVtq4sSJuuOOOyQVnJL2/fff65FHHtHo0aN14sQJRUZG6rLLLlPt2rVL/HlPPvmkIiIiNGXKFO3bt081atRQhw4d9PDDD5/1fS+//LJGjx6tbt26KTw8XA888IBSU1Pd+jzxxBO67bbb1KhRI+Xk5BQ5hU6SrrrqKr366qt64YUXdPfdd6tBgwaaMWOGevbsWeJjKM6gQYNks9m0ZMkSDRgwwKP3fvLJJ5o8efJ5fT4AoGQsRnH/OgAAANO8+eab+uqrr7Rw4cISv+e7777Tfffdpy1btpT6psMAgJLjb1oAACqYW2+9VUlJSUpLS3NbufBsMjIyNGPGDEIUAFwgzEgBAAAAgIe8zC4AAAAAACobghQAAAAAeIggBQAAAAAeIkgBAAAAgIcIUgAAAADgIYIUAAAAAHiIIAUAAAAAHiJIAQAAAICHCFIAAAAA4KH/B3o17zYlfWrsAAAAAElFTkSuQmCC",
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "# Define the parameters (these should ideally be linked to your genetic algorithm parameters)\n",
        "# For now, I'll use example values.\n",
        "mu = 0.01  # Example mutation rate\n",
        "eta = 2.5    # Example average fluctuation (based on your observations)\n",
        "H = 500  # Example target sequence length\n",
        "I = 250 # Example initial fitness (around half of H)\n",
        "generation = 500 # Example number of generations\n",
        "\n",
        "# Define the function M(n)\n",
        "# $M(n) = (1-\\mu)^n I + \\frac{1- (1-\\mu)^n}{ \\mu} (\\frac{1}{2} \\mu H + \\eta )  $\n",
        "def M(n, I, mu, eta):\n",
        "    return (1 - mu)**n * I + ((1 - (1 - mu)**n) / mu) * (mu * H / 2 + eta )\n",
        "\n",
        "# Generate a range of generations\n",
        "n_values = np.arange(0, generation + 1)\n",
        "\n",
        "# Calculate M(n) for each generation\n",
        "M_values = M(n_values, I, mu, eta)\n",
        "\n",
        "# Plot the function\n",
        "plt.figure(figsize=(10, 6))\n",
        "plt.plot(n_values, M_values)\n",
        "plt.xlabel('Generation (n)')\n",
        "plt.ylabel('Number of Matched Sites (M)')\n",
        "plt.title('Theoretical Model: M(n)')\n",
        "plt.grid(True)\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "*Our comments.* The graphic shows that the found function is very promising to describe the evolution of the number of matched sites when the Mutation-MAX DUO tries to solve the Shakespeare challenge. So, we need to compare it with the results of our simulations.\n",
        "\n",
        "> *Exercise.* Develop a program to compare the graph given by the previous program with that produced by a simulation, a genetic algorithm.\n",
        ">\n",
        "> *Answer.* The following code compares the output of the previous program with that observed in a simulation of Evolution, in which only the Mutation-MAX DUO works.  \n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Lab: Simple Genetic Algorithm\n",
            "Purpose: comparison of predicted with observed in the Shakespeare challenge\n",
            "Date of Experiment  = 2026-02-09 11:30:53.838475\n",
            "alphabet =  01\n",
            "target_sequence = 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111\n",
            "length_of_target_sequence = 500\n",
            "population_size = 200\n",
            "include_clone_population14 = True\n",
            "include_mutate_all14 = True\n",
            "include_crossover_all14 = False\n",
            "mutation_rate = 0.01\n",
            "print_best_fitness = False\n",
            "\n",
            "Target sequence matched in generation 167\n",
            "Final chromosome: 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111\n",
            "Total cost = population size * number of generations: 33400\n"
          ]
        },
        {
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA14AAAIhCAYAAABe22tSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAACvKklEQVR4nOzdd3gUVdvH8e+md0ooIZTQeyAUpYgU6VVEBAVBQcWCIgLiizwqKAKCAo/9URFQEBAVpUmTJk3pXXpoSQiEkEASks3uvH+sLMYESDYbUvh9riuXmTMzZ+/ZQ+LeOTP3MRmGYSAiIiIiIiI5xiW3AxARERERESnolHiJiIiIiIjkMCVeIiIiIiIiOUyJl4iIiIiISA5T4iUiIiIiIpLDlHiJiIiIiIjkMCVeIiIiIiIiOUyJl4iIiIiISA5T4iUiIiIiIpLDlHiJSJ62detWHnnkEUqVKoWHhwdBQUH07NmTLVu2pDt2zJgxmEwmLl68mAuR5q7y5cvz5JNP5nYYdjNnzsRkMhEeHp7h/vDwcEwmU6a+wsPD7f1t3779zl6Ik3z33XdMmzYtw30mk4kxY8bk2Gtn9t9G+fLlMZlMtGzZMsP933zzjX1M1q1b57T4rv/cOuLJJ5+kfPnyDr92dq954MCBdOjQwaHX7tevH927d3foXBHJn9xyOwARkZv56KOPGDp0KPfeey+TJk0iJCSE06dP88knn9CsWTP++9//8uKLL+Z2mOKAUqVKpUueX3jhBeLi4pgzZ066Y/O77777jv379zN06NB0+7Zs2UKZMmXufFAZ8Pf3Z8OGDRw/fpxKlSql2ff1118TEBBAfHx8LkWXMxy95l27djFr1iz++OMPh153zJgxVK9enTVr1vDAAw841IeI5C+a8RKRPGnTpk0MHTqUTp068fvvv9OvXz+aN2/O448/zu+//06nTp14+eWX2bRpU26HmqGkpKTcDiFP8/T0pHHjxmm+AgIC8Pb2Ttfu6emZ2+Gmk5iY6LS+GjdunGcSr2bNmlG6dGm+/vrrNO3Hjx9nw4YN9O7dO5ciyzmOXvPEiRO59957adiwoUOvW6lSJTp06MDEiRMdOl9E8h8lXiKSJ02YMAGTycRnn32Gm1vayXk3Nzc+/fRTTCZThh9azpw5Q48ePQgICKBQoUI8/vjjXLhwIc0xa9asoWXLlgQGBuLt7U25cuV4+OGH03ygTklJYdy4cVSvXh1PT0+KFy/OgAED0vVVvnx5unTpwk8//US9evXw8vJi7Nix1KtXj/vvvz9dfBaLhdKlS9OjR48sv5bZbGbkyJEEBQXh4+NDs2bN+PPPPzP9vo4dO5ZGjRpRtGhRAgICqF+/PtOnT8cwjAyvafny5dSvXx9vb2+qV6+e7sMp2G4Hve+++/Dy8iI4OJhRo0ZhNpszHVNWXLlyheeff55ixYoRGBhIjx49iIiISHfc/PnzadKkCb6+vvj5+dG+fXt27dqV7rhFixbRpEkTfHx88Pf3p23btulm4q7fCrdz50569uxJkSJF7DMjhmHw6aefEhYWhre3N0WKFKFnz56cOHHCfn7Lli1ZunQpp06dSnML5XUZ3Wp47tw5Bg0aRNmyZfHw8CA4OJiePXty/vx5AK5du8bw4cMJCwujUKFCFC1alCZNmvDLL784/N4CuLi40L9/f2bNmoXVarW3f/3115QtW5Y2bdpkeF5m3keApUuXEhYWhqenJxUqVOD999/PsL/MvK/O4sg1nz9/noULF9KvX7807evWrcNkMjF37lxGjx5NcHAwAQEBtGnThsOHD6frp1+/fqxevZrjx487/bpEJO9R4iUieY7FYmHt2rU0bNjwpjMBZcuWpUGDBqxZswaLxZJm30MPPUTlypX54YcfGDNmDD///DPt27e3JwPh4eF07twZDw8Pvv76a5YvX87EiRPx9fUlJSUFAKvVyoMPPsjEiRPp06cPS5cuZeLEiaxatYqWLVumm9HauXMnr776KkOGDGH58uU8/PDDDBgwgI0bN3L06NE0x65cuZKIiAgGDBiQ5dd65plneP/99+nfvz+//PILDz/8MD169CA2NjZT7214eDjPPvss33//PT/99BM9evTgpZde4p133kl37J49exg+fDivvPIKv/zyC3Xq1OGpp55iw4YN9mMOHjxI69atuXz5MjNnzuTzzz9n165djBs3LlPxZNXTTz+Nu7s73333HZMmTWLdunU8/vjjaY4ZP348jz32GDVr1uT777/n22+/5cqVK9x///0cPHjQftx3333Hgw8+SEBAAHPnzmX69OnExsbSsmVLNm7cmO61e/ToQeXKlVmwYAGff/45AM8++yxDhw6lTZs2/Pzzz3z66accOHCApk2b2pOkTz/9lPvuu4+goCC2bNli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YZrkymKx8Pzzz2MYBqNGjUp37pw5c2jQoIF9+/vvvyc1NTXDRVJdXV1p1KgR1atXZ86cOezcuZNHH32ULl26MG/ePCwWC40aNXL4OlxdXenXrx/Tpk3j999/Z/v27fzvf/9Lc0xmX+t6/De7vtsxmUy4ubmleS+TkpL49ttvs3hVN7Rq1YpFixZx/vx5++2GFouF+fPnO9xndrRv3x43NzeOHz+e7tbAf6pWrRqlS5fmu+++Y8SIEfbkJSEhgR9//NFeoe9WunTpwsSJEzl37hy9evW65bH/nim8lY4dO/Ltt99y+PBhqlWrluExJpMJDw+PNElXVFRUtqsa/tPzzz/P+fPnadGixU1nd7LyPt5777389NNPTJ482d7flStXWLx4cZo+s/K+OltmrhmgevXqzJ07l7i4OAoVKuTw66WmpnLmzBk6derkcB8ikn8o8RKRPOm+++5j2rRpDB06lGbNmvHiiy9Srlw5+wLKf/zxB9OmTaNp06bpzv3pp59wc3Ojbdu2HDhwgDfeeIO6devaP8R9/vnnrFmzhs6dO1OuXDmuXbtmL5N+vXT0o48+ypw5c+zrhd177724u7tz9uxZ1q5dy4MPPshDDz2UqWsZOHAg7733Hn369MHb2zvd80+Zfa0aNWrw+OOPM23aNNzd3WnTpg379+/n/fffJyAg4LZxdO7cmSlTptCnTx8GDRpETEwM77//frZmEP7zn/+waNEiHnjgAd588018fHz45JNPSEhIcLjP7Chfvjxvv/02o0eP5sSJE3To0IEiRYpw/vx5/vzzT3x9fRk7diwuLi5MmjSJvn370qVLF5599lmSk5OZPHkyly9fztTaSvfddx+DBg1iwIABbN++nebNm+Pr60tkZCQbN24kNDSU559/HoDQ0FB++uknPvvsMxo0aICLi8tN1396++23+fXXX2nevDmvv/46oaGhXL58meXLlzNs2DCqV69uX77ghRdeoGfPnpw5c4Z33nmHUqVKpaui6aiwsLDbzoZm5X1855136NChA23btmX48OFYLBbee+89fH19uXTpkv24rLyvGXn77bd5++23+e2337L8nFdmrhluVCP8448/7LfvOmLv3r0kJibetDqiiBQwuVnZQ0TkdrZs2WL07NnTKFmypOHm5maUKFHC6NGjh7F58+Z0x16vPrdjxw6ja9euhp+fn+Hv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t1iyZAkmk4lff/0VN7f0p5tMpkwlXmfOnOHll19m5cqVeHl53fS4fy/YbBjGbRdxvt0xo0aNYtiwYfbt+Ph4ypYtS7t27QgICLht7DnJbDazatUq2rZti7u7FpPNqwrqOF28msw7n2wBUujXqCwju9TI/MnnD+C24HFMV89gePhhefAzKlXtSKUci/bWCuoYFTQap7xPY5T3aYzyB41T3nd9jFq1apUj/Wc68apWrRrz5s0DwMXFhd9++40SJUo4/MI7duwgOjqaBg0a2NssFgsbNmzg448/5vBh21/Mo6KiKFXqRvnq6Oho+yxYUFAQKSkpxMbGppn1io6OpmnTpjd9bU9PTzw9PdO1u7u755kfhLwUi9xcQRqnLcdjGLFgDxevplCtpD+ju9TC3T2TRTAOLoKFz4E5AYpWxPTYPNyKV8vZgDOpII1RQaZxyvs0Rnmfxih/0DjlfTk1Pg5VNbRardlKugBat27Nvn372L17t/2rYcOG9O3bl927d1OxYkWCgoLSTMempKSwfv16e1LVoEED3N3d0xwTGRnJ/v37b5l4icgN18wW3l16kD5fbeXc5SRCAn34pG99vDKTdFmtsHYCfN/PlnRVbAlP/wZ5JOkSERERySscXkD5+PHjTJs2jUOHDmEymahRowYvv/wylSpl7sYif39/ateunabN19eXwMBAe/vQoUMZP348VapUoUqVKowfPx4fHx/69OkDQKFChXjqqacYPnw4gYGBFC1alBEjRhAaGkqbNm0cvTSRu8ahyHhemb+bv6JsSzQ8dm85/tO5Br6emfjVkHwVfn4ODi22bTd+Adq+A65al11ERETk3xz6hLRixQq6detGWFgY9913H4ZhsHnzZmrVqsXixYtp27atU4IbOXIkSUlJvPDCC8TGxtKoUSNWrlyJv7+//ZipU6fi5uZGr169SEpKonXr1sycORNXV60TJHIzFqvBV7+f4IOVR0ixWCnm58F7D9ehdY2Stz8ZIPYUzOsD5/eDizt0mQr1++Vs0CIiIiL5mEOJ1//93//xyiuvMHHixHTtr732msOJ17p169Jsm0wmxowZw5gxY256jpeXFx999BEfffSRQ68pcrc5cymR4Qv28OfJSwC0qVGSiQ+HUswv/XOPGQrfZLu1MDEGfEtA79lQrlEORiwiIiKS/zmUeB06dIjvv/8+XfvAgQOZ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ERHJKxS8RETknpUsWRKLxcL+/fudlj/44IMAThelsNvthIeHs3r16uu28+dzqKxWq9M6i8WC3W53bANgyZIlPPDAA07jfHx8nB7/9dDHgQMHsnz5cj755BNKliyJn58fzzzzDOnp6bfxTp39NWgahnHdspu9j6yEhIRw6dKl65ZntR3DMJyWXTuEsXDhwrcuXkREcpSCl4iI3LNChQrRsGFDxo4dS58+fW54nhdA5cqVOXPmDF5eXpQoUeKuXq9s2bL4+Phw4sQJ6tSpc0fPXbduHd26daN169YAJCUlcezYMacx3t7eZGZm3nQ7ZcqU4eeff6ZLly6OZevXr6dMmTJ3VM9fVapUib17997Vc3fv3o3VauWRRx65pxpERCT7KXiJiEi2GDduHLVq1aJq1aoMHz6cChUq4OHhwaZNm9i/fz9VqlQBoEGDBtSoUYNWrVrx0UcfUbp0aU6fPs33339Pq1atsrywxF8FBAQQGxvLa6+9ht1u5/HHHychIYH169eTP39+unbtesPnlixZkvnz59O8eXMsFgtDhw69bg9UiRIlWLt2Le3bt8fHx4eQkJDrtjNw4EDatWvnuDDIokWLmD9/vtMVEu9G48aNeeGFF8jMzMTT0/OOnrtu3Tpq166dI5e9FxGRO6PgJSIi2SI6Oppt27YxYsQI3nrrLU6dOoWPjw9ly5YlNjaWV155Bbh6iNz333/PkCFD6NGjB+fPnycsLIwnnniCIkWK3Pbrvffee4SGhjJy5EiOHDlCgQIFqFy5MoMHD77p80aPHk2PHj2oWbMmISEhvPHGGyQkJDiNeffdd3nppZeIjo4mLS3tukP6AFq1asVnn33Gxx9/TN++fYmKimLy5MnUrVv3tt9DVpo2bYrVamXlypU0btz4jp47a9Ys3nnnnXt6fRERcQ2LkdVPExERETHNuHHj+Pbbb1m+fPltP2fJkiUMHDiQnTt33vVNokVExHX0ySwiIuJmXnzxRS5dukRiYqLTlR1v5sqVK0yePFmhS0TETWmPl4iIiIiIiIt5mF2AiIiIiIjI/U7BS0RERERExMUUvERERERERFxMwUtERERERMTFFLxERERERERcTMFLRERERETExRS8REREREREXEzBS0RERERExMUUvERERERERFzs/wHv06dpJN7BJAAAAABJRU5ErkJggg==",
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "# Program  Fluctuations3.py\n",
        "# Evolution with binary alphabet\n",
        "# The Mutation + MAX Duo is studied.\n",
        "# This programs compares \n",
        "# semiempirical predictions\n",
        "# with\n",
        "# observations in a simulation.\n",
        "\n",
        "import datetime\n",
        "import random\n",
        "import math\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt # Import matplotlib for plotting\n",
        "\n",
        "# target_sequence = 'Methinks it is like a weasel.'\n",
        "# alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "alphabet = '01'\n",
        "target_sequence = '1'*500\n",
        "length_of_target_sequence = len(target_sequence)\n",
        "population_size = 200\n",
        "# Include cloning of the fittest to build the next generation\n",
        "include_clone_population14 = True\n",
        "# Include mutation\n",
        "include_mutate_all14 = True\n",
        "# Include recombination\n",
        "include_crossover_all14 = False\n",
        "mutation_rate = 0.01\n",
        "recombination_rate = 0.01\n",
        "# Boolean flag to print the generation, best chromosome and fitness.\n",
        "# This is the ancestral line of the solution.\n",
        "print_best_fitness = False\n",
        "show_graph = True\n",
        "\n",
        "# Define the parameters (these should ideally be linked to your genetic algorithm parameters)\n",
        "# For now, I'll use example values.\n",
        "mu = 0.01  # Example mutation rate\n",
        "eta = 3.8  # best fitting\n",
        "#eta = 2.5 # functions ok with 3n\n",
        "H = 500  # Example target sequence length\n",
        "#I = 250 # Example initial fitness (around half of H)\n",
        "generation = -1 # Nominal initialization\n",
        "\n",
        "\n",
        "# Define the function M(n)\n",
        "# $M(n) = (1-\\mu)^n I + \\frac{1- (1-\\mu)^n}{ \\mu} (\\frac{1}{2} \\mu H + \\eta )  $\n",
        "def M(n, I, mu, eta):\n",
        "    return (1 - mu)**n * I + ((1 - (1 - mu)**n) / mu) * (mu * H / 2 + eta )\n",
        "    # return (1 - mu)**(3*n) * I + ((1 - (1 - mu)**(3*n)) / mu) * (mu * H / 2 + eta )\n",
        "\n",
        "\n",
        "\n",
        "def print_parameters14():\n",
        "    print(f\"Lab: Simple Genetic Algorithm\")\n",
        "    print(f\"Purpose: comparison of predicted with observed in the Shakespeare challenge\")\n",
        "    print(f\"Date of Experiment  = {datetime.datetime.now()}\")\n",
        "    print(f\"alphabet =  {alphabet}\")\n",
        "    print(f\"target_sequence = {target_sequence}\")\n",
        "    print(f\"length_of_target_sequence = {length_of_target_sequence}\")\n",
        "    print(f\"population_size = {population_size}\")\n",
        "    print(f\"include_clone_population14 = {include_clone_population14}\")\n",
        "    print(f\"include_mutate_all14 = {include_mutate_all14}\")\n",
        "    print(f\"include_crossover_all14 = {include_crossover_all14}\")\n",
        "    if include_mutate_all14:\n",
        "        print(f\"mutation_rate = {mutation_rate}\")\n",
        "    if include_crossover_all14:\n",
        "        print(f\"recombination_rate = {recombination_rate}\")\n",
        "    if include_clone_population14:\n",
        "        print(f\"print_best_fitness = {print_best_fitness}\")\n",
        "\n",
        "\n",
        "def create_population14(population_size, target_sequence, alphabet):\n",
        "    \"\"\"Creates a new population with random chromosomes.\"\"\"\n",
        "    # print(\"create_population9b(population_size, target_sequence, alphabet)\")\n",
        "    population = []\n",
        "    for _ in range(population_size):\n",
        "        random_string = ''.join(random.choice(alphabet) for _ in range(len(target_sequence)))\n",
        "        population.append(random_string)\n",
        "    # print(\"initial population\")\n",
        "    # print(population)\n",
        "    return population\n",
        "\n",
        "def calculate_fitness14(chromosome, target_sequence):\n",
        "    \"\"\"Calculates the fitness of a chromosome based on its similarity to the target sequence.\"\"\"\n",
        "    #  print(\"\\n *calculate_fitness9b(chromosome, target_sequence)\")\n",
        "    fitness = 0\n",
        "    for i in range(len(chromosome)):\n",
        "        if chromosome[i] == target_sequence[i]:\n",
        "            fitness += 1\n",
        "    # print(chromosome, \"  fitness: \", fitness)\n",
        "    return fitness\n",
        "\n",
        "def calculate_all_fitness14(population, target_sequence):\n",
        "    # print(\"\\n*calculate_all_fitness9b(population, target_sequence)\")\n",
        "    \"\"\"Calculates the fitness of all chromosomes in the population.\"\"\"\n",
        "    fitness_scores = [calculate_fitness14(chromosome, target_sequence) for chromosome in population]\n",
        "    # print(\"fitness_scores: \", fitness_scores)\n",
        "    return fitness_scores\n",
        "\n",
        "def select_the_best14(population, target_sequence):\n",
        "    \"\"\"Selects the best chromosome for reproduction.\"\"\"\n",
        "    fitness_scores = calculate_all_fitness14(population, target_sequence)\n",
        "    best_fitness = max(fitness_scores)\n",
        "    best_chromosome_index = fitness_scores.index(best_fitness)\n",
        "    best_chromosome = population[best_chromosome_index]\n",
        "    # print(\"\\n*select_the_best9b(population)\")\n",
        "    # print(\"best_fitness = \", best_fitness)\n",
        "    # print(\"The chro = \", best_chromosome )\n",
        "    return best_fitness, best_chromosome\n",
        "\n",
        "def clone_population14(best_chromosome, population_size):\n",
        "    \"\"\"Creates a new population by cloning the best chromosome.\"\"\"\n",
        "    return [best_chromosome] * population_size\n",
        "\n",
        "\n",
        "def mutate14(chromosome, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates a chromosome.\"\"\"\n",
        "    mutated_chromosome_list = list(chromosome)\n",
        "    for i in range(len(mutated_chromosome_list)):\n",
        "        if random.random() < mutation_rate:\n",
        "                mutated_chromosome_list[i] = random.choice(alphabet)\n",
        "    return \"\".join(mutated_chromosome_list)\n",
        "\n",
        "def mutate_all14(population, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates all chromosomes in the population.\"\"\"\n",
        "    mutated_population = []\n",
        "    for chromosome in population:\n",
        "        mutated_chromosome = mutate14(chromosome, mutation_rate, alphabet)\n",
        "        mutated_population.append(mutated_chromosome)\n",
        "    return mutated_population\n",
        "\n",
        "def crossover14(parent1, parent2, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover between two parent chromosomes.\"\"\"\n",
        "    if random.random() < recombination_rate:\n",
        "        crossover_point = random.randint(0, len(target_sequence))\n",
        "        return parent1[:crossover_point] + parent2[crossover_point:]\n",
        "    else:\n",
        "        return parent1\n",
        "\n",
        "def crossover_all14(population, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover on all chromosomes in the population.\"\"\"\n",
        "    recombinant_population = []\n",
        "    for i in range(len(population)):\n",
        "        parent1 =  population[i]\n",
        "        parent2 = random.choice(population)\n",
        "        child = crossover14(parent1, parent2, target_sequence, recombination_rate)\n",
        "        recombinant_population.append(child)\n",
        "    return recombinant_population\n",
        "\n",
        "\n",
        "\n",
        "def run_one_generation14(population, target_sequence, mutation_rate, recombination_rate, alphabet):\n",
        "    \"\"\"Runs one generation of the genetic algorithm.\"\"\"\n",
        "    # Calculate fitness scores for the current population\n",
        "    best_fitness, best_chromosome  = select_the_best14(population, target_sequence)\n",
        "    # print(f\" best_chromosome {best_chromosome}, best_fitness {best_fitness}\")\n",
        "    # Clone the best to build the new population\n",
        "    new_population = []\n",
        "    if include_clone_population14:\n",
        "        new_population = clone_population14(best_chromosome, population_size)\n",
        "    if include_mutate_all14:\n",
        "        new_population = mutate_all14(new_population, mutation_rate, alphabet)\n",
        "    if include_crossover_all14:\n",
        "        new_population = crossover_all14(new_population, target_sequence, recombination_rate)\n",
        "    return best_fitness, best_chromosome, new_population\n",
        "\n",
        "\n",
        "\n",
        "def main14( target_sequence, mutation_rate, recombination_rate, alphabet):\n",
        "    print_parameters14()\n",
        "    population = create_population14(population_size, target_sequence, alphabet)\n",
        "    # print(population)\n",
        "    best_fitness, best_chromosome = select_the_best14(population, target_sequence)\n",
        "    I = best_fitness\n",
        "    best_fitness_history = [] \n",
        "    best_fitness_history.append(best_fitness)\n",
        "    generation = 0\n",
        "    best_chromosome = ''\n",
        "    # List to store best fitness of each generation\n",
        "    if print_best_fitness:\n",
        "        print(\"Generation, best_chromosome and best_fitness\")\n",
        "    while best_fitness < len(target_sequence):\n",
        "    #while generation < 10000:\n",
        "        generation += 1\n",
        "        best_fitness, best_chromosome, population = run_one_generation14(population, target_sequence, mutation_rate, recombination_rate, alphabet)\n",
        "        if print_best_fitness:\n",
        "            print(f\" {generation}  {best_chromosome} {best_fitness}\")\n",
        "        best_fitness_history.append(best_fitness)\n",
        "    print(f\"\\nTarget sequence matched in generation {generation}\")\n",
        "    print(f\"Final chromosome: {best_chromosome}\")\n",
        "    totalCost = population_size * generation\n",
        "    print(f\"Total cost = population size * number of generations: {totalCost}\")\n",
        "\n",
        "    #Preparation for graphs\n",
        "\n",
        "    # Generate a range of generations\n",
        "    n_values = np.arange(0, generation + 1)\n",
        "\n",
        "    # Calculate M(n) for each generation\n",
        "    M_values = M(n_values, I, mu, eta)\n",
        "    # Graphs\n",
        "    if show_graph:\n",
        "        plt.figure(figsize=(10, 6))\n",
        "        plt.plot(best_fitness_history)\n",
        "        plt.xlabel('Generation (n)')\n",
        "        plt.ylabel('Number of Matched Sites (M)')\n",
        "        plt.title('Observed and Theoretical Model: M(n)')\n",
        "        plt.grid(True)\n",
        "        # Plot the theoretical function\n",
        "        plt.plot(n_values, M_values)\n",
        "        plt.legend(['Observed', f'Theoretical, eta = {eta}'])\n",
        "        plt.show()\n",
        "\n",
        "main14( target_sequence, mutation_rate, recombination_rate, alphabet)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "*Our comments.* The shape of both graphs, expected and observed, is very similar, but one must play with the assignment of the value of $\\eta$ to get a good fit:\n",
        "\n",
        "- The observed graph is above the predicted when $\\eta = 3.1$.\n",
        "- The observed graph coincides with the predicted for $\\eta = 3.9$ when the fitness is less than 93\\% of the maximal value, given by $H$ the length of the target string.\n",
        "- The observed graph is below the predicted when $\\eta = 4.7$.\n",
        "- It seemed that in the math model, time flows a bit slower than needed. The original prediction was\n",
        ">>>\n",
        ">>> $M(n) = (1-\\mu)^n I + \\frac{1- (1-\\mu)^n}{ \\mu} (\\frac{1}{2} \\mu H + \\eta )  $\n",
        ">>>\n",
        ">>> So, we accelerated time trice to get\n",
        ">>>\n",
        ">>> $M(n) = (1-\\mu)^(3*n) I + \\frac{1- (1-\\mu)^(3*n)}{ \\mu} (\\frac{1}{2} \\mu H + \\eta )  $\n",
        ">>>\n",
        ">>>  where $n$ was the generation, $M(n)$ was the number of matched sites at generation $n$,  $\\eta$ takes the value 2.5, $I$ is the initial fitness, that of the best exponent of the created population, which is above the half of the length of the target string, and $ \\mu$ is the mutation rate. \n",
        "\n",
        "By accelerating the graph three times and making $\\eta = 2.5$, the graphs now looked very much alike. This amendment shows that we can fit the phenomenology, but lack a full-fledged understanding. \n",
        "\n",
        "In conclusion, a constant value of fluctuations seems to work quite well but not perfectly.  Anyway, we feel very confident in our belief that fluctuations are the fuel of Evolution. These are profited by MAX, by the selection of the fittest, to depart from mediocrity to reach perfection.\n",
        "\n",
        "> *Challenge.* We have given fluctuations a constant magnitude. Use a varying parameter instead, as it has been seen in the simulations, and achieve a perfect fit between our model and the results of the simulations. Does this directive solve all of our problems? "
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# SKY-ROCKET TEST\n",
        "\n",
        "We have found that Evolution restricted to the Mutation-MAX-Duo is a powerful algorithm that uses MAX as a fundamental building block. MAX is the mathematical formulation of the evolutionary procedure of selection of the fittest. MAX is good at picking up quality, but not good enough to battle complexity. So, the MAX-rocket challenge was formulated. It consists of developing an algorithm that uses MAX and skyrockets its capability to battle complexity. We have witnessed that our mutation-MAX-duo can solve binary strings 500 bits long. Thus, it is a good candidate to solve the MAX-Rocket challenge. Let us test it to see what it gives of itself.\n",
        "\n",
        "**Technical problem.** \n",
        "\n",
        "We explain now why we abandon perfection.\n",
        "\n",
        "By running simulations with diverse degrees of complexity, we rapidly arrive to the conclusion that CPU-time grows disproportionately. So, How can we get enough data to compare observed with predicted?\n",
        "\n",
        "Let us propose the following procedure as a realizable method to estimate the cost of Evolution under our setting of *mutation + selection and cloning of the fittest*. Instead of inquiring the cost of perfection, we might study the cost of achieving 80% of the task as a function of the length of the target sequence. We call this setting **Truncated Evolution**. It truncates the fitness, not the target strings. \n",
        "\n",
        "Why does this procedure help?\n",
        "\n",
        "The reason is that the graph of the number of matched sites begins as an increasing function and reaches a plateau near perfection, where the process advances very slowly. So, perfection is associated with too much CPU time, one gets too few data and no conclusion is believable. But, if the fitness is truncated, one enjoys a rapid process that allows one to get many data from which believable, maybe convincing, conclusions can be extracted. \n",
        "  \n",
        "Our first task is to develop the code that includes a varying percentage of the task:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Lab: Simple Genetic Algorithm\n",
            "Purpose: comparison of predicted with observed in the Shakespeare challenge\n",
            "Date of Experiment  = 2026-02-10 08:37:16.547752\n",
            "alphabet =  01\n",
            "length_of_target_sequence = 500\n",
            "percentageOfTask = 0.8\n",
            "population_size = 200\n",
            "include_clone_population15 = True\n",
            "include_mutate_all15 = True\n",
            "include_crossover_all15 = False\n",
            "mutation_rate = 0.01\n",
            "print_best_fitness = False\n",
            "\n",
            "Target sequence matched in generation 36\n",
            "Final chromosome: 11111111111110111111110011110101111111111111001111111111111101011101110011111111110111111001101001111011011111011011001101111111100111111111110110110111111111010110111100011110111111001111111111111110111011110111011110011101111111011111111110010101101111100001111011111111110111111111111011001111010111101111111101011110111111110111111101111011111110111011110101101111111111101111101111011110110111011110111111101001111011110011111010111111111111101111110011110011011011111111111111011110111111101111\n",
            "Total cost = population size * number of generations: 7200\n"
          ]
        },
        {
          "data": {
            "image/png": "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ZcuWwcvLC15eXli2bBmMjIwwdepUAIC5uTnmzJmDhQsXwsrKCpaWlli0aBF8fHyUv1okIiIi0jatBq7k5GQ8/fTTuHfvHtq3b4/AwECcOnUKLi4uAIDXXnsNxcXFmDt3LrKzsxEQEICDBw/C9L7rKlauXAk9PT1MmTIFxcXFGDp0KDZv3gxdXV1tNYuIiIhIhVYD144dO+p9XiKRICwsDGFhYXXOY2BggDVr1mDNmjVqro6IiIhIPZrVNVxERERErREDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGMXARERERaRgDFxEREZGGNZvAtXz5ckgkEoSGhiqnzZo1CxKJROVfYGCgynKlpaWYP38+rK2tYWxsjHHjxiE5OfkRV09ERERUt2YRuKKjo/Hll1/C19e3xnMjRoxAWlqa8t/+/ftVng8NDcXu3buxY8cO/P777ygoKMCYMWOgUCgeVflERERE9dJ64CooKMC0adPw1VdfwcLCosbzMpkMdnZ2yn+WlpbK53Jzc7Fx40b873//w7Bhw9CzZ09s27YN8fHxOHTo0KNsBhEREVGd9LRdwIsvvojRo0dj2LBheO+992o8HxkZCRsbG7Rr1w6DBg3C+++/DxsbGwBATEwM5HI5QkJClPM7ODjA29sbJ06cwPDhw2t9zdLSUpSWliof5+XlAQDkcjnkcrna2la1LnWus6Vp633Q1tsPsA/aevsB9gHbr7n2t6Q+1Wrg2rFjB2JjYxEdHV3r8yNHjsQTTzwBFxcXJCYmYsmSJQgKCkJMTAxkMhnS09Ohr69f48yYra0t0tPT63zd5cuXY+nSpTWmHzx4EEZGRg/XqFpERESofZ0tTVvvg7befoB90NbbD7AP2H71t7+oqEjt69QUrQWupKQkLFiwAAcPHoSBgUGt8zz55JPK/3t7e6NXr15wcXHBL7/8gokTJ9a5biEEJBJJnc8vXrwYr7zyivJxXl4enJ2dERISAjMzswdoTe3kcjkiIiIQHBwMqVSqtvW2JG29D9p6+wH2QVtvP8A+YPs11/6qb6haAq0FrpiYGGRkZMDf3185TaFQ4NixY1i7di1KS0uhq6ursoy9vT1cXFyQkJAAALCzs0NZWRmys7NVznJlZGSgX79+db62TCaDTCarMV0qlWrkzaCp9bYkbb0P2nr7AfZBW28/wD5g+9Xf/pbUn1q7aH7o0KGIj4/HuXPnlP969eqFadOm4dy5czXCFgBkZmYiKSkJ9vb2AAB/f39IpVKV05RpaWm4ePFivYGLiIiI6FHS2hkuU1NTeHt7q0wzNjaGlZUVvL29UVBQgLCwMEyaNAn29va4efMm3nzzTVhbW2PChAkAAHNzc8yZMwcLFy6ElZUVLC0tsWjRIvj4+GDYsGHaaBYRERFRDVr/lWJddHV1ER8fj61btyInJwf29vYYMmQIdu7cCVNTU+V8K1euhJ6eHqZMmYLi4mIMHToUmzdvrvUMGREREZE2NKvAFRkZqfy/oaEhfvvttwaXMTAwwJo1a7BmzRoNVkZERET04LQ+8CkRERFRa8fARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDFxEREREGsbARURERKRhDx248vLysGfPHly+fFkd9RARERG1Ok0OXFOmTMHatWsBAMXFxejVqxemTJkCX19f7Nq1S+0FEhEREbV0TQ5cx44dw8CBAwEAu3fvhhACOTk5+PTTT/Hee++pvUAiIiKilq7JgSs3NxeWlpYAgAMHDmDSpEkwMjLC6NGjkZCQoPYCiYiIiFq6JgcuZ2dnnDx5EoWFhThw4ABCQkIAANnZ2TAwMFB7gUREREQtnV5TFwgNDcW0adNgYmICFxcXDB48GEDlV40+Pj7qro+IiIioxWty4Jo7dy769OmDpKQkBAcHQ0en8iSZu7s7r+EiIiIiqkWTAxcA9OrVC7169QIAKBQKxMfHo1+/frCwsFBrcUREREStQZOv4QoNDcXGjRsBVIatQYMGwc/PD87OzoiMjFR3fUREREQtXpMD148//oju3bsDAPbu3YvExERcuXIFoaGheOutt9ReIBEREVFL1+TAde/ePdjZ2QEA9u/fjyeeeAIdO3bEnDlzEB8fr/YCiYiIiFq6JgcuW1tb/Pnnn1AoFDhw4ACGDRsGACgqKoKurq7aCyQiIiJq6Zp80fzs2bMxZcoU2NvbQyKRIDg4GABw+vRpdO7cWe0FEhEREbV0TQ5cYWFh8Pb2RlJSEp544gnIZDIAgK6uLt544w21F0hERETU0j3QsBCTJ08GAJSUlCinzZw5Uz0VEREREbUyTb6GS6FQ4L///S8cHR1hYmKCGzduAACWLFmiHC6CiIiIiP7R5MD1/vvvY/PmzVixYgX09fWV0318fLBhwwa1FkdERETUGjQ5cG3duhVffvklpk2bpvKrRF9fX1y5ckWtxRERERG1Bk0OXCkpKfD09KwxvaKiAnK5XC1FEREREbUmTQ5c3bp1w/Hjx2tM/+GHH9CzZ0+1FEVERETUmjT5V4rvvvsupk+fjpSUFFRUVCA8PBxXr17F1q1bsW/fPk3USERERNSiNfkM19ixY7Fz507s378fEokE77zzDi5fvoy9e/cqB0ElIiIion880Dhc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",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "# Program TruncatedEvolution.py\n",
        "# This program estimates \n",
        "# the  dynamics of the best fitness\n",
        "# until reaching a percentage of perfection, \n",
        "# say, 80%.\n",
        "\n",
        "import datetime\n",
        "import random\n",
        "import math\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt # Import matplotlib for plotting\n",
        "\n",
        "# target_sequence = 'Methinks it is like a weasel.'\n",
        "alphabet = '01'\n",
        "target_sequence = '1'*500\n",
        "length_of_target_sequence = len(target_sequence)\n",
        "percentageOfTask = 0.80\n",
        "population_size = 200\n",
        "# Include cloning of the fittest\n",
        "include_clone_population15 = True\n",
        "# Include mutation\n",
        "include_mutate_all15 = True\n",
        "# Include recombination\n",
        "include_crossover_all15 = False\n",
        "mutation_rate = 0.01\n",
        "recombination_rate = 0.01\n",
        "# alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "# Boolean flag to print the generation, best chromosome and fitness.\n",
        "# This is the ancestral line of the solution.\n",
        "print_best_fitness = False\n",
        "print_target_sequence = False\n",
        "show_graph = True\n",
        "\n",
        "\n",
        "def print_parameters15():\n",
        "    print(f\"Lab: Simple Genetic Algorithm\")\n",
        "    print(f\"Purpose: comparison of predicted with observed in the Shakespeare challenge\")\n",
        "    print(f\"Date of Experiment  = {datetime.datetime.now()}\")\n",
        "    print(f\"alphabet =  {alphabet}\")\n",
        "    if print_target_sequence:\n",
        "        print(f\"target_sequence = {target_sequence}\")\n",
        "    print(f\"length_of_target_sequence = {length_of_target_sequence}\")\n",
        "    print(f\"percentageOfTask = {percentageOfTask}\")\n",
        "    print(f\"population_size = {population_size}\")\n",
        "    print(f\"include_clone_population15 = {include_clone_population15}\")\n",
        "    print(f\"include_mutate_all15 = {include_mutate_all15}\")\n",
        "    print(f\"include_crossover_all15 = {include_crossover_all15}\")\n",
        "    if include_mutate_all15:\n",
        "        print(f\"mutation_rate = {mutation_rate}\")\n",
        "    if include_crossover_all15:\n",
        "        print(f\"recombination_rate = {recombination_rate}\")\n",
        "    if include_clone_population15:\n",
        "        print(f\"print_best_fitness = {print_best_fitness}\")\n",
        "\n",
        "\n",
        "def create_population15(population_size, target_sequence, alphabet):\n",
        "    \"\"\"Creates a new population with random chromosomes.\"\"\"\n",
        "    # print(\"create_population15(population_size, target_sequence, alphabet)\")\n",
        "    population = []\n",
        "    for _ in range(population_size):\n",
        "        random_string = ''.join(random.choice(alphabet) for _ in range(len(target_sequence)))\n",
        "        population.append(random_string)\n",
        "    # print(\"initial population\")\n",
        "    # print(population)\n",
        "    return population\n",
        "\n",
        "def calculate_fitness15(chromosome, target_sequence):\n",
        "    \"\"\"Calculates the fitness of a chromosome based on its similarity to the target sequence.\"\"\"\n",
        "    #  print(\"\\n *calculate_fitness15(chromosome, target_sequence)\")\n",
        "    fitness = 0\n",
        "    for i in range(len(chromosome)):\n",
        "        if chromosome[i] == target_sequence[i]:\n",
        "            fitness += 1\n",
        "    # print(chromosome, \"  fitness: \", fitness)\n",
        "    return fitness\n",
        "\n",
        "def calculate_all_fitness15(population, target_sequence):\n",
        "    # print(\"\\n*calculate_all_fitness15(population, target_sequence)\")\n",
        "    \"\"\"Calculates the fitness of all chromosomes in the population.\"\"\"\n",
        "    fitness_scores = [calculate_fitness15(chromosome, target_sequence) for chromosome in population]\n",
        "    # print(\"fitness_scores: \", fitness_scores)\n",
        "    return fitness_scores\n",
        "\n",
        "def select_the_best15(population, target_sequence):\n",
        "    \"\"\"Selects the best chromosome for reproduction.\"\"\"\n",
        "    fitness_scores = calculate_all_fitness15(population, target_sequence)\n",
        "    best_fitness = max(fitness_scores)\n",
        "    best_chromosome_index = fitness_scores.index(best_fitness)\n",
        "    best_chromosome = population[best_chromosome_index]\n",
        "    # print(\"\\n*select_the_best15(population)\")\n",
        "    # print(\"best_fitness = \", best_fitness)\n",
        "    # print(\"The chro = \", best_chromosome )\n",
        "    return best_fitness, best_chromosome\n",
        "\n",
        "def clone_population15(best_chromosome, population_size):\n",
        "    \"\"\"Creates a new population by cloning the best chromosome.\"\"\"\n",
        "    return [best_chromosome] * population_size\n",
        "\n",
        "\n",
        "def mutate15(chromosome, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates a chromosome.\"\"\"\n",
        "    mutated_chromosome_list = list(chromosome)\n",
        "    for i in range(len(mutated_chromosome_list)):\n",
        "        if random.random() < mutation_rate:\n",
        "                mutated_chromosome_list[i] = random.choice(alphabet)\n",
        "    return \"\".join(mutated_chromosome_list)\n",
        "\n",
        "def mutate_all15(population, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates all chromosomes in the population.\"\"\"\n",
        "    mutated_population = []\n",
        "    for chromosome in population:\n",
        "        mutated_chromosome = mutate15(chromosome, mutation_rate, alphabet)\n",
        "        mutated_population.append(mutated_chromosome)\n",
        "    return mutated_population\n",
        "\n",
        "def crossover15(parent1, parent2, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover between two parent chromosomes.\"\"\"\n",
        "    if random.random() < recombination_rate:\n",
        "        crossover_point = random.randint(0, len(target_sequence))\n",
        "        return parent1[:crossover_point] + parent2[crossover_point:]\n",
        "    else:\n",
        "        return parent1\n",
        "\n",
        "def crossover_all15(population, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover on all chromosomes in the population.\"\"\"\n",
        "    recombinant_population = []\n",
        "    for i in range(len(population)):\n",
        "        parent1 =  population[i]\n",
        "        parent2 = random.choice(population)\n",
        "        child = crossover15(parent1, parent2, target_sequence, recombination_rate)\n",
        "        recombinant_population.append(child)\n",
        "    return recombinant_population\n",
        "\n",
        "\n",
        "\n",
        "def run_one_generation15(population, target_sequence, mutation_rate, recombination_rate, alphabet):\n",
        "    \"\"\"Runs one generation of the genetic algorithm.\"\"\"\n",
        "    # Calculate fitness scores for the current population\n",
        "    best_fitness, best_chromosome  = select_the_best15(population, target_sequence)\n",
        "    # print(f\" best_chromosome {best_chromosome}, best_fitness {best_fitness}\")\n",
        "    # Clone the best to build the new population\n",
        "    new_population = []\n",
        "    if include_clone_population15:\n",
        "        new_population = clone_population15(best_chromosome, population_size)\n",
        "    if include_mutate_all15:\n",
        "        new_population = mutate_all15(new_population, mutation_rate, alphabet)\n",
        "    if include_crossover_all15:\n",
        "        new_population = crossover_all15(new_population, target_sequence, recombination_rate)\n",
        "    return best_fitness, best_chromosome, new_population\n",
        "\n",
        "\n",
        "\n",
        "def plot_function15(best_fitness_history, xlabel, ylabel, title):\n",
        "    # Plot the fitness history\n",
        "    plt.plot(best_fitness_history)\n",
        "    plt.axhline(y=length_of_target_sequence, color='red', linestyle='--', linewidth=2)\n",
        "\n",
        "    plt.xlabel(xlabel)\n",
        "    plt.ylabel(ylabel)\n",
        "    plt.title(title)\n",
        "    plt.grid(True)\n",
        "    plt.show()\n",
        "\n",
        "\n",
        "def main15( target_sequence, mutation_rate, recombination_rate, alphabet, percentageOfTask):\n",
        "    print_parameters15()\n",
        "    population = create_population15(population_size, target_sequence, alphabet)\n",
        "    # print(population)\n",
        "    generation = 0\n",
        "    best_chromosome = ''\n",
        "    best_fitness = 0\n",
        "    best_fitness_history = [] # List to store best fitness of each generation\n",
        "    truncation = str(percentageOfTask) + \" of perfection\"\n",
        "    if print_best_fitness:\n",
        "        print(\"Generation, best_chromosome and best_fitness\")\n",
        "    while best_fitness < percentageOfTask * len(target_sequence):\n",
        "        generation += 1\n",
        "        best_fitness, best_chromosome, population = run_one_generation15(population, target_sequence, mutation_rate, recombination_rate, alphabet)\n",
        "        if print_best_fitness:\n",
        "            print(f\" {generation}  {best_chromosome} {best_fitness}\")\n",
        "        best_fitness_history.append(best_fitness)\n",
        "    print(f\"\\nTarget sequence matched in generation {generation}\")\n",
        "    print(f\"Final chromosome: {best_chromosome}\")\n",
        "    totalCost = population_size * generation\n",
        "    print(f\"Total cost = population size * number of generations: {totalCost}\")\n",
        "\n",
        "    if show_graph:\n",
        "        xlabel = 'Generation'\n",
        "        ylabel = 'Best Fitness'\n",
        "        title = 'Observed- Fitness over Generations, truncation at ' + truncation\n",
        "        \n",
        "        plot_function15(best_fitness_history, xlabel, ylabel, title)\n",
        "\n",
        "\n",
        "\n",
        "main15( target_sequence, mutation_rate, recombination_rate, alphabet, percentageOfTask)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "*Our comments.* Now that we have included the desired percentage of the task to be done, we can pass to estimate the cost of *Truncated Evolution*, when it is truncated before arriving at perfection. We truncate it at 80%. It was initially truncated to 95% and programmed to run until a length of 2500 bits by steps of 50, but it only reached 1450 after 1 hour, while 7 more hours were not enough to reach the next step, which was 1500. This disproportionate cost of Truncated Evolution sounds exponential. Is that true? Let us see.\n",
        "\n",
        "**Example.** The next code estimates the cost of Evolution to solve the **Evolutionary Truncated Shakespeare Challenge**, which consists of matching a percentage of a given string. The target string is not trimmed. Instead, the final fitness is not perfection but quasi-perfection, determined by a percentage of 80%. The cost is given as a function of the length of the target sequence. The following experiment (8 points and step_size = 500) needs 20 minutes to run on an ordinary desktop. "
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Lab: Cost of truncated Evolution\n",
            "Purpose: estimation of the cost to solve the Truncated Shakespeare challenge\n",
            "Date of beginning of Experiment  = 2026-02-03 08:41:58.621194\n",
            "number_of_points = 8\n",
            "step_size = 500\n",
            "alphabet =  01\n",
            "percentageOfTask = 0.8\n",
            "population_size = 200\n",
            "include_clone_population16 = True\n",
            "include_mutate_all16 = True\n",
            "include_crossover_all16 = False\n",
            "mutation_rate = 0.01\n",
            "print_best_fitness = False\n",
            "Length of target sequence and Total cost = population size * number of generations\n",
            "500    7400\n",
            "1000    12600\n",
            "1500    18600\n",
            "2000    24400\n",
            "2500    31600\n",
            "3000    40800\n",
            "3500    59400\n",
            "4000    1556400\n",
            "[500, 1000, 1500, 2000, 2500, 3000, 3500, 4000]\n",
            "[7400, 12600, 18600, 24400, 31600, 40800, 59400, 1556400]\n"
          ]
        },
        {
          "data": {
            "image/png": "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",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "image/png": "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",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Script execution time: 1079.5483 seconds\n"
          ]
        }
      ],
      "source": [
        "# Program  CostOfTruncatedEvolution.py\n",
        "# This program estimates the cost of Evolution\n",
        "# to solve\n",
        "# the Evolutionary Truncated Shakespeare Challenge,\n",
        "# which consists in matching a percentage of a given string.\n",
        "# The cost is given as a function on\n",
        "# the length of the target sequence.\n",
        "\n",
        "import datetime\n",
        "import random\n",
        "import math\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt # Import matplotlib for plotting\n",
        "import datetime\n",
        "import time\n",
        "\n",
        "# NUmber of points in the graph\n",
        "number_of_points = 8\n",
        "# step size for length of target sequence\n",
        "step_size = 500\n",
        "# target_sequence = 'Methinks it is like a weasel.'\n",
        "alphabet = '01'\n",
        "# alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "# length_of_target_sequence = varying, specified in the loop below\n",
        "# target_sequence = '1'*length_of_target_sequence\n",
        "percentageOfTask = 0.80\n",
        "population_size = 200\n",
        "# Include cloning of the fittest\n",
        "include_clone_population16 = True\n",
        "# Include mutation\n",
        "include_mutate_all16 = True\n",
        "# Include recombination\n",
        "include_crossover_all16 = False\n",
        "mutation_rate = 0.01\n",
        "recombination_rate = 0.01\n",
        "# Boolean flag to print the generation, best chromosome and fitness.\n",
        "# This is the ancestral line of the solution.\n",
        "print_best_fitness = False\n",
        "print_parameters = True\n",
        "show_graph = True\n",
        "\n",
        "start_time = time.time() # Record the start time\n",
        "\n",
        "\n",
        "\n",
        "def print_parameters16():\n",
        "    print(f\"Lab: Cost of truncated Evolution\")\n",
        "    print(f\"Purpose: estimation of the cost to solve the Truncated Shakespeare challenge\")\n",
        "    print(f\"Date of beginning of Experiment  = {datetime.datetime.now()}\")\n",
        "    print(f\"number_of_points = {number_of_points}\")\n",
        "    print(f\"step_size = {step_size}\")\n",
        "    print(f\"alphabet =  {alphabet}\")\n",
        "    print(f\"percentageOfTask = {percentageOfTask}\")\n",
        "    print(f\"population_size = {population_size}\")\n",
        "    print(f\"include_clone_population16 = {include_clone_population16}\")\n",
        "    print(f\"include_mutate_all16 = {include_mutate_all16}\")\n",
        "    print(f\"include_crossover_all16 = {include_crossover_all16}\")\n",
        "    if include_mutate_all16:\n",
        "        print(f\"mutation_rate = {mutation_rate}\")\n",
        "    if include_crossover_all16:\n",
        "        print(f\"recombination_rate = {recombination_rate}\")\n",
        "    if include_clone_population16:\n",
        "        print(f\"print_best_fitness = {print_best_fitness}\")\n",
        "\n",
        "\n",
        "def create_population16(population_size, target_sequence, alphabet):\n",
        "    \"\"\"Creates a new population with random chromosomes.\"\"\"\n",
        "    # print(\"create_population16(population_size, target_sequence, alphabet)\")\n",
        "    population = []\n",
        "    for _ in range(population_size):\n",
        "        random_string = ''.join(random.choice(alphabet) for _ in range(len(target_sequence)))\n",
        "        population.append(random_string)\n",
        "    # print(\"initial population\")\n",
        "    # print(population)\n",
        "    return population\n",
        "\n",
        "def calculate_fitness16(chromosome, target_sequence):\n",
        "    \"\"\"Calculates the fitness of a chromosome based on its similarity to the target sequence.\"\"\"\n",
        "    #  print(\"\\n *calculate_fitness16(chromosome, target_sequence)\")\n",
        "    fitness = 0\n",
        "    for i in range(len(chromosome)):\n",
        "        if chromosome[i] == target_sequence[i]:\n",
        "            fitness += 1\n",
        "    # print(chromosome, \"  fitness: \", fitness)\n",
        "    return fitness\n",
        "\n",
        "def calculate_all_fitness16(population, target_sequence):\n",
        "    # print(\"\\n*calculate_all_fitness16(population, target_sequence)\")\n",
        "    \"\"\"Calculates the fitness of all chromosomes in the population.\"\"\"\n",
        "    fitness_scores = [calculate_fitness16(chromosome, target_sequence) for chromosome in population]\n",
        "    # print(\"fitness_scores: \", fitness_scores)\n",
        "    return fitness_scores\n",
        "\n",
        "def select_the_best16(population, target_sequence):\n",
        "    \"\"\"Selects the best chromosome for reproduction.\"\"\"\n",
        "    fitness_scores = calculate_all_fitness16(population, target_sequence)\n",
        "    best_fitness = max(fitness_scores)\n",
        "    best_chromosome_index = fitness_scores.index(best_fitness)\n",
        "    best_chromosome = population[best_chromosome_index]\n",
        "    # print(\"\\n*select_the_best16(population)\")\n",
        "    # print(\"best_fitness = \", best_fitness)\n",
        "    # print(\"The chro = \", best_chromosome )\n",
        "    return best_fitness, best_chromosome\n",
        "\n",
        "def clone_population16(best_chromosome, population_size):\n",
        "    \"\"\"Creates a new population by cloning the best chromosome.\"\"\"\n",
        "    return [best_chromosome] * population_size\n",
        "\n",
        "\n",
        "def mutate16(chromosome, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates a chromosome.\"\"\"\n",
        "    mutated_chromosome_list = list(chromosome)\n",
        "    for i in range(len(mutated_chromosome_list)):\n",
        "        if random.random() < mutation_rate:\n",
        "                mutated_chromosome_list[i] = random.choice(alphabet)\n",
        "    return \"\".join(mutated_chromosome_list)\n",
        "\n",
        "def mutate_all16(population, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates all chromosomes in the population.\"\"\"\n",
        "    mutated_population = []\n",
        "    for chromosome in population:\n",
        "        mutated_chromosome = mutate16(chromosome, mutation_rate, alphabet)\n",
        "        mutated_population.append(mutated_chromosome)\n",
        "    return mutated_population\n",
        "\n",
        "def crossover16(parent1, parent2, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover between two parent chromosomes.\"\"\"\n",
        "    if random.random() < recombination_rate:\n",
        "        crossover_point = random.randint(0, len(target_sequence))\n",
        "        return parent1[:crossover_point] + parent2[crossover_point:]\n",
        "    else:\n",
        "        return parent1\n",
        "\n",
        "def crossover_all16(population, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover on all chromosomes in the population.\"\"\"\n",
        "    recombinant_population = []\n",
        "    for i in range(len(population)):\n",
        "        parent1 =  population[i]\n",
        "        parent2 = random.choice(population)\n",
        "        child = crossover16(parent1, parent2, target_sequence, recombination_rate)\n",
        "        recombinant_population.append(child)\n",
        "    return recombinant_population\n",
        "\n",
        "\n",
        "\n",
        "def run_one_generation16(population, target_sequence, mutation_rate, recombination_rate, alphabet):\n",
        "    \"\"\"Runs one generation of the genetic algorithm.\"\"\"\n",
        "    # Calculate fitness scores for the current population\n",
        "    best_fitness, best_chromosome  = select_the_best16(population, target_sequence)\n",
        "    # print(f\" best_chromosome {best_chromosome}, best_fitness {best_fitness}\")\n",
        "    # Clone the best to build the new population\n",
        "    new_population = []\n",
        "    if include_clone_population16:\n",
        "        new_population = clone_population16(best_chromosome, population_size)\n",
        "    if include_mutate_all16:\n",
        "        new_population = mutate_all16(new_population, mutation_rate, alphabet)\n",
        "    if include_crossover_all16:\n",
        "        new_population = crossover_all16(new_population, target_sequence, recombination_rate)\n",
        "    return best_fitness, best_chromosome, new_population\n",
        "\n",
        "\n",
        "\n",
        "def plot_function16(best_fitness_history, xlabel, ylabel, title):\n",
        "    # Plot the fitness history\n",
        "    plt.plot(best_fitness_history)\n",
        "    plt.xlabel(xlabel)\n",
        "    plt.ylabel(ylabel)\n",
        "    plt.title(title)\n",
        "    plt.grid(True)\n",
        "    plt.show()\n",
        "\n",
        "\n",
        "def truncated_task16( target_sequence, mutation_rate, recombination_rate, alphabet, percentageOfTask):\n",
        "    if print_parameters:\n",
        "        print_parameters16()\n",
        "    population = create_population16(population_size, target_sequence, alphabet)\n",
        "    # print(population)\n",
        "    generation = 0\n",
        "    best_chromosome = ''\n",
        "    best_fitness = 0\n",
        "    best_fitness_history = [] # List to store best fitness of each generation\n",
        "    if print_best_fitness:\n",
        "        print(\"Generation, best_chromosome and best_fitness\")\n",
        "    while best_fitness < percentageOfTask * len(target_sequence):\n",
        "        generation += 1\n",
        "        best_fitness, best_chromosome, population = run_one_generation16(population, target_sequence, mutation_rate, recombination_rate, alphabet)\n",
        "        if print_best_fitness:\n",
        "            print(f\" {generation}  {best_chromosome} {best_fitness}\")\n",
        "        best_fitness_history.append(best_fitness)\n",
        "    # print(f\"\\nTarget sequence matched in generation {generation}\")\n",
        "    # print(f\"Final chromosome: {best_chromosome}\")\n",
        "    totalCost = population_size * generation\n",
        "    print(f\"{len(target_sequence)}    {totalCost}\")\n",
        "    return len(target_sequence), totalCost\n",
        "\n",
        "\n",
        "print_parameters16()\n",
        "print_parameters = False\n",
        "xArray = []\n",
        "yArray = []\n",
        "print(f\"Length of target sequence and Total cost = population size * number of generations\")\n",
        "for i in range(1, number_of_points + 1):\n",
        "    target_sequence = '1'*step_size * i\n",
        "    x, y = truncated_task16(target_sequence, mutation_rate, recombination_rate, alphabet, percentageOfTask)\n",
        "    xArray.append(x)\n",
        "    yArray.append(y)\n",
        "print(xArray)\n",
        "print(yArray)\n",
        "\n",
        "\n",
        "fig, ax = plt.subplots()\n",
        "ax.plot(xArray, yArray, linewidth=2, label=r\"Truncation percentage = 80%\")\n",
        "ax.set( xlabel=\"Generation\")\n",
        "ax.legend(fontsize=14)\n",
        "ax.set_ylabel('Cost')\n",
        "ax.set_title('Cost of Truncated Evolution vs Generation')\n",
        "plt.show()\n",
        "\n",
        "log_y_array = np.log(yArray)\n",
        "fig, ax = plt.subplots()\n",
        "ax.plot(xArray, log_y_array, linewidth=2, label=r\"Truncation percentage = 80%\")\n",
        "ax.set( xlabel=\"Generation\")\n",
        "ax.legend(fontsize=14)\n",
        "ax.set_ylabel('Log of cost')\n",
        "ax.set_title('Log of Cost of Truncated Evolution vs Generation')\n",
        "plt.show()\n",
        "\n",
        "end_time = time.time() # Record the end time\n",
        "elapsed_time = end_time - start_time\n",
        "print(f\"Script execution time: {elapsed_time:.4f} seconds\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "\n",
        "*Our comments.* The cost does not seem to be exponential because the graph of the regression is not a straight line. The used step-size was 500.\n",
        "\n",
        "What happens when the task is calculated with step-size of 50?\n",
        "\n",
        "Results of a long experiment. Duration: less than 16 hours in a normal desktop. \n",
        "\n",
        "Lab: Cost of truncated Evolution  \n",
        "Purpose: estimation of the cost to solve the Truncated  Shakespeare challenge\n",
        "Date of beginning of Experiment  = 2026-02-02 14:48:39.252456  \n",
        "alphabet =  01  \n",
        "percentageOfTask = 0.8  \n",
        "population_size = 200  \n",
        "include_clone_population16 = True  \n",
        "include_mutate_all16 = True  \n",
        "include_crossover_all16 = False  \n",
        "mutation_rate = 0.01  \n",
        "print_best_fitness = False  \n",
        "\n",
        "Length of target sequence and Total cost = population size * number of generations  \n",
        "50    1400   \n",
        "100    2200   \n",
        "150    3000   \n",
        "200    3600   \n",
        "250    4800  \n",
        "300    4600  \n",
        "350    5200  \n",
        "400    6200  \n",
        "450    7200  \n",
        "500    7600  \n",
        "550    8000  \n",
        "600    8200  \n",
        "650    9000  \n",
        "700    9800  \n",
        "750    10000  \n",
        "800    11000  \n",
        "850    11200  \n",
        "900    12000  \n",
        "950    12600  \n",
        "1000    13800  \n",
        "1050    12800  \n",
        "1100    14000  \n",
        "1150    14800  \n",
        "1200    14600  \n",
        "1250    14400  \n",
        "1300    15400  \n",
        "1350    16400  \n",
        "1400    17000  \n",
        "1450    18200  \n",
        "1500    19600  \n",
        "1550    18000  \n",
        "1600    19200  \n",
        "1650    19400  \n",
        "1700    20600  \n",
        "1750    21200  \n",
        "1800    21000  \n",
        "1850    24200  \n",
        "1900    24400  \n",
        "1950    23600  \n",
        "2000    23000  \n",
        "2050    25200  \n",
        "2100    25400  \n",
        "2150    26000  \n",
        "2200    28400  \n",
        "2250    27400  \n",
        "2300    29200  \n",
        "2350    28400  \n",
        "2400    28600  \n",
        "2450    31400  \n",
        "2500    32600  \n",
        "2550    34200  \n",
        "2600    32200  \n",
        "2650    35400  \n",
        "2700    34600  \n",
        "2750    37800  \n",
        "2800    40000  \n",
        "2850    39000  \n",
        "2900    38600  \n",
        "2950    44800  \n",
        "3000    45600  \n",
        "3050    43800  \n",
        "3100    41200  \n",
        "3150    43400  \n",
        "3200    48600  \n",
        "3250    48000  \n",
        "3300    50200  \n",
        "3350    51600  \n",
        "3400    55400  \n",
        "3450    62800  \n",
        "3500    66200  \n",
        "3550    66400  \n",
        "3600    74000  \n",
        "3650    77800  \n",
        "3700    81800  \n",
        "3750    90400  \n",
        "3800    120600  \n",
        "3850    113200  \n",
        "3900    119200  \n",
        "3950    695000  \n",
        "4000    1011000  \n",
        "4050    9000800   \n",
        "4100    19558800   \n",
        "\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "=================\n",
        "\n",
        "\n",
        "**Exercise. ** Test the assertion that this output table rejects the claim that the cost of Truncated Evolution is exponential in the length of the target string. \n",
        ">\n",
        "> *Answer.* We took the logarithm of the cost component and searched for a linear regression of that cost against the length of input binary strings.  So, we asked Colab:\n",
        ">\n",
        "> Hi Colab! Please, give us the code for a linear regression with input data xArray and yArray. Include graphics.\n",
        ">\n",
        "Gemini answered with the following code:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "image/png": "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PSwsLDTaDyIiIiIientkZ2ejb9++SE9Ph42NTZF9y2xxde/ePXh4eGD9+vXo2bOn1L5r1y5kZmaiatWqSEpKwvTp05GYmIiLFy/C2tpa5bpUjVy5u7vjwYMHxSawpPLy8rB3714EBQXxoqE6xtzqD3OrH8yr/jC3+sPc6g9zqz/Mrf68jbnNyMhA+fLl1SquSvWwwJJYu3Yt7OzslIqxlw8zrF27Nho1agRPT09s2rQJgwcPVrkuU1NTmJqaKrUbGxu/tifF69zWu4a51R/mVj+YV/1hbvWHudUf5lZ/mFv9eZtyq8l+lMmp2IUQWL16Nf73v//BxMSkyL52dnaoUqUKrl+//pqiIyIiIiKid1GZLK5iYmJw/fr1QkeiXpaZmYkbN26gQoUKryEyIiIiIiJ6V5VqcZWZmYnY2FjExsYCABISEhAbG4s7d+4AAMLDw9G/f3+lx61atQqNGjVCzZo1lZZNmDABMTExuHXrFo4ePYouXbrA0NAQffr00eu+EBERERHRu61Uz7k6deoUWrVqJd0fN24cACA0NBRr1qxBUlKSVGgVSE9Px9atW7Fo0SKV67x79y769OmDhw8fwtHREe+99x6OHz8OR0dH/e0IERERERG980q1uGrZsiWKmqxwzZo1Sm22trbIzs4u9DEbNmzQRWhEREREREQaKZPnXBEREREREb1pWFwRERERERHpAIsrIiIiIiIiHWBxRUREREREpAMsroiIiIiIiHSAxRUREREREZEOsLgiIiIiIiLSARZXREREREREOsDiioiIiIiISAdYXBEREREREekAiysiIiIiIiIdYHFFRERERESkAyyuiIiIiIiIdIDFFRERERERkQ6wuCIiIiIiItIBFldEREREREQ6wOKKiIiIiIhIB1hcERERERER6QCLKyIiIiIiIh1gcUVERERERKQDLK6IiIiIiIh0gMUVERERERGRDrC4IiIiIiIi0gEWV0RERERERDrA4oqIiIiIiEgHWFwRERERERHpAIsrIiIiIiIiHWBxRUREREREpAMsroiIiIiIiHSAxRUREREREZEOsLgiIiIiIiLSARZXREREREREOmCk7QPz8vKQnJyM7OxsODo6wsHBQZdxERERERERlSkajVw9efIEP/74IwIDA2FjYwMvLy9Ur14djo6O8PT0xNChQ/Hvv//qK1YiIiIiIqI3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hBAQQugiFiIiIiIiojJL6+Lq559/Rq1atWBubg5zc3PUrl0bv/zyiy5jIyIiIiIiKjO0Oixw/vz5mDJlCsLCwtCsWTMAwOHDhzFixAg8ePAAY8eO1WmQREREREREbzqtiqvFixfjxx9/RP/+/aW2Tp06oUaNGoiIiGBxRURERERE7xytDgtMSkpC06ZNldqbNm2KpKSkEgdFRERERERU1mhVXFWqVAmbNm1Sat+4cSMqV65c4qCIiIiIiIjKGq0OC5w+fTp69eqFQ4cOSedcHTlyBPv371dZdBEREREREb3ttBq56tatG06cOIHy5ctjx44d2LFjB8qXL4+TJ0+iS5cuuo6RiIiIiIjojafVyBUABAQE4Ndff9VlLERERERERGWWViNXZ86cwYULF6T7v//+Ozp37ozPP/8cubm5OguOiIiIiIiorNCquBo+fDiuXbsGALh58yZ69eoFCwsLbN68GZMmTdJpgERERERERGWBVsXVtWvX4O/vDwDYvHkzAgMDsX79eqxZswZbt27VZXxERERERERlglbFlRACcrkcALBv3z68//77AAB3d3c8ePBAd9ERERERERGVEVoVV/Xr18dXX32FX375BTExMejYsSMAICEhAc7OzjoNkIiIiIiIqCzQqrhauHAhzpw5g7CwMHzxxReoVKkSAGDLli1o2rSpTgMkIiIiIiIqC7Sair127doKswUWmDdvHgwNDUscFBERERERUVmj9XWuAOD06dOIi4sDAPj5+aFevXo6CYqIiIiIiKis0aq4Sk1NRa9evRATEwM7OzsAQFpaGlq1aoUNGzbA0dFRlzESERERERG98bQ652rkyJHIzMzEpUuX8OjRIzx69AgXL15ERkYGRo0apesYiYiIiIiI3nhajVxFRUVh3759qF69utTm5+eHpUuXol27djoLjoiIiIiIqKzQauRKLpfD2NhYqd3Y2Fi6/hUREREREdG7RKviqnXr1hg9ejTu3bsntSUmJmLs2LFo06aNzoIjIiIiIiIqK7QqrpYsWYKMjAx4eXnB19cXvr6+8Pb2RkZGBhYvXqzrGImIiIiIiN54Wp1z5e7ujjNnzmDfvn24cuUKAKB69epo27atToMjIiIiIiIqK7S+zpVMJkNQUBCCgoJ0GQ8REREREVGZpHVx9e+//+LgwYNITU1VmsRi/vz5JQ6MiIiIiIioLNHqnKtZs2ahUaNGiIyMxKlTp3D27FnpFhsbq/Z6Dh06hJCQELi6ukImk2HHjh1F9t+2bRuCgoLg6OgIGxsbNGnSBLt371boExERAZlMpnCrVq2aFntJRERERESkPq1GrhYtWoTVq1djwIABJdp4VlYW6tSpg0GDBqFr167F9j906BCCgoIwa9Ys2NnZITIyEiEhIThx4gTq1q0r9atRowb27dsn3Tcy0nqAjoiIiIiISC1aVR0GBgZo1qxZiTfeoUMHdOjQQe3+CxcuVLg/a9Ys/P777/jzzz8ViisjIyO4uLiUOD4iIiIiIiJ1aVVcjR07FkuXLlUqdl43uVyOJ0+ewMHBQaE9Pj4erq6uMDMzQ5MmTTB79mx4eHgUup6cnBzk5ORI9zMyMgAAeXl5yMvL00/w/1/B+vW9nXcRc6s/zK1+MK/6w9zqD3OrP8yt/jC3+vM25laTfZEJIYSmG5DL5ejYsSOuXbsGPz8/GBsbKyzftm2bpquETCbD9u3b0blzZ7UfM3fuXHzzzTe4cuUKnJycAAC7du1CZmYmqlatiqSkJEyfPh2JiYm4ePEirK2tVa4nIiIC06dPV2pfv349LCwsNN4XIiIiIiJ6O2RnZ6Nv375IT0+HjY1NkX21Kq7CwsKwcuVKtGrVCs7OzpDJZArLIyMjNV2lxsXV+vXrMXToUPz+++9FXl8rLS0Nnp6emD9/PgYPHqyyj6qRK3d3dzx48KDYBJZUXl4e9u7di6CgIKUilUqGudUf5lY/mFf9YW71h7nVH+ZWf5hb/Xkbc5uRkYHy5curVVxpdVjg2rVrsXXrVnTs2FGrAEtqw4YNGDJkCDZv3lzshYvt7OxQpUoVXL9+vdA+pqamMDU1VWo3NjZ+bU+K17mtdw1zqz/MrX4wr/rD3OoPc6s/zK3+MLf68zblVpP90GoqdgcHB/j6+mrz0BL77bffMHDgQPz2229qFXeZmZm4ceMGKlSo8BqiIyIiIiKid5VWxVVERASmTZuG7OzsEm08MzMTsbGx0rWxEhISEBsbizt37gAAwsPD0b9/f6n/+vXr0b9/f3z33Xdo1KgRkpOTkZycjPT0dKnPhAkTEBMTg1u3buHo0aPo0qULDA0N0adPnxLFSkREREREVBStDgv8/vvvcePGDTg7O8PLy0tpqOzMmTNqrefUqVNo1aqVdH/cuHEAgNDQUKxZswZJSUlSoQUAy5cvx/Pnz/Hpp5/i008/ldoL+gPA3bt30adPHzx8+BCOjo547733cPz4cTg6Omqzq0RERERERGrRqrjSZEa/orRs2RJFzadRUDAViI6OLnadGzZsKGFUREREREREmtOquJo2bZqu4yAiIiIiIirTtCquCpw+fRpxcXEAgBo1aqBu3bo6CYqIiIiIiKis0aq4Sk1NRe/evREdHQ07OzsAL64n1apVK2zYsIHnNxERERER0TtHq9kCR44ciSdPnuDSpUt49OgRHj16hIsXLyIjIwOjRo3SdYxERERERERvPK1GrqKiorBv3z5Ur15davPz88PSpUvRrl07nQVHRERERERUVmg1ciWXy1VeqdjY2BhyubzEQREREREREZU1WhVXrVu3xujRo3Hv3j2pLTExEWPHjkWbNm10FhwREREREVFZoVVxtWTJEmRkZMDLywu+vr7w9fWFt7c3MjIysHjxYl3HSERERERE9MbT6pwrd3d3nDlzBvv27cOVK1cAANWrV0fbtm11GhwREREREVFZoXFxlZeXB3Nzc8TGxiIoKAhBQUH6iIuIiIiIiKhM0fiwQGNjY3h4eCA/P18f8RAREREREZVJWp1z9cUXX+Dzzz/Ho0ePdB0PERERERFRmaTVOVdLlizB9evX4erqCk9PT1haWiosP3PmjE6CIyIiIiIiKiu0Kq46d+6s4zCIiIiIiIjKNq2Kq2nTpuk6DiIiIiIiojJNq+KqQG5uLlJTUyGXyxXaPTw8ShQUERERERFRWaNVcXXt2jUMHjwYR48eVWgXQkAmk3EmQSIiIiIieudoVVwNHDgQRkZG+Ouvv1ChQgXIZDJdx0VERERERFSmaFVcxcbG4vTp06hWrZqu4yEiIiIiIiqTtLrOlZ+fHx48eKDrWIiIiIiIiMostYurjIwM6TZnzhxMmjQJ0dHRePjwocKyjIwMfcZLRERERET0RlL7sEA7OzuFc6uEEGjTpo1CH05oQURERERE7yq1i6uDBw/qMw4iIiIiIqIyTe3iKjAwUJ9xEBERERERlWkaTWgRHx+PPn36qDyvKj09HX379sXNmzd1FhwREREREVFZoVFxNW/ePLi7u8PGxkZpma2tLdzd3TFv3jydBUdERERERFRWaFRcxcTEoEePHoUu79mzJw4cOFDioIiIiIiIiMoajYqrO3fu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xowZyM7OVmp/+vQpZsyYUeKgiIiIiIiIyhqtiqvp06cjMzNTqT07OxvTp08vcVBERERERERljVbFlRACMplMqf3cuXNwcHAocVBERERERERljUbXubK3t4dMJoNMJkOVKlUUCqz8/HxkZmZixIgROg+SiIiIiIjoTadRcbVw4UIIITBo0CBMnz4dtra20jITExN4eXmhSZMmOg+SiIiIiIjoTadRcRUaGgoA8Pb2RrNmzWBkpNHDiYiIiIiI3lpanXNlbW2NuLg46f7vv/+Ozp074/PPP0dubq7OgiMiIiIiIiortCquhg8fjmvXrgEAbt68iV69esHCwgKbN2/GpEmTdBogERERERFRWaBVcXXt2jX4+/sDADZv3ozAwECsX78ea9aswdatW3UZHxERERERUZmg9VTscrkcALBv3z68//77AAB3d3c8ePBAd9ERERERERGVEVoVV/Xr18dXX32FX375BTExMejYsSMAICEhAc7OzjoNkIiIiIiIqCzQqrhauHAhzpw5g7CwMHzxxReoVKkSAGDLli1o2rSpTgMkIiIiIiIqC7SaS7127dq4cOGCUvu8efNgaGhY4qCIiIiIiIjKmhJdqOr06dPSlOx+fn6oV6+eToIiIiIiIiIqa7QqrlJTU9GrVy/ExMTAzs4OAJCWloZWrVphw4YNcHR01GWMREREREREbzytzrkaOXIkMjMzcenSJTx69AiPHj3CxYsXkZGRgVGjRuk6RiIiIiIiojeeViNXUVFR2LdvH6pXry61+fn5YenSpWjXrp3OgiMiIiIiIiortBq5ksvlMDY2Vmo3NjaWrn9FRERERET0LtGquGrdujVGjx6Ne/fuSW2JiYkYO3Ys2rRpo7PgiIiIiIiIygqtiqslS5YgIyMDXl5e8PX1ha+vL7y9vZGRkYHFixfrOkYiIiIiIqI3nlbnXLm7u+PMmTPYt28frly5AgCoXr062rZtq9PgiIiIiIiIygqtr3Mlk8kQFBSEoKAgXcZDRERERERUJml0WOCBAwfg5+eHjIwMpWXp6emoUaMG/vnnH50FR0REREREVFZoVFwtXLgQQ4cOhY2NjdIyW1tbDB8+HPPnz9dZcERERERERGWFRsXVuXPn0L59+0KXt2vXDqdPn9Y4iKVLl8LLywtmZmZo1KgRTp48WWjfNWvWQCaTKdzMzMwU+gghMHXq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p9XI1eTJkzF27Fh88803Su2fffYZgoKCdBIcERERERFRWaHVyFVcXBwGDx6s1D5o0CBcvny5xEERERERERGVNVoVV46OjoiNjVVqj42NhZOTU0ljIiIiIiIiKnM0OixwxowZmDBhAoYOHYphw4bh5s2baNq0KQDgyJEjmDNnDsaNG6eXQImIiIiIiN5kGhVX06dPx4gRIzBlyhRYW1vju+++Q3h4OADA1dUVERERGDVqlF4CJSIiIiIiepNpVFwJIQAAMpkMY8eOxdixY/HkyRMAgLW1te6jIyIiIiIiKiM0ni1QJpMp3GdRRUREREREpEVxVaVKFaUC61WPHj3SOiAiIiIiIqKySOPiavr06bC1tdVHLERERERERGWWxsVV7969Od06ERERERHRKzS6zlVxhwMSERERERG9qzQqrgpmCyQiIiIiIiJFGh0WKJfL9RUHERERERFRmabRyBURERERERGpxuKKiIiIiIhIB1hcERERERER6QCLKyIiIiIiIh1gcUVERERERKQDLK6IiIiIiIh04I0orpYuXQovLy+YmZmhUaNGOHnyZKF9V6xYgebNm8Pe3h729vZo27atUv8BAwZAJpMp3Nq3b6/v3SAiIiIiondYqRdXGzduxLhx4zBt2jScOXMGderUQXBwMFJTU1X2j46ORp8+fXDw4EEcO3YM7u7uaNeuHRITExX6tW/fHklJSdLtt99+ex27Q0RERERE76hSL67mz5+PoUOHYuDAgfDz88OyZctgYWGB1atXq+y/bt06fPLJJ/D390e1atWwcuVKyOVy7N+/X6GfqakpXFxcpJu9vf3r2B0iIiIiInpHGZXmxnNzc3H69GmEh4dLbQYGBmjbti2OHTum1jqys7ORl5cHBwcHhfbo6Gg4OTnB3t4erVu3xldffYVy5cqpXEdOTg5ycnKk+xkZGQCAvLw85OXlabpbGilYv7638y5ibvWHudUP5lV/mFv9YW71h7nVH+ZWf97G3GqyLzIhhNBjLEW6d+8e3NzccPToUTRp0kRqnzRpEmJiYnDixIli1/HJJ59g9+7duHTpEszMzAAAGzZsgIWFBby9vXHjxg18/vnnsLKywrFjx2BoaKi0joiICEyfPl2pff369bCwsCjBHhIRERERUVmWnZ2Nvn37Ij09HTY2NkX2LdWRq5L65ptvsGHDBkRHR0uFFQD0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YiUEt1lbtBVbbrP21zK54rZrnkwIIbruPBkREREREVHPxHuuiIiIiIiI7IDJFRERERERkR0wuSIiIiIiIrIDJldERERERER2wOSKiIiIiIjIDphcERERERER2QGTKyIiIiIiIjtgckVERERERGQHTK6IiMhuHnvsMcyYMcPuyy0oKMBtt90Gb29vaDQauy+fiIjIHphcERF1M45KYDri8uXLkMlkyMrK6pL+3nzzTeTn5yMrKwsXLlxoNT88PBwymcziz2OPPdYl4zQnPDwc69ata7fdqVOncNdddyEoKAgqlQrh4eGYOXMmioqKHD9IIiKyC3dnD4CIiKg9ly5dwqhRoxAVFWV2/tGjR9HQ0AAAOHToEO655x7k5OTA19cXAODp6dmh/mpra6FQKGwbdAf88ssvmDJlCu68805888030Gg0uHz5Mj7//HNUVFR02TiIiMg2PHNFRNTDZGdn4/bbb4darUZwcDAeeeQRXLt2TZqfkJCAZ555Bs899xwCAgKg1Wrx6quvmizj/PnzmDBhAlQqFYYMGYLvvvsOMpkMO3bsAABEREQAAGJjYyGTyZCQkGDy+bVr1yIkJAR9+vTBvHnzUFdX1+aY09LSEBkZCYVCgejoaPztb3+T5oWHh+Nf//oX/ud//sfiWai+fftCq9VCq9UiICAAABAUFAStVgsPDw88/fTT6NevH7y8vBATE4PNmzebfD4hIQHz58/HwoULERgYiKSkJADA559/jqioKKhUKvzmN7/Bpk2bIJPJUFpaKn324MGDmDhxIjw9PREWFoZnnnlGSogSEhLw448/4ne/+510Fs2cjIwM6HQ6fPjhh4iNjUVERAR+85vf4M0335RiDbT/3VZUVODRRx+FWq1GSEgI3njjDSQkJGDhwoVSm+bfo5FGo8HGjRul369evYr7778fGo0GAQEBSElJweXLl6X5xrOnbX3PNTU1WLJkCcLCwqBUKjFo0CD85S9/sXpdiIi6IyZXREQ9SGlpKW699VbExsbi2LFj+Prrr1FYWIj777/fpN2mTZvg7e2Nw4cPY/Xq1XjttdeQnp4OAGhoaMCMGTPg5eWFw4cP44MPPsCLL75o8vkjR44AAL777jvk5+dj27Zt0rw9e/bg0qVL2LNnDzZt2oSNGzeaHLi3tH37dixYsACLFi1CdnY25syZg8cffxx79uwB0HhW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",
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "image/png": "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Ga/1jz76CEePHkWvXr0wduxYvH37FocPH8bNmzfh7OwMAFi2bBk6deqEvn37IiUlBX///Tc++eQT7NmzBx07dgQA/PnnnypTCRX3V/c1kZiYiDZt2iA8PBxjxoyBo6Mj/vzzTxw7dkyjxx4TE4NXr15JtslkMpQpUwaGhob4+OOPsX37dvzyyy+SX+937tyJ5ORk9OrVSxlPfs/xwsqr33Iya9YszJ49G23btsXIkSNx9+5drFq1ChcuXJC87wLqPQdysn//fqSlpeV5LWFWt27dQvPmzWFlZYUpU6bA0NAQv/zyC1q2bIkTJ06gcePGytjnzp2rfLyxsbG4ePEiLl++DF9fX4wYMQLPnj3D4cOHVaa45aRnz57o378/Lly4gIYNGyq3P378GOfOnVN+vty6dQsfffQR6tWrh2+++QbGxsa4f/9+jj+UFVZsbCx+//135ZS1t2/f4o8//oCfnx+Cg4NRv359SfucXuuafA59//33mDFjBnr06IGhQ4fi5cuXWL58OVq0aIErV67AxsYG06dPR0xMDP777z/l+39eU3ydnJwAABs3boS3tzcMDHL/GljUr+2s5HI5OnXqhNOnT2P48OGoXbs2bty4gSVLluDevXsq1/2p81n37NkzNGrUCNHR0Rg+fDhq1aqFp0+f4p9//kFCQgKMjIyQkJAAHx8fPH36FCNGjECVKlVw5swZTJs2DRERERpdC5abP//8EwMGDICfnx/mz5+PhIQErFq1Cs2aNcOVK1ckia4639nkcjkCAgIQHByMkSNHolatWti1axcGDBggOa86r8FNmzbh7du3GDFiBGQyGRYsWICuXbvi4cOH78QMF50Q9M5Zs2aNACAuXLiQa5uwsDABQKxZs0a5bcCAAQKA+OabbyRtPT09hZeXl/L2qVOnBACxceNGSbsDBw6obE9ISFA594gRI4SZmZlISkpSbvPx8REAxM8//6zWY5w5c6YAIO7evStevnwpHj16JFavXi1MTU1FuXLlRHx8vBBCCLlcLmrUqCH8/PyEXC6XxFWtWjXh6+ur3BYQECDMzMzE06dPldtCQ0OFgYGByP5SACD09PTErVu3JNuHDBkiHBwcxKtXryTbe/XqJaytrZX90blzZ+Hu7p7nY7S2thajRo3Ks82AAQOEk5OT8vbOnTsFAPHdd99J2nXv3l3IZDJx//59yWMw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zZgxA19//TWmTZsGPT2Ni+YRERERERGVeBpnOgkJCejVqxeTJCIiIiIiKrU0znaGDBmCrVu36iIWIiIiIiKiEkHjqXdz587FRx99hAMHDqBu3bowNDSU7F+8eLHWgiMiIiIiIioOBUqUDh48CFdXVwBQKeZARERERET0rtM4UVq0aBFWr16NgQMH6iAcIiIiIiKi4qfxNUrGxsbw9vbWRSxEREREREQlgsaJ0tixY7F8+XJdxEJERERERFQiaDz1Ljg4GMeOHcOePXvg7u6uUsxh+/btWguOiIiIiIioOGicKNnY2KBr1666iIWIiIiIiKhE0DhRWrNmjS7iICIiIiIiKjE0TpQUXr58ibt37wIAXF1dUa5cOa0FRUREREREVJw0LuYQHx+PwYMHw8HBAS1atECLFi3g6OiIIUOGICEhQRcxEhERERERFSmNE6UJEybgxIkT2L17N6KjoxEdHY1du3bhxIkTmDhxoi5iJCIiIiIiKlIaT73btm0b/vnnH7Rs2VK5rUOHDjA1NUWPHj2watUqbcZHRERERERU5DQeUUpISECFChVUtpcvX55T74iIiIiIqFTQOFFq0qQJZs6ciaSkJOW2xMREzJ49G02aNNFqcERERERERMVB46l3y5Ytg5+fHypVqgQPDw8AwLVr12BiYoKDBw9qPUAiIiIiIqKipnGiVKdOHYSGhmLjxo24c+cOAKB3797o27cvTE1NtR4gERERERFRUSvQOkpmZmYYNmyYtmMhIiIiIiIqETS+RmndunXYu3ev8vaUKVNgY2ODpk2b4vHjx1oNjoiIiIiIqDhonCjNmTNHOcXu7NmzWLFiBRYsWICyZcti/PjxWg+QiIiIiIioqGk89e7JkydwcXEBAOzcuRPdu3fH8OHD4e3tLVlbiYiIiIiI6F2l8YiShYUFXr9+DQA4dOgQfH19AQAmJiZITEzUbnRERERERETFQOMRJV9fXwwdOhSenp64d+8eOnToAAC4desWqlatqu34iIiIiIiIipzGI0orV65EkyZN8PLlS2zbtg1lypQBAFy6dAm9e/fWeoBERERERERFTeMRJRsbG6xYsUJl++zZs7USEBERERERUXEr0DpK0dHR+OOPPxASEgIAcHd3x+DBg2Ftba3V4IiIiIiIiIqDxlPvLl68CGdnZyxZsgRRUVGIiorC4sWL4ezsjMuXL+siRiIiIiIioiKl8YjS+PHj0alTJ/z2228wMMi4e1paGoYOHYpx48bh5MmTWg+SiIiIiIioKGmcKF28eFGSJAGAgYEBpkyZgg8++ECrwRERERERERUHjafeWVlZITw8XGX7kydPYGlpqZWgiIiIiIiIipPGiVLPnj0xZMgQbN68GU+ePMGTJ0/w999/Y+jQoSwPTkREREREpYLGU+8WLlwImUyG/v37Iy0tDQBgaGiIkSNHYt68eVoPkIiIiIiIqKhpnCgZGRlh2bJlmDt3Lh48eAAAcHZ2hpmZmdaDIyIiIiIiKg4FWkcJAMzMzFC3bl1txkJERERERFQiaJwoJSUlYfny5QgMDERkZCTkcrlkP9dSIiIiIiKid53GidKQIUNw6NAhdO/eHY0aNYJMJtNFXERERERERMVG40Rpz5492LdvH7y9vXURDxERERERUbHTuDx4xYoVuV4SERERERGVahonSosWLcLUqVPx+PFjXcRDRERERERU7DSeevfBBx8gKSkJ1atXh5mZGQwNDSX7o6KitBYcERERERFRcdA4UerduzeePn2KOXPmoEKFCizmQEREREREpY7GidKZM2dw9uxZeHh46CIeIiIiIiKiYqfxNUq1atVCYmKiLmIhIiIiIiIqETROlObNm4eJEyfi+PHjeP36NWJjYyX/iIiIiIiI3nUaT73z9/cHALRp00ayXQgBmUyG9PR07URGRERERERUTDROlAIDA3URBxERERERUYmhcaLk4+OjiziIiIiIiIhKDI0TJQCIjo7GH3/8gZCQEACAu7s7Bg8eDGtra60GR0REREREVBw0LuZw8eJFODs7Y8mSJYiKikJUVBQWL14MZ2dnXL58WRcxEhERERERFSmNR5TGjx+PTp064bfffoOBQcbd09LSMHToUIwbNw4nT57UepBERERERERFSeNE6eLFi5IkCQAMDAwwZcoUfPDBB1oNjoiIiIiIqDhoPPXOysoK4eHhKtufPHkCS0tLrQRFRERERERUnDROlHr27IkhQ4Zg8+bNePLkCZ48eYK///4bQ4cORe/evXURIxERERERUZHSeOrdwoULIZPJ0L9/f6SlpQEADA0NMXLkSMybN0/rARIRERERERU1jRKl9PR0nDt3DrNmzcLcuXPx4MEDAICzszPMzMx0EiAREREREVFR0yhR0tfXR7t27RAS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AICbmxvGjh0LZ2dnrQZHRERERETa0aiaHRysTfA8JinH65RkAOytM0qFUwEWnD148CDc3NwQHByMevXqoV69ejh//jzc3d1x+PBhXcRIRERERESFpK8nw8wANwAZSVFWitszA9xYyOH/aTyi9OWXX2L8+PGYN2+eyvapU6fC19dXa8EREREREZH2+NdxwKpPG6iso2TPdZRUaJwohYSEYMuWLSrbBw8ejKVLl2ojJiIiIiIi0hH/Og7wdbNHcFgUIt8mobxlxnQ7jiRJaZwolStXDlevXkWNGjUk269evcpKeERERERE7wB9PRlLgOdD40Rp2LBhGD58OB4+fIimTZsCAIKCgjB//nxMmDBB6wESEREREREVNY0TpRkzZsDS0hKLFi3CtGnTAACOjo6YNWsWxowZo/UAiYiIiIiIiprGiZJMJsP48eMxfvx4vH37FgBgaWmp9cCIiIiIiIiKS4HWUVJggkRERERERKWRxusoERERERERlXZMlIiIiIiIiLJhokRERERERJSNRolSamoq2rRpg9DQUF3FQ0REREREVOw0SpQMDQ1x/fp1XcVCRERERERUImg89e7TTz/FH3/8oYtYiIiIiIiISgSNy4OnpaVh9erVOHLkCLy8vGBubi7Zv3jxYq0FR0REREREVBw0TpRu3ryJBg0aAADu3bsn2SeTybQTFRERERERUTHSOFEKDAzURRxEREREREQlRoHLg9+/fx8HDx5EYmIiAEAIobWgiIiIiIiIipPGidLr16/Rpk0b1KxZEx06dEBERAQAYMiQIZg4caLWAyQiIiIiIipqGidK48ePh6GhIcLDw2FmZqbc3rNnTxw4cECrwRERERERERUHja9ROnToEA4ePIhKlSpJtteoUQOPHz/WWmBERERERETFReMRpfj4eMlIkkJUVBSMjY21EhQREREREVFx0jhRat68OdavX6+8LZPJIJfLsWDBArRq1UqrwRERERERERUHjafeLViwAG3atMHFixeRkpKCKVOm4NatW4iKikJQUJAuYiQiIiIiIipSGo8o1alTB/fu3UOzZs3QuXNnxMfHo2vXrrhy5QqcnZ11ESMREREREVGR0nhECQCsra0xffp0bcdCRERERERUIhQoUXrz5g3++OMPhISEAADc3NwwaNAg2NnZaTU4IiIiIiKi4qDx1LuTJ0+iatWq+PHH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PXToEaX7Ta1ScP0REREREVEHwESpg9iZUYBF359FQWmV5pi7kw0WjA9iRTsiIiIiojbGqXcdwM6MAszYcEqSJAFAYWkVZmw4hZ0ZBe3UMyIiIiKi+xMTpXZWqxRY9P1ZCC3n1McWfX8WtUptLYiIiIiIyBSYKLWzlNziRiNJ9QkABaVVSMktbrtOERERERHd55gotbOi8qaTpJa0IyIiIiKi1mOi1M5cHWyM2o6IiIiIiFqPiVI7i/SVw93JBk0VAZdBVf0u0lfelt0iIiIiIrqvMVFqZ+ZmMiwYHwQAjZIl9dcLxgdxPyUiIiIiojbERKkDiAt2R9LUMCicpNPrFE42SJoaxn2UiIiIiIjaGDec7SDigt0xKkiBlNxiFJVXwdVBNd2OI0lERERERG2PiVIHYm4mQ5Rft/buBhERERHRfY9T74iIiIiIiBpgokRERERERNQAEyUiIiIiIqIGmCgRERERERE1wESJiIiIiIioASZKREREREREDTBRIiIiIiIiaoCJEhERERERUQPccLaN1CoFUnKLUVReBVcHG0T6ymFuJmvvbhERERERkRZMlNrAzowCLPr+LApKqzTH3J1ssGB8EOKC3duxZ0REREREpA2n3pnYzowCzNhwSpIkAUBhaRVmbDiFnRkF7dQzIiIiIiJqChMlE6pVCiz6/iyElnPqY4u+P4tapbYWRERERETUXpgomVBKbnGjkaT6BICC0iqk5Ba3XaeIiIiIiEgnJkomVFTedJLUknZERERERNQ2mCiZkKuDjVHbERERERFR22CiZEKRvnK4O9mgqSLgMqiq30X6ytuyW0REREREpAMTJRMyN5NhwfggAGiULKm/XjA+iPspERERERF1MEyUTCwu2B1JU8OgcJJOr1M42SBpahj3USIiIiIi6oC44WwbiAt2x6ggBVJyi1FUXgVXB9V0O44kERERERF1TEyU2oi5mQxRft3auxtERERERKQHTr0jIiIiIiJqgIkSERERERFRA0yUiIiIiIiIGmCiRERERERE1AATJSIiIiIiogaYKBERERERETXARImIiIiIiKgBJkpEREREREQNMFEiIiIiIiJqgIkSERERERFRA0yUiIiIiIiIGmCiRERERERE1AATJSIiIiIiogYs2rsDpiaEAACUlZWZ/F41NTW4ffs2ysrKYGlpafL73U8YW9NhbE2D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Efjggw+QmpqKkydP4oUXXpCMDk2ZMgUuLi6Ij4/Hzz//jNzcXBw4cACJiYm4cuWKXjH38fFBQkICpk+fjm3btmmusXnzZr2ehYjoXsVEiYionR04cAChoaGSP4sWLYKHhweSk5NRW1uL0aNHo1+/fpg1axacnZ0b/cLcFHNzc2zbtg0VFRWIiIjA3/72N021NxsbGwCAhYUF3n//fXzyySfw8PDQ/DLfEhMnTsSaNWuwfPly9O3bF5988gnWrl3bqOR4S7355psICwvDmDFjEBMTA4VCodeGvb6+vvjmm2+wZcsWhISEICkpSRMHa2trAKq1XgcPHsT58+cxdOhQhIaG4u2334aHh4fmOosXL0ZeXh78/PwkU9fqCwoKgp2dHebMmYMBAwZg0KBB2Lx5Mz799FM89dRTAKDX9/a9997D0KFDMX78eIwcORJDhgxptPZqxYoV8PT0xNChQzF58mS88sorsLOz05y3s7PDoUOH4OXlhUmTJqFPnz545plnUFVVZdAIU1JSEv7yl7/gxRdfRO/evfHss89qRseM8Z4SEXVEMtFwcjMREXVqycnJGDJkCLKzs+Hn59fe3Wk3S5Yswccff4zLly+3d1f0FhMTgwEDBmD16tXt3RUiok6Pk4mJiDq5rVu3wt7eHgEBAcjOzsbLL7+M6Ojo+y5J+uijjxAREYFu3bohOTkZ7733nmRaHRERUX1MlIiIOrny8nLMmzcP+fn5cHFxwciRI7FixYr27labu3DhAv7xj3+guLgYXl5emDNnDubPn9/e3SIiog6KU++IiIiIiIga4CpLIiIiIiKiBpgoERERERERNcBEiYiIiIiIqAEmSkRERERERA0wUSIiIiIiImqAiRIREREREVEDTJSIiIiIiIgaYKJERERERETUwP8PzMx4vlv73scAAAAASUVORK5CYII=",
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Linear Regression Equation (Cost vs Length): y = 543.61x + -729111.47\n",
            "Linear Regression Equation (Log(Cost) vs Length): log(y) = 0.0010x + 8.1196\n"
          ]
        }
      ],
      "source": [
        "# Program graph_regression.py\n",
        "# This program performs linear regression\n",
        "# on the data obtained from\n",
        "# CostOfTruncatedEvolution.py\n",
        "\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "# Assuming xArray and yArray are defined from the previous cell's output\n",
        "# Example data (replace with your actual xArray and yArray)\n",
        "xArray = np.array([ 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 1650, 1700, 1750, 1800, 1850, 1900, 1950, 2000, 2050, 2100, 2150, 2200, 2250, 2300, 2350, 2400, 2450, 2500, 2550, 2600, 2650, 2700, 2750, 2800, 2850, 2900, 2950, 3000, 3050, 3100, 3150, 3200, 3250, 3300, 3350, 3400, 3450, 3500, 3550, 3600, 3650,  3700, 3750, 3800, 3850, 3900, 3950, 4000, 4050, 4100])\n",
        "yArray = np.array([ 1400, 2200, 3000, 3600, 4800, 4600, 5200, 6200, 7200, 7600, 8000, 8200, 9000, 9800, 10000, 11000, 11200,12000,12600,13800,12800,14000,14800,14600,14400,15400,16400, 17000,18200,19600,18000,19200,19400,20600,21200,21000,24200,24400,23600,23000,25200,25400,26000,28400,27400,29200,28400,28600,31400,32600,34200,32200,35400,34600,37800,40000,39000,38600,44800,45600,43800,41200,43400,48600,48000,50200,51600,55400,62800,66200,66400,74000,77800,81800,90400,120600,113200,119200,695000,1011000,9000800 ,19558800])\n",
        "\n",
        "# Perform linear regression\n",
        "# Fit a polynomial of degree 1 (linear)\n",
        "slope, intercept = np.polyfit(xArray, yArray, 1)\n",
        "\n",
        "# Create the regression line\n",
        "regression_line = slope * np.array(xArray) + intercept\n",
        "\n",
        "# Plot the original data and the regression line\n",
        "plt.figure(figsize=(10, 6))\n",
        "plt.scatter(xArray, yArray, label='Observed Data')\n",
        "plt.plot(xArray, regression_line, color='red', label=f'Linear Regression: y = {slope:.2f}x + {intercept:.2f}')\n",
        "plt.xlabel('Length of Target Sequence')\n",
        "plt.ylabel('Total Cost (Number of Chromosomes)')\n",
        "plt.title('Linear Regression of Truncated Evolution Cost vs. Target Sequence Length')\n",
        "plt.legend()\n",
        "plt.grid(True)\n",
        "plt.show()\n",
        "\n",
        "# Also perform linear regression on the log of yArray\n",
        "log_y_array = np.log(yArray)\n",
        "log_slope, log_intercept = np.polyfit(xArray, log_y_array, 1)\n",
        "log_regression_line = log_slope * np.array(xArray) + log_intercept\n",
        "\n",
        "# Plot the original log data and the log regression line\n",
        "plt.figure(figsize=(10, 6))\n",
        "plt.scatter(xArray, log_y_array, label='Observed Log Data')\n",
        "plt.plot(xArray, log_regression_line, color='red', label=f'Linear Regression on Log: log(y) = {log_slope:.4f}x + {log_intercept:.4f}')\n",
        "plt.xlabel('Length of Target Sequence')\n",
        "plt.ylabel('Log of Total Cost (Log of Number of Chromosomes)')\n",
        "plt.title('Linear Regression of Log of Truncated Evolution Cost vs. Target Sequence Length')\n",
        "plt.legend()\n",
        "plt.grid(True)\n",
        "plt.show()\n",
        "\n",
        "print(f\"Linear Regression Equation (Cost vs Length): y = {slope:.2f}x + {intercept:.2f}\")\n",
        "print(f\"Linear Regression Equation (Log(Cost) vs Length): log(y) = {log_slope:.4f}x + {log_intercept:.4f}\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "*Our comments.* The dependence of the cost on the length of the input is not properly described by an exponential function. \n",
        "\n",
        "**Challenge.** A linear regression shows that the exponential fitting is not good to describe long intervals. Research if segmentation of the real axis helps. \n",
        "\n",
        "**Exercise.** Compare the performance of truncated Evolution with that of randomness. Based on your comparison, decide whether Evolution skyrockets the capability of MAX to battle complexity.\n",
        ">\n",
        "> The cost for truncated Evolution of matching the 80\\% of a binary string 4000 bits long is of the order of $10⁷$ chromosomes. In comparison, the task for randomness would be to match a string of 3200 bits. This is done on average with the cost in trials of $2^{3200} = \\infty$. The conclusion is obvious: in comparison with randomness, Evolution skyrockets the possibilities of MAX to battle complexity.  We cannot say what exactly happens with longer sequences because we burn too much CPU time, and we lack a curated mathematical model. \n",
        "\n",
        "**Exercise.** Merge the two previous programs into one, and run it in Colab or elsewhere but be ready for hours of cpu work.  \n",
        ">\n",
        ">*Answer.* The following code estimates the cost of truncated evolution to solve the truncated Shakespeare Challenge. It responds to the question: is the cost exponential? If the plot of the regression line fits the ln of the cost against the length of the target string, the cost is exponential. "
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Lab: Cost of truncated Evolution\n",
            "Purpose: estimation of the cost to solve the Truncated Shakespeare challenge\n",
            "Date of Experiment  = 2026-02-03 10:38:37.288324\n",
            "number_of_points = 8\n",
            "step_size = 50\n",
            "alphabet =  01\n",
            "percentageOfTask = 0.95\n",
            "population_size = 200\n",
            "include_clone_population17 = True\n",
            "include_mutate_all17 = True\n",
            "include_crossover_all17 = False\n",
            "mutation_rate = 0.01\n",
            "print_best_fitness = False\n",
            "Length of target sequence and Total cost = population size * number of generations\n",
            "50    3000\n",
            "100    4400\n",
            "150    6400\n",
            "200    8200\n",
            "250    9600\n",
            "300    10800\n",
            "350    12800\n",
            "400    13600\n",
            "[50, 100, 150, 200, 250, 300, 350, 400]\n",
            "[3000, 4400, 6400, 8200, 9600, 10800, 12800, 13600]\n"
          ]
        },
        {
          "data": {
            "image/png": "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",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "image/png": "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IzU1FYCwsDC6d+/OsWPHKFKkCAAFCxbM0uddu3Yty6+5G9euXaNt27ZUq1aNtWvXEhgYyK+//sqGDRuIj4/PsThEROTuaIRMREQ4evQoHTp0oHDhwpQuXZq+ffvy+++/28+3atWKoUOHMmrUKPz9/QkICGDSpEnp3uOnn37i/vvvx8vLixo1arB161ZsNhuff/45AMHBwQDUr1//piNQb731FoGBgRQvXpwXXniBlJSUW8a8ePFiKlasSMGCBalatSofffSR/Vz58uVZs2YNK1aswGaz8eSTT2Z4fcmSJQkICCAgIAB/f38ASpUqRUBAACVLluSVV14hODgYb29vqlatyvz589O9/sao4/Tp0wkKCqJKlSqAWdzVq1cPLy8vGjVqxOeff55hZPBWP+8nn3yS0NBQ5s+fbx+tO336dIb4jx49yqlTp3jnnXdo2rQp5cqVo3nz5kydOpXGjRvb+507d46ePXtSrFgxihcvTpcuXdK9X2pqKiNGjKBo0aIUL16cUaNG0b9//3QjquXLl2fevHnpPr9evXrp/gzEx8czcOBASpUqRZEiRXjwwQf58ccf7ecnTZpEvXr1+Oijjyhfvjx+fn706tWLxMREe5+0tDRmzpxJpUqV8PT05N5772Xq1KkOX4uISG6kgkxEJJ+LiYmhZcuW1KtXj/3797Nx40bOnz9Pjx490vVbvnw5hQoVYs+ePcyaNYspU6awZcsWwPxFumvXrvj4+LBnzx6WLl3KuHHj0r1+7969AGzdupWYmBjWrl1rP7d9+3ZOnjzJ9u3bWb58OR9++CEffvhhpjGvW7eOYcOGMXLkSCIjI3nuued46qmn2L59O2COfrVv354ePXoQExOToZi6nbS0NMqUKcOnn37K0aNHmTBhAq+++iqffvppun7btm0jKiqKLVu2sH79ehITE+nUqRO1a9fmwIEDvP7664wePTpLP+/58+cTEhLCs88+S0xMDDExMZQtWzZDjCVLlsTNzY3PPvvMPtL3d1euXOGBBx6gcOHCfPfdd+zcuZPChQvTvn17rl27BsDs2bN5//33ee+999i5cycXL15k3bp1Wfp5GYbBI488QmxsLBs2bCA8PJwGDRrQunVrLl68aO938uRJPv/8c9avX8/69esJDQ1lxowZ9vNjx45l5syZjB8/nqNHj/LJJ59QunRph69FRCRXMkREJM/r37+/0aVLl5ueGz9+vNGuXbt0bWfPnjUA49ixY4ZhGEbLli2N+++/P12fxo0bG6NHjzYMwzC++eYbw93d3YiJibGf37JliwEY69atMwzDMKKjow3AOHjwYIbYypUrZ1y/ft3e9thjjxk9e/bM9HqaNWtmPPvss+naHnvsMaNDhw724y5duhj9+/fP9D3+avv27QZgxMXFZdpn8ODBRvfu3dPFXbp0aSM5OdnetnjxYqN48eJGUlKSvW3ZsmXprtvRn/ewYcNuG/eiRYsMHx8fw9fX13jggQeMKVOmGCdPnrSff++994yqVasaaWlp9rbk5GTD29vb2LRpk2EYhhEYGGjMmDHDfj4lJcUoU6ZMuj8v5cqVM+bOnZvus+vWrWtMnDjRMAzD2LZtm1GkSBHj6tWr6fpUrFjRWLJkiWEYhjFx4kTDx8fHSEhIsJ9/5ZVXjCZNmhiGYRgJCQmGp6ensWzZspteqyPXIiKSG2mETEQknwsPD2f79u0ULlzY/lWtWjXAHNG4oU6dOuleFxgYyIULFwA4duwYZcuWJSAgwH7+vvvucziGmjVrUqBAgZu+981ERUXRvHnzdG3NmzcnKirK4c+8nXfffZdGjRpRsmRJChcuzLJlyzhz5ky6PrVr1043b+zYsWPUqVMHLy8ve9vffw6O/rwd8cILLxAbG8vKlSsJCQnh3//+NzVr1rSPXIaHh3PixAl8fX3tn+Xv78/Vq1c5efIk8fHxxMTEEBISYn9Pd3d3GjVqlKU4wsPDuXz5MsWLF093XdHR0emuqXz58vj6+tqP/5rnqKgokpOTad26daafcatrERHJrbSoh4hIPpeWlkanTp2YOXNmhnOBgYH27z08PNKds9lspKWlAeYjazab7Y5juNV7Z+bvn3e3MfzVp59+yksvvcTs2bMJCQnB19eXN998kz179qTrV6hQodvGYBhGumNHf96O8vX1pXPnznTu3Jk33niDhx56iDfeeIO2bduSlpZGw4YN+fjjjzO8rmTJkg5/hpubW4br+Oscv7S0NAIDA9mxY0eG1/51y4Fb5dnb2/uWMTjrWkREXI0KMhGRfK5BgwasWbOG8uXL4+5+Z/8sVKtWjTNnznD+/Hn7nJ99+/al63NjJCmz+U5ZUb16dXbu3Em/fv3sbWFhYVSvXv2u3xvg+++/p1mzZgwePNje5sgoTLVq1fj4449JTk7G09MTgP3796fr48jPu2DBgnf0c7LZbFSrVo2wsDD7Z61evdq+0MbNBAYGsnv3blq0aAHA9evX7XPAbihZsiQxMTH244SEBKKjo9NdU2xsLO7u7pQvXz7LcQNUrlwZb29vtm3bxjPPPJPhvCPXIiKSG+mRRRGRfCI+Pp6IiIh0X2fOnOGFF17g4sWLPP744+zdu5dTp06xefNmBgwY4HBR0LZtWypWrEj//v05dOgQu3btsi/qcWPEqFSpUnh7e9sXsbibpdlfeeUVPvzwQ959911+/vln5syZw9q1a3n55Zfv+D3/qlKlSuzfv59NmzZx/Phxxo8fn6HAvJnevXuTlpbGwIEDiYqKYtOmTbz11lvA/34Ojvy8y5cvz549ezh9+jS///77TUcLIyIi6NKlC5999hlHjx7lxIkTvPfee7z//vt06dIFgCeeeIISJUrQpUsXvv/+e6KjowkNDWXYsGH8+uuvAAwbNowZM2awbt06fvrpJwYPHsylS5fSfdaDDz7IRx99xPfff09kZCT9+/dP94hpmzZtCAkJoWvXrmzatInTp08TFhbGa6+9lqEgzYyXlxejR49m1KhRrFixgpMnT7J7927ee+89h69FRCQ3UkEmIpJP7Nixg/r166f7mjBhAkFBQezatYvU1FQeeughatWqxbBhw/Dz88PNzbF/JgoUKMDnn3/O5cuXady4Mc888wyvvfYagH0+lbu7OwsWLGDJkiUEBQXZi4Y70bVrV+bPn8+bb75JzZo1WbJkCR988IHTNnN+/vnn6datGz179qRJkyb88ccf6UbLMlOkSBG++uorIiIiqFevHuPGjWPChAnA/34Ojvy8X375ZQoUKECNGjUoWbJkhrlrAGXKlKF8+fJMnjyZJk2a0KBBA+bPn8/kyZPtxbCPjw/fffcd9957L926daN69eoMGDCApKQk+yjTyJEj6devH08++aT98cxHH3003WeNHTuWFi1a0LFjRzp06EDXrl2pWLGi/bzNZmPDhg20aNGCAQMGUKVKFXr16sXp06ftI6aOGD9+PCNHjmTChAlUr16dnj172ueYOXItIiK5kc34+0PhIiIiTrBr1y7uv/9+Tpw4ke6X9/zm448/5qmnniI+Pv6286RcxZNPPsmlS5fse8iJiEj20RwyERFxinXr1lG4cGEqV67MiRMnGDZsGM2bN893xdiKFSuoUKEC99xzDz/++COjR4+mR48euaYYExGRnKWCTEREnCIxMZFRo0Zx9uxZSpQoQZs2bZg9e7bVYeW42NhYJkyYQGxsLIGBgTz22GNMnTrV6rBERMRF6ZFFERERERERi2hRDxEREREREYuoIBMREREREbGICjIRERERERGLqCATERERERGxiAoyERERERERi6ggExERERERsYgKMhEREREREYuoIBMREREREbHI/wMl+Ny05ppAYAAAAABJRU5ErkJggg==",
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "image/png": "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8iNOERERERERt+ZwcbVkyRIWLFhA586dbW0NGzbkrrvuYsCAASquRERERETktuTwY4HJycnUrl07R3vt2rVJTk52SlAiIiIiIiKFjcPFVcOGDZk3b16O9nnz5tGwYUOnBCUiIiIiIlLYOPxY4PTp0+nYsSMbN24kPDwci8XC9u3bOX36NOvWrcuPGEVERERERNyewyNX9913H0eOHOGxxx7j/PnzJCcn07VrVw4fPsy9996bHzGKiIiIiIi4vZta5yokJCTHxBWnT5+mX79+LFq0yCmBiYiIiIiIFCYOj1zlJTk5mSVLljjrdCIiIiIiIoWK04orERERERGR25mKKxERERERESdQcSUiIiIiIuIEdk9o0bVr1+vuP3/+/K3GIiIiIiIiUmjZXVwFBATccH/v3r1vOSAREREREZHCyO7i6t13383POERERERERAo1vXMlIiIiIiLiBCquREREREREnEDFlYiIiIiIiBOouBIREREREXECFVciIiIiIiJOoOJKRERERETECVRciYiIiIiIOIGKKxERERERESdQcSUiIiIiIuIEKq5EREREREScQMWViIiIiIiIE6i4EhERERERcQIVVyIiIiIiIk6g4kpERERERMQJVFyJiIiIiIg4gYorERERERERJ1BxJSIiIiIi4gQqrkRERERERJxAxZWIiIiIiIgTqLgSERERERFxAhVXIiIiIiIiTqDiSkRERERExAlUXImIiIiIiDiBiisREREREREnUHElIiIiIiLiBCquREREREREnEDFlZvLshrsSkgGYFdCMllWw8URiYiIiIhIblRcubHPv0+k9bQv6bdkNwD9luym9bQv+fz7RBdHJiIiIiIif+XS4iozM5PRo0dTpUoVfH19qVq1KhMnTsRqtV73uK1bt9KkSRN8fHyoWrUqsbGxOfqsWrWKunXr4u3tTd26dVmzZk1+XUa++Pz7RF5cto/ElCvZ2pNSrvDisn0qsERERERE3IxLi6tp06YRGxvLvHnzOHToENOnT2fGjBm8+eabeR6TkJDAI488wr333sv+/fsZOXIkgwYNYtWqVbY+O3bsoHv37jz99NMcOHCAp59+mm7durFz586CuKxblmU1mPDJQXJ7APBa24RPDuoRQRERERERN1LMlR++Y8cOIiIi6NixIwChoaF88MEH7NmzJ89jYmNjqVSpErNnzwagTp067Nmzh9dff53HH38cgNmzZ9O+fXuio6MBiI6OZuvWrcyePZsPPvggfy/KCXYlJOcYsfozA0hMucKuhGTCq5UuuMBERERERCRPLi2uWrduTWxsLEeOHKFmzZocOHCAuLg4W+GUmx07dtChQ4dsbQ899BALFy4kIyMDLy8vduzYwZAhQ3L0yeu86enppKen27ZTU1MByMjIICMj4+Yu7hacTbmIt+f/RqW8PYxs//vnfhkZ/gUam2D7O+GKvxuSO+XEvSgf7kc5cT/KiXtRPtyPO+XEkRhcWly98sorpKSkULt2bTw9PcnKyiImJoaePXvmeUxSUhLly5fP1la+fHkyMzM5d+4cwcHBefZJSkrK9ZxTpkxhwoQJOdrXr19PiRIlbuLKbt30e3K2TWr6l3fRTu9n3en9BROQ5LBhwwZXhyB/oZy4F+XD/Sgn7kc5cS/Kh/txh5xcunTJ7r4uLa5WrlzJsmXLWL58OWFhYcTHxzN48GBCQkKIjIzM8ziLxZJt2zCMHO259flr2zXR0dEMHTrUtp2amkrFihXp0KED/v4FPzKUZTV4aPY2fk29goE5YjWpqZUxezxIt1qwAOX9ffhicBs8PXK/Jsk/GRkZbNiwgfbt2+Pl5eXqcATlxN0oH+5HOXE/yol7UT7cjzvl5NpTbfZwaXE1fPhwXn31VXr06AFA/fr1OXnyJFOmTMmzuAoKCsoxAnX27FmKFStG6dKlr9vnr6NZ13h7e+Pt7Z2j3cvLyyXJ9AKiO4bx4rJ92drTrRauZpnFVHTHMHy8ixd4bPI/rvr7IXlTTtyL8uF+lBP3o5y4F+XD/bhDThz5fJfOFnjp0iU8PLKH4Onped2p2MPDw3MMD65fv56mTZvaLjyvPi1btnRS5Pnv4XrBvP33uwkK8MnWHhTgw9t/v5uH6wW7KDIREREREcmNS0euOnXqRExMDJUqVSIsLIz9+/czc+ZM+vXrZ+sTHR3NmTNnWLp0KQAvvPAC8+bNY+jQoTz77LPs2LGDhQsXZpsFMCoqijZt2jBt2jQiIiL4+OOP2bhxI3FxcQV+jbfi4XrBtK8bxDfHznLu0DcsimxGi+rl9CigiIiIiIgbcunI1ZtvvskTTzzBgAEDqFOnDi+//DLPP/88kyZNsvVJTEzk1KlTtu0qVaqwbt06tmzZQqNGjZg0aRJz5861TcMO0LJlS1asWMG7775LgwYNWLx4MStXrqR58+YFen3O4Olh4Z4qgQDcUyVQhZWIiIiIiJty6chVyZIlmT179nWnXl+8eHGOtvvuu499+/bl7PwnTzzxBE888cQtRigiIiIiImIfl45ciYiIiIiIFBUqrkRERERERJxAxZWIiIiIiIgTqLgSERERERFxAhVXIiIiIiIiTqDiSkRERERExAlUXImIiIiIiDiBiisREREREREnUHElIiIiIiLiBCquREREREREnEDFlYiIiIiIiBOouBIREREREXGCYq4OwB0ZhgFAamqqiyMxZWRkcOnSJVJTU/Hy8nJ1OLc95cP9KCfuRflwP8qJ+1FO3Ivy4X7cKSfXaoJrNcL1qLjKRVpaGgAVK1Z0cSQiIiIiIuIO0tLSCAgIuG4fi2FPCXabsVqt/PLLL5QsWRKLxeLqcEhNTaVixYqcPn0af39/V4dz21M+3I9y4l6UD/ejnLgf5cS9KB/ux51yYhgGaWlphISE4OFx/beqNHKVCw8PDypUqODqMHLw9/d3+V8u+R/lw/0oJ+5F+XA/yon7UU7ci/LhftwlJzcasbpGE1qIiIiIiIg4gYorERERERERJ1BxVQh4e3szbtw4vL29XR2KoHy4I+XEvSgf7kc5cT/KiXtRPtxPYc2JJrQQERERERFxAo1ciYiIiIiIOIGKKxERERERESdQcSUiIiIiIuIEKq5EREREREScQMWVmxg/fjwWiyXbT1BQkG2/YRiMHz+ekJAQfH19uf/++/nhhx9cGHHRsm3bNjp16kRISAgWi4W1a9dm22/P95+ens4//vEPypQpwx133EHnzp35+eefC/AqipYb5aRPnz457pkWLVpk66OcOM+UKVNo1qwZJUuWpFy5cnTp0oXDhw9n66P7pGDZkxPdJwXr7bffpkGDBrZFT8PDw/nss89s+3WPFKwb5UP3h2tNmTIFi8XC4MGDbW1F4R5RceVGwsLCSExMtP189913tn3Tp09n5syZzJs3j927dxMUFET79u1JS0tzYcRFx8WLF2nYsCHz5s3Ldb893//gwYNZs2YNK1asIC4ujgsXLvDoo4+SlZVVUJdRpNwoJwAPP/xwtntm3bp12fYrJ86zdetWXnrpJb755hs2bNhAZmYmHTp04OLFi7Y+uk8Klj05Ad0nBalChQpMnTqVPXv2sGfPHtq2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TZvo379/jv32XIuISGGkxwJFRAqhlJQU4uPjs/2cOnWKl156ieTkZHr27MmuXbs4ceIE69evp1+/fnb/gt++fXuqVatGZGQk3377LV9//bVtQotrIznlypXD19fXNoHDrUwXPnz4cBYvXkxsbCxHjx5l5syZrF69mpdffvmmz/ln1atXZ8+ePXzxxRccOXKEMWPG5CgWc9OrVy+sVivPPfcchw4d4osvvuD1118H/vc92PN9h4aGsnPnTn766SfOnTuX6yhefHw8ERER/Pvf/+bgwYMcO3aMhQsXsmjRIiIiIgB46qmnKFOmDBEREXz11VckJCSwdetWoqKi+PnnnwGIiopi6tSprFmzhh9//JEBAwZw/vz5bJ/Vtm1b3nvvPb766iu+//57IiMjsz3G2a5dO8LDw+nSpQtffPEFP/30E9u3b2f06NE5isu8+Pj48MorrzBixAiWLl3K8ePH+eabb1i4cKHd1yIiUhipuBIRKYS2bNlC48aNs/2MHTuWkJAQvv76a7KysnjooYeoV68eUVFRBAQE4OFh3//le3p6snbtWi5cuECzZs3o378/o0ePBrC9f1SsWDHmzp3L/PnzCQkJsRUAN6NLly7MmTOHGTNmEBYWxvz583n33XedtvDvCy+8QNeuXenevTvNmzfn999/zzaKlRd/f38++eQT4uPjadSoEaNGjWLs2LHA/74He77vl19+GU9PT+rWrUvZsmVzvOsFUKFCBUJDQ5kwYQLNmzfn7rvvZs6cOUyYMMFW2JYoUYJt27ZRqVIlunbtSp06dejXrx+XL1+2jf4MGzaM3r1706dPH9sjkI899li2z4qOjqZNmzY8+uijPPLII3Tp0oVq1arZ9lssFtatW0ebNm3o168fNWvWpEePHvz000+2kUx7jBkzhmHDhjF27Fjq1KlD9+7dbe9k2XMtIiKFkcX464PXIiIif/H111/TunVrjh07lu0X8dvN+++/T9++fUlJSbnhe0Xuok+fPpw/f962RpmIiOQfvXMlIiI5rFmzBj8/P2rUqMGxY8eIioqiVatWt11htXTpUqpWrcpdd93FgQMHeOWVV+jWrVuhKaxERKRgqbgSEZEc0tLSGDFiBKdPn6ZMmTK0a9eON954w9VhFbikpCTGjh1LUlISwcHBPPnkk8TExLg6LBERcVN6LFBERERERMQJNKGFiIiIiIiIE6i4EhERERERcQIVVyIiIiIiIk6g4kpERERERMQJVFyJiIiIiIg4gYorERERERERJ1BxJSIiIiIi4gQqrkRERERERJzg/wGRKak5e1P8cAAAAABJRU5ErkJggg==",
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Linear Regression Equation (Cost vs Length): y = 31.14x + 1592.86\n",
            "Linear Regression Equation (Log(Cost) vs Length): log(y) = 0.0042x + 8.0051\n"
          ]
        }
      ],
      "source": [
        "# Program  CostOfTruncatedEvolution.py\n",
        "# This program estimates the cost of Evolution\n",
        "# to solve\n",
        "# the Evolutionary Truncated Shakespeare Challenge,\n",
        "# which consists in matching a percentage of a given string.\n",
        "# The cost is given as a function on\n",
        "# the length of the target sequence.\n",
        "\n",
        "import datetime\n",
        "import random\n",
        "import math\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt # Import matplotlib for plotting\n",
        "import datetime\n",
        "import time\n",
        "\n",
        "\n",
        "\n",
        " \n",
        "# NUmber of points in the graph\n",
        "number_of_points = 8\n",
        "# step size for length of target sequence\n",
        "step_size = 50\n",
        "# target_sequence = 'Methinks it is like a weasel.'\n",
        "alphabet = '01'\n",
        "# alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,'\n",
        "# length_of_target_sequence = varying, specified in the loop below\n",
        "# target_sequence = '1'*length_of_target_sequence\n",
        "percentageOfTask = 0.95\n",
        "population_size = 200\n",
        "# Include cloning of the fittest\n",
        "include_clone_population17 = True\n",
        "# Include mutation\n",
        "include_mutate_all17 = True\n",
        "# Include recombination\n",
        "include_crossover_all17 = False\n",
        "mutation_rate = 0.01\n",
        "recombination_rate = 0.01\n",
        "# Boolean flag to print the generation, best chromosome and fitness.\n",
        "# This is the ancestral line of the solution.\n",
        "print_best_fitness = False\n",
        "print_parameters = True\n",
        "show_graph = True\n",
        "\n",
        "start_time = time.time() # Record the start time\n",
        "\n",
        "\n",
        "def print_parameters17():\n",
        "    print(f\"Lab: Cost of truncated Evolution\")\n",
        "    print(f\"Purpose: estimation of the cost to solve the Truncated Shakespeare challenge\")\n",
        "    print(f\"Date of Experiment  = {datetime.datetime.now()}\")\n",
        "    print(f\"number_of_points = {number_of_points}\")\n",
        "    print(f\"step_size = {step_size}\")\n",
        "    print(f\"alphabet =  {alphabet}\")\n",
        "    # print(f\"target_sequence = {target_sequence}\")\n",
        "    # print(f\"length_of_target_sequence = {length_of_target_sequence}\")\n",
        "    print(f\"percentageOfTask = {percentageOfTask}\")\n",
        "    print(f\"population_size = {population_size}\")\n",
        "    print(f\"include_clone_population17 = {include_clone_population17}\")\n",
        "    print(f\"include_mutate_all17 = {include_mutate_all17}\")\n",
        "    print(f\"include_crossover_all17 = {include_crossover_all17}\")\n",
        "    if include_mutate_all17:\n",
        "        print(f\"mutation_rate = {mutation_rate}\")\n",
        "    if include_crossover_all17:\n",
        "        print(f\"recombination_rate = {recombination_rate}\")\n",
        "    if include_clone_population17:\n",
        "        print(f\"print_best_fitness = {print_best_fitness}\")\n",
        "\n",
        "\n",
        "def create_population17(population_size, target_sequence, alphabet):\n",
        "    \"\"\"Creates a new population with random chromosomes.\"\"\"\n",
        "    # print(\"create_population17(population_size, target_sequence, alphabet)\")\n",
        "    population = []\n",
        "    for _ in range(population_size):\n",
        "        random_string = ''.join(random.choice(alphabet) for _ in range(len(target_sequence)))\n",
        "        population.append(random_string)\n",
        "    # print(\"initial population\")\n",
        "    # print(population)\n",
        "    return population\n",
        "\n",
        "def calculate_fitness17(chromosome, target_sequence):\n",
        "    \"\"\"Calculates the fitness of a chromosome based on its similarity to the target sequence.\"\"\"\n",
        "    #  print(\"\\n *calculate_fitness17(chromosome, target_sequence)\")\n",
        "    fitness = 0\n",
        "    for i in range(len(chromosome)):\n",
        "        if chromosome[i] == target_sequence[i]:\n",
        "            fitness += 1\n",
        "    # print(chromosome, \"  fitness: \", fitness)\n",
        "    return fitness\n",
        "\n",
        "def calculate_all_fitness17(population, target_sequence):\n",
        "    # print(\"\\n*calculate_all_fitness17(population, target_sequence)\")\n",
        "    \"\"\"Calculates the fitness of all chromosomes in the population.\"\"\"\n",
        "    fitness_scores = [calculate_fitness17(chromosome, target_sequence) for chromosome in population]\n",
        "    # print(\"fitness_scores: \", fitness_scores)\n",
        "    return fitness_scores\n",
        "\n",
        "def select_the_best17(population, target_sequence):\n",
        "    \"\"\"Selects the best chromosome for reproduction.\"\"\"\n",
        "    fitness_scores = calculate_all_fitness17(population, target_sequence)\n",
        "    best_fitness = max(fitness_scores)\n",
        "    best_chromosome_index = fitness_scores.index(best_fitness)\n",
        "    best_chromosome = population[best_chromosome_index]\n",
        "    # print(\"\\n*select_the_best17(population)\")\n",
        "    # print(\"best_fitness = \", best_fitness)\n",
        "    # print(\"The chro = \", best_chromosome )\n",
        "    return best_fitness, best_chromosome\n",
        "\n",
        "def clone_population17(best_chromosome, population_size):\n",
        "    \"\"\"Creates a new population by cloning the best chromosome.\"\"\"\n",
        "    return [best_chromosome] * population_size\n",
        "\n",
        "\n",
        "def mutate17(chromosome, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates a chromosome.\"\"\"\n",
        "    mutated_chromosome_list = list(chromosome)\n",
        "    for i in range(len(mutated_chromosome_list)):\n",
        "        if random.random() < mutation_rate:\n",
        "                mutated_chromosome_list[i] = random.choice(alphabet)\n",
        "    return \"\".join(mutated_chromosome_list)\n",
        "\n",
        "def mutate_all17(population, mutation_rate, alphabet):\n",
        "    \"\"\"Mutates all chromosomes in the population.\"\"\"\n",
        "    mutated_population = []\n",
        "    for chromosome in population:\n",
        "        mutated_chromosome = mutate17(chromosome, mutation_rate, alphabet)\n",
        "        mutated_population.append(mutated_chromosome)\n",
        "    return mutated_population\n",
        "\n",
        "def crossover17(parent1, parent2, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover between two parent chromosomes.\"\"\"\n",
        "    if random.random() < recombination_rate:\n",
        "        crossover_point = random.randint(0, len(target_sequence))\n",
        "        return parent1[:crossover_point] + parent2[crossover_point:]\n",
        "    else:\n",
        "        return parent1\n",
        "\n",
        "def crossover_all17(population, target_sequence, recombination_rate):\n",
        "    \"\"\"Performs crossover on all chromosomes in the population.\"\"\"\n",
        "    recombinant_population = []\n",
        "    for i in range(len(population)):\n",
        "        parent1 =  population[i]\n",
        "        parent2 = random.choice(population)\n",
        "        child = crossover17(parent1, parent2, target_sequence, recombination_rate)\n",
        "        recombinant_population.append(child)\n",
        "    return recombinant_population\n",
        "\n",
        "\n",
        "\n",
        "def run_one_generation17(population, target_sequence, mutation_rate, recombination_rate, alphabet):\n",
        "    \"\"\"Runs one generation of the genetic algorithm.\"\"\"\n",
        "    # Calculate fitness scores for the current population\n",
        "    best_fitness, best_chromosome  = select_the_best17(population, target_sequence)\n",
        "    # print(f\" best_chromosome {best_chromosome}, best_fitness {best_fitness}\")\n",
        "    # Clone the best to build the new population\n",
        "    new_population = []\n",
        "    if include_clone_population17:\n",
        "        new_population = clone_population17(best_chromosome, population_size)\n",
        "    if include_mutate_all17:\n",
        "        new_population = mutate_all17(new_population, mutation_rate, alphabet)\n",
        "    if include_crossover_all17:\n",
        "        new_population = crossover_all17(new_population, target_sequence, recombination_rate)\n",
        "    return best_fitness, best_chromosome, new_population\n",
        "\n",
        "\n",
        "\n",
        "def plot_function17(best_fitness_history, xlabel, ylabel, title):\n",
        "    # Plot the fitness history\n",
        "    plt.plot(best_fitness_history)\n",
        "    plt.xlabel(xlabel)\n",
        "    plt.ylabel(ylabel)\n",
        "    plt.title(title)\n",
        "    plt.grid(True)\n",
        "    plt.show()\n",
        "\n",
        "\n",
        "def truncated_task17( target_sequence, mutation_rate, recombination_rate, alphabet, percentageOfTask):\n",
        "    if print_parameters:\n",
        "        print_parameters17()\n",
        "    population = create_population17(population_size, target_sequence, alphabet)\n",
        "    # print(population)\n",
        "    generation = 0\n",
        "    best_chromosome = ''\n",
        "    best_fitness = 0\n",
        "    best_fitness_history = [] # List to store best fitness of each generation\n",
        "    if print_best_fitness:\n",
        "        print(\"Generation, best_chromosome and best_fitness\")\n",
        "    while best_fitness < percentageOfTask * len(target_sequence):\n",
        "        generation += 1\n",
        "        best_fitness, best_chromosome, population = run_one_generation17(population, target_sequence, mutation_rate, recombination_rate, alphabet)\n",
        "        if print_best_fitness:\n",
        "            print(f\" {generation}  {best_chromosome} {best_fitness}\")\n",
        "        best_fitness_history.append(best_fitness)\n",
        "    # print(f\"\\nTarget sequence matched in generation {generation}\")\n",
        "    # print(f\"Final chromosome: {best_chromosome}\")\n",
        "    totalCost = population_size * generation\n",
        "    print(f\"{len(target_sequence)}    {totalCost}\")\n",
        "    return len(target_sequence), totalCost\n",
        "\n",
        "\n",
        "print_parameters17()\n",
        "print_parameters = False\n",
        "xArray = []\n",
        "yArray = []\n",
        "print(f\"Length of target sequence and Total cost = population size * number of generations\")\n",
        "for i in range(1, number_of_points + 1):\n",
        "    target_sequence = '1'*step_size * i\n",
        "    x, y = truncated_task17(target_sequence, mutation_rate, recombination_rate, alphabet, percentageOfTask)\n",
        "    xArray.append(x)\n",
        "    yArray.append(y)\n",
        "print(xArray)\n",
        "print(yArray)\n",
        "\n",
        "\n",
        "fig, ax = plt.subplots()\n",
        "ax.plot(xArray, yArray, linewidth=2, label=r\"Truncation percentage = 95%\")\n",
        "ax.set( xlabel=\"Generation\")\n",
        "ax.legend(fontsize=14)\n",
        "ax.set_ylabel('Cost')\n",
        "ax.set_title('Cost of Truncated Evolution vs Generation')\n",
        "plt.show()\n",
        " \n",
        "\n",
        "# Perform linear regression\n",
        "# Fit a polynomial of degree 1 (linear)\n",
        "slope, intercept = np.polyfit(xArray, yArray, 1)\n",
        "\n",
        "# Create the regression line\n",
        "regression_line = slope * np.array(xArray) + intercept\n",
        "\n",
        "# Plot the original data and the regression line\n",
        "plt.figure(figsize=(10, 6))\n",
        "plt.scatter(xArray, yArray, label='Observed Data')\n",
        "plt.plot(xArray, regression_line, color='red', label=f'Linear Regression: y = {slope:.2f}x + {intercept:.2f}')\n",
        "plt.xlabel('Length of Target Sequence')\n",
        "plt.ylabel('Total Cost (Number of Chromosomes)')\n",
        "plt.title('Linear Regression of Truncated Evolution Cost vs. Target Sequence Length')\n",
        "plt.legend()\n",
        "plt.grid(True)\n",
        "plt.show()\n",
        "\n",
        "# Also perform linear regression on the log of yArray\n",
        "log_y_array = np.log(yArray)\n",
        "log_slope, log_intercept = np.polyfit(xArray, log_y_array, 1)\n",
        "log_regression_line = log_slope * np.array(xArray) + log_intercept\n",
        "\n",
        "# Plot the original log data and the log regression line\n",
        "plt.figure(figsize=(10, 6))\n",
        "plt.scatter(xArray, log_y_array, label='Observed Log Data')\n",
        "plt.plot(xArray, log_regression_line, color='red', label=f'Linear Regression on Log: log(y) = {log_slope:.4f}x + {log_intercept:.4f}')\n",
        "plt.xlabel('Length of Target Sequence')\n",
        "plt.ylabel('Log of Total Cost (Log of Number of Chromosomes)')\n",
        "plt.title('Linear Regression of Log of Truncated Evolution Cost vs. Target Sequence Length')\n",
        "plt.legend()\n",
        "plt.grid(True)\n",
        "plt.show()\n",
        "\n",
        "print(f\"Linear Regression Equation (Cost vs Length): y = {slope:.2f}x + {intercept:.2f}\")\n",
        "print(f\"Linear Regression Equation (Log(Cost) vs Length): log(y) = {log_slope:.4f}x + {log_intercept:.4f}\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "*Our comment.* We have a machinery to make experiments with segmentation. "
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Mathematical prediction\n",
        "\n",
        "We have gathered enough data to conclude that the dependence of the cost on the length of the target string is complex, consisting of segments that are joined by something like a phase change. It may look linear for lengths less than 500, exponential from 500 to 3000, and supra-exponential further on.\n",
        "\n",
        "Can we fit this complex behavior with a mathematical prediction?\n",
        "\n",
        "We must try. \n",
        "\n",
        "Our one and only option is to resort to a relation that we found earlier for the number of matched sites $M$ as a function of the generation $n$:\n",
        "\n",
        "$$M(n) = (1-\\mu)^nI + \\frac{1- (1-\\mu)^n}{ \\mu} (\\frac{1}{2} \\mu H + \\eta )  \\tag{4}   $$\n",
        " \n",
        "> where $\\mu$ is the mutation rate, $H$ is the length of the target string, $I$ is the initial number of matched sites, whose expected number is $I = H/2$, $\\eta$ represents the contribution of MAX and takes a value around 5 for a population size of 200.  The task is to match, say, 80\\% of the length of the target string. So, $M = 0.8 H$. From here, we must solve this equation for $n$, the number of generations, as a function of $H$. Once we get $n$, the cost is this number times the population size. Let us proceed.\n",
        "\n",
        "\n",
        "\n",
        "Denoting\n",
        "\n",
        "$A =  \\frac{1 }{ \\mu} (\\frac{1}{2} \\mu H + \\eta)$\n",
        "\n",
        "$M$ turns to be\n",
        "\n",
        "$M(n) = (1-\\mu)^nI + ( 1- (1-\\mu)^n) A $  \n",
        "\n",
        "$M  = (1-\\mu)^nI + A -  (1-\\mu)^n A $\n",
        "\n",
        "$M = (1-\\mu)^n [ I -A]  + A$\n",
        "\n",
        "$(1-\\mu)^n [ I -A]  = M -A $\n",
        "\n",
        "$ (1-\\mu)^n = \\frac{M -A}{ I -A}$\n",
        "\n",
        "$ n \\ln  (1-\\mu) = \\ln (\\frac{M -A}{ I -A})$\n",
        "\n",
        "$n = \\frac{\\ln (\\frac{M -A}{ I -A})}{ \\ln  (1-\\mu)}$\n",
        "\n",
        "whose full expansion is\n",
        "\n",
        "$n = \\frac{\\ln(\\frac{ M  -  \\frac{1 }{ \\mu} (\\frac{1}{2} \\mu H + \\eta)}{[I - \\frac{1 }{ \\mu} (\\frac{1}{2} \\mu H + \\eta ) ]})}{\\ln (1-\\mu) }$\n",
        "\n",
        "The task to be done is determined by $M = rH$, where $r$ is the proportion of the target string to be matched, say, $0.8 = 80\\%$. Thus, the cost function is completely determined by\n",
        ">\n",
        "> $H = $ length of the target string, it is the independent variable. All others are parameters.\n",
        ">\n",
        "> $r = 0.8$, the proportion of the task\n",
        ">\n",
        "> $I = H/2$, the initial condition\n",
        ">\n",
        "> $\\mu = $ mutation rate\n",
        ">\n",
        "> $\\eta = 5$, contribution by MAX, the selection of the fittest. It must be adjusted to get a good fitting.\n",
        "> \n",
        "> $A =  \\frac{1 }{ \\mu} (\\frac{1}{2} \\mu H + \\eta)$\n",
        "> \n",
        "> $n = \\frac{\\ln (\\frac{rH -A}{ I -A})}{ \\ln  (1-\\mu)}$\n",
        ">\n",
        "> $Cost = n \\times $ population size.  \n",
        ">\n",
        ">$ Cost = C(H)$ is given as the total number of used chromosomes to match the target string up to the desired proportion. \n",
        "\n",
        "The code for drawing this function is the following:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Length of target sequence (H): 100, Estimated Cost: 200.0\n",
            "Length of target sequence (H): 200, Estimated Cost: 402.0304915577725\n",
            "Length of target sequence (H): 300, Estimated Cost: 606.1331268665384\n",
            "Length of target sequence (H): 400, Estimated Cost: 812.3508530520029\n",
            "Length of target sequence (H): 500, Estimated Cost: 1020.7279664127927\n",
            "Length of target sequence (H): 600, Estimated Cost: 1231.3101695309151\n",
            "Length of target sequence (H): 700, Estimated Cost: 1444.1446314364184\n",
            "Length of target sequence (H): 800, Estimated Cost: 1659.2800510243958\n",
            "Length of target sequence (H): 900, Estimated Cost: 1876.766723937574\n",
            "Length of target sequence (H): 1000, Estimated Cost: 2096.656613144318\n",
            "Length of target sequence (H): 1100, Estimated Cost: 2319.003423459767\n",
            "Length of target sequence (H): 1200, Estimated Cost: 2543.8626802774725\n",
            "Length of target sequence (H): 1300, Estimated Cost: 2771.291812800265\n",
            "Length of target sequence (H): 1400, Estimated Cost: 3001.3502420824725\n",
            "Length of target sequence (H): 1500, Estimated Cost: 3234.099474221147\n",
            "Length of target sequence (H): 1600, Estimated Cost: 3469.6031990619417\n",
            "Length of target sequence (H): 1700, Estimated Cost: 3707.9273948159225\n",
            "Length of target sequence (H): 1800, Estimated Cost: 3949.1404390172634\n",
            "Length of target sequence (H): 1900, Estimated Cost: 4193.313226288635\n",
            "Length of target sequence (H): 2000, Estimated Cost: 4440.51929342179\n",
            "Length of target sequence (H): 2100, Estimated Cost: 4690.834952325423\n",
            "Length of target sequence (H): 2200, Estimated Cost: 4944.339431441743\n",
            "Length of target sequence (H): 2300, Estimated Cost: 5201.115026287411\n",
            "Length of target sequence (H): 2400, Estimated Cost: 5461.247259834582\n",
            "Length of target sequence (H): 2500, Estimated Cost: 5724.825053514106\n",
            "Length of target sequence (H): 2600, Estimated Cost: 5991.940909696449\n",
            "Length of target sequence (H): 2700, Estimated Cost: 6262.691106587403\n",
            "Length of target sequence (H): 2800, Estimated Cost: 6537.17590656611\n",
            "Length of target sequence (H): 2900, Estimated Cost: 6815.499779093559\n",
            "Length of target sequence (H): 3000, Estimated Cost: 7097.771639431729\n",
            "Length of target sequence (H): 3100, Estimated Cost: 7384.105104538505\n",
            "Length of target sequence (H): 3200, Estimated Cost: 7674.618767642937\n",
            "Length of target sequence (H): 3300, Estimated Cost: 7969.436493161615\n",
            "Length of target sequence (H): 3400, Estimated Cost: 8268.68773379158\n",
            "Length of target sequence (H): 3500, Estimated Cost: 8572.507871811531\n",
            "Length of target sequence (H): 3600, Estimated Cost: 8881.03858684358\n",
            "Length of target sequence (H): 3700, Estimated Cost: 9194.428252576046\n",
            "Length of target sequence (H): 3800, Estimated Cost: 9512.832365228\n",
            "Length of target sequence (H): 3900, Estimated Cost: 9836.414006852747\n",
            "Length of target sequence (H): 4000, Estimated Cost: 10165.344346935897\n",
            "Length of target sequence (H): 4100, Estimated Cost: 10499.803186150228\n",
            "Length of target sequence (H): 4200, Estimated Cost: 10839.979546591845\n",
            "Length of target sequence (H): 4300, Estimated Cost: 11186.072313348692\n",
            "Length of target sequence (H): 4400, Estimated Cost: 11538.290932853517\n",
            "Length of target sequence (H): 4500, Estimated Cost: 11896.856174161367\n",
            "Length of target sequence (H): 4600, Estimated Cost: 12262.000960080215\n",
            "Length of target sequence (H): 4700, Estimated Cost: 12633.971275990412\n",
            "Length of target sequence (H): 4800, Estimated Cost: 13013.02716523332\n",
            "Length of target sequence (H): 4900, Estimated Cost: 13399.443821157043\n",
            "Length of target sequence (H): 5000, Estimated Cost: 13793.512787305684\n",
            "Length of target sequence (H): 5100, Estimated Cost: 14195.543278863459\n",
            "Length of target sequence (H): 5200, Estimated Cost: 14605.86364035769\n",
            "Length of target sequence (H): 5300, Estimated Cost: 15024.8229568366\n",
            "Length of target sequence (H): 5400, Estimated Cost: 15452.79283833008\n",
            "Length of target sequence (H): 5500, Estimated Cost: 15890.169400450002\n",
            "Length of target sequence (H): 5600, Estimated Cost: 16337.375467583157\n",
            "Length of target sequence (H): 5700, Estimated Cost: 16794.863029388158\n",
            "Length of target sequence (H): 5800, Estimated Cost: 17263.115986367626\n",
            "Length of target sequence (H): 5900, Estimated Cost: 17742.65322632295\n",
            "Length of target sequence (H): 6000, Estimated Cost: 18234.032080727477\n",
            "Length of target sequence (H): 6100, Estimated Cost: 18737.85221874743\n",
            "Length of target sequence (H): 6200, Estimated Cost: 19254.76004714027\n",
            "Length of target sequence (H): 6300, Estimated Cost: 19785.453697002133\n",
            "Length of target sequence (H): 6400, Estimated Cost: 20330.688693871794\n",
            "Length of target sequence (H): 6500, Estimated Cost: 20891.284426737417\n",
            "Length of target sequence (H): 6600, Estimated Cost: 21468.131554948617\n",
            "Length of target sequence (H): 6700, Estimated Cost: 22062.200521097264\n",
            "Length of target sequence (H): 6800, Estimated Cost: 22674.551374149265\n",
            "Length of target sequence (H): 6900, Estimated Cost: 23306.345152533682\n",
            "Length of target sequence (H): 7000, Estimated Cost: 23958.857134241585\n",
            "Length of target sequence (H): 7100, Estimated Cost: 24633.49233389753\n",
            "Length of target sequence (H): 7200, Estimated Cost: 25331.803720159205\n",
            "Length of target sequence (H): 7300, Estimated Cost: 26055.513747385903\n",
            "Length of target sequence (H): 7400, Estimated Cost: 26806.539952539002\n",
            "Length of target sequence (H): 7500, Estimated Cost: 27587.02557461137\n",
            "Length of target sequence (H): 7600, Estimated Cost: 28399.376427663374\n",
            "Length of target sequence (H): 7700, Estimated Cost: 29246.305625635767\n",
            "Length of target sequence (H): 7800, Estimated Cost: 30130.888254888843\n",
            "Length of target sequence (H): 7900, Estimated Cost: 31056.62877367331\n",
            "Length of target sequence (H): 8000, Estimated Cost: 32027.544868033157\n",
            "Length of target sequence (H): 8100, Estimated Cost: 33048.272834445954\n",
            "Length of target sequence (H): 8200, Estimated Cost: 34124.20148117748\n",
            "Length of target sequence (H): 8300, Estimated Cost: 35261.64434225431\n",
            "Length of target sequence (H): 8400, Estimated Cost: 36468.06416145495\n",
            "Length of target sequence (H): 8500, Estimated Cost: 37752.369921547266\n",
            "Length of target sequence (H): 8600, Estimated Cost: 39125.31650746489\n",
            "Length of target sequence (H): 8700, Estimated Cost: 40600.052739844694\n",
            "Length of target sequence (H): 8800, Estimated Cost: 42192.88921496906\n",
            "Length of target sequence (H): 8900, Estimated Cost: 43924.40104219453\n",
            "Length of target sequence (H): 9000, Estimated Cost: 45821.057655338846\n",
            "Length of target sequence (H): 9100, Estimated Cost: 47917.71426848317\n",
            "Length of target sequence (H): 9200, Estimated Cost: 50261.576948760645\n",
            "Length of target sequence (H): 9300, Estimated Cost: 52918.82929477057\n",
            "Length of target sequence (H): 9400, Estimated Cost: 55986.40200227475\n",
            "Length of target sequence (H): 9500, Estimated Cost: 59614.57044264453\n",
            "Length of target sequence (H): 9600, Estimated Cost: 64055.089736066315\n",
            "Length of target sequence (H): 9700, Estimated Cost: 69779.91478958043\n",
            "Length of target sequence (H): 9800, Estimated Cost: 77848.602523372\n",
            "Length of target sequence (H): 9900, Estimated Cost: 91642.11531067769\n",
            "Length of target sequence (H): 10000, Estimated Cost: inf\n",
            "Length of target sequence (H): 10100, Estimated Cost: nan\n",
            "Length of target sequence (H): 10200, Estimated Cost: nan\n",
            "Length of target sequence (H): 10300, Estimated Cost: nan\n",
            "Length of target sequence (H): 10400, Estimated Cost: nan\n",
            "Length of target sequence (H): 10500, Estimated Cost: nan\n",
            "Length of target sequence (H): 10600, Estimated Cost: nan\n",
            "Length of target sequence (H): 10700, Estimated Cost: nan\n",
            "Length of target sequence (H): 10800, Estimated Cost: nan\n",
            "Length of target sequence (H): 10900, Estimated Cost: nan\n",
            "Length of target sequence (H): 11000, Estimated Cost: nan\n",
            "Length of target sequence (H): 11100, Estimated Cost: nan\n",
            "Length of target sequence (H): 11200, Estimated Cost: nan\n",
            "Length of target sequence (H): 11300, Estimated Cost: nan\n",
            "Length of target sequence (H): 11400, Estimated Cost: nan\n",
            "Length of target sequence (H): 11500, Estimated Cost: nan\n",
            "Length of target sequence (H): 11600, Estimated Cost: nan\n",
            "Length of target sequence (H): 11700, Estimated Cost: nan\n",
            "Length of target sequence (H): 11800, Estimated Cost: nan\n",
            "Length of target sequence (H): 11900, Estimated Cost: nan\n"
          ]
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "/tmp/ipykernel_8964/812203312.py:39: RuntimeWarning: divide by zero encountered in log\n",
            "  n = np.log( (r * H - A) / (I - A) ) / np.log(1 - mu)\n",
            "/tmp/ipykernel_8964/812203312.py:39: RuntimeWarning: invalid value encountered in log\n",
            "  n = np.log( (r * H - A) / (I - A) ) / np.log(1 - mu)\n"
          ]
        },
        {
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2QAAAIhCAYAAAAhCnmjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAACWwklEQVR4nOzdd3hUVf7H8c+k995DCD2U0AREREUQggoiumtZFMWCKDYEy7o2dBXWzq7Yf66ogLgoWBAxQRBFqiBICSC9hBAI6Qmp5/dHyMgQAhlSJgnv1/Pkgdw5d+53Zs7cmU/OvedajDFGAAAAAIB65+ToAgAAAADgXEUgAwAAAAAHIZABAAAAgIMQyAAAAADAQQhkAAAAAOAgBDIAAAAAcBACGQAAAAA4CIEMAAAAAByEQAYAAAAADkIgq0e///67brvtNrVs2VIeHh7y8fHReeedp5deeklHjx6tk21OmjRJX375Za3f79GjR3XjjTcqLCxMFotFw4cPr/Vt1KaJEyfKYrHYLGvRooVGjRpl1/3k5+dr4sSJ+vHHH2uvuON+/PFHWSyWM973smXLNHHiRGVmZtZ6DY40f/58TZw4sU7u+9JLL9Wll156xnYtWrSQxWI55U911j9b06ZNk8Vi0e7du+1eNyUlRRMnTtS6desq3Xaqfo+6tXnzZk2cOPGsXsvGbvv27Ro5cqSaN28uT09PtW7dWuPHj1d6enqltjt37tS1116rgIAA+fj4aNCgQVq7dm21t7V27VoNHDhQPj4+CggI0LXXXqudO3fatDl27JjuvfdehYaGqlmzZnruuedkjLFps2fPHvn4+OiHH344uwddz2rjM6gp7zPeeustTZs2zdFlnFFaWppGjRqlkJAQeXl5qU+fPnb1weq+fz7++GPdeOONiouLk5OTk1q0aFGLj+L06vIzvbbs27dP11xzjVq1aiVvb2/5+/ure/fumjp1qkpKSiq1r+l+67QM6sV7771nXFxcTKdOncybb75pFi9ebBITE82kSZNMy5YtzfDhw+tku97e3ubWW2+t9fsdN26ccXNzM9OnTzfLly83W7durfVt1KZnnnnGnNzd165da7Zv327X/Rw+fNhIMs8880wtVldu8eLFRpJZvHjxadu9/PLLRpLZtWtXrdfgSPfee2+l16i29OvXz/Tr1++M7WJjY03fvn3N8uXLK/1s2rSpTmozxpgPP/zwrF/T1atXG0nmww8/rHTbvn37zPLly2teIKpt9uzZ1XofNzVpaWkmODjYtGzZ0kybNs0sWrTIvPrqq8bHx8d069bNlJaW2rSNiooynTp1Ml988YX59ttvzUUXXWR8fX3Nli1bzrit5ORk4+vray6++GLz7bffmi+++MJ06tTJREVFmbS0NGu7Z5991kRERJjZs2ebDz74wHh5eZlPPvnE5r6uuOIKc8stt9TeE1HHauMzqCnvMzp16lStfb0jHTt2zMTHx5tmzZqZ6dOnm8TERHP11VcbFxcX8+OPP55xfXvePwMHDjTx8fHm5ptvNm3atDGxsbF19Kgqq8vP9NqSnJxsbrnlFvPf//7XLFy40MyfP9/cd999RpK54447bNrWdL91Ji61E+twOsuXL9c999yjQYMG6csvv5S7u7v1tkGDBmnChAlasGCBAyu038aNG9W6dWvddNNNdbqd4uJiWSwWubjUflft3r17rd9nQ1RQUCBPT09Hl9FoBAQE6IILLnB0GbWiWbNmatasmaPLqHf5+fny8vJydBnnlK+++krp6en67LPPdNlll0mS+vfvr8LCQv3jH//Q+vXrrfvcl19+WYcPH9ayZcsUGxsrSbrooovUunVrPf300/rss89Ou62nn35a7u7umjdvnvz8/CRJPXr0UNu2bfXKK6/oxRdflCR9++23euCBB/TXv/5VkrRixQrNmzdPN998syRp1qxZWrVqlbZs2VL7T0gj1ZD2GcYYHTt2rMl9fn3wwQfauHGjli1bpj59+kgqf6907dpVjz76qFauXHna9e15/3z//fdycio/GG7o0KHauHFjHT2qxql9+/b66KOPbJZdccUVSktL00cffaQ333zT+p29pvutM6pxpMMZDR061Li4uJi9e/dWq31paal58cUXTVxcnHFzczOhoaFm5MiRZt++fTbt1q5da4YMGWJCQ0ONm5ubiYyMNFdeeaW1naRKP2f6y1F6erq55557TFRUlHF1dTUtW7Y0//jHP8yxY8eMMcbs2rXrlPd7ur8Gx8bGmiFDhpg5c+aYzp07G3d3d9OyZUvz73//26ZdxQjRxx9/bMaPH2+ioqKMxWIxycnJxhhjkpKSzIABA4yvr6/x9PQ0F154oVm4cGGl7c2bN8907drVuLm5mRYtWpiXX375lCNksbGxlUYPMzIyzPjx403Lli2tz/0VV1xhkpOTq3zsJ97Htm3bzN/+9jfra9K+fXszderUSjUmJyebwYMHG09PTxMcHGzGjBljvv766zM+lxWPo6rnv+K5/uKLL0y3bt2Mu7u7eeyxx6y1n+ovojrpr60V29i4caO58cYbjZ+fnwkLCzO33XabyczMtFm3tLTU/Oc//zFdu3Y1Hh4ext/f3/Tu3dt89dVX1jazZs0ygwYNMhEREcbDw8O0b9/ePPbYYyY3N9fa5tZbbz3l46oYMSorKzNvvvmmdTsBAQHmL3/5i9mxY4dNPWVlZebFF180zZs3N+7u7qZ79+5m/vz5do2QDRky5LRt5s6daySdsu+99dZbRpJZv369ddlXX31lLrjgAuPp6Wl8fHzMwIEDzbJly2zWO9UI2an6pzG2o30V75mTfypez1P1++ruX/r162c6depkVq1aZS666CLj6elpWrZsaSZPnmwz2mGPW2+91Xh7e5uNGzeaAQMGGC8vLxMSEmLuvfdek5eXZ9O2uq95RZ1Lliwxffr0MZ6enuaGG24wxpz+/VyhsLDQ/POf/7Q+HyEhIWbUqFE2Iy3G/Nk3vvvuO9O9e3fj4eFh4uLizAcffGBtU/E6nvxT8b5LTEw0w4YNM9HR0cbd3d20bt3a3HXXXebw4cOVnqsvv/zSdO7c2bi5uZmWLVuaKVOmnPL1rO7zVNemTZtmJJnVq1fbLK94T2zevNm6rE2bNmbw4MGV7uOuu+4ynp6epri4uMrtFBcXG09PTzNmzJhKtyUkJJi2bdtaf+/SpYvN58xDDz1krr76amNMed8IDw83H330UbUf4+lU9I9vvvnGdOvWzbqv++abb4wx5X2jffv2xsvLy/Tq1avS81TVPurWW2+1jmqc6TPojz/+MKNGjTJt2rQxnp6eJioqygwdOtT8/vvv1vtryPsMSebee+81b7/9tmnfvr1xdXU1b7/9tjHGmIkTJ5rzzz/fBAYGGl9fX9O9e3fzf//3f6asrMzmNTj5cZ04IpSVlWUmTJhgWrRoYVxdXU1UVJR58MEHbT6L6sPAgQNNXFxcpeWTJk0yksz+/ftPu/7Zvn+GDBlSayNks2bNMhdccIHx8vIy3t7eJiEhwaxdu9Z6+5k+06dOnWouvvhiExoaary8vEx8fLx58cUXTVFRUa3UV1P33nuvcXNzs3kua7Lfqg4CWR0rKSkxXl5epnfv3tVe56677jKSzH333WcWLFhg3nnnHRMaGmpiYmKsH9y5ubkmODjY9OzZ0/zvf/8zS5YsMZ999pm5++67rR98y5cvN56enubKK6+s1mFXBQUFpkuXLsbb29u88sorJjEx0Tz11FPGxcXFXHnllcaY8qH25cuXm+7du5tWrVpZ7zcrK6vK+42NjTXR0dGmefPm5r///a+ZP3++uemmm4wk8/LLL1vbVXxQREdHm7/+9a/m66+/NvPmzTPp6enmk08+MRaLxQwfPtzMmTPHfPPNN2bo0KHG2dnZ5ovxwoULjbOzs7nooovMnDlzzOzZs02vXr1M8+bNzxjIsrOzTadOnYy3t7d57rnnzPfff2+++OIL8+CDD5pFixaZY8eOmQULFliHsisee8Vhj5s2bTL+/v6mc+fO5uOPPzaJiYlmwoQJxsnJyUycONG6ndTUVBMWFmaio6PNhx9+aH0+Kmo8XSDbt2+fuf/++40kM2fOnErPf2xsrImMjDStWrUy//3vf83ixYvNqlWrziqQxcXFmaefftokJSWZ1157zbi7u5vbbrvNZt2RI0cai8Vi7rzzTvPVV1+Z7777zrzwwgs2X4L++c9/mtdff918++235scffzTvvPOOadmypenfv7+1zfbt281f//pXI8nmMMGKPwSMHj3auLq6mgkTJpgFCxaYmTNnmvbt25vw8HCTmppaqfY77rjDfPfdd+a9994z0dHRJiIiotqB7MorrzTFxcWVfio++IuLi01YWJi56aabKq1//vnnm/POO8/6+4wZM4wkk5CQYL788kvz2WefmR49ehg3Nzfz888/W9udbSDLysqyrvvkk09an7eKL0qn+nJVnf1LxXaCg4NN27ZtzTvvvGOSkpLM2LFjjaSz/hJ76623Gjc3N9O8eXPzwgsvmMTERDNx4kTj4uJihg4datO2uq95v379TFBQkImJiTFvvPGGWbx4sVmyZMkZ38/GlH/RvPzyy423t7d59tlnTVJSkvm///s/Ex0dbTp27Gjy8/NtXo9mzZqZjh07mo8//th8//335rrrrjOSzJIlS4wx5Ye0VHypevPNN62vR0W4e/vtt83kyZPN119/bZYsWWI++ugj07VrVxMXF2fzReS7774zTk5O5tJLLzVz5841s2fPNr179zYtWrSo9HpW93k6lbKy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tmbMmKGffvpJb731lpYuXaphw4ZVmrHsdDP5VWeWv+qsHx4erpUrV2rXrl06cOCAvv32Wzk7O2vMmDF68skn1bZtW33xxRfq1KmTgoKCNHToUO3bt++M265Kt27dFB0dbf29Q4cOkspneT3xnMaK5TV9H52spKREkyZNUseOHeXm5iYXFxe5ubnpjz/+qNa+9lTqe58xYMAABQYGVlq+aNEiDRw4UP7+/tbPkaefflrp6enWz6TTmTdvnuLj49WtWzeb98rgwYOrNbvxXXfdVa33yTfffFOtx1kf/b8ufP/99yopKdEtt9xi8zx6eHioX79+1Z7987ffftOwYcMUHBxsfT1vueUWlZaWatu2baddtzb3WxVGjRql1atX6/vvv9ejjz6ql19+Wffff3+ldnX5vDOpRx2rmNJ0165d1WpfMT1wZGRkpduioqKsOzV/f38tWbJEL7zwgv7xj38oIyNDkZGRGj16tJ588km5urraXWt6eroiIiIqdaqwsDC5uLiccuri6oqIiKhy2cn3e/JjP3TokCRVCoonOnr0qCwWi8rKyk67rdM5fPiwzZcte6Snp6ukpERvvPGG3njjjVO2OXLkiLVty5Ytz6rG6jhV3zkbwcHBNr9XnNhaUFAgqfz5cnZ2Pm3dubm5uvjii+Xh4aHnn39e7dq1k5eXl/bt26drr73Wel+nc+jQIRljFB4efsrbW7VqJenPfnS2r38Ff39/9ezZ87RtOnXqpF69eunDDz/UXXfdpdLSUk2fPl1XX321goKCbOqp6r1cVlamjIyMep18orr7lwon9wGpvB9U53WriouLS6X7PXlfUN3XvMKpHk913s+HDh1SZmamTfA5UcV7tkJNno+ysjIlJCQoJSVFTz31lDp37ixvb2+VlZXpggsusN5HRkZGlY/95GX2Pk8n8/HxUbdu3c5Yu6QzTqz04osvat26ddqzZ4/19bj44ovVvn17DRgwQDNmzNCtt96qwMBAWSyWU36eVFz+peI9dCoVr0FV61ssFgUEBFiXWSwWm6m+//Wvf8nJyUmPPPKItmzZoptuuklffvmlLrnkEo0dO1Y333yzlixZctrHWpWT667oV1UtP3bs2Fltpyrjx4/Xm2++qccee0z9+vVTYGCgnJycdOedd571e7a+9xmn2s6qVauUkJCgSy+9VO+//76aNWsmNzc3ffnll3rhhReq/Tmyffv2Kr8bnfxeP1lERITCwsLOuJ3qfCkPDg4+6/5f0/dPTVV8H+vVq9cpbz/xj49V2bt3ry6++GLFxcXp3//+t1q0aCEPDw+tWrVK99577xlfz9rcb1WIiIiwfg4lJCQoMDBQf//733X77bere/fu9fK8E8jqmLOzsy677DJ999132r9//xlnL6rYmR08eLBS25SUFIWEhFh/79y5s2bNmiVjjH7//XdNmzZNzz33nDw9PfX3v//d7lqDg4O1cuVKGWNsdippaWkqKSmx2ba9UlNTq1x28g785B1axXbfeOONKme/Cw8Pt87IeLptnU5oaKj2799/xnanEhgYKGdnZ40cObLKEaOKEBYcHHzWNVbHqT4QKkYMCwsLbZbXJGSHhoaqtLRUqampVYbARYsWKSUlRT/++KN1VEySXddQCwkJkcVi0c8//2wzQ2mFimUV/aiq57a2r79y2223aezYsUpOTtbOnTt18OBB3XbbbdbbT3wvnywlJUVOTk6n/EtwBQ8Pj0qvl1T+xeFs34v27F/qSklJidLT023e9yfvC6r7mlc4VZ+vzvs5JCREwcHBVc5y6+vre/oHY4eNGzdq/fr1mjZtmm699Vbr8u3bt9u0q/jgr/jic6KT+7a9z9PJlixZov79+1er/l27dp32PbRu3TpFR0dX2hdUfHGrmN3N09NTbdq00YYNGyrdx4YNG+Tp6XnaINm6dWt5enpWuX6bNm1sjpA40datW/Wvf/1LCxculKurqxYuXKhOnTrp8ssvl1QeaLp27arc3Fz5+PhUWUNd8PDwUFZWVqXlZwoKJ5o+fbpuueUWTZo0qdJ9nBhS7VHf+4xTvZdnzZolV1dXzZs3z+a1tecaqyEhIfL09NR///vfKm8/neeee07PPvvsGbcTGxt7xmsQdu7cucr+K0nx8fFVrlvT909NVTxPn3/+uV1Hnpzoyy+/VF5enubMmWNzH6e6Lt6p1OZ+qyoVo7zbtm1T9+7d6+V555DFevD444/LGKPRo0erqKio0u3FxcXWYe6Kw26mT59u02b16tVKTk62Tid8IovFoq5du+r1119XQECAzSGA9vxl6rLLLlNubm6lndzHH39svf1sbdq0SevXr7dZNnPmTPn6+uq888477bp9+/ZVQECANm/erJ49e57yx83NTd7e3jr//PM1Z84cm7885uTkVOswgiuuuELbtm3TokWLqmxz8ihRBS8vL/Xv31+//fabunTpcsoaKz7Y+vfvX+XzUR1V1XA64eHh8vDw0O+//26z/Kuvvqr2fZzsiiuukCS9/fbbVbap+HA9+Yvhu+++W6ltVY9r6NChMsbowIEDp3xeO3fuLEm64IIL5OHhoRkzZtisv2zZslo/NEiS/va3v8nDw0PTpk3TtGnTFB0drYSEBOvtcXFxio6O1syZM20uRpuXl6cvvvhCffr0Oe3oWIsWLSq9Xtu2bdPWrVttltnTH85m/1IXTn6NKvp+xcW3q/uan0513s9Dhw5Venq6SktLT7mduLg4ux9bVa9Hdd8L3t7e6tmzp7788kubz4vc3FzNmzevUv01eZ5q89CfqKgo7d+/XwcOHLBZvnz5ckmy+TJ/zTXXaNGiRTaHB+bk5GjOnDkaNmzYaf+q7eLioquuukpz5sxRTk6OdfnevXu1ePFiXXvttVWuO2bMGI0aNUoXXnihJMkYo7y8POvtubm51uX1rUWLFtq2bZvNH2HS09O1bNkym3ane79bLJZK/evbb7+t9Jo0tn1GxaVvnJ2drcsKCgr0ySefVGpb1XeeoUOHaseOHQoODj7le+VMX9pr85DFa665Rlu2bLGZ3r6kpETTp09X7969z/heq8n7p6YGDx4sFxcX7dixo8rvYxXs2RcaY/T+++9Xq4a6OGTxZBWH6rZp08a6rM6f9xqdgYZqq7gwdHx8vHnzzTfNjz/+aJKSksxLL71k2rRpY3Nh6LvuustYLBYzbtw48/3335t3333XhIWFmZiYGHPkyBFjjDHffPONueKKK8y7775rkpKSTGJiorn77ruNJPPee+9Z76tfv34mLCzMfP3112b16tWnvXhdxSyLvr6+5rXXXjNJSUnmmWeeMa6urtZZFk+8X3sm9ThxlsXvvvvOOstixYxXxvx5oubs2bMr3ccnn3xinJyczA033GBmz55tlixZYj7//HPz1FNPmbvvvtvaLjEx0Tg5OZmLLrrIzJ0713z++efWE+RP7u5VzbLo4+Njnn/+eZOYmGi++uorM378eOusbBXrxcXFme+//96sXr3aetLopk2bTGBgoDn//PPNhx9+aBYvXmy+/vpr89prr9nMKHjw4EETGhpaaZbFihrPNBlAxfM0ZswYs2zZMrN69WqTnZ1tra2qadvvvPNO4+HhYV599VWzcOFCM2nSJBMfH1/lpB4nT8V9qoknKmZZvOuuu8zXX39tvv/+e/Ovf/3L/Oc//zHGGHPkyBETGBhounbtap0d88YbbzRt27atdFJ5xf0/88wzZsWKFWb16tXWSQ3uuusu4+XlZR555BHzzTffmEWLFpkZM2aYe+65x2bihSeffNLo+AxkCxYsMO+//77dsyxWdWHoE6f0rfC3v/3NhIWFGTc3N5uT2ytUzLJ45ZVXmq+++sr873//M7169arWLIvTp083ksw999xjFi5caD744AMTFxdnIiMjbR5LXl6e8fT0NH379jWLFy82q1evNgcOHLB5LU9Unf2LMVW/x0+eZKCibXU+Tk43y+IVV1xRqc7qvOZV1Vmd93NJSYm54oorTFBQkHn22WfNd999ZxYuXGimTZtmbr31VjNnzhzr/VX13jp5MoadO3caSWb48OHm559/NqtXrzZHjhwxRUVFpnXr1iY2NtbMnDnTLFiwwNx7772mXbt2ld6DJ8+y+Pnnn5vevXtbJ0g6m+eprv3666/Gzc3NdOjQwXz00Udm0aJF5j//+Y8JCwsz4eHhNvuTtLQ0ExkZaTp37mzmzp1r5s+fby655BLj6+trc0kCY4xp3bq1ad26tc2y5ORk4+PjYy655BIzf/58M2fOHBMfH1/pwtAn+uCDD0xkZKTNRDybNm0yzs7O5qmnnjKJiYmmT58+pm/fvjbryY4JgU7VP6TyqdxPVDHJ0omzDC9dutRIMn/961/N999/b2bOnGm6detmYmNjK73fqvoMuuWWW4y7u7t5/fXXzQ8//GBeeuklExoaapo1a9bg9hmncqrnyhhjfvjhB+tzk5iYaD799FPTo0cP6+fIifvNW2+91bi7u5tZs2aZVatWWaf8z83NNd27dzfNmjUzr776qklKSjLff/+9ef/99811111nVqxYccb6asuxY8dMp06dTExMjJkxY4ZJSkoy11xzzSkvDD1gwADj7Oxss8ye98+mTZvM7NmzzezZs02PHj1MaGio9feTZ92ubl+fNGmScXFxMWPGjDFz5841P/74o/nss8/MhAkTzNNPP21tV9VnenJysnFzczOXXnqp9f07aNAg6+t5pu9Atenpp582Y8aMMTNmzDA//vij+fLLL83dd99tnJ2dK82Eac/zfjYIZPVo3bp15tZbbzXN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XX311RoyZIgkqUWLFvr000/166+/SiofHZsyZYqeeOIJXXvttZKkjz76SOHh4Zo5c6bGjBmjrKwsffDBB/rkk080cOBASdL06dMVExOjhQsXavDgwUpOTtaCBQu0YsUK9e7dW5L0/vvvq0+fPtq6davi4uKUmJiozZs3a9++fYqKipIkvfrqqxo1apReeOEF+fn51ffTAwAAAOAkFSNkkU1khMyhgeyiiy7SO++8o23btqldu3Zav369li5dqilTpkiSdu3apdTUVCUkJFjXcXd3V79+/bRs2TKNGTNGa9asUXFxsU2bqKgoxcfHa9myZRo8eLCWL18uf39/axiTpAsuuED+/v5atmyZ4uLitHz5csXHx1vDmCQNHjxYhYWFWrNmjfr371+p/sLCQhUWFlp/z87OliQVFxeruLi41p6nqlRsoz62haaFvoOaoP+gJug/qAn6DyTpQEa+JCnc182uvlDf/ae623FoIHvssceUlZWl9u3by9nZWaWlpXrhhRf0t7/9TZKUmpoqSQoPD7dZLzw8XHv27LG2cXNzU2BgYKU2FeunpqYqLCys0vbDwsJs2py8ncDAQLm5uVnbnGzy5Ml69tlnKy1PTEyUl5fXGR9/bUlKSqq3baFpoe+gJug/qAn6D2qC/nNu27DDSZKTDu/eqvnzt9i9fn31n/z8/Gq1c2gg++yzzzR9+nTNnDlTnTp10rp16zRu3DhFRUXp1ltvtbazWCw26xljKi072cltTtX+bNqc6PHHH9f48eOtv2dnZysmJkYJCQn1cohjcXGxkpKSNGjQILm6utb59tB00HdQE/Qf1AT9BzVB/4Ek/fuPXyTlafAl56tPq+Bqr1ff/afi6LkzcWgge+SRR/T3v/9dN954oySpc+fO2rNnjyZPnqxbb71VERERkspHryIjI63rpaWlWUezIiIiVFRUpIyMDJtRsrS0NF144YXWNocOHaq0/cOHD9vcz8qVK21uz8jIUHFxcaWRswru7u5yd3evtNzV1bVedxL1vT00HfQd1AT9BzVB/0FN0H/OXcYYHcwqP4csJtj3rPpBffWf6m7DobMs5ufny8nJtgRnZ2frtPctW7ZURESEzbBiUVGRlixZYg1bPXr0kKurq02bgwcPauPGjdY2ffr0UVZWllatWmVts3LlSmVlZdm02bhxow4ePGhtk5iYKHd3d/Xo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fO07WqD9GX+OdO3LKB/lKjzDuVxebs6VAlfM8f9HB3hyaCEAAABgBwLZCT777DONGzdOb731lvr27at3331XV1xxhTZv3qzmzZs7urxqyzlWrDV7MrQvo0D7j+ZrX0Z5ANuXka/M/OLTrutkkSL9Pa2BKybI0xq4GOUCAAAAaheB7ASvvfaa7rjjDt15552SpClTpuj777/X22+/rcmTJzu4uurbdSRPoz5cXeXtQd5uign0VLOK0BX4Z/iKCvCUK+dyAQAAAPWCQHZcUVGR1qxZo7///e82yxMSErRs2bJTrlNYWKjCwkLr79nZ2ZKk4uJiFReffiSqNlRs4+RtRfq6KS7cR80CPa0/MQHl/0YHesrH/TQve1mpistK67JsNABV9R2gOug/qAn6D2qC/oOaqO/+U93tWIw53TQN546UlBRFR0frl19+0YUXXmhdPmnSJH300UfaunVrpXUmTpyoZ599ttLymTNnysvLq07rBQAAANBw5efna8SIEcrKypKfn1+V7RghO8nJ50cZY6o8Z+rxxx/X+PHjrb9nZ2crJiZGCQkJp33Sa0txcbGSkpI0aNAgubpycWRUH30HNUH/QU3Qf1AT9B/URH33n4qj586EQHZcSEiInJ2dlZqaarM8LS1N4eHhp1zH3d1d7u7ulZa7urrW606ivreHpoO+g5qg/6Am6D+oCfoPaqK++k91t8HsDce5ubmpR48eSkpKslmelJRkcwgjAAAAANQWRshOMH78eI0cOVI9e/ZUnz599N5772nv3r26++67HV0aAAAAgCaIQHaCG264Qenp6Xruued08OBBxcfHa/78+YqNjXV0aQAAAACaIALZScaOHauxY8c6ugwAAAAA5wDOIQMAAAAAByGQAQAAAICDEMgAAAAAwEEIZAAAAADgIAQyAAAAAHAQAhkAAAAAOAiBDAAAAAAchEAGAAAAAA5CIAMAAAAAByGQAQAAAICDEMgAAAAAwEEIZAAAAADgIC6OLqApMcZIkrKzs+tle8XFxcrPz1d2drZcXV3rZZtoGug7qAn6D2qC/oOaoP+gJuq7/1RkgoqMUBUCWS3KycmRJMXExDi4EgAAAAANQU5Ojvz9/au83WLOFNlQbWVlZUpJSZGvr68sFkudby87O1sxMTHat2+f/Pz86nx7aDroO6gJ+g9qgv6DmqD/oCbqu/8YY5ST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5UpoNBrU19cjNzcXr7766oDH9/LLL0Or1WLp0qU4ffo09u/fj5SUFAD/v5Ll6uoKlUqFvLw8XLx48a5X9ICfN6J45513kJ2djdraWqxbtw4ajQZxcXF3fc1bjR8/Hvn5+SgpKcHp06exbNkytLS03PG8ZcuW4cyZM0hISEBdXR127typbFpx8zkM5Hm7ubmhqKgITU1Nfe4imJeXh0WLFiEvLw91dXWora1FSkoK9u7di7lz5wIAVq5ciUuXLmHBggUoLy/H119/jQMHDiA6Ohrd3d2wtLTE73//e6xZswaHDh1CTU0NlixZghEjdH+9mD59Ov7617+isrISx48fx/Lly3VWuxYuXAg7OzvMnTsXR44cQUNDAwoLCxEXFzegFeCbc46KikJ0dDT27NmDhoYGHD58GDt37hzQXIiI9IUFGRERDcinn34KHx8fnSMjIwNeXl4oLCxEfX09fv3rX8PHxwfr168f1GtgI0eOxOeffw6NRgNvb28kJiZiw4YNAKB8r8zJyQl//vOfsW7dOowePbrHLo6DERsbi/j4eMTHx8PT0xP79u1Ttpu/H9avXw9fX1+EhoYiODgYarW61z/qfbuxY8fi3//+N3JycuDl5YX09HRll8WbK4cDed5JSUlobGzEE088ofPK362eeuopmJubIz4+Ht7e3pgyZQp27tyJrVu3IjIyEgDg6OiIo0ePoru7G6GhofDw8EBcXBysra2Vouu9995DYGAgnn/+ecyYMQMBAQHw8/PTuVdqairGjBmDwMBAvPzyy3j99ddhbm6u9Jubm6OoqAguLi6YN28eJk6ciOjoaHR0dAxqxSw9PR0vvvgiVqxYAXd3d/zhD39QVvsGMhciIn1QyWBe0iciIhoiO3bswO9+9zu0t7cP+o8s/y9JTk5GRkYGLly4oO+hDFhwcDC8vb2Rlpam76EQET30+BI1ERE9FP75z39i3LhxcHJywokTJ5CQkICXXnrpkSvG/v73v2Py5MmwtbXF0aNH8d57793TaiARET3cWJAREdFDoaWlBRs2bEBLSwscHBwQERGB5ORkfQ9ryNXX1+Ott97CpUuX4OLigvj4ePzxj3/U97CIiOgB4SuLREREREREesJvsRIREREREekJCzIiIiIiIiI9YUFGRERERESkJyzIiIiIiIiI9IQFGRERERERkZ6wICMiIiIiItITFmRERERERER6woKMiIiIiIhIT/4P8NhBmG2Gf8sAAAAASUVORK5CYII=",
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "# Program predicted_cost.py\n",
        "# This program estimates the cost of Evolution\n",
        "# to solve\n",
        "# the Evolutionary Truncated Shakespeare Challenge,\n",
        "# which consists in matching a percentage of a given string.\n",
        "# The cost is given as a function on\n",
        "# the length of the target sequence.\n",
        "\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "#\n",
        "# $H = $ length of the target string, it is the independent variable. All others are parameters.\n",
        "#\n",
        "# $r = 0.8$, the proportion of the task\n",
        "#\n",
        "# $I = H/2$, the initial condition\n",
        "#\n",
        "# $\\mu = $ mutation rate\n",
        "#\n",
        "# $\\eta = 5$, contribution by MAX, the selection of the fittest. It must be adjusted to get a good fitting.\n",
        "# \n",
        "# $A =  \\frac{1 }{ \\mu} (\\frac{1}{2} \\mu H + \\eta)$\n",
        "# \n",
        "# $n = \\frac{\\ln (\\frac{rH -A}{ I -A})}{ \\ln  (1-\\mu)}$\n",
        "#\n",
        "# $Cost = n \\times $ population size.  \n",
        "#\n",
        "#$ Cost = C(H)$ is given as the total number of used chromosomes to match the target string. >$ Cost = C(H)$ is given as the total number of used chromosomes to match the target string. \n",
        "\n",
        "# Define the parameters\n",
        "mu = 0.01  # Example mutation rate\n",
        "eta = 30    # Example average fluctuation (based on your observations)\n",
        "population_size = 200  # Population size\n",
        "\n",
        "# Define the function Cost =  C(H)\n",
        "# $M(n) = (1-\\mu)^n I + \\frac{1- (1-\\mu)^n}{ \\mu} (\\frac{1}{2} \\mu H + \\eta )  $\n",
        "def C(H, r, I, mu, eta):\n",
        "    A = (1 / mu) * ( (mu * H) / 2 + eta)\n",
        "    n = np.log( (r * H - A) / (I - A) ) / np.log(1 - mu)\n",
        "    Cost = n * population_size\n",
        "    return Cost\n",
        "    \n",
        "# Generate a range of values for the length of the target sequence\n",
        "H_values = np.arange(100, 12000, 100)\n",
        "r = 0.80  # Proportion of the task\n",
        "cost_values = []\n",
        "for H in H_values:\n",
        "    I = H / 2\n",
        "    cost = C(H, r, I, mu, eta)\n",
        "    print(f\"Length of target sequence (H): {H}, Estimated Cost: {cost}\")\n",
        "    cost_values.append(cost)\n",
        "\n",
        "# Generate data for plotting\n",
        "\n",
        "# Plot the function\n",
        "plt.figure(figsize=(10, 6))\n",
        "plt.plot(H_values, cost_values)\n",
        "plt.xlabel('H = Length of Target Sequence')\n",
        "plt.ylabel('Cost in chromosomes')\n",
        "plt.title(f'Cost of predicted truncated Evolution, percentage = {r*100}%, mutation rate = {mu}, eta = {eta}')\n",
        "plt.grid(True)\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "*Our comment.* The proposed mathematical model of the cost of Evolution as a function of the length of the target string is a blatant fiasco. On one hand, predictions are many orders of magnitude away from simulations. On the other hand, the predictions of the model are not defined past 10 thousand (when the cost is reported as nan, that means not-a-number, it means that a logarithm of a negative number was solicited.)\n",
        "\n",
        "**Graduation.** The proposed model does not function for the whole real line. But, maybe, it functions for a restricted interval. Make experiments to find out appropriate segments. \n",
        "\n",
        "# CONCLUSION\n",
        "\n",
        "The first conclusion is that we need more work that must be specifically addressed to understand how Evolution functions. Apart from this, we can express ourselves variously.\n",
        "\n",
        "**Exercise.** Redact your conclusions that must include your answer to the question: Does the type of considered Evolution skyrocket the possibilities of MAX to battle complexity?\n",
        ">\n",
        "> *Answer.*  We have formulated the modern understanding of Evolution in the form of an algorithm, the Genetic Algorithm, GA. We have studied the effect of mutation (creates variability) + MAX (selection of the fittest) + cloning (to create the next generation). This restricted form of Evolution certainly skyrockets the capability of MAX to battle complexity in comparison with randomness. But the general battle of Evolution against complexity seems to be a heavy burden for it, although we have not quantified it.  On the other hand, we are used to the fact that the arising of a function demands many concomitant factors that work in coherence. So, our simulations with the human language, a model of function, predict that functional structures may group into small archipelagos, admitting some degree of Evolution, but are immersed in a sea of nonsense, in which structures have no function. This poses the question: When is it better to begin the building of a functional structure from zero rather than to use Evolution? This question transforms the Evolutionary Dogma into a field of scientific inquiry. The experience of masons is that designing from scratch is more suitable in many situations. We firmly believe that fluctuations, excursions away from expected values, are the fuel of Evolution. This was inserted into the simplest mathematical model, but it did not function. The work continues. "
      ]
    }
  ],
  "metadata": {
    "colab": {
      "provenance": [],
      "toc_visible": true
    },
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.12.3"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
