A Collection of CLP(FD) Programs for the ASP Solver Competition

 

This is a collection of programs written in CLP(FD) to solve the benchmark problems submitted to the Second Answer Set Programming Competition. It is hoped that these programs will help CLP(FD) solvers enter the competition and compete with ASP, SAT, and other CP solvers. 

These programs have been tested with B-Prolog.  It is hoped that they will be made to work with other CLP(FD) systems.

Each program starts with a line that indicates its origin, which is optionally followed by include directives for the common base library and  the system-specific library.  Each program must define a predicate, named solve(L), where L is a list of atoms read from the input file. For example, for  the graph-coloring problem, the list of atoms would be:

       [vertex(a),vertex(b),vertex(c),edge(a,b),edge(b,c),color(red),color(blue)]

Each program should end with  a no-arg predicate, named test,  which calls solvewith a sample input list. 

The common base library is available at base.pl. The system-specific libraries are available for B-Prolog (lib_bp.pl), ECLiPSe(lib_ecl_fd.ecl and lib_ecl_ic.ecl), SICStus-Prolog (lib_sics.pl), and SWI-Prolog (lib_swi.pl) now.  The libraries will be updated as requested. 

When you write a program, please separate from the main program all system-specific predicates, which will be placed into the system-specific library. You only need to test your program with one system. It's hoped that your program will be made to work with other systems by other people.

To submit a program, email it to (nzhou at acm [.] org) or post it to comp.lang.prolog under the subject "asp-competition".

 

 Programs

Benchmark Class Type Program
HydraulicPlanning Decision,P hydraulic1.pl
HydraulicLeaking Decision,P hydraulic2.pl
CompanyControls Decision,P company.pl
GrammarBasedInformationExtraction Decision,P grammar.pl
Reachability Decision,P reach.pl
Decision,NP
queens.pl
Sokoban Decision,NP
15Puzzle Decision,NP fifteenPuzzle.pl
HamiltonianPath Decision,NP hamilton.pl
SchurNumbers Decision,NP schur.pl
TravellingSalesperson Decision,NP tsp.pl
WeightBoundedDominatingSet Decision,NP wbds.pl
Labyrinth Decision,NP
GeneralizedSlitherlink Decision,NP slitherlink.pl
HierarchicalClustering Decision,NP hclustering.pl
ConnectedDominatingSet Decision,NP connectedDSet.pl
GraphPartitioning Decision,NP graphPartition.pl
Hanoi Decision,NP
Fastfood Decision,NP fastfood.pl
WireRouting Decision,NP wireRouting.pl
Sudoku Decision,NP sudoku.pl
DisjunctiveScheduling Decision,NP disjunctiveScheduling.pl
KnightTour Decision,NP knightTour.pl
ChannelRouting Decision,NP channelRoute.pl
EdgeMatching Decision,NP edgeMatch.pl
GraphColouring Decision,NP graphColouring.pl
MazeGeneration Decision,NP maze.pl
Solitaire Decision,NP
StrategicCompanies Decision,NP^NP strategicCompanies.pl
GolombRuler Optimization golombRuler.pl
MaximalClique Optimization maxClique.pl
15PuzzleOpt Optimization
TravellingSalespersonOptimize Optimization opt_tsp.pl
WeightBoundedDominatingSetOptimize Optimization opt_wbds.pl
LabyrinthOptimize Optimization
SokobanOptimize Optimization
FastfoodOptimize Optimization opt_fastfood.pl
CompanyControlsOptimize Optimization opt_company.pl