Loading solver.py +14 −4 Changes for solver.py: 14 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ import math import re import glob import time import random if __name__ == '__main__': import cv2 as cv # opencv Loading Loading @@ -359,7 +360,7 @@ def debug_satA(filename, Q, nodes, TF=None): return A def generate_sat(Q, WH=None): def generate_sat(Q, WH=None, seed=0): nodes = {} cnfs = [] Loading Loading @@ -395,6 +396,15 @@ def generate_sat(Q, WH=None): for i in range(h): for j in range(w): nodes[f'l{l}_{j}_{i}'] = len(nodes) + 1 # minisatが決定的に動く?ので変数の番号をランダムに割り当て keys = list(nodes.keys()) values = list(nodes.values()) random.seed(seed) np.random.seed(seed) random.shuffle(values) nodes = dict(zip(keys, values)) # b one-hot for b in range(1,num_b+1): cnf = {} Loading Loading @@ -649,7 +659,7 @@ def generate_sat(Q, WH=None): def main(): #Q = readQ('./adc2019problem/Q001_10X10_b8_l11.txt') Q = readQ('./adc2019problem/Q001_10X10_b8_l11.txt') #Q = readQ('./adc2019problem/Q002_10X10_b8_l9.txt') #Q = readQ('./adc2019problem/Q003_10X10_b5_l5.txt') #Q = readQ('./adc2019problem/Q004_10X10_b8_l9.txt') Loading @@ -663,10 +673,10 @@ def main(): #Q = readQ('./adc2019problem/Q014_10X10_b9_l9.txt') #Q = readQ('./adc2019problem/Q015_10X10_b8_l9.txt') #Q = readQ('./adc2019problem/QRAND327_20X20_b20_l15.txt') Q = readQ('./adc2019problem/QRAND368_10X10_b10_l15.txt') #Q = readQ('./adc2019problem/QRAND368_10X10_b10_l15.txt') #start_time = time.time() nodes,cnfs = generate_sat(Q, WH=None) nodes,cnfs = generate_sat(Q, WH=None, seed=0) print_cnf(nodes, cnfs) os.system('minisat p.txt a.txt') A = read_satA('a.txt', Q, nodes) Loading twd_solver.py +2 −0 Changes for twd_solver.py: 2 added lines, 0 removed lines. Original line number Diff line number Diff line import argparse import os import subprocess import time if __name__ == '__main__': import solver Loading Loading @@ -31,6 +32,7 @@ def solve(params): problem = params['problem'] timeout = params['timeout'] seed = params.get('seed', int(time.time)) basedir = os.path.abspath(os.path.dirname(__file__)) Loading Loading
solver.py +14 −4 Changes for solver.py: 14 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ import math import re import glob import time import random if __name__ == '__main__': import cv2 as cv # opencv Loading Loading @@ -359,7 +360,7 @@ def debug_satA(filename, Q, nodes, TF=None): return A def generate_sat(Q, WH=None): def generate_sat(Q, WH=None, seed=0): nodes = {} cnfs = [] Loading Loading @@ -395,6 +396,15 @@ def generate_sat(Q, WH=None): for i in range(h): for j in range(w): nodes[f'l{l}_{j}_{i}'] = len(nodes) + 1 # minisatが決定的に動く?ので変数の番号をランダムに割り当て keys = list(nodes.keys()) values = list(nodes.values()) random.seed(seed) np.random.seed(seed) random.shuffle(values) nodes = dict(zip(keys, values)) # b one-hot for b in range(1,num_b+1): cnf = {} Loading Loading @@ -649,7 +659,7 @@ def generate_sat(Q, WH=None): def main(): #Q = readQ('./adc2019problem/Q001_10X10_b8_l11.txt') Q = readQ('./adc2019problem/Q001_10X10_b8_l11.txt') #Q = readQ('./adc2019problem/Q002_10X10_b8_l9.txt') #Q = readQ('./adc2019problem/Q003_10X10_b5_l5.txt') #Q = readQ('./adc2019problem/Q004_10X10_b8_l9.txt') Loading @@ -663,10 +673,10 @@ def main(): #Q = readQ('./adc2019problem/Q014_10X10_b9_l9.txt') #Q = readQ('./adc2019problem/Q015_10X10_b8_l9.txt') #Q = readQ('./adc2019problem/QRAND327_20X20_b20_l15.txt') Q = readQ('./adc2019problem/QRAND368_10X10_b10_l15.txt') #Q = readQ('./adc2019problem/QRAND368_10X10_b10_l15.txt') #start_time = time.time() nodes,cnfs = generate_sat(Q, WH=None) nodes,cnfs = generate_sat(Q, WH=None, seed=0) print_cnf(nodes, cnfs) os.system('minisat p.txt a.txt') A = read_satA('a.txt', Q, nodes) Loading
twd_solver.py +2 −0 Changes for twd_solver.py: 2 added lines, 0 removed lines. Original line number Diff line number Diff line import argparse import os import subprocess import time if __name__ == '__main__': import solver Loading Loading @@ -31,6 +32,7 @@ def solve(params): problem = params['problem'] timeout = params['timeout'] seed = params.get('seed', int(time.time)) basedir = os.path.abspath(os.path.dirname(__file__)) Loading