General Reinforcement Learning