Code relatif au meme

def init_meme(network_name,meme_name):
    '''NETWORK * float-> Void
    Il insert un mémé appelé meme comme attribute à un node random et retourne le node 'victime'
    '''
    gens= len(network_name.nodes.data())
    x = np.random.randint(1,gens)
    nx.set_node_attributes(network_name, 0, meme_name)
    nx.set_edge_attributes(network_name, 0, meme_name)
    network_name.nodes[x][meme_name] = 1
    return(x)

def propagation_meme_gen(network_name,meme_name,prob_perte_meme):
    '''NETWORK -> Void
    propague le meme d'une generation selon le "weight" des edges
    '''
    pres_mem= nx.get_node_attributes(network_name, meme_name)
    i=0
    L_prev=[]
    while i< nx.number_of_nodes(network_name):
        if pres_mem[i]==1:
            L_prev.append(i)
            for (a,b) in network_name.edges(i):
                network_name.edges[a,b][meme_name]= 0
                if network_name.nodes[b]['degout']==0:
                    x = np.random.randint(0,100,size=20)/100
                    t=100
                    for j in x:
                        if j < t:
                            t=j
                    if t >= network_name.get_edge_data(a,b)['weight']:
                        network_name.nodes[b][meme_name] = 1
                        network_name.edges[a,b][meme_name]= 1
        i+=1
    for i in L_prev:
        network_name.nodes[i][meme_name] = 0
        j = np.random.randint(0,10)/10
        yfg = 1- prob_perte_meme
        if j>yfg:
            network_name.nodes[i]['degout'] = 1
return()