Last active
January 27, 2017 14:31
-
-
Save Spotlight0xff/2d25fd8a53a5d5ff9a96ee35753cda08 to your computer and use it in GitHub Desktop.
FDoS Exercise 9.3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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