Skip to content

Instantly share code, notes, and snippets.

@sanchezcarlosjr
Last active March 17, 2023 04:25
Show Gist options
  • Save sanchezcarlosjr/a8633fd691febea9c88f3c86aba173d8 to your computer and use it in GitHub Desktop.
Save sanchezcarlosjr/a8633fd691febea9c88f3c86aba173d8 to your computer and use it in GitHub Desktop.
computer-simulations.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"name": "computer-simulations.ipynb",
"collapsed_sections": [
"jUwmSD0CbvtR",
"8_dObuF4cHij",
"4rQqf49vC1iU",
"W9CrdRhcG3M2"
],
"authorship_tag": "ABX9TyPPh7FE+VQRW8JXD4vAVqxP",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/sanchezcarlosjr/a8633fd691febea9c88f3c86aba173d8/computer-simulations-assigment-1.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"source": [
"# Assigment 1"
],
"metadata": {
"id": "OprV4oRvCuNk"
}
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "wBTp7Y48OfuN"
},
"outputs": [],
"source": [
"from functools import reduce\n",
"import random\n",
"import numpy \n",
"from pandas import DataFrame"
]
},
{
"cell_type": "code",
"source": [
"def simulate_frame(values):\n",
" return DataFrame(values,columns=['Result']).value_counts(normalize=True).mul(100).round(1)"
],
"metadata": {
"id": "jUAtbfTjHK1y"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"def simulate(experiment, times):\n",
" return times(experiment)"
],
"metadata": {
"id": "E6Bnco3lOgBF"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"## Flip a coin"
],
"metadata": {
"id": "jUwmSD0CbvtR"
}
},
{
"cell_type": "code",
"source": [
"flips=DataFrame(simulate(lambda: [random.randint(1, 2) for _ in range(0,1)], lambda experiment: [experiment() for _ in range(0,1000)]),columns=['Flips']).value_counts(normalize=True).mul(100).round(1)\n",
"flips.astype(str) + '%'"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "eBeEaNrbaj8S",
"outputId": "ff0d2b7f-7336-410e-8e34-c7cb63e97ef5"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Flips\n",
"1 51.2%\n",
"2 48.8%\n",
"dtype: object"
]
},
"metadata": {},
"execution_count": 101
}
]
},
{
"cell_type": "code",
"source": [
"flips.plot(kind='bar');"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 287
},
"id": "Q1TLdBvlc1H2",
"outputId": "5f2e27b4-e02b-4c7d-abd1-b22b6f452ddb"
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"source": [
"## A dice"
],
"metadata": {
"id": "8_dObuF4cHij"
}
},
{
"cell_type": "code",
"source": [
"dice=DataFrame(simulate(lambda: [random.randint(1, 6) for _ in range(0,1)], lambda experiment: [experiment() for _ in range(0,10000)]),columns=['Dice']).value_counts(normalize=True).mul(100).round(1)\n",
"dice.astype(str) + '%'"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "rYOt79EfcFIi",
"outputId": "f6d46d1a-cdfb-49ee-ebcb-873c14d8079b"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Dice\n",
"1 17.1%\n",
"5 17.1%\n",
"6 16.7%\n",
"2 16.6%\n",
"3 16.6%\n",
"4 15.9%\n",
"dtype: object"
]
},
"metadata": {},
"execution_count": 103
}
]
},
{
"cell_type": "code",
"source": [
"dice.plot(kind='bar');"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 287
},
"id": "UZ-7xtIZc-t4",
"outputId": "6c523775-8630-401e-bc50-fe92c39f1a13"
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"source": [
"## Two dices"
],
"metadata": {
"id": "g_tZdxLRcV_a"
}
},
{
"cell_type": "code",
"source": [
"twodice=DataFrame(simulate(lambda: sum([random.randint(1, 6) for _ in range(0,2)]), lambda experiment: [experiment() for _ in range(0,50000)]),columns=['Two Dice']).value_counts(normalize=True).mul(100).round(1)\n",
"twodice.astype(str) + '%'"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "mlGVIXBscSgY",
"outputId": "e63c7935-e1f8-4744-d013-be45f9035a51"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Two Dice\n",
"7 16.8%\n",
"8 13.8%\n",
"6 13.8%\n",
"9 11.0%\n",
"5 11.0%\n",
"4 8.5%\n",
"10 8.5%\n",
"3 5.6%\n",
"11 5.5%\n",
"12 2.8%\n",
"2 2.6%\n",
"dtype: object"
]
},
"metadata": {},
"execution_count": 5
}
]
},
{
"cell_type": "code",
"source": [
"twodice.plot(kind='bar');"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 293
},
"id": "KSpNad4vdMGw",
"outputId": "8711bcbc-116a-4735-cd47-0cc65f671c83"
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"source": [
"# Assigment 2"
],
"metadata": {
"id": "4rQqf49vC1iU"
}
},
{
"cell_type": "code",
"source": [
"from scipy.stats import rv_discrete\n",
"import numpy as np\n",
" \n",
"x = [0,1,2,3]\n",
"P_x = [0.25,0.5,0.125,0.125]\n",
"X = rv_discrete(name='X', values=(x, P_x))\n",
"print(X.pmf(x))"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "N_OdnkjwC7Qo",
"outputId": "3c5696bb-dc5f-49a6-dc71-8334d04981b7"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"[0.25 0.5 0.125 0.125]\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"np.random.choice([0,1,2,3],p=[0.25,0.5,0.125,0.125], size=(5, 4))"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "2F4wvC1DDZMz",
"outputId": "6492979e-2d8b-4883-ab6b-01cfcbb334e0"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[3, 1, 1, 1],\n",
" [0, 2, 1, 1],\n",
" [1, 2, 1, 0],\n",
" [1, 1, 0, 0],\n",
" [2, 3, 0, 1]])"
]
},
"metadata": {},
"execution_count": 3
}
]
},
{
"cell_type": "code",
"source": [
"import matplotlib.pyplot as plt\n",
"fig, ax = plt.subplots(1, 1)\n",
"ax.plot(x, X.pmf(x), 'ro', ms=12, mec='r')\n",
"ax.vlines(x, 0, X.pmf(x), colors='r', lw=4)\n",
"plt.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 265
},
"id": "y9cFDyxzDwik",
"outputId": "e82a365c-4527-43f9-83d3-0121374939a9"
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"simulate_frame(X.rvs(size=4)) .plot(kind='bar');"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 287
},
"id": "N_RyNFQ8IVyP",
"outputId": "9f45df3f-ffb0-4513-8132-f4611148a78d"
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"simulate_frame(X.rvs(size=16)) .plot(kind='bar');"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 287
},
"id": "iC_Ehh-6PqB0",
"outputId": "1360785e-a72a-4f8f-800a-2d73deb40177"
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"simulate_frame(X.rvs(size=4**3)) .plot(kind='bar');"
],
"metadata": {
"id": "s_fbbIOUP2l3",
"outputId": "37ef7a7f-4aeb-47e7-c8db-9db296202f81",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 287
}
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"simulate_frame(X.rvs(size=4**4)) .plot(kind='bar');"
],
"metadata": {
"id": "uoeb1ZmxP8yq",
"outputId": "ed7905f2-e5df-40ee-adee-8a46906c4987",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 287
}
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"simulate_frame(X.rvs(size=4**12)) .plot(kind='bar');"
],
"metadata": {
"id": "6Mwd4E57QBVB",
"outputId": "c5ab3445-ca00-4e71-fb42-cff9f8aa021d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 287
}
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"source": [
"# Assigment 3"
],
"metadata": {
"id": "W9CrdRhcG3M2"
}
},
{
"cell_type": "code",
"source": [
"import time\n",
"import math\n",
"\n",
"def display(f):\n",
" print(f,end=\",\")\n",
" return f\n",
"\n",
"def rand(seed=lambda: math.floor(time.time()/10000000),a=1,c=2,m=1,period=None):\n",
" period = m if period == None else period\n",
" #Xn+1 = (aXn+c) mod m\n",
" x = lambda n: display((a*x(n-1)+c) % m if n != 0 else seed())\n",
" return x(period-2)"
],
"metadata": {
"id": "AWIvc5ZvG6GQ"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"a."
],
"metadata": {
"id": "41IbsuW0MW7p"
}
},
{
"cell_type": "code",
"source": [
"rand(seed=lambda: 4, a=5, c=7, m=8, period=8)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "FPjD3bBIIPak",
"outputId": "d014ddb4-aa2c-4897-e92a-3cc5394c54a2"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"4,3,6,5,0,7,2,"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"2"
]
},
"metadata": {},
"execution_count": 44
}
]
},
{
"cell_type": "code",
"source": [
"rand(seed=lambda: 4, a=5, c=7, m=8, period=16)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "e0LPmd0xI2FL",
"outputId": "1306576a-7c47-4085-ba47-2727591d7643"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"4,3,6,5,0,7,2,1,4,3,6,5,0,7,2,"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"2"
]
},
"metadata": {},
"execution_count": 45
}
]
},
{
"cell_type": "code",
"source": [
"rand(seed=lambda: 4, a=5, c=7, m=8, period=32)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Vs1KmZDALPnS",
"outputId": "159b6874-f320-4331-ae4d-428d6083f177"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"4,3,6,5,0,7,2,1,4,3,6,5,0,7,2,1,4,3,6,5,0,7,2,1,4,3,6,5,0,7,2,"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"2"
]
},
"metadata": {},
"execution_count": 46
}
]
},
{
"cell_type": "markdown",
"source": [
"b."
],
"metadata": {
"id": "PzAbjbs0McAi"
}
},
{
"cell_type": "code",
"source": [
"rand(seed=lambda: 7, a=7, c=7, m=10, period=7)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "wn2ZpZmhLjlV",
"outputId": "680211d1-683a-448e-ae41-1786acae3e1d"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"7,6,9,0,7,6,"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"6"
]
},
"metadata": {},
"execution_count": 48
}
]
},
{
"cell_type": "code",
"source": [
"rand(seed=lambda: 7, a=7, c=7, m=10, period=16)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "WC2dQNKBMDYL",
"outputId": "63cbb530-0d84-439d-aa64-b4e607cf1e29"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"7,6,9,0,7,6,9,0,7,6,9,0,7,6,9,"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"9"
]
},
"metadata": {},
"execution_count": 50
}
]
},
{
"cell_type": "code",
"source": [
"rand(seed=lambda: 7, a=7, c=7, m=10, period=32)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "APEBh9mQMRj-",
"outputId": "58c6a3d2-7968-4347-b419-8a86650f0cf7"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"7,6,9,0,7,6,9,0,7,6,9,0,7,6,9,0,7,6,9,0,7,6,9,0,7,6,9,0,7,6,9,"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"9"
]
},
"metadata": {},
"execution_count": 51
}
]
},
{
"cell_type": "markdown",
"source": [
"c."
],
"metadata": {
"id": "H-tgO5zcMpoa"
}
},
{
"cell_type": "code",
"source": [
"rand(seed=lambda: 5, a=81, c=89, m=100, period=8)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ugG7wgYsMjld",
"outputId": "db2abb2b-e702-4010-afa3-6c9bbc4fc985"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"5,94,3,32,81,50,39,"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"39"
]
},
"metadata": {},
"execution_count": 52
}
]
},
{
"cell_type": "code",
"source": [
"rand(seed=lambda: 5, a=81, c=89, m=100, period=16)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "_eFfUuNJMwJJ",
"outputId": "7a586812-8a69-400b-bf91-1cc37d2f586f"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"5,94,3,32,81,50,39,48,77,26,95,84,93,22,71,"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"71"
]
},
"metadata": {},
"execution_count": 53
}
]
},
{
"cell_type": "code",
"source": [
"rand(seed=lambda: 5, a=81, c=89, m=100, period=32)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "bIf-nZovM2vq",
"outputId": "ac8489f4-3470-4105-bbce-224de74a499f"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"5,94,3,32,81,50,39,48,77,26,95,84,93,22,71,40,29,38,67,16,85,74,83,12,61,30,19,28,57,6,75,"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"75"
]
},
"metadata": {},
"execution_count": 54
}
]
},
{
"cell_type": "code",
"source": [
"rand(seed=lambda: 5, a=1, c=9, m=10, period=8)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "A_2_-ioVM4kF",
"outputId": "a76471fd-4893-4b9a-df86-05e6048ff1dd"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"5,4,3,2,1,0,9,"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"9"
]
},
"metadata": {},
"execution_count": 59
}
]
},
{
"cell_type": "code",
"source": [
"rand(seed=lambda: 5, a=1, c=9, m=10, period=16)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "7Y9E4xo9NDQT",
"outputId": "d3385095-e095-4c3f-f042-c607c79b504e"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"5,4,3,2,1,0,9,8,7,6,5,4,3,2,1,"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"1"
]
},
"metadata": {},
"execution_count": 60
}
]
},
{
"cell_type": "code",
"source": [
"rand(seed=lambda: 5, a=1, c=9, m=10, period=16)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "CKtxrXCZNJf8",
"outputId": "f4f8491c-41f5-4b42-d83f-e58036866617"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"5,4,3,2,1,0,9,8,7,6,5,4,3,2,1,"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"1"
]
},
"metadata": {},
"execution_count": 61
}
]
},
{
"cell_type": "code",
"source": [],
"metadata": {
"id": "Dd_PguOtNNgv"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"# Assigment 4"
],
"metadata": {
"id": "1TbAlIQMt3w4"
}
},
{
"cell_type": "code",
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"def generar_congruencial_mixto(x0, a, c, m, n):\n",
" numeros = [x0]\n",
" for i in range(1, n):\n",
" xn = (a * numeros[i-1] + c) % m\n",
" numeros.append(xn)\n",
" return numeros\n",
"\n",
"# Valores iniciales\n",
"x0 = 123456789\n",
"a = 48271\n",
"c = 0\n",
"m = 2**31 - 1\n",
"\n",
"# Generar secuencias de números pseudoaleatorios\n",
"n1 = 10\n",
"numeros1 = generar_congruencial_mixto(x0, a, c, m, n1)\n",
"\n",
"n2 = 100\n",
"numeros2 = generar_congruencial_mixto(x0, a, c, m, n2)\n",
"\n",
"n3 = 100000\n",
"numeros3 = generar_congruencial_mixto(x0, a, c, m, n3)\n",
"\n",
"# Mostrar histogramas\n",
"plt.hist(numeros1)\n",
"plt.title('Histograma de {} números generados'.format(n1))\n",
"plt.show()\n",
"\n",
"plt.hist(numeros2)\n",
"plt.title('Histograma de {} números generados'.format(n2))\n",
"plt.show()\n",
"\n",
"plt.hist(numeros3)\n",
"plt.title('Histograma de {} números generados'.format(n3))\n",
"plt.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 848
},
"id": "9uks5sAgt5ZB",
"outputId": "08fa5095-5c21-42fd-83f7-a19dc3c1357b"
},
"execution_count": 136,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"source": [
"# Assigment 5"
],
"metadata": {
"id": "08Y2Fo8Ps3Mr"
}
},
{
"cell_type": "code",
"source": [
"# Numerical Recipes from the \"quick and dirty generators\" list, Chapter 7.1, Eq. 7.1.6 parameters from Knuth and H. W. Lewis\n",
"def mixed_congruential_generator(seed=[math.floor(time.time()+10000)], m=2**32, a=1664525, c=1013904223):\n",
" seed[0] = (a*seed[0] + c) % m\n",
" return seed[0]\n",
"\n",
"def random():\n",
" return mixed_congruential_generator()/ 2**32\n",
"\n",
"def randint(min, max):\n",
" return int(random()*(max-min+1))+min"
],
"metadata": {
"id": "kI6NoTKGnbcf"
},
"execution_count": 158,
"outputs": []
},
{
"cell_type": "code",
"source": [
"plt.hist([randint(1,5) for i in range(0,10000)])\n",
"plt.title('Histograma')\n",
"plt.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 281
},
"id": "koGN2J3JngYY",
"outputId": "940d318b-a7f7-4f3c-b86a-370921d207e0"
},
"execution_count": 153,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"twodice=DataFrame(simulate(lambda: sum([randint(1, 6) for _ in range(0,2)]), lambda experiment: [experiment() for _ in range(0,6000)]),columns=['Two Dice']).value_counts(normalize=True).mul(100).round(1)\n",
"twodice.astype(str) + '%'"
],
"metadata": {
"id": "heZ36B3dtdtT",
"outputId": "1ddce6cc-9099-45a9-865f-5915fb28cca4",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"execution_count": 159,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Two Dice\n",
"7 17.3%\n",
"6 14.3%\n",
"8 13.1%\n",
"9 10.9%\n",
"5 10.9%\n",
"4 8.5%\n",
"10 8.1%\n",
"11 5.7%\n",
"3 5.4%\n",
"2 3.1%\n",
"12 2.7%\n",
"dtype: object"
]
},
"metadata": {},
"execution_count": 159
}
]
},
{
"cell_type": "code",
"source": [
"twodice.plot(kind='bar');"
],
"metadata": {
"id": "0kwDKhkztu4N",
"outputId": "5e8f69aa-6599-4b30-bc91-9bcbd52589fc",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 293
}
},
"execution_count": 160,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"twodice"
],
"metadata": {
"id": "GdkBnSA9u9Cp",
"outputId": "011adf41-c00e-49e2-eaf7-b79651343dd8",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"execution_count": 162,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Two Dice\n",
"7 17.3\n",
"6 14.3\n",
"8 13.1\n",
"9 10.9\n",
"5 10.9\n",
"4 8.5\n",
"10 8.1\n",
"11 5.7\n",
"3 5.4\n",
"2 3.1\n",
"12 2.7\n",
"dtype: float64"
]
},
"metadata": {},
"execution_count": 162
}
]
},
{
"cell_type": "code",
"source": [
"df=DataFrame(simulate(lambda: sum([randint(1, 6) for _ in range(0,2)]), lambda experiment: [experiment() for _ in range(0,6000)]),columns=['Two Dice'])\n",
"df"
],
"metadata": {
"id": "Jdk3HX4FvlBL",
"outputId": "fdb3f555-1b7a-4d6f-b43c-dcbd6765439c",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 424
}
},
"execution_count": 166,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" Two Dice\n",
"0 12\n",
"1 11\n",
"2 5\n",
"3 9\n",
"4 5\n",
"... ...\n",
"5995 7\n",
"5996 10\n",
"5997 2\n",
"5998 10\n",
"5999 8\n",
"\n",
"[6000 rows x 1 columns]"
],
"text/html": [
"\n",
" <div id=\"df-ad041368-e14d-4bde-9548-863faed8dada\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Two Dice</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5995</th>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5996</th>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5997</th>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5998</th>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5999</th>\n",
" <td>8</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>6000 rows × 1 columns</p>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-ad041368-e14d-4bde-9548-863faed8dada')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-ad041368-e14d-4bde-9548-863faed8dada button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-ad041368-e14d-4bde-9548-863faed8dada');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
]
},
"metadata": {},
"execution_count": 166
}
]
},
{
"cell_type": "code",
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"\n",
"plt.hist(df[\"Two Dice\"], label=\"Suma de 3 dados\")\n",
"plt.plot([7.015, 7.015], [0, 1000], 'k-', lw=2, label='Media aritmética')\n",
"plt.ylabel('Frecuencia')\n",
"plt.legend(loc=\"upper left\")\n",
"plt.show()"
],
"metadata": {
"id": "5-DE3NP9vrr7",
"outputId": "a1dc592d-e731-42fe-e5c1-9553414e1e3b",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 265
}
},
"execution_count": 194,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"df['Two Dice'].mean()"
],
"metadata": {
"id": "U6UxnowhwiGL",
"outputId": "5e3c382d-d233-43b5-c6a5-27dee8ed4dfa",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"execution_count": 173,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"7.015"
]
},
"metadata": {},
"execution_count": 173
}
]
},
{
"cell_type": "code",
"source": [
"df['Two Dice'].var()"
],
"metadata": {
"id": "vifHBDqBw4lm",
"outputId": "8ceb999f-3d2e-4a62-a50e-fd6295619365",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"execution_count": 178,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"5.913760626771129"
]
},
"metadata": {},
"execution_count": 178
}
]
},
{
"cell_type": "code",
"source": [
"df['Two Dice'].std()"
],
"metadata": {
"id": "5-7FwlASxcwS",
"outputId": "de01d190-8522-4e33-b2d3-04e151795d79",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"execution_count": 179,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"2.431822490802141"
]
},
"metadata": {},
"execution_count": 179
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment