Notes - Computer Science

advertisement
1
AI Definitions
Marvin Minsky, 1963
'... artificial intelligence is the science of making machines do things that
would require intelligence if done by men'.
The Free On-line Dictionary of Computing
Supported by Imperial College Department of Computing
http://foldoc.doc.ic.ac.uk/foldoc/contents.html
AI is the subfield of computer science concerned with the concepts and
methods of symbolic inference by computer and symbolic knowledge
representation for use in making inferences. AI can be seen as an attempt to
model aspects of human thought on computers. It is also sometimes defined
as trying to solve by computer any problem that a human can solve faster.
Matt Ginsberg – Essentials of Artificial Intelligence, Morgan Kaufmann,
1993
AI is the enterprise of constructing an intelligent artifact.
AI is the enterprise of constructing an artifact that can reliably pass the
Turing test.
AI is the enterprise of constructing a physical-symbol system that can
reliably pass the Turing test.
Constructing = AI is fundamentally an engineering discipline, since our goal
is that of building something
Nils Nilsson. Artificial Intelligence, A new Synthesis, Morgan Kaufmann,
1998.
AI is concerned with intelligent behavior in artifacts. Intelligent behavior, in
turn, involves perception, reasoning, learning, communicating, and acting in
complex environments. AI has as one of its long-term goals the development
of machines that can do these things as well as human can, or possibly even
better. Another goal of Ai is to understand this kind of behavior whether it
occurs in machines or in humans, or other animals. Thus, AI has a both
engineering and scientific goals.
Allen Newell and Herb Simon, 1976: physical-symbol system
"Computer Science as Empirical Inquiry: Symbols and Search", 1976, which
define the essential ideas of the Physical Symbol System Hypothesis:
The hypotheses states:
"A physical symbol system has the necessary and sufficient means for
intelligent action."
A physical symbol system "consists of a set of entities, called symbols,
which are physical patterns that can occur as components of another type of
entity called an expression (or symbol structure). Thus, a symbol structure is
composed of a number of instances (or tokens) of symbols related in some
physical way (such as one token being next to another). At any instant of
time the system will contain a collection of these symbol structures. Besides
these structures, the system also contains a collection of processes that
operate on expressions to produce other expressions: processes of creation,
modification, reproduction and destruction. A physical symbol system is a
machine that produces through time an evolving collection of symbol
structures. Such a system exists in a world of objects wider than just these
symbolic expressions themselves."
AIMA, Russell& Norvig, 1998
“AI attempts to understand intelligent entities. But unlike philosophy and
psychology, which are also concerned with intelligence, AI strives to build
intelligent entities as well as understand them”
2
How can we recognize AI? The Turing test
3
History of AI
1943 – McCulloch, Pitts – model of the artificial neuron
1950 - Turing’s “Computing Machinery and Intelligence”
1956 – 2 months workshop at Dartmouth College: J. McCarthy (Princeton,
Dartmouth, Stanford), M. Minsky (Dartmouth, MIT), A. Newell, H. Simon
(Carnegie Tech) – Artificial Intelligence
Newell, Simon – Logic Theorist (Principia Mathematica of Russell &
Whitehead, GPS- thinking humanly)
1958 - J. McCarthy – LISP
1963 - M. Minsky – microworlds
1962 – F. Rosenblatt – perceptrons
1965 – Robinson – resolution
Weizenbaum – Eliza
1969 – Early development of Knowledge-based systems
DENDRAL, Buchanan, Feigenbaum, Lederberg (Stanford) – infer molecular
structure from information provided by a mass spectrometer
70-79
MYCIN, Feigenbaum, Buchanan, Shortliffe
PROSPECTOR, Duda – recommended exploratory drilling at a geological
site that proved to contain a large molybdenum deposit
SHRDLU, Winograd – understanding natural language in the block world
Schank – NL understanding depends on representing and reasoning with
problem knowledge
1972 – Prolog – A. Colmerauer (Marseille-Aix)
1975 M. Minsky – frames
1980-88 Expert systems industry
DEC – R1 – 1982, 40 ES, Du Pont – 100 ES
1981 – Fifth Generation Project
Carnegie Group, Inference, Intellicorp, Tecknowledge
Lisp machines, Texas Instruments, Symbolics, Xerox
1988 – present
Build on existing theories: e.g. hidden Markov models for speech
recognition, formal planning, belief networks (J. Pearl), decision theory =
probability theory + utility theory
1990 - SOAR , Newell, Laird, Rosenbloom – complete agent architecture
CYC – Lenat
‘90s - The emergence of multiple paradigms
- knowledge intensive AI
- ANN
- GAs + ALife
- Artificial intelligent agents
o AI – use of knowledge to produce advice or diagnosis in s
special domain
o Intelligent agents – use knowledge to produce any sort of
desired behavior
4
AI programming languages
AI researchers are interested in unusual forms of programming, and they
want to be able to treat their programs as explanations and models, and they
are particularly interested in power.
The net effect has been that AI researchers have consistently pushed back
the boundaries in the area of programming, developing novel programming
paradigms and devising languages that exemplify them. One of the AI's
greatest commercial impacts has been in the area of programming.
1958 – J. McCarthy – LISP (LISt Processing) – functional programming, list
data structures to represent both instructions and data
1972 – A. Colmerauer – Prolog – logical programming
SMALLTALK – object-oriented programming
1975- 1980 – very-high level languages / KR languages: KRL, EMYCIN,
SRL, AGE
1980 – 85 KEE, OPS5, ART, M1, environments for building KB systems
1990 – CLIPS, SCHEME, ML, Java
5
AI Basic Terminology
Symbolic inference = The derivation of new facts from known facts and
some given rules, called inference rules.
Inference rule
A procedure which combines known facts to produce ("infer") new facts.
For example, given that
1. Socrates is a man and that
2. all men are mortal,
we can infer that Socrates is mortal. This uses the rule known as "modus
ponens" which can be written in Boolean algebra as
(A & A => B) => B
(if proposition A is true, and A implies B, then B is true).
This is a sound inference rule.
Inference rules may be: sound (preserve truth) such as modus ponens,
modus tollens, resolution, and unsound inference rules (not guaranteed to
preserve truth of derived facts) such as inductive inference, analogy, etc.
Syllogism,
A mode of argument that forms the core of the body of Western logical
thought. Aristotle defined syllogistic logic, and his formulations were
thought to be the final word in logic; they underwent only minor revisions in
the subsequent 2,200 years. Every syllogism is a sequence of three
propositions such that the first two imply the third, the conclusion. There are
three basic types of syllogism: hypothetical, disjunctive, and categorical.
The hypothetical syllogism, modus ponens, has as its first premise a
conditional hypothesis: If p then q; it continues: p, therefore q. The
disjunctive syllogism, modus tollens, has as its first premise a statement of
alternatives: Either p or q; it continues: not q, therefore p. The categorical
syllogism comprises three categorical propositions, which must be
statements of the form all x are y, no x is y, some x is y, or some x is not y.
A categorical syllogism contains precisely three terms: the major term,
which is the predicate of the conclusion; the minor term, the subject of the
conclusion; and the middle term, which appears in both premises but not in
the conclusion. Thus: All philosophers are men (middle term); all men are
mortal; therefore, All philosophers (minor term) are mortal (major term).
Heuristic
1960: Steps Toward Artificial Intelligence, Marvin Minsky
The adjective "heuristic," as used here and widely in the literature, means
related to improving problem-solving performance; as a noun it is also used
in regard to any method or trick used to improve the efficiency of a problemsolving system. A "heuristic program," to be considered successful, must
work well on a variety of problems, and may often be excused if it fails on
some. We often find it worthwhile to introduce a heuristic method, which
happens to cause occasional failures, if there is an over-all improvement in
performance. But imperfect methods are not necessarily heuristic, nor vice
versa. Hence "heuristic" should not be regarded as opposite to "foolproof";
this has caused some confusion in the literature.
Search strategy = the process of repeatedly applying an inference rule (or
several inference rules) to arrive at a solution of the problem.
Knowledge
The objects, concepts and relationships that are assumed to exist in some
area of interest. A collection of knowledge, represented using some
knowledge representation language is known as a knowledge base and a
program for extending and/or querying a knowledge base is a knowledgebased system.
Knowledge differs from data or information in that new knowledge may be
created from existing knowledge using logical inference. If information is
data plus meaning then knowledge is information plus processing.
For example, a knowledge base about a family might contain the facts that
John is David's son and Tom is John's son and the rule that the son of
someone's son
is their grandson. From this knowledge it could infer the new fact that Tom
is David's grandson.
Knowledge representation = The subfield of artificial intelligence
concerned with designing and using systems for storing knowledge - facts
and rules about some subject.
6
Characteristics of AI problems
Mainly problems that require search.
A class of problems is called intractable if the time required to solve
instances of the class grows at least exponentially with the size of the
instance (mid-1960s, Cobham, Edmonds)
How can we recognize an intractable problem?
The theory of NP-completeness (Cook, Karp, 71, 72) = the existence of a
large class of canonical combinatorial search and reasoning problems that
are NP-complete.
AI – use heuristics to reduce the time for finding the problem solution.
Dealing with knowledge instead of data
What is knowledge – we have already seen
Representing and dealing with common sense knowledge
Representing and dealing/reasoning with uncertain knowledge
Knowledge characteristics: general, dynamic, heuristic/difficult to formalize,
uncertain
Represented such as to facilitate automated reasoning
Problems that require a form of learning.
Being able to elicit knowledge from scratch, or based on domain knowledge.
Adapting to the environment.
7. AI applications
SIMPLE-REFLEX-AGENT
function SIMPLE-REFLEX-AGENT(percept) returns action
static: rules, a set of condition-action rules
state  INTERPRET-INPUT(percept)
rule  RULE-MATCH(state, rules)
action  RULE-ACTION[rule]
return action
REFLEX-AGENT-WITH-STATE
function REFLEX-AGENT-WITH-STATE (percept) returns
action
static: state, a state description of the current world state
rules, a set of condition-action rules
state  UPDATE-STATE(state, percept)
rule  RULE-MATCH(state, rules)
action  RULE-ACTION[rule]
state  UPDATE-STATE(state, action)
return action
Download