Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save takahashi-r/155caec6a5e080dd691eee177dda9e69 to your computer and use it in GitHub Desktop.
Save takahashi-r/155caec6a5e080dd691eee177dda9e69 to your computer and use it in GitHub Desktop.
public_2022_11_21_全ての組み合わせが出現するまでの回数を求める.ipynb
{
"cells": [
{
"metadata": {
"ExecuteTime": {
"start_time": "2022-11-21T02:38:42.239Z",
"end_time": "2022-11-21T11:38:44.109000+09:00"
},
"trusted": true
},
"id": "4db176ee",
"cell_type": "code",
"source": "versioninfo()",
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": "Julia Version 1.8.0\nCommit 5544a0fab7 (2022-08-17 13:38 UTC)\nPlatform Info:\n OS: Windows (x86_64-w64-mingw32)\n CPU: 8 × Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz\n WORD_SIZE: 64\n LIBM: libopenlibm\n LLVM: libLLVM-13.0.1 (ORCJIT, skylake)\n Threads: 1 on 8 virtual cores\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"id": "3d8a171e",
"cell_type": "markdown",
"source": "例えば、10個のおはじきがあるとする。ここから2個ランダムに選ぶ試行を繰り返すとき、全てのおはじきが最低1回は選ばれような試行回数を求めたい。"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2022-11-21T02:38:43.298Z",
"end_time": "2022-11-21T11:39:02.327000+09:00"
},
"scrolled": true,
"trusted": true
},
"id": "9aba2402",
"cell_type": "code",
"source": "using Plots\nusing Distributions\nusing StatsBase\nusing Random\npyplot()\n\nconst rng = Xoshiro(20221121)",
"execution_count": 2,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 2,
"data": {
"text/plain": "Xoshiro(0x4f16cdc466490183, 0x25e86977b44ac0e8, 0x59f9101e471d992d, 0x7cd83307570ec348)"
},
"metadata": {}
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2022-11-21T02:38:43.747Z",
"end_time": "2022-11-21T11:39:19.418000+09:00"
},
"trusted": true
},
"id": "11bd7e42",
"cell_type": "code",
"source": "# 1回の試行で2個から1つ選ぶとき、両方の要素が最低1回は選ばれる試行回数を求める\nfunction plot_n2(iter)\n ns = zeros(iter)\n for i in 1:iter\n n = 0\n samples = []\n while length(unique(samples)) != 2\n push!(samples, rand(rng, Bernoulli(0.5)))\n n += 1\n end\n ns[i] = n\n end\n histogram(1:max(ns...), ns, title=\"iter=$iter mean=$(mean(ns))\", label=false)\nend\nplot_n2(100)",
"execution_count": 3,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 3,
"data": {
"image/png": "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jBgxQo899pj+8pe/6PXXX3ffxtNPP60DBw7onXfe0eTJk93LExISNGDAAMXFxWnkyJHuV4ZefPFFLVq0SM2bN3df1rIsTZ06Ve+88462b9+uu+66y2POEydOaMCAAUpJSXEH8YQJE3T//fdr4cKFHoGVnp6uf/3rX3W6/9KlV8iq+gRrxe2UlZXp2LFj2rBhgyRpyZIldbrdmp6vy5dnZ2e7//7QQw/p4Ycf1tq1a9W/f38NGTJE0qW4Pnz4sBYvXqw77rijzvcN8HlefosS8GlHjx61JFmTJk3yWF7TMVgLFy60JFnvvvtulesjIiKsoKCgStu4+eabrdLS0iqvU7G9uv5Zvnx5tfepLsdgtWjRwurcuXOV644fP25JsoYPH+5e9uSTT1qSrE8++aTK6wwbNsySZJ04caLabVaYNGmSJclasWJFpXW33HKLJcnatm2bx/Ly8nKrRYsWHvfp9OnTVvPmza377ruvyu288cYbliRr48aNtc60Z88eS5I1Z84cj+WhoaGWJCsnJ6fSdUJDQ63AwECPZcuXL7+i57G65+jnt3PTTTdZycnJtd6PCu+9954lyZo1a1aV61955RVLkvX+++97LC8vL7eee+45y2azeWz/8ccft44ePVrn7QNNAa9gAQ1sx44d7v8ePny40vqSkhIVFhaqsLBQQUFB7uV9+/at9i3Bmj7t11SFh4dXWtapUyfl5ORUenWuefPm6tixo/73v/+5l+3evVs//vijSkpKqnylseJVnMzMTD300EOSpB9++EGJiYlas2aNMjMzde7cOY/jkE6cOFHpdtq2bevxtmSFLl26KDU11WNZbGyskXOqVdxOSUmJsrOz9ec//1mjRo3SH//4Rz333HPXfPtVuXjxosaPH6+dO3fq/fff1wMPPCCbzaZPP/1UzzzzjDZt2qQdO3bo1ltvrZftA40NgQU0sKKiIknSokWLarzc+fPnPQLrpptuqte5roTD4aj2vEYVB1FffqxPxd9ru06bNm3qPENVl7Xb7TWuu/xA9IrnYfv27dq+fXu12zl//rz772PHjtXGjRsVFhamxx57TB07dlSLFi109uxZvf766yotLa10/eqOebLb7fV+/i9/f3/17t1bK1as0OnTp/X8889r5MiR6tWrV43Xq+vzdfl9mzdvnjZs2KD169frkUcecS9/9NFHdeONN2rU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"
},
"metadata": {}
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2022-11-21T02:38:44.230Z",
"end_time": "2022-11-21T11:39:22.234000+09:00"
},
"trusted": true
},
"id": "ca5052d7",
"cell_type": "code",
"source": "# 1回の試行でN個からd個をランダムで選ぶとき、全ての要素が最低1回は選ばれる試行回数を求める\n\"\"\"\niter: 試行回数\nN : サンプル数\nd : 抽出するサンプル数\n\"\"\"\nfunction plot_nd(iter, N, d)\n ns = zeros(iter)\n for i in 1:iter\n n = 0\n samples = []\n while length(unique(samples)) != N\n push!(samples, sample(rng, 1:N, d, replace=false)...)\n n += 1\n end\n ns[i] = n\n end\n histogram(1:max(ns...), ns, title=\"iter=$iter N=$N d=$d mean=$(mean(ns))\", label=false)\nend\nplot_nd(1_000, 250, 60)",
"execution_count": 4,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 4,
"data": {
"image/png": "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jebOnavBgwerrKzM7bz79u3ToEGDdPjwYaWkpCg1NVVt2rQJ1GXVsG7dOknSyJEj3dpGjRolSVq/fr1P+yclJaljx4419q+oqNDWrVvVu3dv19eyupEjR+rUqVPasmWLX+N+/vnnFRYWpqeeesrjXJJAad26tSTPjzykc3PPMjIylJ6erldffVU7d+70uF9eXp4OHjyo6667zu0xYHh4uIYOHapvv/1W+/btq3NMlZWVuuOOO/SHP/xBnTp10mOPPaZBgwZpxowZ+uMf/+jnFdbNGKN3331XXbp00U033aRt27Zpzpw5mj17tj799FOP8/L8rbu6lJWV6frrr1d+fr5SUlI0bNgwrVy5Urfccou+/PJLDR48WN9//70eeughDRgwQEuXLtUDDzzgdh5/X89Tp07V4cOHNWLECM2YMUO33367srKyNGLECC1fvtzjWL/44gvdcMMNCg0N1eTJkzVgwAB98MEHGjFihCoqKny+5oaoq27PFxISoosuusjn/avbuHGjXnrpJf3xj3/UihUrdOrUKb+Ob0jfCC7+x+DVrFmztG7dOu3fv9/jX10dPXpUDz74oLp27arNmzfL4XC42pYsWaJ/+7d/0zPPPKNXXnmlxnGbN2/Wb3/7Wz3//PNu53zjjTdUUFDg8xjHjRunhIQEn/c/X15entq3b+9xDtQVV1zh2qf6/tXbqgsJCVGvXr30xRdf6Mcff1RERIS+/vprVVZWetz//D5uueUWn8ftcDg0depUzZkzRwsXLlRaWlqt+69bt871Q90XCQkJNYK0N3/9618leQ4KknTo0CG3v0wdPXq03nzzTUVHR7u21fZ1rb49Ly/P6z5VFi1apE8//VSjR4/WRx99pIsuukiS9Nhjj3mc+yU1rO7y8/NVWlqqn/70p/rFL36h+fPn19g3MTFRH374oXr06OHa5m/d1WXXrl2aMWOG5syZ49pWNZbrr79es2bN0mOPPSbpXCC8/fbbtXLlSm3fvl2JiYmS6vd63rNnjy677LIaYykuLtaAAQP0xBNP6Gc/+5nbWFesWKG3335b9957r2tbcnKy3nzzTX3wwQe67777XNsb6/tBXXV7vqVLl+r77793m0fni2eeeabG55dccokyMjJ8fr03pG8EWbBvoaFp8PSI0Jja52DNmTPHSDJvvvmmx/Z+/fqZ6Ohotz4uvvhic+rUKY/HVPXn68frr7/u9Zp8eUTYunVrc+mll3psO3DggJFkRo4c6dr285//3Egyn3zyicdjbrrpJiPJNV9p8+bNRpJ54IEHPO6/aNEiI8mkp6d7HWOV6o8IjTHm6NGjJioqysTExLjmmXh7RFj1uMLXj/PrwJPt27ebiIgI061bN/Pdd9+5tT/33HNm3bp15rvvvjPHjx83W7ZsMbfeequRZAYPHlzjcd/f/vY3I8n85je/8djX888/bySZt956q85xDR8+3Egy27Ztc2ubNGmSx0eEDam7rKwsI8lcdNFFpn379ub11183paWlJj8/31UvAwcOrNGfv3VXG0keH61u2LDBSDKXX36526PVqrqrfh3+vp5r88tf/tLtsXhVbQ4dOtRt/6q2xx9/vMZ2m98PqixYsMBIMjfddJNP13LgwAHTvXt307ZtW5Obm+vTMcYY8/7775uMjAxTUFBgTp48afLy8szvfvc707ZtWxMeHm527NjRaH2jaeAOFuqt6rHWli1bPD66qaioUElJiUpKSmrcrejbt6/XR4L+3GW50HXu3FlPPvmknnrqKf3Xf/2XnnrqKa/7zpo1y+raT/n5+br99tt19uxZvf322zX+f6uc/5v7wIED9dFHH+nGG2/Upk2btHLlSt12223WxlRl586dioiIUL9+/dzabrjhBi1cuNBte0PqruoR4NmzZ/W73/3OdceuU6dOeu2117Rr1y5t3bpVmzZt0vXXX1/vfmpzxRVXuD1aveSSSyRJ1157rdtSK1Vt1f/8vz6v52+++UYvvPCCPvvsM3377bduj78OHjzo9mjc0/9L1d2985f8sP39YMWKFZo2bZri4uK0ePHiOvcvLS3VmDFjdOTIES1atEi9e/f2ua/z7wD36tVLTz/9tLp37660tDT9/ve/97p8R0P7RtNAwEK9lZaWSpLmzZtX634nTpyo8QO4e/fujTouf0RFRam8vNxjW9XaS9WXrqj6d13HREZG+rV/fZfHmD59uubOnauXXnpJkydPrtc5/LV//34NHz5c3333nTIzMzV8+HCfj23VqpX+/d//XZs2bdLmzZtdAcvm16m8vFyxsbEe2xqj9qqP6Y477nBrHzt2rLZu3aovvvjCFbD8rbu6VNVbdVVzdmprO336tGubv6/nffv2KSkpScePH9fw4cM1duxYRUZGqlWrVlq3bp3Wr1/vcb6Rp+uqGk9jzidcs2aNxo8fr+7du+uzzz5zhUxvysrKNGLECH355Zd69dVXNXHiRCvjSElJ0SOPPKLNmzcHvG8EFgEL9Vb1jfuf//ynrr76ap+Pq23h0kDPwbriiiuUlZWlQ4cOuc2H8TQvqLb5McYY7du3TzExMa67CZdffrlatWrldT5NXXOP6tK2bVvNmjVLaWlpSk9P19ixYz3uZ2sOVkFBgYYPH66DBw/qvffe87rgaW2qwvaPP/7o2lbXvCN/vk5RUVE6cuSIx7bDhw973N6QuuvVq5cuuuginT17Vh07dnTbt2rbyZMnXdv8rbtA8Pf1/Kc//UllZWVavHix24T5KVOm+DVJ3xtb3w9Wr16tO++8U9HR0Vq7dq169uxZ63lKS0s1YsQIbd++XfPmzbP6y0ubNm3UoUOHGvUfqL4RWAQs1KpqgvDZs2dd/64ycOBALVu2TFlZWX4FrNq88cYbfn1jdjqdDQpYN954o7KysvTxxx8rOTm5RtuaNWtc+1SpWvzx448/1q9//esa+3/++ec6duyYbr31Vte28PBwJSUlacuWLdq/f7/b45KPP/5YYWFhGjhwYL2v4aGHHtKcOXM0b9489e3b1+M+69at03PPPefzOVNSUtwCVkFBgYYNG6aDBw/qnXfe8TiB2Rdbt26VpBqLL15xxRWKiYnR5s2bdeLEiRqPuyoqKrRhwwbFxMSoV69edZ6/b9++Wrt2rbKzs90eR23cuNHjMQ2pu7CwMA0ZMkQbN27Unj173B4D7tmzx3VMFX/rLhD8fT1//fXXktzv2lVWVtZ6d8YfNr4frF69WuPGjVPnzp21du3aOmuoesB55ZVX9Mgjj9Rn6F7l5eWprKzM42u1sftGgAV7EhiaBm+T3CdMmOB1DacjR46YDh06mK5du5rdu3e7tZ84ccJkZWXV2Udj8WWS+969e60tNDpixAijACw0WjXJvbply5a5JjSrEdbBys/PN3FxcSY0NNRt7S1PvvzyS1NWVua2fePGjSY8PNyEhYW5Lchpa6HRqq/r6NGjzZkzZ1zbd+3aZdq0adMo62BVrat08803m4qKCtf2nJwcExERYTp06GBKS0td2+tTd954q/HaXm+e1gPz9/WclpZmJJmVK1fW2C89Pd016bz6GlC1rUHWWN8bVq1aZcLCwszFF1/s0yTxo0ePmoSEBCPJ/PnPf/apj/3795ucnJwaC5oeP37c7Ny5023f0tJSc8MNNxhJ5sUXX2xw32jauIOFWt10001aunSp7r77bo0ZM0bh4eG65pprdNttt6lr165asmSJ7r77bvXt21ejR49Wnz59VFFRof3792v9+vUaMmSIVq9eHbDx5ubm6sUXX5T0f49kcnNzXROPo6OjNXv2bNf+8fHxmjVrlp5++mlde+21mjBhgk6cOKElS5bo9OnT+u///m+39WdeffVVDRkyRHfeeafuuecexcTEaPXq1dq1a5cefvhhtzlJycnJeuedd/T2228rPz9fw4YN0zfffKPMzEzFxsbqD3/4Q4Ov+84779TgwYOVlZXV4HN5MmzYMO3fv1+DBg3Srl27tGvXLrd9qk+if/fdd/XSSy/p5ptvltPpVFhYmHbv3q2PP/5YrVq10vz582ssAyBJM2fO1IcffqiXXnpJ27dvV//+/bVz506tWrVKCQkJmjlzpk9jTUlJ0VtvvaXVq1crMTFRt956q0pLS7VkyRKNHDlSH330UYO+Fp7cd999WrZsmZYuXaq+fftq1KhRKi8vV2ZmpioqKrRo0SJ16tTJtX996q6x+ft6njJlil5//XXddddduvfee9WlSxdt2bJF2dnZuu2227RixYqAjv98ubm5GjdunE6dOqVhw4ZpyZIlbvs4nc4ay4jcdddd2rFjh/r06aPS0lKPfxgyffr0Go+Ck5OTtX79eq1du9Z1h/vo0aPq27evBgwYoGuuuUbdunXTt99+q1WrVuno0aO65ZZbNGPGjBrnrU/faOKCnfDQNHj7DfL06dNm5syZxuFwmNDQUI/75ObmmkmTJpm4uDjTpk0b06lTJ3PNNdeYRx991Hz++ed19mFT1W/J3j68rSy+ePFiM2DAANO2bVsTFRVlRo8eXWPs59u7d6+ZMGGC6dKli2ul8JdfftmcPXvW4/4VFRXmueeeM7169TJt2rQx3bt3Nw899JDb28/UprY7WMb835/lqxHuYNX2Na36qG7dunXmnnvuMb169TIdOnQwrVu3Nj169DD33Xef2bp1q9d+jh07ZmbMmGFiY2NN69atTWxsrJkxY0aNuzy+OHHihJk5c6a59NJLTVhYmPnJT35iFixY0GgruRtz7rUyZ84cc9VVV5mwsDATGRlpRo4cadatW+f1GH/rzhNZuoNVxdfX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"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": false
},
"id": "db02fc2e",
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
},
{
"metadata": {
"trusted": false
},
"id": "465274a4",
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"@webio": {
"lastCommId": null,
"lastKernelId": null
},
"_draft": {
"nbviewer_url": "https://gist.github.com/155caec6a5e080dd691eee177dda9e69"
},
"gist": {
"id": "155caec6a5e080dd691eee177dda9e69",
"data": {
"description": "public_2022_11_21_全ての組み合わせが出現するまでの回数を求める.ipynb",
"public": true
}
},
"hide_input": false,
"kernelspec": {
"name": "julia-1.8",
"display_name": "Julia 1.8.0",
"language": "julia"
},
"language_info": {
"file_extension": ".jl",
"name": "julia",
"mimetype": "application/julia",
"version": "1.8.0"
},
"toc": {
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"base_numbering": 1,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment