Notes from CS6660 Intelligent Agents

27 August 2001

as taken by Chip Stewart

 

Intelligence:

    1. Rationality
    1. Goal-directed
    2. Constraint-satisfying
    1. Autonomy – not entirely following someone else’s instructions

Levels of autonomy (degrees):

    1. Encode everything
    2. Asks someone else
    3. Learns from its own experiences (fully autonomous must be able to learn from its own experiences)

One goal of Artificial Intelligence (AI) is to take precepts about the world, and then manipulate that world.

What if we attempted to encode everything, and map all combinations of precepts to all possible combinations of actions?

    1. Requires too much memory (Assuming binary inputs and outputs, total would be 2m x 2n where m and n are the number of possible inputs and outputs, respectively. m believed to be in the order of 1012. Simply compare to number of sensors on a human – rods and cones, nerves, etc.)
    2. Accessing the table of mapped inputs to outputs would be time consuming.
    3. Cannot adjust to constantly changing environment/world. (This is the updating/maintaining the table part.)

Generally, intelligence involves how one constructs, accesses, and updates/maintains a table mapping inputs to outputs.

Main Assumption of AI

  1. Intelligence is a form of computation (this is demonstrated in all 3 designs studied so far).
  2. Intelligence is knowledge-based or experience-based (only the first design—percept-based—does not agree with this assumption).
  3. Intelligence is goal-directed (only the third design—goal-based—agrees with this assumption).
  4. Representation is symbolic.

Note: Rules 2 and 3 are explicitly (as opposed to implicitly) represented in the agent. In other words, the agent can do anything with them and they are not assumed or built-in to the agent. Additionally, remember there are degrees of intelligence.

What stops us from building "Hal" (see "2001: A Space Odyssey" for more information)?

  1. We do not know what the memory organizations are.
  2. We do not know what kinds of knowledge there are.
  3. We do not know how goals are represented, nor how they change over time.
  4. We do not know how to encode all of this.

Robot Example

Dr. Goel used an example of a boundary-following robot in a room that was divided into a grid system.

Robot tasks => locate a boundary quickly, visit as few cells as possible to locate the boundary, follow the boundary

Environment => boundary-driven

Perception => can look in each of the neighboring cells (N, NE, E, SE, S, SW, W, NW – eight total)

Actions => can move to only an adjacent grid square in four direction (N, E, S, W)

Uncertainty => no uncertainty in this example

Must address four conditions for this specific problem:

  1. No wall
  2. One wall
  3. Multiple walls
  4. Complete enclosure on all four sides by a wall

You must also know something about the world:

  1. Is it perceptually accessible or inaccessible? (accessible implies totally accessible...inaccessible implies partially accessible or not at all)
  2. Is it deterministic or nondeterministic?
  1. deterministic – the current state depends upon what the agent did previously (and only that agent)
  2. nondeterministic – the current state doesn’t depend solely upon what the agent did previously
  1. Is it static (not changing) or dynamic (changing)?
  2. Is it discrete or continuous?
  1. discrete – only certain, well-defined moves (actions) can be made (such as in chess)
  2. continuous – moves or actions are not well-defined (such as in driving or speaking)

+ The Robot Example is said to be a problem with a world that is inaccessible, deterministic, static, and discrete.

+ Another example is natural language processing, which is said to be accessible, nondeterministic, dynamic, and continuous (can have discrete word structures, but the speech is continuous).

* HOMEWORK: Write rules for the four conditions in the robot example.

 

 

Neural Networks

Linear Threshold Unit ("Perceptron"): The simplest form has only two layers (input and output) which are fully connected with one neuron in the output layer. It is used to classify input (a simple classifier--determines what class a certain input belongs to). Given random initial weights, the perceptron is capable of correctly classifying inputs within a finite number of trials.

Dr. Goel uses the example of a 3x3 square that displays a number by shading in certain squares. The perceptron created for this has 9 input neurons, fully connected with one output neuron. The weights are initially random, until the perceptron learns what combinations of input neurons result in the desired output number (class).