Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save amirc/0ff609ce900b0847ed003901cffbcf1d to your computer and use it in GitHub Desktop.
Save amirc/0ff609ce900b0847ed003901cffbcf1d to your computer and use it in GitHub Desktop.
Quantitative Group Testing - zero/one vs n/2 choose random matrix
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Quantitative Group Testing - zero/one vs n/2 choose random matrix",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"accelerator": "GPU"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/amirc/0ff609ce900b0847ed003901cffbcf1d/quantitative-group-testing-zero-one-vs-n-2-choose-random-matrix.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Ebaj_oyVPOYm",
"colab_type": "code",
"colab": {}
},
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "1IvcdFARPTgQ",
"colab_type": "code",
"colab": {}
},
"source": [
"def gen_rand_vec(n, k):\n",
" v=np.zeros(n)\n",
" v[np.random.choice(n, size=k, replace=False)] = 1\n",
" return v"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "X5Ns6IrvY65b",
"colab_type": "text"
},
"source": [
"# estimator 1"
]
},
{
"cell_type": "code",
"metadata": {
"id": "EifzSB0_md2g",
"colab_type": "code",
"colab": {}
},
"source": [
"def solve_with_zero_one(n, k, m, t_values=False):\n",
" if not t_values:\n",
" t_values = [k]\n",
"\n",
" x = gen_rand_vec(n,k)\n",
" A = np.matrix(np.random.randint(2, size=(m, n)))\n",
" y=A.dot(x)\n",
" A_c = A.copy()\n",
" x_c = x.copy()\n",
" \n",
" A_rows_items_num = np.sum(A_c, axis=1)\n",
" A_rows_items_num_inv = 1. / A_rows_items_num\n",
" A_cols_sum = np.sum(A_c, axis=0).tolist()[0]\n",
" \n",
" # one shot\n",
" items_scores = list(map(\n",
" lambda i: y.dot(np.multiply(A_c[:,i], A_rows_items_num_inv)) / A_cols_sum[i],\n",
" range(A_c.shape[1])\n",
" ))\n",
" sorted_idx = np.argsort(np.array(items_scores).flatten())\n",
" ans = list()\n",
" for t_val in t_values: \n",
" ans.append(sum(x_c[sorted_idx[-t_val:]]) / min(t_val, k))\n",
" return ans"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "cNV4fGxNF1Jn",
"colab_type": "code",
"colab": {}
},
"source": [
"def solve_with_zero_one_2(n, k, m, t_values=False):\n",
" if not t_values:\n",
" t_values = [k]\n",
"\n",
" x = gen_rand_vec(n,k)\n",
" A = np.matrix(np.random.randint(2, size=(m, n)))\n",
" y=A.dot(x)\n",
" A_w = np.ones(A.shape) - A\n",
" y_w = (np.ones(y.shape) * k) - y\n",
" A_c = np.concatenate((A, A_w))\n",
" y_c = np.concatenate((y, y_w), axis=1)\n",
" x_c = x.copy()\n",
" \n",
" A_rows_items_num = np.sum(A_c, axis=1)\n",
" A_rows_items_num_inv = 1. / A_rows_items_num\n",
" A_cols_sum = np.sum(A_c, axis=0).tolist()[0]\n",
" \n",
" # one shot\n",
" items_scores = list(map(\n",
" lambda i: y_c.dot(np.multiply(A_c[:,i], A_rows_items_num_inv)),\n",
" range(A_c.shape[1])\n",
" ))\n",
" sorted_idx = np.argsort(np.array(items_scores).flatten())\n",
" ans = list()\n",
" for t_val in t_values: \n",
" ans.append(sum(x_c[sorted_idx[-t_val:]]) / min(t_val, k))\n",
" return ans"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "OFJ_0VZdnch5",
"colab_type": "code",
"colab": {}
},
"source": [
"def solve_with_choose(n, k, m, t_values=False):\n",
" if not t_values:\n",
" t_values = [k]\n",
"\n",
" x = gen_rand_vec(n,k)\n",
" a=[np.random.choice(range(n), int(n/2)) for i in range(m)]\n",
" A = np.matrix([np.histogram(l, range(n+1))[0] for l in a])\n",
" y=A.dot(x)\n",
" A_c = A.copy()\n",
" x_c = x.copy()\n",
" \n",
" A_rows_items_num = np.sum(A_c, axis=1)\n",
" A_rows_items_num_inv = 1. / A_rows_items_num\n",
" A_cols_sum = np.sum(A_c, axis=0).tolist()[0]\n",
" \n",
" # one shot\n",
" items_scores = list(map(\n",
" lambda i: y.dot(np.multiply(A_c[:,i], A_rows_items_num_inv)) / A_cols_sum[i],\n",
" range(A_c.shape[1])\n",
" ))\n",
" sorted_idx = np.argsort(np.array(items_scores).flatten())\n",
" ans = list()\n",
" for t_val in t_values: \n",
" ans.append(sum(x_c[sorted_idx[-t_val:]]) / min(t_val, k))\n",
" return ans"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab_type": "code",
"outputId": "4855e5fa-673f-4535-9e00-77ba1cf5be20",
"id": "npPjHar5KNGZ",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 126
}
},
"source": [
"n = 2000\n",
"theta = 0.5\n",
"r = 100\n",
"\n",
"k = int(n**theta)\n",
"print(n,k)\n",
"\n",
"c = np.log(k)\n",
"m_base = int(k*(1-theta)/theta)\n",
"r_20per = int(r/5)\n",
"\n",
"ans_01 = list()\n",
"ans_01_2 = list()\n",
"ans_c = list()\n",
"print()\n",
"for alpha in range(1,r):\n",
" if alpha % r_20per == 0:\n",
" print(alpha/r)\n",
" \n",
" m = int((1+3 * (alpha/r)) * c * m_base)\n",
" \n",
" tmp = list()\n",
" for i in range(4):\n",
" tmp.append(solve_with_zero_one(n, k, m, t_values=[m, k]))\n",
" ans_01.append(np.average(tmp, axis=0))\n",
"\n",
" tmp = list()\n",
" for i in range(4):\n",
" tmp.append(solve_with_zero_one_2(n, k, m, t_values=[m, k]))\n",
" ans_01_2.append(np.average(tmp, axis=0))\n",
"\n",
"\n",
" tmp = list()\n",
" for i in range(4):\n",
" tmp.append(solve_with_choose(n, k, m, t_values=[m, k]))\n",
" ans_c.append(np.average(tmp, axis=0))"
],
"execution_count": 21,
"outputs": [
{
"output_type": "stream",
"text": [
"2000 44\n",
"\n",
"0.2\n",
"0.4\n",
"0.6\n",
"0.8\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "sFMukbRPE40S",
"colab_type": "code",
"colab": {}
},
"source": [
"h_01=np.array(ans_01)\n",
"h_01_2=np.array(ans_01_2)\n",
"h_c=np.array(ans_c)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "fKFpqQT2E5f4",
"colab_type": "code",
"outputId": "0056d73b-df56-45c2-9acf-48273d724a44",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 521
}
},
"source": [
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01[:,0], c='r', s=20)\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_c[:,0], s=20)\n",
"plt.show()\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01[:,0], c='r', s=20)\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01_2[:,0], c='g', s=20)\n",
"plt.show()"
],
"execution_count": 27,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAD8CAYAAACb4nSYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xt4HPV97/H3V6vVBcsyZi0oWMaC\n4MYmKRgwkFQ9abgl4JPHSUsuOKGHtA40aUhImz52ck5OmpKkDT5NE9IQTgnQJL2YQ6Dn4PL4lIRA\nelIngORgm5pLMI4V1g6gyCDfdFmtfuePmZVmVzu7s9LqtvN5PY8e7c78ZuY3K/mr8Xe+v/mZcw4R\nEYmHutnugIiIzBwFfRGRGFHQFxGJEQV9EZEYUdAXEYkRBX0RkRhR0BcRiREFfRGRGFHQFxGJkfrZ\n7kChJUuWuI6OjtnuhojIvLJjx45fOefayrWbc0G/o6OD7u7u2e6GiMi8YmY9UdopvSMiEiMK+iIi\nMaKgLyISIwr6IiIxoqAvIhIjCvoiIjGioC8iEiMK+iIiMaKgLyISIwr6IiIxoqAvIhIjZZ+9Y2Z3\nA+8AXnHOvbHIegNuBdYCx4EPOud+6q+7DviM3/QLzrlvV6vjImH6jg6RfnWA9sXNpFoaq7d9by/s\n3w8dHfQ1t461AcbbDxwu2ia4n76eg6Sf3U/7yg5Sy0+rbP8tjfn9CxwPKL59X9/48U5Ilm8T6FPw\nWME2pFLFl0PRY4X1LdXSmPd5BLcPHiP053A8U3zbCK/zzjOsDxH3M5Xtw/o0Xcw5V7qB2VuAo8B3\nQoL+WuBjeEH/YuBW59zFZnYS0A2sARywA7jAOfdqqeOtWbPG6YFrMlkP7DzApvt3k6yrIzM6yuar\nz2Hd6qVT337LFtiwARoaeKDjQjZddRPJhiQDmRHMjKb6BJnhDJu3fZV1Pd15bYL7eeAb32XTCwmS\no1kydQk2vy7Luj96T7T9j47y3gvauXdH2utf4HgcPw5m0Nycv/1QBsuO0DSS8Y73va+z7sWflm7j\n9yn4WQTbDCSSWLKepoJtBxJJzJhwrLC+ZUZHeW/rAPe+BMnRbN72wWOE/hyWnc+mt91YfNsyr/PO\nM/Azmcx+3ut+yb126qS2D+vTZJjZDufcmrLtygV9f2cdwIMhQf9vgR8657b4758D3pr7cs79YbF2\nYRT0ZbL6jg7RecsjDGZGx5Y1JevYvunSSFf8odt/6FxSq86CgQH6mlvp/MjdDCabiu6jKTPIg9+6\niXd88Na8Nk3JOh78wNm845s7GEw2BtoPsf3aXyfVeVGk/Rc73vbb/8C74odJ9y+/zRAPXn8B7/jH\np/M+i0pF6ptz3h+Ecvuq8OcQrX9DPPju1/GO+17I+5lULOI5RO3T9o+/aVJX/FGDfjVy+kuBFwPv\n0/6ysOUTmNkNZtZtZt29vb1V6JLEUfrVAZJ1+b/Sybo60q8OTG37Z/dDQ4PXZtEpJLPZ0H0ks1l2\nnvr6CW2SdXXsfKqH5GjB8tEs6cd3Rd5/seOlF50yfg6T7F9hn3Y+1TPhs6hUpX0rua8Kfw6R9jma\nZecTz0z4mcym5GjWO89pNCdu5Drn7nDOrXHOrWlrKzsHgNSq3l7o6vK+B/QdHWLXi6/Rd3So5Obt\ni5vJjOZfmWZGR8fy4hOOUXC80O1XdsDwsNem/2UyiURoHzKJBKt/+dyENsPZLE2ntjFcuLwuQX+i\nkb5EU6T9FxpOJOhvXEBfcyt9za30Ny5gOBF+qy6sf4V9aho8xvDI1IJhpX0rua+RLP2HDtOXaJry\nvsb2WZegqbF+ws9kNmXqEmN5/umi9I7MDYFcLcPDcNddsH59xTn6rTsPsDGsffAYgTxz8Hih2+e2\nTSbZ2nEhG9d+Ijynv78rtE3ZHPgvdoTvf3SU965p597udPE8e5Scce4Yyy5g49snlw+v1utq5sNr\n4RzmU07/PwM3Mn4j92vOuYv8G7k7gPP9pj/Fu5F7qNSxFPRjqLcXli+HgUAaprmZvmf20nnnropz\n9EWrb4odI6i5GXp6oK2tqtU7ew4e5vrvdDM0Mn4OjQnjyyuNT+4aYKi+IL9/yQJSF59ftnqn2H6D\nGjODfPP+L/CGV/ZBUxPpO75N+4XneBU1Tz4J73oXfSRJLzqF9v6XoamJPbfcxvXP1eX1acJ+vnwb\n7X96IwwM5G2b2z/Ant37uP6xwwxli8eW4D5TZOjb/gTpVw6PV7J07ab9Dz8IAwPsOflMrr/6vzMU\nknNvTBjffHMrb/iNM71tI1TK7PnxLq7fMVBwnkN8c80JvOE3z4m8n7lWvRM16Ecp2dyCd9W+xMzS\nwJ8BSQDn3P8EtuEF/L14JZu/7687ZGafB7r8Xd1cLuBLTO3f7119BwNyMkn62f0k6+oYZDyw5XL0\npYJ+qqVxbP3YP8bMEVIFx+hrbh0LXKmk34+2trztg4GetjbvC0j5x8m1Sb20H5r8Pwa/toL2Zi9A\nL2pO0pCoywvODfUJBpuaacgeZSjwLzA5miWdXEiqrS10/7S0kRo4zKKfP09DnRGW8GrIZlk0dMz7\nI5SE1PIULD/N+4PmWmhvTZF6OT12k5UkLMoO0ZBtyOvThP3UHYPsIAwczts2t3+ARXUn0ND9OEPZ\nkfJ9a20lNTJA6u2/Of7ze+XA2DEWDR2jITsSGvQb6hMsOveNpJad6G0bCJphrxc9u3/CZ98wmmXR\nSa1j7aLsp/D1ZLYp9nq6lQ36zrn1ZdY74KMh6+4G7p5c1yQ2OjrGcuZjMhnaV3aQ+fdd+YsLc/Ql\nTCiPXHY+6/of9dategubrvo4yWyWTCLB5odvZ12unjwnJOUU1qZYmWbnWUuK3idY/RvLyTz2q/zl\nxfK5hX3YsAHuuov21hSZD9wKIcEwk0h4V+EAmQx0dIynyszIfOBWLxX17I/G2rRffC6Z539Wej8X\nXVT0Z0Xgsyt2b6Rc3/IEfh/K3kOp4PdhrH8rO8h876X8/cxALn2umBM3ciXm2tq8gNrcDK2t3ve7\n7iK1/DQ2X30OTck6FjbW05SsY/PV50Qrv+w5yKYXEgwmGznSeAKDyUY2vu1G+k46hb6Tl7LpqpsY\nTDZxpGkBg8kmNq79BH3NreM76O31AuzAAPT3e983bMi/yRxo0zfs2HTZhxl0xpGhEQYzo2y8fzdA\n0XM4a+VyNr8uS1NmiIVDx2nKDLH5ddmJg7UK+/D1r8PAAKmX02ze9lVv+4YE9XWQTJh3DHNsfvh2\n738v/mfZ19zKpvt3M5gZ5chw1vs81n6CvpOXjn/e571xYp++d1vefli1qujPikABRqqlMe+cy/WN\nwuKNwO9DKgmbH7ptrE/1IxmS5ir+fQhKLT+t/GdfwyLl9GeScvq1o+KRsYWplGL7CRvxGhyZ2tbG\nrod+zLX/eoAjjSeM7Wfh0HFuu6iFV+oX8LmnjnF0ePxqdEFDgj9f9wYuWXmy19euLrjiCi/Y5rS2\nwsMPw4UXen3dtg0+9jE4coRdv7aCa9/3BY40LRg/XkOCf+hs5dzzV+SNHA0dCRocgTpwOG//oZ/x\nyUtJf+de2jsvAIrfW6CtjV0vvsa1dz7OkaHxlEuwf3mfd3DEcHBUbTA4h/ys8voWHM1bom+hwkbe\nho3UrVDoyOh5qqo3cmeSgn5tmOrI2KLCUinBkal+GqbvN3+bzq89ljfopn4kQ6KxgfpEHceGJ5Yj\ntjQmGBl1Xl+XNhS9uUxPjxf4N2yA+vqxgFxssFBTZojt/3gTqUMvF60UCv28cufz8ydKBvy8PpUp\ndZ7qwDWZ+2ZycJZInr6jQ+OphECqo1ydfUmlUinO2Hj5R+gbdmNpmNQJybz/wjdmhrBkPUNZlxfw\nT2gY/ydwdCg73tfm1uJpDBhPuQQCcqreS1s0mWNhQ8JLGWz7KqmX017eeng4NE004fPKnc9IYJTn\nwoVeH268sWRqJUxhymWyqRGZ/6Y2ukGkiNzI1kqrbkoKVPjkRmMOJsdX50Z/elUmXkpi3R+9h07/\nv/D9J7Xx0Qf3kQmkNxY0JNjwW2dw9/afc3Ro/A/BWF/Xr4fLL89PRXR1Taw0ammBv/kb1q1dS2dz\nK+ntO2i/7nov4Bfj9y8XrIt+XsHz8ffP2rXeNp/9bLT0SIF1q5fSedaSqqRGZP5S0JfoIuRxIcLI\n2Ij7yTvuq6+WrOgIjv5MBSpCcqV0fUeHyGzdm7dN1jnWnXsad/xoX2hfgyWYHB0i3bSE9kQTKQK5\n/mx2LCCngNT5K+BwX/j5RKh2yatwCewfyCsdrVReOarEktI7Es2WLV6O+4orvO9bwgdWl0wlVLCf\nvOO+970wMgINDV5FRy6V0lhPPY7RugQf/Z3/SudH/o6tf/XtCUExrE9nnbKQzaceza/kOPUoqZZG\nHth5gM5bHuHaOx/n4r94mDf95Q+49r6f0XnDnWw957LwFEthNVIy6f3vIGK1S6QKF5FJ0o1cKS9k\nxGy5G4gTqncq3U+x9k1N8MADcN55oSNeS92gDOtTcHRqikzR0cBBTfV1bL/yJFKvPzP8Mwj+jwYq\nqnaJXOEi4qvaiFyRsBGzY3npkHRN3sjYo0Okf/q8NxJ0YDzX3bfwJG95Z+vEIF3kuH2tKW9EaXNr\n6IjXpBnp7Tu8NEuRK/684/jHSPX3j48wbWkh/X8fJWkpBkM+kmSijvTy15NqOzH8cytMw5QJ3nl9\na5l8CkekFKV3pLyQEbN0dERK14ylSbYfpvMDt7J15X/ylq96C53Xfs1bfssjbN15oORxi7Uvmg8/\ndpz2694XLX1U7NyOHqX9sxvJHDseutlkRoKKzAUK+lJeyIhZoOyo1bxyxMBI0L3LXu+Pim30lhcr\n6wwcd3wUbX57CIx4LSyVLDaKttS5tbSMLU71Hgwf8apyR5nHlN6RaKKWL0YpR1xwAju/fAfJp44z\nOFykVDIYTP3jpn/6PMnth4u2HytFLFYqWdCfkudWMAJ23bM/ovPQvuIjXhXwZZ7Slb5EnqSEtjbv\nEQS5AFoq7eMrmn5xjtVvOY9MQRFBaMqkrY32zgsmts+O0t7znPcUypZGzj1/BanCUsliD/QKO7e1\na70KoYDUkUPefv18+7nLTlTAl3lNQT/mgmWJRfPqpYSlfUqVI0YolSymaFnjv3yZ1DvePp67j9Cf\nqZ6PyHynks0Yq9rzWCp8+FapUslIZaA/P0j7W9/sPdMmJ1j6Wengr0mcj8hco5JNKatqj0uIMEI0\nSqlk38lLx8o3c/0rzJ+nWhpJDf7Km2QjKJi7n8KI1ajnIzJfKejHWKSJxKdLkXLMTVfdRHL7YQb+\n7eG8eWEnPKEzwr0EESlOOf0Ym9UnL5YoxxwZhUzWhT+hU7l3kUnTlX7MTfrJixVOeFI0IJcoxwwq\nVcqp3LtIZRT0pfInL4bMHVt0IpDAxCYT5pcFvxyzlcy/PxJ6uFKlnAr2IpWJlN4xsyvN7Dkz22tm\nnyqyfrmZ/cDMdpvZD82sPbAua2Y7/a+t1ey8zIKQuWP7eg4WnwgkMLFJ2MjYknOqavSrSFWVvdI3\nswRwG3AFkAa6zGyrc+7pQLO/Ar7jnPu2mV0K/CXwe/66Aefc6ir3W2ZLyMPX0s/uLz0RSJmRsYVp\nJtDoV5HpEOVK/yJgr3Nun3NuGLgHeGdBm7OB3P/PHy2yXuapvp6D7Hrox/T1HPQWhFTOtK/sKD0R\nSKC6JmwEcHDEa2rgMOe+9Pz4ky9FpCqiBP2lwIuB92l/WdAu4Hf9178DLDSzlP++ycy6zewxM3vX\nlHorM+qBb3yXzq89xrX/eoDOrz3G1m98N7RyJrX8tEgTgUQaAVzpRCsiElnZEblm9m7gSufch/z3\nvwdc7Jy7MdDmNODrwBnA/wOuBt7onHvNzJY65w6Y2Zl4/xu4zDn3QsExbgBuADj99NMv6OnpqdoJ\nyuT09Ryk82uPMZgcT600ZYbY/vE3kVp+2qSqdyKNAJ7khC0icVfNEbkHgGWB9+3+sjHOuYP4V/pm\n1gJc7Zx7zV93wP++z8x+CJwHvFCw/R3AHeA9hiFCn2Sa5IJ2/1P7SI5m8yYRSYxmefSJvVySSkHh\n3LGBQJ96aT80deRX1/T2eqWZZnn7nFCOWW7CFhGZkihBvwtYYWZn4AX7a4D3BxuY2RLgkHNuFPg0\ncLe/fDFw3Dk35LfpBDZXsf9SRcGSy+GRLKP1ybz1xxqa+dxTx/jUk+MjZgcyI+OjZ8PKNP0Sz/bW\nFJkP3AqB/z1MKMfUaFuRaVU2p++cGwFuBB4CngHudc7tMbObzWyd3+ytwHNm9jPgFOCL/vJVQLeZ\n7cK7wfulgqofmSPyJjsZGmEo63CJehpHhlgwdBycAzOODo/mjZjNGz1brEzzmWfGSjxTL6fzJiYp\nWo6p0bYi0yrS4Czn3DZgW8GyzwZe3wfcV2S7HwO/McU+ygwo9vC15sYkt139el7Z/0s+99Qxjg4X\nnyQ8aEKZ5hNP5KVrCicmKVqOqdG2ItNGI3IFCH/42htWnc4bVp3OZ3aHj5jN26awTPOiiyaka1JH\nDnmTlpeqv9doW5FpoQeuCVD64WulRszmjZ4tVqa5apXSNSJziCZRkTwTJjsJWQcUHz0b9pA1TUwi\nMq00iUqtmkLwDA3ogX2mYLzksiV//4UPZiv6uiUkLaN0jcicoKA/n4Q83TKKvCdgBicmCe7z+HEw\n81IwFe5fROYHpXfmiymMVA0dCfuhc0mtOit/n0EaCSsyb0RN7+hG7nyRG6kalBupCt4fha6uoo8v\nzpVj5m1aV0f62SL7DNu/iNQEBf35otRI1TIPKGtf3ExmOJO/6bD3ZMwJ+yy2fxGpGQr680XYSFUo\nOqlJ8Io/NXDYHwk7yMLBYzRlBtm87aukTkjm7zOZ9K78VVopUrN0I3c+KTZStaur/APK9u9nXU83\nnbf/AelFp9De/7JXS79//8R9+u1VWilSmxT055vC0scoDyjz26QGBgKTkjSPtyncp4K9SM1Seme+\ni/KAMj3ETER8KtmsFVEGbWlUrEjN0ojcGMgbYVswYUnR4B6ljYjUNKV35qnQuWajzC+rOWhFYkvp\nnXmoohG2haNqNQetSE3SiNxaUjDatqIRtoWjasuN7BWRmqagP9cVScWETXhSdIRtSPlmyTYiUrMU\n9Oey3t6io21TA4eLT3iy/DSVb4pIScrpz2VdXd4Vfn//+LLWVnj4YbjwwkjPx1f5pkg8qGRzDis1\nO1WeMqmYwklNxkSZsESTmojEUqT0jpldaWbPmdleM/tUkfXLzewHZrbbzH5oZu2BddeZ2fP+13XV\n7Px8FFpqWYxSMSJSZWXTO2aWAH4GXAGkgS5gvXPu6UCb7wIPOue+bWaXAr/vnPs9MzsJ6AbWAA7Y\nAVzgnHs17Hi1nN4JLbXcdGnpK36lYkSkjGqWbF4E7HXO7XPODQP3AO8saHM28Ij/+tHA+rcD33fO\nHfID/feBK6OcQC0KLbV8NWTmqpy2NrjwwokBP1DK2Xd0iF0vvkbf0aEq91pEakmUnP5S4MXA+zRw\ncUGbXcDvArcCvwMsNLNUyLZLJ93beS601HJxc+U7C8xt+0DHhWy66iaSDcn8+W9FRApUq2TzT4Hf\nNrMngd8GDgDZqBub2Q1m1m1m3b1FpvurFamWxuKllqVSO8UESjn7hh2bLvswg844MjTCYGaUjffv\n1hW/iBQV5Ur/ALAs8L7dXzbGOXcQ70ofM2sBrnbOvWZmB4C3Fmz7w8IDOOfuAO4AL6cfvfvzz7rV\nS+k8a0m06p0wuVG1AwOkF51CMptlMDm+OmHGo8++wiUrTwaY2rFEpKZECfpdwAozOwMv2F8DvD/Y\nwMyWAIecc6PAp4G7/VUPAX9hZov992/z18daaKllVIFSzvb+l8kkEnmrjw1n+dy/7OFT/7wbM6Op\nPqG0j4gAEdI7zrkR4Ea8AP4McK9zbo+Z3Wxm6/xmbwWeM7OfAacAX/S3PQR8Hu8PRxdws79MpiJQ\nyplKwuaHb6fJHAsaxoP/0aEsI6OQyTqlfURkjEbkzmeBUs6+5lYeffYVPvcvezg6VPx2ysLGev7h\nQxdz7rITZ7afIjLt9JTNeWJKpZaBUs5USyOXrDyZkdHwP+KTrhQSkZqhxzDMogd2HmDT/btJ1tVV\nJeeeqw7a6O9zIDMyIaevm7ki8aagP0v6jg6x6f7dDGZGGcSr3d94/246z1oypcBcWB0Eqt4RkXEK\n+jOl4FEKudG5uYAP46Nzpxqc86qDentJvbQfmjqgRY9wEIk75fRnQiUToVQz5665cEWkgKp3pluJ\nOWm3Hhgey79XvY5ec+GKxIqepz9XBEbPjvHnpF134YVTH507ieMq6IvEl4L+dKtkIpRg3h+m9jhl\nzYUrIkUopz/dok6EEsy/L10K7e1Ty8VrAhYRKUI5/ZlSaiKUYvn3oKnk4jUBi0gsKKc/U6IG1VJz\n0hbJv/c1t5JedArt/S/DwoWkf/o87Z2tQIV19yHHjTxPr4jUFAX9qQhMZMLwsJc+Wb++8v0U5N8f\nWPUWNl31cZLZLAP1SW9U7fbDDPzbw1V5ama1RwKLyPyhnP5kBSYyob/f+75hg7e8UoH8e9/JS9l0\n1U0MJps40rSAkfoGMokkR4ar89TM4EhgPX1TJH4U9Ccrl5IJypVETsb69dDTQ/o795JccEKkTSLN\nr1tg0vP0ikhNUNCfrOkoiWxro73zAjIRb65PZgTvjIwEFpE5S0F/sqapJLJwHt36OkgmbMLryc6v\nW7V5ekVkXlLJ5lRNU0lksLoGqPpTM1W9I1JbVLI5U0qVYlaoMBAHg3HY68ma8jy9IjIvKejPESqj\nFJGZoJz+HKAyShGZKQr6U5Q3x21vL3R1VVyrrzJKEZkpkdI7ZnYlcCuQAO50zn2pYP3pwLeBE/02\nn3LObTOzDuAZ4Dm/6WPOuQ9Xp+uzLy8lM5xh87avsq6nu+LRuSqjFJGZUvZK38wSwG3AVcDZwHoz\nO7ug2WeAe51z5wHXAN8IrHvBObfa/6qZgD8hJeOMjZd/hL5hV/HoXJVRishMiXKlfxGw1zm3D8DM\n7gHeCTwdaOOAVv/1IuBgNTs5FxWd4zabJb3oFFIDhyuesKRwQnMFfBGZDlGC/lLgxcD7NHBxQZvP\nAd8zs48BC4DLA+vOMLMngcPAZ5xzPyo8gJndANwAcPrpp0fu/GwqmpJJJLynYsKkRueqjFJEplu1\nbuSuB77lnGsH1gJ/b2Z1wC+B0/20z58A/2RmrYUbO+fucM6tcc6taZsnz3yfkJIxx+aHbyeVRBOW\niMicFeVK/wCwLPC+3V8WtAG4EsA59xMzawKWOOdeAYb85TvM7AXg14F5NOQ23ISUzJ9crAlLRGRO\nixL0u4AVZnYGXrC/Bnh/QZtfAJcB3zKzVUAT0GtmbcAh51zWzM4EVgD7qtb7OSAvJdNSMDpXs1aJ\nyBxTNr3jnBsBbgQewiu/vNc5t8fMbjazdX6zTwLXm9kuYAvwQec91OctwG4z2wncB3zYOXdoOk5k\nzgnOeTvZeW5FRKpMD1ybDsXmvJ3KPLciImVEfeCaRuQWChlVmzfytpxKJliZ5CheEZHJUNAPCknJ\nPLDzAJ23PMK1dz5O5y2PsHVn4X3sAlEnWFEKSERmmNI7OSEpmb5n9tJ55y4GM+M1+U3JOrZvurR0\nTX1u0vRk0gv4hY9lUApIRKpIz9OvVC4lEwzCySTpZ/dPHHnrPwytZNBfvx4uvzy8eifkeJWM4hUR\nqZTSOzkhKZn2lR2RH4Y2Ie/f1gYXXghtbRPXTcccuyIiZehKPyc3521BSia1/DQ2X+3YWDDBSeFV\nfqlJUELXFTmervJFZDopp18oZEBVqTll+44O0XnLI0Xz/kDoulRLowZwiUhVKKc/WSFz3pZ6GFrR\nJ24GJkGZsM6M9PYdpM5fUdU5dkVEylFOvwpKTYJSdN2x47Rf9z6VaYrIjFPQr4JSk6DkrWtI0JQZ\nYvO2r5J6OV3xZCsiIlOl9E4pFeTbi02CkrsP0HnWErZvupT09h20X3e9F/BzVKYpIjNIQT9MbnBV\nQ0PkOW+Def+iFTvnr4DDffkbqUxTRGaQ0jvF9PZ6AX9gAPr7K07DTJg/NzPKxvt309fc6v3xaG6G\n1lZNtiIiM05X+sVMcbRsqWqeVLmRuiIi00hBv5gpjpYtVc0DqExTRGaN0jvF5EbnTjINU6qaR0Rk\nNmlEbilTHC1bahSviEg1aURuNUwxDVNqFK+IyGxQekdEJEYU9EVEYiRS0DezK83sOTPba2afKrL+\ndDN71MyeNLPdZrY2sO7T/nbPmdnbq9n5aqlo/lsRkXmsbE7fzBLAbcAVQBroMrOtzrmnA80+A9zr\nnLvdzM4GtgEd/utrgDcApwEPm9mvO+ey1T6RySr1HHwRkVoT5Ur/ImCvc26fc24YuAd4Z0EbB7T6\nrxcBB/3X7wTucc4NOed+Duz19zcnhI6c1RW/iNSoKEF/KfBi4H3aXxb0OeBaM0vjXeV/rIJtZ01u\n5GxQ8Dn4IiK1plo3ctcD33LOtQNrgb83s8j7NrMbzKzbzLp7Z/Axw+VGzobl+vt6DrLroR/T13MQ\nEZH5JEqd/gFgWeB9u78saANwJYBz7idm1gQsibgtzrk7gDvAG5wVtfNTlRs5W2z+27Bc/wPf+C6b\nXkiQHM2S+d5LbH5dlnV/9J6Z6rKIyJRECfpdwAozOwMvYF8DvL+gzS+Ay4BvmdkqoAnoBbYC/2Rm\nf413I3cF8ESV+l4VYc/Bz+X6cw9N23j/bs5uGmHTCwkGk40M+ttvfGGIzp6DpJafNnsnISISUdmg\n75wbMbMbgYeABHC3c26Pmd0MdDvntgKfBL5pZn+Md1P3g857vsMeM7sXeBoYAT46lyp3cgpHzhZ9\nSqYZOx/6CcnROgYZb5sczZJ+dr+CvojMC5Eew+Cc24Z3gza47LOB108DnSHbfhH44hT6OOPC5rVd\n/a0/I/Oev8hfXpegfWXHDPZORGTyNCK3iLB5bc968Wds3nYrTZlBFg4d95a/LqurfBGZN/SUzRL6\njg7589q+L29e274lp5L+/P+g/apLFPBFZE7QUzarINXSSKrIvLapY6+RuvptmghFROYdpXfKmeKE\nKiIic4mu9KPQvLYiUiNqP+ifnsqHAAAJ90lEQVRPcfarMZrXVkRqQG2nd7ZsgeXL4YorvO9btsx2\nj0REZlXtBv3eXtiwAQYGoL/f+75hg7dcRCSmajfo798PDQ35y5JJb7mISEzVbtDv6IDh4fxlmYy3\nXEQkpmo36KvUUkRkgtqu3lGppYhIntoO+qBSSxGRgNpN74iIyAQK+iIiMRLboB82/62ISC2r/Zx+\nEWHz34qI1LrYXekH5789MjTCYGaUjffv1hW/iMRC7IJ+bv7boGRdHelXB2apRyIiMyd2Qb/o/Lej\no7Qvbp6lHomIzJzYBf28+W8b62lK1rH56nNItTTOdtdERKZdpBu5ZnYlcCuQAO50zn2pYP1XgEv8\ntycAJzvnTvTXZYGn/HW/cM6tq0bHp2Ld6qV0nrWE9KsDtC9uVsAXkdgoG/TNLAHcBlwBpIEuM9vq\nnHs618Y598eB9h8DzgvsYsA5t7p6Xa6OVEujgr2IxE6U9M5FwF7n3D7n3DBwD/DOEu3XA5qtRERk\nDooS9JcCLwbep/1lE5jZcuAM4JHA4iYz6zazx8zsXZPuqYiITFm1B2ddA9znnMsGli13zh0wszOB\nR8zsKefcC8GNzOwG4AaA008/vcpdEhGRnChX+geAZYH37f6yYq6hILXjnDvgf98H/JD8fH+uzR3O\nuTXOuTVteiKmiMi0iRL0u4AVZnaGmTXgBfathY3MbCWwGPhJYNliM2v0Xy8BOoGnC7cVEZGZUTbo\nO+dGgBuBh4BngHudc3vM7GYzC5ZfXgPc45xzgWWrgG4z2wU8CnwpWPUz00IfstbbC11dmjRdRGqe\n5cfo2bdmzRrX3d1d9f2GPmRtyxbYsMGbRH142JtScf36qh9fRGQ6mdkO59yacu1iMSI39CFrPQe9\ngD8wAP393vcNG3TFLyI1KxZBP/Qha8/u967w81YkvTl1RURqUCyCfuhD1lZ2eCmdvBUZbxJ1EZEa\nFIugH/qQteWneTn85mZobfW+33WXJlIXkZoVmxu54OX2iz5krbfXS+l0dCjgi8i8FPVGbm1OlxgS\nxEMfstbWNtYu9A+DiEgNqL2gP4USTM2dKyK1rrZy+r29ky7B1Ny5IhIHtRX09++fdAmm5s4VkTio\nraDf0RG9BLPg0QuaO1dE4qC2gn5bW7QSzC1bYPlyuOIK7/uWLZo7V0RioTZLNkuVYPb2eoF+IJC2\naW6Gnh5oa1P1jojMS/Eu2QyUYE6Qy/sHg34u79/WprlzRaSm1VZ6J4pK8v4iIjUmfkE/at5fRKQG\n1WR6p2xefv16uPxyPXpBRGKn5oJ+5FG1pfL+IiI1qqbSOxpVKyJSWk0FfY2qFREpraaCvkbVioiU\nVlNBX6NqRURKi3Qj18yuBG4FEsCdzrkvFaz/CnCJ//YE4GTn3In+uuuAz/jrvuCc+3Y1Oh5m3eql\ndJ61RKNqRUSKKBv0zSwB3AZcAaSBLjPb6px7OtfGOffHgfYfA87zX58E/BmwBnDADn/bV6t6FgWC\no2r1WAURkXFRrvQvAvY65/YBmNk9wDuBp0Par8cL9ABvB77vnDvkb/t94Epgy1Q6HZUmRRERyRcl\np78UeDHwPu0vm8DMlgNnAI9Usq2Z3WBm3WbW3RthwpMoVL4pIjJRtW/kXgPc55zLVrKRc+4O59wa\n59yatioNmFL5pojIRFGC/gFgWeB9u7+smGvIT91Usm1VqXxTRGSiKEG/C1hhZmeYWQNeYN9a2MjM\nVgKLgZ8EFj8EvM3MFpvZYuBt/rJpp/JNEZGJyt7Idc6NmNmNeME6AdztnNtjZjcD3c653B+Aa4B7\nXGBWFufcITP7PN4fDoCbczd1Z4LKN0VE8tXmzFlhSs2oJSIyj0WdOaumRuSWVGReXBGRuIlH0O/t\nhQ0bvCkS+/u97xs2eMtFRGIkHkE/Ny9uUG5eXBGRGIlH0Ne8uCIiQFyCvubFFREBanC6xFCaF1dE\nJEZBHzQvrojEXjzSOyIiAijoi4jEioK+iEiMKOiLiMSIgr6ISIwo6IuIxIiCvohIjCjoi4jEiIK+\niEiMKOiLiMSIgr6ISIzMuekSzawX6JntfgQsAX41252YYTrneNA515blzrmyDxebc0F/rjGz7ijz\nTtYSnXM86JzjSekdEZEYUdAXEYkRBf3y7pjtDswCnXM86JxjSDl9EZEY0ZW+iEiMxDrom9kyM3vU\nzJ42sz1mdpO//CQz+76ZPe9/X+wvNzP7mpntNbPdZnb+7J5B5cysycyeMLNd/jn/ub/8DDN73D+3\n/2VmDf7yRv/9Xn99x2z2fyrMLGFmT5rZg/77OJzzfjN7ysx2mlm3v6xmf78BzOxEM7vPzJ41s2fM\n7M21fs6ViHXQB0aATzrnzgbeBHzUzM4GPgX8wDm3AviB/x7gKmCF/3UDcPvMd3nKhoBLnXPnAquB\nK83sTcAtwFecc2cBrwIb/PYbgFf95V/x281XNwHPBN7H4ZwBLnHOrQ6UKtby7zfArcC/OudWAufi\n/cxr/Zyjc87py/8CHgCuAJ4DTvWXnQo857/+W2B9oP1Yu/n4BZwA/BS4GG/ASr2//M3AQ/7rh4A3\n+6/r/XY2232fxLm24/1jvxR4ELBaP2e///uBJQXLavb3G1gE/Lzw51XL51zpV9yv9Mf4/4U/D3gc\nOMU590t/1UvAKf7rpcCLgc3S/rJ5xU9z7AReAb4PvAC85pwb8ZsEz2vsnP31/UBqZntcFV8FNgKj\n/vsUtX/OAA74npntMLMb/GW1/Pt9BtAL/J2fyrvTzBZQ2+dcEQV9wMxagPuBTzjnDgfXOe/Pf02V\nODnnss651XhXvxcBK2e5S9PKzN4BvOKc2zHbfZkFv+WcOx8vjfFRM3tLcGUN/n7XA+cDtzvnzgOO\nMZ7KAWrynCsS+6BvZkm8gP+Pzrl/9he/bGan+utPxbsiBjgALAts3u4vm5ecc68Bj+KlNk40s3p/\nVfC8xs7ZX78I6Jvhrk5VJ7DOzPYD9+CleG6lts8ZAOfcAf/7K8D/xvsjX8u/32kg7Zx73H9/H94f\ngVo+54rEOuibmQF3Ac845/46sGorcJ3/+jq8XH9u+X/x7/i/CegP/JdxXjCzNjM70X/djHcP4xm8\n4P9uv1nhOec+i3cDj/hXSvOGc+7Tzrl251wHcA3eOXyAGj5nADNbYGYLc6+BtwH/QQ3/fjvnXgJe\nNLPX+4suA56mhs+5YrN9U2E2v4Dfwvtv3m5gp/+1Fi9/+wPgeeBh4CS/vQG34eXAnwLWzPY5TOKc\nzwGe9M/5P4DP+svPBJ4A9gLfBRr95U3++73++jNn+xymeP5vBR6Mwzn757fL/9oD/Dd/ec3+fvvn\nsRro9n/H/w+wuNbPuZIvjcgVEYmRWKd3RETiRkFfRCRGFPRFRGJEQV9EJEYU9EVEYkRBX0QkRhT0\nRURiREFfRCRG/j+v680mHEhNRAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nAx1vLBXxj3vkAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab_type": "code",
"id": "31udjlISzKoH",
"outputId": "61e3c974-60b8-474a-be67-befc46f344b9",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 521
}
},
"source": [
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01[:,1], c='r', s=20)\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_c[:,1], s=20)\n",
"plt.show()\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01[:,1], c='r', s=20)\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01_2[:,1], c='g', s=20)\n",
"plt.show()"
],
"execution_count": 26,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab_type": "code",
"outputId": "95b4411d-cdd7-4fbb-928d-f8532490fdd6",
"id": "GNe3O06y0oIW",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 126
}
},
"source": [
"n = 20000\n",
"theta = 0.3\n",
"r = 30\n",
"\n",
"k = int(n**theta)\n",
"print(n,k)\n",
"\n",
"c = np.log(k)\n",
"m_base = int(k*(1-theta)/theta)\n",
"r_20per = int(r/5)\n",
"\n",
"ans_01 = list()\n",
"ans_01_2 = list()\n",
"ans_c = list()\n",
"print()\n",
"for alpha in range(1,r):\n",
" if alpha % r_20per == 0:\n",
" print(alpha/r)\n",
" \n",
" m = int((1+3 * (alpha/r)) * c * m_base)\n",
" \n",
" tmp = list()\n",
" for i in range(4):\n",
" tmp.append(solve_with_zero_one(n, k, m, t_values=[m, k]))\n",
" ans_01.append(np.average(tmp, axis=0))\n",
"\n",
" tmp = list()\n",
" for i in range(4):\n",
" tmp.append(solve_with_zero_one_2(n, k, m, t_values=[m, k]))\n",
" ans_01_2.append(np.average(tmp, axis=0))\n",
"\n",
"\n",
" tmp = list()\n",
" for i in range(4):\n",
" tmp.append(solve_with_choose(n, k, m, t_values=[m, k]))\n",
" ans_c.append(np.average(tmp, axis=0))"
],
"execution_count": 28,
"outputs": [
{
"output_type": "stream",
"text": [
"20000 19\n",
"\n",
"0.2\n",
"0.4\n",
"0.6\n",
"0.8\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"colab_type": "code",
"id": "LUNNxKEh0oIk",
"colab": {}
},
"source": [
"h_01=np.array(ans_01)\n",
"h_01_2=np.array(ans_01_2)\n",
"h_c=np.array(ans_c)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab_type": "code",
"outputId": "45f63146-5de2-4fc9-8566-60c6493663ad",
"id": "HTUGQjfKQUL8",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 521
}
},
"source": [
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01[:,0], c='r', s=20)\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_c[:,0], s=20)\n",
"plt.show()\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01[:,0], c='r', s=20)\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01_2[:,0], c='g', s=20)\n",
"plt.show()"
],
"execution_count": 30,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\nVlhiAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAF1NJREFUeJzt3X9s3Hd9x/HnG/8IJ4NrIDdUNcld\nmEpp1KHSuhlTEVSj3tpuqgdCU7wh2GSRaVsQHWOjVafSVSC2aRsZ0FG6HSuE5UrXsRFVmTpGO6FN\nQO2sP5I0S8nKpU3o6JcfzjZj1U763h/fb9qza+e+X/u+9737+PWQrLv73Eef7ztf16+eP/f298zd\nERGRsLys6AJERKT9FO4iIgFSuIuIBEjhLiISIIW7iEiAFO4iIgFSuIuIBEjhLiISIIW7iEiA+os6\n8MaNG71arRZ1eBGRnnTgwIHvu3u51bzCwr1arTI9PV3U4UVEepKZHU8zT9syIiIBUriLiARI4S4i\nEiCFu4hIgBTuIiIBUriLiARI4S4iEiCFu4hIgBTuIiIBahnuZvY5M3vWzA6t8LyZ2SfN7JiZPWZm\nl7W/TBERySLNK/e7gGvO8fy1wIXJ107gM2svS6QHRBFMTcW37VpyNmLq5BTRbIo1Mxw/euoIU1/9\nPNFTR9o2N0uteRw/i7yOn/pc5fBvasndW34BVeDQCs99FphoenwUOL/VmpdffrmL9Ky9e91LJffz\nzotv9+5d+5KP7fXSR0t+3sfP89JHS7734DnWzHD8vXfs8tLN+Hk34aWb8b137Frz3Cy15nH8LPI6\nfupz1eZ/EzDtKXLb4rnnZmZV4D53v2SZ5+4D/sjd/y15/DXgw+5+zquCjY6Oui4cJj0piqBSgbm5\nF8dKJTh+HMotL9a3/JKzEZXdFeZOv7hmqb/E8RuOUx5asmaG40dPHaFy5zbmBpqmLsDxnY9T3nLx\nquZmqTWP42eR1/FTn6sc/k1mdsDdR1vN6+gbqma208ymzWw6auOvsiId1WjA4ODisYGBeHy1S840\nGOxbvOZA3wCNmWXWzHD8xtGHGHx+ydTn4/HVzs1Sax7HzyKv46c+Vzn8m9JqR7ifBDY3Pd6UjL2E\nu9/p7qPuPlpe5SsckcJVqzA/v3hsYSEeX+2SI1Xmzyxec+HMAtWRZdbMcPzqRduZX/JTvvCyeHy1\n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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab_type": "code",
"outputId": "3feac48f-70dd-4ccf-8b59-c5088634feee",
"id": "bDX-ltHMQUMB",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 521
}
},
"source": [
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01[:,1], c='r', s=20)\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_c[:,1], s=20)\n",
"plt.show()\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01[:,1], c='r', s=20)\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01_2[:,1], c='g', s=20)\n",
"plt.show()"
],
"execution_count": 31,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\nBw64xNshlVSTAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab_type": "code",
"outputId": "21cace21-51a4-4ca5-f570-3801dd8ee47c",
"id": "jdn_RdWZ6ElF",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 126
}
},
"source": [
"n = 50000\n",
"theta = 0.2\n",
"r = 30\n",
"\n",
"k = int(n**theta)\n",
"print(n,k)\n",
"\n",
"c = np.log(k)\n",
"m_base = int(k*(1-theta)/theta)\n",
"r_20per = int(r/5)\n",
"\n",
"ans_01 = list()\n",
"ans_01_2 = list()\n",
"ans_c = list()\n",
"print()\n",
"for alpha in range(1,r):\n",
" if alpha % r_20per == 0:\n",
" print(alpha/r)\n",
" \n",
" m = int((1+3 * (alpha/r)) * c * m_base)\n",
" \n",
" tmp = list()\n",
" for i in range(4):\n",
" tmp.append(solve_with_zero_one(n, k, m, t_values=[m, k]))\n",
" ans_01.append(np.average(tmp, axis=0))\n",
"\n",
" tmp = list()\n",
" for i in range(4):\n",
" tmp.append(solve_with_zero_one_2(n, k, m, t_values=[m, k]))\n",
" ans_01_2.append(np.average(tmp, axis=0))\n",
"\n",
"\n",
" tmp = list()\n",
" for i in range(4):\n",
" tmp.append(solve_with_choose(n, k, m, t_values=[m, k]))\n",
" ans_c.append(np.average(tmp, axis=0))"
],
"execution_count": 32,
"outputs": [
{
"output_type": "stream",
"text": [
"50000 8\n",
"\n",
"0.2\n",
"0.4\n",
"0.6\n",
"0.8\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"colab_type": "code",
"id": "riOCjBXH6ElZ",
"colab": {}
},
"source": [
"h_01=np.array(ans_01)\n",
"h_01_2=np.array(ans_01_2)\n",
"h_c=np.array(ans_c)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab_type": "code",
"outputId": "14c3905a-a2c5-44c4-d00c-b8b8931d12ab",
"id": "M04GgjAEQbUb",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 521
}
},
"source": [
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01[:,0], c='r', s=20)\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_c[:,0], s=20)\n",
"plt.show()\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01[:,0], c='r', s=20)\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01_2[:,0], c='g', s=20)\n",
"plt.show()"
],
"execution_count": 34,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nBeRwNzMroP8P99BJxmsE2VQAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab_type": "code",
"outputId": "5bef7a1c-d732-4d21-f5e4-1ba5b0259ca0",
"id": "YMYkCfFXQbUe",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 521
}
},
"source": [
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01[:,1], c='r', s=20)\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_c[:,1], s=20)\n",
"plt.show()\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01[:,1], c='r', s=20)\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01_2[:,1], c='g', s=20)\n",
"plt.show()"
],
"execution_count": 35,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAGB9JREFUeJzt3X9sXfdZx/H34/TauZB6zRyzdnGI\nS5sxqimklVWKwmDaGmgrcIGIqYFqG1irEBRt2qDpNFSq8g/xtElM6jayedoPDXcdBhKJTh2shUmF\nlrhb4vXnmnYJcfrrzsvSWrOdm96HP85Nc+3avudcn3PPj/t5Sda993u/Od/nHp88Pvd7n/s95u6I\niEixdKUdgIiIxE/JXUSkgJTcRUQKSMldRKSAlNxFRApIyV1EpICU3EVECkjJXUSkgJTcRUQK6IK0\nBt60aZMPDg6mNbyISC49+uijP3L3/mb9Ukvug4ODTE5OpjW8iEgumdnxMP00LSMiUkBK7iIiBaTk\nLiJSQEruIiIFpOQuIlJASu4iIgWk5C4iUkBNk7uZfdHMXjazx1Z43szs02Z21MymzOyq+MMUEZEo\nwpy5fwm4bpXnrwe21X9uAT679rBERFJSqcChQ8FtjjVN7u7+HeDHq3S5EfiKBx4GLjKzS+IKUESk\nbcbHYetW2LUruB0fTzuilsUx574ZONHweLreJiKSH5UKjIzA3BycPh3cjozk9gy+rR+omtktZjZp\nZpOVnO4wESmoY8egu3txW6kUtOdQHMn9JLCl4fFAve0N3H2/uw+5+1B/f9NFzURE2mdwEM6cWdxW\nrQbtORRHcj8IvK9eNXMNcNrdX4hhuyIi7dPfD2NjUC5Db29wOzYWtOdQ0yV/zWwceBewycymgb8B\nSgDu/jngPuAG4CjwU+CPkwpWRCRRe/bAtdcGUzGDg7lN7BAiubv7nibPO/DnsUUkIpKm/v5wSb1S\nyfQfAX1DVUQkqhyUTCq5i4hEkZOSSSV3EZEoclIyqeQuIhJFTkomldxFRKLISclk02oZERFZIgcl\nk0ruIrJY2BK/tEsB0x4/bMlkSjQtIyLnhS3xS7sUMO3xc8CC7yC139DQkE9OTqYytogso1IJEuXc\n3Pm2chmOH198hhq2X9pxFpSZPeruQ8366cxdRAJhS/zSLgVMe/ycUHIXkUDYEr+0SwHTHj8nlNxF\nJBC2xC/tUsC0x88JzbmLyGKqlsm0sHPuKoUUkcXClvilXQoYZfy0/xCkML6mZUSk2NIum0xpfE3L\niEhxpV02mcD4KoUUEUm7bDLF8ZXcRaS40i6bTHF8JXcRKa60yyZTHF9z7iJSfAWqllEppIi8bmZ2\ngelTcwxsLNO3oaft24w0fhKJOIGyzUivv9zL9MXbGCiX6Ys1ipUpuYsU3IHDJ9k7MUWpq4tqrcbo\n7u0M79jctm1GGn98PLgeaXd3MFc9NhasnZ4xib3+GGlaRqTAZmYX2LnvAeartdfb1pe6eGjvu1s+\ng4+yzUjjp122GFJirz8klUKKCNOn5ih1Lf5vXurqYvrU3Ar/It5tRho/7bLFkBJ7/TFTchcpsIGN\nZaq12qK2aq3GwMZyW7YZafy0yxZDSuz1x0zJXaTA+jb0MLp7O+tLXVzYcwHrS12M7t6+pg9Vo2wz\n0vhply2GlNjrj5nm3EU6QMdXyyQgsdffhEohReR1fXOv0PfiMVg/CBviSZh9G3pCJ6pI44csW0wq\nuYbtG+n1R+gbFyV3kaJLu7wwgfGTKkVMq2wxCZqWESmytMsLExg/qVLEJMoWk6BSSBFJv7wwgfGT\nKkVMs2wxCUruIkWWdnlhAuMnVYqYZtliEpTcRYos7fLCBMZPqhQxzbLFJGjOXaQTpF1emMD4aVfL\npEWlkCJyXp4uZh1SUqWIaZQtJkHTMiIZMzO7wJETP2FmdiHtUFLR6a8/LjpzF8mQItVZt6LTX3+c\nQp25m9l1Zva0mR01s9uXef7nzexBM/uemU2Z2Q3xhypSbDOzC+ydmGK+WuPVhbPMV2vcNjHVMWew\nnf7649Y0uZvZOuBu4HrgCmCPmV2xpNtfA/e6+5XATcBn4g5UpOiKVmcdVae//riFOXO/Gjjq7s+5\n+xngHuDGJX0c6K3ffxPwfHwhinSGotVZR9Xprz9uYZL7ZuBEw+PpelujO4GbzWwauA/4i+U2ZGa3\nmNmkmU1WKpUWwhUprqLVWUfV6a8/bnF9oLoH+JK7f9LMfhX4qpm9w90X/Rl29/3Afgjq3GMaW6Qw\nhndsZuflmzJdZ52kTn/9cQqT3E8CWxoeD9TbGo0A1wG4+/+Y2XpgE/ByHEGKdJKi1Fm3qtNff1zC\nTMscAraZ2aVm1k3wgenBJX3+D3gPgJn9ErAe0LyLiEhKmiZ3dz8L3ArcDzxJUBXzuJndZWbD9W4f\nBT5oZkeAceADnta6BiIiEm7O3d3vI/igtLHtjob7TwA74w1NRERapeUHREQKSMldRKSAlNxFRApI\nyV2kUaUChw4Ft2ltM4kYpOMouYucMz4eXMx5167gdny8/dtMIgbpSLoSkwgEZ8lbt8JcwyJV5TIc\nP976RSaibjOJGKRwwl6JSWfuIhBcAq67e3FbqRS0t2ubScQgHUvJXQSCa3ueObO4rVoN2tu1zSRi\nkI6l5C4CwbTH2FgwDdLbG9yOja1tOiTqNpOIQTqW5txFGlUqwTTI4GB8STXqNpOIQQoj7Jy7rqEq\n0qi/P1pCDZOIo24zTP8E/wDMzC5oyd0C0LSMSKvSKltMcNwDh0+yc98D3PyFR9i57wEOHl66urfk\nhaZlRFqRVtliguPOzC6wc98DzFfPX2NnfamLh/a+W2fwGaJSSJEkpVW2mOC4ukB1sSi5i7QirbLF\nBMfVBaqLRcldpBVplS0mOK4uUF0smnMXWYu0yhZVLdOxVAopnSHtmvAQZYtJJMuZci/TF29joFym\nL5YtnqcLVBeDkrvk1/g4jIwEHzCeORNMT+zZk3ZUixw4fJK9E1OUurqo1mqM7t7O8I7NmdumFI/m\n3CWfKpUgsc/NwenTwe3ISKbWQJ+ZXWDvxBTz1RqvLpxlvlrjtokpZmYXMrVNKSYld8mnHKygmERp\nocoVJSwld8mnHKygmERpocoVJSwld8mnHKygmERpocoVJSyVQkq+pV0tE0Ii1TIqV+xYKoWUzhB1\nxcWYhUmySZQWqlxRmlFyF2mRShIlyzTnLtIClSRK1im5i7RAJYmSdUruIi1QSaJknZK7SAtUkihZ\npw9URVo0vGMzOy/fpJJEySQld8mWiHXroeq9E6yFV0miZJWmZSQ7Il74OdTFnNO6iLVIyvQNVcmG\niBd+DnUx57QuYi2SIF0gW/Il4iqPoUoRc7BypEhSlNwlGyKu8hiqFDEHK0eKJEXJXbIh4iqPoUoR\nc7BypEhSQs25m9l1wN8D64AvuPvfLdPnvcCdgANH3P0PV9um5txlWTmrlhFpt9hWhTSzdcDdwC5g\nGjhkZgfd/YmGPtuAjwE73f2Umf1c66FLR4u4ymOoUsSUV44USUOYaZmrgaPu/py7nwHuAW5c0ueD\nwN3ufgrA3V+ON0zJtUoFDh3K1PVNRYouTHLfDJxoeDxdb2v0NuBtZvaQmT1cn8Z5AzO7xcwmzWyy\nov/onUF15iKpiOsD1QuAbcC7gD3A583soqWd3H2/uw+5+1C/3iYXX6UCIyNBnfnp08HtyIjO4EXa\nIExyPwlsaXg8UG9rNA0cdPequ/8Q+AFBspdOpjpzkdSESe6HgG1mdqmZdQM3AQeX9PlXgrN2zGwT\nwTTNczHGKXmkOnOR1DRN7u5+FrgVuB94ErjX3R83s7vMbLje7X5gxsyeAB4E/srdZ5IKWnJCdeYi\nqdHaMpI81ZmLxEZry0hmzJR7OXLxNmbKvc37zi5w5MRPYr0WaZRtJjG+SBq0nrsk6sDhk+ydmKLU\n1UW1VmN093aGdyytpI3eNy/ji6RFZ+6SmJnZBfZOTDFfrfHqwlnmqzVum5ha9qw4St+8jC+SJiV3\nSUyoZXlb6JuX8UXSpOQuiQm1LG8LffMyvkialNwlMaGW5W2hb17GF0mTSiElcaGW5W2hb17GF4lT\nbEv+iqxVqGV5W+ibl/FF0qBpGRGRAlJyFxEpICV3EZECUnIXESkgJXcRkQJSchcRKSAl9xzTCoYi\nshLVueeUVjAUkdXozD2HtIKhiDSj5J5DWsFQRJpRcs8hrWAoIs0oueeQVjAUkWb0gWpODe/YzM7L\nN2kFQxFZls7cc6xv7hV++cVn6Jt7ZfWOlQocOhTcNhOhr0oxRbJLyT2vxsdh61bYtSu4HR9fW7+I\nfQ8cPsnOfQ9w8xceYee+Bzh4+OQaX5CIxEkX68ijSiVIvnMN1THlMhw/Dv390ftF7Dszu8DOfQ8w\nXz3/oe76UhcP7X23podEEhb2Yh06c8+jY8egu3txW6kUtLfSL2JflWKKZJ+Sex4NDsKZM4vbqtWg\nvZV+EfuqFFMk+5Tc86i/H8bGgmmT3t7gdmzsjVMtYftF7KtSTJHs05x7nlUqwbTJ4ODyCTtqv4h9\ndTFpkfbTBbJzKlLC7O9vnqyBmXIv0xdvY6Bcpi/Gvn1zr9D34jFYPwgbmschIu2j5J4hSaz0GGWb\nkcYfH4eRkeBD2DNngimcPXvWFKuIxEdz7hmRxEqPUbYZafxKJUjsc3Nw+nRwOzIS7ktSItIWSu4Z\nkUR5YZRtRho/SomliKRCyT0jkigvjLLNSONHKbEUkVQouWdEEuWFUbYZafwoJZYikgqVQmZMEuWF\nUbYZafwoJZYiEguVQuZU34ae2GvGo2wz0vghSzFFpP1CTcuY2XVm9rSZHTWz21fpt9vM3Mya/lUR\nEZHkNE3uZrYOuBu4HrgC2GNmVyzT70LgQ8AjcQcpIiLRhDlzvxo46u7PufsZ4B7gxmX6/S2wD5iP\nMT4REWlBmOS+GTjR8Hi63vY6M7sK2OLu/xZjbCIi0qI1l0KaWRfwKeCjIfreYmaTZjZZ0bcZRUQS\nEya5nwS2NDweqLedcyHwDuA/zewYcA1wcLkPVd19v7sPuftQv6osREQSEya5HwK2mdmlZtYN3AQc\nPPeku592903uPujug8DDwLC7q4hdRCQlTZO7u58FbgXuB54E7nX3x83sLjMbTjpAERGJLtSXmNz9\nPuC+JW13rND3XWsPS0RE1kJry4iIFJCSu4hIASm5i4gUkJK7iEgBKbmLiBSQknvSKhU4dEjXFxWR\ntlJyT9L4OGzdCrt2Bbfj42lHJCIdQsk9KZUKjIzA3BycPh3cjozoDF5E2kLJPSnHjkF39+K2Uilo\nFxFJmJJ7UgYH4cyZxW3VatAuIpIwJfek9PfD2BiUy9DbG9yOjemaoyLSFrpAdpL27IFrrw2mYgYH\nldhFpG105r4WIcocZ8q9HLl4GzPl3jYGJiKdTmfurRofD6pfuruDufWxseBMvcGBwyfZOzFFqauL\naq3G6O7tDO/YvMIGRUTiozP3VoQoc5yZXWDvxBTz1RqvLpxlvlrjtokpZmYXUgxcRDqFknsrQpQ5\nTp+ao9S1ePeWurqYPjWXfHwi0vGU3FsRosxxYGOZaq22uEutxsDGcvLxiUjHU3JvRYgyx74NPYzu\n3s76UhcX9lzA+lIXo7u307ehJ8XARaRTmLunMvDQ0JBPTub8GtqVStMyx5nZBaZPzTGwsazELiJr\nZmaPuvtQs36qllmDmXIv0xdvY6Bcpm+FPn0beqIl9RB/MEREmlFyb1EiZY4hyitFRMLQnHsLEilz\n1CqSIhIjJfcWJFLmqFUkRSRGSu4tSKTMUatIikiMlNxbkEiZo1aRFJEYqRRyDRIpc1S1jIisQqWQ\n5ySYLCOXOYbR36+kLiJrVuxpGV2gWkQ6VHGTu0oLRaSDFTe5q7RQRDpYcZO7SgtFpIMVN7mrtFBE\nOlixq2V0gWoR6VDFTu4QrbRQNeYiUhDFnZaJSmWTIlIgSu6gskkRKRwld1DZpIgUTqjkbmbXmdnT\nZnbUzG5f5vmPmNkTZjZlZt82s63xh5oglU2KSME0Te5mtg64G7geuALYY2ZXLOn2PWDI3bcD/wSM\nxh1oolQ2KSIFE6Za5mrgqLs/B2Bm9wA3Ak+c6+DuDzb0fxi4Oc4g20JlkyJSIGGS+2bgRMPjaeBX\nVuk/AnxzLUGlRisyikhBxPqBqpndDAwBn1jh+VvMbNLMJitrrESZOf48R+7/b2aOP796v9kFjpz4\nydqubyoikjNhztxPAlsaHg/U2xYxs2uBjwO/4e7LZlJ33w/sh+BiHZGjrTvwmW+w99l1lGqvUf3W\ni4xe9hrDf/YHb+x3+CR7J6YodXVRrdUY3b2d4R2bWx1WRCQ3wpy5HwK2mdmlZtYN3AQcbOxgZlcC\n/wAMu/vL8Yd53szx59n77DrmSz282vMzzJd6uO3ZdW84g5+ZXWDvxBTz1RqvLpxlvlrjtokpncGL\nSEdomtzd/SxwK3A/8CRwr7s/bmZ3mdlwvdsngA3AN8zssJkdXGFzazb91DFKtdcWtZVqrzH91LHF\n/U7NUepa/PJKXV1Mn5pLKjQRkcwItbaMu98H3Lek7Y6G+9fGHNeKBt4+SPVbLy5qq3atY+Dtg4v7\nbSxTrdUW96vVGNhYTjpEEZHU5e4bqn1b38roZa+xvrrAhQs/ZX11gdHLXqNv61sX99vQw+ju7awv\ndXFhzwWsL3Uxunt7/Nc8FRHJIHNv+XPNNRkaGvLJycmW//3M8eeZfuoYA28ffENiX9RvdoHpU3MM\nbCwrsYtI7pnZo+4+1Kxfbpf87dv61lWT+uv9NvSETur6QyAiRZHb5B43lU2KSJHkbs49CSqbFJGi\nUXJHZZMiUjxK7qhsUkSKR8kdlU2KSPHoA9W64R2b2Xn5JlXLiEghKLk3iFI2KSKSZZqWEREpICV3\nEZECUnIXESkgJXcRkQJSchcRKSAldxGRAlJyFxEpoNTWczezCnA85s1uAn4U8zbjpPjWLusxKr61\ny3qMace31d37m3VKLbknwcwmwyxinxbFt3ZZj1HxrV3WY8x6fOdoWkZEpICU3EVECqhoyX1/2gE0\nofjWLusxKr61y3qMWY8PKNicu4iIBIp25i4iIuQ0uZvZL5rZ4YafV8zsw2Z2p5mdbGi/oc1xfdHM\nXjazxxra3mxm/25mz9RvN9bbzcw+bWZHzWzKzK5KKb5PmNlT9Rj+xcwuqrcPmtlcw778XErxrfg7\nNbOP1fff02b2W0nHt0qMX2+I75iZHa63p7EPt5jZg2b2hJk9bmYfqrdn4jhcJb5MHIerxJep4zAU\nd8/1D7AOeBHYCtwJ/GWKsfw6cBXwWEPbKHB7/f7twL76/RuAbwIGXAM8klJ8vwlcUL+/ryG+wcZ+\nKe6/ZX+nwBXAEaAHuBR4FliXRoxLnv8kcEeK+/AS4Kr6/QuBH9T3VSaOw1Xiy8RxuEp8mToOw/zk\n8sx9ifcAz7p73F+IiszdvwP8eEnzjcCX6/e/DPxuQ/tXPPAwcJGZXdLu+Nz9W+5+tv7wYWAgyRhW\ns8L+W8mNwD3uvuDuPwSOAlcnFlzdajGamQHvBcaTjmMl7v6Cu3+3fv9V4ElgMxk5DleKLyvH4Sr7\nbyWpHIdhFCG538Ti/0y31t/affHcW8+UvcXdX6jffxF4S/3+ZuBEQ79pVj+I2uFPCM7izrnUzL5n\nZv9lZu9MKyiW/51mcf+9E3jJ3Z9paEttH5rZIHAl8AgZPA6XxNcoE8fhMvHl5TgEcp7czawbGAa+\nUW/6LHAZsAN4geAtcmZ48D4uk+VJZvZx4CzwtXrTC8DPu/uVwEeAfzSz3hRCy/TvdIk9LD7RSG0f\nmtkGYAL4sLu/0vhcFo7DleLLynG4THx5Og6BnCd34Hrgu+7+EoC7v+Tur7l7Dfg82Xh79NK5t7n1\n25fr7SeBLQ39BuptbWdmHwB+G/ij+n986m8zZ+r3HyWYS3xbu2Nb5Xeamf0HYGYXAL8PfP1cW1r7\n0MxKBInpa+7+z/XmzByHK8SXmeNwufjychw2yntyX3SmtGSu8PeAx97wL9rvIPD++v33Awca2t9X\nr1a4Bjjd8La5bczsOuA2YNjdf9rQ3m9m6+r3fwHYBjyXQnwr/U4PAjeZWY+ZXVqP73/bHV+Da4Gn\n3H36XEMa+7A+7z8GPOnun2p4KhPH4UrxZeU4XCW+vByH56X9iW6rP8DPAjPAmxravgp8H5gi2OmX\ntDmmcYK3bFWCubcRoA/4NvAM8B/Am+t9Dbib4Ezk+8BQSvEdJZgzPFz/+Vy9727g8Xrbd4HfSSm+\nFX+nwMfr++9p4Pq0fsf19i8Bf7qkbxr78NcIplymGn6nN2TlOFwlvkwch6vEl6njMMyPvqEqIlJA\neZ+WERGRZSi5i4gUkJK7iEgBKbmLiBSQkruISAEpuYuIFJCSu4hIASm5i4gU0P8DYQDSChGNS+UA\nAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAF1tJREFUeJzt3X9sXXd5x/H308QuVsBkLHeoapN7\nsylUjappraysk8aERryl1dZsQ0L1hoDtimzSUlEBmzoxMdT9BQgUMTpo0K0o1XAp+1VLK+oYKiBN\nK7XLj7ZJCIRipwmlPRRqJnOX2O2zP851c+3avufY59zvOed+XpJ1r7/+5nseX588Pvfr5z7X3B0R\nEamWy0IHICIi2VNyFxGpICV3EZEKUnIXEakgJXcRkQpSchcRqSAldxGRClJyFxGpICV3EZEK2h7q\nwLt27fJGoxHq8CIipfTYY4/92N1rveYFS+6NRoOZmZlQhxcRKSUzm0syT9syIiIVpOQuIlJBSu4i\nIhWk5C4iUkFK7iIiFaTkLiJSQUruIiIV1DO5m9ndZvacmT25ztfNzD5uZmfM7HEzuz77MEVEJI0k\nV+6fAQ5t8PUbgX2djyPAJ7celohIIFEE09PxbVZLLkRMn58mWshuzV56Jnd3/xrwkw2mHAY+67FH\ngJ1mdkVWAYqI9M3kJNTrMD4e305Obn3JJyapH6szfu849WN1Jp/c+ppJZLHnfiXwdNfn5zpjIiLl\nEUXQbEK7DfPz8W2zuaUr+GghojnVpL3UZv7CPO2lNs0Hmn25gu/rH1TN7IiZzZjZTJThUx4RkS2b\nnYXh4ZVjQ0Px+GaXfGGW4W0r1xzaNsTsC5tfM6kskvt5YHfX51d1xl7B3Y+7+5i7j9VqPZuaiYj0\nT6MBFy+uHFtcjMc3u+TOBhdfXLnm4ouLNHZufs2kskjuU8DbO1UzNwDz7v5MBuuKiPRPrQatFoyM\nwOhofNtqxeObXXJHjdbhFiPbRxi9fJSR7SO0Dreo7cj/4tbcfeMJZpPAm4BdwLPA3wFDAO7+KTMz\n4BPEFTU/B/7U3Xv28h0bG3O1/BWRwomieCum0dhSYl+x5ELE7AuzNHY2tpzYzewxdx/rNa9nP3d3\nn+jxdQf+MkVsIlIBWSasQqnVkiX1FL8EajtqfX+M9ApVEUktVHlfYeRQMpm1ntsyedG2jEg5RQsR\n9WN12kvtl8dGto8wd9tcta7g1xNFcUJvX/r+GRmBubnMtnE2knRbRlfuIpJKyPK+QsihZDIPSu4i\nkkrI8r5CyKFkMg9K7iKSSsjyvkLIoWQyD9pzF5FNqWy1TFI5lEwmkVkppIjIWkKU9xVK0pLJQLQt\nIyIrRGdPMf2le4jOnuoxMfvWuGkkjpN0LXeTzg3RxjcNJXcRednkXbdSP76f8YffSf34fibvunWd\niWHrvBPHSbqa/KRzy1Dnrz13EQHiK+H68f20hy6NjSzC3JGT1PZc0zUxbJ134jhJV5OfdG7oOn/V\nuYtIKrOnH2X4pZVjQy/F4ysnzgat804cJ+lq8pPOLUudv5K7iADQuPoAF1dlhMXL4vGVExtB67wT\nx0m6mvykc8tS56/kLiIA1PZcQ2v3UUYWYfRCvNXR2n30FVsdoeu8E8dJupr8pHPLUuevPXcRWSE6\ne4rZ04/SuPrAmgnz0sQwdd4vHz5pnKSryU86N1Sdf9I9dyV3kYIZ9BcH5fL9B/5FlOXx9QdVkRIq\nQ4ldnnL5/kO35w10fF25ixRE6BK70HL5/gOXbeZxfF25i5RMWUrs8pLL9x+6PW/A4yu5ixREWUrs\n8pLL9x+6PW/A4yu5ixREWUrs8pLL9x+6PW/A42vPXaRgVC2japmNqOWvSEkNeivd2s+h9kNgGNiR\n1aKB2/MGOL62ZUSkOEKXLVaIkruIFEMUQbMZlw3Oz8e3zWawfvFlp+QuIsUQumyxYpTcRaQYQpct\nVoySu4gUQ+iyxYpRtYyIFMfEBBw8GLZssSKU3EWkWEKXLVaEtmVEuhT9He2XpY0zOnuK6S/dQ3T2\nVM6RFfP4g0hX7iIdk09M0pxqMrxtmIsvXqR1uMXEtROhw3qFtHFO3nUrzac/wfBLcPGr8bsWTfz5\nP/Qv3sDHH1RqPyBCedrtpo0zOnuK+vH9tIcujY0swtyRkz3fvSiTeAMfv4rU8lckhbK0200b5+zp\nRxl+aeXY0EvxeD+EPv4gU3IXoTztdtPG2bj6ABdX/S9fvCwe74fQxx9kSu4ilKfdbto4a3uuobX7\nKCOLMHoh3hJp7T7aty2R0McfZNpzF+lSlna7aeOMzp5i9vSjNK4+ECSxhj5+lSTdc1dyF8lZWX5h\nSDnoD6oiBTD5xCT1Y3XG7x2nfqzO5JNqYSv9kSi5m9khMzttZmfM7PY1vr7HzB42s2+a2eNmdlP2\noYqUS7QQ0Zxq0l5qM39hnvZSm+YDzcK/QEqqoWdyN7NtwJ3AjcB+YMLM9q+a9rfA/e5+HXAL8I9Z\nBypSNmUpr5RqSnLlfgA44+5PuftF4D7g8Ko5Dox27r8W+GF2IYqUU1nKK6WakiT3K4Gnuz4/1xnr\n9kHgbWZ2DngQuDWT6ERKrCzllVJNWfWWmQA+4+4fNbPfAO41s2vdfcVr08zsCHAEYM+ePRkdWqS4\nJq6d4ODeg6qWkb5LktzPA7u7Pr+qM9atCRwCcPf/MbNXAbuA57onuftx4DjEpZCbjFmkVGo7akrq\n0ndJtmWmgX1mttfMhon/YDq1as5Z4M0AZnYN8CpAJQGSu9AtekMfX2Q9PZO7uy8BR4GHgFPEVTEn\nzOwOM7u5M+29wLvM7NvAJPBOD/XqKBkYoWvIQx9fZCN6haqUUugWvaGPL4NLr1CVSgtdQx76+CK9\nKLlLKYWuIQ99fJFelNyllELXkIc+vkgv2nOXUgvdcTH08WXwJN1z1xtkS6llXkMeRTA7C40G1Hqv\nm+j4KddMPV9kDdqWEVk2OQn1OoyPx7eTGZQ2pl0zjxhkIGlbRgTiq+V6HdqXShsZGYG5uc1fPadd\nM48YpHJUCimSxuwsDK8sbWRoKB7v15p5xCADS8ldBOL97YsrSxtZXIzH+7VmHjHIwFJyF4F426PV\nirdBRkfj21Zra9shadfMIwYZWNpzF+mWR6WKqmUkQyqFFNmMWi1dQk2SiNOumWS+fgFID9qWEdms\nUGWLKpeUBLQtI7IZocoWVS458FQKKZKnUGWLKpeUhJTcRTYjVNmiyiUlISV3kc0IVbaocklJSHvu\nIlsRqmpF1TIDS6WQIv2Qtsyx7MeV0tC2jBRKtBAxfX6aaCFK+A8imJ6Ob7NaU6QClNylMCafmKR+\nrM74vePUj9WZfHLr7XFTrylSEdpzl0KIFiLqx+q0ly7Vb49sH2Hutrm13wwjQb136jVFSkB17lIq\nsy/MMrxtZf320LYhZl+YXecfzPas9069pkiFKLlLITR2Nrj44sr67cUXF2nsbKzzDxo9671TrylS\nIUruUgi1HTVah1uMbB9h9PJRRraP0DrcWn/7JEG9d+o1RSpEe+5SKNFCxOwLszR2NpIl4QT13qnX\nFCkw1bnLy0IntzTHr+2opYsxQb136jVFKkDbMhUXuhQw9PFFBpW2ZSosdClg6OOLVJFKISV4KWDo\n44sMMiX3CgtdChj6+CKDTMm9wkKXAoY+vsgg0577AChTtYyIbEylkPKy0KWAoY8vMoi0LSPFkqCF\nbyHWFCk4JXcpjgQtfAuxpkgJaM9diiFBC99CrCkSmOrcpVwStPAtxJoiJaHkLsWQoIVvIdYUKYlE\nyd3MDpnZaTM7Y2a3rzPnrWZ20sxOmNnnsg1TKi9BC99CrClSEj333M1sG/BdYBw4B0wDE+5+smvO\nPuB+4Lfd/adm9kvu/txG62rPXdaUoIVvIdYUCSTLOvcDwBl3f6qz8H3AYeBk15x3AXe6+08BeiV2\nyUYeLw7K5QVHaZJrgha+qeWxpkjBJdmWuRJ4uuvzc52xbm8A3mBm/21mj5jZoawClLXl0Uo3l/a8\nKkUUCSKrP6huB/YBbwImgE+b2c7Vk8zsiJnNmNlMpBeUbFq0ENGcatJeajN/YZ72UpvmA02ihc0/\npnmsSRRBsxmXIs7Px7fNpl5MJNIHSZL7eWB31+dXdca6nQOm3H3R3X9AvEe/b/VC7n7c3cfcfaym\np8mblkcr3Vza86oUUSSYJMl9GthnZnvNbBi4BZhaNeffia/aMbNdxNs0T2UYp3TJo5VuLu15VYoo\nEkzP5O7uS8BR4CHgFHC/u58wszvM7ObOtIeA583sJPAw8Ffu/nxeQQ+6PFrp5tKeV6WIIsGo/UCJ\nVbJaRkQ2pJa/AyCPVrpp1kz8i0CliCJ9p/YDsim5lE2KSGaU3CW1XMomRSRTSu6SWi5lkyKSKSV3\nSS2XskkRyZSSu6SWS9mkiGRK1TKyKRPXTnBw78HsyyZFJBNK7rJpeZRiikg2tC0jIlJBSu4iIhWk\n5C4iUkFK7iIiFaTkLiJSQUruIiIVpOQuIlJBSu4FEy1ETJ+fVhMuEdkSJfcCURtdEcmKkntBqI2u\niGRJyb0g1EZXRLKk5F4QaqMrIllSci8ItdEVkSypK2SBqI2uiGRFyb1g1EZXRLKgbZkyiyKYno5v\ns5iXdq6IFJaSe1lNTkK9DuPj8e3kOjXxSeelnSsihWbuHuTAY2NjPjMzE+TYpRdFcfJtty+NjYzA\n3BzUaunnpZ0rIsGY2WPuPtZrnq7cy2h2FoZX1sQzNBSPb2Ze2rkiUnhK7mXUaMDFlTXxLC7G45uZ\nl3auiBSeknsZ1WrQasXbJqOj8W2r9crtk6Tz0s4VkcLTnnuZRVG8bdJobJyEk85LO1dE+i7pnrvq\n3HMWLUT5vSipVkuWgJPOSztXvwhECkvbMjmqdAtflU2KFJq2ZXISLUTUj9VpL10qLRzZPsLcbXPl\nfwWqyiZFglEpZGCVbuGrskmRwlNyz0mlW/iqbFKk8JTcc1LpFr4qmxQpPO255yzXapnQVC0j0ncq\nhSyISrfwTVM2KSJ9lWhbxswOmdlpMztjZrdvMO8tZuZm1vO3ShVECxHT56f1JtYiUjg9k7uZbQPu\nBG4E9gMTZrZ/jXmvAd4NfD3rIIuo0jXsIlJ6Sa7cDwBn3P0pd78I3AccXmPe3wMfAv4vw/gKKVqI\naE41aS+1mb8wT3upTfOBpq7gRaQwkiT3K4Gnuz4/1xl7mZldD+x29//IMLbCqnQNu4hUwpZLIc3s\nMuBjwHsTzD1iZjNmNhOV+G3cKl3DLiKVkCS5nwd2d31+VWds2WuAa4GvmNkscAMwtdYfVd39uLuP\nuftYrcRVFpWuYReRSkhSCjkN7DOzvcRJ/Rbgj5e/6O7zwK7lz83sK8D73L3SRewT105wcO/B6taw\ni0ip9Uzu7r5kZkeBh4BtwN3ufsLM7gBm3H0q7yCLqtI17CJSaolexOTuDwIPrhr7wDpz37T1sERE\nZCvUW0ZEpIKU3EVEKkjJXUSkgpTcRUQqSMldRKSCKp/cg3dujCKYno5vRUT6pNLJPXjnxsnJ+I2k\nx8fj20l1jhSR/qjsOzFFCxH1Y3XaS+2Xx0a2jzB321x/XngURXFCb186PiMjMDenN7gQkU1L+k5M\nlb1yD965cXYWhlcen6GheFxEJGeVTe7BOzc2GnBx5fFZXIzHRURyVtnkHrxzY60GrVa8FTM6Gt+2\nWtqSEZG+qOye+7JoIQrbuTGK4q2YRkOJXUS2LOmee6LGYWUWvHNjraakLiJ9V9ltmb5QDbuIFJSS\n+2aphl1ECkzJfTOiCJrNuIZ9fj6+bTZ1BS8ihaHkvhmqYReRglNy3wzVsItIwSm5b4Zq2EWk4Cpf\nCpmbiQk4eFA17CJSSKVN7nm8OCn1mnnUsOtFTyKSgVJuy+TRyjd4e2BQeaWIZKZ07QfyaOUbvD0w\nqEWwiCRS2Za/ebTyDd4eGFReKSKZKl1yz6OVb/D2wKDyShHJVOmSex6tfIO3BwaVV4pIpkq3576s\nENUyeVC1jIhsoPItf/No5Ru8PTCoRbCIZKJ02zKpqS2viAygaid31Y2LyICqbnJXW14RGWDVTe6q\nGxeRAVbd5K66cREZYNVN7qobF5EBVtpSyETUlldEBlS1kzukqxvXC4hEpCKquy2TlsomRaRClNxB\nZZMiUjlK7qCySRGpnETJ3cwOmdlpMztjZrev8fX3mNlJM3vczL5sZvXsQ82RyiZFpGJ6Jncz2wbc\nCdwI7AcmzGz/qmnfBMbc/VeBfwY+nHWguVLZpIhUTJJqmQPAGXd/CsDM7gMOAyeXJ7j7w13zHwHe\nlmWQfaGySRGpkCTJ/Urg6a7PzwG/vsH8JvDFrQSVSB5li2q3KyIVkekfVM3sbcAY8JF1vn7EzGbM\nbCbaSiWKyhZFRDaUJLmfB3Z3fX5VZ2wFMzsIvB+42d0vrLWQux939zF3H6tt9gpZZYsiIj0lSe7T\nwD4z22tmw8AtwFT3BDO7DriLOLE/l32YXVS2KCLSU8/k7u5LwFHgIeAUcL+7nzCzO8zs5s60jwCv\nBr5gZt8ys6l1lts6lS2KiPSUqLeMuz8IPLhq7ANd9w9mHNf6lssWm834in1xUWWLIiKrlLNxmMoW\nRUQ2VM7kDipbFBHZgHrLiIhUkJK7iEgFKbmLiFSQkruISAUpuYuIVJCSu4hIBSm5i4hUkJK7iEgF\nmbuHObBZBMxlvOwu4McZr5klxbd1RY9R8W1d0WMMHV/d3Xu+gjNYcs+Dmc24+1joONaj+Lau6DEq\nvq0reoxFj2+ZtmVERCpIyV1EpIKqltyPhw6gB8W3dUWPUfFtXdFjLHp8QMX23EVEJFa1K3cREaGk\nyd3Mru68nd/yx8/M7DYz+6CZne8av6nPcd1tZs+Z2ZNdY68zsy+Z2fc6t7/QGTcz+7iZnTGzx83s\n+kDxfcTMvtOJ4d/MbGdnvGFm7a7H8lOB4lv3Z2pmf9N5/E6b2e/mHd8GMX6+K75ZM/tWZzzEY7jb\nzB42s5NmdsLM3t0ZL8R5uEF8hTgPN4ivUOdhIu5e6g9gG/AjoA58EHhfwFh+C7geeLJr7MPA7Z37\ntwMf6ty/CfgiYMANwNcDxfc7wPbO/Q91xdfonhfw8VvzZwrsB74NXA7sBb4PbAsR46qvfxT4QMDH\n8Arg+s791wDf7TxWhTgPN4ivEOfhBvEV6jxM8lHKK/dV3gx8392zfkFUau7+NeAnq4YPA/d07t8D\n/EHX+Gc99giw08yu6Hd87v6fHr8JOsAjwFV5xrCRdR6/9RwG7nP3C+7+A+AMcCC34Do2itHMDHgr\nMJl3HOtx92fc/Rud+/9L/Kb2V1KQ83C9+IpyHm7w+K0nyHmYRBWS+y2s/M90tPPU7u7lp56Bvd7d\nn+nc/xHw+s79K4Gnu+adY+OTqB/+jPgqbtleM/ummX3VzN4YKijW/pkW8fF7I/Csu3+vayzYY2hm\nDeA64OsU8DxcFV+3QpyHa8RXlvMQKHlyN7Nh4GbgC52hTwK/Avwa8AzxU+TC8Ph5XCHLk8zs/cAS\n8E+doWeAPe5+HfAe4HNmNhogtEL/TFeZYOWFRrDH0MxeDfwLcJu7/6z7a0U4D9eLryjn4Rrxlek8\nBEqe3IEbgW+4+7MA7v6su7/o7i8Bn6YYT4+eXX6a27l9rjN+HtjdNe+qzljfmdk7gd8D/qTzH5/O\n08znO/cfI95LfEO/Y9vgZ1qYxw/AzLYDfwR8fnks1GNoZkPEiemf3P1fO8OFOQ/Xia8w5+Fa8ZXl\nPOxW9uS+4kpp1V7hHwJPvuJf9N8U8I7O/XcAD3SNv71TrXADMN/1tLlvzOwQ8NfAze7+867xmplt\n69z/ZWAf8FSA+Nb7mU4Bt5jZ5Wa2txPfo/2Or8tB4Dvufm55IMRj2Nn3bwGn3P1jXV8qxHm4XnxF\nOQ83iK8s5+Elof+iu9kPYAfwPPDarrF7gSeAx4kf9Cv6HNMk8VO2ReK9tybwi8CXge8B/wW8rjPX\ngDuJr0SeAMYCxXeGeM/wW52PT3XmvgU40Rn7BvD7geJb92cKvL/z+J0Gbgz1M+6Mfwb4i1VzQzyG\nv0m85fJ418/0pqKchxvEV4jzcIP4CnUeJvnQK1RFRCqo7NsyIiKyBiV3EZEKUnIXEakgJXcRkQpS\nchcRqSAldxGRClJyFxGpICV3EZEK+n+xHE9zSmcNEQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab_type": "code",
"outputId": "2bd6ef99-5afb-4bf5-d980-0cb189cec0f1",
"id": "NTQPvSTesjnU",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 54
}
},
"source": [
"n = 50000\n",
"theta = 0.5\n",
"r = 30\n",
"\n",
"k = int(n**theta)\n",
"print(n,k)\n",
"\n",
"c = np.log(k)\n",
"m_base = int(k*(1-theta)/theta)\n",
"r_20per = int(r/5)\n",
"\n",
"ans_01 = list()\n",
"ans_01_2 = list()\n",
"ans_c = list()\n",
"print()\n",
"for alpha in range(1,r):\n",
" if alpha % r_20per == 0:\n",
" print(alpha/r)\n",
" \n",
" m = int((1+3 * (alpha/r)) * c * m_base)\n",
" \n",
" tmp = list()\n",
" for i in range(4):\n",
" tmp.append(solve_with_zero_one(n, k, m, t_values=[m, k]))\n",
" ans_01.append(np.average(tmp, axis=0))\n",
"\n",
" tmp = list()\n",
" for i in range(4):\n",
" tmp.append(solve_with_zero_one_2(n, k, m, t_values=[m, k]))\n",
" ans_01_2.append(np.average(tmp, axis=0))\n",
"\n",
"\n",
" tmp = list()\n",
" for i in range(4):\n",
" tmp.append(solve_with_choose(n, k, m, t_values=[m, k]))\n",
" ans_c.append(np.average(tmp, axis=0))"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"50000 223\n",
"\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"colab_type": "code",
"id": "vEI5VLSWsjn4",
"colab": {}
},
"source": [
"h_01=np.array(ans_01)\n",
"h_01_2=np.array(ans_01_2)\n",
"h_c=np.array(ans_c)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab_type": "code",
"id": "z25D2dx-Qdw7",
"colab": {}
},
"source": [
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01[:,0], c='r', s=20)\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_c[:,0], s=20)\n",
"plt.show()\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01[:,0], c='r', s=20)\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01_2[:,0], c='g', s=20)\n",
"plt.show()"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab_type": "code",
"id": "vMfZQ4U4Qdw9",
"colab": {}
},
"source": [
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01[:,1], c='r', s=20)\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_c[:,1], s=20)\n",
"plt.show()\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01[:,1], c='r', s=20)\n",
"plt.scatter([int((1+3 * (alpha/r)) * c * m_base) for alpha in range(1,r)], h_01_2[:,1], c='g', s=20)\n",
"plt.show()"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "8WZA6HoCQp8p",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment