{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## HW5" ] }, { "cell_type": "raw", "metadata": {}, "source": [ "The arrival rate to a router is 100 packets per second. And the router will always process a packet with exactly 5ms. And let's assume that the queue inside of the router has infinite length.\n", "\n", "1. What is the probability that we see exactly 100 packets arrived in a second?\n", "2. What is the probability that we have less than 5 packets arrived in a second?\n", "3. What is the probability that the interarrival time is more than 20 ms?\n", "4. What is the average wait time of a packet?\n", "5. What is the average delay?\n", "6. Assuming that now half of the incoming packing will have length doubling of the original and the router will need double amount of the time to process them. In other words, now 50% of the packets will need 10ms processing time and the remaining 50% need 5 ms. What will the average wait time and average delay become? " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1). $Pr(\\mbox{100 packets in a second}) = \\frac{\\exp(- \\lambda t) (\\lambda t)^{100}}{100!}$\n" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.039860996809147134" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import math\n", "l=100\n", "t=1\n", "math.exp(-l *t)*math.pow(l*t,100)/math.factorial(100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2). $Pr(\\mbox{Less than 5 packets})=\\sum_{n=0}^{4}\\frac{\\exp(- \\lambda t) (\\lambda t)^{n}}{n!}$" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "1.6139305336977305e-37" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s=0.\n", "for n in xrange(0,5):\n", " s=s+math.exp(-l *t)*math.pow(l*t,n)/math.factorial(n)\n", "s" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "3). $Pr(\\mbox{Interarrival time > 20ms}) = \\int_{t=20ms}^{\\infty} \\lambda \\exp(-\\lambda t) dt = \\exp(-\\lambda 20ms)$" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.1353352832366127" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "math.exp(-l * 20/1000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "4). Average wait time = $\\frac{\\lambda E[X^2]}{2(1-\\rho)}$ (P-K Formula)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$E[X^2]=0.005^2 s^2$\n", "\n", "$\\rho = \\frac{\\lambda}{\\mu} = \\lambda \\bar{X} = 100 \\times 0.005 = 0.5$" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.0025" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wait_time = l*(0.005**2) / (2*(1-0.5))\n", "wait_time" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "5). Average Delay = Average wait time + service time = 0.0025 + 0.005 = 0.0075" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "6). If half of the packets take 0.01 s to serve, average service time $\\bar{X}$= (0.01 + 0.005)/2 = 0.0075" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And $E[X^2] = \\frac{0.005^2 + 0.01^2}{2}$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\rho = \\frac{\\lambda}{\\mu} = \\lambda \\bar{X} = 100 \\times 0.0075 = 0.75$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Average wait time = $\\frac{\\lambda E[X^2]}{2(1-\\rho)}$" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.0125" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wait_time=l*(0.005**2+0.01**2)/2/(2*(1-0.75))\n", "wait_time" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Average Delay = Average wait time + service time = 0.0125 + 0.0075 = 0.02" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## HW6" ] }, { "cell_type": "raw", "metadata": {}, "source": [ "Consider a store with only two cashiers, one of them is hardworking and is always serving customers. And another one is lazy and will only work when the number of people waiting in the queue of the first cashier is larger than 10 (exclude the customer currently served). Both cashiers are equally efficient and can handle on average 2 customers per minute. And the service time is exponentially distributed. Assume that the arrival statistics of customers that came in to buy something are Poisson distributed with an average 3 customers per minute.\n", "\n", "1. Draw a state transition diagram to describe the problem.\n", "\n", "2. What is the steady state probability of having 12 customers in the store?\n", "\n", "3. On average how many customers are in the store?\n", "\n", "4. What is the average time spent of a customer to checkout?\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1). " ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcgAAABzCAMAAAArBWLaAAAABGdBTUEAALGPC/xhBQAAAAFzUkdC\nAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAchQTFRF\n////zMzM7u7u3d3du7u7ERERmZmZZmZmMzMzd3d3iIiIIiIiVVVVqqqqAAAAREREPz8/EhISLCws\n9vn81uDtydbntMjfu8zi5Orz8fX5wtLlrcPdx9bogqPKbpXDZI7AYZDEcp/PXYzBaZLCc5jFjKvP\n3OXworrYeJzHX4vAapfJWoe9wNHlfZ/JX4u+ZpPGbpvMnLbWXom909/ua5LB6e/2u8/lWoa7Y4y+\nztzte5/JWYi+iarPw9TomLXX7PL5cJfGVYS7g6XNs8riVYO51+PwdZvHUYC4qsLezNrqgaPLlrLU\nm6Svpr7bjI+Uqb/an6u6QFh0YH2ffIygUnimkKCyV22HS26XR2GBrLnJTG+Yh5muoLrZmrfYkrHU\n4OnzZ4/Akq7RW3+mJjVFCAsOY4qzRF98TGqKFyApapTBDxUcLkBTHio3NUphl7LTu8zhVHWYb5nI\nfaPNdp3LaJTGd53JtcjfhqbNjKnOPVVuz9vqdJjEj67SjKbGXIa2XYWzZ5G+cJK6WICwYYq5X4m5\na464Z32YjZmoSUxQXHWTq6+0YGt3WFxgaIesscfg4+z1uMvih6bMT09PZGRklpaWZ2dnX19fdnZ2\n3bs71gAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AABNrSURBVHja7V37fxvHcb8X\n7nAH4M4tTUm0LJIARREETQKWzEg2JVtMJce06jrpI33Zsi3TsRw5rOMmtdqkz6Rp82jjpE367/b2\n7kAAtzOzu3MH/JAP5vNJPgmF2Zn5zuzs7ON2LcuIbMfs9zO8TD7X5cucS7s8EDymNIeLG61Nw+ey\nOkGTFwVuM5yHKaktEY8xanCcEra45rfnYX3YYrM63CDoxPPpk36DyZiwoG0x48aO59En3ZibIiwr\nSJiM3K6jICdmRpYfczoXuw+05pKRmgGbld2zguY8LLGsNjNp8SKA3bMqZEGCIm4+svg9qzOX5MLt\nWSm1WZHF7Vl23JmD8S43H6UUcEOrMZ9yx4mZkeWzckvI7QMtfhYktGmxiyi7yexZfmsuySUNLF7O\n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\nMS40IBxHOngAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import Image\n", "Image(filename='2016_network_hw.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2). $\\Pi_n = \\rho \\Pi_{n-1}$ when $n \\le 11$\n", "\n", "$\\Pi_n = \\frac{\\rho}{2} \\Pi_{n-1}$ otherwise" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$1=\\sum_{n=0}^{\\infty} \\Pi_n=\\Pi_0 \\left[ \\sum_{n=0}^{10} \\rho^{n} + \\sum_{n=0}^{\\infty} \\rho^{11} \\left(\\frac{\\rho}{2}\\right)^n \\right]$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$= \\Pi_0 \\left[ \\frac{1- \\rho^{11}}{1- \\rho} + \\frac{\\rho^{11}}{1-\\rho/2} \\right]$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\Pi_0 = \\left[ \\frac{1- \\rho^{11}}{1- \\rho} + \\frac{\\rho^{11}}{1-\\rho/2} \\right]^{-1}$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\Pi_{12} = \\frac{\\rho^{12}}{2} \\Pi_0$" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.0019342907820843872" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "l = 3.\n", "mu = 2.\n", "rho = l/mu\n", "th=11\n", "P0 = 1./((1.-rho**th)/(1-rho) + (rho**th)/(1-rho/2))\n", "P0" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.1254835726955211" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P12= rho**(th+1)/2. * P0\n", "P12" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "3). Average customer in stores = $\\Pi_0 \\left[ \\sum_{n=0}^{10} n \\rho^{n} + \\sum_{n=0}^{\\infty} (11 + n) \\rho^{11} \\left(\\frac{\\rho}{2}\\right)^n \\right]$" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "$A\\triangleq \\sum_{n=0}^{10} n \\rho^{n} = \\rho \\sum_{n=0}^{10} n \\rho^{n-1} = \\rho \\left(\\sum_{n=0}^{10} \\rho^{n} \\right)'= \\rho \\left(\\frac{1-\\rho^{11}}{1-\\rho}\\right)' $" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "$B \\triangleq \\sum_{n=0}^{\\infty} 11 \\rho^{11} \\left(\\frac{\\rho}{2}\\right)^n = \\frac{11 \\rho^{11} }{1-\\rho/2}$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$C \\triangleq \\sum_{n=0}^{\\infty} n \\rho^{11} \\left(\\frac{\\rho}{2}\\right)^n = \\frac{ \\rho^{12}}{2} \\sum_{n=0}^{\\infty} n \\left(\\frac{\\rho}{2}\\right)^{n-1} = \\frac{ \\rho^{12}}{2 (1-\\rho/2)^2} $" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import sympy\n", "r=sympy.symbols('r')\n", "f=(1-r**th)/(1-r)\n", "df=sympy.diff(f,r)\n", "A = rho*df.subs(r,rho)\n", "B = th*rho**th/(1-rho/2)\n", "C = rho**(th+1)/(2*(1-rho/2)**2)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "12.0580287234625" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Average_num_in_store = P0*(A+B+C)\n", "Average_num_in_store\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "4). Use Little's Theorem, Average time spent (in minutes) = Average_num_in_store / lambda " ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "4.01934290782084" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Average_time_spent = Average_num_in_store / l \n", "Average_time_spent" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 }