Exercise 2.7 [agent-fn-prog-exercise]

This exercise explores the differences between agent functions and agent programs.

1. Can there be more than one agent program that implements a given agent function? Give an example, or show why one is not possible.

2. Are there agent functions that cannot be implemented by any agent program?

3. Given a fixed machine architecture, does each agent program implement exactly one agent function?

4. Given an architecture with $n$ bits of storage, how many different possible agent programs are there?

5. Suppose we keep the agent program fixed but speed up the machine by a factor of two. Does that change the agent function?