Machine learning algorithm where software agent learns as it explores the world