Академический Документы
Профессиональный Документы
Культура Документы
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
Knowledge representation Problem solving and search space manipulation Planning Learning Communicating Uncertainty Intelligent agents Robotics
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
Abstract Objects
Sets Sentences Measurements
Generalized Events
Intervals Places Physical Objects Processes
Times Weights
Issues of:
See http://www.cyc.com/
Other Questions
How to distinguish knowledge and belief? What is the best way to reason with this information?
Variations
Depth-Limited Search Iterative Deepening Depth-First Search Bi-directional Search
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
Issues
Avoiding repeated search Searching with partial information
Adversarial Search
E.g. games and game trees Minimax algorithm Alpha-Beta pruning
Robotics
Planning
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
Learning (2)
Issues
Computational Learning Theory
Communicating
Steps
Uncertainty
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
Processes
Simple based on rules Complex based on multiple pieces of logic, dealing with uncertainty
Robotics
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?
http://video.google.com/videoplay?doc id=7851913746457357108&hl=en