| 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 context-sensitive 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.
|
||||||||