Skip to content

Instantly share code, notes, and snippets.

@LuxXx
Created August 13, 2020 09:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LuxXx/bc9dfdc537ce62a6ec0a3282f3a4f4ee to your computer and use it in GitHub Desktop.
Save LuxXx/bc9dfdc537ce62a6ec0a3282f3a4f4ee to your computer and use it in GitHub Desktop.
Istanbul Game Random Mechanic
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import sympy\n",
"import pandas as pd\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\n",
" T_k=2\\cdot\\mathbb{1}_{\\{X < k\\}}+k\\cdot\\mathbb{1}_{\\{X\\ge k\\}}\n",
"\\]\n"
],
"text/plain": [
"<IPython.core.display.Latex object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%latex\n",
"\\[\n",
" T_k=2\\cdot\\mathbb{1}_{\\{X < k\\}}+k\\cdot\\mathbb{1}_{\\{X\\ge k\\}}\n",
"\\]"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\n",
" E(T_k)=E(2\\cdot\\mathbb{1}_{\\{X < k\\}}+k\\cdot\\mathbb{1}_{\\{X\\geq k\\}})=2{E}(\\mathbb{1}_{\\{X < k\\}})+kE(\\mathbb{1}_{\\{X\\geq k\\}})=2\\mathbb{P}(x<k)+k\\mathbb{P}I(X\\geq k)\n",
"\\]\n"
],
"text/plain": [
"<IPython.core.display.Latex object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%latex\n",
"\\[\n",
" E(T_k)=E(2\\cdot\\mathbb{1}_{\\{X < k\\}}+k\\cdot\\mathbb{1}_{\\{X\\geq k\\}})=2{E}(\\mathbb{1}_{\\{X < k\\}})+kE(\\mathbb{1}_{\\{X\\geq k\\}})=2\\mathbb{P}(x<k)+k\\mathbb{P}I(X\\geq k)\n",
"\\]"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\n",
" 2\\mathbb{P}(x<k)+k\\mathbb{P}I(X\\geq k)=2\\mathbb{P}(x\\leq k-1)+k(1-\\mathbb{P}I(X < k))=2\\mathbb{P}(x\\leq k-1)+k(1-\\mathbb{P}I(X \\leq k-1))\n",
"\\]\n"
],
"text/plain": [
"<IPython.core.display.Latex object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%latex\n",
"\\[\n",
" 2\\mathbb{P}(x<k)+k\\mathbb{P}I(X\\geq k)=2\\mathbb{P}(x\\leq k-1)+k(1-\\mathbb{P}I(X < k))=2\\mathbb{P}(x\\leq k-1)+k(1-\\mathbb{P}I(X \\leq k-1))\n",
"\\]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\n",
" P(X=x)=6-|7-x|\n",
"\\]\n"
],
"text/plain": [
"<IPython.core.display.Latex object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%latex\n",
"\\[\n",
" P(X=x)=6-|7-x|\n",
"\\]"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\n",
" P(X\\leq x)=\\sum_{k=2}^x6-|7-k|\n",
"\\]\n"
],
"text/plain": [
"<IPython.core.display.Latex object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%latex\n",
"\\[\n",
" P(X\\leq x)=\\sum_{k=2}^x6-|7-k|\n",
"\\]"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"def f(x):\n",
" return (6-sympy.Abs(7-x)) / 36"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"def F(x):\n",
" s = 0\n",
" for k in range(2, x+1):\n",
" s += f(k)\n",
" return s"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"def T(k):\n",
" return 2*F(k-1)+k*(1-F(k-1))"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<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>erwartungswert</th>\n",
" <th>erwartungswert_f</th>\n",
" </tr>\n",
" <tr>\n",
" <th>augenzahl</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
" <td>2.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>107/36</td>\n",
" <td>2.972222</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>23/6</td>\n",
" <td>3.833333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>9/2</td>\n",
" <td>4.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>44/9</td>\n",
" <td>4.888889</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>59/12</td>\n",
" <td>4.916667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>9/2</td>\n",
" <td>4.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>71/18</td>\n",
" <td>3.944444</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>10/3</td>\n",
" <td>3.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>11/4</td>\n",
" <td>2.750000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>41/18</td>\n",
" <td>2.277778</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" erwartungswert erwartungswert_f\n",
"augenzahl \n",
"2 2 2.000000\n",
"3 107/36 2.972222\n",
"4 23/6 3.833333\n",
"5 9/2 4.500000\n",
"6 44/9 4.888889\n",
"7 59/12 4.916667\n",
"8 9/2 4.500000\n",
"9 71/18 3.944444\n",
"10 10/3 3.333333\n",
"11 11/4 2.750000\n",
"12 41/18 2.277778"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"o = []\n",
"for k in range(2, 13):\n",
" T_k = T(k)\n",
" o.append({\n",
" 'augenzahl': k,\n",
" 'erwartungswert': T_k,\n",
" 'erwartungswert_f': float(T_k)\n",
" })\n",
"df = pd.DataFrame(o).set_index('augenzahl')\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"df['erwartungswert_f'].plot.bar();"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"def sample(k):\n",
" w = np.random.randint(1, 6 + 1, 2)\n",
" w.sort()\n",
" w1, w2 = w # w1 ist oBdA der kleinere Wert\n",
" \n",
" if w1 < 4:\n",
" w1 = 4\n",
" \n",
" if w1 + w2 < k:\n",
" w1, w2 = np.random.randint(1, 6 + 1, 2)\n",
" \n",
" X = w1 + w2\n",
" return 2 if X < k else k\n",
" \n",
" print(w1, w2)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<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>erwartungswert_mit_karte</th>\n",
" </tr>\n",
" <tr>\n",
" <th>augenzahl</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>5.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>5.968712</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>6.768895</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>7.125896</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>6.752902</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>5.554288</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>3.437462</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>2.547760</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" erwartungswert_mit_karte\n",
"augenzahl \n",
"2 2.000000\n",
"3 3.000000\n",
"4 4.000000\n",
"5 5.000000\n",
"6 5.968712\n",
"7 6.768895\n",
"8 7.125896\n",
"9 6.752902\n",
"10 5.554288\n",
"11 3.437462\n",
"12 2.547760"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"o2 = []\n",
"N = 1000000\n",
"for k in range(2, 13):\n",
" M = 0\n",
" for _ in range(N):\n",
" M += sample(k)\n",
" o2.append({\n",
" 'augenzahl': k,\n",
" 'erwartungswert_mit_karte': M / N\n",
" })\n",
"df2 = pd.DataFrame(o2).set_index('augenzahl')\n",
"df2"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<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>erwartungswert</th>\n",
" <th>erwartungswert_f</th>\n",
" <th>erwartungswert_mit_karte</th>\n",
" </tr>\n",
" <tr>\n",
" <th>augenzahl</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
" <td>2.000000</td>\n",
" <td>2.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>107/36</td>\n",
" <td>2.972222</td>\n",
" <td>3.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>23/6</td>\n",
" <td>3.833333</td>\n",
" <td>4.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>9/2</td>\n",
" <td>4.500000</td>\n",
" <td>5.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>44/9</td>\n",
" <td>4.888889</td>\n",
" <td>5.968712</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>59/12</td>\n",
" <td>4.916667</td>\n",
" <td>6.768895</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>9/2</td>\n",
" <td>4.500000</td>\n",
" <td>7.125896</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>71/18</td>\n",
" <td>3.944444</td>\n",
" <td>6.752902</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>10/3</td>\n",
" <td>3.333333</td>\n",
" <td>5.554288</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>11/4</td>\n",
" <td>2.750000</td>\n",
" <td>3.437462</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>41/18</td>\n",
" <td>2.277778</td>\n",
" <td>2.547760</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" erwartungswert erwartungswert_f erwartungswert_mit_karte\n",
"augenzahl \n",
"2 2 2.000000 2.000000\n",
"3 107/36 2.972222 3.000000\n",
"4 23/6 3.833333 4.000000\n",
"5 9/2 4.500000 5.000000\n",
"6 44/9 4.888889 5.968712\n",
"7 59/12 4.916667 6.768895\n",
"8 9/2 4.500000 7.125896\n",
"9 71/18 3.944444 6.752902\n",
"10 10/3 3.333333 5.554288\n",
"11 11/4 2.750000 3.437462\n",
"12 41/18 2.277778 2.547760"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mdf = pd.concat([df, df2], axis=1)\n",
"mdf"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x14c4750>"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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qVOn8vTTT/Pggw8yc+ZMrr76akaMGMHll1/e6tE5QI8ePXj44YcZN24cvXr1YsSIEcnnysrKWL16NTk5OQwaNIjx48cD0V8Lq1at4txzz6Vfv37s3bs3GdwtbX+/fv0+Vru0tJTx48fTp08fnTUi0gFZa3+SH6vi4mJveiOFqqoqBg4cmPZandmBAwfIy8vD3bn55ps577zzmDNnTrbb6nQy8r2p87ilDWZW4e7FqayrKyc7sEceeYSioiIGDx7M/v37mTUrbX/wiEjAMjY7oLTfnDlzsn6EPXLkSD766KOjlv34xz+msLAwSx19Qrs2f3zZvt1w18XRYx35SgAU3NKq9evXZ7sF+aRaG6bRL6ogaahERCQwCm4RkcAouEVEAqPgFhEJTPbenGzrvNZ2v17HepOls8/HnYpNmzbxox/9iIULF6a0P2bMmMGECROYOnXqMdVbsWIF559/PoMGDTrWlkWCoCPuRjQfd+rzcaeiuLiYhQsXAsS+P+rq6lixYkVyVkSRzuy4Cm7Nx52e+bgbvub2229n2LBhjB07lg0bNjB69Gj69++f7KO8vJwJEyawc+fOj+2PtnzjG99gxowZHDlyhLvvvpvhw4czZMgQSktLk/tn9OjRfP3rX+fzn/88999/P8888wy33norRUVFbN++ne3btzNu3DiGDRtGSUlJck4XkdAdN8Gt+bjTNx93w9eMHj2aiooKevbsyZ133skLL7zA8uXLmT9//lHrFhQUtGt/3HbbbezevZtHH32ULl268NWvfpWNGzeydetWPvzwQ5599tnkuvv27eOll15i3rx5TJo0iQceeIDKykrOOeccSktLefDBB6moqGDBggXMnj271boioThuLsDRfNzpnY+7W7dujBs3DoDCwkJOOOEEcnNzKSwsTM5oeCwaJvFq2FaA1atX853vfIeDBw+yd+9eBg8ezMSJEwG49tprm32dAwcO8MorrzBt2rTksqZXgIqE6rgJbs3Hnd75uHNzc5MzJnbp0iW5DV26dKGurq5dr9XY8OHDqaioYO/evXzqU5+itraW2bNns2nTJs466yzuuusuamtrk+u3tM+PHDnCqaeeSmVl5dFPNHfJu0hgjpuhEs3Hnd35uFN9zXHjxiV/MdXU1CRDulevXhw4cOCo9wlaq3HyySdz9tlns3TpUiD6Zblly5Y0bIlI9mXx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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"mdf[['erwartungswert_f', 'erwartungswert_mit_karte']].plot.bar()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment