Skip to content

Instantly share code, notes, and snippets.

@Spotlight0xff
Last active January 27, 2017 14:31
Show Gist options
  • Save Spotlight0xff/2d25fd8a53a5d5ff9a96ee35753cda08 to your computer and use it in GitHub Desktop.
Save Spotlight0xff/2d25fd8a53a5d5ff9a96ee35753cda08 to your computer and use it in GitHub Desktop.
FDoS Exercise 9.3
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0.5, 0.3, 0.2],\n",
" [ 0.5, 0.4, 0.1],\n",
" [ 0.2, 0.8, 0. ]])"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Q = np.array([[0.5, 0.3, 0.2], # watching series\n",
" [0.5, 0.4, 0.1], # studying\n",
" [0.2, 0.8, 0]]) # cleaning\n",
"Q"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"p0 = np.matrix(np.array([1/3,1/3,1/3]))"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table><tr><td>1</td><td>[ 0.4 0.5 0.1]</td><td>[ 0.4 0.5 0.1]</td></tr><tr><td>2</td><td>[ 0.47 0.4 0.13]</td><td>[ 0.435 0.45 0.115]</td></tr><tr><td>3</td><td>[ 0.461 0.405 0.134]</td><td>[ 0.444 0.435 0.121]</td></tr><tr><td>4</td><td>[ 0.46 0.408 0.133]</td><td>[ 0.448 0.428 0.124]</td></tr><tr><td>5</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.45 0.424 0.126]</td></tr><tr><td>6</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.452 0.421 0.127]</td></tr><tr><td>7</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.453 0.419 0.128]</td></tr><tr><td>8</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.454 0.418 0.128]</td></tr><tr><td>9</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.455 0.416 0.129]</td></tr><tr><td>10</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.455 0.415 0.129]</td></tr><tr><td>11</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.456 0.415 0.13 ]</td></tr><tr><td>12</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.456 0.414 0.13 ]</td></tr><tr><td>13</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.456 0.414 0.13 ]</td></tr><tr><td>14</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.457 0.413 0.13 ]</td></tr><tr><td>15</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.457 0.413 0.13 ]</td></tr><tr><td>16</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.457 0.412 0.131]</td></tr><tr><td>17</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.457 0.412 0.131]</td></tr><tr><td>18</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.457 0.412 0.131]</td></tr><tr><td>19</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.458 0.412 0.131]</td></tr><tr><td>20</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.458 0.411 0.131]</td></tr><tr><td>21</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.458 0.411 0.131]</td></tr><tr><td>22</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.458 0.411 0.131]</td></tr><tr><td>23</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.458 0.411 0.131]</td></tr><tr><td>24</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.458 0.411 0.131]</td></tr><tr><td>25</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.458 0.41 0.131]</td></tr><tr><td>26</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.458 0.41 0.131]</td></tr><tr><td>27</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.458 0.41 0.131]</td></tr><tr><td>28</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.458 0.41 0.132]</td></tr><tr><td>29</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.458 0.41 0.132]</td></tr><tr><td>30</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.41 0.132]</td></tr><tr><td>31</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.41 0.132]</td></tr><tr><td>32</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.41 0.132]</td></tr><tr><td>33</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.41 0.132]</td></tr><tr><td>34</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.41 0.132]</td></tr><tr><td>35</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>36</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>37</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>38</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>39</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>40</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>41</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>42</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>43</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>44</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>45</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>46</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>47</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>48</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>49</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>50</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>51</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>52</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>53</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>54</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>55</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>56</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>57</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>58</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>59</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.409 0.132]</td></tr><tr><td>60</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.408 0.132]</td></tr><tr><td>61</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.408 0.132]</td></tr><tr><td>62</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.408 0.132]</td></tr><tr><td>63</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.408 0.132]</td></tr><tr><td>64</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.408 0.132]</td></tr><tr><td>65</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.408 0.132]</td></tr><tr><td>66</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.408 0.132]</td></tr><tr><td>67</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.408 0.132]</td></tr><tr><td>68</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.408 0.132]</td></tr><tr><td>69</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.408 0.132]</td></tr><tr><td>70</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.408 0.132]</td></tr><tr><td>71</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.408 0.132]</td></tr><tr><td>72</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.408 0.132]</td></tr><tr><td>73</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.459 0.408 0.132]</td></tr><tr><td>74</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>75</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>76</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>77</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>78</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>79</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>80</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>81</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>82</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>83</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>84</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>85</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>86</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>87</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>88</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>89</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>90</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>91</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>92</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>93</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>94</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>95</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>96</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>97</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>98</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>99</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr><tr><td>100</td><td>[ 0.46 0.407 0.133]</td><td>[ 0.46 0.408 0.132]</td></tr></table>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import tabletext\n",
"from IPython.display import HTML, display\n",
"\n",
"results = []\n",
"sum_t = 0\n",
"for t in range(1,101):\n",
" p_t = p0*np.linalg.matrix_power(Q, t)\n",
" sum_t += p_t\n",
" a_t = sum_t/t\n",
" results.append([t, p_t.tolist()[0], a_t.tolist()[0]])\n",
"\n",
"display(HTML(\n",
" '<table><tr>{}</tr></table>'.format(\n",
" '</tr><tr>'.join(\n",
" '<td>{}</td>'.format('</td><td>'.join(str(np.around(_,decimals=3)) for _ in row)) for row in results)\n",
" )\n",
" ))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Results\n",
"Stationary distribution $\\pi = \\big(0.46, 0.408, 0.132\\big)$.\n",
"Therefore spends the student approximately $40.8 \\%$ of his time studying."
]
}
],
"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.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment