notes for cs3310 artificial intelligence part 1: overview prof. neil c. rowe naval postgraduate...

14
Notes for CS3310 Artificial Intelligence Part 1: Overview Prof. Neil C. Rowe Naval Postgraduate School Version of January 2009

Upload: hugh-murphy

Post on 26-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Notes for CS3310 Artificial Intelligence Part 1: Overview Prof. Neil C. Rowe Naval Postgraduate School Version of January 2009

Notes for CS3310 Artificial Intelligence

Part 1: Overview

Prof. Neil C. Rowe Naval Postgraduate School

Version of January 2009

Page 2: 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.

Page 3: Notes for CS3310 Artificial Intelligence Part 1: Overview Prof. Neil C. Rowe Naval Postgraduate School Version of January 2009

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. object-oriented 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”

Page 4: Notes for CS3310 Artificial Intelligence Part 1: Overview Prof. Neil C. Rowe Naval Postgraduate School Version of January 2009

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

Page 5: Notes for CS3310 Artificial Intelligence Part 1: Overview Prof. Neil C. Rowe Naval Postgraduate School Version of January 2009

Main subareas of artificial intelligence

inference CS3310 planning CS3310 expert systems CS3310, CS4322 neural networks EC4460 data mining CS4322, CS4315 natural language CS4317 computer vision CS4330 robotics CS4313 machine learning CS4315 cognitive science MV4100 distributed and social AI MV4015

Page 6: Notes for CS3310 Artificial Intelligence Part 1: Overview Prof. Neil C. Rowe Naval Postgraduate School Version of January 2009

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

Page 7: Notes for CS3310 Artificial Intelligence Part 1: Overview Prof. Neil C. Rowe Naval Postgraduate School Version of January 2009

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

Page 8: Notes for CS3310 Artificial Intelligence Part 1: Overview Prof. Neil C. Rowe Naval Postgraduate School Version of January 2009

• 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

Page 9: Notes for CS3310 Artificial Intelligence Part 1: Overview Prof. Neil C. Rowe Naval Postgraduate School Version of January 2009

• 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

Page 10: Notes for CS3310 Artificial Intelligence Part 1: Overview Prof. Neil C. Rowe Naval Postgraduate School Version of January 2009

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

Page 11: Notes for CS3310 Artificial Intelligence Part 1: Overview Prof. Neil C. Rowe Naval Postgraduate School Version of January 2009

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

Page 12: Notes for CS3310 Artificial Intelligence Part 1: Overview Prof. Neil C. Rowe Naval Postgraduate School Version of January 2009

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

Page 13: Notes for CS3310 Artificial Intelligence Part 1: Overview Prof. Neil C. Rowe Naval Postgraduate School Version of January 2009

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.

Page 14: Notes for CS3310 Artificial Intelligence Part 1: Overview Prof. Neil C. Rowe Naval Postgraduate School Version of January 2009

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.