I will try to simplify it to the sweet point of becoming... almost smoke!
Ingredient list:
- A system you can -partially- inspect to know its actual state -or part of it- as a vector.
- A simulation you can ask "what will happen if system evolves from initial state X0 for a dt".
- A distance between two states, so our "state space" becomes a metric space.
- A number of "degree of freedom" the AI can push.