% File 'hamiltonian': Computing Hamiltonian cycles using smodels. % Copy lparse and smodels from directory /projects/tag/smodels/current/sun/ . % Command line: 'lparse -n 0 < hamiltonian | smodels'. % DOMAINS node(0..5). edge(0,1). edge(1,2). edge(2,0). edge(3,4). edge(4,5). edge(5,3). edge(4,0). edge(2,5). % GENERATE 1 {in(X,Y) : edge(X,Y)} 1 :- node(X). 1 {in(X,Y) : edge(X,Y)} 1 :- node(Y). % DEFINE reachable(X) :- node(X), in(0,X). reachable(Y) :- node(X), node(Y), reachable(X), in(X,Y). % TEST :- not reachable(X), node(X). % HIDE hide node(X). hide edge(X,Y). hide reachable(X).