First commit
This commit is contained in:
commit
89e52daa17
21 files changed
+2033
No files matched your search
@@ -0,0 +1,36 @@
|
||||
from network.network import (get_number_of_activated_antenna,
|
||||
can_antenna_be_turned_on,
|
||||
turn_off_antenna,
|
||||
turn_on_antenna)
|
||||
|
||||
def _flip_coin(random):
|
||||
return random.random() < 0.5
|
||||
|
||||
def create_new_network(network, box_size, random):
|
||||
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 _flip_coin(random):
|
||||
network = turn_on_antenna(antenna, network)
|
||||
else:
|
||||
network = turn_off_antenna(antenna, network)
|
||||
return network
|
||||
|
||||
|
||||
def get_pseudo_random_networks(box_size, random):
|
||||
network = 0
|
||||
while True:
|
||||
network = create_new_network(network, box_size, random)
|
||||
yield network
|
||||
|
||||
def get_random_networks(box_size, random):
|
||||
time_between_sample = 20
|
||||
for i, network in enumerate(get_pseudo_random_networks(box_size, random), 1):
|
||||
if i % time_between_sample == 0:
|
||||
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
|
||||
Reference in new issue
Block a user