COMP9414: Artificial Intelligence Tutorial Week 1: Agents
1. Discuss ways that advances in Robotics bring society ¡°good¡± and ¡°evil¡±.
2. Discuss PAGE (percepts, actions, goals, environment) specifications for the following agents (there is not necessarily a single correct answer):
(i) Robocup dog (ii) Self-driving car
(iii) Air traffic controller (iv) Poker playing bot
In each case, decide whether the environment is fully or partially observable, deterministic or stochastic, episodic or sequential, static or dynamic, and discrete or continuous.
What architecture(s) would be appropriate for these agents?
3. Consider the Delivery Robot from Poole and Mackworth. Does the simple strategy of always turning left when encountering an obstacle enable the robot to always reach its goal(s), or can the robot become stuck?
4. Compare the following two definitions of ¡®autonomy¡¯ for agents: (i) the agent¡¯s behaviour is partly determined by its perceptual experience rather than the knowledge of the designer (Russell and Norvig), and (ii) the agent can control its own behaviour (from the lectures). Give an example of an agent that satisfies definition (i) but not definition (ii), and vice versa.
5. The definition of a deterministic environment in Russell and Norvig is that the next state of the environment is completely determined by the current state and the action executed by the agent. The definition in lectures is that it depends on the action chosen by the agent. This makes a difference in cases when the agent chooses one action, but executes another. How can this happen? And what should the agent do about it?
Nondeterminism also arises when the agent executes an action at random (e.g. arbitrarily goes left or right). How does this affect Russell and Norvig¡¯s claim that ¡°an agent need not worry about uncertainty in a fully observable, deterministic environment¡±?
6. One objection to the Turing Test is that there is no requirement that the computer be able to perceive and act in the world. In response, the Total Turing Test has been proposed, in which the computer is connected through sensors and effectors to its environment. Questions in the game can explicitly concern the environment and the interrogator may request the system to manipulate the environment, etc. As with the Turing Test, a system is evaluated on how reliably its performance is indistinguishable from that of a human by the interrogator. Is the Total Turing Test any better than the Turing Test as a test of Artificial Intelligence?
7. Programming. Consider the agent hunter.py that operates in a simple grid environment foraging for food. Note the clear separation between agent and environment classes.
(i) This agent is more complex than a reactive agent that merely acts on the current percepts on each cycle. In what environments does this agent have an advantage over the reactive agent? Run some experiments to test your ideas.
(ii) This agent stores all previous percepts in a set, but does not update that set when food is observed to disappear (food that should be possible to see is no longer visible). Change the code to implement this functionality.
(iii) (Harder) Consider how to define the agent action selection function when there are multiple agents in the world, all competing for food. Code the perception and action selection functions to handle this scenario, and run some experiments. Note: It is straightforward using the existing code to create any number of agents.