A Theory of Universal Artificial Intelligence based on Algorithmic Complexity