Logic programming as I understand it is based on the expression of constraints, which are evaluated by a program in a goal-seeking fashion to determine solutions to the constraints. This seems to address the core desire in the kind of high-level AI that one would like to use in driving game personalities and organizations, namely to express knowledge and reasoning ability succinctly, then seek out plans of action.
- [Mozart], a development system based on the Oz Language, which is billed as a modern logic programming language, an alternative to the older Prolog.
- Some more info on [Oz]
- [Introduction to Oz]
- [FAQ]
- [Prolog Resource Guide]
- [CMU Prolog Repository]
- [Association for Logic Programming] (Mostly organizational info.)
(You can tell that Prolog is an "old" language; many of the related Web links are dead. Sigh.)
I'm shaky on terminology; the phrase "logic programming" does not seem to be well defined, or I just haven't stumbled across a good definition yet. The phrase is used to describe Prolog's domain. Related topics (with links to FAQs) seem to be constraint programming, [linear programming FAQ], [nonlinear programming], [functional programming]. (Perhaps "logic programming" is an older term which is refined by these others; I've seen constraint programming and functional programming described as constraint logic programming and functional logic programming, respectively.)
[Programming Language Research] looks like a good starting place for getting a handle on the different programming paradigms. Another good page is [Research Language Overviews]. (Carnegie Mellon is a pretty busy place, I guess.)