This directory contains some example ASP programs dor solving the n-Queens problem: -rw-r--r-- 1 torsten cools 585 2008-10-16 19:25 queens1.lp -rw-r--r-- 1 torsten cools 197 2008-10-28 10:03 queens2a.lp -rw-r--r-- 1 torsten cools 196 2008-11-01 09:07 queens2b.lp -rw-r--r-- 1 torsten cools 279 2008-11-01 09:03 queens2c.lp -rw-r--r-- 1 torsten cools 410 2008-10-16 19:24 queens3.lp -rw-r--r-- 1 torsten cools 323 2008-10-16 19:37 queens4.lp -rw-r--r-- 1 torsten cools 402 2008-08-12 20:55 queens5a.lp -rw-r--r-- 1 torsten cools 313 2008-10-31 17:59 queens5b.lp -rw-r--r-- 1 torsten cools 263 2008-10-31 18:02 queens5c.lp -rw-r--r-- 1 torsten cools 214 2008-10-28 10:16 queens6.lp -rw-r--r-- 1 torsten cools 294 2008-10-28 10:49 queens7.lp Interesting calls -- cat queens2a.lp gringo -c queens=4 queens2a.lp gringo -c queens=4 queens2a.lp -t cat queens2b.lp gringo -c queens=4 queens2a.lp -t gringo -c queens=13 queens2a.lp | clasp gringo -c queens=13 queens2b.lp | clasp gringo --stats -c queens=13 queens2a.lp | clasp 0 -q --stats gringo --stats -c queens=13 queens2b.lp | clasp 0 -q --stats for f in queens*\.lp; do cat $f; done for f in queens*\.lp; do ls $f; gringo -c queens=10 $f -t | wc; done gringo -c queens=10 queens2a.lp > queens2a.lparse gringo -c queens=10 queens2b.lp > queens2b.lparse lpeq-1.19 queens2b.lparse queens2a.lparse | clasp lpeq-1.19 queens2a.lparse queens2b.lparse | clasp gringo -c queens=10 queens2c.lp > queens2c.lparse lpeq-1.19 queens2c.lparse queens2a.lparse | clasp lpeq-1.19 queens2a.lparse queens2c.lparse | clasp cat queens5c.lp gringo -c queens=4 queens5c.lp -t gringo -c queens=13 queens5c.lp | clasp gringo -c queens=13 queens2b.lp | clasp gringo -c queens=100 queens5c.lp | clasp gringo -c queens=100 queens5c.lp | smodels And its result (obtained by replacing less by cat) -- torsten@re 2009:~/public_html/Lehre/ASP/Examples> cat queens2a.lp % by Ilkka Niemelä 1 { q(X,Y) : d(Y) } 1 :- d(X). 1 { q(X,Y) : d(X) } 1 :- d(Y). :- d(X;Y;X1;Y1), q(X,Y), q(X1,Y1), X!=X1, Y!=Y1, abs(X-X1) == abs(Y-Y1). d(1..queens). #hide. #show q(X,Y). torsten@re 2010:~/public_html/Lehre/ASP/Examples> gringo -c queens=4 queens2a.lp 1 2 0 0 1 3 0 0 1 4 0 0 1 5 0 0 2 10 4 0 1 6 7 8 9 2 11 4 0 2 6 7 8 9 1 1 1 1 10 1 1 1 0 11 3 4 6 7 8 9 0 0 2 16 4 0 1 12 13 14 15 2 17 4 0 2 12 13 14 15 1 1 1 1 16 1 1 1 0 17 3 4 12 13 14 15 0 0 2 22 4 0 1 18 19 20 21 2 23 4 0 2 18 19 20 21 1 1 1 1 22 1 1 1 0 23 3 4 18 19 20 21 0 0 2 28 4 0 1 24 25 26 27 2 29 4 0 2 24 25 26 27 1 1 1 1 28 1 1 1 0 29 3 4 24 25 26 27 0 0 2 30 4 0 1 6 12 18 24 2 31 4 0 2 6 12 18 24 1 1 1 1 30 1 1 1 0 31 3 4 6 12 18 24 0 0 2 32 4 0 1 7 13 19 25 2 33 4 0 2 7 13 19 25 1 1 1 1 32 1 1 1 0 33 3 4 7 13 19 25 0 0 2 34 4 0 1 8 14 20 26 2 35 4 0 2 8 14 20 26 1 1 1 1 34 1 1 1 0 35 3 4 8 14 20 26 0 0 2 36 4 0 1 9 15 21 27 2 37 4 0 2 9 15 21 27 1 1 1 1 36 1 1 1 0 37 3 4 9 15 21 27 0 0 1 1 2 0 6 13 1 1 2 0 6 20 1 1 2 0 6 27 1 1 2 0 7 12 1 1 2 0 7 14 1 1 2 0 7 21 1 1 2 0 8 13 1 1 2 0 8 15 1 1 2 0 8 18 1 1 2 0 9 14 1 1 2 0 9 19 1 1 2 0 9 24 1 1 2 0 12 7 1 1 2 0 12 19 1 1 2 0 12 26 1 1 2 0 13 6 1 1 2 0 13 8 1 1 2 0 13 18 1 1 2 0 13 20 1 1 2 0 13 27 1 1 2 0 14 7 1 1 2 0 14 9 1 1 2 0 14 19 1 1 2 0 14 21 1 1 2 0 14 24 1 1 2 0 15 8 1 1 2 0 15 20 1 1 2 0 15 25 1 1 2 0 18 8 1 1 2 0 18 13 1 1 2 0 18 25 1 1 2 0 19 9 1 1 2 0 19 12 1 1 2 0 19 14 1 1 2 0 19 24 1 1 2 0 19 26 1 1 2 0 20 6 1 1 2 0 20 13 1 1 2 0 20 15 1 1 2 0 20 25 1 1 2 0 20 27 1 1 2 0 21 7 1 1 2 0 21 14 1 1 2 0 21 26 1 1 2 0 24 9 1 1 2 0 24 14 1 1 2 0 24 19 1 1 2 0 25 15 1 1 2 0 25 18 1 1 2 0 25 20 1 1 2 0 26 12 1 1 2 0 26 19 1 1 2 0 26 21 1 1 2 0 27 6 1 1 2 0 27 13 1 1 2 0 27 20 0 6 q(1,1) 7 q(1,2) 8 q(1,3) 9 q(1,4) 12 q(2,1) 13 q(2,2) 14 q(2,3) 15 q(2,4) 18 q(3,1) 19 q(3,2) 20 q(3,3) 21 q(3,4) 24 q(4,1) 25 q(4,2) 26 q(4,3) 27 q(4,4) 0 B+ 0 B- 1 0 1 torsten@re 2011:~/public_html/Lehre/ASP/Examples> gringo -c queens=4 queens2a.lp -t #hide. #show q(X0, X1). d(1). d(2). d(3). d(4). 1 {q(1,1), q(1,2), q(1,3), q(1,4)} 1. 1 {q(2,1), q(2,2), q(2,3), q(2,4)} 1. 1 {q(3,1), q(3,2), q(3,3), q(3,4)} 1. 1 {q(4,1), q(4,2), q(4,3), q(4,4)} 1. 1 {q(1,1), q(2,1), q(3,1), q(4,1)} 1. 1 {q(1,2), q(2,2), q(3,2), q(4,2)} 1. 1 {q(1,3), q(2,3), q(3,3), q(4,3)} 1. 1 {q(1,4), q(2,4), q(3,4), q(4,4)} 1. :- q(1,1), q(2,2). :- q(1,1), q(3,3). :- q(1,1), q(4,4). :- q(1,2), q(2,1). :- q(1,2), q(2,3). :- q(1,2), q(3,4). :- q(1,3), q(2,2). :- q(1,3), q(2,4). :- q(1,3), q(3,1). :- q(1,4), q(2,3). :- q(1,4), q(3,2). :- q(1,4), q(4,1). :- q(2,1), q(1,2). :- q(2,1), q(3,2). :- q(2,1), q(4,3). :- q(2,2), q(1,1). :- q(2,2), q(1,3). :- q(2,2), q(3,1). :- q(2,2), q(3,3). :- q(2,2), q(4,4). :- q(2,3), q(1,2). :- q(2,3), q(1,4). :- q(2,3), q(3,2). :- q(2,3), q(3,4). :- q(2,3), q(4,1). :- q(2,4), q(1,3). :- q(2,4), q(3,3). :- q(2,4), q(4,2). :- q(3,1), q(1,3). :- q(3,1), q(2,2). :- q(3,1), q(4,2). :- q(3,2), q(1,4). :- q(3,2), q(2,1). :- q(3,2), q(2,3). :- q(3,2), q(4,1). :- q(3,2), q(4,3). :- q(3,3), q(1,1). :- q(3,3), q(2,2). :- q(3,3), q(2,4). :- q(3,3), q(4,2). :- q(3,3), q(4,4). :- q(3,4), q(1,2). :- q(3,4), q(2,3). :- q(3,4), q(4,3). :- q(4,1), q(1,4). :- q(4,1), q(2,3). :- q(4,1), q(3,2). :- q(4,2), q(2,4). :- q(4,2), q(3,1). :- q(4,2), q(3,3). :- q(4,3), q(2,1). :- q(4,3), q(3,2). :- q(4,3), q(3,4). :- q(4,4), q(1,1). :- q(4,4), q(2,2). :- q(4,4), q(3,3). torsten@re 2012:~/public_html/Lehre/ASP/Examples> cat queens2b.lp % by Ilkka Niemelä 1 { q(X,Y) : d(Y) } 1 :- d(X). 1 { q(X,Y) : d(X) } 1 :- d(Y). :- d(X;Y;X1;Y1), q(X,Y), q(X1,Y1), X gringo -c queens=4 queens2a.lp -t #hide. #show q(X0, X1). d(1). d(2). d(3). d(4). 1 {q(1,1), q(1,2), q(1,3), q(1,4)} 1. 1 {q(2,1), q(2,2), q(2,3), q(2,4)} 1. 1 {q(3,1), q(3,2), q(3,3), q(3,4)} 1. 1 {q(4,1), q(4,2), q(4,3), q(4,4)} 1. 1 {q(1,1), q(2,1), q(3,1), q(4,1)} 1. 1 {q(1,2), q(2,2), q(3,2), q(4,2)} 1. 1 {q(1,3), q(2,3), q(3,3), q(4,3)} 1. 1 {q(1,4), q(2,4), q(3,4), q(4,4)} 1. :- q(1,1), q(2,2). :- q(1,1), q(3,3). :- q(1,1), q(4,4). :- q(1,2), q(2,1). :- q(1,2), q(2,3). :- q(1,2), q(3,4). :- q(1,3), q(2,2). :- q(1,3), q(2,4). :- q(1,3), q(3,1). :- q(1,4), q(2,3). :- q(1,4), q(3,2). :- q(1,4), q(4,1). :- q(2,1), q(1,2). :- q(2,1), q(3,2). :- q(2,1), q(4,3). :- q(2,2), q(1,1). :- q(2,2), q(1,3). :- q(2,2), q(3,1). :- q(2,2), q(3,3). :- q(2,2), q(4,4). :- q(2,3), q(1,2). :- q(2,3), q(1,4). :- q(2,3), q(3,2). :- q(2,3), q(3,4). :- q(2,3), q(4,1). :- q(2,4), q(1,3). :- q(2,4), q(3,3). :- q(2,4), q(4,2). :- q(3,1), q(1,3). :- q(3,1), q(2,2). :- q(3,1), q(4,2). :- q(3,2), q(1,4). :- q(3,2), q(2,1). :- q(3,2), q(2,3). :- q(3,2), q(4,1). :- q(3,2), q(4,3). :- q(3,3), q(1,1). :- q(3,3), q(2,2). :- q(3,3), q(2,4). :- q(3,3), q(4,2). :- q(3,3), q(4,4). :- q(3,4), q(1,2). :- q(3,4), q(2,3). :- q(3,4), q(4,3). :- q(4,1), q(1,4). :- q(4,1), q(2,3). :- q(4,1), q(3,2). :- q(4,2), q(2,4). :- q(4,2), q(3,1). :- q(4,2), q(3,3). :- q(4,3), q(2,1). :- q(4,3), q(3,2). :- q(4,3), q(3,4). :- q(4,4), q(1,1). :- q(4,4), q(2,2). :- q(4,4), q(3,3). torsten@re 2014:~/public_html/Lehre/ASP/Examples> gringo -c queens=13 queens2a.lp | clasp clasp version 1.1.0 Reading from stdin Reading : Done(0.000s) Preprocessing: Done(0.000s) Solving... Answer: 1 q(1,3) q(2,8) q(3,13) q(4,11) q(5,6) q(6,2) q(7,7) q(8,5) q(9,12) q(10,9) q(11,1) q(12,10) q(13,4) Models : 1+ Time : 0.000 (Solving: 0.000) torsten@re 2015:~/public_html/Lehre/ASP/Examples> gringo -c queens=13 queens2b.lp | clasp clasp version 1.1.0 Reading from stdin Reading : Done(0.000s) Preprocessing: Done(0.000s) Solving... Answer: 1 q(1,3) q(2,8) q(3,13) q(4,11) q(5,6) q(6,2) q(7,7) q(8,5) q(9,12) q(10,9) q(11,1) q(12,10) q(13,4) Models : 1+ Time : 0.000 (Solving: 0.000) torsten@re 2016:~/public_html/Lehre/ASP/Examples> gringo --stats -c queens=13 queens2a.lp | clasp 0 -q --stats clasp version 1.1.0 Reading from stdin === Grounder Statistics === #rules : 2743 #atoms : 182 #aux. atoms : 53 #count : 78 #sum : 0 #min : 0 #max : 0 #compute : 0 #optimize : 0 Solving... Models : 73712 Time : 9.340 (Solving: 9.340) Choices : 389952 Conflicts : 303737 Restarts : 0 Atoms : 235 Rules : 2743 (1: 2665 2: 52 3: 26) Bodies : 1406 Equivalences: 182 (Atom=Atom: 12 Body=Body: 26 Other: 144) Tight : Yes Variables : 1521 (Eliminated: 0) Constraints : 1352 (Binary: 96.2% Ternary: 0.0% Other: 3.8%) Lemmas : 254037 (Binary: 0.0% Ternary: 0.0% Other: 100.0%) Conflicts : 254037 (Average Length: 36.1) Loops : 0 (Average Length: 0.0) torsten@re 2017:~/public_html/Lehre/ASP/Examples> gringo --stats -c queens=13 queens2b.lp | clasp 0 -q --stats clasp version 1.1.0 Reading from stdin === Grounder Statistics === #rules : 1443 #atoms : 182 #aux. atoms : 53 #count : 78 #sum : 0 #min : 0 #max : 0 #compute : 0 #optimize : 0 Solving... Models : 73712 Time : 9.320 (Solving: 9.320) Choices : 389952 Conflicts : 303737 Restarts : 0 Atoms : 235 Rules : 1443 (1: 1365 2: 52 3: 26) Bodies : 1406 Equivalences: 182 (Atom=Atom: 12 Body=Body: 26 Other: 144) Tight : Yes Variables : 1521 (Eliminated: 0) Constraints : 1352 (Binary: 96.2% Ternary: 0.0% Other: 3.8%) Lemmas : 254037 (Binary: 0.0% Ternary: 0.0% Other: 100.0%) Conflicts : 254037 (Average Length: 36.1) Loops : 0 (Average Length: 0.0) torsten@re 2018:~/public_html/Lehre/ASP/Examples> for f in queens*\.lp; do cat $f; done % N-queens problem by Ilkka Niemelä % % q(X,Y) gives the legal positions of the queens % d(1..queens): facts for the dimension of the board. q(X,Y) :- d(X), d(Y), not negq(X,Y). negq(X,Y) :- d(X), d(Y), not q(X,Y). :- d(X), d(Y), d(X1), q(X,Y), q(X1,Y), X1 != X. :- d(X), d(Y), d(Y1), q(X,Y), q(X,Y1), Y1 != Y. :- d(X), d(Y), d(X1), d(Y1), q(X,Y), q(X1,Y1), X != X1, Y != Y1, abs(X - X1) == abs(Y - Y1). :- d(X), not hasq(X). hasq(X) :- d(X), d(Y), q(X,Y). d(1..queens). #hide. #show q(X,Y). % Typical command line % lparse -1 -d none -c queens=8 queens.lp | smodels % by Ilkka Niemelä 1 { q(X,Y) : d(Y) } 1 :- d(X). 1 { q(X,Y) : d(X) } 1 :- d(Y). :- d(X;Y;X1;Y1), q(X,Y), q(X1,Y1), X!=X1, Y!=Y1, abs(X-X1) == abs(Y-Y1). d(1..queens). #hide. #show q(X,Y). % by Ilkka Niemelä 1 { q(X,Y) : d(Y) } 1 :- d(X). 1 { q(X,Y) : d(X) } 1 :- d(Y). :- d(X;Y;X1;Y1), q(X,Y), q(X1,Y1), X=queens-X+1:V<=X:abs(queens-X+1-U) == abs(1-V)}. :- d(X), 2 { q(U,V):d(U;V):U<=X:V>=queens-X+1:abs(1-U) == abs(queens-X+1-V)}. :- d(X), 2 { q(U,V):d(U;V):U>=queens-X+1:V>=queens-X+1:abs(queens-X+1-U) == abs(queens-V)}. d(1..queens). #hide. #show q(X,Y). 1 { q(X,Y) : d(Y) } 1 :- d(X). 1 { q(X,Y) : d(X) } 1 :- d(Y). :- dd(X), 2 { q(U,V) : d(U;V) : U<=X : V<=X : abs(X-U) == abs(1-V) }. :- dd(X), 2 { q(U,V) : d(U;V) : U>=queens-X+1: V<=X : abs(queens-X+1-U) == abs(1-V) }. dd(X) :- X=2*Y, d(Y). dd(X) :- X=2*Y-1,d(Y). d(1..queens). #hide. #show q(X,Y). % #const queens = 10. #const diags = queens * 2 - 1. d(1..queens). diag(1..diags). diagX(X,Y,X - Y + queens) :- d(X), d(Y). diagY(X,Y,X + Y - 1) :- d(X), d(Y). % exactly 1 queen in each row/col 1 { q(X,Y) : d(Y) } 1 :- d(X). 1 { q(X,Y) : d(X) } 1 :- d(Y). % at most 1 queen on each diagonal { q(X,Y) : diagX(X,Y,D) } 1 :- diag(D). { q(X,Y) : diagY(X,Y,D) } 1 :- diag(D). #hide. #show q(X,Y). #const diags = queens * 2 - 1. d(1..queens). diag(1..diags). diagX(X,Y,X - Y + queens) :- d(X), d(Y). diagY(X,Y,X + Y - 1) :- d(X), d(Y). 1 { q(X,Y) : d(Y) } 1 :- d(X). 1 { q(X,Y) : d(X) } 1 :- d(Y). :- diag(D), 2 { q(X,Y) : diagX(X,Y,D) }. :- diag(D), 2 { q(X,Y) : diagY(X,Y,D) }. #hide. #show q(X,Y). #const diags = queens * 2 - 1. d(1..queens). diag(1..diags). 1 { q(X,Y) : d(Y) } 1 :- d(X). 1 { q(X,Y) : d(X) } 1 :- d(Y). :- diag(D), 2 { q(X,Y) : d(X;Y) : D==X - Y + queens }. :- diag(D), 2 { q(X,Y) : d(X;Y) : D==X + Y - 1 }. #hide. #show q(X,Y). % from University of Kentucky 1 { q(X, Y) : d(Y) } 1 :- d(X). 1 { q(Y, X) : d(Y) } 1 :- d(X). :- d(X;X+I;I;Y), q(X,Y), q(X+I,Y+I). :- d(X;X+I;I;Y;Y-I), q(X,Y), q(X+I,Y-I). d(1..queens). #hide. #show q(X,Y). % by Tomi Janhunen (adopted from Ilkka Niemelä's encoding) d(1..queens). queens {q(X,Y):d(X;Y)} queens. :- q(X,Y1), q(X,Y2), Y1!=Y2, d(X;Y1;Y2). :- q(X1,Y), q(X2,Y), X1!=X2, d(X1;X2;Y). :- q(X1,Y1), q(X2,Y2), abs(X1-X2)==abs(Y1-Y2), X1!=X2, Y1!=Y2, d(X1;Y1;X2;Y2). #hide. #show q(X,Y). torsten@re 2019:~/public_html/Lehre/ASP/Examples> for f in queens*\.lp; do ls $f; gringo -c queens=10 $f -t | wc; done queens1.lp 3262 9964 67146 queens2a.lp 1172 3674 25005 queens2b.lp 602 1964 13425 queens2c.lp 317 1109 7635 queens3.lp 68 578 3937 queens4.lp 86 572 3906 queens5a.lp 289 711 6802 queens5b.lp 285 771 6886 queens5c.lp 85 571 3936 queens6.lp 602 1964 13425 queens7.lp 2953 8936 60793 torsten@re 2020:~/public_html/Lehre/ASP/Examples> gringo -c queens=10 queens2a.lp > queens2a.lparse torsten@re 2021:~/public_html/Lehre/ASP/Examples> gringo -c queens=10 queens2b.lp > queens2b.lparse torsten@re 2022:~/public_html/Lehre/ASP/Examples> lpeq-1.19 queens2b.lparse queens2a.lparse | clasp clasp version 1.1.0 Reading from stdin Reading : Done(0.000s) Preprocessing: Done(0.010s) Models : 0 Time : 0.010 (Solving: 0.000) torsten@re 2023:~/public_html/Lehre/ASP/Examples> lpeq-1.19 queens2a.lparse queens2b.lparse | clasp clasp version 1.1.0 Reading from stdin Reading : Done(0.010s) Preprocessing: Done(0.010s) Models : 0 Time : 0.020 (Solving: 0.000) torsten@re 2024:~/public_html/Lehre/ASP/Examples> gringo -c queens=10 queens2c.lp > queens2c.lparse torsten@re 2025:~/public_html/Lehre/ASP/Examples> lpeq-1.19 queens2c.lparse queens2a.lparse | clasp clasp version 1.1.0 Reading from stdin Reading : Done(0.000s) Preprocessing: Done(0.000s) Solving... Answer: 1 q(1,6) q(2,8) q(3,7) q(4,4) q(5,3) q(6,2) q(7,1) q(8,5) q(9,10) q(10,9) q'(1,6) q'(2,8) q'(3,7) q'(4,4) q'(5,3) q'(6,2) q'(7,1) q'(8,5) q'(9,10) q'(10,9) Models : 1+ Time : 0.000 (Solving: 0.000) torsten@re 2026:~/public_html/Lehre/ASP/Examples> lpeq-1.19 queens2a.lparse queens2c.lparse | clasp clasp version 1.1.0 Reading from stdin Reading : Done(0.010s) Preprocessing: Done(0.000s) Models : 0 Time : 0.020 (Solving: 0.000) torsten@re 2027:~/public_html/Lehre/ASP/Examples> cat queens5c.lp #const diags = queens * 2 - 1. d(1..queens). diag(1..diags). 1 { q(X,Y) : d(Y) } 1 :- d(X). 1 { q(X,Y) : d(X) } 1 :- d(Y). :- diag(D), 2 { q(X,Y) : d(X;Y) : D==X - Y + queens }. :- diag(D), 2 { q(X,Y) : d(X;Y) : D==X + Y - 1 }. #hide. #show q(X,Y). torsten@re 2028:~/public_html/Lehre/ASP/Examples> gringo -c queens=4 queens5c.lp -t #hide. #show q(X0, X1). d(1). d(2). d(3). d(4). diag(1). diag(2). diag(3). diag(4). diag(5). diag(6). diag(7). 1 {q(1,1), q(1,2), q(1,3), q(1,4)} 1. 1 {q(2,1), q(2,2), q(2,3), q(2,4)} 1. 1 {q(3,1), q(3,2), q(3,3), q(3,4)} 1. 1 {q(4,1), q(4,2), q(4,3), q(4,4)} 1. 1 {q(1,1), q(2,1), q(3,1), q(4,1)} 1. 1 {q(1,2), q(2,2), q(3,2), q(4,2)} 1. 1 {q(1,3), q(2,3), q(3,3), q(4,3)} 1. 1 {q(1,4), q(2,4), q(3,4), q(4,4)} 1. :- 2 {q(1,3), q(2,4)} . :- 2 {q(1,2), q(2,3), q(3,4)} . :- 2 {q(1,1), q(2,2), q(3,3), q(4,4)} . :- 2 {q(2,1), q(3,2), q(4,3)} . :- 2 {q(3,1), q(4,2)} . :- 2 {q(1,2), q(2,1)} . :- 2 {q(1,3), q(2,2), q(3,1)} . :- 2 {q(1,4), q(2,3), q(3,2), q(4,1)} . :- 2 {q(2,4), q(3,3), q(4,2)} . :- 2 {q(3,4), q(4,3)} . torsten@re 2029:~/public_html/Lehre/ASP/Examples> gringo -c queens=13 queens5c.lp | clasp clasp version 1.1.0 Reading from stdin Reading : Done(0.000s) Preprocessing: Done(0.000s) Solving... Answer: 1 q(1,2) q(2,13) q(3,11) q(4,9) q(5,7) q(6,5) q(7,3) q(8,1) q(9,12) q(10,8) q(11,6) q(12,4) q(13,10) Models : 1+ Time : 0.000 (Solving: 0.000) torsten@re 2030:~/public_html/Lehre/ASP/Examples> gringo -c queens=13 queens2b.lp | clasp clasp version 1.1.0 Reading from stdin Reading : Done(0.000s) Preprocessing: Done(0.000s) Solving... Answer: 1 q(1,3) q(2,8) q(3,13) q(4,11) q(5,6) q(6,2) q(7,7) q(8,5) q(9,12) q(10,9) q(11,1) q(12,10) q(13,4) Models : 1+ Time : 0.000 (Solving: 0.000) torsten@re 2031:~/public_html/Lehre/ASP/Examples> gringo -c queens=100 queens5c.lp | clasp clasp version 1.1.0 Reading from stdin Reading : Done(0.030s) Preprocessing: Done(0.040s) Solving... Answer: 1 q(1,21) q(2,100) q(3,96) q(4,99) q(5,92) q(6,98) q(7,88) q(8,97) q(9,85) q(10,83) q(11,95) q(12,79) q(13,77) q(14,94) q(15,73) q(16,93) q(17,69) q(18,89) q(19,66) q(20,64) q(21,91) q(22,61) q(23,59) q(24,57) q(25,90) q(26,49) q(27,44) q(28,42) q(29,51) q(30,39) q(31,87) q(32,28) q(33,12) q(34,29) q(35,19) q(36,23) q(37,20) q(38,54) q(39,8) q(40,2) q(41,32) q(42,24) q(43,53) q(44,11) q(45,33) q(46,31) q(47,27) q(48,13) q(49,3) q(50,84) q(51,76) q(52,80) q(53,26) q(54,46) q(55,81) q(56,9) q(57,86) q(58,6) q(59,30) q(60,7) q(61,74) q(62,14) q(63,5) q(64,50) q(65,22) q(66,67) q(67,71) q(68,4) q(69,72) q(70,78) q(71,82) q(72,65) q(73,47) q(74,68) q(75,56) q(76,48) q(77,45) q(78,41) q(79,38) q(80,70) q(81,58) q(82,43) q(83,18) q(84,62) q(85,60) q(86,75) q(87,36) q(88,52) q(89,55) q(90,40) q(91,35) q(92,37) q(93,63) q(94,34) q(95,16) q(96,25) q(97,1) q(98,15) q(99,17) q(100,10) Models : 1+ Time : 1.570 (Solving: 1.500) torsten@re 2032:~/public_html/Lehre/ASP/Examples> gringo -c queens=100 queens5c.lp | smodels smodels version 2.33. Reading...done [takes pretty long]