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 – – – – – – – – Knowledge representation Problem solving and search space manipulation Planning Learning Communicating Uncertainty Intelligent agents Robotics AI Languages MICS Robot Contest Video Overview of Artificial Intelligence Definitions – four major combinations – Based on thinking or acting – Based on activity like humans or performed in rational way Systems Systems that think that think like rationally humans Systems that act like humans Systems that act rationally 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 subject’s 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 Times Weights Generalized Events – – – – Intervals Places Physical Objects Processes Knowledge Representation (3) Some things are very difficult to represent – Common sense See http://www.cyc.com/ – Combinations of multiple types Issues of: – – – – Type Scale Granularity Combination Other Questions – 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 – Robotics Encountering unexpected obstacles 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 – Steps Perception Parsing Analysis Disambiguation Incorporation 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 we’ve 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 we’ve discussed, plus: – Perception – Actuation Recent successes – Worker bots (e.g. floor cleaners) – Intelligent navigation (DARPA vehicle contest) Test environments – 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