{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 사다리 게임 확률 분석\n", "사다리 게임은 한국과 일본에서만 주로 하는 것으로 보이며, 영미권에서는 관련 자료를 거의 찾아볼 수 없다. \n", "오픈소스 구현을 발견하지 못해 직접 간단한 사다리 알고리즘을 구현해서 확률을 관찰 해보도록 한다." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "length = 12 # 사다리의 길이\n", "width = 8 # 사다리의 너비(선택가능한 갯수)\n", "\n", "ladder = None # 사다리 배열\n", "pos = None # 진행 경과를 저장하기 위한 임시 배열" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# 가로 발판 위치를 랜덤하게 뽑아준다.\n", "def get_step(ladder, pos):\n", " width = int((ladder.shape[1] + 1) / 2)\n", " randomized_step = random.randint(1, width - 1) * 2 - 1\n", "\n", " if (randomized_step - 2 >= 1 and ladder[pos, randomized_step - 2] == 1) or \\\n", " (randomized_step + 2 <= width * 2 - 3 and ladder[pos, randomized_step + 2] == 1):\n", " return get_step(ladder, pos)\n", " else:\n", " return randomized_step" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import random\n", "\n", "# 길이, 너비 만큼의 사다리를 생성한다.\n", "def make_ladder(length=10, width=10):\n", " global ladder\n", " ladder = np.zeros((length, width * 2 - 1), dtype=int)\n", " global pos\n", " pos = np.zeros(length, dtype=int)\n", "\n", " # 가로 발판을 생성한다.\n", " for i in range(1, length - 1):\n", " ladder[i, get_step(ladder, i)] = 1\n", "# ladder[i, get_step(ladder, i)] = 1\n", "# ladder[i, get_step(ladder, i)] = 1" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def play_ladder(ladder, pos, start_point=1):\n", " pos[0] = (start_point - 1) * 2 # 출발지\n", " length = ladder.shape[0]\n", " width = int((ladder.shape[1] + 1) / 2)\n", " \n", " for j in range(1, length):\n", " prev_pos = pos[j - 1]\n", " \n", " if prev_pos > 1 and ladder[j, prev_pos - 1] == 1:\n", " pos[j] = prev_pos - 2\n", " elif prev_pos < (width - 1) * 2 and ladder[j, prev_pos + 1] == 1:\n", " pos[j] = prev_pos + 2\n", " else:\n", " pos[j] = prev_pos" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n", " [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],\n", " [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "make_ladder(length, width)\n", "play_ladder(ladder, pos, 1)\n", "\n", "# 사다리 형태 점검\n", "np.set_printoptions(threshold=np.nan)\n", "ladder" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pos" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 2, 1, 2, 2, 2, 3, 1, 2, 1])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 사다리를 count 만큼 시도한다.\n", "def try_ladder(count=100, start_point=1):\n", " X = np.full(count, start_point)\n", " y = []\n", "\n", " for x in np.nditer(X):\n", " if start_point == 0: # 시작점을 0으로 지정할 경우 랜덤하게 시작한다.\n", " x = np.random.randint(width) + 1\n", " make_ladder(length, width)\n", " play_ladder(ladder, pos, x)\n", "\n", " y.append(int(pos[-1] / 2 + 1))\n", " \n", " return np.array(y)\n", "\n", "y = try_ladder(10, 1)\n", "y" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# matplotlib의 hist() 그리드가 직관적이지 않아 bar()로 표현하도록 한다.\n", "# bar()를 그리기 위해 누적을 직접 계산해 histogram을 만든다.\n", "def make_hist(y):\n", " z = np.zeros(width, dtype=int)\n", " \n", " for x in np.nditer(y):\n", " z[x - 1] += 1\n", " \n", " return z" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nd6wL+va3v63XX39dpmnq448/1unTp5Wammp3rAtKSUkJNd8ll1yi3t5e9fX12Zxq5KA3hwa9iXDR\nm0OD3rRfVlZW6A+q5uZmTZ48OXTftGnT1NTUpO7ubnV1dem9997rd79duUzT1IMPPqhvfOMbWrly\n5ZCfhnqhbI899ph2796t7du364477tAPf/hD5ebm2p5rypQpevfdd9XR0aHe3l4dPnxYV1xxxZDk\nGizbJZdcojFjxigxMVGjR4+Wx+PRqVOnhizbl5k0aZJaW1t18uRJ9fT06L/+6790zTXXDNnj05uR\nzUZvhp9tOPUmp7l9BVu3btWpU6e0efNmbd68WZK0bds2jRkzxuZkw8t3vvMd/eEPf1B+fr5M01RF\nRUXMX2fjhz/8ocrKylRUVKQzZ87oxz/+sZKSkuyONWLQm0OD3kS46M2hQW/ab/bs2WpoaFBhYaFM\n09SaNWv07LPPKiMjQzfccIPmz5+voqIimaapH//4x0N2/ZML5TIMQ4cOHVJPT49ef/11SdJPfvKT\nIftDf7DnzC6D5XrkkUd03333SfriunBDNXywku3gwYOaO3euEhISlJWVpWuvvXbIsv2l3/72t/r8\n889VUFCgJUuWaMGCBTJNU3fddZf++q//eshy0JuRzUZvXly24dKbDtMcws/IAwAAAAAAQFzjNDcA\nAAAAAABYxjAJAAAAAAAAljFMAgAAAAAAgGUMkwAAAAAAAGAZwyQAAAAAAABYxjAJAAAAAAAAljFM\nAgAAAAAAgGX/D/nTcSx2yIJgAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 1 ~ 10 까지 각 출발점에 따른 도착점 분포를 2x5 plot에 표현한다.\n", "fig, axs = plt.subplots(2, 5, figsize=(20, 10))\n", "\n", "start_point = 1\n", "for i in range(2):\n", " for j in range(5):\n", " if start_point > width:\n", " break\n", " y = try_ladder(100000, start_point)\n", " \n", " axs[i, j].set_title(start_point)\n", " axs[i, j].bar(np.arange(1, width + 1), make_hist(y))\n", " \n", " start_point += 1" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "12" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "length" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeoAAAFJCAYAAABU5W56AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFppJREFUeJzt3X9M1If9x/HXwUUtv3qQYTLCXGDTTLOYDRm2CVL73Vba\nZN06R0VY6DrNkhJzDtN0UArnjG0tcWPdJBY1bZqB1sp0q38sbVZapcgChrW6EbtljWsCaIeFRu4k\neNzd/vimfOOsoB+O773veD7+Kp/7HPd+19ann4/n6YpEIhEBAACTkmI9AAAAuDlCDQCAYYQaAADD\nCDUAAIYRagAADCPUAAAY5o71AP9tZGQ81iPckszMFI2NXY31GFHDPraxj23sY1s87JOdnX7Tx7ii\ndsjtTo71CFHFPraxj23sY1u870OoAQAwjFADAGAYoQYAwDBCDQCAYYQaAADDCDUAAIYRagAADCPU\nAAAYRqgBADCMUAMAYBihBgDAMEINAIBh5v72LACYT5ufeyvWI9ySl+r+J9YjwAhCDURZPISACADx\ng1vfAAAYRqgBADCMW99xiFurALBwcEUNAIBhXFEDAMyIhzuG0v/vXUOuqAEAMIxQAwBg2IK49R0P\nt1IW8puv+PEBgJvjihoAAMMINQAAhhFqAAAMWxC/Rw0AiSoe3uMh8T6PuSDUAGYUDyEgAkhkt3Tr\n++zZs6qqqpIknT9/XpWVlaqqqtKWLVt0+fJlSdLRo0e1YcMGbdy4UW+//bYkaXR0VJs3b1ZlZaVq\namo0MTExT2sAAJCYZg31wYMH1dDQoMnJSUnSM888o8bGRrW1tenb3/62Dh48qJGREbW1tenIkSN6\n8cUX1dzcrGvXrmnfvn36zne+o8OHD2vVqlV69dVX530hAAASyayhXrZsmfbu3Tv9dXNzs1auXClJ\nCoVCWrx4sc6dO6evf/3rWrRokdLT07Vs2TK9//776u/v17p16yRJJSUl6unpmac1AABITLP+HnVp\naakGBwenv166dKkk6S9/+Yva29t16NAhvfPOO0pPT58+JzU1VX6/X36/f/p4amqqxsfHZx0oMzNF\nbnfybS8S77Kz02c/KY6wj23sY1+i7cQ+zjl6M9kf//hHvfDCCzpw4ICysrKUlpamQCAw/XggEFB6\nevr08SVLligQCCgjI2PW7z02dtXJSHFvZGT2X8TEE/axjX3sS7Sd2GdmM4X/tv8c9Wuvvab29na1\ntbXpC1/4giRp9erV6u/v1+TkpMbHx/XBBx9oxYoVKigo0KlTpyRJXV1dWrNmjcMVAABYmG7rijoU\nCumZZ57R5z//eXm9XknSN77xDW3btk1VVVWqrKxUJBLR9u3btXjxYlVXV6u2tlZHjx5VZmamfvnL\nX87LEgAAJKpbCnVubq6OHj0qSerr6/vMczZu3KiNGzded+xzn/ucXnzxxTmOCADAwsVHiAIAYBih\nBgDAMEINAIBhhBoAAMMINQAAhhFqAAAMI9QAABhGqAEAMIxQAwBgGKEGAMAwQg0AgGGEGgAAwwg1\nAACGEWoAAAwj1AAAGEaoAQAwjFADAGAYoQYAwDBCDQCAYYQaAADDCDUAAIYRagAADCPUAAAYRqgB\nADCMUAMAYBihBgDAMEINAIBhhBoAAMMINQAAhhFqAAAMI9QAABhGqAEAMIxQAwBgGKEGAMAwQg0A\ngGGEGgAAwwg1AACG3VKoz549q6qqKknShx9+qIqKClVWVmrHjh0Kh8OSpJaWFpWVlWnTpk06d+7c\njOcCAIBbM2uoDx48qIaGBk1OTkqSdu/erZqaGh0+fFiRSESdnZ0aGBhQX1+fOjo61NzcrJ07d970\nXAAAcOtmDfWyZcu0d+/e6a8HBgZUVFQkSSopKVFPT4/6+/tVXFwsl8ulnJwchUIhjY6Ofua5AADg\n1rlnO6G0tFSDg4PTX0ciEblcLklSamqqxsfH5ff75fF4ps/59PhnnTubzMwUud3Jt71IvMvOTo/1\nCFHFPraxj32JthP7ODdrqP9bUtL/XYQHAgFlZGQoLS1NgUDguuPp6emfee5sxsau3u5ICWFkZPZf\nxMQT9rGNfexLtJ3YZ2Yzhf+23/W9atUq9fb2SpK6urpUWFiogoICdXd3KxwOa3h4WOFwWFlZWZ95\nLgAAuHW3fUVdW1urxsZGNTc3Kz8/X6WlpUpOTlZhYaHKy8sVDofl8/luei4AALh1txTq3NxcHT16\nVJKUl5en9vb2G87xer3yer3XHbvZuQAA4NbwgScAABhGqAEAMIxQAwBgGKEGAMAwQg0AgGGEGgAA\nwwg1AACGEWoAAAwj1AAAGEaoAQAwjFADAGAYoQYAwDBCDQCAYYQaAADDCDUAAIYRagAADCPUAAAY\nRqgBADCMUAMAYBihBgDAMEINAIBhhBoAAMMINQAAhhFqAAAMI9QAABhGqAEAMIxQAwBgGKEGAMAw\nQg0AgGGEGgAAwwg1AACGEWoAAAwj1AAAGEaoAQAwjFADAGAYoQYAwDC3kycFg0HV1dVpaGhISUlJ\n2rVrl9xut+rq6uRyubR8+XLt2LFDSUlJamlp0cmTJ+V2u1VfX6/Vq1dHewcAABKWo1CfOnVKU1NT\nOnLkiE6fPq3nn39ewWBQNTU1Wrt2rXw+nzo7O5WTk6O+vj51dHTo4sWL8nq9OnbsWLR3AAAgYTm6\n9Z2Xl6dQKKRwOCy/3y+3262BgQEVFRVJkkpKStTT06P+/n4VFxfL5XIpJydHoVBIo6OjUV0AAIBE\n5uiKOiUlRUNDQ3rggQc0Njam1tZWnTlzRi6XS5KUmpqq8fFx+f1+eTye6ed9ejwrK+um3zszM0Vu\nd7KTseJadnZ6rEeIKvaxjX3sS7Sd2Mc5R6F++eWXVVxcrMcff1wXL17Uj370IwWDwenHA4GAMjIy\nlJaWpkAgcN3x9PSZlxsbu+pkpLg3MjIe6xGiin1sYx/7Em0n9pnZTOF3dOs7IyNjOrh33nmnpqam\ntGrVKvX29kqSurq6VFhYqIKCAnV3dyscDmt4eFjhcHjGq2kAAHA9R1fUjz76qOrr61VZWalgMKjt\n27frq1/9qhobG9Xc3Kz8/HyVlpYqOTlZhYWFKi8vVzgcls/ni/b8AAAkNEehTk1N1a9//esbjre3\nt99wzOv1yuv1OnkZAAAWPD7wBAAAwwg1AACGEWoAAAwj1AAAGEaoAQAwjFADAGAYoQYAwDBCDQCA\nYYQaAADDCDUAAIYRagAADCPUAAAYRqgBADCMUAMAYBihBgDAMEINAIBhhBoAAMMINQAAhhFqAAAM\nI9QAABhGqAEAMIxQAwBgGKEGAMAwQg0AgGGEGgAAwwg1AACGEWoAAAwj1AAAGEaoAQAwjFADAGAY\noQYAwDBCDQCAYYQaAADDCDUAAIYRagAADCPUAAAY5nb6xP379+utt95SMBhURUWFioqKVFdXJ5fL\npeXLl2vHjh1KSkpSS0uLTp48Kbfbrfr6eq1evTqa8wMAkNAcXVH39vbq3Xff1SuvvKK2tjZdunRJ\nu3fvVk1NjQ4fPqxIJKLOzk4NDAyor69PHR0dam5u1s6dO6M9PwAACc1RqLu7u7VixQpt3bpVjz32\nmNavX6+BgQEVFRVJkkpKStTT06P+/n4VFxfL5XIpJydHoVBIo6OjUV0AAIBE5ujW99jYmIaHh9Xa\n2qrBwUFVV1crEonI5XJJklJTUzU+Pi6/3y+PxzP9vE+PZ2VlRWd6AAASnKNQezwe5efna9GiRcrP\nz9fixYt16dKl6ccDgYAyMjKUlpamQCBw3fH09PQZv3dmZorc7mQnY8W17OyZ/73EG/axjX3sS7Sd\n2Mc5R6Fes2aNfvvb3+rHP/6x/v3vf2tiYkJ33323ent7tXbtWnV1demuu+7SsmXLtGfPHm3ZskWX\nLl1SOBye9Wp6bOyqo0Xi3cjIeKxHiCr2sY197Eu0ndhnZjOF31Go7733Xp05c0ZlZWWKRCLy+XzK\nzc1VY2OjmpublZ+fr9LSUiUnJ6uwsFDl5eUKh8Py+XyOlwAAYCFy/Mezfvazn91wrL29/YZjXq9X\nXq/X6csAALCg8YEnAAAYRqgBADCMUAMAYBihBgDAMEINAIBhhBoAAMMINQAAhhFqAAAMI9QAABhG\nqAEAMIxQAwBgGKEGAMAwQg0AgGGEGgAAwwg1AACGEWoAAAwj1AAAGEaoAQAwjFADAGAYoQYAwDBC\nDQCAYYQaAADDCDUAAIYRagAADCPUAAAYRqgBADCMUAMAYBihBgDAMEINAIBhhBoAAMMINQAAhhFq\nAAAMI9QAABhGqAEAMIxQAwBgGKEGAMAwQg0AgGFzCvXHH3+se+65Rx988IE+/PBDVVRUqLKyUjt2\n7FA4HJYktbS0qKysTJs2bdK5c+eiMjQAAAuF41AHg0H5fD4tWbJEkrR7927V1NTo8OHDikQi6uzs\n1MDAgPr6+tTR0aHm5mbt3LkzaoMDALAQOA51U1OTNm3apKVLl0qSBgYGVFRUJEkqKSlRT0+P+vv7\nVVxcLJfLpZycHIVCIY2OjkZncgAAFgC3kycdP35cWVlZWrdunQ4cOCBJikQicrlckqTU1FSNj4/L\n7/fL4/FMP+/T41lZWTf93pmZKXK7k52MFdeys9NjPUJUsY9t7GNfou3EPs45CvWxY8fkcrn05z//\nWefPn1dtbe11V8qBQEAZGRlKS0tTIBC47nh6+szLjY1ddTJS3BsZGY/1CFHFPraxj32JthP7zGym\n8Du69X3o0CG1t7erra1NK1euVFNTk0pKStTb2ytJ6urqUmFhoQoKCtTd3a1wOKzh4WGFw+EZr6YB\nAMD1HF1Rf5ba2lo1NjaqublZ+fn5Ki0tVXJysgoLC1VeXq5wOCyfzxetlwMAYEGYc6jb2tqm/7m9\nvf2Gx71er7xe71xfBgCABYkPPAEAwDBCDQCAYYQaAADDCDUAAIYRagAADCPUAAAYRqgBADCMUAMA\nYBihBgDAMEINAIBhhBoAAMMINQAAhhFqAAAMI9QAABhGqAEAMIxQAwBgGKEGAMAwQg0AgGGEGgAA\nwwg1AACGEWoAAAwj1AAAGEaoAQAwjFADAGAYoQYAwDBCDQCAYYQaAADDCDUAAIYRagAADCPUAAAY\nRqgBADCMUAMAYBihBgDAMEINAIBhhBoAAMMINQAAhrmdPCkYDKq+vl5DQ0O6du2aqqur9eUvf1l1\ndXVyuVxavny5duzYoaSkJLW0tOjkyZNyu92qr6/X6tWro70DAAAJy1GoT5w4IY/Hoz179uiTTz7R\nQw89pK985SuqqanR2rVr5fP51NnZqZycHPX19amjo0MXL16U1+vVsWPHor0DAAAJy1Go77//fpWW\nlkqSIpGIkpOTNTAwoKKiIklSSUmJTp8+rby8PBUXF8vlciknJ0ehUEijo6PKysqK3gYAACQwR6FO\nTU2VJPn9fm3btk01NTVqamqSy+Wafnx8fFx+v18ej+e6542Pj88Y6szMFLndyU7GimvZ2emxHiGq\n2Mc29rEv0XZiH+cchVqSLl68qK1bt6qyslIPPvig9uzZM/1YIBBQRkaG0tLSFAgErjuenj7zcmNj\nV52OFNdGRsZjPUJUsY9t7GNfou3EPjObKfyO3vV9+fJlbd68WU888YTKysokSatWrVJvb68kqaur\nS4WFhSooKFB3d7fC4bCGh4cVDoe57Q0AwG1wdEXd2tqqK1euaN++fdq3b58k6amnntLTTz+t5uZm\n5efnq7S0VMnJySosLFR5ebnC4bB8Pl9UhwcAINE5CnVDQ4MaGhpuON7e3n7DMa/XK6/X6+RlAABY\n8PjAEwAADCPUAAAYRqgBADCMUAMAYBihBgDAMEINAIBhhBoAAMMINQAAhhFqAAAMI9QAABhGqAEA\nMIxQAwBgGKEGAMAwQg0AgGGEGgAAwwg1AACGEWoAAAwj1AAAGEaoAQAwjFADAGAYoQYAwDBCDQCA\nYYQaAADDCDUAAIYRagAADCPUAAAYRqgBADCMUAMAYBihBgDAMEINAIBhhBoAAMMINQAAhhFqAAAM\nI9QAABhGqAEAMIxQAwBgGKEGAMAw93y/QDgc1s9//nP9/e9/16JFi/T000/ri1/84ny/LAAACWHe\nr6jffPNNXbt2Ta+++qoef/xxPffcc/P9kgAAJIx5D3V/f7/WrVsnSfra176mv/3tb/P9kgAAJAxX\nJBKJzOcLPPXUU7rvvvt0zz33SJLWr1+vN998U273vN91BwAg7s37FXVaWpoCgcD01+FwmEgDAHCL\n5j3UBQUF6urqkiS99957WrFixXy/JAAACWPeb31/+q7vf/zjH4pEInr22Wf1pS99aT5fEgCAhDHv\noQYAAM7xgScAABhGqAEAMIy3Xztw9uxZ/eIXv1BbW1usR5mTYDCo+vp6DQ0N6dq1a6qurtY3v/nN\nWI/lWCgUUkNDgy5cuCCXy6WdO3cmxJsXP/74Y23YsEEvvfRS3L+/4/vf/77S0tIkSbm5udq9e3eM\nJ5qb/fv366233lIwGFRFRYUefvjhWI/k2PHjx/X73/9ekjQ5Oanz58/r9OnTysjIiPFkzgSDQdXV\n1WloaEhJSUnatWtX3P7/Q6hv08GDB3XixAndcccdsR5lzk6cOCGPx6M9e/bok08+0UMPPRTXoX77\n7bclSUeOHFFvb69+9atf6YUXXojxVHMTDAbl8/m0ZMmSWI8yZ5OTk4pEInH/C9xP9fb26t1339Ur\nr7yiiYkJvfTSS7EeaU42bNigDRs2SJJ27typH/zgB3EbaUk6deqUpqamdOTIEZ0+fVrPP/+89u7d\nG+uxHOHW921atmxZ3P5g/7f7779fP/3pTyVJkUhEycnJMZ5obr71rW9p165dkqTh4eG4/knmU01N\nTdq0aZOWLl0a61Hm7P3339fExIQ2b96sRx55RO+9916sR5qT7u5urVixQlu3btVjjz2m9evXx3qk\nqPjrX/+qf/7znyovL4/1KHOSl5enUCikcDgsv98f15/fEb+Tx0hpaakGBwdjPUZUpKamSpL8fr+2\nbdummpqaGE80d263W7W1tfrTn/6k3/zmN7EeZ06OHz+urKwsrVu3TgcOHIj1OHO2ZMkSbdmyRQ8/\n/LD+9a9/6Sc/+Ylef/31uP0JdGxsTMPDw2ptbdXg4KCqq6v1+uuvy+VyxXq0Odm/f7+2bt0a6zHm\nLCUlRUNDQ3rggQc0Njam1tbWWI/kGFfUC9zFixf1yCOP6Hvf+54efPDBWI8TFU1NTXrjjTfU2Nio\nq1evxnocx44dO6aenh5VVVXp/Pnzqq2t1cjISKzHciwvL0/f/e535XK5lJeXJ4/HE9f7eDweFRcX\na9GiRcrPz9fixYs1Ojoa67Hm5MqVK7pw4YLuuuuuWI8yZy+//LKKi4v1xhtv6LXXXlNdXZ0mJydj\nPZYjhHoBu3z5sjZv3qwnnnhCZWVlsR5nzv7whz9o//79kqQ77rhDLpdLSUnx+5/4oUOH1N7erra2\nNq1cuVJNTU3Kzs6O9ViO/e53v5v+2/M++ugj+f3+uN5nzZo1eueddxSJRPTRRx9pYmJCHo8n1mPN\nyZkzZ3T33XfHeoyoyMjIUHp6uiTpzjvv1NTUlEKhUIynciY+7zkhKlpbW3XlyhXt27dP+/btk/S/\nb5aL1zcu3XfffXryySf1wx/+UFNTU6qvr4/bXRJRWVmZnnzySVVUVMjlcunZZ5+N29veknTvvffq\nzJkzKisrUyQSkc/ni/v3eVy4cEG5ubmxHiMqHn30UdXX16uyslLBYFDbt29XSkpKrMdyhE8mAwDA\nsPi9LwgAwAJAqAEAMIxQAwBgGKEGAMAwQg0AgGGEGgAAwwg1AACGEWoAAAz7DzxQVE3rHUjSAAAA\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 출발점이 랜덤인 경우 도착점 분포\n", "plt.xticks(np.arange(1, width + 1))\n", "\n", "y = try_ladder(10000, 0) # 시작점을 랜덤하게 정한다.\n", "plt.bar(np.arange(1, width + 1), make_hist(y))\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nZJ/3fcopQ9PY2NDf2Y+ZUaOa6j1C0Qbb82OfstlncD1+rQ3kfQ4a5P9ryJB/H1R3d3dnxIgRGT58\neLq7u//j8qamgz8p27e/fbgPf8yNGtWUrVt31XuMog2258c+ZbNP7Qy2P98Gwj59vWA47HdZn3HG\nGVmzZk2S5JlnnsnEiRMzYcKErF69OtVqNZs3b061Wj3o0TEA8G+HfYR8880357bbbss999yT0047\nLZMmTUpDQ0MmTpyYKVOmpFqtprOz82jMCgCD1iEFecyYMXn44YeTJOPHj8+DDz74jtu0t7envb29\nttMBwHHCB4MAQAEEGQAKIMgAUABBBoACCDIAFECQAaAAggwABRBkACiAIANAAQQZAAogyABQAEEG\ngAIIMgAUQJABoACCDAAFEGQAKIAgA0ABBBkACiDIAFAAQQaAAggyABRAkAGgAIIMAAUQZAAogCAD\nQAEEGQAKIMgAUABBBoACCDIAFECQAaAAggwABRBkACiAIANAAQQZAArQWO8BaqltwVP1HuGQLJ/z\n6XqPAEBhHCEDQAEEGQAKIMgAUABBBoACCDIAFECQAaAAggwABRBkACiAIANAAQQZAAogyABQAEEG\ngAIIMgAUQJABoACCDAAFEGQAKEBjf3/hVVddleHDhydJxowZkylTpuTb3/52Ghoa0tLSkq997Ws1\nGxIABrt+BXnPnj3p7e3NAw88cOCyK664IosXL8773ve+fPnLX86rr76aM844o2aDAsBg1q9T1q+/\n/np2796dtra2XHfddXnhhReyd+/ejB07NpVKJS0tLXnuuedqPSsADFr9OkI+6aSTMmPGjEyePDlv\nvPFGbrjhhowYMeLA9cOGDcvf//73g97PKacMTWNjQ39GGNBGjWqq9wg1ZZ+y2ads9d6n3o9fawN5\nn34Fefz48Rk3blwqlUrGjx+fpqam7Nix48D13d3d/xHo/2b79rf78/AD3tatu+o9Qk3Zp2z2KVs9\n9xk1qmlQPZ8DYZ++XjD065T1I488kgULFiRJ3nzzzezevTtDhw7N3/72t/T29mb16tWZOHFi/6YF\ngONQv46QW1tbc8stt2Tq1KmpVCqZP39+hgwZkm9961vp6elJS0tLPvaxj9V6VgAYtPoV5BNPPDHf\n/e5333H5ww8/fMQDAcDxyAeDAEABBBkACiDIAFAAQQaAAggyABRAkAGgAIIMAAUQZAAogCADQAEE\nGQAKIMgAUABBBoAC9OvLJQA4ttoWPFXvEQ7J8jmfrvcIA5YjZAAogCADQAEEGQAKIMgAUABBBoAC\nCDIAFECQAaAAggwABRBkACiAIANAAQQZAAogyABQAF8uAcAx58sy3skRMgAUQJABoACCDAAFEGQA\nKIAgA0ABBBkACiDIAFAAQQaAAggyABRAkAGgAIIMAAUQZAAogCADQAEEGQAKIMgAUABBBoACCDIA\nFECQAaAAggwABRBkACiAIANAAQQZAAogyABQAEEGgAIIMgAUQJABoACNtbyzarWaO+64I3/6059y\n4okn5q677sq4ceNq+RAAMCjV9Aj5iSeeyN69e/Pzn/883/zmN7NgwYJa3j0ADFo1DfK6detywQUX\nJEk+/vGP55VXXqnl3QPAoFXp7e3trdWd3Xrrrbn00kvzyU9+Mkly0UUX5YknnkhjY03PjAPAoFPT\nI+Thw4enu7v7wM/ValWMAeAQ1DTIEyZMyDPPPJMkefHFF3P66afX8u4BYNCq6Snrf73L+s9//nN6\ne3szf/78fOADH6jV3QPAoFXTIAMA/eODQQCgAIIMAAUQZAAogL+T1IeXXnop3/nOd/LAAw/Ue5Qj\nsm/fvnR0dGTTpk3Zu3dvZs6cmYsvvrjeYx2Rnp6ezJ07Nxs2bEilUsmdd9454N/V/89//jNXX311\nli9fPijeDHnVVVdl+PDhSZIxY8bk7rvvrvNER+a+++7LU089lX379mXq1KmZPHlyvUfqt0cffTS/\n+MUvkiR79uzJa6+9lmeffTYjRoyo82T9s2/fvsyZMyebNm3KkCFDMm/evAH535Ag/xf3339/Vq1a\nlZNPPrneoxyxVatWpbm5OYsWLcqOHTty5ZVXDvgg//a3v02SPPTQQ1mzZk2+973v5d57763zVP23\nb9++dHZ25qSTTqr3KDWxZ8+e9Pb2DvgXs/+yZs2a/OEPf8jPfvaz7N69O8uXL6/3SEfk6quvztVX\nX50kufPOO/OFL3xhwMY4SX73u99l//79eeihh/Lss8/m+9//fhYvXlzvsQ6bU9b/xdixYwfkb+j/\n57LLLsvXv/71JElvb28aGhrqPNGR+8xnPpN58+YlSTZv3jyg/zBJkoULF+aaa67Je97znnqPUhOv\nv/56du/enba2tlx33XV58cUX6z3SEVm9enVOP/30zJo1K1/96ldz0UUX1XukmvjjH/+Yv/zlL5ky\nZUq9Rzki48ePT09PT6rVarq6ugbsB1INzKmPgUmTJmXjxo31HqMmhg0bliTp6urKjTfemNmzZ9d5\notpobGzMzTffnN/85jf5wQ9+UO9x+u3RRx/NyJEjc8EFF+RHP/pRvcepiZNOOikzZszI5MmT88Yb\nb+SGG27IY489NmD/oNy+fXs2b96cZcuWZePGjZk5c2Yee+yxVCqVeo92RO67777MmjWr3mMcsaFD\nh2bTpk357Gc/m+3bt2fZsmX1HqlfHCEfJ7Zs2ZLrrrsuV1xxRS6//PJ6j1MzCxcuzOOPP57bbrst\nb7/9dr3H6ZeVK1fmueeey/Tp0/Paa6/l5ptvztatW+s91hEZP358Pv/5z6dSqWT8+PFpbm4e0Ds1\nNzenpaUlJ554Yk477bS8613vyrZt2+o91hHZuXNnNmzYkPPOO6/eoxyxH//4x2lpacnjjz+eX/3q\nV5kzZ0727NlT77EOmyAfB9566620tbXlpptuSmtra73HqYlf/vKXue+++5IkJ598ciqVSoYMGZj/\nOv/kJz/Jgw8+mAceeCAf/ehHs3DhwowaNareYx2RRx555MDXr7755pvp6uoa0Dt94hOfyO9///v0\n9vbmzTffzO7du9Pc3FzvsY7ICy+8kPPPP7/eY9TEiBEj0tTUlCR597vfnf3796enp6fOUx2+gXn+\niMOybNmy7Ny5M0uXLs3SpUuT/O+b1gbyG4guvfTS3HLLLbn22muzf//+dHR0DOh9BpvW1tbccsst\nmTp1aiqVSubPnz9gT1cnyac+9am88MILaW1tTW9vbzo7Owf8ezE2bNiQMWPG1HuMmvjSl76Ujo6O\nTJs2Lfv27cs3vvGNDB06tN5jHTYfnQkABRiY5/gAYJARZAAogCADQAEEGQAKIMgAUABBBoACCDIA\nFOB/APPSFZmeGklfAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 『통계의 힘』 책에서 나온대로 동일하게 실험한다.\n", "def try_ladder_as_book(count=100, start_point=0, end_point=1):\n", " X = np.full(count, start_point)\n", " y = []\n", "\n", " for x in np.nditer(X):\n", " if start_point == 0: # 시작점을 0으로 지정할 경우 랜덤하게 시작한다.\n", " x = np.random.randint(width) + 1\n", " make_ladder(length, width)\n", " play_ladder(ladder, pos, x)\n", "\n", " if int(pos[-1] / 2 + 1) == end_point:\n", " y.append(x)\n", " \n", " return np.array(y)\n", "\n", "# --\n", "plt.xticks(np.arange(1, width + 1))\n", "\n", "length = 12\n", "y = try_ladder_as_book(8000, 0, 4)\n", "plt.bar(np.arange(1, width + 1), make_hist(y))\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nYE9kE7AnsgkMDMOHQwAAAAAAALAvwx8rAwAAAAAAgH0xHAIAAAAAAHAxhkMAAAAAAABWhxRcAAAD\njElEQVQuxnAoTIFAQEVFRcrOzlZWVpbq6uqsbilsnz590oIFC/Ty5UurWwnLkSNHtGbNGq1atUoX\nL160up0+BQIBFRYWau3atcrOznbMv/Ofgmyah2wiEmTTPGQTkXBqNp2WS8lZ2SSX1iOb5nBSLiVz\ns8lwKExXr16V1+vV2bNndfz4cZWXl1vdUlgCgYD8fr+GDRtmdSthuXfvnh4/fqxz587p1KlTevfu\nndUt9enmzZvq7OzU+fPnlZeXpwMHDljdkquQTXOQTUSKbJqDbCJSTsym03IpOS+b5NJ6ZNN4Tsul\nZG42GQ6FKSMjQ9u3b5ckhUIhRUVFWdxRePbt26e1a9dq9OjRVrcSllu3bmnKlCnKy8vT5s2btXDh\nQqtb6tP48ePV1dWlYDCotrY2RUdHW92Sq5BNc5BNRIpsmoNsIlJOzKbTcik5L5vk0npk03hOy6Vk\nbjZJfZiGDx8uSWpra9O2bdtUUFBgcUd9u3z5suLj4zVv3jwdPXrU6nbC0tzcrLdv36qmpkavX7/W\nli1bdO3aNXk8Hqtb+6WYmBi9efNGy5YtU3Nzs2pqaqxuyVXIpjnIJiJFNs1BNhEpp2XTibmUnJdN\ncmk9smk8p+VSMjebbA5FoKmpSevXr9eKFSuUmZlpdTt9unTpku7cuSOfz6dnz55p586d+vDhg9Vt\n9crr9SotLU1DhgzRhAkTNHToUH3+/Nnqtnp14sQJpaWl6fr167py5YqKi4v17ds3q9tyFbJpPLKJ\n/iCbxiOb6A8nZdOJuZScl01yaQ9k01hOy6VkbjbZHArTx48flZOTI7/fr7lz51rdTljOnDnT/Wuf\nz6c9e/Zo1KhRFnbUt1mzZunkyZPauHGj3r9/r69fv8rr9VrdVq/i4uI0ePBgSdJff/2lzs5OdXV1\nWdyVe5BNc5BNRIpsmoNsIlJOy6YTcyk5L5vk0npk03hOy6VkbjYZDoWppqZGLS0tqq6uVnV1tSTp\n2LFjjvnwLadYtGiRHjx4oKysLIVCIfn9fts/b7thwwaVlJQoOztbgUBAO3bsUExMjNVtuQbZNAfZ\nRKTIpjnIJiJFNs3htGySS+uRTeM5LZeSudn0hEKhkCGVAQAAAAAAYHt85hAAAAAAAICLMRwCAAAA\nAABwMYZDAAAAAAAALsZwCAAAAAAAwMUYDgEAAAAAALgYwyEAAAAAAAAXYzgEAAAAAADgYv8B14nm\n/6ej3uQAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 계단 갯수(length)에 따른 도착점 분포를 표현한다.\n", "fig, axs = plt.subplots(2, 5, figsize=(20, 10))\n", "\n", "length = 10\n", "for i in range(2):\n", " for j in range(5):\n", " y = try_ladder(10000, 1)\n", " \n", " axs[i, j].set_title(length)\n", " axs[i, j].bar(np.arange(1, width + 1), make_hist(y))\n", " \n", " length += 10" ] } ], "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.6.3" } }, "nbformat": 4, "nbformat_minor": 2 }