(The below text version of the notes is for search purposes and convenience. See the PDF version for proper formatting such as bold, italics, etc., and graphics where applicable. Copyright: 2022 Retraice, Inc.)

Re65: TABLE-DRIVEN-AGENT Part 1
(AIMA4e p. 48)

retraice.com

A basic agent program in both AIMA4e pseudocode and Python.

Air date: Tuesday, 29th Nov. 2022, 11:00 PM Eastern/US.

Agents

Examples of kinds of agents in AIMA4e (pp. 48-58): table-driven, reflex, model-based reflex, goal-based, utility-based, learning.

We should also remember that `intelligent agents' of these kinds need not necessarily be only the computer+software kind. They might occur in nature, or in other architectures (see below).

TABLE-DRIVEN-AGENT

If this is your first exposure to this stuff, relax. Give it time and you'll get familiar with it. Don't try to learn it faster than your brain can go. From Russell & Norvig (2020) p. 48 and the associated GitHub repository:
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

PIC
TABLE-DRIVEN-AGENT in pseudocode and Python. Highlighted are inputs and output.
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

http://aima.cs.berkeley.edu/algorithms.pdf

https://github.com/aimacode/aima-python/blob/master/agents4e.py

Program functions, agent functions, agent programs

Here is a first-pass attempt at explaining the key ideas:
* program (programming) function: a piece of software that takes an input and returns an output.
* agent program: an AIMA4e technical term that stands for the whole, mostly dumb, computer program to be run, within which is the smart part called the agent function'. * agent function: an AIMA4e technical term that stands for the part of the agent program that makes the agent behave intelligently--in the TABLE-DRIVEN-AGENT, it's thetable' file in memory, which is a Python dictionary (associative array' data structure), which we'll provide to the dumb program in advance so it canlook-up' the smart action that corresponds to the latest percept sequence after receiving a new percept via its architecture (in this case, us typing its name and an argument such as red' on the command line and hittingreturn').
* agent = architecture (hardware) + program (software) (p. 47).
* architecture (hardware): makes percepts from sensors available to program, runs program, feeds programs action choices to actuators (p. 47).
* program = control structures + memory + agent function.
* memory (`persistent'): representations, e.g. atomic, factored, structured (p. 58).

__

References

Russell, S., & Norvig, P. (2020). Artificial Intelligence: A Modern Approach. Pearson, 4th ed. ISBN: 978-0134610993. Searches:
https://www.amazon.com/s?k=978-0134610993
https://www.google.com/search?q=isbn+978-0134610993
https://lccn.loc.gov/2019047498