CSE 151 Lecture Notes
INTRODUCTION TO ARTIFICIAL INTELLIGENCE
AI: A Modern Approach, Chapter 1: Introduction
If this is not the course you expected to find in this room,
stick around anyhow: this will probably be more interesting
than the course you were looking for.
There is a web homepage
for this course.
There's a
syllabus
that describes the organization of the course.
This is a standard upper-division CSE course:
- weekly problem sets
- three programming assignments
- midterm and final
We will take a modern, computer science-oriented view of AI.
This is NOT
- a Lisp programming course
- a cognitive science course
- a "hack your own chess program" course
WHAT THIS COURSE IS ABOUT
What you will learn here are principles and algorithms for
representing, reasoning with, and learning knowledge.
Knowledge is best defined by its place on a spectrum from
low-level to high-level:
| data | immediately available inputs from the world,
e.g. telephone registration keystrokes
|
| information | organized and generalized data,
e.g. "Martha Lee has not taken CSE150"
|
| knowledge | organized and generalized information,
e.g. "CSE150 is a prerequisite for CSE151"
|
| wisdom | organized and generalized knowledge,
e.g. "Martha is the sort of person who will do well even
without satisfying formal
prerequisite requirements."
|
Note the word "formal" above. For knowledge to be processed by
computer, it must be represented in a formal way.
DEFINITIONS OF AI
This week we will look at definitions of AI and the history of the
field. The purpose is to give you a framework which lets you see WHY we
study the algorithms that we do study in the rest of the quarter.
There are four alternative ways of saying what AI is about:
- machines that think like humans
- machines that behave like humans
- machines that think correctly
- machines that behave correctly
Let's start by noting that the only candidate machines are electronic
computers, or electronic computer-controlled mechanical devices, i.e.
robots. People have speculated about biological robots etc., but
nothing is close to being built.
This slide
shows several different definitions of AI grouped along
the "thinking" and "behaving" dimensions.
The technical word for thinking or behaving correctly is "rationally".
Humans are often irrational. In practice, AI researchers interested
in simulating humans only choose one aspect of human thinking or
behaviour, and focus on the cases where humans are rational.
"Thinking" includes reasoning and learning.
"Behaving" includes perception, language, and physical action as well.
In this course we concentrate on reasoning, learning and perception.
ALAN TURING AND THE "TURING TEST"
Alan Turing invented theoretical computer science, designed some
of the first computers, and was also the first scientist to think
seriously about computer intelligence, in 1950.
The Turing test is an OPERATIONAL definition of intelligence.
An operational definition is one that gives an algorithm for
testing objectively whether the definition is satisfied.
Example: "If it looks, walks, and quacks like a duck,
then it is a duck."
The Turing test scenario is that a human communicates by typing
at a terminal with TWO other agents. The human can say and ask
whatever s/he likes, in natural English.
If the human cannot decide which of the two agents is a human
and which is a computer, then the computer has achieved AI.
Question: which definition of AI does the Turing test use?
Answer: "behaving humanly".
SCIENCE VERSUS ENGINEERING
A scientist wants to understand the external world.
An engineer wants to build useful devices.
The scientific aspect of AI is often called "cognitive modeling."
It aims at human-like thinking and/or behaviour.
The engineering aspect usually aims for rational thinking and/or
behaviour.
Both aspects usually just examine one part of thinking and/or
behaviour. For very narrow domains, e.g. flying a flight simulator
or playing chess, it is possible to achieve super-human performance.
KNOWLEDGE-BASED SYSTEMS
Almost all practical engineering successes of AI have come from
"knowledge-based systems".
A knowledge-based system is a software system that contains
a great quantity of explicit knowledge, e.g. facts like
"CSE150 is a prerequisite for CSE151".
The system uses reasoning algorithms to make deductions from this
knowledge to solve particular problems like "Which courses should
Martha take this quarter?"
The leading advocate of knowledge-based systems is Edward A.
Feigenbaum, a professor at Stanford and now Chief Scientist of the
U.S. Air Force. Feigenbaum is the most recent winner of the Turing
award.
MISINFORMED HOSTILITY TO AI
AI has also always attracted hostility from people who considered
it too speculative. Mostly this hostility has been due to the
mistaken opinion that there have been no practical successes
on the way to the goal of full intelligence. In fact there are
thousands of AI systems in daily use in hundreds of companies and
hundreds of products. Just one example: automatic transmissions
in new cars are usually controlled by small KBSs now (using a
particular technology called fuzzy control).
In the first part of this class, we will study search algorithms,
and then how to represent knowledge formally using logic,
and how to reason with this formal knowledge.