Formal Description of a Problem In AI, we will formally define a problem as –a space of all possible configurations where each configuration is called.

Slides:



Advertisements
Similar presentations
Problem Solving Well-formed predicate calculus expressions provide a means of describing objects and relations in a problem domain and inference rule.
Advertisements

CSC411Artificial Intelligence 1 Chapter 3 Structures and Strategies For Space State Search Contents Graph Theory Strategies for Space State Search Using.
PROBLEM SOLVING AND SEARCH
Formal Description of a Problem
Part2 AI as Representation and Search
KU NLP Artificial Intelligence1 Ch 3. Structures and Strategies for State Space Search q Introduction q Graph Theory  Structures for state space search.
Structures and Strategies For Space State Search
CSC 423 ARTIFICIAL INTELLIGENCE
Feng Zhiyong Tianjin University Fall  datatype PROBLEM ◦ components: INITIAL-STATE, OPERATORS, GOAL- TEST, PATH-COST-FUNCTION  Measuring problem-solving.
Lecture 3 Note: Some slides and/or pictures are adapted from Lecture slides / Books of Dr Zafar Alvi. Text Book - Aritificial Intelligence Illuminated.
Best-First Search: Agendas
State-Space Searches. State spaces A state space consists of –A (possibly infinite) set of states The start state represents the initial problem Each.
Structures and Strategies for State Space Search
Structures and Strategies for State Space Search
Using Search in Problem Solving
Using Search in Problem Solving
Ch 13 – Backtracking + Branch-and-Bound
Structures and Strategies For Space State Search
C M M Awais (LUMS)1 SEARCH METHODS State space search Heuristic search.
1 Structures and Strategies for State Space Search 3 3.0Introduction 3.1Graph Theory 3.2Strategies for State Space Search 3.3Using the State Space to Represent.
Backtracking.
State-Space Searches. 2 State spaces A state space consists of –A (possibly infinite) set of states The start state represents the initial problem Each.
For Friday Finish chapter 3 Homework: –Chapter 3, exercise 6 –May be done in groups. –Clarification on part d: an “action” must be running the program.
Solving Problems by Searching
State-Space Searches.
Brute Force Search Depth-first or Breadth-first search
Busby, Dodge, Fleming, and Negrusa. Backtracking Algorithm Is used to solve problems for which a sequence of objects is to be selected from a set such.
Search.
Artificial Intelligence Lecture 9. Outline Search in State Space State Space Graphs Decision Trees Backtracking in Decision Trees.
1 State Space of a Problem Lecture 03 ITS033 – Programming & Algorithms Asst. Prof.
Backtracking. N-Queens The object is to place queens on a chess board in such a way as no queen can capture another one in a single move –Recall that.
Problem solving.
Artificial Intelligence LECTURE 3 ARTIFICIAL INTELLIGENCE LECTURES BY ENGR. QAZI ZIA 1.
KU NLP Structures and Strategies for State Space Search Depth-First and Breadth-First Search q A search algorithm must determine the order in which.
Introduction to search Chapter 3. Why study search? §Search is a basis for all AI l search proposed as the basis of intelligence l inference l all learning.
Knowledge Representation CPTR 314. The need of a Good Representation  The representation that is used to represent a problem is very important  The.
Chapter 2 Problems, Problem Spaces, and Search?
HISTORY The problem was originally proposed in 1848 by the chess player Max Bezzel, and over the years, many mathematicians, including Gauss have worked.
Design and Analysis of Algorithms - Chapter 111 How to tackle those difficult problems... There are two principal approaches to tackling NP-hard problems.
Chapter 12 Coping with the Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
BackTracking CS335. N-Queens The object is to place queens on a chess board in such as way as no queen can capture another one in a single move –Recall.
1 CS 385 Fall 2006 Chapter 3 Structures and Strategies for State Space Search.
Introduction to search Chapter 3. Why study search? §Search is a basis for all AI l search proposed as the basis of intelligence l all learning algorithms,
CS 415 – A.I. Slide Set 5. Chapter 3 Structures and Strategies for State Space Search – Predicate Calculus: provides a means of describing objects and.
State-Space Searches. 2 State spaces A state space consists of A (possibly infinite) set of states The start state represents the initial problem Each.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Graphs.
Chapter 2 Problems, Problem Spaces, and Search?
Formal Description of a Problem In AI, we will formally define a problem as –a space of all possible configurations where each configuration is called.
For Friday Finish reading chapter 4 Homework: –Lisp handout 4.
For Monday Read chapter 4, section 1 No homework..
Lecture 3: Uninformed Search
COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Problem solving by search Department of Computer Science & Engineering Indian Institute of Technology Kharagpur.
For Friday Read chapter 4, sections 1 and 2 Homework –Chapter 3, exercise 7 –May be done in groups.
Algorithms April-May 2013 Dr. Youn-Hee Han The Project for the Establishing the Korea ㅡ Vietnam College of Technology in Bac Giang.
Basic Problem Solving Search strategy  Problem can be solved by searching for a solution. An attempt is to transform initial state of a problem into some.
Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way.
STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH 3 3.0Introduction 3.1Graph Theory 3.2Strategies for State Space Search 3.3Using the State Space to Represent.
Analysis & Design of Algorithms (CSCE 321)
Chapter 13 Backtracking Introduction The 3-coloring problem
CSCE350 Algorithms and Data Structure Lecture 21 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
February 18, 2016Introduction to Artificial Intelligence Lecture 8: Search in State Spaces III 1 A General Backtracking Algorithm Sanity check function.
G5AIAI Introduction to AI
Biointelligence Lab School of Computer Sci. & Eng. Seoul National University Artificial Intelligence Chapter 8 Uninformed Search.
BackTracking CS255.
Backtracking and Branch-and-Bound
State-Space Searches.
State-Space Searches.
State-Space Searches.
Basic Search Methods How to solve the control problem in production-rule systems? Basic techniques to find paths through state- nets. For the moment: -
Presentation transcript:

Formal Description of a Problem In AI, we will formally define a problem as –a space of all possible configurations where each configuration is called a state thus, we use the term state space –an initial state –one or more goal states –a set of rules/operators which move the problem from one state to the next In some cases, we may enumerate all possible states (see monkey & banana problem on the next slide) –but usually, such an enumeration will be overwhelmingly large so we only generate a portion of the state space, the portion we are currently examining –we will view our state space as a graph or network and apply graph algorithms to search through the space

The Monkey & Bananas Problem A monkey is in a cage and bananas are suspended from the ceiling, the monkey wants to eat a banana but cannot reach them –in the room are a chair and a stick –if the monkey stands on the chair and waves the stick, he can knock a banana down to eat it –what are the actions the monkey should take? Initial state: monkey on ground with empty hand bananas suspended Goal state: monkey eating Actions: climb chair/get off grab X wave X eat X

Missionaries and Cannibals 3 missionaries and 3 cannibals are on one side of the river with a boat that can take exactly 2 people across the river –how can we move the 3 missionaries and 3 cannibals across the river –with the constraint that the cannibals never outnumber the missionaries on either side of the river (lest the cannibals start eating the missionaries!)?? We can represent a state as a 6-item tuple: –(a, b, c, d, e, f) a/b = number of missionaries/cannibals on left shore c/d = number of missionaries/cannibals in boat e/f = number of missionaries/cannibals on right shore where a + b + c + d + e + f = 6 and c + d = 1 to move the boat a >= b unless a = 0, c >= d unless c = 0, e >= f unless e = 0 Legal operations (moves) are –0, 1, 2 missionaries get into boat (c + d must be <= 2) –0, 1, 2 missionaries get out of boat –0, 1, 2 cannibals get into boat (c + d must be <= 2) –0, 1, 2 missionaries get out of boat –boat sails from left shore to right shore (c + d must be >= 1) –boat sails from right shore to left shore (c + d must be >= 1) drawing the state space will be left as a homework problem

8 Puzzle The 8 puzzle search space consists of 8! states (40320)

