{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "source": [
        "n"
      ],
      "metadata": {
        "id": "WFu0qKKz9EOW"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        ">>> OBSERVABLE PREDICTIONS OF MONKEY THEOREMS\n",
        ">>>>\n",
        ">>>>  José Rodríguez\n",
        ">>>>\n",
        ">>>> jose@ejristos.com\n",
        ">>>>\n",
        ">>>>  4 October 2025.\n",
        ">>>>\n",
        ">>>>  Bogotá, Colombia.\n",
        "\n",
        "Abstract\n",
        "\n",
        "Randomness is the first explanation that Science must propose to explain any phenomenon. We show here how this operates when trying to explain the DNA. Randomness is traditionally figuratively presented like a monkey that bashes on a typewriter, and we measure the needed time for the monkey to produce the works of Shakespeare.  A first theorem says: the monkey succeeds   if time is infinite. A second theorem says: the monkey might succeed if time is finite, but with a probability so low that it is not reproducible and is not expected. We emphasize the observable predictions of these theorems. The most important one is that the signature of randomness is the huge production of garbage. Thus, we have a prediction for ancient seas and another to test the capabilities of modern laboratories of Molecular Biology. We took the opportunity to  enjoy the power of Google AI: all presented Python programs  were developed by Gemini.\n",
        "\n",
        "\n",
        "# INTRODUCTION\n",
        "\n",
        "Our DNA is a string written with an alphabet of four characters, ATCG. The human DNA has nearly 3700 millions of these chars. We all want to know where does they come from. In Science, the first hypothesis to be study is: the DNA was assembled by randomness. Just so you know, some questions are in order.\n",
        "\n",
        "\n",
        "> *First question.*  What does it mean that the DNA of life was assembled by randomness?\n",
        ">>\n",
        ">> *Answer.* It means that before the arisen of life, a complex biochemical world is postulated, in which molecules were formed and destroyed at random and DNA of primordial life was  a possible result.\n",
        ">\n",
        "> *Second question.* Why must we study this hypothesis?\n",
        ">>\n",
        ">> *Answer.* It is because the possibility exists that many building blocks of the   DNA (or RNA) of primordial life  were correctly placed before the arisen of life. This is possible but with very low probability. We need to know how low it is in order to make observable predictions.\n",
        ">\n",
        "> *Third question.* Why Science does not stop here, giving all other theories to oblivion?\n",
        ">>\n",
        ">> *Answer.* The concatenation of primordial DNA as a lucky event has so low a probability that with joy we study other theories, say, Evolution.\n",
        ">\n",
        ">\n",
        "> *Fourth question.* If other theories are more promising, why must we study randomness instead of passing to study them?\n",
        ">>\n",
        ">> *Answer.* Because the study of randomness is totally feasible and that allows us to gain experience on how to formulate and study theories.\n",
        ">\n",
        "> *Fifth question.* What are we waiting for to start with the study of randomness?\n",
        ">>\n",
        ">> *Answer.* Nothing. Let us begin.\n",
        "\n",
        "# THE BASHING MONKEY\n",
        "\n",
        "We human beings love to personify processes. So, in regard with the concatenation of DNA (or RNA), randomness has been personified as a monkey that sits in front of a typewriter and presses keys at random, but without getting playful, tired, bored, hungry or sleepy.\n",
        "\n",
        "Typewriters have around 100 keys, while DNA is composed of 4 chars. We face this variability by assuming an alphabet with $n$ letters, and the value of $n$ is only specified in examples. The size of the alphabet determines the probability of hitting a determined key: it is $1/n$.\n",
        "\n",
        "> *Example.* If a typewriter has 96 keys, the probability of hitting one specific key is $1/96$. But with DNA, the probability of hitting a specific basis is $1/4$.\n",
        "\n",
        "# THE TASK\n",
        "\n",
        "We give the monkey the task of typing a specific letter. Only one letter. The monkey can succeed at the first trial with probability $p = 1/n$. But it can fail with probability $1-p$. In that case of failure, the monkey must begin anew as if it were the first attempt. So, the process is memoryless that is a direct byproduct of the eternal invariability of the monkey. This implies that events are independent one from another, the result of one trial does not interfere with   future or parallel events.  \n",
        "\n",
        "> *Example*. Let us record the probability of success for the first time after $k$ failures:\n",
        ">>\n",
        ">> - After 0 failures,  success at the first attempt may happen with probability $p$.     \n",
        ">> - After 1 failure with probability $1-p$, success follows with probability $p$.  Independence dictates that events must be multiplied: the probability of succeed after 1 failure is $(1-p)p$.  \n",
        ">>  - The probability of succees for the first time after 2 failures is $(1-p)(1-p)p = (1-p)^2p$.\n",
        "\n",
        "## The Geometric Distribution\n",
        "\n",
        "> *Exercise*. Find the probability of success for the first time after $k$ failures.\n",
        ">>\n",
        ">> *Answer.* The probability of success for the first time after $k$ failures is\n",
        ">>>\n",
        ">>> $(1-p)...(1-p)p = (1-p)^kp$\n",
        ">>\n",
        ">>because there were $k$ failures prior to success for the first time, and events are independent.\n",
        "\n",
        "> *Definition.* The Random Variable $X$ over numbers 0, 1, 2, 3,... with probability of $k$ given by\n",
        ">>\n",
        ">> $p(k) = (1-p)^kp$\n",
        ">>\n",
        ">> is called the ***Geometric Random Variable***. It is also referred as the ***Geometric Distribution,*** meaning that $X$ predicts a distribution dictated by  $p(k)$. In simpler words: when repetitions are done, the relative frequency of making $k$ failures before the first success tends to the predicted value $p(k)$.   \n",
        "\n",
        "> *Simulation.* Let us ask Colab to develop the code for a simulation:\n",
        ">>\n",
        ">>> Colab, please, we need the code for a simulation of a geometric distribution in which failure is denoted f and success s.\n",
        ">>\n",
        ">> Gemini answered with interesting comments plus the following code that we accepted. Comments included\n",
        ">>>\n",
        ">>> What would you like to explore next? We could:\n",
        ">>>\n",
        ">>> 1. Simulate the process for a given number of trials or successes.   \n",
        "2. Calculate the expected number of trials to achieve the first success.   \n",
        "3. Discuss the second theorem about the monkey and finite time.\n",
        "4. Move on to the concept of the monkey typing a specific sequence of letters (like a DNA segment).\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "\n"
      ],
      "metadata": {
        "id": "z07jPW3KzMuX"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import random\n",
        "\n",
        "def geometric_simulation(p):\n",
        "  \"\"\"\n",
        "  Simulates a geometric distribution.\n",
        "\n",
        "  Args:\n",
        "    p: The probability of success (a number between 0 and 1).\n",
        "\n",
        "  Returns:\n",
        "    A string representing the sequence of failures ('f') and the first success ('s').\n",
        "  \"\"\"\n",
        "  results = []\n",
        "  while True:\n",
        "    if random.random() < p:\n",
        "      results.append('s')\n",
        "      break\n",
        "    else:\n",
        "      results.append('f')\n",
        "  return \"\".join(results)\n",
        "\n",
        "# Example usage with a probability of success p = 0.25\n",
        "p = 0.05\n",
        "simulation_result = geometric_simulation(p)\n",
        "print(f\"Simulation result for p={p}: {simulation_result}\")\n",
        "\n",
        "# Another example with a different probability\n",
        "p = 0.9\n",
        "simulation_result = geometric_simulation(p)\n",
        "print(f\"Simulation result for p={p}: {simulation_result}\")"
      ],
      "metadata": {
        "id": "2C3Goq8wHq7s",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "c08c7b29-0246-4c27-fb47-056d3dfde1f3"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Simulation result for p=0.05: ffffffffffffs\n",
            "Simulation result for p=0.9: s\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "> Exercise. Ask Colab to explain the code  by invoking the corresponding option in the triple-dot menu left upwards in the active code cell.\n",
        "\n",
        "> *Exercise proposed by Gemini.* Explore how the number of trials until the first success changes with different probabilities of success.\n",
        ">>\n",
        ">> *Answer.* After running the program with the proposed by Gemini values of p, we explored with $p = 0.05$ and $p = 0.9$: For the first case, it was common to find a list with various f's, 5, 7, 10, 15. For the second value, we needed to rerun the program many times, 15 or so, to get a failure.\n",
        "\n",
        "We wanted to estimate the Geometric Distribution. So, we asked Gemini:\n",
        ">\n",
        "> The code for 200 repetitions of the anterior simulation with $p = 0.1$ in order to estimate the distribution of the Geometric Distribution, with mean, variance and graph.\n",
        ">\n",
        "> Gemini presented the  code below after it  commented:\n",
        ">>\n",
        ">> Okay, I will generate the code to run the simulation 200 times with a probability of success $p = 0.1$$p = 0.1$, collect the number of trials for each run, and then calculate and display the mean and variance. I will also generate a histogram to visualize the distribution of the number of trials."
      ],
      "metadata": {
        "id": "qoIYAUOaIuXI"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import random\n",
        "import statistics\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "def geometric_simulation_trials(p):\n",
        "  \"\"\"\n",
        "  Simulates a geometric distribution and returns the number of trials until the first success.\n",
        "\n",
        "  Args:\n",
        "    p: The probability of success (a number between 0 and 1).\n",
        "\n",
        "  Returns:\n",
        "    The number of trials until the first success.\n",
        "  \"\"\"\n",
        "  trials = 0\n",
        "  while True:\n",
        "    trials += 1\n",
        "    if random.random() < p:\n",
        "      break\n",
        "    else:\n",
        "      pass # This else is not strictly necessary but makes the logic clear\n",
        "  return trials\n",
        "\n",
        "# Parameters for the simulation\n",
        "p = 0.1\n",
        "num_repetitions = 200\n",
        "\n",
        "# Run the simulation multiple times and store the number of trials\n",
        "trial_counts = [geometric_simulation_trials(p) for _ in range(num_repetitions)]\n",
        "\n",
        "# Calculate and print the mean and variance\n",
        "mean_trials = statistics.mean(trial_counts)\n",
        "variance_trials = statistics.variance(trial_counts)\n",
        "\n",
        "print(f\"Mean number of trials after {num_repetitions} repetitions with p={p}: {mean_trials:.2f}\")\n",
        "print(f\"Variance of the number of trials after {num_repetitions} repetitions with p={p}: {variance_trials:.2f}\")\n",
        "\n",
        "# Plot a histogram of the trial counts\n",
        "plt.figure(figsize=(10, 6))\n",
        "plt.hist(trial_counts, bins=range(min(trial_counts), max(trial_counts) + 2), density=True, alpha=0.75, edgecolor='black')\n",
        "plt.title('Estimated Geometric Distribution')\n",
        "plt.xlabel('Number of Trials Until First Success')\n",
        "plt.ylabel('Probability Density')\n",
        "plt.grid(axis='y', alpha=0.75)\n",
        "plt.show()"
      ],
      "metadata": {
        "id": "MDlmFX-CP1w-"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "> *Exercise.* Run the program, look at the output, comment on the histogram, and explain the code.\n",
        ">>\n",
        ">> *Answer.* The output is coherent with the histogram. The mean was reported as 9.24 and the variance as 78.14, hence its standard deviation is almost 9. The histogram presents a distribution that decreases with $k$, the number of trials until the first success. The averaged envelope of the histogram looks as a decreasing exponential function. The intriguing portion of code was that of the while loop. The instruction `while True` starts an infinite loop that will continue until explicitly broken by the break instruction when a number greater than $p$ is found.  \n",
        "\n",
        "\n",
        "> *Exercise.* The first observable prediction of our theory is the following: the probability of success in the first trial is $p$. Therefore, the relative frequency of 1 must be very near to $p$. Test this over the histogram.\n",
        ">>\n",
        ">> *Answer.* In our case, $p = 0.1$. Henceforth, the relative frequency of ending the task in the first trial must be very near to $0.1$. The prediction is fulfilled: the first bar of the graph has a height of $0.095 \\sim 0.1$. Notice that Gemini counts also the trial of success, but we do not.  \n",
        "\n",
        "\n",
        "# THE DISTRIBUTION AS A TENDENCY\n",
        "\n",
        "As we witnessed in the introductory work,  [Heads and Tails](https://colab.research.google.com/drive/1Opwqqx_CDqV93OzHIm3_MZtRxPdtFSo3?usp=sharing),\n",
        "we can make Science in the presence of randomness if we find a tendency of a given observable to a well-defined, stable limit. Our immediate candidate is to find the shape of the limit distribution. So we asked Colab:\n",
        ">\n",
        "> We want a 3D graphic that shows how the histogram  of the distribution of the number of trials changes when the number of repetitions grows. We suggest to find the distribution for  $p = 0.1$ with 200 repetitions of the anterior simulation. Next, with 500 repetitions, and at last with 1000.  \n",
        ">\n",
        ">Gemini professionally answered:\n",
        ">>\n",
        ">> I can help with that. I will generate code to perform the simulations with 200, 500, and 1000 repetitions, calculate the histograms for each, and then create a 3D plot to visualize how the distribution changes with the number of repetitions.\n",
        ">\n",
        "> Gemini presented the following code. We gave a positive feedback, and Gemini ran it. Gemini also suggested an interesting plan of study to dive into the theme."
      ],
      "metadata": {
        "id": "1dFhpnaCTzFf"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import random\n",
        "import matplotlib.pyplot as plt\n",
        "import numpy as np\n",
        "from mpl_toolkits.mplot3d import Axes3D\n",
        "\n",
        "def geometric_simulation_trials(p):\n",
        "  \"\"\"\n",
        "  Simulates a geometric distribution and returns the number of trials until the first success.\n",
        "\n",
        "  Args:\n",
        "    p: The probability of success (a number between 0 and 1).\n",
        "\n",
        "  Returns:\n",
        "    The number of trials until the first success.\n",
        "  \"\"\"\n",
        "  trials = 0\n",
        "  while True:\n",
        "    trials += 1\n",
        "    if random.random() < p:\n",
        "      break\n",
        "    else:\n",
        "      pass\n",
        "  return trials\n",
        "\n",
        "# Parameters for the simulation\n",
        "p = 0.1\n",
        "num_repetitions_list = [200, 500, 1000]\n",
        "\n",
        "# Store histogram data for each number of repetitions\n",
        "hist_data = {}\n",
        "\n",
        "for num_repetitions in num_repetitions_list:\n",
        "    trial_counts = [geometric_simulation_trials(p) for _ in range(num_repetitions)]\n",
        "    # Calculate histogram\n",
        "    counts, bins = np.histogram(trial_counts, bins=range(1, max(trial_counts) + 2), density=True)\n",
        "    bin_centers = 0.5 * (bins[:-1] + bins[1:])\n",
        "    hist_data[num_repetitions] = (bin_centers, counts)\n",
        "\n",
        "# Create the 3D plot\n",
        "fig = plt.figure(figsize=(12, 8))\n",
        "ax = fig.add_subplot(111, projection='3d')\n",
        "\n",
        "colors = ['r', 'g', 'b']\n",
        "\n",
        "for i, num_repetitions in enumerate(num_repetitions_list):\n",
        "    bin_centers, counts = hist_data[num_repetitions]\n",
        "    # Create a 2D array for the bars in 3D\n",
        "    x_pos = bin_centers\n",
        "    y_pos = np.array([num_repetitions] * len(bin_centers))\n",
        "    z_pos = 0\n",
        "    dx = dy = 0.5  # Width of the bars\n",
        "    dz = counts\n",
        "\n",
        "    ax.bar3d(x_pos, y_pos, z_pos, dx, dy, dz, color=colors[i], zsort='average', alpha=0.8)\n",
        "\n",
        "ax.set_xlabel('Number of Trials')\n",
        "ax.set_ylabel('Number of Repetitions')\n",
        "ax.set_zlabel('Probability Density')\n",
        "ax.set_title('Estimated Geometric Distribution vs. Number of Repetitions')\n",
        "ax.set_yticks(num_repetitions_list) # Set explicit ticks for the number of repetitions\n",
        "\n",
        "plt.show()"
      ],
      "metadata": {
        "id": "YKiuw4tbJRkT"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "> *Exercise.* Run the code and comment on the resulting 3D plot.\n",
        ">>\n",
        ">> *Answer.*  The plot was perfect and the axes were ticked quite good. The first plot, with 200 repetitions, is very rough and with many ups and downs that were very noticeable in the tail. The plot with 500 repetitions was more smooth, and that of 1000 even more. The difference between the first and the second plot is very clear, but not so much between the second and the third. This means that the convergence is very slow. The height of the first bar of the first two graphs is   0.1  and almost 0.08 in the last. We consider that the agreement with what is expected is good.\n",
        "\n",
        "> *Challenge.* Decipher this astonishing, beautiful code: let Colab to explain it and write your own conclusions.\n",
        "\n",
        "We see that we have a reason to consider that observed distributions tend to a limit. Our question is the following: Is the observed limit equal to the mathematically expected one? We cogently need a positive answer to make sure that our thoughts match reality. To elucidate this intriguing question, we imagine that 5000 repetitions make a good approximation to infinite, and we asked Colab:\n",
        "\n",
        "\n",
        "> The code to compare an observed distribution in a simulation with many repetitions of the Geometric distribution  with the mathematically expected distribution. We suggest to run the simulation of the geometric distribution with a probability of success p = 0.1 and 5000 repetitions with the corresponding  histogram to visualize the distribution of the number of trials. Plus a curve of the mathematically predicted distribution.  \n",
        ">\n",
        "> Gemini answered: I will add the code to simulate the geometric distribution with 5000 repetitions and a probability of success of 0.1. Then, I will plot the histogram of the simulation results and the theoretical geometric distribution on the same graph for comparison.\n",
        ">\n",
        "> After we accepted this, Gemini displayed the following code:\n"
      ],
      "metadata": {
        "id": "OvJIvUpALKI1"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import random\n",
        "import statistics\n",
        "import matplotlib.pyplot as plt\n",
        "import numpy as np\n",
        "\n",
        "def geometric_simulation_trials(p):\n",
        "  \"\"\"\n",
        "  Simulates a geometric distribution and returns the number of trials until the first success.\n",
        "\n",
        "  Args:\n",
        "    p: The probability of success (a number between 0 and 1).\n",
        "\n",
        "  Returns:\n",
        "    The number of trials until the first success.\n",
        "  \"\"\"\n",
        "  trials = 0\n",
        "  while True:\n",
        "    trials += 1\n",
        "    if random.random() < p:\n",
        "      break\n",
        "    else:\n",
        "      pass\n",
        "  return trials\n",
        "\n",
        "# Parameters for the simulation\n",
        "p = 0.1\n",
        "num_repetitions = 5000\n",
        "\n",
        "# Run the simulation multiple times and store the number of trials\n",
        "trial_counts = [geometric_simulation_trials(p) for _ in range(num_repetitions)]\n",
        "\n",
        "# Calculate histogram data\n",
        "counts, bins = np.histogram(trial_counts, bins=range(1, max(trial_counts) + 2), density=True)\n",
        "bin_centers = 0.5 * (bins[:-1] + bins[1:])\n",
        "\n",
        "# Calculate the theoretical geometric distribution\n",
        "k = np.arange(1, max(trial_counts) + 1)\n",
        "theoretical_probabilities = [(1 - p)**(i - 1) * p for i in k]\n",
        "\n",
        "# Plot the histogram and the theoretical distribution\n",
        "plt.figure(figsize=(12, 8))\n",
        "plt.bar(bin_centers, counts, width=1.0, alpha=0.75, edgecolor='black', label='Simulated Distribution')\n",
        "plt.plot(k, theoretical_probabilities, 'r-', label='Theoretical Distribution')\n",
        "\n",
        "plt.title('Simulated vs. Theoretical Geometric Distribution')\n",
        "plt.xlabel('Number of Trials Until First Success')\n",
        "plt.ylabel('Probability Density')\n",
        "plt.legend()\n",
        "plt.grid(axis='y', alpha=0.75)\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 718
        },
        "id": "Ikxp2n9A5by6",
        "outputId": "482f138f-e6c0-4006-e32c-72ecef9e3a78"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1200x800 with 1 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/IAAAK9CAYAAACHG1c1AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAsMJJREFUeJzs3Xd4FHXix/HPpveCIQUICVVaCB3pIHggiKKIiJ7UQz1BURR+YgNED1FEsGIFvRNBiojlQEBBEKSD9CYhtCQESEIIpO38/sDssaSQhSST8n49Tx6ys9+d+WxJHj6Zme9YDMMwBAAAAAAAygQnswMAAAAAAIDCo8gDAAAAAFCGUOQBAAAAAChDKPIAAAAAAJQhFHkAAAAAAMoQijwAAAAAAGUIRR4AAAAAgDKEIg8AAAAAQBlCkQcAAAAAoAyhyANAMYmMjNTgwYNN2faECRNksVhM2XZ+YmJiZLFYNHv2bLOj3BCLxaKRI0eaHaPIde7cWZ07dy629Zv581DemP1aWiwWTZgwodi3s2rVKlksFq1atcq2rHPnzmrUqFGxb1sqP7+zAJRPFHkAcNDOnTt17733KiIiQh4eHqpatapuu+02vfPOO2ZHKxLvv/9+hfqPa+fOnWWxWK75VRLFpbjt2bNHEyZMUExMjNlRCpSenq533nlH7du3V2BgoNzc3FSlShXdeeed+uqrr5SdnW12xCJRGt6PyMhI22fcyclJAQEBioqK0sMPP6wNGzYU2XbmzJmj6dOnF9n6ilJpzgYA+XExOwAAlCXr1q1Tly5dVL16dQ0fPlyhoaE6duyYfv/9d82YMUOPP/64bez+/fvl5FT2/l76/vvvKygoqMLsPX3++ef1j3/8w3Z706ZNevvtt/Xcc8+pfv36tuWNGzc2I16R2rNnjyZOnKjOnTsrMjLS7r6ffvrJnFBXOX36tG6//XZt2bJF3bt31wsvvKBKlSopLi5OK1as0AMPPKBDhw7pxRdfNDvqDSvo/ShIUf9uadKkiZ5++mlJ0vnz57V3717Nnz9fH3/8sZ566ilNmzbNbvzFixfl4uLYfyHnzJmjXbt26cknnyz0Yzp27KiLFy/Kzc3NoW05Kr9sERERunjxolxdXYt1+wBwPSjyAOCAV199Vf7+/tq0aZMCAgLs7ktISLC77e7uXoLJcL1uu+02u9seHh56++23ddtttxXroeZFISsrS1artUiKTnGXpcJ66KGHtG3bNi1cuFD33HOP3X3jxo3T5s2btX//fpPSmccwDF26dEmenp5F/rulatWq+vvf/263bMqUKXrggQf01ltvqU6dOvrnP/9pu8/Dw6NIt3+1S5cuyc3NTU5OTsW+rYJYLBZTtw8ABSl7u4oAwESHDx9Ww4YNc5V4SQoODra7ffV5rLNnz5bFYtHatWv1xBNPqHLlygoICNAjjzyijIwMJSUlaeDAgQoMDFRgYKDGjh0rwzBsj8/rfFGp8Odxzpo1S7feequCg4Pl7u6uBg0a6IMPPsiVeffu3Vq9erXtcNsry2xSUpKefPJJhYeHy93dXbVr19aUKVNktVrt1pOUlKTBgwfL399fAQEBGjRokJKSkgrMJ0mbN2+WxWLR559/nuu+ZcuWyWKx6Pvvv5d0ec/hk08+qcjISLm7uys4OFi33Xabtm7des3tFIXFixerUaNGcnd3V8OGDbV06dJcY06cOKGhQ4cqJCTENu6zzz7LNS4hIUHDhg1TSEiIPDw8FB0dnes1yHmfp06dqunTp6tWrVpyd3fXnj17JEn79u3Tvffeq0qVKsnDw0MtWrTQkiVLbI+fPXu2+vXrJ0nq0qWL7f3N+TzldY78pUuXNGHCBNWtW1ceHh4KCwvTPffco8OHD9vGTJ06VW3bttVNN90kT09PNW/eXAsWLLiu13T9+vVatmyZHn744VwlPkeLFi304IMP2i1LT0/X+PHjVbt2bbm7uys8PFxjx45Venq63bisrCxNmjTJ9tpFRkbqueeeyzUuMjJSd9xxh1atWqUWLVrI09NTUVFRttdq0aJFioqKkoeHh5o3b65t27blynmj70dOhmXLltkyfPjhh7b7rj5iJikpSU899ZTt56FatWoaOHCgEhMTC37R8+Hp6al///vfqlSpkl599VW730VXn2pyrZ/Fzp0764cfftDRo0dtzzPnCISc32tz587VCy+8oKpVq8rLy0spKSn5/s6TpC1btqht27by9PRUjRo1NHPmTLv7c37fXn3awtXrLChbfr9bf/75Z3Xo0EHe3t4KCAjQXXfdpb1799qNyZmn5NChQxo8eLACAgLk7++vIUOGKC0trXBvAgAUgD3yAOCAiIgIrV+/Xrt27bruCZcef/xxhYaGauLEifr999/10UcfKSAgQOvWrVP16tX1r3/9Sz/++KPeeOMNNWrUSAMHDiyS7B988IEaNmyoO++8Uy4uLvruu+/02GOPyWq1asSIEZKk6dOn6/HHH5ePj4+ef/55SVJISIgkKS0tTZ06ddKJEyf0yCOPqHr16lq3bp3GjRunU6dO2c4xNQxDd911l9auXatHH31U9evX1zfffKNBgwZdM2OLFi1Us2ZNff3117nGz5s3T4GBgerevbsk6dFHH9WCBQs0cuRINWjQQGfOnNHatWu1d+9eNWvWrEhes/ysXbtWixYt0mOPPSZfX1+9/fbb6tu3r2JjY3XTTTdJkuLj43XLLbfYJserXLmy/vvf/2rYsGFKSUmxHcZ78eJFde7cWYcOHdLIkSNVo0YNzZ8/X4MHD1ZSUpJGjRplt+1Zs2bp0qVLevjhh+Xu7q5KlSpp9+7dateunapWrapnn31W3t7e+vrrr9WnTx8tXLhQd999tzp27Kgnnngi12kDV54+cKXs7GzdcccdWrlype6//36NGjVK58+f1/Lly7Vr1y7VqlVLkjRjxgzdeeedevDBB5WRkaG5c+eqX79++v7779WrVy+HXtfvvvtOknLtHS6I1WrVnXfeqbVr1+rhhx9W/fr1tXPnTr311ls6cOCAFi9ebBv7j3/8Q59//rnuvfdePf3009qwYYMmT56svXv36ptvvrFb76FDh/TAAw/okUce0d///ndNnTpVvXv31syZM/Xcc8/psccekyRNnjxZ9913n93h7kX1fuzfv18DBgzQI488ouHDh+vmm2/O8zVITU1Vhw4dtHfvXg0dOlTNmjVTYmKilixZouPHjysoKKjQr+eVfHx8dPfdd+vTTz/Vnj171LBhwzzHXetn8fnnn1dycrKOHz+ut956y7buK02aNElubm565plnlJ6eXuARIufOnVPPnj113333acCAAfr666/1z3/+U25ubho6dKhDz7Ew2a60YsUK3X777apZs6YmTJigixcv6p133lG7du20devWXKdI3HfffapRo4YmT56srVu36pNPPlFwcLCmTJniUE4AyMUAABTaTz/9ZDg7OxvOzs5GmzZtjLFjxxrLli0zMjIyco2NiIgwBg0aZLs9a9YsQ5LRvXt3w2q12pa3adPGsFgsxqOPPmpblpWVZVSrVs3o1KmTbdkvv/xiSDJ++eUXu+0cOXLEkGTMmjXLtmz8+PHG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n+vnn3/W2LFjJUlt27bV9OnT5efnp1OnTunUqVN65plnJEkjR47U+vXrNXfuXP3xxx/q16+fevTooYMHD0qSNmzYoGHDhmnkyJHavn27unTpoldeeeW6cz711FM6f/68li9fnuf9Dz74oKpVq6ZNmzZpy5YtevbZZ+Xq6lrgc5CkqVOnKjo6Wtu2bdOLL76Y7/bHjBmjN998U5s2bVLlypXVu3dvZWZmFir7M888o/vuu089evSwZWjbtm2ucSdOnFDPnj3VsmVL7dixQx988IE+/fTTXK/b559/Lm9vb23YsEGvv/66Xn755Xxfl5LCofUAAAAAyg0XFxfNnj1bw4cP18yZM9WsWTN16tRJ999/vxo3blzgY5955hl1795dkjRq1CgNGDBAK1eutJ1XP2zYMM2ePfuG8l25Bz8yMlKvvPKKHn30Ub3//vtyc3OTv7+/LBaL3SHgsbGxmjVrlmJjY1WlShVb1qVLl2rWrFn617/+pRkzZqhHjx62PwrUrVtX69at09KlS68rZ7169SRdPlohL7GxsRozZoxtXJ06dWz35fUcctx66616+umnbbfzW//48eN12223SbpcpKtVq6ZvvvlG99133zWz+/j4yNPTU+np6QUeSv/+++8rPDxc7777riwWi+rVq6eTJ0/q//7v//TSSy/Jyenyfu/GjRtr/Pjxtuf57rvvauXKlbZ8ZmCPPAAAAIBypW/fvjp58qSWLFmiHj16aNWqVWrWrNk1S/iVRT8kJESSFBUVZbcsISHhhrKtWLFCXbt2VdWqVeXr66uHHnpIZ86cUVpa/lcB2Llzp7Kzs1W3bl3bEQc+Pj5avXq1Dh8+LEnau3evWrdubfe4Nm3aXHdOwzAk2U+Gd6XRo0frH//4h7p166bXXnvNluNaWrRoUahxV2avVKmSbr75Zu3du7dQjy2svXv3qk2bNnbPsV27dkpNTdXx48dty67+A1BYWNgNfw5uFEUeAAAAQLnj4eGh2267TS+++KLWrVunwYMH2/aq5sfV1dX2fU65u3qZ1Wq13XZycrIV3hwFHf4dExOjO+64Q40bN9bChQu1ZcsWvffee5IuT/yWn9TUVDk7O2vLli3avn277Wvv3r2aMWNGgc/peuWU5ho1auR5/4QJE7R792716tVLP//8sxo0aKBvvvnmmuv19va+4WyOvu436srPgJT7c2AGijwAAACAcq9Bgwa6cOFCka6zcuXKOnXqlO12dna23aRsV9uyZYusVqvefPNN3XLLLapbt65OnjxpN8bNzU3Z2dl2y5o2bars7GwlJCSodu3adl85h47Xr19fGzZssHvc77//ft3PLec8927duuU7pm7dunrqqaf0008/6Z577tGsWbPyfQ6OujL7uXPndODAAdWvX1/S5dc9Li7OrsxfPVleYTLUr19f69evt1vPb7/9Jl9fX1WrVu2G8hc3zpEHAAAA4LALZ+NK5XbOnDmjfv36aejQoWrcuLF8fX21efNmvf7667rrrruKNNutt96q0aNH64cfflCtWrU0bdq0Aq+dXrt2bWVmZuqdd95R79699dtvv2nmzJl2YyIjI5WamqqVK1cqOjpaXl5eqlu3rh588EENHDhQb775ppo2barTp09r5cqVaty4sXr16qUnnnhC7dq109SpU3XXXXdp2bJlhT4/PikpSXFxcUpPT9eBAwf04YcfavHixfriiy/sZqrPcfHiRY0ZM0b33nuvatSooePHj2vTpk3q27dvvs/By8ur0K+rJL388su66aabFBISoueff15BQUHq06ePpMszyZ8+fVqvv/667r33Xi1dulT//e9/5efnZ/c6Llu2TPv379dNN90kf3//XNt47LHHNH36dD3++OMaOXKk9u/fr/Hjx2v06NG28+NLK4o8AAAAgELz9/dXgK+XEtfMdfj67tcrwNcrzyKWFx8fH7Vu3VpvvfWWDh8+rMzMTIWHh2v48OF67rnnijTX0KFDtWPHDg0cOFAuLi566qmn1KVLl3zHR0dHa9q0aZoyZYrGjRunjh07avLkybZrtUuXZ65/9NFH1b9/f505c0bjx4/XhAkTNGvWLL3yyit6+umndeLECQUFBemWW27RHXfcIUm65ZZb9PHHH2v8+PF66aWX1K1bN73wwguaNGnSNZ/HkCFDJF0+HaFq1apq3769Nm7cqGbNmuU53tnZWWfOnNHAgQMVHx+voKAg3XPPPZo4cWKBz8ERr732mkaNGqWDBw+qSZMm+u677+Tm5ibp8p70999/X//61780adIk9e3bV88884w++ugj2+OHDx+uVatWqUWLFkpNTdUvv/xiuzxdjqpVq+rHH3/UmDFjFB0drUqVKmnYsGF64YUXHMpqBotx9ckFUEpKivz9/ZWcnGz3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bjQAIz4+vlCdfv36Gf379y+2zalTpxrY/xyoqKioqKioqKioqKioqDitHD169JK5tNOH1lcGkyZNKnSV32azcfr0aYKCgjBdxflUpUlLS6NmzZocPXoU3wuHy4hcQ9TP5Xqgfi7XOvVxuR6on0tFMAyD9PR0qlevfsm6Tk3kg4ODsVgsJCUlFdqflJREeHh4sa8JDw8vtf75x6SkJKpVq1aoTlRUVLFturm54eZWeKCMv7//5byVq8bX11d/Wcg1T/1crgfq53KtUx+X64H6uVxtfn5+Zap32VOLypPVaqVly5asW7fOsc9ms7Fu3TratWtX7GvatWtXqD7A2rVrHfUjIiIIDw8vVCctLY0tW7aU2KaIiIiIiIhIVeH0ofVjxoxh6NChtGrVijZt2jB37lwyMzMdq9gPGTKEG264gRkzZgDw5JNP0rlzZ1566SV69erFypUr2b59O0uWLAHAZDIxatQonnvuOSIjIx23n6tevTp9+vRx1tsUERERERERKRdOT+QHDBjAiRMnmDJlComJiURFRbFmzRrCwsIA+wquZvMfAwfat2/PihUr+Pe//83TTz9NZGQkq1atctxDHmDChAlkZmbyyCOPkJKSQseOHVmzZk2Vuoe8m5sbU6dOLTLkX+Raon4u1wP1c7nWqY/L9UD9XCobk2GUZW17EREREREREakMnDpHXkREREREREQujxJ5ERERERERkSpEibyIiIiIiIhIFaJEXkRERERERKQKUSJfSS1atIg6derg7u5O27Zt2bp1q7NDErkiM2bMoHXr1vj4+BAaGkqfPn3Yv39/oTpnz55l+PDhBAUF4e3tzT333ENSUpKTIhb582bOnOm4Hep56udyLTh+/Dj33XcfQUFBeHh40LRpU7Zv3+44bhgGU6ZMoVq1anh4eNCtWzcOHjzoxIhFyq6goIDJkycTERGBh4cHdevW5dlnn+XCtcHVx6WyUCJfCb3//vuMGTOGqVOnsnPnTpo3b06PHj1ITk52dmgil239+vUMHz6czZs3s3btWvLy8vjrX/9KZmamo87o0aP5/PPP+fDDD1m/fj3x8fHcfffdToxa5Mpt27aN1157jWbNmhXar34uVd2ZM2fo0KEDrq6ufP311+zdu5eXXnqJgIAAR53Zs2czf/58Fi9ezJYtW/Dy8qJHjx6cPXvWiZGLlM2sWbN49dVX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+zExMbRv3x53d3eaNGnC+vXrCx3fvXs3PXv2xNvbm7CwMAYPHszJkycdx2+77TZGjBjBqFGjCA4OpkePHsW+D5vNxrRp06hRowZubm5ERUWxZs0ax3GTycSOHTuYNm1aiVfXw8PDHcXPzw+TyeR4HhMTg4+PD19//TUtW7bEzc2NDRs2FPn8tm3bRvfu3QkODsbPz4/OnTuzc+fOEj//3NxcRowYQbVq1XB3d6d27dqlfl9ldT6ud999lzp16uDn58fAgQNJT08H7N/p+vXrmTdvnuMqemxs7BVd2Qfw9/cv9PkFBgYWGVp/vu2LP8NffvmFv/zlL/j4+ODr60vLli3Zvn07P/zwAw888ACpqamljooAWL16NY8//jj9+vUjIiKC5s2b8+CDDzJu3DhHnTp16jB37txCr4uKiirUZkpKCo8++ihhYWGOPvvFF184jm/cuJHbbrsNT09PAgIC6NGjh+PHApvNxowZM4iIiMDDw4PmzZvz0UcfOV575swZBg0aREhICB4eHkRGRjr+zFytfiAiIn+OEnkREalwFouF6dOns2DBAo4dO/an2vruu++Ij4/nf//7H3PmzGHq1KnceeedBAQEsGXLFh577DEeffTRIucZP348Y8eO5eeff6Zdu3b07t2bU6dOAfakqUuXLrRo0YLt27ezZs0akpKS6N+/f6E23n77baxWKxs3bmTx4sXFxjdv3jxeeuklXnzxRXbt2kWPHj3429/+xsGDBwH71fbGjRszduxYEhISCiV4l2PixInMnDmTffv20axZsyLH09PTGTp0KBs2bGDz5s1ERkZyxx13OBLoi82fP5/Vq1fzwQcfsH//fpYvX17oR5Q/49ChQ6xatYovvviCL774gvXr1zumWsybN4927drx8MMPk5CQQEJCAjVr1iyX817KxZ/hoEGDqFGjBtu2bWPHjh1MnDgRV1dX2rdvz9y5c/H19XXEWNL3Fh4eznfffceJEyeuOC6bzUbPnj3ZuHEj7733Hnv37mXmzJlYLBYAoqOj6dq1K40aNWLTpk1s2LCB3r17U1BQAMCMGTN45513WLx4MXv27GH06NHcd999jh+vJk+ezN69e/n666/Zt28fr776KsHBwcDV7QciInLlNLReRESc4u9//ztRUVFMnTqVN95444rbCQwMZP78+ZjNZurXr8/s2bPJysri6aefBmDSpEnMnDmTDRs2MHDgQMfrRowYwT333APAq6++ypo1a3jjjTeYMGECCxcupEWLFkyfPt1R/80336RmzZocOHCAevXqARAZGcns2bNLje/FF1/kqaeecpx71qxZfP/998ydO5dFixYRHh6Oi4sL3t7eVzR0/Lxp06bRvXv3Eo936dKl0PMlS5bg7+/P+vXrufPOO4vUj4uLIzIyko4dO2IymUoc9n8lbDYbb731Fj4+PgAMHjyYdevW8fzzz+Pn54fVasXT0/NPfR7n3XvvvY6EF+C9994rcRHAiz/DuLg4xo8fT4MGDQD7933ehSMjSjNnzhz69u1LeHg4jRs3pn379tx111307NmzzO/h22+/ZevWrezbt8/R92688UbH8dmzZ9OqVSteeeUVx77GjRsDkJOTw/Tp0/n2229p166d47UbNmzgtddeo3PnzsTFxdGiRQtatWoFUChRv5r9QERErpyuyIuIiNPMmjWLt99+m3379l1xG40bN8Zs/uOfs7CwMJo2bep4brFYCAoKIjk5udDrzic1AC4uLrRq1coRxy+//ML333/vmGfu7e3tSOYOHTrkeF3Lli1LjS0tLY34+Hg6dOhQaH+HDh3+1HsuzvkkrCRJSUk8/PDDREZG4ufnh6+vLxkZGcTFxRVb//777yc6Opr69eszcuRIvvnmm3KLtU6dOo4kHqBatWpFvp/y8vLLLxMdHe0opf3YcfFnOGbMGB566CG6devGzJkzC333ZdWoUSN2797N5s2bGTZsGMnJyfTu3ZuHHnqozG1ER0dTo0YNRxJf3PGuXbsWe+y3334jKyuL7t27F+rP77zzjuP9/POf/2TlypVERUUxYcIEfvrpJ8frr2Y/EBGRK6dEXkREnKZTp0706NGDSZMmFTlmNpsxDKPQvry8vCL1XF1dCz03mUzF7rPZbGWOKyMjg969exdKAKOjozl48CCdOnVy1PPy8ipzm1fbpWIZOnQo0dHRzJs3j59++ono6GiCgoLIzc0ttv7NN9/MkSNHePbZZ8nOzqZ///707du3xPZ9fX1JTU0tsj8lJQWLxVIovj/7/VyO8PBwbrrpJkcp7XO6+NgzzzzDnj176NWrF9999x2NGjXi008/vewYzGYzrVu3ZtSoUXzyySe89dZbvPHGGxw5csRxvLS+7uHhUWr7pR3PyMgA4MsvvyzUl/fu3euYJ9+zZ09+//13Ro8eTXx8PF27dnVMFbjcfiAiIhVDibyIiDjVzJkz+fzzz9m0aVOh/SEhISQmJhZKcMrzvt+bN292bOfn57Njxw4aNmwI2JOXPXv2UKdOnUJJ4KUSwYv5+vpSvXp1Nm7cWGj/xo0badSoUfm8kTLauHEjI0eO5I477qBx48a4ubkVWryvOL6+vgwYMIClS5fy/vvv8/HHH3P69Oli69avX589e/aQk5NTaP/OnTuJiIgokryXxmq1OuZ3O1u9evUYPXo033zzDXfffbdjEbg/E+P57z4zMxOw9/UL70yQlpbmSPIBmjVrxrFjxzhw4ECx7TVr1qzEWw02atQINzc34uLiivTlC9ceCAkJYejQobz33nvMnTuXJUuWOI5dTj8QEZGKoTnyIiLiVE2bNmXQoEHMnz+/0P7bbruNEydOMHv2bPr27cuaNWv4+uuv8fX1LZfzLlq0iMjISBo2bMjLL7/MmTNnGDZsGADDhw9n6dKl3HvvvUyYMIHAwEB+++03Vq5cyeuvv15ozvWljB8/nqlTp1K3bl2ioqJYtmwZ0dHRLF++vFzeR1lFRkby7rvvOm6BNn78+FKv5M6ZM4dq1arRokULzGYzH374IeHh4SXeO33QoEFMmzaNIUOGMGHCBPz8/Pjf//7H3LlzL7mOwMXq1KnDli1biI2Nxdvbm8DAwMt6fXnIzs5m/Pjx9O3bl4iICI4dO8a2bdsc6yrUqVOHjIwM1q1bR/PmzfH09MTT07NIO3379qVDhw60b9+e8PBwjhw5wqRJk6hXr55jukaXLl1466236N27N/7+/kyZMqVQH+vcuTOdOnXinnvuYc6cOdx0003ExMRgMpm4/fbbmTRpEk2bNuXxxx/nsccew2q18v3339OvXz+Cg4MZN24co0ePxmaz0bFjR1JTU9m4cSO+vr4MHTqUKVOm0LJlSxo3bkxOTg5ffPGF40ety+0HIiJSMXRFXkREnG7atGlFhlY3bNiQV155hUWLFtG8eXO2bt16xSu6F2fmzJnMnDmT5s2bs2HDBlavXu1Yqfv8VfSCggL++te/0rRpU0aNGoW/v3+h+fhlMXLkSMaMGcPYsWNp2rQpa9asYfXq1YUWTqsIb7zxBmfOnOHmm29m8ODBjBw5ktDQ0BLr+/j4OBZRa926NbGxsXz11Vclvn9/f39+/PFH8vLy+Nvf/kZUVBTz589nzpw5PProo5cV67hx47BYLDRq1IiQkJAS5/FfTRaLhVOnTjFkyBDq1atH//796dmzJ//5z38AaN++PY899hgDBgwgJCSkxB8revToweeff07v3r2pV68eQ4cOpUGDBnzzzTeO+9RPmjSJzp07c+edd9KrVy/69OlD3bp1C7Xz8ccf07p1a+69914aNWrEhAkTHCMC6tWrxzfffMMvv/xCmzZtaNeuHZ999pmj/WeffZbJkyczY8YMGjZsyO23386XX35JREQEYB9dMGnSJJo1a0anTp2wWCysXLkSuPx+ICIiFcNkXDwpS0REREREREQqLf2cKiIiIiIiIlKFKJEXERERERERqUKUyIuIiIiIiIhUIUrkRURERERERKoQJfIiIiIiIiIiVYgSeREREREREZEqRIm8iIiIiIiISBWiRF5ERERERESkClEiLyIiIiIiIlKFKJEXERERERERqUKUyIuIiIiIiIhUIf8PrbP2HQcvlAEAAAAASUVORK5CYII=\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "yjhwwsf46-kv"
      },
      "source": [
        "> *Exercise proposed by Gemini.* Analyze the plot comparing the simulated and theoretical geometric distributions and comment on your observations. How well does the simulation with 5000 repetitions approximate the theoretical distribution?\n",
        "\n",
        ">> *Answer.* The plot is an artwork! It shows how well the simulated geometric distribution fits the theoretically expected one. This result and those of the previous histogram say that we can relate theory with observation and that a good match is expected even if we do  not have too many repetitions: 200 are enough to have a very good idea of the ideal distribution with an infinte number of repetitions.\n",
        ">>\n",
        ">>  Gemini does not count the number $k$ of failures before the first success, but the total number of trials including the last one, that of success. The difference is a shift of 1 that seemingly does not alter much the landscape nor the discussion. In the  literature, this setting is known as the *Shifted Geometric Distribution.*\n",
        "\n",
        "## The simplest task is universal\n",
        "\n",
        "\n",
        "The simplest task that we can pose to the monkey is the following: to match a single character.   Only one character. The   monkey must  type and type at random. And we must register the trial when the task is done.  More detailed:\n",
        "\n",
        "The monkey must hit a specified key whose probability is $p$. Ordinary values of $p$ could be $1/27$, $1/54$, $1/96$, $1/110$. Nevertheless, let us notice that our reasoning does not depend on the actual value of $p$, so it can be anyone, $1/2$ or $1/10^{-80}$.\n",
        "\n",
        "The monkey can succeed at the very first trial with probability $p$, but it can fail with probability $1-p$ and fail again with probability $1-p$  and fail, and fail... Our study of this game must produce observable predictions. To that aim, we need some prerequisites that will be explained below.\n",
        "\n",
        "We have underscored that $p$ can have any value in within 0 and 1. This implies that we can apply our results to any task, no matter how complex it could be.\n",
        "\n",
        "> *Example.* We need to calculate observable predictions about the works of Shakespeare. As done by Richard Dawkins (1986), we can take a simple phrase:  'Methinks it is like a weasel.'\n",
        ">\n",
        "> Taken from\n",
        ">\n",
        "> Richard Dawkins\n",
        "> The Blind Watchmaker(1986-1987-1996)\n",
        "> https://avalonlibrary.net/ebooks/Richard%20Dawkins%20-%20The%20Blind%20Watchmaker.pdf\n",
        "\n",
        "To calculate the corresponding value of $p$, we proceed as follows: The phrase comes in a mix of upper and lower case characters and without numbers. This means that it uses an alphabet with 28 letters for low case counting space as a letter plus a period, and the other 26 letters for upper case. Total number of chars is 54. We consider that all these signs have equal probability of being typed. The phrase contains 29 chars that are 29 sites to be filled in.\n",
        "\n",
        "In the first site, the monkey can type anyone of the 54 chars, so the probability of choosing M is 1/54.\n",
        "\n",
        "In the second site, the monkey can type anyone of the 54 chars, so the probability of picking e is 1/54. As we see, events are assumed to be independent. This means that for the two first chars, the monkey elects one choice among 54 x 54 = 2916. Or, equivalently, that the probability of hitting the correct duo is (1/54) x (1/54) = 1/2916.\n",
        "\n",
        "> *Exercise.* Find the probability of hitting the correct initial substring of 3 chars of the phrase 'Methinks it is like a weasel.', and generalize.\n",
        ">>\n",
        ">> Answer. We have 54 x 54 x 54 = 157464 options for the initial substring of 3 chars. The corresponding probability is 1/157464 = 0.000006. In general, for the initial substring of $n$ chars, the monkey has $(54)^n$ options and a probability of $p = (1/54)^n = 1/(54^n)$. This is the probability of matching a string of length $n$ at the first trial using a perfect generator of random characters from the chosen alphabet with 54 letters.\n",
        "\n",
        "> *Example.* Let us calculate $p$ for the DNA message ATCAGTTGCTGCTAGGGCTCTAGAGCT with 9 codons, groups of 3 bases, 27 chars in all.\n",
        ">>\n",
        ">> *Answer.* The DNA alphabet has four chars. So, there are 4 options for each site. By independence, we multiply options and probabilities for multiple sites. Therefore, for a message of length $n$ we have $4^n$ options or a probability $p = 1/(4^n)$. The given string has 27 chars, therefore, the associated probability is $p = 1/(4^{27}) = 5 \\times 10^{-17}$. This is the probability of matching this string at the first trial using a generator of random numbers preferentially in base 4.\n",
        "\n",
        "> *Exercise.* A binary message for a computer is 11001010101010. Which is the associated $p$?\n",
        ">>\n",
        ">> *Answer.* There are 2 options for each site, and there are 14 sites. Hence there are $2^{14} = 16384$ options. The corresponding probability is $p = 1/16384= 0.00006$.\n",
        "\n",
        "To proceed further in order to compare what we think, in our math calculations, with what we observe, in our simulations, we need to make some calculations with infinite sums or series.\n",
        "\n",
        "## The geometric series\n",
        "\n",
        "Our infinite sums or series are of the geometric type, and we will apply them to the Geometric Distribution.\n",
        "\n",
        "We follow\n",
        "\n",
        "\n",
        "https://online.stat.psu.edu/stat414/lesson/11/11.2\n",
        "\n",
        "and\n",
        "\n",
        "https://www.statlect.com/probability-distributions/geometric-distribution\n",
        "\n",
        "\n",
        "We consider the common ratio  $ 0 < r  < 1$, and the power $n > 0$. Our results are:\n",
        "\n",
        "\n",
        "\n",
        "> *Trick 1.* For the geometric series,\n",
        ">>\n",
        ">> $(1+r+r^2 +... r^n)  = \\frac{1 -r^{n+1}}{1-r} $\n",
        ">>\n",
        "> *Proof.*\n",
        ">>\n",
        ">> $(1+r+r^2 +... r^n)(1-r) = (1+r+r^2 +... r^n) -r(1+r+r^2 +... r^n))$\n",
        ">>\n",
        ">> $= 1+r+r^2 +... r^n - r - r^2 - r^3 ... -r^{n+1}$\n",
        ">>\n",
        ">> $= 1+(r-r)+(r^2- r^2) +... (r^n-r^n)   -r^{n+1} = 1 -r^{n+1} $\n",
        ">>\n",
        "> that is\n",
        ">>\n",
        ">> $(1+r+r^2 +... r^n)(1-r) = 1 -r^{n+1} $\n",
        ">>\n",
        "> or\n",
        ">>\n",
        ">> $(1+r+r^2 +... r^n)  = \\frac{1 -r^{n+1}}{1-r} $\n",
        "\n",
        "> *Trick 2.* The series, or infinite sum,\n",
        ">>\n",
        ">> $1+r+r^2 +... = \\frac{1  }{1-r}  $.\n",
        ">>\n",
        ">> This infinite sum is known as the *geometric series* with $0 < r < 1$\n",
        ">>\n",
        "> *Proof.* Taking the limit when $n \\rightarrow \\infty$ in\n",
        ">>\n",
        ">> $(1+r+r^2 +... r^n)  = \\frac{1 -r^{n+1}}{1-r} $\n",
        ">>\n",
        "> we get\n",
        ">>\n",
        ">> $(1+r+r^2 + r^3... )  = \\frac{1  }{1-r} $\n",
        ">>\n",
        "> because $r^n \\rightarrow 0$ and $r^{n+1} \\rightarrow 0 $ when $n \\rightarrow \\infty $\n",
        "\n",
        "> *Exercise.* Find the value of the infinite sum $(a+ar+ar^2 +... )  $\n",
        ">\n",
        ">> *Answer.* If we multiply the equation\n",
        ">>\n",
        ">> $(1+r+r^2 +r^3 +... r^n)  = \\frac{1 -r^{n+1}}{1-r} $\n",
        ">>\n",
        ">> by a at both sides, we get:\n",
        ">>\n",
        ">> $(a+ar+ar^2 +ar^3 +... ar^n) = \\frac{a - ar^{n+1}}{1-r}   $\n",
        ">>\n",
        "> and taking the limit of $n \\rightarrow \\infty$, we get\n",
        ">>\n",
        ">> $(a+ar+ar^2 +ar^3 + ...  ) = \\frac{a }{1-r}   $\n",
        "\n",
        "\n",
        "> *Trick 3.* The series $a + 2ar + 3 ar^2 + ... = a(1-r)^{-2}$\n",
        ">>\n",
        "> *Proof.* In the series of the previous exercise\n",
        ">>\n",
        ">> $(a+ar+ar^2 +ar^3 + ar^4... )  = \\frac{a  }{1-r} = a(1-r)^{-1} $,\n",
        ">>\n",
        "> let us take the derivative with respect to $r$ at both sides, we get\n",
        ">>\n",
        ">> $(a +2ar +3ar^2 + 4ar^3... )   = (-1)(-1)a(1-r)^{-2} = a(1-r)^{-2}$.\n",
        "\n",
        "> *Trick 4.* The series $ 2a + 6ar + 12 ar^2+ ... = 2a(1-r)^{-3}$\n",
        ">>\n",
        "> *Proof.*  Let us take the derivative with respect to $r$ at both sides of the series of trick 3, which is\n",
        ">>\n",
        ">> $(a +2ar +3ar^2 + 4ar^3... )   =  a(1-r)^{-2}$\n",
        ">>\n",
        "> We get\n",
        ">>\n",
        ">> $ 2a + 6a r + 12ar^2 + ...= -2a(-1) (1-r)^{-3}  = 2a(1-r)^{-3}$\n",
        "\n",
        "    \n",
        "\n",
        "\n",
        "> *Trick 5.* $ln|1-x| =  -x - x^2/2 - x^3/3 + ... $\n",
        ">>\n",
        ">> and  $ln(1-x) = -x  $ when $x$ is very small.\n",
        ">>\n",
        "> Proof. According to trick 2\n",
        ">>\n",
        ">> $1+r+r^2 +... = \\frac{1  }{1-r}  $\n",
        ">>\n",
        "> changing $r$ by $x$, as in function, we have\n",
        ">>\n",
        ">> $1+x+x^2 +... = \\frac{1  }{1-x}  $\n",
        ">>\n",
        "> Integrating term by term, we get:\n",
        ">>\n",
        ">> $x + x^2/2 + x^3/3 + ... = -ln|1-x| + c$\n",
        ">>\n",
        "> multiplying by -1\n",
        ">>\n",
        ">> $-x - x^2/2 - x^3/3 + ... = ln|1-x| + c$\n",
        ">>\n",
        "> to know the value of the constant, we evaluate both sides at a specific point, $x= 0$:\n",
        ">>\n",
        ">> $0 - 0 - 0 + ... 0 .. = ln 1 + c = c$\n",
        ">>\n",
        "> Therefore the constant is 0.\n",
        ">\n",
        "> As a consequence, the infinite series of $ln|1-x|$ is\n",
        ">\n",
        ">> $ln|1-x| =  -x - x^2/2 - x^3/3 + ... $\n",
        ">\n",
        "> When $x $ is small, the first term of the series suffices to give a reliable approximation:\n",
        ">>\n",
        ">> $ln(1-x) =  -x   $ for $x \\sim 0$\n",
        "\n",
        "> *Example.* If $x$ is small, $-x^2/2$ is negligible:\n",
        ">>\n",
        ">> If $x = 0.1$, $-x^2/ 2 = -0.01/2 = 0.005$.\n",
        ">>\n",
        ">> If $x = 0.01$, $-x^2/ 2 = -0.0001/2 = 0.00005$.\n",
        ">>\n",
        ">> If $x = 0.001$, $-x^2/ 2 = -0.000001/2 = 0.0000005$.\n",
        "\n",
        "> *Trick 6.* The Euler number $e = 2.7172... = \\lim_{n \\to \\infty}(1 + 1/n)^n$.\n",
        ">>\n",
        ">> *Proof.* Let us apply the expansion\n",
        ">>\n",
        ">> $(a+b)^n = a^n + na^{n-1}b + \\frac{n(n-1)}{2}a^{n-2}b^2 +  +  \\frac{n(n-1)(n-2) }{2 \\times 3}a^{n-3}b^3 + \\frac{n(n-1)(n-2)(n-3)}{2 \\times 3 \\times 4}a^{n-4}b^4 +  \\frac{n(n-1)(n-2)(n-3)(n-4)}{2 \\times 3 \\times 4 \\times 5}a^{n-5}b^5  +...+  \\frac{n(n-1)(n-2)(n-3)(n-4)...(n-k+1)}{k!}a^{n-k}b^k+ ...$  \n",
        ">>\n",
        ">> Here $a = 1$, $b = 1/n$ and $n = n$. Thus, the general term $g_k $ becomes\n",
        ">>\n",
        ">> $ g_{k,n} =  \\frac{n(n-1)(n-2)(n-3)(n-4)...(n-k+1)}{k!}a^{n-k}b^k $\n",
        ">>\n",
        ">> $ g_{k,n}  =  \\frac{n(n-1)(n-2)(n-3)(n-4)...(n-k+1)}{k!}1^{n-k}(1/n)^k $\n",
        ">>\n",
        ">> $ g_{k,n}  =  \\frac{n(n-1)(n-2)(n-3)(n-4)...(n-k+1)}{k!}(1/n)^k$\n",
        ">>\n",
        ">>  Let us take the limit when $n$ diverges to infinite:\n",
        ">>\n",
        ">> $ g_{k,n}  =  \\frac{n(n)(n)(n)(n)...(n)}{k!}(1/n)^k$\n",
        ">>\n",
        ">> Simplifying $k$ terms all equal to $n$ in the numerator with $n^k$ in the denominator, we get:\n",
        ">>\n",
        ">> $ g_{k}  =  \\frac{1}{k!}$\n",
        ">>\n",
        ">> Or\n",
        ">>\n",
        ">> $ (1 + 1/n)^n = 1 + n (1/n) + \\frac{n(n-1)}{2} (1/n)^2  +   \\frac{n(n-1)(n-2)(n-3)}{3!} (1/n)^3 + ...$\n",
        ">>\n",
        ">> converges to\n",
        ">>\n",
        ">> $ (1 + 1/n)^n \\to 1 +1 + \\frac{1}{2} 1  +   \\frac{1}{3!}  + ...+ \\frac{1}{k!} + ...$\n",
        ">>\n",
        ">> $ (1 + 1/n)^n \\to 1 + 1 + 1/2 + 1/6 + 1/24 + 1 /120 + ... $\n",
        ">>\n",
        ">> $ (1 + 1/n)^n \\to 1 + 1 + 0.5 + 0.167 + 0.042 + 0.008 + ... + = 2.717...$\n",
        ">>\n",
        ">> $ (1 + 1/n)^n \\to 2.717... = e = Euler$\n",
        "\n",
        "\n",
        "> *Trick 7.* $\\lim_{n \\to \\infty}(1 - 1/n)^n = \\frac{1}{e}$\n",
        ">>\n",
        ">> *Proof.*  We follow Alberto Cid\n",
        ">\n",
        "> https://www.quora.com/How-do-we-evaluate-1-1-n-n-as-n-approaches-infinity\n",
        ">\n",
        ">> $L = \\lim_{n \\to \\infty}(1 - 1/n)^n =  \\lim_{n \\to \\infty}(\\frac{n - 1}{n})^n $\n",
        ">>\n",
        ">> Let us make a change of variable $k = n-1$, i.e., $n = k+1$. We get:\n",
        ">>\n",
        ">> $L = \\lim_{n \\to \\infty}(\\frac{n - 1}{n})^n= \\lim_{k \\to \\infty}( \\frac{k}{k+1})^{k+1} $\n",
        ">>\n",
        ">> By inverting multiplicatively $k+1$ terms, we have a power equal to $k+1$ :\n",
        ">>>\n",
        ">>> $ \\frac{1}{L} =  \\lim_{k \\to \\infty}( \\frac{k+1}{k})^{k+1} $\n",
        ">>>\n",
        ">>> $ = \\lim_{k \\to \\infty}( 1 + \\frac{1}{k})^{k+1} $\n",
        ">>>\n",
        ">>> $ = \\lim_{k \\to \\infty}( 1 + \\frac{1}{k})^k ( 1 + \\frac{1}{k})$\n",
        ">>>\n",
        ">>> $ = e \\times 1 = e$\n",
        ">>>\n",
        ">>> Therefore,\n",
        ">>>\n",
        ">>> $  L = \\frac{1}{e}$\n",
        ">>\n",
        ">> Replacing the value of $L$, we get\n",
        ">>>\n",
        ">>>  $L = \\lim_{n \\to \\infty}(1 - 1/n)^n = \\frac{1}{e}$\n",
        "\n",
        "\n",
        "\n",
        "> *Test*. Everyone  has the right of doubting but in Science that is a must. And if you work with AI, testing is a sacred duty. So, let us test our tricks by showing graphically the meaning of the fifth one. So, we asked Colab:\n",
        ">>\n",
        ">> The code for the graph of y = ln(1-x) in the vicinity of 0, together with that of the line  y = -x. We suggest the interval [-0.5,0.5] as the dominion of the functions.\n",
        ">\n",
        "> Gemini answered with the following code:\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "# Define the interval for x\n",
        "x = np.linspace(-0.5, 0.5, 100)\n",
        "\n",
        "# Calculate y values for ln(1-x) and -x\n",
        "y_ln = np.log(1 - x)\n",
        "y_neg_x = -x\n",
        "\n",
        "# Create the plot\n",
        "plt.figure(figsize=(8, 6))\n",
        "plt.plot(x, y_ln, label='y = ln(1-x)', color='blue')\n",
        "plt.plot(x, y_neg_x, label='y = -x', color='red', linestyle='--')\n",
        "\n",
        "# Add title and labels\n",
        "plt.title('Graph of y = ln(1-x) and y = -x near x=0')\n",
        "plt.xlabel('x')\n",
        "plt.ylabel('y')\n",
        "plt.legend()\n",
        "plt.grid(True)\n",
        "plt.show()"
      ],
      "metadata": {
        "id": "7eKt8IiThvzq"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "\n",
        "> *Challenge by Gemini.* Decipher this astonishing, beautiful code: let Colab  explain it and write your own conclusions.\n",
        "\n",
        "> *Challenge .*  Run the program. By looking at the presented graph, decide whether our tricks are trustable. The graphic shows the fifth trick: the logarithm of $1-x$ can be approximated by its tangent line when $x$ is very small and, indeed, not too small. Do you consider that testing our beliefs, our tricks, converts mathematics into a Science?\n",
        "\n",
        "\n",
        "> *Exercise. We found an approximation to $ln(1-x)$ in the vicinity of zero by algebraic trickery. But our last result simply says that the curve of the logarithm can be approximated by the tangent line. So, use derivatives to find the tangent line at zero to $ln(1-x)$ and verify that is equation is $y = -x$, such as we have found. Our proof can be found somewhere below.\n",
        "\n",
        "Let carry now an obligatory test: all probabilities must add to 1.\n",
        "\n",
        "# THE MONKEY THEOREM FOR INFINITE TIME\n",
        "\n",
        "This theorem is an interpretation of a result that comes as a check for our procedures.\n",
        "\n",
        "> *Test.* We have said that the probability of finding success for the first time after $k$ failures is $(1-p)^k p$. To interpret these terms as probabilities, all terms must be positive and their sum over all $k$ must be 1. Is that true? Yes, it is.\n",
        "\n",
        "> *Monkey theorem for infinite time.* The sum of all probabilities is 1:\n",
        ">> $p + (1-p)p + (1-p)^2 p + (1-p)^3 p + ... = 1 $.\n",
        ">>\n",
        ">> In words: when time is unbounded, a moment will come when the monkey succeeds and it will produce whatever artwork you need, no matter how complex it could be.\n",
        ">\n",
        "> Proof. $p + (1-p)p + (1-p)^2 p + (1-p)^3 p + ... $\n",
        ">>\n",
        ">> $= p[1 + (1-p) + (1-p)^2 + (1-p)^3 + ...  ] $\n",
        ">>\n",
        "> Since $0 < p < 1$, then multiplying by -1, we get\n",
        ">\n",
        "> $0 > - p > -1$ or\n",
        ">\n",
        "> $-1 < -p < 0$. In words: since $p$ is in within 0 and 1, then $-p$ is in within -1 and 0.  Adding 1 to all sides, we get    \n",
        ">\n",
        "> $0 < 1-p < 1$.\n",
        ">\n",
        "> So, we have the right to rename $(1-p)$ as $r$  and apply the formula  of trick 2, which is:\n",
        ">>\n",
        ">> $1+r+r^2 +... = \\frac{1  }{1-r}  $.\n",
        ">\n",
        "> We get\n",
        ">\n",
        ">> $p[1 + (1-p) + (1-p)^2 + (1-p)^3 + ...  ] $\n",
        ">>\n",
        ">>  $ = p \\frac{1 }{1-(1-p)} $\n",
        ">>\n",
        ">> $=  \\frac{p }{1-1+p}  $\n",
        ">>\n",
        ">> $=  p \\frac{1}{ p} $\n",
        ">>\n",
        ">> $= 1$\n",
        ">>\n",
        "> this shows that the sum of probabilities is 1. Therefore, no normalization constant is necessary, and we conclude that the terms $(1-p)^k p$ are probabilities per se.\n",
        ">\n",
        "> Interpretation: With probability 1, with any alphabet, with any probability $ 0 < p < 1 $, the monkey will succeed at some trial and fill the task of hitting the target key, which may correspond with a  predefined extremely complex and long text.\n",
        "\n",
        "\n",
        "> *Exercise.* Resolve the following problem.  The monkey can fail at the first trial, and at the second, and at the third, and forever and ever. This is not excluded because the probability of failure is not nil, and after each failure, the monkey must begin all anew. Therefore, the probability of success cannot be one.\n",
        ">>\n",
        ">> *Answer.* The monkey will succeed with probability one but we cannot make it sure that that will happen in finite time. In fact, there is no contradiction because if you fail forever and ever, you has not as yet reached infinite, which is a bit beyond. If you love rigor, you shall deal with the definition of probability  for classes of sequences with finite and infinite members.\n",
        "\n",
        "In conclusion, if we have infinite time to make trials, success must meet us, even at infinite. But, what happens if our time is bounded? Actually, is time bounded?\n",
        "\n",
        "\n",
        "\n",
        "# TIME IS LIMITED\n",
        "\n",
        "\n",
        "The great abundance of diverse radioactive materials on Earth, which unceasingly disintegrate, forces us to conclude that our planet has formed very recently. Generally accepted estimations pose a bound at 5000 million years and at three more times for the entire universe.  This is too much compared with our span of life, but is that enough to explain our DNA by mere randomness? To study this question, let us specify much better what the problem that randomness must solve is.\n",
        "\n",
        "## The Reduced DNA Problem\n",
        "\n",
        "We have said that our DNA has more than 3000 million chars. To consider that randomness could be an explanation for that information, we must take into account that, in the presumed prebiotic milieu in ancestral seas, molecules were created and destroyed, and  combined and recombined at every instant. So, they worked in parallel to solve our problem. This means that the short substrings -not too short- were synthesized and later joined into chromosomes inside vesicles. Let us propose that the average length of those chunks was 1000.\n",
        "\n",
        "> *The Reduced DNA Problem reads now:*\n",
        ">>\n",
        ">> Device a mechanism  that must operate during less than 5000 million years to reproduce and explain the information contained in a DNA string of length 1000 written with an alphabet of four letters.\n",
        "\n",
        "We will not specify that information because there is a great variety among the many forms of DNA. It is an anonymous DNA chunk.\n",
        "\n",
        "> *Exercise.* Calculate the $p$ associated to our Reduced DNA Problem of synthesizing a string 1000 bases long.\n",
        ">>\n",
        ">> Answer. In each site we can posit anyone of four chars, and since  events are independent, we have a chained multiplication, whose result is $4^{1000} = (10^{0.61})^{1000} = 10^{610}$. This is a 10 followed by 609 zeroes. Therefore, the associated probability has a value of\n",
        ">>\n",
        ">>> $p = \\frac{1}{10^{610}} = 1 \\times 10^{-610}$\n",
        "\n",
        "> > *Protest.* This probability is too low. It has its origin in the length of the average strings in the presumed prebiotic soup that was present 3.8 billion years ago. Therefore, it is wiser to assign that length a value of 100 characters. The reason is that it is much better to do not despise the potential for parallel work of the prebiotic soup together with the multiplicity of substrings that could lead to the same function, once they were inserted into cells.\n",
        ">>\n",
        ">> *Answer.* OK, let the task be to synthesize a DNA substring 100 bases long. The associated number of options is\n",
        ">>\n",
        ">> $4^{100} = (10^{0.61})^{100} = 10^{61}$\n",
        ">>\n",
        "> that is a 10 followed by 60 zeroes. And the corresponding probability is\n",
        ">>\n",
        ">> $p = \\frac{1}{10^{61}} = 1 \\times 10^{-61}$\n",
        "\n",
        "Let us now make observable predictions of our theory to compare them with our bounds. The first candidate for an observable is the average number of trials that must be done before the first success.\n",
        "\n",
        "## The Expected value of the Geometric Distribution\n",
        "\n",
        "Let us calculate the average number of trials that the monkey must do before success, given that $p = 1 \\times 10^{-61}$.\n",
        "\n",
        "The probability of ending the task after $k$ failures is\n",
        ">\n",
        "> $ p(X=k) = p_k =  (1-p)^k p$\n",
        ">\n",
        "The expected value is\n",
        ">\n",
        "> $E(X) = \\sum_{k =0}^{\\infty}  kp_k = \\sum_{k =0}^{\\infty} k(1-p)^k p $\n",
        ">>\n",
        ">> $ =  \\sum_{k =1}^{\\infty} kp(1-p)^k $\n",
        ">>\n",
        ">> $ =  p(1-p) \\sum_{k=1}^{\\infty} k(1-p)^{k-1} $\n",
        ">>\n",
        ">>  $ = p(1-p) [1+ 2(1-p)  + 3(1-p)^2 + ... ]$\n",
        ">>\n",
        "The series  was found before in trick 3:\n",
        ">>\n",
        ">>  $a + 2ar + 3 ar^2 + ... = a(1-r)^{-2}$\n",
        ">>\n",
        " If $a = 1$, we get\n",
        ">>\n",
        ">> $1 + 2r + 3 r^2 + ... = (1-r)^{-2}$\n",
        "\n",
        "\n",
        "So, let be   $r = 1-p$. The result is\n",
        ">\n",
        "> $E(X) = p(1-p)[(1- (1-p))^{-2}] $\n",
        ">>\n",
        ">> $=  p(1-p)(1- 1+p)^{-2} $\n",
        ">>\n",
        ">> $=  p(1-p)(p)^{-2} $\n",
        ">>\n",
        ">> $ = \\frac{p(1-p)}{p^2} $\n",
        ">>\n",
        "> We end with\n",
        ">\n",
        ">> $E(X) = \\frac{1-p}{p} $\n",
        "\n",
        "\n",
        "\n",
        "> *Example.* If $p =   10^{-61}$ then the average number of failures that the monkey must commit to fulfill its task and solve our reduced DNA problem is\n",
        ">>\n",
        ">> $E(X) = \\frac{1-p}{p}  = \\frac{1 - 10^{-61}}{10^{-61}} $\n",
        ">>\n",
        ">> $ = \\frac{1 }{10^{-61}} = 10^{61}$\n",
        ">>\n",
        "> How long does it takes?\n",
        ">\n",
        "> Let us imagine that one trial lasts 1 millisecond. Then, the number of trials $N$ in 5000 million years is:\n",
        ">\n",
        ">> $N = 1000 \\times 60 \\times 60 \\times 24 \\times 365 \\times 5000 \\times 1000000 $\n",
        ">>\n",
        ">> $= 6 \\times 6 \\times 24 \\times 365 \\times 5 \\times 100000 \\times 1000 \\times 1000000 $\n",
        ">>\n",
        ">> $= 1576800 \\times   100000 \\times 1000 \\times 1000000 $\n",
        ">>\n",
        ">> $= 15768 \\times 10^{16} $\n",
        ">>\n",
        ">> $= 20000 \\times 10^{16} $\n",
        ">>\n",
        ">> $= 2 \\times 10^{20} $\n",
        "\n",
        "this is a 2 followed by 20 zeroes.\n",
        "\n",
        "The relation $R$ between the average number of possible trials to that of the necessary ones is\n",
        "\n",
        ">> $R = \\frac{2 \\times 10^{20}}{10^{61}} = \\frac{2}{10^{41}} = \\frac{1}{10^{40}} = 10^{-40}$\n",
        "\n",
        "That is why everybody looks for alternative explanations of our existence apart from  randomness.\n",
        "\n",
        "\n",
        "> *Exercise.* Since there is no reason to suppose that life arouse by mere randomness in the Earth, study the possibility of life being a cosmic phenomenon that migrated to the earth.\n",
        ">>\n",
        ">> *Answer.* The change is irrelevant because time is enlarged only trice. The new $R$ will be $10^{-39}$.\n",
        "\n",
        "> *Protest.* These calculations are right but their merit is only academic because Science does not reject theories by working on average values but on significances, and that accepted by default is 0.05.\n",
        ">>\n",
        ">> *Answer.* The protest is right. It is justified by the fact that the distribution extends until infinite and henceforth the variance must be very  large. This means that the  predictive power  of the average value is questionable, and success can happen far away from the mean.  \n",
        "\n",
        "So, let us turn to significances.\n",
        "\n",
        "## The cumulative distribution function\n",
        "\n",
        "Significances are treated in all generality by the cumulative distribution function. So, let us see what it consists of.\n",
        "\n",
        "- The monkey can succeed at the first trial with probability $p$.\n",
        "\n",
        "- If not, it can succeed in the second trial with probability $(1-p)p$. Adding, the monkey has cumulated  a probability of $p + (1-p)p $\n",
        "\n",
        "- If not, it can succeed in the third trial with probability $(1-p)^2p$. Adding, the monkey has cumulated a probability of $p + (1-p)p +  (1-p)^2p $\n",
        "\n",
        "And so on. How much probability has the monkey cumulated until trial $n$?\n",
        "\n",
        "We need to calculate the general formulae.\n",
        "\n",
        "> *Definition.* If $X$ is a  Random Variable, we define its **cumulative distribution function $F$** by\n",
        ">\n",
        "> $F_X(k) = P(X \\le n)$\n",
        ">\n",
        "> that represents the cumulated probability until trial $n$ included.\n",
        "\n",
        "Let us calculate the value of the cumulative distribution function for the Geometric Random Variable $X$\n",
        ">\n",
        "> $F_X(n) = P(X \\le n) $\n",
        ">>\n",
        ">> $ = \\sum_{x=0}^n(1-p)^x p$\n",
        ">>\n",
        ">> $ = p\\sum_{x=0}^n(1-p)^x $\n",
        ">>\n",
        ">> $ = p (1 + (1-p)^1 + (1-p)^2 +...+ (1-p)^n)$\n",
        ">>\n",
        "We see a  finite geometric progression that we found in trick 1:\n",
        ">\n",
        "> $(1+r+r^2 +... r^n)  = \\frac{1 -r^{n+1}}{1-r} $\n",
        "\n",
        "Let us set $r = (1-p)$, we get\n",
        ">\n",
        "> $ F_X(n)  = p (\\frac{1 -(1-p)^{n+1}}{1-(1-p)} )$\n",
        ">\n",
        "> $= p (\\frac{1 -(1-p)^{n+1}}{p} )$\n",
        ">\n",
        "> Simplifying,\n",
        ">\n",
        "> $F_X(n)  =  1 -(1-p)^{n+1} $\n",
        "\n",
        "> *Example.* How much probability has the monkey cumulated until the expected value of failures before success?\n",
        ">>\n",
        ">> The expected value of the Geometric Random Variable $X$  is the average number of failures before success:\n",
        ">>\n",
        ">> $E(X) = n =  \\frac{1-p}{p}$,\n",
        ">>\n",
        ">> and for $p$ very small, this becomes\n",
        ">>\n",
        ">> $n = \\frac{1}{p}$\n",
        ">>\n",
        ">> The cumulative distribution function is\n",
        ">>\n",
        ">> $F_X(n)  =  1 -(1-p)^{1 + 1/p} $\n",
        ">>\n",
        ">> If $p = 10^{-61}$, we get the expected value $n = 1/p = 10^{61}$\n",
        ">>\n",
        ">> The cumulative distribution function becomes\n",
        ">>\n",
        ">> $F_X(n)  =  1 -(1-10^{-61})^{1 + 10^{61}} $\n",
        ">>\n",
        ">> $F_X(n)  =  1 -(1-10^{-61})^{10^{61}} $\n",
        ">>\n",
        ">> $F_X(n)  =  1 -(1-\\frac{1}{10^{61}})^{10^{61}} $\n",
        ">>\n",
        ">> Can we expand the binomial and take the linear terms? We would apply the formula\n",
        ">>\n",
        ">> $(a+b)^n = a^n + na^{n-1}b$\n",
        ">>\n",
        ">> If we do that with $a = 1$, $n = {10^{61}}$ and $b = -\\frac{1}{10^{61}}$ we obtain:\n",
        ">>\n",
        ">> $(1-\\frac{1}{10^{61}})^{10^{61}} = 1 + {10^{61}} \\times (-\\frac{1}{10^{61}})$\n",
        ">>\n",
        ">>> $ = 1 - 1 = 0$,\n",
        ">>\n",
        "> which implies that $F_X(n)  =  1 -0 = 1$. This would say that the cumulated probability until the mean is 1 and that, therefore, further terms do not count. That is false because the geometric distribution never gets zero in spite of the fact that it is strongly decreasing. Therefore, we cannot approximate the aforementioned binomial by the first term because the second and the third and the fourth terms will not be comparatively small. We must enlarge the expansion taking many terms. In the next lines, we will take an infinite expansion:\n",
        "\n",
        ">> $F_X(n)  =  1 -(1-\\frac{1}{10^{61}})^{10^{61}}  =  1 - lim_{n \\to \\infty} (1-\\frac{1}{n})^{n} $\n",
        ">>\n",
        ">>> $ = 1- \\frac{1}{e} = 1- \\frac{1}{2.7172} = 1 - 0.368 = 0.632$\n",
        ">\n",
        "> where we have used trick  7 that says:\n",
        ">\n",
        ">  $lim_{n \\to \\infty} (1-\\frac{1}{n})^{n}  = 1/e = 1/2.71 = 0.63$\n",
        "\n",
        "\n",
        "> *Complaint.*   Too many tricks were used to derive the last result. How can we make certain that the result is correct?\n",
        ">>\n",
        ">> *Answer.* We made an exploration with a spreadsheet:\n",
        ">>\n",
        ">> We evaluated   $F_X(n)  =  1 -(1-p)^{1 + 1/p} $ for values of $p$  between $0.1$ and $1E-15 = 10^{-15}$, in powers of $10$. The   rendered values up to 2 significant figures of $F$  were $0.63$ everywhere. Since for us this result was impressive, we considered that it might also be impressive for the Reader. So, we asked Colab to develop the corresponding code:\n",
        ">>>\n",
        ">>> The code to produce a table of the value of the function $f(p) = 1 -(1-p)^{1 + 1/p}$ for values of $p = 0.1$, and diminishing by powers of ten until $p = 1E-15 = 10^{-15}$ or, if possible, beyond.\n",
        ">>\n",
        ">> Gemini answer with the following code, and later offer the possibility of making a graph.\n"
      ],
      "metadata": {
        "id": "d2G6nGzKhwx7"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import pandas as pd\n",
        "import numpy as np\n",
        "\n",
        "# Define the function\n",
        "def f(p):\n",
        "  return 1 - (1 - p)**(1 + 1/p)\n",
        "\n",
        "# Create a list of p values\n",
        "p_values = [10**(-i) for i in range(1, 16)]\n",
        "\n",
        "# Calculate the function value for each p\n",
        "results = {'p': p_values, 'f(p)': [f(p) for p in p_values]}\n",
        "\n",
        "# Create a pandas DataFrame\n",
        "df = pd.DataFrame(results)\n",
        "\n",
        "# Set pandas display options to show more decimal places if needed\n",
        "pd.options.display.float_format = '{:.10f}'.format\n",
        "\n",
        "# Display the table\n",
        "display(df)"
      ],
      "metadata": {
        "id": "zXpBameWLNQ3"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "source": [
        "from matplotlib import pyplot as plt\n",
        "df['f(p)'].plot(kind='line', figsize=(8, 4), title='f(p)')\n",
        "plt.gca().spines[['top', 'right']].set_visible(False)"
      ],
      "cell_type": "code",
      "metadata": {
        "id": "zR7r_hV4M8F7"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "\n",
        "> *Exercise.* Explain the implications of the previous result.\n",
        ">>\n",
        ">> *Answer.* The result says:\n",
        ">>\n",
        ">>> The cumulated probability until the expected value was $0.63$ and was nearly independent of the value of the probability.\n",
        ">>\n",
        ">> Let us consider two points to apply the result:\n",
        ">>\n",
        ">> - This is a high value and it predicts that if we make many repetitions with several trials, in which we may reach the mean, we will succeed on time $63\\%$ of the times. So, the expected value has not bad predictive power.\n",
        ">>\n",
        ">> - The probability of not-succeeding is also very high, $0.37$, so it is no  marvel if arriving to the expected value produces nothing.\n",
        "\n",
        "> *Challenge.* We have found that the cumulative probability of a Geometric Random Variable until the expected value is $0.63$ and is nearly independent of the value of the small probability of success. Surprisingly, it is also valid for not too small values of that probability. Explain why.\n",
        "\n",
        "> *Exercise.* Calculate the number of necessary failures before succeeding with a cumulated probability of 0.05 when $p = 10^{-61}$.\n",
        ">>\n",
        ">> *Answer.* We must equate $F_X(n) $ to $0.05$ and clear for  $n$.\n",
        ">>\n",
        ">> $F_X(n)  =  1 -(1-p)^{1 + n}  = 0.05$\n",
        ">>\n",
        ">> We cannot approximate $(1-p)$ by 1 because we would get $0 = -0.05$. We must go by a longer path. Passing 1 to the right side\n",
        ">>\n",
        ">> $ -(1-p)^{1 + n}  = -1 + 0.05$\n",
        ">>\n",
        ">> $ (1-p)^{1 + n}  = 1 - 0.05 = 0.95$\n",
        ">>\n",
        ">> Taking natural logarithms of positive numbers, we get\n",
        ">>\n",
        ">> $ln( (1-p)^{1 + n} ) = ln(0.95) = -0.051293294$\n",
        ">>\n",
        ">> $(1+n)ln( (1-p) ) = -0.051293294$\n",
        ">>\n",
        "> Because $p$ is so small, $1-p$ is in the close vicinity of 1 and henceforth, the first term of the series suffices. This can be found by the tangent line, which results from the derivative of $ln(1-x)$ at $x= 0$:\n",
        ">>\n",
        ">> $\\frac{d(ln(1-x)) }{dx}= \\frac{-1}{1-x}$\n",
        ">\n",
        ">  The tangent line has the form $y = mx + b$. The slope of the tangent line $m$ at the graph of the function $ln(1-x)$ at $x = 0$ is\n",
        ">>\n",
        ">> $m =\\frac{-1}{1-x} = -1 $\n",
        ">>\n",
        "> To know the value of $b$, we replace $x= 0$. According to $ln(1-x)$, the value must be $0$, according to the tangent line it is $-x + b$, from which we deduce that $b= 0$. This means that the equation of the tangent line is $y = -x$. Therefore, the series of $ln(1-x)$ in the vicinity of $x=0$ up to the first term is\n",
        ">>\n",
        ">>$ln(1-x) = -x$\n",
        ">\n",
        ">>Hence\n",
        ">\n",
        "> $(1+n)ln( 1-p )   = -0.051293294$\n",
        ">\n",
        "> becomes\n",
        ">>\n",
        ">> $(1+n)( -p )   = -0.051293294$\n",
        ">>\n",
        ">> $(1+n)( p )   = 0.051293294$\n",
        ">>\n",
        ">> $(1+n)    = \\frac{0.051293294}{p}$\n",
        ">>\n",
        ">> $n   = \\frac{0.051293294}{p} -1$\n",
        ">>\n",
        ">Since $p = 10^{-61}$ we have at last:\n",
        ">>\n",
        ">> $n   = \\frac{0.051293294}{10^{-61}} -1$\n",
        ">>\n",
        ">> $n   =  0.051293294 \\times 10^{61} -1$\n",
        ">>\n",
        ">> $n   =  \\frac{1}{20} \\times 10^{61} $\n",
        ">>\n",
        ">> $n   =   10^{59} $\n",
        ">\n",
        "> This is a 10 followed by 58 zeroes.\n",
        "\n",
        "\n",
        "Therefore, our scientific result reads: to cumulate a significance of $0.05$, the monkey needs to commit, on average, $10^{59} $ failures before the first success.\n",
        "\n",
        "> *Challenge.* Calculate the number of necessary failures before succeeding with a cumulated probability of 0.95 when $p = 10^{-61}$.\n",
        "\n",
        "# THE MONKEY THEOREM FOR A SHORT SPAN OF TIME\n",
        "\n",
        "\n",
        "Let us calculate the cumulated probability of success for the age of the Earth, which is 5000 million years.\n",
        "\n",
        "> *Monkey Theorem for the EARTH.*\n",
        ">>\n",
        ">> The cumulated probability of success during the age of the Earth is experimental zero. What is that?\n",
        ">>\n",
        ">> *Definition.* **Experimental zero** is the non-zero probability of an event that is so small that no feasible experiment can demonstrate that it is possible.\n",
        "\n",
        "> *Proof.* The number of trials that can be run during 5000 million years is $n = 2 \\times 10^{20}$. Hence\n",
        ">>\n",
        ">> $F_X(n) = 1-(1-p)^{n+1}$\n",
        ">>>\n",
        ">>> $= 1-(1-p)^{2 \\times 10^{20}+1} $\n",
        ">>>\n",
        ">>> $= 1-(1-p)^{2 \\times 10^{20}} $\n",
        ">>>\n",
        "> Since $p = 10^{-61}$,\n",
        ">>\n",
        ">> $F_X(n) = 1 - (1 - 10^{-61})^{  2 \\times 10^{20} }$\n",
        ">>\n",
        ">\n",
        "> Using the binomial expansion for small $b$ up to linear terms:\n",
        ">>\n",
        ">> $(a+b)^n = a^n + na^{n-1}b$\n",
        ">>\n",
        ">> we get\n",
        ">>\n",
        ">> $F_X(n) = 1 - (1 +  2 \\times 10^{20}(- 10^{-61}) )$\n",
        ">>\n",
        ">> $F_X(n) = 1 - (1 -  2 \\times 10^{20}( 10^{-61}) )$\n",
        ">>\n",
        ">> $F_X(n) = 1 - 1 + 2 \\times 10^{20}( 10^{-61}) $\n",
        ">>\n",
        ">> $F_X(n) =   2 \\times 10^{20}( 10^{-61}) $\n",
        ">>\n",
        ">> $F_X(n) =   2 \\times  10^{-41}$\n",
        "\n",
        "This result says that randomness might be an explanation of life on Earth, but no feasible experiment can support that. Rather, this result strongly claims for inventing and testing other explanations.\n",
        "\n",
        "> *Strong protest.* Our planet is our home. And this result says that  randomness, the simplest explanation of our existence in this planet, does not function. This a mathematical result that is dubious because  we have seen earlier that when large exponents are present in a binomial, an expansion up to the linear terms is misleading. So, it is mandatory to carry out the full expansion to see what the correct result is.\n",
        ">>\n",
        ">> *Answer.* The proposed test is mandatory given the seriousness of the question. So, let us follow the advice:\n",
        ">>\n",
        ">> $(a+b)^n = a^n + na^{n-1}b + \\frac{n(n-1)}{2}a^{n-2}b^2 +  \\frac{n(n-1)(n-2)}{2 \\times 3}a^{n-3}b^3 +  \\frac{n(n-1)(n-2)(n-3)}{2 \\times 3 \\times 4}a^{n-4}b^4  +...+  \\frac{n(n-1)(n-2)(n-3)(n-4)...(n-k+1)}{k!}a^{n-k}b^k+ ...$  \n",
        ">>\n",
        ">> Here $a = 1$, $b = -1/n$ and the exponent is $m$. The minus sign of $b$ says that the signs will alternate in the expansion.\n",
        ">>\n",
        ">> $ (1 - 1/n)^m = 1 - m (1/n) + \\frac{m(m-1)}{2} (1/n)^2  -   \\frac{m(m-1)(m-2)}{3!} (1/n)^3 + ...$\n",
        ">>\n",
        ">> Replacing $n = 10^{61}$ and $m = 2 \\times  10^{20} = 10^{21}$, we have:\n",
        ">>>\n",
        ">>>  $ (1 - 1/10^{61})^{10^{21}} = 1 - (10^{21}) (1/10^{61}) + \\frac{(10^{21}) (10^{21}) }{2} (1/10^{61})^2  -   \\frac{(10^{21})(10^{21})(10^{21}) }{3!} (1/10^{61})^3 + ...$\n",
        ">>>\n",
        ">>> $ = 1 - 1/10^{40} + \\frac{1}{2} \\frac{10^{42}}{10^{122}} - \\frac{1}{6} \\frac{10^{63}}{10^{183}} +  ...$\n",
        ">>>\n",
        ">>> $ = 1 - 1/10^{40} + \\frac{1}{2} \\frac{1 }{10^{80}} - \\frac{1}{6} \\frac{1 }{10^{120}} +  ...$\n",
        ">>\n",
        ">> At last, we get:\n",
        ">>\n",
        ">>  $ (1 - 1/10^{61})^{10^{21}} =  1 - 1/10^{40}$\n",
        ">>\n",
        ">> Therefore, the cumulated probability of success for the age of the Earth is:\n",
        ">>\n",
        ">>> $F_X(n)  = 1 - (1 - 10^{-61})^{  2 \\times 10^{20} } $\n",
        ">>>\n",
        ">>> $F_X(n)  = 1 - (  1 - 1/10^{40}) $\n",
        ">>>\n",
        ">>> $F_X(n)  =  1/10^{40} $\n",
        "\n",
        "So, $F_X(n) $ is experimental zero because no feasible experiment can reproduce the claimed result that a DNA stroke of a genome 100 bases long can be synthesized by randomness.\n",
        "\n",
        ">> *Recommendation.* To explain the origin of life, Science recommends to invent another proposals apart from mere randomness. If no other acceptable explanation exists, randomness could be taken as the correct explanation no matter how low its probabilities are. In any case, Science emphasizes that beliefs are human responsibilities alone. Dogmatic beliefs do not belong in the realm of Science.\n",
        "\n",
        "# The anger of experimentalists\n",
        "\n",
        "While many people enjoy thinking, many people long for experimental tests in a lab. So, they might be very discontent with our lack of tests that are appropriate for them:\n",
        "\n",
        "> *Protest.* Stop lucubrating. Instead,  predict really observable results. The matter is that predicting numbers of failures in the order of $10^{50}$ is just a mental work. We cannot wait till that to see that small DNA strokes with a predefined sequence arise by mere randomness. And testing mathematical results with simulations is a sort of experimental mental science. What we urgently need is a connection with a laboratory.\n",
        "\n",
        "> *Answer.* The protest is right. So, let us consider the following two ideas.\n",
        "The first deals with the ancestral seas, the second with some predictions for high probabilities, i.e., extremely short sequences.\n",
        "\n",
        "## Sediments in ancestral seas.\n",
        "\n",
        "The most robust observable of the geometric distribution for small $p$ is the excessive quantity of failures that the monkey commits before its first success. In ordinary words, this says: randomness is tremendously inefficient and produces too much garbage. Predicted garbage in astronomical quantities is our scientific observable: **Garbage is the signature of randomness.**\n",
        "\n",
        "Garbage must be observed in the prebiotic molecular fossil record in great quantities. But, where?\n",
        "\n",
        "Randomness to be interesting in regard to  the present discussion must predict that  prebiotic seas can synthesize DNA molecules at very high velocity. It seems to us that this cannot happen without efficient catalysis, which must be done by complex molecules. This implies that the ancestral seas should have been very vivid chemical reactors that synthesize every type of molecules. Can we expect to find some of those molecules? Yes, we can.\n",
        "\n",
        "Some molecules are labile, others are more robust, and others are nearly indestructible. These last have become a problem for modern industry.  A case is that of PFASs (polyfluoroalkyl substances) with some 10000 different exponents, such as it can be seen in\n",
        "\n",
        "> Courtney Lindwall, Molly M. Ginty, NRDC (2025)\n",
        ">\n",
        "> https://www.nrdc.org/stories/forever-chemicals-called-pfas-show-your-food-clothes-and-home\n",
        "\n",
        "This case  is very interesting because recently a simple cure was found, although it cannot be scaled to solve ubiquitous environmental problems:\n",
        "\n",
        "> Yang, L., Chen, Z., Goult, C.A. et al. Phosphate-enabled mechanochemical PFAS destruction for fluoride reuse. Nature 640, 100–106 (2025). https://doi.org/10.1038/s41586-025-08698-5\n",
        "\n",
        "Therefore, we have a robust, mandatory prediction that must be fulfilled: the sediments of ancestral seas must be filled with forever chemicals.\n",
        "\n",
        "If this happens and the prediction is fulfilled, randomness is a serious candidate to explain our existence.  \n",
        "\n",
        "If this does not happen and the prediction is not fulfilled, if such 'forever chemicals' are not found in sediments of ancestral seas, it means that the catalytic power of ancestral seas is negligible, and so, randomness is not very powerful. But, beware, randomness could be lucky and synthesize all what is needed in some few attempts. In this sense, randomness cannot be falsified, rejected. But, if we adhere to the default criterion of science, that decrees that events become interesting when their probability is 0.05 or higher, then, randomness is no option for Science.\n",
        "\n",
        "> *Exercise.* Inquire over the sediments in ancestral seas. Do they contain signal of prebiotic chemicals?\n",
        ">\n",
        "> *Answer.* To the best of our knowledge, there is no trace of prebiotic chemicals in the sediments of ancestral seas, some of which are now exposed to view because the terrains were uplifted by cataclysms. This happens, for instance, in the region of Ráquira and Villa de Leyva in Boyacá, Colombia, where trilobites abound, which are of very recent origin, 600 millions years ago. The sediments we speak about must be found deeper corresponding to 2, 3 or 4 thousand millions years of antiquity.\n",
        "\n",
        "## Predictions related to high probabilities\n",
        "\n",
        "Short sequences are associated with high probabilities. For instance, a string 5 bases long has $p = 4^{-5} = 0.001$, which is very high. This opens the possibility for experimentation.\n",
        "\n",
        "The techniques of Molecular Biology are very well-developed. So, it is possible to synthesize DNA on such large scales that the genome of a bacterium was re-concatenated many years ago. For lovers of those techniques, we have a mathematical prediction that is both feasible and challenging. It is feasible because it includes tasks of low complexity, and it is challenging because it contains tasks of high complexity. And in any case, the prediction can be adjusted to the real possibilities of the interested lab.\n",
        "\n",
        "Let us proceed.\n",
        "\n",
        "The alphabet of DNA consists of four letters ATCG so, a string $n$ chars long has $4^n$ diverse variants. The corresponding probability is therefore $p = 4^{-n}$. We are dealing with a geometric random variable describing the process of trial and error. According to our formulae, the expected value $E(X) $ of the number of failure before the first success is\n",
        "\n",
        "> $E(X) = \\frac{1-p}{p}$\n",
        "\n",
        "In terms of $n$, this becomes:\n",
        "\n",
        "> $E(X) = \\frac{1-4^{-n}}{4^{-n}} = (1-4^{-n}) (4^n)  = 4^n -1$\n",
        "\n",
        "In our previous work, $E(X) $ was interpreted as the number of failures before the first success. If we count the additional trial in which success appeared, we must add 1. In this way, we get a prediction for the lovers of molecular biology:\n",
        "\n",
        "> *Prediction.* The average number  of trials that must be done to synthesize at random a predefined DNA chain of length $n$ is $4^n$. This is an exponential function, hence, anyone trying to test it must carefully choose the length $n$ of his or her strings. It could be as low as $n = 5$ giving $4^{5} = 1024$ trials , or as high as $n = 10$ giving $4^{10} = $ 1 million of trials, or even $n = 15$ giving $4^{15} = 100$ million trials.\n",
        "\n",
        "To test the feasibility of our predictions with a simulation, we asked Colab:\n",
        "\n",
        "> The code for a simulation whose task is to match a predefined DNA string of varying length $n$, counting the number of trials to success $O(n)$, and a graphic comparing observed  $O(n)$ with the prediction of the number of trials equal to $p(n) = 4^n$. We suggest to run $n$ from 1 to 15.\n",
        ">\n",
        "> Gemini answered:\n",
        ">>\n",
        ">> I will generate the code to simulate matching DNA strings of varying lengths (1 to 15), record the observed number of trials for each length, calculate the theoretical prediction ($4^n$$4^n$), and plot both the observed and predicted values.\n",
        ">\n",
        "> We agreed, and in response Gemini shared with us the following code that it ran during nearly two hours, almost an eternity. That is why we say the **the signature of randomness is garbage**, producing too many products that demand time and resources to be synthesized but that are useless for the predefined task. More than 2000 millions  of  strings were generated to fit only 15. The fit of observed with predicted was good enough to inspire satisfaction but was imperfect.\n",
        "\n"
      ],
      "metadata": {
        "id": "9HbM2bQcLNus"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import random\n",
        "import matplotlib.pyplot as plt\n",
        "import numpy as np\n",
        "\n",
        "def generate_random_dna_string(length):\n",
        "  \"\"\"Generates a random DNA string of a given length.\"\"\"\n",
        "  return ''.join(random.choice('ATCG') for _ in range(length))\n",
        "\n",
        "def simulate_dna_matching(target_string):\n",
        "  \"\"\"Simulates attempts to match a target DNA string and returns the number of trials.\"\"\"\n",
        "  trials = 0\n",
        "  while True:\n",
        "    trials += 1\n",
        "    if generate_random_dna_string(len(target_string)) == target_string:\n",
        "      break\n",
        "  return trials\n",
        "\n",
        "# Define the range of string lengths to test\n",
        "string_lengths = range(1, 16)  # From 1 to 15\n",
        "\n",
        "observed_trials = []\n",
        "predicted_trials = []\n",
        "\n",
        "for length in string_lengths:\n",
        "  # Create a target DNA string (e.g., 'A' * length)\n",
        "  target = 'A' * length\n",
        "  # Simulate matching and record the number of trials\n",
        "  observed = simulate_dna_matching(target)\n",
        "  observed_trials.append(observed)\n",
        "  # Calculate the theoretical prediction (4^n)\n",
        "  predicted = 4**length\n",
        "  predicted_trials.append(predicted)\n",
        "\n",
        "# Plot the results\n",
        "plt.figure(figsize=(12, 8))\n",
        "plt.plot(string_lengths, observed_trials, 'o-', label='Observed Trials')\n",
        "plt.plot(string_lengths, predicted_trials, 's-', label='Predicted Trials (4^n)')\n",
        "\n",
        "plt.yscale('log') # Use a logarithmic scale for better visualization of exponential growth\n",
        "\n",
        "plt.title('Observed vs. Predicted Trials to Match a DNA String')\n",
        "plt.xlabel('DNA String Length (n)')\n",
        "plt.ylabel('Number of Trials (log scale)')\n",
        "plt.legend()\n",
        "plt.grid(True)\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 718
        },
        "id": "2t2MNKg29BDs",
        "outputId": "47d47b5a-7998-49cf-ad88-e730b96184f4"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1200x800 with 1 Axes>"
            ],
            "image/png": "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DaJ79+706NEDgNq1a9vqpKSkEBYWxn333cenn36a6fs41cyZM7l69SrPPPMMJpOJMWPG0KNHD44dO2ZrlV+8eDG9evWiVq1afPjhh1y5coUnnniC0qVL3/J1iUghZIiIFHBRUVEGYHTt2vWm9R544AEDMGJiYgzDMIyRI0cagPHAAw+kqffcc88ZgLFz507DMAxj/PjxBmBcvHgx03P/+OOPhoODg/HXX3+l2T558mQDMNavX2/bBhgODg7G3r1709RdunSpARiLFi1Ks71jx45GhQoVsn2tHTt2GIDx3HPPpanXt29fAzBGjhyZ6esxDMOYMmWKARi7d+9Os7169erG/fffbyuHhoYanTp1uum5sgMwnnjiCePixYvGhQsXjL///tto3bq1ARhjx441DMMwVq9ebQBGhQoVjPj4eNuxFovFCAkJMcLCwgyLxWLbHh8fb5QvX95o27atbVu3bt0MNzc348SJE7Zt+/btMxwdHY0b//dZtmxZo3///rbyiBEjDMCYN29euvhTr7tlyxYDMKZOnZpuf27EeCs1atQwWrRokWZbZu/F1H3Xv0euv8+pNm7caADGDz/8YNuW+mxWr15tGIZh/PPPPwZgzJkzJ1vxGoZhdOrUyShbtmy67RMmTDAAY/r06bZtSUlJRpMmTQwvLy/bZzwzLVq0MGrUqGEYhmE0aNDAeOKJJwzDMIwrV64YLi4uxvfff297HdfHndV7MGfOnDT3IFVUVJTh7e1tNG7c2Lh27Vqafde/F1q0aJHunImJiUZgYKDRs2fPm762zOIMCwtL83skM6m/FzP7fXflyhUDMLp3727b1r9/f8PT09MwDMP4/vvv0302AOP5559Pc56kpCSjWLFixltvvWXb1rdvXyM0NPSWMRqGYXz77bcGYLi4uBitWrUy/ve//xl//fWXYTab09S7ePFipr/v+vfvbwDGG2+8keG+69974eHhBmAUK1bMiIyMtG1fsGBBut/btWrVMoKCgoyrV6/atq1Zs8YAMnw/i0jhpi7xIlLgXb16FQBvb++b1kvdn9ptOtWNLU4vvPACAL///jsAfn5+ACxYsCDTSYjmzJlDtWrVqFq1KpcuXbL9pLbarV69Ok39Fi1aUL169TTb7r//fvz9/Zk1a5Zt25UrV1i+fDm9evXK9rVS4x8yZEia62R1Aq8ePXrg5OSUJp49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1atXx9XVlZMnT9K1a1d8fHxsCXuqatWqpZskbdOmTVl+rbfjwIEDXL58mY8++ojgYOus/lu3br3lccHBwTz77LM8++yzDB8+nK+//jrThL1u3brs27cvzbaNGzemuT8LFizg448/ZsOGDdleri279uzZw4MPPpir1xARERGRQiDxqnVSub8ngWEBVx/rpHINHgeHjOePygqzxWD0on3pknUAAzABoxfto231wLu2e7zdZ4kvsDyKWddZvxknV2u9fKBfv374+/vTtWtX/vrrL8LDw1mzZg1Dhgzh1KlTgHU5tI8++ohff/2VAwcO8Nxzz2W4HniqcuXK0b9/fx5//HF+/fVX2zlnz54NWLuhm0wmfvvtNy5evEhsbCze3t688sorvPzyy/z0008cPXqU7du38/nnn9vWln/22Wc5fPgwr776KgcPHmTmzJlpVhXIDWXKlMHFxYXPP/+cY8eOsXDhQt59992bHvPSSy+xdOlSwsPD2b59O6tXr6ZatWqZ1g8LC0uXoFerVo2aNWvafkqXLo2DgwM1a9akSJEiOfb6bnT8+HFOnz6d4RctIiIiIiJZYhiwbyF80Qg2TbQm6zV6wPObodFTd5SsA2wOj0zTDT7d5YGz0QlsDo+8o+vYkxL23OIXDIO3wdN/Zv4zeFuurMF+Ozw8PFi7di1lypShR48eVKtWjSeeeIKEhARbi/vLL7/Mo48+Sv/+/WnSpAne3t507979puedNGkSDz74IM899xxVq1blqaeeIi4uDoDSpUszevRo3njjDUqUKMHgwYMBePfdd3n77bcZP348NWrUoH379ixevJjy5a0zRZYpU4ZffvmFX3/9ldDQUCZPnmxbziy3BAQEMG3aNObMmUP16tX56KOPbN3UM2M2m3n++eepVq0a7du3p3Llynz55ZeZ1u/QoQNOTk6sWLEip8PPtp9++ol27dpRtmxZe4ciIiIiInejKyfgp94w+1G4egaKlINHfoGHpoLPnXdRNwyDvw5fzFLdC1czT+rzO5OR2YxhhURMTAy+vr5ER0en6wqekJBAeHh4mrW5JW9YLBZiYmIy7BJfkE2cOJGFCxfedPb93JaUlERISAgzZ86kadOmGdbJic9GcnIyv//+Ox07dkw3pl4KBj3jgk/PuGDT8y349IwLPrs8Y3MybPwC1nwMKdfAwRnuewmavQzO2Z/j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vvuuo0sSO0pPTzdGjRplREZGGt7e3kaTJk2MZ5991sjNzXV0aVJBK1euLPHP3rvvvtswDMOwWq3GxIkTjdDQUMPLy8vo3bu3sXfvXscWLeVyoTGOj48v9e9fK1eudHTpUkYX+338d40aNTJef/31Kq1RKkb7sIuIiIiIiIg4IS06JyIiIiIiIuKEFNhFREREREREnJACu4iIiIiIiIgTUmAXERERERERcUIK7CIiIiIiIiJOSIFdRERERERExAkpsIuIiIiIiIg4IQV2ERERERERESekwC4iIlJD9OzZk9GjRzu6DIeq6M8gLy+PZs2a8euvv5b5nKVLlxIbG4vVai33+4mIiIACu4iISBH33HMPJpMJk8mEh4cHoaGh9O3blw8++KBY8GrcuDEmk4nff/+9yPHRo0fTs2fPYtc+duwYnp6etG3btky1pKSk8MgjjxAZGYmXlxdhYWH079+ftWvXFvYxmUx8++23Zbre/PnzeeGFF8rU91I4wxcDP//8MyaTiTNnztjleu+88w5RUVFcccUVZT5nwIABeHh48Omnn9qlBhERqXkU2EVERP5mwIABJCQkcPjwYZYsWUKvXr0YNWoUgwcPpqCgoEhfb29vxo8fX6brzp07l5tvvpn09HTWrVt30f433ngjW7Zs4aOPPmLfvn0sWLCAnj17curUqXJ9nry8PACCgoLw8/Mr17kChmEwe/Zs7r///nKfe8899zBr1qxKqEpERGoCBXYREZG/OT+bXb9+fTp27MgzzzzDd999x5IlS5g7d26Rvg899BC///4733///QWvaRgGH374IXfeeSe3334777///gX7nzlzhtWrVzN9+nR69epFo0aN6NKlC08//TRDhw4FbDP8ANdffz0mk6mw/fzzzxMbG8t//vMfoqKi8Pb2BorPfDdu3JiXX36Z++67Dz8/PyIjI3n33XeL1PHrr78SGxuLt7c3nTt35ttvv8VkMhEXF3fhH+IFrFmzhh49euDj40PDhg0ZOXIkWVlZdqvr8OHD9OrVC4A6depgMpm45557Cs+1Wq089dRTBAUFERYWxvPPP3/Bejdt2sTBgwe59tprC48dPnwYk8nE/Pnz6dWrF76+vsTExPDbb78VOXfIkCFs3LiRgwcPVvCnJSIiNZkCu4iISBlcc801xMTEMH/+/CLHo6KiePjhh3n66acv+KzyypUryc7Opk+fPgwfPpzPP/+8SEj9u9q1a1O7dm2+/fZbcnNzS+yzYcMGAD788EMSEhIK2wAHDhzg66+/Zv78+RcM16+99hqdO3dmy5YtPProozzyyCPs3bsXgPT0dIYMGUK7du3YvHkzL7zwQpnvJijNwYMHGTBgADfeeCPbtm3jiy++YM2aNYwYMcJudTVs2JCvv/4agL1795KQkMCbb75Z+PpHH31ErVq1WLduHTNmzGDq1KksX7681JpXr15NixYtSrw74dlnn+WJJ54gLi6OFi1acNtttxW5CyMyMpLQ0FBWr15dsR+YiIjUaArsIiIiZdSqVSsOHz5c7Phzzz1HfHz8BZ9Vfv/997n11ltxc3Ojbdu2NGnShC+//LLU/u7u7sydO5ePPvqIwMBAunfvzjPPPMO2bdsK+9SrVw+AwMBAwsLCCttguw3+448/pkOHDrRv377U9xk0aBCPPvoozZo1Y/z48dStW5eVK1cCMG/ePEwmE++99x7R0dEMHDiQJ598stRrlcW0adO44447GD16NM2bN+eKK65g1qxZfPzxx+Tk5NilLjc3N4KCggAICQkhLCyMgICAwtfbt2/P5MmTad68OXfddRedO3dmxYoVpdZ85MgRIiIiSnztiSee4Nprr6VFixZMmTKFI0eOcODAgSJ9IiIiOHLkSPl/WCIiUuMpsIuIiJSRYRiYTKZix+vVq8cTTzzBpEmTCp8X/6szZ84wf/58hg8fXnhs+PDhF70t/sYbb+TEiRMsWLCAAQMG8PPPP9OxY8dit+WXpFGjRkUCfGn+GuZNJhNhYWEkJycDttnp9u3bF95SD9ClS5eLXvNCtm7dyty5cwvvIKhduzb9+/fHarUSHx9fJXX9/QuM8PDwwmuX5OzZs0Xeq7RrhYeHAxS7lo+PD9nZ2WWuT0RE5Dx3RxcgIiJSXezevZuoqKgSXxs7dixvv/02b7/9drHX5s2bR05ODl27di08ZhgGVquVffv20aJFi1Lf09vbm759+9K3b18mTpzIAw88wOTJk4s8k12SWrVqlekzeXh4FGmbTKZK3YYsMzOTf/7zn4wcObLYa5GRkVVSV3mvXbduXbZv337Ra53/Mufv10pNTS3TlyciIiJ/pxl2ERGRMvjpp5/Yvn07N954Y4mv165dm4kTJ/LSSy+RkZFR5LX333+fcePGERcXV/jP1q1b6dGjBx988EG56oiOji7y7LuHhwcWi6X8H6gMWrZsyfbt24s8Q//X5+QromPHjuzatYtmzZoV+8fT09NudZ2/lj1+Nh06dGDPnj0YhlHuc3Nycjh48CAdOnS45DpERKTmUWAXERH5m9zcXBITEzl+/DibN2/m5ZdfZtiwYQwePJi77rqr1PMeeughAgICmDdvXuGxuLg4Nm/ezAMPPEDbtm2L/HPbbbfx0UcfFdsqDuDUqVNcc801fPLJJ2zbto34+Hi+/PJLZsyYwbBhwwr7NW7cmBUrVpCYmMjp06ft+nO4/fbbsVqtPPTQQ+zevZsffviBV199FaDERwP+KiUlpcgXFHFxcSQlJTF+/Hh+/fVXRowYQVxcHPv37+e7774rtujcpdbVqFEjTCYTixYtIiUlhczMzAr+FKBXr15kZmayc+fOcp/7+++/4+XlRbdu3Sr8/iIiUnMpsIuIiPzN0qVLCQ8Pp3HjxgwYMICVK1cya9YsvvvuO9zc3Eo9z8PDgxdeeKHI4mnvv/8+0dHRtGrVqlj/66+/nuTk5BK3hKtduzZdu3bl9ddf56qrrqJt27ZMnDiRBx98kNmzZxf2e+2111i+fDkNGza0+yyuv78/CxcuJC4ujtjYWJ599lkmTZoEUOoz3efNmzePDh06FPnnvffeo3379vzyyy/s27ePHj160KFDByZNmlTqom4Vrat+/fpMmTKFCRMmEBoaWq4vBP4uODiY66+//oKLCpbms88+44477sDX17fC7y8iIjWXyajI/V0iIiJSI3366afce++9pKWl4ePj4+hyClV2Xdu2baNv374cPHiQ2rVrl+mckydP0rJlSzZu3Fjq2gciIiIXokXnREREpFQff/wxTZo0oX79+mzdupXx48dz8803OzysV3Vd7du3Z/r06cTHx9OuXbsynXP48GHefvtthXUREakwzbCLiIhIqWbMmMHbb79NYmIi4eHhXHfddbz00ksOv8XbWesSERGxJwV2ERERERERESekRedEREREREREnJACu4iIiIiIiIgTUmAXERERERERcUIK7CIiIiIiIiJOSIFdRERERERExAkpsIuIiIiIiIg4IQV2ERERERERESekwC4iIiIiIiLihP4fcVZdkII+mSMAAAAASUVORK5CYII=\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "\n",
        "> *Challenge.* Let Colab explain the code and extract your own conclusions.\n",
        "\n",
        "> *Challenge proposed by Gemini.* Run the previous program with a realizable $n$. Try 8 to see what happens.\n",
        "\n",
        "> *Exercise.* Explain why the graph of the predicted function is almost a straight line when our predictions say that it must be an exponential function.\n",
        ">\n",
        "> *Answer.* The graph looks a bit not straight but this is a visual effect caused by the points produced by the simulation that are not aligned. As one can verify by passing a rule over the screen, the expected function is a straight line. The graphic is shown in a semilogarithmic scale. This means that the horizontal axis is marked by numbers from 1 to 15 in normal scale, but the vertical axis is in logarithmic scale in base 10 because the value of the next tick is not added but multiplied by 100 times.  The   expected value is\n",
        ">>\n",
        ">>  $ E(X) = \\frac{1-p}{p}$.\n",
        ">>\n",
        "> For small $p$ that becomes  \n",
        ">>\n",
        ">> $E(X) = \\frac{1}{p}$.\n",
        ">>\n",
        "> If $p = 4^{-n}$   the expected value becomes an exponential function\n",
        ">>\n",
        ">> $ E(X) = y(n) = \\frac{1-4^{-n}}{4^{-n}} = 4^n$.\n",
        ">>\n",
        ">> if we take logarithm in base 10 at both sides, we get:\n",
        ">>\n",
        ">> $lg (y(n)) = lg (4^n) =  n log 4 =  cn$, where $c = log 4 = 0.6 = 1/2$.\n",
        ">\n",
        "> $lg ( y(n) ) = n/2$\n",
        ">\n",
        "> This equation shows that $n$, in the horizontal axis, is at its own scale, divided by 2, but the vertical axis $y$, the number of failures before the first success, is affected by the logarithm. In any case, the expected function must pass by the points $(4, 1024)$ and $(8, 1000000 = 10^6)$. This is fulfilled.\n",
        "\n",
        "> *Exercise.* Explain why the fitting of the observed to the expected is good but imperfect.\n",
        ">\n",
        ">> *Answer.* Every random variable has a variance and the Geometric one must not be the exception. Nevertheless, the variance of the Geometric Random variable is not high enough to erase its identity, that is why one can register an exponential  cost in the number of failures before  the first success, and we find anyway that the fit is good enough to cause satisfaction.\n",
        "\n",
        "\n",
        "# Graduation\n",
        "\n",
        "Choose one of the following two projects:\n",
        "\n",
        "> *First.* We have seen that there is a good coincidence between what is observed in the simulation and the theoretically expected cost in number of trials to match a string of length $n$. Show that the theoretically expected value  of the number of trials until success determines the limit of a tendency of the points given by the simulation.\n",
        "\n",
        "> *Second.* We have seen that without studying the variance of the Geometric Distribution, we can not be assertive. Gemini offered its guidance to carry out that study. So, using mathematics or the literature, find the variance, and test your predictions with the help of the simulations by Gemini. With your study, you will be able of proposing a more accurate explanation of the fact that the observed is a good fit to the expected but, anyway, imperfect.\n",
        "\n",
        "\n",
        "\n",
        "# Conclusion\n",
        "\n",
        "We have studied the simplest explanation of the existence of DNA: it arises by mere randomness. We cannot deny that this could have happened by a stroke of luck. Nevertheless, we, human beings, prefer to look for other explanations because the probability of such an event is experimental-zero, i.e., it is so low that its reproduction is impossible. The quest for observable predictions led us to predict eternal chemicals in the sediments of ancestral seas and a battle of Molecular Biology to synthesize by mere randomness DNA strings with predefined sequence. The task is so daunting that the synthesis by mere randomness of DNA strings 15 bases long might be a serious challenge for most researchers. Actually, Gemini needed two hours to match predefined strings for length 1, 2,...15.\n"
      ],
      "metadata": {
        "id": "HhOZZ_CYHUjt"
      }
    }
  ]
}