Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
twd-solver
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
adc2019
twd-solver
Commits
b5c5e0e8
Commit
b5c5e0e8
authored
Aug 23, 2019
by
tawada
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
randomize variables and its indeces
parent
a1d0df36
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
4 deletions
+16
-4
solver.py
solver.py
+14
-4
twd_solver.py
twd_solver.py
+2
-0
No files found.
solver.py
View file @
b5c5e0e8
...
...
@@ -8,6 +8,7 @@ import math
import
re
import
glob
import
time
import
random
if
__name__
==
'__main__'
:
import
cv2
as
cv
# opencv
...
...
@@ -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
=
[]
...
...
@@ -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
=
{}
...
...
@@ -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')
...
...
@@ -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
)
...
...
twd_solver.py
View file @
b5c5e0e8
import
argparse
import
os
import
subprocess
import
time
if
__name__
==
'__main__'
:
import
solver
...
...
@@ -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__
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment