예제 #1
0
파일: top_level_mp.py 프로젝트: q10/bioe243
def main(num_to_find=5):
    from genetic_lattice import decode_lattice, decode_string
    config = decode_lattice(decode_string('RBBBRFFFUBUFRDDBUBLLLDDFUUFRB'))
    pool = Pool()
    global_checker = GlobalChecker(pool, num_to_find, config)
    print "1"
    for i in range(cpu_count()*30):
        global_checker.check_local()
    print "3"

    #i = 0
    while True:
        #print "4 %d" % i
        #i += 1
        #if i>10: break
        global_checker.restart_locals()

    #pool.join()
    from time import sleep
    sleep(5)
예제 #2
0
파일: brute_force.py 프로젝트: q10/bioe243
from genetic_lattice import decode_string, decode_lattice, print_at
from energy_function import energy_function

def sequence_from_i(i,sequence_len):
    return tuple((i>>j)&1 for j in range(sequence_len))

def num_H(sequence):
    return sum(sequence)

if __name__=='__main__':
    configuration = decode_lattice(decode_string('RBBBRFFFUBUFRDDBUBLLLDDFUUFRB'))
    sequence_len = len(configuration)
    sequence_len2 = len(configuration)/2

    max_configs = int(2**sequence_len)
    #start = 10000
    start = 32767 # first half-H config

    #found = []
    lowest_seq = None
    lowest_V = 0
    j = 0
    for i in xrange(start,max_configs):
        sequence = sequence_from_i(i,sequence_len)
        if num_H(sequence)!=sequence_len2: continue
        j += 1
        #found.append(sequence)
        V = energy_function(configuration, sequence)
        if j%10000==0:
            print_at(str(sequence), 2)
            print_at("current V: %f, lowest_V: %f" % (V,lowest_V), 3)