The Nanopass Framework is built for that:
"The nanopass framework provides a tool for writing compilers composed of several simple passes that operate over well-defined intermediate languages. The goal of this organization is both to simplify the understanding of each pass, because it is responsible for a single task, and to simplify the addition of new passes anywhere in the compiler."
This model seems to be reducible to "people will eat what they prefer".
A good model would be able to reduce the number of bits to describe a behavior, if the model requires to keep a log (e.g. what particular humans prefer to eat) to predict something, it's not much less complex (i.e. bit encoding) than the behavior.
miniKanren is a logic/relational language. It's been used to solve questions related to programs. For example, once you give miniKanren a description of the untyped λ-calculus extended with integers you can ask it "give me programs that result in 2" and it'll enumerate programs from the constant "2" to "1 + 1" to more complicated versions using λ-expressions. It can even find quines (if the described language supports it).
http://minikanren.org/