如何改进python中playfair的模拟退火如何确保分数提高?

2024-06-17 12:21:55 发布

您现在位置:Python中文网/ 问答频道 /正文

即使条件不满足,孩子似乎总是把自己设定为平等的父母。有什么帮助吗?这是因为分层吗?你知道吗

def crack(ct):
    temp = 10 + 0.087 * (len(ct)-84)
    fit = ns.ngram_score('english_quadgrams.txt')
    while 1 == 1:
        parent = randkey()
        counter = 0
        while counter < 50000:
            ps = fit.score((de(ct,parent)).upper())
            number = rd.randint(1,25)
            if number == 1:
               child = nw(parent)
            else:
                if number == 2:
                    child = td(parent)
                else:
                    if number == 3:
                        child = lr(parent)
                    else:
                        if number == 4:
                            child = randr(parent)
                        else:
                            if number == 5:
                                child = randc(parent)
                            else:
                                child = rand2(parent)
            print(de(ct,child))
            cs = fit.score((de(ct,child)).upper())
            diff = ps-cs
            print(ps,cs, diff)
            prob = 1/(math.exp(diff/temp))
            print(prob)
            random = rd.uniform(0,1)
            print(random)
            if diff < 0:
                parent = child
            elif prob < random:
                counter = counter + 1
            else:
                parent = child

分数是根据quadgram rating文本和基于此处的库计算的。任何建议都会有帮助。你知道吗


Tags: childnumberifcounterdiffdecselse