Fork Me on GitHub

Search Tree Visualization for Finite Domain Constraint Problems

Download this project as a .zip file Download this project as a tar.gz file

Explorer.js is a plug-in library to the FD.js library written by Mr. Srikumar. Explorer.js allows users to follow the search process graphically and step by step.

As FD.js is designed based on the Finite Domain Constraint Programming feature of Mozart/Oz, Explorer.js is also designed based on the Oz Explorer.

Dependencies & Compatibility

All of these libraries need to be loaded prior to Explorer.js for full functionality.

This library was developed and tested on Chrome 18.

User Guide

Invoke the Explorer

Explorer.js provides 4 methods to invoke the Explorer (as part of FD). The first 3 use depth first search engine while the last one uses branch and bound search engine.

Explanation

    var problem = {
        script: function (space) { 
            ...
        },
        // Only for branch and bound
        ordering: function (space, best_solution) { 
            ...
        },
        // Optional
        solve_for: FD.search.solve_for_variables(...) 
    };

Context Menu & Hotkeys

To explore the the search tree, you can use either the context menu (by right click) or the hotkeys.


The Search Tree

Figure 1: Nodes in the search tree

Figure 2: Collapsed subtrees in the search tree

Demos

Versions

0.4

License

Explorer.js is published under the MIT license or GPL v3

Acknowledgement

The tree drawing algorithm used in Explorer.js is based on the Tidier Drawings of Trees paper by Edward M. Reingold and John S. Tilford.

Authors

Authors

Supervisors