Fundamentals of Intelligent Agents