Files
simulationexam/fuck_me.ipynb
T
2015-12-20 13:43:45 -05:00

2.8 KiB

algorithme

  1. Posons X^{(0)} un reseau quelconque.

  2. copie X^{(0)} dans X^{(1)}

  3. pour change antenne dans X^{(1)}

    1. si antenne peut etre allume et U(0, 1) < 0.5
      1. On allume antenne dans X^{(1)}
    2. sinon
      1. On eteint antenne dans X^{(1)}
In [2]:
%pylab inline
from network.network import (is_valid_network,
                             get_number_of_activated_antenna,
                             pp_network,
                             switch_antenna_in_network,
                             turn_off_antenna,
                             can_antenna_be_turned_on,
                             turn_on_antenna)
from numpy import mean
from random import Random
from itertools import cycle
Populating the interactive namespace from numpy and matplotlib
In [3]:
random = Random(666)

def get_all_antennas(box_size):
    return range(box_size * box_size)
    
def get_new_network_with_gibbs(network, box_size):
    for antenna in get_all_antennas(box_size):
        if can_antenna_be_turned_on(antenna, network, box_size) and random.choice([True, False]):
            network = turn_on_antenna(antenna, network, box_size)
        else:
            network = turn_off_antenna(antenna, network)
    return network
In [ ]:
networks = [0]
box_size = 5

for i in range(100):
    last_network = networks[-1]
    networks.append(get_new_network_with_gibbs(last_network, box_size))