Response to student question:prefers() focuses on the agents goals and an explicit set of devices.
recommend() is like a salesperson at Best Buy who can recommend goals and devices previously unknown to the agent.
A number of you have proposed rewriting Norvig's Common LISP programs into Python. I wrote a book: Object Oriented Common LISP. Let me know if you want to borrow a copy. I have a few I can lend. Also I discovered that there is a github repository of solutions to the book's exercises. Who knew?
Azimov's Three Laws of Robotics
Note: I had to remove the Merrill Lynch reports I posted earlier due to copyright restrictions. The Schwab document is in the clear.
See Goals.html Agents.
See GBDMResources.html Chapter 4: Resources. Note: discussion of car purchase in section 4.5 is relevant to hw 3 for computer purchase.
See GBDMRelationships.html Chapter 5: Relationships.