Logic Programming
SDxWiki

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.

(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.)