

Detecting and Enumerating
Relation Preserving Maps. The program CSP solver is an ongoing project in which I am looking for efficient ways to detect or enumerate relation preserving maps and more general structures. This page and the software that can be downloaded from here is my first attempt to obtain wider feedback. In early 1999 I found that I had been reinventing the wheel in quite a few instances. The program has now become a WINDOWS application that can be used for a multitude of enumeration tasks using many different search algorithms and preprocessors. The executable is a WINDOWS application. Simply put it where you want it and click on the icon. There are also some sample input files provided in PKZIPped form. The code was updated in early 2013. No guarantee is made for this code. Please let me know any comments, suggestions or if you are interested in the source code. As I am still adding features to the program I am not sure when I will be able to write any kind of intro to it. The following will need to suffice for now. Please contact me for additional information if necessary. The program is started by clicking on bxi_win.exe. Under <File> select <Start>. You obtain a large input box with inputs to be chosen from dropdown menus. (The explanations of all choices would fill a medium sized book on discrete math and theoretical computer science.) The input file will be an ASCII file, formatted like the sample inputs that can be downloaded. Essentially each input is a directed graph given as follows. The vertices are numbers 1, ..., n. The directed edges are given as a list <first vertex><comma separated list of vertices toward which there is a directed edge> <second vertex><comma separated list of vertices toward which there is a directed edge> ....
The program can compute the transitive closure or make the directed graph undirected. In this fashion, typing is reduced to a minimum.
Right click here to download the executable hom_csp_solver.exe. Right click here to download inputs.zip
If you are interested in the program with an older interface, click here.
