cleaned notebooks

This commit is contained in:
didier amyot committed 2015-12-20 13:57:30 -05:00
1 parent 89e52daa17
commit d9a6bcc44e
5 files changed
+52 -656

No files matched your search

+14 -56
View File
@@ -1,8 +1,15 @@
{ {
"cells": [ "cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Used this notebook to play with acceptance/rejection principle"
]
},
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 2, "execution_count": 1,
"metadata": { "metadata": {
"collapsed": false "collapsed": false
}, },
@@ -39,14 +46,14 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 15, "execution_count": 3,
"metadata": { "metadata": {
"collapsed": true "collapsed": true
}, },
"outputs": [], "outputs": [],
"source": [ "source": [
"box_size = 8\n", "box_size = 4\n",
"n = 10**7\n", "n = 10**6\n",
"\n", "\n",
"valid_networks = []\n", "valid_networks = []\n",
"for network in get_some_possible_network(n, box_size):\n", "for network in get_some_possible_network(n, box_size):\n",
@@ -56,16 +63,16 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 16, "execution_count": 4,
"metadata": { "metadata": {
"collapsed": false "collapsed": false
}, },
"outputs": [ "outputs": [
{ {
"data": { "data": {
"image/png": "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 truncated "image/png": "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 truncated
"text/plain": [ "text/plain": [
"<matplotlib.figure.Figure at 0x7f3178a0edd8>" "<matplotlib.figure.Figure at 0x7f6b27cd0fd0>"
] ]
}, },
"metadata": {}, "metadata": {},
@@ -77,55 +84,6 @@
"None" "None"
] ]
}, },
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"18.0"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mean(list(map(get_number_of_activated_antenna, valid_networks)))"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"□-□-□-□-■-□-□-□\n",
"■-□-□-□-□-■-□-■\n",
"□-■-□-■-□-□-■-□\n",
"□-□-■-□-□-■-□-■\n",
"■-□-□-□-■-□-■-□\n",
"□-■-□-□-□-□-□-□\n",
"□-□-□-□-□-□-■-□\n",
"■-□-□-□-□-■-□-■\n",
"\n"
]
}
],
"source": [
"print(pp_network(valid_networks[0], 8))"
]
},
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": null,
+22 -98
View File
@@ -1,8 +1,15 @@
{ {
"cells": [ "cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Use this notebook to generate all the possible network using brute force"
]
},
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 9, "execution_count": 13,
"metadata": { "metadata": {
"collapsed": false "collapsed": false
}, },
@@ -28,59 +35,14 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 10, "execution_count": 14,
"metadata": { "metadata": {
"collapsed": false "collapsed": false
}, },
"outputs": [], "outputs": [],
"source": [ "source": [
"box_size = 3\n", "box_size = 4\n",
"\n" "all_networks = [network for network in get_all_possible_network(box_size) if is_valid_network(network, box_size)]\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nC5aY7wAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7faff062fd68>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"hist(list(map(get_number_of_activated_antenna, valid_networks)), bins=100)\n",
"None"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"6.208433278626436"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mean(list(map(get_number_of_activated_antenna, valid_networks)))"
] ]
}, },
{ {
@@ -94,73 +56,35 @@
"name": "stdout", "name": "stdout",
"output_type": "stream", "output_type": "stream",
"text": [ "text": [
"■-□-■-□-■\n", "4.06482982172\n"
"□-■-□-■-□\n",
"■-□-■-□-■\n",
"□-■-□-■-□\n",
"■-□-■-□-■\n",
"\n"
]
}
],
"source": [
"print(pp_network(valid_networks[-1], box_size))"
] ]
}, },
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [
{ {
"data": { "data": {
"image/png": "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 truncated
"text/plain": [ "text/plain": [
"63" "<matplotlib.figure.Figure at 0x7f37cd9bd9b0>"
] ]
}, },
"execution_count": 20,
"metadata": {}, "metadata": {},
"output_type": "execute_result" "output_type": "display_data"
} }
], ],
"source": [ "source": [
"len(valid_networks)" "print(mean( list(map(get_number_of_activated_antenna, all_networks)) ))\n",
"hist(list(map(get_number_of_activated_antenna, all_networks)), bins=100)\n",
"\n",
"None"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 4, "execution_count": null,
"metadata": { "metadata": {
"collapsed": false "collapsed": true
},
"outputs": [
{
"data": {
"text/plain": [
"344239"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sum(list(map(get_number_of_activated_antenna, valid_networks)))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
}, },
"outputs": [], "outputs": [],
"source": [ "source": []
"random.choice?"
]
} }
], ],
"metadata": { "metadata": {
-112
View File
@@ -1,112 +0,0 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# algorithme\n",
"\n",
"\n",
"1. Posons $X^{(0)}$ un reseau quelconque.\n",
"\n",
"2. copie $X^{(0)}$ dans $X^{(1)}$\n",
"\n",
"3. pour change antenne dans $X^{(1)}$\n",
" \n",
" 1. si `antenne` peut etre allume et $U(0, 1) < 0.5$\n",
" 1. On allume `antenne` dans $X^{(1)}$ \n",
" 2. sinon\n",
" 1. On eteint `antenne` dans $X^{(1)}$ "
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n"
]
}
],
"source": [
"%pylab inline\n",
"from network.network import (is_valid_network,\n",
" get_number_of_activated_antenna,\n",
" pp_network,\n",
" switch_antenna_in_network,\n",
" turn_off_antenna,\n",
" can_antenna_be_turned_on,\n",
" turn_on_antenna)\n",
"from numpy import mean\n",
"from random import Random\n",
"from itertools import cycle"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"random = Random(666)\n",
"\n",
"def get_all_antennas(box_size):\n",
" return range(box_size * box_size)\n",
" \n",
"def get_new_network_with_gibbs(network, box_size):\n",
" for antenna in get_all_antennas(box_size):\n",
" if can_antenna_be_turned_on(antenna, network, box_size) and random.choice([True, False]):\n",
" network = turn_on_antenna(antenna, network, box_size)\n",
" else:\n",
" network = turn_off_antenna(antenna, network)\n",
" return network"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"networks = [0]\n",
"box_size = 5\n",
"\n",
"for i in range(100):\n",
" last_network = networks[-1]\n",
" networks.append(get_new_network_with_gibbs(last_network, box_size))\n",
"\n"
]
}
],
"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.4.3+"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
+16 -170
View File
@@ -2,7 +2,7 @@
"cells": [ "cells": [
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 2, "execution_count": 1,
"metadata": { "metadata": {
"collapsed": false "collapsed": false
}, },
@@ -23,62 +23,41 @@
" pp_network,\n", " pp_network,\n",
" turn_off_antenna,\n", " turn_off_antenna,\n",
" turn_on_antenna)\n", " turn_on_antenna)\n",
"from network.gibbs import get_random_networks, estimate_number_of_activated_antenna\n",
"from numpy import mean\n", "from numpy import mean\n",
"from random import Random\n" "from random import Random\n"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 2, "execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"random = Random(666)\n",
"\n",
"def create_new_network(network, box_size):\n",
" number_of_square = box_size * box_size\n",
" for antenna in range(number_of_square):\n",
" if can_antenna_be_turned_on(antenna, network, box_size) and random.choice([True, False]):\n",
" network = turn_on_antenna(antenna, network)\n",
" else:\n",
" network = turn_off_antenna(antenna, network)\n",
" return network\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": { "metadata": {
"collapsed": false "collapsed": false
}, },
"outputs": [], "outputs": [],
"source": [ "source": [
"random = Random()\n",
"antennas = []\n",
"box_size = 8\n", "box_size = 8\n",
"n = 15000\n", "N = 500\n",
"\n", "for _, network in zip(range(N), get_random_networks(box_size, random)):\n",
"valid_networks = [0]\n", " antennas.append(get_number_of_activated_antenna(network))\n",
"\n", " \n",
"for random_antenna in range(n):\n", " "
" network = valid_networks[-1]\n",
" new_network = create_new_network(network, box_size)\n",
" valid_networks.append(new_network)"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 13, "execution_count": 6,
"metadata": { "metadata": {
"collapsed": false "collapsed": false
}, },
"outputs": [ "outputs": [
{ {
"data": { "data": {
"image/png": "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 truncated "image/png": "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 truncated
"text/plain": [ "text/plain": [
"<matplotlib.figure.Figure at 0x7f6ffacf3f60>" "<matplotlib.figure.Figure at 0x7f88746b0208>"
] ]
}, },
"metadata": {}, "metadata": {},
@@ -86,142 +65,9 @@
} }
], ],
"source": [ "source": [
"hist(list(map(get_number_of_activated_antenna, valid_networks)), bins=100)\n", "hist(antennas, bins=100)\n",
"None" "title(\"Estimation de la distribution du nombre \\n d'antennes allumées dans un réseau\")\n",
] "savefig(\"/home/didier/Downloads/gibbs.png\")"
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"15.072261849210053"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mean(list(map(get_number_of_activated_antenna, valid_networks)))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"□-■-□-□-■\n",
"□-□-■-□-□\n",
"□-□-□-□-□\n",
"□-■-□-■-□\n",
"■-□-□-□-■\n",
"\n",
"□-□-□-□-■\n",
"□-□-□-■-□\n",
"■-□-■-□-■\n",
"□-□-□-□-□\n",
"■-□-■-□-□\n",
"\n",
"□-□-■-□-□\n",
"□-■-□-□-□\n",
"□-□-■-□-■\n",
"□-□-□-■-□\n",
"■-□-□-□-□\n",
"\n",
"□-□-□-□-□\n",
"□-□-□-□-□\n",
"■-□-■-□-■\n",
"□-□-□-■-□\n",
"□-□-■-□-■\n",
"\n",
"■-□-□-□-□\n",
"□-□-□-■-□\n",
"■-□-□-□-□\n",
"□-■-□-■-□\n",
"■-□-□-□-■\n",
"\n",
"□-■-□-□-■\n",
"□-□-□-□-□\n",
"■-□-□-□-□\n",
"□-■-□-■-□\n",
"■-□-■-□-□\n",
"\n",
"□-□-□-□-■\n",
"□-□-□-□-□\n",
"■-□-□-□-□\n",
"□-■-□-□-□\n",
"□-□-□-□-□\n",
"\n",
"■-□-□-□-□\n",
"□-■-□-□-□\n",
"□-□-■-□-■\n",
"□-■-□-■-□\n",
"□-□-□-□-■\n",
"\n",
"□-□-□-■-□\n",
"□-■-□-□-□\n",
"■-□-□-□-■\n",
"□-□-□-□-□\n",
"□-■-□-□-■\n",
"\n",
"■-□-□-□-□\n",
"□-■-□-■-□\n",
"■-□-■-□-■\n",
"□-□-□-■-□\n",
"□-□-□-□-□\n",
"\n"
]
}
],
"source": [
"for network in valid_networks[-10:]:\n",
" print(pp_network(network, box_size))"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"ename": "ValueError",
"evalue": "Cannot take a larger sample than population when 'replace=False'",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-14-e2f587eeb987>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mrandom\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mchoice\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m3\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m4\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m111\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mreplace\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;32mmtrand.pyx\u001b[0m in \u001b[0;36mmtrand.RandomState.choice (numpy/random/mtrand/mtrand.c:11010)\u001b[1;34m()\u001b[0m\n",
"\u001b[1;31mValueError\u001b[0m: Cannot take a larger sample than population when 'replace=False'"
]
}
],
"source": [
"random.choice([1,2,3,4], 111, replace=False)"
] ]
}, },
{ {
-220
View File
@@ -1,220 +0,0 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from network.gibbs import *\n",
"from network.network import pp_network, can_antenna_be_turned_on\n",
"from collections import defaultdict\n",
"from random import Random\n",
"from numpy import matrix"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"mc = defaultdict(dict)\n",
"random = Random(66)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"prec_network = 0\n",
"\n",
"for i, network in zip(range(10**5), get_random_networks(2, random)):\n",
" if network not in mc[prec_network]:\n",
" mc[prec_network][network] = 0\n",
" mc[prec_network][network] += 1\n",
" prec_network = network"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"defaultdict(dict,\n",
" {0: {0: 964, 1: 3671, 2: 1844, 4: 1759, 6: 1835, 8: 938, 9: 3387},\n",
" 1: {0: 891, 1: 3646, 2: 1832, 4: 1839, 6: 1729, 8: 938, 9: 3663},\n",
" 2: {0: 1810, 2: 3548, 4: 3517, 6: 3611, 8: 1811},\n",
" 4: {0: 1779, 2: 3519, 4: 3490, 6: 3486, 8: 1796},\n",
" 6: {0: 1885, 2: 3554, 4: 3465, 6: 3475, 8: 1757},\n",
" 8: {0: 3633, 1: 3553, 8: 3654, 9: 3572},\n",
" 9: {0: 3436, 1: 3668, 8: 3518, 9: 3527}})"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mc"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def get_prob(from_, to):\n",
" return mc[from_][to]/ sum(mc[from_].values())\n",
"\n",
"def get_matrix(mc):\n",
" n = len(mc)\n",
" mat = [[] for i in range(n)]\n",
" for i, from_ in enumerate(mc):\n",
" for j in enumerate(mc):\n",
" pass\n",
" "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"for key in mc:\n",
" print(key)\n",
" print( pp_network(key, 2))"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"□-□\n",
"■-□\n",
"\n",
"1 True\n"
]
}
],
"source": [
"ant = 1\n",
"print(get_prob(0, 2))\n",
"print(ant, can_antenna_be_turned_on(ant, 4, 2))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"0.5**4"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"m = matrix([[1, 2], [3, 4]])\n",
"v = matrix([[1, 3]])"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"from numpy import std"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"42.73458667121028"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"std([1432, 1376, 1461, 1436, 1436, 1363, 1496])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"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.4.3+"
}
},
"nbformat": 4,
"nbformat_minor": 0
}