Graph/Network Theory A graph is denoted as G = {V, E} –V = set of vertices (nodes) –E = set of edges an edge is denoted as (a, b) to indicate an edge exists between node a and node b a network is a graph in which edges have weights (the cost of traversing from one node to another) –A graph is directed if an edge can only be traversed in one direction in a directed graph, (a, b) does not mean there exists (b, a) but in an undirected graph, (a, b) = (b, a) –A path is a set of 1 or more edges that lead you from one node to another –A graph contains a cycle if there is a path whose length > 1 such that you can go from a node back to itself –A tree is a special case of a graph which contains no cycles and nodes are given relationships of parents and children – the root of a tree is the topmost node (has no parents) and leafs are nodes that have no children

Search Given a problem expressed as a state space (whether explicitly or implicitly) –with operators/actions, an initial state and a goal state, how do we find the sequence of operators needed to solve the problem? –this requires search Formally, we define a search space as [N, A, S, GD] –N = set of nodes or states of a graph –A = set of arcs (edges) between nodes that correspond to the steps in the problem (the legal actions or operators) –S = a nonempty subset of N that represents start states –GD = a nonempty subset of N that represents goal states Our problem becomes one of traversing the graph from a node in S to a node in GD –we can use any of the numerous graph traversal techniques for this but in general, they divide into two categories: brute force – unguided search heuristic – guided search

Consequences of Search As shown a few slides back, the 8-puzzle has over different states –what about the 15 puzzle? A brute force search means try all possible states blindly until you find the solution (blindly means without knowledge guiding you) –if a problem has a state space that consists of n moves where each move has m possible choices, then there are 2 m*n states –two forms of brute force search are: depth first search, breath first search A guided search uses some heuristic (a function) to determine how good a particular state is to help determine which state to move on to - goodness is a judgment of how likely this node is to lead you to a goal state –hill climbing –best-first search –A/A* algorithm –Minimax While a good heuristic can reduce the complexity from 2 m*n to something tractable, there is no guarantee so any form of search is O(2 n ) in the worst case

Forward vs Backward Search The common form of reasoning starts with data and leads to conclusions –for instance, diagnosis is data-driven – given the patient symptoms, we work toward disease hypotheses we often think of this form of reasoning as “forward chaining” through rules Backward search reasons from goals to actions –Planning and design are often goal-driven “backward chaining”

Depth-first Search Starting at node A, our search gives us: A, B, E, K, S, L, T, F, M, C, G, N, H, O, P, U, D, I, Q, J, R

Depth-first Search Example

Traveling Salesman Problem

Breadth-First Search Starting at node A, our search would generate the nodes in alphabetical order from A to U

Breadth-First Search Example

8 Queens Can you place 8 queens on a chess board such that no queen can capture another? –uses a recursive algorithm with backtracking –the more general problem is the N-queens problem (N queens on an NxN chess board) solve(board, col, row) if col = n then return true; // success else row = 0; placed = false; while(row < n && !placed) board[row][col] = true // place the queen if(cannotCapture(board, col)) placed = true else board[row][col] = false; row++ if(row = n) col--; placed = false; row = 0; // backtrack

And/Or Graphs To this point in our consideration of search spaces, a single state (or the path to that state) represents a solution –in some problems, a solution is a combination of states or a combination of paths –we pursue a single path, until we reach a dead end in which case we backtrack, or we find the solution (or we run out of possibilities if no solution exists) –so our state space is an Or graph – every different branch is a different solution, only one of which is required to solve the problem However, some problems can be decomposed into subproblems where each subproblem must be solved –consider for instance integrating some complex function which can be handled by integration by parts –such as state space would comprise an And/Or graph where a path may lead to a solution, but another path may have multiple subpaths, all of which must lead to solutions

And/Or Graphs as Search Spaces Integration by parts, as used in the MACSYMA expert system – if we use the middle branch, we must solve all 3 parts (in the final row) Our Financial Advisor system from chapter 2 – each possible investment solution requires proving 3 things

Data-driven Example: Parsing We wrap up this chapter by considering an example of syntactically parsing an English sentence –we have the following five rules: sentence  np vp np  n np  art n vp  v vp  v np –n is noun man or dog –v is verb likes or bites –Art is article a or the Parse the following sentence: –The dog bites the man.