The slides for this class are HTML files which both validate as XHTML 1.1 and pass the WAVE Accessibility Checker.
They are made to look like slides using a Javascript called Slidy.
The following keystrokes do useful things in Slidy:
h - help (see all the commands)
f - fullscreen (gets rid of the links at the bottom of the window
space - advance a slide
left/right arrows - forward or back a slide
up/down arrows - scroll within a slide
a - show all slides at once for printing
n - add a note to a slide in a given namespace (a student of mine Sriram Krishnan added this extension)
Artificial Intelligence is ... ?
Acting like a human. Turing (1950) proposed the Turing Test. A computer passes the test if a human interrogator after posing questions to the computer and seeing the responses cannot distinguish the responses from those of a human. Such a computer would need to be able to:
Do natural language processing to enable it to communicate successfully in English
Use some kind of knowledge representation to store what it hears
Be able to do automated reasoning to use the stored information to answer questions and draw conclusions.
Do machine learning to adapt to new circumstances and to detect and extrapolate patterns.
The Total Turing Test is a variant of the Turing in which the computer/robot must "pass" as a human. This would also involve being able to do computer vision and robotics.
Thinking like a human. The field of cognitive science brings together computer models from AI and experimental techniques from psychology to construct precise and testable theories of the human mind. This can further influence attempt make computer which can simulate such a mind. The point is having a good algorithm for something doesn't necessarily mean one is doing it the way a human mind does something.
Thinking rationally - this might involve algorithms for reasoning about things expressed in formal logic.
Acting rationally - algorithm that allow an agent to act to achieve the best outcome/best expected outcome possible for that agent. An agent that acts in this way is called a rational agent.
Agents
As we said on the last slide rational agents are one approach to studying AI.
In fact, it will be the first approach we will consider this semester...
For us, an agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators
For example:
A human agent has eyes, ears, and other organs for sensors and hands, legs and vocal tracts, etc for actuators
A robotic agent might have cameras and infrared range finders for its sensors, and various motors for actuators
A software agent receives keystrokes, file contents, and network packets as sensory inputs and acts on its environment by displaying stuff on the screen.
A percept refers to the agent's perceptual inputs at any given instant.
Vacuum Cleaner World
Consider a world consisting of just two locations A and B.
The vacuum agent perceives what square it's in and whether there is dirt in the square.
It can choose to move left, right, suck up dirt or do nothing.
An agent function is a map from percept sequences to an action.
We can often write out such a function using a table:
[A, clean] Right
[A, dirty] Suck
[B, clean] Left
[B, dirty] Suck
...
What is the best way to create such a table?
That is essentially what is involved in "programming the agent" and determines whether it is good, bad, intelligent or stupid.
Rational Agents
What is rational at any given time depends on:
The performance measure that defines the criterion for success
The agent's prior knowledge of the environment.
The actions that the agent can perform.
The agent's percept sequence to date.
A rational agent is one such that:
For each possible percept sequence, the rational agent selects an action that is expected to maximize its performance measure, given the evidence provided by the percept sequence and whatever built-in knowledge it has.