Files
2015-12-20 13:43:45 -05:00

28 lines
861 B
Python

from network.network import is_valid_network, get_number_of_activated_antenna
def _get_all_possible_network(box_size):
'''returns all networks, broken or not'''
return range( 2**(box_size*box_size) )
def get_all_possible_network(box_size):
if box_size < 1:
return
for network in _get_all_possible_network(box_size):
if is_valid_network(network, box_size):
yield network
def _get_random_networks(n, box_size, random):
all_networks = list(get_all_possible_network(box_size))
n = min(n, len(all_networks))
return random.sample(all_networks, n), n
def estimate_number_of_activated_antenna(n, box_size, random):
networks, n = _get_random_networks(n, box_size, random)
estimate = 0
for network in networks:
estimate += get_number_of_activated_antenna(network)
return estimate / n