You are on page 1of 30

Artificial Intelligence

Dr. Paul Wagner Department of Computer Science University of Wisconsin Eau Claire

Messages

Artificial Intelligence (AI) is an interesting sub-field of computer science that provides many contributions to the overall field CS 420, as the AI course at UWEC, is a good opportunity to begin to explore these issues

Outline

Overview AI Topics

AI Languages MICS Robot Contest Video

Knowledge representation Problem solving and search space manipulation Planning Learning Communicating Uncertainty Intelligent agents Robotics

Overview of Artificial Intelligence

Definitions four major combinations


Based on thinking or acting Based on activity like humans or

Systems Systems that think that think like rationally humans


Systems that act like humans Systems that act rationally

performed in rational way

AI Definitions

Acting Humanly
Turing Test computer passes test if a human interrogator asking written questions can distinguish written answers from computer or human Computer needs:
Natural language processing Knowledge representation Automated reasoning Machine learning

AI Definitions (2)
Total Turing Test includes video component (to test subjects perceptual abilities) and opportunity to pass physical objects to subject Computer also needs:
Computer vision Robotics

AI Definitions (3)

Thinking Humanly
Cognitive Modeling approach to AI Involves crossover between computer science and psychology cognitive science Areas of interest
Cognitive models Neural networks

AI Definitions (4)

Thinking Rationally
Laws of thought approach to AI Goal: solve any problem based on logical manipulation Problems

Difficult to represent certain types of knowledge (e.g. common sense, informal knowledge) Difference between solving problems in principle and in practice
E.g. computational limits

AI Definitions (4)

Acting Rationally
Design a rational agent approach to AI Advantages over logic approach
Logic is only one tool or many that can be used to design rational agent Scientific advances can provide more tools for developing better agents

Knowledge Representation

How to represent information? Generally, we use some sort of tree, grid or network Options
OO programming languages: classes/objects Relational database system: tables/rows/columns

Problem

The world is more varied, with many types of things to represent

Knowledge Representation (2)

Abstract Objects
Sets Sentences Measurements

Generalized Events
Intervals Places Physical Objects Processes

Times Weights

Knowledge Representation (3)

Some things are very difficult to represent


Common sense

Issues of:

Combinations of multiple types

See http://www.cyc.com/

Other Questions

Type Scale Granularity Combination

How to distinguish knowledge and belief? What is the best way to reason with this information?

Problem Solving and Search Space Manipulation

Many Algorithmic Approaches to Problem Solving


Depth-First Search Breadth-First Search

Variations
Depth-Limited Search Iterative Deepening Depth-First Search Bi-directional Search

Problem Solving and Search Space Manipulation (2)

Smarter Search
Greedy best-first search A* search (combine costs of path so far plus path from current node to goal) Memory-bounded heuristic search

Heuristic means of estimating a measurement such as cost of search

Problem Solving and Search Space Manipulation (3)

Issues
Avoiding repeated search Searching with partial information

Problem Solving and Search Space Manipulation (4)

Adversarial Search
E.g. games and game trees Minimax algorithm Alpha-Beta pruning

Problem Solving and Search Space Manipulation (5)

Applications of Problem Solving


Expert Systems

Approximating the functionality of an absent human expert Encountering unexpected obstacles

Robotics

Planning

Many types of problems

Blocks world Getting yourself from Eau Claire to the AAAI conference in Boston Changing a flat tire Completing all of your projects at the end of the semester Developing a large software application

Planning (2)

Approaches
State-based search Partial-order planning Planning graphs

Issues
Time Scheduling Resources

Learning

Definition - Building on current knowledge by using experience to improve a system Various approaches
Supervised/unsupervised/reinforcement

Forms of learning algorithms


Inductive logic

Example: given a set of point, approximate a line

Decision tree (set of questions, act differently depending on answer)

Learning (2)

Issues
Computational Learning Theory

Intersection of theoretical CS, AI, statistics

How many examples do you need?

Communicating

Major issue - Natural language processing


Many issues

Syntax Semantics Context Perception Parsing Analysis Disambiguation Incorporation

Steps

Uncertainty

Much knowledge is not absolute


Boundary between knowledge and belief is gray

Techniques for dealing with uncertainty


Probabilistic reasoning Probabilistic reasoning over time Fuzzy sets / fuzzy logic Simple decision-making (evaluating utility) Complex decision-making (taking ability to reevaluate into account)

Applications
Expert systems

Intelligent Agents

Everything weve talked about can be viewed in terms of embedding intelligence within an agent
Software system Machine with embedded software Robot

Intelligent Agents (2)

Issues for agents


Limitations on memory Perceiving its environment Working with other agents Affecting its environment (through actuators)

Processes
Simple based on rules Complex based on multiple pieces of logic, dealing with uncertainty

Robotics

Field encompassing elements of computer science/AI, engineering, physical systems Issues


Many that weve discussed, plus: Perception Actuation

Recent successes

Test environments

Worker bots (e.g. floor cleaners) Intelligent navigation (DARPA vehicle contest) Lego Mindstorms Other robot packages or custom systems

AI Languages

Scheme / LISP
Functional Simple knowledge representation (list) Easy to apply functionality to represented elements

Prolog
Logic-based Facts and rules easily represented Built-in search engine

Specialized languages
Rule languages (e.g. CLIPS) Planning languages (e.g. STRIPS)

CS 420

Spring semester, about every other year Will be offered Spring 2007 Prerequisite: CS 330 (to get Scheme and Prolog background) Topics
All of the above!

CS 420 (2)

Possible Projects
Neural network to simulate decision making, natural language processing Software development planning through cooperating intelligent agents Expert system for deciding which courses to take to complete a CS major Sumo robots?

MICS Robot Contest Video

http://video.google.com/videoplay?doc id=7851913746457357108&hl=en

You might also like