The file MLMxxx.p below is the latest version of the XSB Prolog source code for the M-Logic Machine. It's a research tool that handles several problems with exactly the same M-Logic processes, based almost exclusively on the manipulation and comparison of cinematic memories:
1. The Cross-the-River Problem is a version of the classical Man-Wolf-Goat-Cabbage problem. Some tentative actions of the agent will be found inneffective. The final position is tagged as pleasant (rewards are given), while some others are painfull. This is a good problem to see shaping methods in action. A simple version of Skinner's pigeons "superstitious learning" experiment is also implemented, with the expected result.
2. The Guess-the-Number Problem (a more elaborated version of the Matching Pennies game) displays the ability of the M-Logic Machine to find regularities in the middle of recorded noise. The agent tries to guess the future position of a target entity, while other entities are also moving around. Several variants of the problem are included: [1] the target moves according to complex interdependencies of all the entities [2] the target mirrors the trajectory of the agent sometime in the past, with a fixed position shift [3] the target mirrors the trajectory of another entity sometime in the past, with that entity moving randomly [4] the target moves randomly across several positions, with some positions more often visited. The second problem was also easily adapted to study the Iterated Prisonner's Dilemma with a Tit-For-Tat strategy.
3. The Invaders Problem displays the ability of the M-logic machine to handle a lose-lose situation with delayed rewards. It's a version of the classical shoot-them-up game. Various configurations of the problem are implemented. The effectiveness of reflex and instinctive actions relative to learned actions can be studied, with some surprising results. Agressive or shy behaviour of the agent emerges from the global pain/pleasure evaluation.
I intend to write a good tutorial, as time permits. A first unfinished draft can be found in the attachments.