Files
simulationexam/accep_reject.ipynb
2015-12-20 13:57:30 -05:00

119 lines
9.7 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Used this notebook to play with acceptance/rejection principle"
]
},
{
"cell_type": "code",
"execution_count": 1,
"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, get_number_of_activated_antenna, pp_network\n",
"from numpy import mean\n",
"from random import Random"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"random = Random(666)\n",
"def get_some_possible_network(n, box_size):\n",
" number_of_square = box_size * box_size\n",
" for i in range(n):\n",
" yield random.randint(0, 2 ** number_of_square - 1)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"box_size = 4\n",
"n = 10**6\n",
"\n",
"valid_networks = []\n",
"for network in get_some_possible_network(n, box_size):\n",
" if is_valid_network(network, box_size):\n",
" valid_networks.append(network)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f6b27cd0fd0>"
]
},
"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": 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
}