Introduction to Artificial Intelligence. Problem Solving and Search

Similar documents
Introduction to Artificial Intelligence. Problem Solving and Search

Introduction to Artificial Intelligence. Learning from Oberservations

Introduction to Artificial Intelligence. Learning from Oberservations

22/9/2013. Acknowledgement. Outline of the Lecture. What is an Agent? EH2750 Computer Applications in Power Systems, Advanced Course. output.

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow

Post-Routing Layer Assignment for Double Patterning

Lecture 3: Nondeterministic Computation

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

Hardware Implementation of Viterbi Decoder for Wireless Applications

Achieving Faster Time to Tapeout with In-Design, Signoff-Quality Metal Fill

140 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 12, NO. 2, FEBRUARY 2004

Investigation on Technical Feasibility of Stronger RS FEC for 400GbE

data and is used in digital networks and storage devices. CRC s are easy to implement in binary

Transportation Process For BaBar

A Discrete Time Markov Chain Model for High Throughput Bidirectional Fano Decoders

Latch-Based Performance Optimization for FPGAs. Xiao Teng

ORTHOGONAL frequency division multiplexing

Instruction Level Parallelism Part III

Challenges for OLED Deposition by Vacuum Thermal Evaporation. D. W. Gotthold, M. O Steen, W. Luhman, S. Priddy, C. Counts, C.

Math 8 Assignment Log. Finish Discussion on Course Outline. Activity Section 2.1 Congruent Figures Due Date: In-Class: Directions for Section 2.

Hybrid Discrete-Continuous Computer Architectures for Post-Moore s-law Era

TEST PATTERNS COMPRESSION TECHNIQUES BASED ON SAT SOLVING FOR SCAN-BASED DIGITAL CIRCUITS

Yale University Department of Computer Science

Processes for the Intersection

Introduction to Artificial Intelligence. Planning

Informatique Fondamentale IMA S8

Removal of Decaying DC Component in Current Signal Using a ovel Estimation Algorithm

Tape. Tape head. Control Unit. Executes a finite set of instructions

The CHIME Pathfinder and Correlator. Matt Dobbs for the CHIME Collaboration

Instruction Level Parallelism Part III

EITF35: Introduction to Structured VLSI Design

CHAPTER 7 CONCLUSION AND SUGGESTION

Chapter 5 Synchronous Sequential Logic

Performance comparison study for Rx vs Tx based equalization for C2M links

GENCOA Key Company Facts. GENCOA is a private limited company (Ltd) Founded 1995 by Dr Dermot Monaghan. Located in Liverpool, UK

Business Intelligence & Process Modelling

SIMULATION MODELING FOR QUALITY AND PRODUCTIVITY IN STEEL CORD MANUFACTURING

Speech and Speaker Recognition for the Command of an Industrial Robot

Using Scan Side Channel to Detect IP Theft

Linköping University Post Print. Quasi-Static Voltage Scaling for Energy Minimization with Time Constraints

Minimax Disappointment Video Broadcasting

Increasing Capacity of Cellular WiMAX Networks by Interference Coordination

OPERATIONS SEQUENCING IN A CABLE ASSEMBLY SHOP

Sequencing. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

Outline. 1 Reiteration. 2 Dynamic scheduling - Tomasulo. 3 Superscalar, VLIW. 4 Speculation. 5 ILP limitations. 6 What we have done so far.

Advanced Pipelining and Instruction-Level Paralelism (2)

Design for Testability

Open loop tracking of radio occultation signals in the lower troposphere

Cryptography CS 555. Topic 5: Pseudorandomness and Stream Ciphers. CS555 Spring 2012/Topic 5 1

AUDIO compression has been fundamental to the success

Type-2 Fuzzy Logic Sensor Fusion for Fire Detection Robots

Optimization of FPGA Architecture for Uniform Random Number Generator Using LUT-SR Family

Brian Holden Kandou Bus, S.A. IEEE GE Study Group September 2, 2013 York, United Kingdom

POST-PROCESSING FIDDLE : A REAL-TIME MULTI-PITCH TRACKING TECHNIQUE USING HARMONIC PARTIAL SUBTRACTION FOR USE WITHIN LIVE PERFORMANCE SYSTEMS

HYBRID CONCATENATED CONVOLUTIONAL CODES FOR DEEP SPACE MISSION

Cost-Aware Live Migration of Services in the Cloud

Advanced Digital Logic Design EECS 303

Filterbank Reconstruction of Bandlimited Signals from Nonuniform and Generalized Samples

High Performance Microprocessor Design and Automation: Overview, Challenges and Opportunities IBM Corporation

Heuristic Search & Local Search

An Experimental Comparison of Fast Algorithms for Drawing General Large Graphs

cs281: Introduction to Computer Systems Lab07 - Sequential Circuits II: Ant Brain

Performance Modeling and Noise Reduction in VLSI Packaging

ni.com Digital Signal Processing for Every Application

Lecture 18 Design For Test (DFT)

CM3106 Solutions. Do not turn this page over until instructed to do so by the Senior Invigilator.

EES Prototype Demonstration on CMP System. EBARA Corporation Kunio Oishi Isao Nambu isao.nambu nifty.com

Digital Signal Processing Detailed Course Outline

Appendix Y: Queuing Models and Applications

Data Representation. signals can vary continuously across an infinite range of values e.g., frequencies on an old-fashioned radio with a dial

A Parametric Autoregressive Model for the Extraction of Electric Network Frequency Fluctuations in Audio Forensic Authentication

Route optimization using Hungarian method combined with Dijkstra's in home health care services

DELTA MODULATION AND DPCM CODING OF COLOR SIGNALS

Optimizing BNC PCB Footprint Designs for Digital Video Equipment

DIMACS Implementation Challenges 1 Network Flows and Matching, Clique, Coloring, and Satisability, Parallel Computing on Trees and

NV Series PA Modification for Improved Performance in FM+HD and HD Modes

A MISSILE INSTRUMENTATION ENCODER

Compressed-Sensing-Enabled Video Streaming for Wireless Multimedia Sensor Networks Abstract:

On-Supporting Energy Balanced K-Barrier Coverage In Wireless Sensor Networks

Algorithmic Music Composition

Powerful Software Tools and Methods to Accelerate Test Program Development A Test Systems Strategies, Inc. (TSSI) White Paper.

Introduction to JTAG / boundary scan-based testing for 3D integrated systems. (C) GOEPEL Electronics -

Learning Outcomes. Unit 13. Sequential Logic BISTABLES, LATCHES, AND FLIP- FLOPS. I understand the difference between levelsensitive

Fourier Transforms 1D

/$ IEEE

A High- Speed LFSR Design by the Application of Sample Period Reduction Technique for BCH Encoder

Xpress-Tuner User guide

L11/12: Reconfigurable Logic Architectures

DC Ultra. Concurrent Timing, Area, Power and Test Optimization. Overview

Agilent 86120B, 86120C, 86122A Multi-Wavelength Meters Technical Specifications

Overview: Logic BIST

Auto classification and simulation of mask defects using SEM and CAD images

High-Power Amplifier (HPA) Configuration Selection

CS 61C: Great Ideas in Computer Architecture

A Fast Constant Coefficient Multiplier for the XC6200

Testing Digital Systems II

Solution of Linear Systems

Cascadable 4-Bit Comparator

Timing with Virtual Signal Synchronization for Circuit Performance and Netlist Security

Methodology. Nitin Chawla,Harvinder Singh & Pascal Urard. STMicroelectronics

Transcription:

Introduction to rtificial Intelligence Problem Solving and Search ernhard eckert UNIVERSITÄT KOLENZ-LNDU Summer Term 2003. eckert: Einführung in die KI / KI für IM p.1

Outline Problem solving Problem types Problem formulation Example problems asic search algorithms. eckert: Einführung in die KI / KI für IM p.2

Problem solving Offline problem solving cting only with complete knowledge of problem and solution Online problem solving cting without complete knowledge Here Here we are concerned with offline problem solving only. eckert: Einführung in die KI / KI für IM p.3

Example: Travelling in Romania Scenario On holiday in Romania; currently in Flight leaves tomorrow from ucharest Goal e in ucharest Formulate problem States: various cities ctions: drive between cities Solution ppropriate sequence of cities e.g.:, Sibiu, Fagaras, ucharest. eckert: Einführung in die KI / KI für IM p.4

Example: Travelling in Romania Oradea Neamt Zerind Iasi Sibiu Fagaras Vaslui Timisoara Rimnicu Vilcea Lugoj Pitesti Mehadia Urziceni Hirsova Dobreta raiova ucharest Giurgiu Eforie. eckert: Einführung in die KI / KI für IM p.5

Problem types Single-state problem observable (at least the initial state) deterministic static discrete Multiple-state problem partially observable (initial state not observable) deterministic static discrete ontingency problem partially observable (initial state not observable) non-deterministic. eckert: Einführung in die KI / KI für IM p.6

Example: vacuum-cleaner world Single-state 1 2 Start in: 5 Solution: [right, suck] 3 4 Multiple-state Start in: 1 2 3 4 5 6 7 8 5 6 7 8 Solution: [right, suck, left, suck] right 2 4 6 8 suck 4 8 left 3 7 suck 7. eckert: Einführung in die KI / KI für IM p.7

Example: vacuum-cleaner world 1 2 ontingency Murphy s Law: suck can dirty a clean carpet Local sensing: dirty/not dirty at location only Start in: 1 3 3 4 5 6 7 8 Solution: [suck, right, suck] suck 5 7 right 6 8 suck 6 8 Improvement: [suck, right, if dirt then suck] (decide whether in 6 or 8 using local sensing). eckert: Einführung in die KI / KI für IM p.8

Single-state problem formulation Defined by the following four items 1. Initial state Example: 2. Successor function S Example: S gozerind Zerind gosibiu Sibiu 3. Goal test Example: x ucharest (explicit test) nodirt x (implicit test) 4. Path cost (optional) Example: sum of distances, number of operators executed, etc.. eckert: Einführung in die KI / KI für IM p.9

Single-state problem formulation Solution sequence of operators leading from the initial state to a goal state. eckert: Einführung in die KI / KI für IM p.10

Selecting a state space bstraction Real world is absurdly complex State space must be abstracted for problem solving (bstract) state Set of real states (bstract) operator omplex combination of real actions Example: Zerind represents complex set of possible routes (bstract) solution Set of real paths that are solutions in the real world. eckert: Einführung in die KI / KI für IM p.11

Example: The 8-puzzle 5 4 51 42 3 6 1 8 68 84 7 3 2 7 6 25 Start State Goal State States ctions Goal test Path cost integer locations of tiles left, right, up, down = goal state? 1 per move. eckert: Einführung in die KI / KI für IM p.12

Example: Vacuum-cleaner L R L R S S L R R L R R L L S S S S L R L R S S States ctions Goal test integer dirt and robot locations left, right, suck, noop not dirty? Path cost 1 per operation (0 for noop). eckert: Einführung in die KI / KI für IM p.13

Example: Robotic assembly P R R R R R States real-valued coordinates of robot joint angles and parts of the object to be assembled ctions Goal test Path cost continuous motions of robot joints assembly complete? time to execute. eckert: Einführung in die KI / KI für IM p.14

Tree search algorithms Offline Simulated exploration of state space in a search tree by generating successors of already-explored states function TREE-SERH( problem, strategy) returns a solution or failure initialize the search tree using the initial state of problem loop do if there are no candidates for expansion then return failure choose a leaf node for expansion according to strategy if the node contains a goal state then return the corresponding solution else expand the node and add the resulting nodes to the search tree end. eckert: Einführung in die KI / KI für IM p.15

Tree search: Example Sibiu Timisoara Zerind Fagaras Oradea Rimnicu Vilcea Lugoj Oradea. eckert: Einführung in die KI / KI für IM p.16

Tree search: Example Sibiu Timisoara Zerind Fagaras Oradea Lugoj Rimnicu Vilcea Oradea. eckert: Einführung in die KI / KI für IM p.16

Tree search: Example Sibiu Timisoara Zerind Fagaras Oradea Rimnicu Vilcea Lugoj Oradea. eckert: Einführung in die KI / KI für IM p.16

Implementation: States vs. nodes State (representation of) a physical configuration Node data structure constituting part of a search tree (includes parent, children, depth, path cost, etc.) parent State 5 4 Node depth = 6 6 1 8 g = 6 7 3 2 state children. eckert: Einführung in die KI / KI für IM p.17

Implementation of search algorithms function TREE-SERH( problem, fringe) returns a solution or failure fringe INSERT(MKE-NODE(INITIL-STTE[problem]),fringe) loop do if fringe is empty then return failure node REMOVE-FIRST(fringe) if GOL-TEST[problem] applied to STTE(node) succeeds then return node else fringe INSERT-LL(EXPND(node, problem), fringe) end fringe State Expand queue of nodes not yet considered gives the state that is represented by node creates new nodes by applying possible actions to node. eckert: Einführung in die KI / KI für IM p.18

Search strategies Strategy Defines the order of node expansion Important properties of strategies completeness time complexity space complexity optimality does it always find a solution if one exists? number of nodes generated/expanded maximum number of nodes in memory does it always find a least-cost solution? Time and space complexity measured in terms of b d maximum branching factor of the search tree depth of a solution with minimal distance to root m maximum depth of the state space (may be ). eckert: Einführung in die KI / KI für IM p.19

Uninformed search strategies Uninformed search Use only the information available in the problem definition Frequently used strategies readth-first search Uniform-cost search Depth-first search Depth-limited search Iterative deepening search. eckert: Einführung in die KI / KI für IM p.20

readth-first search Idea Expand shallowest unexpanded node Implementation fringe is a FIFO queue, i.e. successors go in at the end of the queue D E F G. eckert: Einführung in die KI / KI für IM p.21

readth-first search Idea Expand shallowest unexpanded node Implementation fringe is a FIFO queue, i.e. successors go in at the end of the queue D E F G. eckert: Einführung in die KI / KI für IM p.21

readth-first search Idea Expand shallowest unexpanded node Implementation fringe is a FIFO queue, i.e. successors go in at the end of the queue D E F G. eckert: Einführung in die KI / KI für IM p.21

readth-first search Idea Expand shallowest unexpanded node Implementation fringe is a FIFO queue, i.e. successors go in at the end of the queue D E F G. eckert: Einführung in die KI / KI für IM p.21

readth-first search: Example Romania. eckert: Einführung in die KI / KI für IM p.22

readth-first search: Example Romania Zerind Sibiu Timisoara. eckert: Einführung in die KI / KI für IM p.22

readth-first search: Example Romania Zerind Sibiu Timisoara Oradea. eckert: Einführung in die KI / KI für IM p.22

readth-first search: Example Romania Zerind Sibiu Timisoara Oradea Oradea Rimnicu Fagaras Vilcea Lugoj. eckert: Einführung in die KI / KI für IM p.22

readth-first search: Properties omplete Yes (if b is finite) Time 1 b b 2 b 3 b d b b d 1 O b d 1 Space O b d 1 i.e. exponential in d keeps every node in memory Optimal Yes (if cost = 1 per step), not optimal in general Disadvantage Space is the big problem (can easily generate nodes at 5M/sec so 24hrs = 430G). eckert: Einführung in die KI / KI für IM p.23

Romania with step costs in km Oradea 71 Neamt Zerind 75 151 140 118 Timisoara 111 Lugoj 70 Mehadia 75 120 Dobreta Sibiu 99 Fagaras 80 Rimnicu Vilcea 97 Pitesti 211 146 101 85 138 ucharest 90 raiova Giurgiu 87 Iasi 92 142 98 Urziceni Vaslui Hirsova 86 Eforie Straight line distance to ucharest 366 ucharest 0 raiova 160 Dobreta 242 Eforie 161 Fagaras 178 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesti 98 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374. eckert: Einführung in die KI / KI für IM p.24

Uniform-cost search Idea Expand least-cost unexpanded node (costs added up over paths from root to leafs) Implementation fringe is queue ordered by increasing path cost Note Equivalent to depth-first search if all step costs are equal. eckert: Einführung in die KI / KI für IM p.25

Uniform-cost search. eckert: Einführung in die KI / KI für IM p.26

Uniform-cost search 75 140 118 Zerind Sibiu Timisoara. eckert: Einführung in die KI / KI für IM p.26

Uniform-cost search 75 140 118 Zerind Sibiu Timisoara 75 71 Oradea. eckert: Einführung in die KI / KI für IM p.26

Uniform-cost search 75 140 118 Zerind Sibiu Timisoara 75 71 118 111 Oradea Lugoj. eckert: Einführung in die KI / KI für IM p.26

Uniform-cost search: Properties omplete Yes (if step costs positive) Time Space Optimal # of nodes with past-cost less than that of optimal solution # of nodes with past-cost less than that of optimal solution Yes. eckert: Einführung in die KI / KI für IM p.27

Depth-first search Idea Expand deepest unexpanded node Implementation fringe is a LIFO queue (a stack), i.e. successors go in at front of queue Note Depth-first search can perform infinite cyclic excursions Need a finite, non-cyclic search space (or repeated-state checking). eckert: Einführung in die KI / KI für IM p.28

Depth-first search D E F G H I J K L M N O. eckert: Einführung in die KI / KI für IM p.29

Depth-first search D E F G H I J K L M N O. eckert: Einführung in die KI / KI für IM p.29

Depth-first search D E F G H I J K L M N O. eckert: Einführung in die KI / KI für IM p.29

Depth-first search D E F G H I J K L M N O. eckert: Einführung in die KI / KI für IM p.29

Depth-first search D E F G H I J K L M N O. eckert: Einführung in die KI / KI für IM p.29

Depth-first search D E F G H I J K L M N O. eckert: Einführung in die KI / KI für IM p.29

Depth-first search D E F G H I J K L M N O. eckert: Einführung in die KI / KI für IM p.29

Depth-first search D E F G H I J K L M N O. eckert: Einführung in die KI / KI für IM p.29

Depth-first search D E F G H I J K L M N O. eckert: Einführung in die KI / KI für IM p.29

Depth-first search D E F G H I J K L M N O. eckert: Einführung in die KI / KI für IM p.29

Depth-first search D E F G H I J K L M N O. eckert: Einführung in die KI / KI für IM p.29

Depth-first search D E F G H I J K L M N O. eckert: Einführung in die KI / KI für IM p.29

Depth-first search: Example Romania. eckert: Einführung in die KI / KI für IM p.30

Depth-first search: Example Romania Zerind Sibiu Timisoara. eckert: Einführung in die KI / KI für IM p.30

Depth-first search: Example Romania Zerind Sibiu Timisoara Oradea. eckert: Einführung in die KI / KI für IM p.30

Depth-first search: Example Romania Zerind Sibiu Timisoara Oradea Zerind Sibiu Timisoara. eckert: Einführung in die KI / KI für IM p.30

Depth-first search: Properties omplete Yes: if state space finite No: if state contains infinite paths or loops Time O b m Space O bm (i.e. linear space) Optimal No Disadvantage Time terrible if m much larger than d dvantage Time may be much less than breadth-first search if solutions are dense. eckert: Einführung in die KI / KI für IM p.31

Iterative deepening search Depth-limited search Depth-first search with depth limit Iterative deepening search Depth-limit search with ever increasing limits function ITERTIVE-DEEPENING-SERH( problem) returns a solution or failure inputs: problem /* a problem */ for depth result if result end 0 to do DEPTH-LIMITED-SERH( problem, depth) cutoff then return result. eckert: Einführung in die KI / KI für IM p.32

Iterative deepening search with depth limit 0 Limit = 0. eckert: Einführung in die KI / KI für IM p.33

Iterative deepening search with depth limit 1 Limit = 1. eckert: Einführung in die KI / KI für IM p.34

Iterative deepening search with depth limit 2 Limit = 2 D E F G D E F G D E F G D E F G D E F G D E F G D E F G D E F G. eckert: Einführung in die KI / KI für IM p.35

Iterative deepening search with depth limit 3 Limit = 3 D E F G H I J K L M N O D E F G H I J K L M N O D E F G H I J K L M N O D E F G H I J K L M N O D E F G H I J K L M N O D E F G H I J K L M N O D E F G H I J K L M N O D E F G H I J K L M N O D E F G H I J K L M N O D E F G H I J K L M N O D E F G H J K L M N O I D E F G H I J K L M N O. eckert: Einführung in die KI / KI für IM p.36

Iterative deepening search: Example Romania with l 0. eckert: Einführung in die KI / KI für IM p.37

Iterative deepening search: Example Romania with l 1. eckert: Einführung in die KI / KI für IM p.38

Iterative deepening search: Example Romania with l 1 Zerind Sibiu Timisoara. eckert: Einführung in die KI / KI für IM p.38

Iterative deepening search: Example Romania with l 2. eckert: Einführung in die KI / KI für IM p.39

Iterative deepening search: Example Romania with l 2 Zerind Sibiu Timisoara. eckert: Einführung in die KI / KI für IM p.39

Iterative deepening search: Example Romania with l 2 Zerind Sibiu Timisoara Oradea. eckert: Einführung in die KI / KI für IM p.39

Iterative deepening search: Example Romania with l 2 Zerind Sibiu Timisoara Oradea Oradea Fagaras Rimnicu Vilcea. eckert: Einführung in die KI / KI für IM p.39

Iterative deepening search: Example Romania with l 2 Zerind Sibiu Timisoara Oradea Oradea Fagaras Rimnicu Vilcea Lugoj. eckert: Einführung in die KI / KI für IM p.39

Iterative deepening search: Properties omplete Yes Time d 1 b 0 db 1 d 1 b 2 b d O b d 1 Space O bd Optimal Yes (if step cost = 1) (Depth-First) Iterative-Deepening Search often used in practice for search spaces of large, infinite, or unknown depth.. eckert: Einführung in die KI / KI für IM p.40

omparison riterion readthfirst Uniformcost Depthfirst Iterative deepening omplete? Yes Yes No Yes Time b d 1 b d b m b d Space b d 1 b d bm bd Optimal? Yes Yes No Yes. eckert: Einführung in die KI / KI für IM p.41

omparison readth-first search Iterative deepening search. eckert: Einführung in die KI / KI für IM p.42

Summary Problem formulation usually requires abstracting away real-world details to define a state space that can feasibly be explored Variety of uninformed search strategies Iterative deepening search uses only linear space and not much more time than other uninformed algorithms. eckert: Einführung in die KI / KI für IM p.43