Download CS3310 notes part 1 - Naval Postgraduate School

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Pattern recognition wikipedia , lookup

Human-Computer Interaction Institute wikipedia , lookup

Incomplete Nature wikipedia , lookup

Artificial intelligence in video games wikipedia , lookup

Computer Go wikipedia , lookup

Embodied cognitive science wikipedia , lookup

Knowledge representation and reasoning wikipedia , lookup

Wizard of Oz experiment wikipedia , lookup

Computer vision wikipedia , lookup

Expert system wikipedia , lookup

Philosophy of artificial intelligence wikipedia , lookup

Intelligence explosion wikipedia , lookup

Existential risk from artificial general intelligence wikipedia , lookup

AI winter wikipedia , lookup

Ethics of artificial intelligence wikipedia , lookup

History of artificial intelligence wikipedia , lookup

Transcript
Notes for CS3310
Artificial Intelligence
Part 1: Overview
Prof. Neil C. Rowe
Naval Postgraduate School
Version of January 2009
Artificial intelligence = Software that acts
intelligently
• AI (artificial intelligence) centers on methods
using booleans, conditionals, and logical
reasoning, with numbers used as needed.
• AI software need not work like people do, but
people can provide clues as to methods. Aircraft
don't fly by imitating birds; weapons can be more
powerful than the human arm.
• AI means deep (not superficial) understanding of
how to do something (e.g. language understanding
versus table lookup). Example: Query "picture of
west wing of white house" for Google.
Artificial intelligence, continued
• AI will become increasingly common in the
future, as computers do increasingly complex
tasks -- but people will increasingly forget that it
is artificial intelligence.
• Many developments in AI have been "exported" to
other areas of computer science (e.g. objectoriented programming and data mining).
• AI programs that are too slow today may get used
eventually as computers increase in speed (e.g.
speech understanding).
• Synonyms: “intelligent systems”, “autonomous
systems”
What is AI good for?
AI is not precisely defined, but generally it’s for:
• Problems needing "common sense", like recognizing
building types in aerial photos
• Problems requiring many different kinds of knowledge,
like automatic translation of English text
• Problems only a few experts can solve, like treating rare
diseases
• Hard problems without any good known algorithms,
like mission planning for a large military operation, or
playing chess
Main subareas of artificial intelligence
inference
planning
expert systems
neural networks
data mining
natural language
computer vision
robotics
machine learning
cognitive science
distributed and social AI
CS3310
CS3310
CS3310, CS4322
EC4460
CS4322, CS4315
CS4317
CS4330
CS4313
CS4315
MV4100
MV4015
Computer Science’s Autonomous Systems Track
• CS3310, Artificial Intelligence
• CS4313, Robotics (offered in Summer quarter)
• CS4315, Learning Systems and Data Mining (offered in
Winter)
• CS4317, Language Systems (offered in Spring)
• CS4330, Introduction to Computer Vision (offered in Fall)
• MV4100, Cognitive Engineering (offered in Fall)
• Other relevant courses: CS4322 (Internet Information
Systems), CS4130 (Wireless Mobile Computing),
MV4015 (Agent-Based Autonomous Behavior for
Simulations), EC4460 (Neural Networks), and several
Operations Research courses
Some history of artificial intelligence
• 1950s: The first programs
– first speculation about AI
– game-playing
– heuristic search methods
• 1960s: Major progress
– Lisp programming language
– Development of symbolic reasoning methods
using logical constraints
– The first natural language and vision programs
• 1970s: Many successes
– Developments on many fronts
– Appearance of expert systems
– Prolog programming language and various
other AI software
– Symbolic learning is popular
• 1980s: Faddishness
– Suddenly AI is faddish and gets much media
coverage
– Lots of AI startup companies, most fail
– Lots of standalone AI applications, lots of
expert systems
– Neural networks become popular
• 1990s: Maturity of AI
– AI no longer a fad, but used more than ever (e.g.
the Web)
– AI is embedded in larger systems (like on the
Web and in simulations)
– Genetic algorithms and artificial life are popular
– Statistical language processing is popular,
including speech understanding
• 2000s: AI is back in fashion
– Data mining is popular
– Simulations and games using AI are popular
Example AI applications today (1)
• Tax preparation software
• Detection of credit-card fraud
• Intrusion detection software for firewall
machines
• M1 tank engine diagnosis
• Automated assistance to medics in remote sites
• Tailored automobile repair instructions at
dealers
Example AI applications today (2)
• Summarizing terrorism reports from a
newswire
• Summarizing routine managerial data
• Summarizing sensor data during warfare
• Content-based Web search engines
• Scheduling of aerial medical evacuation
• Automatic distributed meeting scheduling
• Planning for customized product
configurations like for computers
Example AI applications today (3)
• Detecting changes to buildings in aerial
photographs
• Automatic translation of European
government documents
• Home-vacuuming robot
• Guidance for autonomous vehicles
• Automated intelligent pilots for combat
simulation
Programming for artificial intelligence
• Use language Lisp or Prolog, both designed for
AI. They are standardized. But they aren’t too
much different from conventional languages.
• Use an AI software package. CLIPS is a popular
standalone system, JESS is a popular Java
package, and there are neural-network packages.
But it may not do everything you need, and
transportability is a problem.
• Write your own AI software in a conventional
language. This is the most popular approach
today.
Key difficulties in doing AI
• Successes get exported, and people forget the
ideas came from AI.
• Thorough testing is necessary to show an AI
system works. Don't trust quick demos.
• Methods that cannot be tested easily (e.g. genetic
algorithms and fuzzy sets) tend to be overvalued
because people cannot see when they're wrong.
Methods that can show obvious errors (e.g. logical
inferences) tend to be undervalued.