Distributed Constraint Propagation
This week in my Adventures in Advanced Symbolic Programming class we were graced with an intimidatingly complex problem set on constraint propagation systems. Already I am just having trouble loading the damn thing, and Chris Hanson mentioned after class that he’d already poured in several hours working on it and hadn’t finished. It’ll take me exponentially longer…
The plus side is that constraint propagation is a topic I’ve always found intriguing, and I’ve even thought about it on my own without realizing that it was a subfield in and of itself. Inspired in part by the coverage it has received in this class (and in part by an offhand comment from John to rethink the spreadsheet) one of the ideas I’ve been tossing around is distributed constraint propagation, where each datum or datum collection (cell, row, column, group) is a small server on the net. Each of these individual pieces is aggregated by other nodes that act as constraints. These pieces can be created independently and composed and reconfigured dynamically and arbitrarily. This is in some sense a generalization of some themes Burak is exploring in his thesis.