2
$\begingroup$

While reading the book AI A modern approach, 4th ed, I came across the section of "Agent program" with following text:

It is instructive to consider why the table-driven approach to agent construction is doomed to failure. Let $P$ be the set of possible percepts and let $T$ be the lifetime of the agent (the total number of percepts it will receive).

The lookup table will contain $\sum_{i=1}^T |P|^T$ entries.

Consider the automated taxi: the visual input from a single camera (eight cameras is typical) comes in at the rate of roughly 70 mb per sec. (30 frames per sec, 1080 X 720 pixels, with 24 bits of color information).

This gives a lookup table with over $10^{600,000,000,000}$ for an hour's driving.

Could someone please explain how the lookup table number is derived? (or what the author's point is which I am missing). If I were to multiply all of the numbers $30 × 1080 × 720 × 24 × 8 × 3600$, then I get $1.6124314e+13$ which comes very close I think, but can't get what would be the reason to build a table (even though a theoretic one) in such a way - something which is obviously intractable

edit:

My core question is this:

Assuming $10^{600,000,000,000}$ is derived from $30 × 1080 × 720 × 24 × 8 × 3600$, what is the purpose of storing data in the look up table at pixel precision? Wouldn't storing higher level of details be enough to solve these kind of problems (ie, autonomous driving)? Coming more from standard software database systems, I am missing that point. Thanks

$\endgroup$
  • 1
    $\begingroup$ OK, I missed something. The author has correctly identicied all history of percepts as important to making a control decision (I initially thought this was being ignored). That is why you have a guesstimate of roughly $10^{13}$ compared to author's much higher $10^{600.000.000.000}$ - it doesn't really matter since both are infeasible. $\endgroup$ – Neil Slater Sep 30 at 14:12
3
$\begingroup$

A tabular system for agent decisions is a direct and simple map of percept to control choice. For each percept received, the agent looks up the percept and cross-references it to the action it should take. In order to construct this, you need to list all percepts in full detail, with the associated control choice.

Clearly that is not going to be feasible for the automated taxi example. No-one would think to build such a table to handle natural image inputs. That is the author's point.

However, a tabular structure is a reasonable theoretical construct for mapping an arbitrary discrete function, and also is practical for simple environments.

To answer your extended question:

Assuming $10^{600,000,000,000}$ is derived from $30 × 1080 × 720 × 24 × 8 × 3600$, what is the purpose of storing data in the look up table at pixel precision?

It is the only way to get a map from percept to control using a tabular system.

By proposing any kind of summarisation or approximation of the input-to-output function to solve this, you have gone beyond the capability of a tabular system. That again is the author's point.

Wouldn't storing higher level of details be enough to solve these kind of problems (ie, autonomous driving)?

If it is really obvious to you that this is the solution, then that's a good thing as you are thinking ahead. However, you should also consider what that means in terms of what you might be giving up, from a theoretical perspective. For instance, a tabular system can make radically different decisions based on very minor differences between percepts, whilst any form of processing of the inputs to make them easier to handle is necessarily going to remove information that might be important.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.