Files
simulationexam/network/acceptance_rejection.py
2015-12-20 13:43:45 -05:00

23 lines
742 B
Python

from network.network import (get_number_of_activated_antenna,
is_valid_network)
def _get_random_networks(box_size, random):
'''yields random networks, broken or not'''
number_of_square = box_size * box_size
while True:
yield random.randint(0, 2 ** number_of_square - 1)
def get_random_networks(box_size, random):
for network in _get_random_networks(box_size, random):
if is_valid_network(network, box_size):
yield network
def estimate_number_of_activated_antenna(n, box_size, random):
estimate = 0
for _, network in zip(range(n), get_random_networks(box_size, random)):
estimate += get_number_of_activated_antenna(network)
return estimate / n