In the book Introduction to artificial intelligence Ertel asks this question (exercise 1.5(a)):
Why is a deterministic agent with memory not a function from the set of all inputs to the set of all outputs, in the mathematical sense?
I don't even know why this statement would be true! I mean, I understand that mathematical functions are "pure functions" and thus do not have "side effects." An agent with memory can be viewed as a function with side effects and thus can't be a pure math function. But what prevents from choosing as the set of all inputs the "spacetime" of input? Doing so brings back the agent with memory to a pure function which can be represented as a mathematical functions!
Am I missing something or is what I say correct?
Thanks
Without knowing more about this statements context, here is the point I imagine the author is trying to make:
The behavior of a deterministic agent with memory evolves as its internal state (i.e. memory) evolves. Mathematical functions do not have an evolving internal state in this sense. A mathematical function must satisfy the requirement that every input is mapped to only one output. Consider the function $f$ from input set $I$ to output set $O$. $f$ cannot take an element of $I$ to more than one element of $O$ and still be considered a function in the mathematical sense.
However, a deterministic agent with memory state $B$ might map some input $a$ to output $b$ while, at a later time, that same deterministic agent with memory state $C$ could map input $a$ to output $c$. This is inconsistent with the mathematical notion of a function.