Solver for Latin Cubes written in B-Prolog, by Zimcke Van de Staey & Tobias Verlinde
Latin cube problems can be inserted in problems.pl in the following formatting:
problem( [ [[1,2,3,4],[2,_,_,_],[3,_,_,_],[4,_,_,_]], [[2,_,_,_],[_,_,_,_],[_,_,_,_],[_,_,_,_]], [[3,_,_,_],[_,_,_,_],[_,_,_,_],[_,_,_,_]], [[4,_,_,_],[_,_,_,_],[_,_,_,_],[_,_,_,_]] ] ).
Absent constraints can be inserted in constraints.pl. Each constraint is identified through a fact of one the fowllowing three forms:
w(i,j) % width-constraint for pos(i,j) h(i,j) % height-constraint for pos(i,j) d(i,j) % depth-constraint for pos(i,j)
There are two different running modes.
- To find all solutions for a number of Latin cube problems use the query
main.
- To find the first inccorect solution for a number of Latin cube problems (the solution is not Latin) use the query
main2.
- The output of the program will be added in
output.txt
- Clear the output file with the command
clear.