示例#1
0
def get_vkdic_from_cfg(cfgfile):
    sdic = get_sdic(cfgfile)

    vkdic = make_vkdic(sdic['kdic'], sdic['nov'])
    return vkdic, sdic['nov']
示例#2
0
def initial_bitdic(conf_filename, seed='C001'):
    sdic = get_sdic(conf_filename)
    vkdic = make_vkdic(sdic['kdic'], sdic['nov'])
    bitdic = BitDic(seed, seed, vkdic, sdic['nov'])
    return bitdic
示例#3
0
                cs = hs.intersection(ls)
                if len(cs) == 0:
                    sats.append((hv, lv))
        return sats


class BitGroup:
    def __init__(self, gname, vkdic, nov):
        self.vkdic = vkdic
        self.nov = nov
        self.gname = gname
        self.rootbdic = BitDic("root", "seed", vkdic, nov)
        h_lower_bit = nov // 2
        hbitdic = self.rootbdic.subset(nov - 1, h_lower_bit)
        lbitdic = self.rootbdic.subset(h_lower_bit - 1, 0)
        self.half0 = Half(self, lbitdic, 0)
        self.half1 = Half(self, hbitdic, 1)

    def solve(self):
        sats = self.half1.find_sats(self.half0)
        return sats


if __name__ == '__main__':
    cfg_filename = 'cfg6-13.json'
    sdic = get_sdic('./configs/' + cfg_filename)
    vkdic = make_vkdic(sdic['kdic'], sdic['nov'])
    bg = BitGroup('group', vkdic, sdic['nov'])
    sats = bg.solve()
    print(f'sats: {sats}')