13 KiB
13 KiB
In [2]:
%pylab inline
from network.network import (is_valid_network,
get_number_of_activated_antenna,
can_antenna_be_turned_on,
pp_network,
turn_off_antenna,
turn_on_antenna)
from numpy import mean
from random import Random
Populating the interactive namespace from numpy and matplotlib
In [2]:
random = Random(666)
def create_new_network(network, box_size):
number_of_square = box_size * box_size
for antenna in range(number_of_square):
if can_antenna_be_turned_on(antenna, network, box_size) and random.choice([True, False]):
network = turn_on_antenna(antenna, network)
else:
network = turn_off_antenna(antenna, network)
return network
In [12]:
box_size = 8
n = 15000
valid_networks = [0]
for random_antenna in range(n):
network = valid_networks[-1]
new_network = create_new_network(network, box_size)
valid_networks.append(new_network)In [13]:
hist(list(map(get_number_of_activated_antenna, valid_networks)), bins=100)
NoneIn [14]:
mean(list(map(get_number_of_activated_antenna, valid_networks)))Out [14]:
15.072261849210053
In [ ]:
In [11]:
for network in valid_networks[-10:]:
print(pp_network(network, box_size))□-■-□-□-■ □-□-■-□-□ □-□-□-□-□ □-■-□-■-□ ■-□-□-□-■ □-□-□-□-■ □-□-□-■-□ ■-□-■-□-■ □-□-□-□-□ ■-□-■-□-□ □-□-■-□-□ □-■-□-□-□ □-□-■-□-■ □-□-□-■-□ ■-□-□-□-□ □-□-□-□-□ □-□-□-□-□ ■-□-■-□-■ □-□-□-■-□ □-□-■-□-■ ■-□-□-□-□ □-□-□-■-□ ■-□-□-□-□ □-■-□-■-□ ■-□-□-□-■ □-■-□-□-■ □-□-□-□-□ ■-□-□-□-□ □-■-□-■-□ ■-□-■-□-□ □-□-□-□-■ □-□-□-□-□ ■-□-□-□-□ □-■-□-□-□ □-□-□-□-□ ■-□-□-□-□ □-■-□-□-□ □-□-■-□-■ □-■-□-■-□ □-□-□-□-■ □-□-□-■-□ □-■-□-□-□ ■-□-□-□-■ □-□-□-□-□ □-■-□-□-■ ■-□-□-□-□ □-■-□-■-□ ■-□-■-□-■ □-□-□-■-□ □-□-□-□-□
In [14]:
random.choice([1,2,3,4], 111, replace=False)[1;31m---------------------------------------------------------------------------[0m [1;31mValueError[0m Traceback (most recent call last) [1;32m<ipython-input-14-e2f587eeb987>[0m in [0;36m<module>[1;34m()[0m [1;32m----> 1[1;33m [0mrandom[0m[1;33m.[0m[0mchoice[0m[1;33m([0m[1;33m[[0m[1;36m1[0m[1;33m,[0m[1;36m2[0m[1;33m,[0m[1;36m3[0m[1;33m,[0m[1;36m4[0m[1;33m][0m[1;33m,[0m [1;36m111[0m[1;33m,[0m [0mreplace[0m[1;33m=[0m[1;32mFalse[0m[1;33m)[0m[1;33m[0m[0m [0m [1;32mmtrand.pyx[0m in [0;36mmtrand.RandomState.choice (numpy/random/mtrand/mtrand.c:11010)[1;34m()[0m [1;31mValueError[0m: Cannot take a larger sample than population when 'replace=False'
In [ ]: