ECE 457 Applied Artificial Intelligence

Similar documents
Agents and environments. Intelligent Agents. Reminders. Vacuum-cleaner world. Outline. A vacuum-cleaner agent. Chapter 2 Actuators

Intelligent Agents. Chapter 2. Chapter 2 1

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

Chapter 2. Intelligent Agents. Outline. Agents and environments. Rationality. PEAS (Performance measure, Environment, Actuators, Sensors)

Lecture 10: Reinforcement Learning

Radius STEM Readiness TM

Axiom 2013 Team Description Paper

Ricochet Robots - A Case Study for Human Complex Problem Solving

Reinforcement Learning by Comparing Immediate Reward

MYCIN. The MYCIN Task

University of Groningen. Systemen, planning, netwerken Bosman, Aart

Knowledge based expert systems D H A N A N J A Y K A L B A N D E

Learning goal-oriented strategies in problem solving

Knowledge-Based - Systems

Proof Theory for Syntacticians

Introduction to Simulation

Seminar - Organic Computing

M55205-Mastering Microsoft Project 2016

Lecture 1: Basic Concepts of Machine Learning

Lecture 1: Machine Learning Basics

Firms and Markets Saturdays Summer I 2014

Language properties and Grammar of Parallel and Series Parallel Languages

Implementing a tool to Support KAOS-Beta Process Model Using EPF

Computer Science 141: Computing Hardware Course Information Fall 2012

Artificial Neural Networks written examination

ENME 605 Advanced Control Systems, Fall 2015 Department of Mechanical Engineering

POLA: a student modeling framework for Probabilistic On-Line Assessment of problem solving performance

Discriminative Learning of Beam-Search Heuristics for Planning

Rule-based Expert Systems

Learning and Transferring Relational Instance-Based Policies

ReinForest: Multi-Domain Dialogue Management Using Hierarchical Policies and Knowledge Ontology

Probability and Game Theory Course Syllabus

Multimedia Application Effective Support of Education

BMBF Project ROBUKOM: Robust Communication Networks

A Version Space Approach to Learning Context-free Grammars

Learning Optimal Dialogue Strategies: A Case Study of a Spoken Dialogue Agent for

Evolution of Collective Commitment during Teamwork

Action Models and their Induction

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

Visual CP Representation of Knowledge

A Case-Based Approach To Imitation Learning in Robotic Agents

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

Planning with External Events

Exploration. CS : Deep Reinforcement Learning Sergey Levine

An OO Framework for building Intelligence and Learning properties in Software Agents

Innovative Methods for Teaching Engineering Courses

White Paper. The Art of Learning

Speeding Up Reinforcement Learning with Behavior Transfer

Modeling user preferences and norms in context-aware systems

ACTL5103 Stochastic Modelling For Actuaries. Course Outline Semester 2, 2014

Rover Races Grades: 3-5 Prep Time: ~45 Minutes Lesson Time: ~105 minutes

Case Acquisition Strategies for Case-Based Reasoning in Real-Time Strategy Games

CSC200: Lecture 4. Allan Borodin

SOFTWARE EVALUATION TOOL

Given a directed graph G =(N A), where N is a set of m nodes and A. destination node, implying a direction for ow to follow. Arcs have limitations

Copyright Corwin 2015

GACE Computer Science Assessment Test at a Glance

New Features & Functionality in Q Release Version 3.2 June 2016

A Reinforcement Learning Variant for Control Scheduling

Study and Analysis of MYCIN expert system

Laboratorio di Intelligenza Artificiale e Robotica

DOCTOR OF PHILOSOPHY HANDBOOK

Full text of O L O W Science As Inquiry conference. Science as Inquiry

Designing a Rubric to Assess the Modelling Phase of Student Design Projects in Upper Year Engineering Courses

TOKEN-BASED APPROACH FOR SCALABLE TEAM COORDINATION. by Yang Xu PhD of Information Sciences

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

Decision Analysis. Decision-Making Problem. Decision Analysis. Part 1 Decision Analysis and Decision Tables. Decision Analysis, Part 1

Machine Learning from Garden Path Sentences: The Application of Computational Linguistics

TD(λ) and Q-Learning Based Ludo Players

Sagor s Model: The Action Research Cycle (Sagor, 2005)

Generating Test Cases From Use Cases

Learning Methods for Fuzzy Systems

AGS THE GREAT REVIEW GAME FOR PRE-ALGEBRA (CD) CORRELATED TO CALIFORNIA CONTENT STANDARDS

Science Fair Project Handbook

Introduction to Questionnaire Design

How do adults reason about their opponent? Typologies of players in a turn-taking game

Python Machine Learning

Motivation to e-learn within organizational settings: What is it and how could it be measured?

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

INTRODUCTION TO DECISION ANALYSIS (Economics ) Prof. Klaus Nehring Spring Syllabus

Telekooperation Seminar

Laboratorio di Intelligenza Artificiale e Robotica

Learning Prospective Robot Behavior

Designing a Computer to Play Nim: A Mini-Capstone Project in Digital Design I

A Neural Network GUI Tested on Text-To-Phoneme Mapping

TABLE OF CONTENTS TABLE OF CONTENTS COVER PAGE HALAMAN PENGESAHAN PERNYATAAN NASKAH SOAL TUGAS AKHIR ACKNOWLEDGEMENT FOREWORD

ECE-492 SENIOR ADVANCED DESIGN PROJECT

Intensive English Program Southwest College

Emergency Management Games and Test Case Utility:

ISFA2008U_120 A SCHEDULING REINFORCEMENT LEARNING ALGORITHM

EXPERT SYSTEMS IN PRODUCTION MANAGEMENT. Daniel E. O'LEARY School of Business University of Southern California Los Angeles, California

Leader s Guide: Dream Big and Plan for Success

INNOWIZ: A GUIDING FRAMEWORK FOR PROJECTS IN INDUSTRIAL DESIGN EDUCATION

The Agile Mindset. Linda Rising.

AMULTIAGENT system [1] can be defined as a group of

FUZZY EXPERT. Dr. Kasim M. Al-Aubidy. Philadelphia University. Computer Eng. Dept February 2002 University of Damascus-Syria

A Case Study: News Classification Based on Term Frequency

An Investigation into Team-Based Planning

Evolutive Neural Net Fuzzy Filtering: Basic Description

Transcription:

ECE 457 Applied Artificial Intelligence Calendar Description: Artificial intelligence (AI) is a broad term that refers to a collection of problem solving techniques. These techniques differ from traditional techniques in that they make use of both a knowledge base and an inference mechanism by which to apply knowledge. We will discuss various concepts and techniques relevant to artificial intelligence. Topics to be discussed include search and game playing, logic and reasoning, rule-based systems and learning. E&CE 457 Applied Artificial Intelligence Page 1

Course Outline The following list is an approximate guide for the material to be covered in the course. 1. Introduction: goals and definitions of artificial intelligence; intelligent agents and their environment. 2. Search: state space problem formulation and representation; uninformed search; heuristic search; iterative improvement; constraint satisfaction; game-playing. 3. Logic: propositional and first-order logic; unification and resolution; forward and backward chaining. 4. Uncertainty: probabilistic reasoning; decision-making. 5. Introduction to advanced topics: learning; soft computing; ontologies. E&CE 457 Applied Artificial Intelligence Page 2

Schedule, Textbook, and Marking Scheme Schedule The course consists of scheduled weekly lectures and tutorials. New material will be presented during the lectures. The tutorials will provide help with assignments, problems, and other course-related questions. The course has projects, which the students are expected to do outside of scheduled lecture and tutorial hours. Lectures: Thursdays 11:30-02:20; DWE 3522 Tutorials: Thursdays 7:00PM to 7:50PM DWE 3522 Required Textbook Stuart Russell and Peter Norvig, "Artificial Intelligence: A Modern Approach", Second edition, Prentice Hall, 2003. Marking Scheme Project 1 (10%) Project 2 (10%) Project 3 (10%) Project 4 (10%) Final Exam (60%) To pass the course, you need a total mark of 50% or more. You do not necessarily need to pass the exam. E&CE 457 Applied Artificial Intelligence Page 3

Course Webpage http://pami.uwaterloo.ca/~basir/ece457/ E&CE 457 Applied Artificial Intelligence Page 4

Artificial Intelligence Artificial intelligence is all around us Computer players in video games Robotics Assembly-line robots, auto-pilot, Mars exploration robots, RoboCup, etc. Expert systems Medical diagnostics, business advice, technical help, etc. Natural language Spam filtering, translation, document summarization, etc. ECE457 Applied Artificial Intelligence Page 5

Definition and Categorization How should we define Artificial Intelligence (AI)? Can organize it into categories based on goals and methodologies. E&CE 457 Applied Artificial Intelligence Page 6

Goals There is a scientific vs. engineering goal for AI. Scientific goal for AI is to develop concepts and mechanisms to understand biological intelligent behavior. Engineering goal for AI is to develop concepts, theory and practice of building intelligent machines. Viewed differently, our goals might include Replicate human intelligence and reasoning. Solve hard and knowledge intensive problems. Develop a connection between perceptions and actions. Enhance human-human, human-machine, iteractions. And so forth E&CE 457 Applied Artificial Intelligence Page 7

Rational Systems Mentioned that in engineering, we are interested in rational systems. Thinking rationally means using logic to achieve goals via logical inferencing. Hard to represent informal knowledge Not all problems solvable in this manner (e.g., uncertainty). Behaving rationally means perceiving the world and acting to achieve some goals given a set of beliefs. Amenable to computation. More general that inferencing (but can use inferencing). Actions taken to achieve a goal are not necessarily correct, but accomplish task at hand. E&CE 457 Applied Artificial Intelligence Page 8

Intelligent Agents sensors (perceive surroundings) agent environ ment actuators (permits actions) Text introduces the concept of an agent and agent-based systems. An agent is something that senses its environment and acts on it. We would like to design rational agents. A rational agent is one that for each perceived sequence of events, it does what is expected to maximize performance on the basis of perceptual history and built-in knowledge (leads to concept of autonomy). E&CE 457 Applied Artificial Intelligence Page 9

Types of Agents Different categories of agents (see text): Simple Reflex Agents Table-lookup approach; needs fully-observable environment. Model-Based Reflex Agents Adds state information to handle partially observable environments. Goal-Based Agents Adds concept of goals to augment knowledge to help choose best actions. Utility-Based Agents Adds utility to decide good and bad with conflicting goals. Learning Agents Adds ability to learn situations that affect performance; decides how to change things to improve. Essentially, agent design is more or less complex depending on the particular characteristics of its environment. E&CE 457 Applied Artificial Intelligence Page 10

Environments Agents work within an environment with certain characteristics. It s useful to identify and understand a small number of possible dimensions for an environment that can influence the design of an agent (as previously mentioned). E.g., is an environment Fully Observable vs. Partially Observable Deterministic vs. Stochastic Episodic vs. Sequential Static vs. Dynamic Discrete vs. Continuous Competitive vs. Co-operative See Ch. 2 in text for more on environments. E&CE 457 Applied Artificial Intelligence Page 11

Possible Applications of AI Concepts Game playing: Have well-defined rules with moves that can be searched intelligently. Theorem proving: Proving correctness of this or that (e.g., circuits). Diagnostic and Expert Systems: Robotics: Intelligent responses to some environment such as obstacle avoidance. Pattern recognition, Language processing, And so forth E&CE 457 Applied Artificial Intelligence Page 12

Search Can often solve a problem using search. Two requirements to use search: Goal Formulation. Need goals to limit search and allow termination. Problem formulation. Compact representation of problem space (states). Define actions valid for a given state. Define cost of actions. Search then involves moving from state-to-state in the problem space to find a goal (or to terminate without finding a goal). E&CE 457 Applied Artificial Intelligence Page 1

Outcome of Search Possible outcomes: Goal itself (i.e., does problem have solution?) Path from initial state to goal state (i.e., sequence of steps to achieve something?) Search assumes that an environment is: Static, Observable, Discrete, and Deterministic. E&CE 457 Applied Artificial Intelligence Page 2

Performance of Search Need to measure the performance of a search; i.e., given a search strategy, how good is it? Four criteria: Completeness Is the search strategy guaranteed to find a solution? Optimality Is the solution found the best possible? Time Complexity How long does the search strategy take to run? Space Complexity How much memory does the search strategy require? E&CE 457 Applied Artificial Intelligence Page 3

Problem Formulation Search requires a well-defined problem space including: Initial state A search starts from here. Goal state and goal test A search terminates here. Sets of actions This allows movement between states (successor function). Concept of cost (action and path cost) This allows costing a solution. The above defines a well-defined state-space formulation of a problem. Note: A state can represent either a complete configuration of a problem (e.g., 8- puzzle) or a partial configuration of a problem (e.g., routing). E&CE 457 Applied Artificial Intelligence Page 4

Problem Formulation Example 8 Puzzle 5 4 1 2 3 6 1 8 4 5 7 3 2 6 7 8 Initial State Goal State Want to take an initial arrangement of tiles and get them into a desired arrangement. States: encode location of each of 8 tiles and the blank. Initial State: any arrangement of tiles. Goal State: predefined arrangement of tiles. Actions: slide blank UP, DOWN, LEFT or RIGHT (without moving off the grid). Goal Test: position of tiles and blank match goal state. Cost: sliding the blank is 1 move (cost of 1). Path cost will equal the number of moves from initial state to goal state. Solution is a path of moves to get to the goal state. Fewest moves is best. E&CE 457 Applied Artificial Intelligence Page 5

Problem Formulation Example Route Finding source X obstacles X sink trace head Problem is to connect a source to a sink while avoiding obstacles on 2-D grid. States: ordered pair (x,y) of the trace head. Initial State: trace at location of source. Goal State: trace at location of sink. Actions: move trace head UP, DOWN, LEFT or RIGHT (without moving off the grid and avoiding obstacles). Goal Test: trace at location of sink. Cost: moving trace head costs 1. Path cost is length of trace. Solution might be (i) trace with shortest path or (ii) a path if one even exists. E&CE 457 Applied Artificial Intelligence Page 6

Problem Formulation Example 8 Queens Problem Position 8 queens on a chess board such that no 2 queens attack each other. States: placement of 0 to 8 queens on board such that no attacks. Initial State: no queens placed. Goal State: position of 8 queens in non-attacking arrangement. Actions: place next queen into next column in a non-attacking position. Goal Test: position of queens in non-attacking position. Cost: placing next queen costs 0. Solution is simply one of many goal states. Solution is any goal state (no concept of path ) E&CE 457 Applied Artificial Intelligence Page 7

Problem Formulations, Graphs and Search Trees Problems formulated for search has an analogy with directed graphs: Nodes represent states (configurations or partial configurations). Edges represent actions (directional) Output of search is either a path in the graph or a node that passes the goal test. b c a d e E&CE 457 Applied Artificial Intelligence Page 8

Problem Formulations, Graphs and Search Trees When we search in a graph, we build a search tree. Search trees also have nodes and edges: Nodes are states (root is the initial state). Nodes have a parent and descendants (neighboring states reachable via an action). Nodes at the bottom of the tree are leaf nodes and define the fringe. We will find a goal state in the fringe. Edges represent actions and have costs. Each tree node has a path from the root and a path cost from the root. Nodes in a search tree are more than just states since they hold state information, reference to actions, path costs, etc. E&CE 457 Applied Artificial Intelligence Page 9

Illustration of Search Tree 0 path cost root/initial state 1 a depth 2 b c d e {b,c,d,e} are children/descendents of a 3 fringe (leaf nodes) a is the parent {b,c,d,e} E&CE 457 Applied Artificial Intelligence Page 10

Comments on Search Trees Search trees are superimposed over top of the graph representation of a problem. While the graph might be finite, the search tree can be either finite or infinite. Infinite if we allow repeated states due to reversible actions and/or cycles of actions. Some useful terminology: The maximum number of children possible for a node, b, in a search tree is called the branching factor. A finite tree has a maximum depth, d. Any node in the search tree occurs at a level, l, in the tree (l d). E&CE 457 Applied Artificial Intelligence Page 11

Template of Generic Search Given concept of graph and search tree, generic search is a repetition of choose, test, and expand. A particular search strategy (uninformed or informed, more in a minute ) influences how we choose the next node to consider in the search! (this is where types of searches differ). Generally use a queue to store nodes on the fringe to be expanded. Different search strategies use different queue structures. E&CE 457 Applied Artificial Intelligence Page 12

Template of Generic Search 1. open_queue.insert(init_state); 2. while (open_queue.size()!= 0) { 3. curr_state = open_queue.remove_front(); 4. if (is_goal(curr_state)) { 5. return success; // and solution. 6. } 7. closed_queue.insert(curr_state); // state visited. 8. 9. child_state = expand(curr_state); // other states reachable via an action. 10. for (i = 1 ; i <= child_state.size() ; i++) { 11. if (open_queue.find(child_state[i]) closed_queue.find(child_state[i])) { 12. ; // child state already expanded or in fringe. 13. } else { 14. open_queue.insert(child_state[i]); 15. } 16. // nb: what if better path to child states????? 17. } 18. }; 19. return failure; // no solution. E&CE 457 Applied Artificial Intelligence Page 13

Repeated States During search, desirable to avoid repeated states (i.e., revisiting the same state again and again). This is possible due to reversible actions and/or cycles of actions. We can keep track of visited states and ignore repetition via a closed queue. However, what happens if, upon revisiting a state, we find a that we have a better path/solution to the revisited state? We need to deal with this (not shown in the generic template!). E&CE 457 Applied Artificial Intelligence Page 14

Types of Search Two main types of search: Uninformed search: Has only the knowledge provided in the problem formulation (e.g., actions, costs, goal or not goal, etc.) Informed search: Has additional knowledge in order to better judge the overall promise of an action in reaching a goal; e.g., has an estimate of cost to goal from current location). E&CE 457 Applied Artificial Intelligence Page 15