3.1.1  
Constraint Systems  
home page  
There are two general ways to compute an answer, either head toward the solution as a goal, or prune away possible answers that are not solutions. A particular item of information can tell you about what the solution is (direct computation), or it can tell you about what the solution is not (constraint management). I've built a couple of constraint management systems, one for placement of seats in a vehicle, and one for reducing the computational load in a virtual environment. 

papers/essays  
computer science  


∆ constraints  
agents/entities  
AI  
programming  
CAD/EDA  
HCI  
distributed  


site structure  
Constraint management has the added advantage of finding sets of solutions, as well as finding a single solution that may not be optimal but is certainly acceptable (a satisficing solution). CONMAN (CONstraint MANager) was designed to converge upon a set of solutions using a possibility calculus to prune the space of possibilities. A contextsensitive control structure helps to avoid searching for explicit solutions. The paper steps though the possibility calculus approach with a long toy example. Output for the example is also included (from a Prolog program written by Eric Gullichsen). A couple of short design discussion memos follow.

