def METHOD_NAME(pop_size,
                     num_blocks=5,
                     num_ops=7,
                     num_cells=2):
    seed = 0
    np.random.seed(seed)
    B, n_ops, n_cell = num_blocks, num_ops, num_cells
    networks = []
    genotypes = []
    network_id = 0
    while len(networks) < pop_size:
        bit_string = []
        for c in range(n_cell):
            for b in range(B):
                bit_string += [np.random.randint(n_ops),
                               np.random.randint(b + 2),
                               np.random.randint(n_ops),
                               np.random.randint(b + 2)
                               ]
        genome = micro_encoding.convert(bit_string)
        # check against evaluated networks in case of duplicates
        doTrain = True
        for network in networks:
            if micro_encoding.compare(genome, network):
                doTrain = False
                break
        if doTrain:
            genotype = micro_encoding.decode(genome)
            #print("Newtwork id, bitstring, genome, genotype ", network_id, bit_string, genome, genotype)
            networks.append(genome)
            genotypes.append(genotype)
            network_id +=1
    return genotypes