Search Problems and Blind Search Techniques

Total Page:16

File Type:pdf, Size:1020Kb

Search Problems and Blind Search Techniques Set 2: State-spaces and Uninformed Search ICS 271 Fall 2016 Kalev Kask 271-fall 2016 You need to know • State-space based problem formulation – State space (graph) • Search space – Nodes vs. states – Tree search vs graph search • Search strategies • Analysis of search algorithms – Completeness, optimality, complexity – b, d, m 271-fall 2016 Goal-based agents Goals provide reason to prefer one action over the other. We need to predict the future: we need to plan & search Problem-Solving Agents • Intelligent agents can solve problems by searching a state-space • State-space Model – the agent’s model of the world – usually a set of discrete states – e.g., in driving, the states in the model could be towns/cities • Goal State(s) – a goal is defined as a desirable state for an agent – there may be many states which satisfy the goal • e.g., drive to a town with a ski-resort – or just one state which satisfies the goal • e.g., drive to Mammoth • Operators(actions) – operators are legal actions which the agent can take to move from one state to another 271-fall 2016 Example: Romania 271-fall 2016 Example: Romania • On holiday in Romania; currently in Arad. • Flight leaves tomorrow from Bucharest • Formulate goal: – be in Bucharest • Formulate problem: – states: various cities – actions: drive between cities • Find solution: – sequence of actions (cities), e.g., Arad, Sibiu, Fagaras, Bucharest 271-fall 2016 Problem Types • Static / Dynamic Previous problem was static: no attention to changes in environment • Observable / Partially Observable / Unobservable Previous problem was observable: it knew its initial state. • Deterministic / Stochastic Previous problem was deterministic: no new percepts were necessary, we can predict the future perfectly • Discrete / continuous Previous problem was discrete: we can enumerate all possibilities 271-fall 2016 State-Space Problem Formulation A problem is defined by five items: states e.g. cities initial state e.g., "at Arad“ actions or successor function S(x) = set of action–state pairs – e.g., S(Arad) = {<Arad Zerind, Zerind>, … } transition function - maps action & state state goal test, (or goal state) e.g., x = "at Bucharest”, Checkmate(x) path cost (additive) – e.g., sum of distances, number of actions executed, etc. – c(x,a,y) is the step cost, assumed to be ≥ 0 A solution is a sequence of actions leading from the initial state to a goal state 271-fall 2016 State-Space Problem Formulation • A statement of a Search problem has components – 1. States – 2. A start state S – 3. A set of operators/actions which allow one to get from one state to another – 4. transition function – 5. A set of possible goal states G, or ways to test for goal states – 6. Cost path • A solution consists of – a sequence of operators which transform S into a goal state G • Representing real problems in a State-Space search framework – may be many ways to represent states and operators – key idea: represent only the relevant aspects of the problem (abstraction) 271-fall 2016 Abstraction/Modeling • Definition of Abstraction (states/actions) – Process of removing irrelevant detail to create an abstract representation: ``high-level”, ignores irrelevant details • Navigation Example: how do we define states and operators? – First step is to abstract “the big picture” • i.e., solve a map problem • nodes = cities, links = freeways/roads (a high-level description) • this description is an abstraction of the real problem – Can later worry about details like freeway onramps, refueling, etc • Abstraction is critical for automated problem solving – must create an approximate, simplified, model of the world for the computer to deal with: real-world is too detailed to model exactly – good abstractions retain all important details – an abstraction should be easier to solve than the original problem 271-fall 2016 Robot block world • Given a set of blocks in a certain configuration, • Move the blocks into a goal configuration. • Example : – ((A)(B)(C)) (ACB) A A B C C B 271-fall 2016 Operator Description 271-fall 2016 The State-Space Graph • Problem formulation: State-space: 1. A set of states – Give an abstract description of states, 2. A set of “operators”/transitions operators, initial state and goal state. 3. A start state S • Graphs: 4. A set of possible goal states 5. Cost path – vertices, edges(arcs), directed arcs, paths • State-space graphs: – States are vertices – operators are directed arcs – solution is a path from start to goal • Problem solving activity: – Generate a part of the search space that contains a solution 271-fall 2016 Example: vacuum world • Observable, start in #5. Solution? 15 Example: vacuum world • Observable, start in #5. Solution? [Right, Suck] 16 Vacuum world state space graph 5 17 Example: vacuum world • Unobservable, start in {1,2,3,4,5,6,7,8} e.g., Solution? 18 Example: vacuum world • Unobservable, start in {1,2,3,4,5,6,7,8} e.g., Solution? [Right,Suck,Left,Suck] 19 20 The Traveling Salesperson Problem • Find the shortest tour that visits all cities without visiting any city twice and return to starting point. • State: – sequence of cities visited • S0 = A C B A D F E 271-fall 2016 The Traveling Salesperson Problem • Find the shortest tour that visits all cities without visiting any city twice and return to starting point. • State: sequence of cities visited • S0 = A C • Solution = a complete tour B A D Transition model F {a,c,d} {(a,c,d, x) | X a,c,d} E 271-fall 2016 Example: 8-queen problem 271-fall 2016 Example: 8-Queens • states? -any arrangement of n<=8 queens -or arrangements of n<=8 queens, 1 per column, such that no queen attacks any other (BETTER), -or arrangements of n<=8 queens in leftmost n columns, 1 per column, such that no queen attacks any other (BEST) • initial state? no queens on the board • actions? -add queen to any empty column -or add queen to leftmost empty column such that it is not attacked by other queens. • goal test? 8 queens on the board, none attacked. • path cost? 1 per move 271-fall 2016 The Sliding Tile Problem move(x,loc y,loc z) Up Down Left Right 271-fall 2016 The “8-Puzzle” Problem Start State 1 2 3 4 6 7 5 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 Goal State Example: robotic assembly • states?: real-valued coordinates of robot joint angles parts of the object to be assembled • actions?: continuous motions of robot joints • goal test?: complete assembly • path cost?: time to execute 271-fall 2016 new Formulating Problems; Another Angle • Problem types – Satisfying: 8-queen – Optimizing: Traveling salesperson • For traveling salesperson satisfying easy, optimizing hard • Goal types – board configuration – sequence of moves – A strategy (contingency plan) • Satisfying leads to optimizing since “small is quick” • For traveling salesperson – satisfying easy, optimizing hard • Semi-optimizing: – Find a good solution • In Russel and Norvig: – single-state, multiple states, contingency plans, exploration problems 271-fall 2016 Summary so far • Problem state space formulation – states, initial state, goal state(s)/test – actions, transition function • Abstraction • Search as exploration of the state space graph – tree search (no memory) vs graph search (memory) • States vs nodes; node implementation • Basic search scheme • Q : we transformed original problem to path finding on state-space graph; why not apply shortest path finding algorithms? 271-fall 2016 Searching the State Space • Exploration of the state space – states, operators – by generating successors of already explored states (aka expanding states) • Trial and error : pick on possible extension of some path, leaving others aside for the time being. • Control strategy (how to pick a node to expand) generates a search tree. • Systematic search – Do not leave any stone unturned • Efficiency – Do not turn any stone more than once 271-fall 2016 Tree search example 271-fall 2016 Tree search example 271-fall 2016 Tree search example 271-fall 2016 State-Space Graph of the 8 Puzzle Problem 271-fall 2016 Implementation • States vs Nodes – A state is a (representation of) a physical configuration – A node is a data structure constituting part of a search tree contains info such as: state, parent node, action, path cost g(x), depth • The Expand function creates new nodes, filling in the various fields and using the SuccessorFn of the problem to create the corresponding states. • Queue managing frontier : – FIFO – LIFO – priority 271-fall 2016 Tree-Search vs Graph-Search • Tree-search(problem), returns a solution or failure • Frontier initial state • Loop do – If frontier is empty return failure – Choose a leaf node and remove from frontier – If the node is a goal, return the corresponding solution – Expand the chosen node, adding its children to the frontier – ----------------------------------------------------------------------------------------------- • Graph-search(problem), returns a solution or failure • Frontier initial state, explored empty • Loop do – If frontier is empty return failure – Choose a leaf node and remove from frontier – If the node is a goal, return the corresponding solution. – Add the node to the explored. – Expand the chosen node, adding its children to the frontier, only if not in frontier or explored set 271-fall 2016 Basic search scheme • We have 3 kinds of states – explored (past) – only graph search – frontier (current) – unexplored (future) – implicitly given • Initially frontier=start state • Loop until found solution or exhausted state space – pick/remove first node from frontier using search strategy • priority queue – FIFO (BFS), LIFO (DFS), g (UCS), f (A*), etc. – check if goal – add this node to explored, – expand this node, add children to frontier (graph search : only those children whose state is not in explored/frontier list) – Q: what if better path is found to a node already on explored list? 271-fall 2016 Graph-Search 271-fall 2016 Tree-Search vs.
Recommended publications
  • Structures and Strategies for Space State Search
    Structures and Strategies For Space State Search 3.0 Introduction 3.3 Using Space State to Represent Reasoning with the Predicate 3.1 Graph Theory Calculus 3.2 Strategies for Space State Search AI Classnotes #4, John Shieh, 2011 1 Figure 3.1: The city of Königsberg. AI Classnotes #4, John Shieh, 2011 2 Figure 3.2: Graph of the Königsberg bridge system. AI Classnotes #4, John Shieh, 2011 3 Figure 3.3: A labeled directed graph. AI Classnotes #4, John Shieh, 2011 4 Figure 3.4: A rooted tree, exemplifying family relationships. AI Classnotes #4, John Shieh, 2011 5 In the state space representation • nodes -- states representing partial problem solutions • arcs -- steps in a problem-solving process • solution -- a goal state or a path from the start state to a goal state By representing a problem as a state space graph, we can use graph theory to analyze the structure and complexity of the problem and the search algorithms. AI Classnotes #4, John Shieh, 2011 6 The goal states are described by • a measurable property of the states, or • a property of the path developed in the search. AI Classnotes #4, John Shieh, 2011 7 AI Classnotes #4, John Shieh, 2011 8 To design a search algorithm, we must consider • Is it guaranteed to find a solution? • Is it guaranteed to find an optimal solution? • What is its complexity? • Whether the complexity can be reduced? Search algorithms must detect and eliminate loops from potential solution paths. AI Classnotes #4, John Shieh, 2011 9 Strategies for state space search • By the search directions: – data-driven search (forward chaining) – goal-driven search (backward chaining) – bidirectional search • By whether using domain-specific information: – Blind search methods – Heuristic search AI Classnotes #4, John Shieh, 2011 10 AI Classnotes #4, John Shieh, 2011 11 Fig 3.8 State space of the 8-puzzle generated by “move blank” operations AI Classnotes #4, John Shieh, 2011 12 Fig 3.9 An instance of the travelling salesperson problem AI Classnotes #4, John Shieh, 2011 13 Fig 3.10 Search for the travelling salesperson problem.
    [Show full text]
  • State Space Search
    SEARCH METHODS IN AI STATE SPACE SEARCH Arijit Mondal & Partha P Chakrabarti Indian Institute of Technology Kharagpur COMPLEX PROBLEMS & SOLUTIONS Path Finding Chess Playing Robot Assembly Time-Table Scheduling VLSI Chip Design Symbolic Integration 2 AUTOMATED PROBLEM SOLVING BY SEARCH • Generalized Techniques for Solving Large Classes of Complex Problems • Problem Statement is the Input and solution is the Output, sometimes even the problem specific algorithm or method could be the Output • Problem Formulation by AI Search Methods consists of the following key concepts – Configuration or State – Constraints or Definitions of Valid Configurations – Rules for Change of State and their Outcomes – Initial or Start Configurations – Goal Satisfying Configurations – An Implicit State or Configuration Space – Valid Solutions from Start to Goal in the State Space – General Algorithms which SEARCH for Solutions in this State Space • ISSUES – Size of the Implicit Space, Capturing Domain Knowledge, Intelligent Algorithms that work in reasonable time and Memory, Handling Incompleteness and Uncertainty 3 BASICS OF STATE SPACE MODELLING • STATE or CONFIGURATION: – A set of variables which define a state or configuration – Domains for every variable and constraints among variables to define a valid configuration • STATE TRANSFORMATION RULES or MOVES: – A set of RULES which define which are the valid set of NEXT STATE of a given State – It also indicates who can make these Moves (OR Nodes, AND nodes, etc) • STATE SPACE or IMPLICIT GRAPH – The Complete
    [Show full text]
  • Strategies for State Space Search
    Introduction to Artificial Intelligence and Search Algorithms Introduction to Artificial Intelligence What is Intelligence? Intelligence is the ability to learn about, to learn from, to understand about, and interact with one’s environment. What is Artificial Intelligence (AI)? A.I:- Is simply a way of making a computer think. A.I:- Is the part of computer science concerned with designing intelligent computer system that exhibit the characteristic associated with intelligent in human behavior. This requires many processes:- 1- Learning: - acquiring the knowledge and rules that used these knowledge. 2- Reasoning:- Used the previous rules to access to nearly reasoning or fixed reasoning. Introduction to Artificial Intelligence A.I Principles:- 1- The data structures used in knowledge representation. 2- The algorithms needed to apply that knowledge. 3- The language and programming techniques used their implementation. What are the goals of AI research? The central problems (or goals) of AI research include reasoning, knowledge, planning, learning, natural language processing (communication), perception and the ability to move and manipulate objects. What is problem reduction meaning? Problem Reduction means that there is a hard problem may be one that can be reduced to a number of simple problems. Once each of the simple problems is solved, then the hard problem has been solved. Applications of AI • Game playing • Speech recognition • Understanding natural language • Computer vision • Expert systems • Heuristic classification Characteristics of AI • High societal impact (affect billions of people) • Diverse (language, vision, robotics) • Complex (really hard) Search Algorithms To successfully design and implement search algorithms, a programmer must be able to analyze and predict their behavior.
    [Show full text]
  • Chapter 3: Solving Problems by Searching Problem Solving Agent
    Chapter 3: Solving Problems by Searching Problem Solving Agent Problem-solving agent: a type of goal-based agent Decide what to do by finding sequences of actions that lead to desirable states Goal formulation: based on current situation and agent’s performance measure Problem formulation: deciding what actions and states to consider, given a goal The process of looking for such a sequence of actions is called search CS 420: Artificial Intelligence 2 CS 420: Artificial Intelligence 3 Example: Romania Touring On holiday in Romania; currently in Arad Non-refundable ticket to fly out of Bucharest tomorrow Formulate goal (perf. evaluation): be in Bucharest before the flight Formulate problem: states: various cities actions: drive between cities Search: sequence of cities CS 420: Artificial Intelligence 4 Road Map of Romania CS 420: Artificial Intelligence 5 Problem-Solving Agents CS 420: Artificial Intelligence 6 Aspects of the Simple Problem Solver Where does it fit into the agents and environments discussion? Static environment Observable Discrete Deterministic Open-loop system: percepts are ignored, thus break the loop between agent and environment CS 420: Artificial Intelligence 7 Well-Defined Problems A problem can be defined formally by five components: Initial state Actions Transition model: description of what each action does (successor) Goal test Path cost CS 420: Artificial Intelligence 8 Problem Formulation – 5 Components Initial state: In(Arad) Actions, if current state is In(Arad), actions = {Go{Sibiu), Go(Timisoara), Go(Zerind)} Transition model: e.g., Results(In(Arad), Go(Sibiu)) = In(Sibiu) Goal test determines whether a given state is a goal state explicit, e.g.
    [Show full text]
  • Control and Implementation of State Space Search
    Control and Implementation of 5 State Space Search 5.0 Introduction 5.4 The Blackboard Architecture for Problem 5.1 Recursion-Based Search Solving 5.2 Pattern-directed Search 5.5 Epilogue and 5.3 Production Systems References 5.6 Exercises 1 Chapter Objectives • Compare the recursive and iterative implementations of the depth-first search algorithm • Learn about pattern-directed search as a basis for production systems • Learn the basics of production systems • The agent model: Has a problem, searches for a solution, has different ways to model the search 2 Summary of previous chapters • Representation of a problem solution as a path from a start state to a goal • Systematic search of alternative paths • Backtracking from failures • Explicit records of states under consideration • open list: untried states • closed lists: to implement loop detection • open list is a stack for DFS, a queue for BFS 3 Function depthsearch algorithm 4 Use recursion • for clarity, compactness, and simplicity • call the algorithm recursively for each child • the open list is not needed anymore, activation records take care of this • still use the closed list for loop detection 5 Function depthsearch (current_state) algorithm 6 Pattern-directed search • use modus ponens on rules such as q(X) → p(X) • if p(a) is the original goal, after unification on the above rule, the new subgoal is q(a) 7 A chess knight’s tour problem Legal moves of a knight Move rules 9 Examples • Is there a move from 1 to 8? Pattern_search(move(1,8)) success • Where can the knight move
    [Show full text]
  • A System for Bidirectional Robotic Pathfinding
    Portland State University PDXScholar Computer Science Faculty Publications and Presentations Computer Science 11-2012 A System for Bidirectional Robotic Pathfinding Tesca Fitzgerald Portland State University, [email protected] Follow this and additional works at: https://pdxscholar.library.pdx.edu/compsci_fac Part of the Artificial Intelligence and Robotics Commons Let us know how access to this document benefits ou.y Citation Details Fitzgerald, Tesca, "A System for Bidirectional Robotic Pathfinding" (2012). Computer Science Faculty Publications and Presentations. 226. https://pdxscholar.library.pdx.edu/compsci_fac/226 This Technical Report is brought to you for free and open access. It has been accepted for inclusion in Computer Science Faculty Publications and Presentations by an authorized administrator of PDXScholar. Please contact us if we can make this document more accessible: [email protected]. A System for Bidirectional Robotic Pathfinding Tesca K. Fitzgerald Department of Computer Science, Portland State University PO Box 751 Portland, OR 97207 USA [email protected] TR 12-02 November 2012 Abstract The accuracy of an autonomous robot's intended navigation can be impacted by environmental factors affecting the robot's movement. When sophisticated localizing sensors cannot be used, it is important for a pathfinding algorithm to provide opportunities for landmark usage during route execution, while balancing the efficiency of that path. Although current pathfinding algorithms may be applicable, they often disfavor paths that balance accuracy and efficiency needs. I propose a bidirectional pathfinding algorithm to meet the accuracy and efficiency needs of autonomous, navigating robots. 1. Introduction While a multitude of pathfinding algorithms navigation without expensive sensors. As low- exist, pathfinding algorithms tailored for the cost navigating robots need to account for robotics domain are less common.
    [Show full text]
  • Problem Solving As State Space Search Assignments Agent Building
    Problem Solving Assignments as State Space Search • Remember: Problem Set #1: Simple Scheme and Search Out today, due Session 4. • Reading: Brian C.Williams – Solving problems by searching: AIMA Ch. 3 16.410-13 Session 3 Slides adapted from: 6.034 Tomas Lozano Perez, Russell and Norvig AIMA Brian Williams, Fall 05 1 Brian Williams, Fall 05 2 Course Objective 1: Course Objective 1: Agent Architectures Agent Architectures Communicate and Interpret To understand the major types of agents and common architectures used to develop agents. Plan Map Locate in – Mission-oriented Agents World – Self-repairing Agents Monitor & Execute Plan Routes – Mobile Agents Diagnosis – Agile Agents – Communicating Agents Maneuver and Track Brian Williams, Fall 05 3 Brian Williams, Fall 05 4 Course Objective 2: Principles of Agents Agent Building Blocks 16.410/13: To learn the modeling and • Activity Planning • Path Planning algorithmic building blocks for creating • Execution/Monitoring • Localization reasoning and learning agents: • Diagnosis • Map Building 1. To formulate reasoning problems in an • Repair • Trajectory Design appropriate formal representation. • Scheduling • Policy Construction 2. To describe, analyze and demonstrate the • Resource Allocation application of reasoning algorithms to �Most reasoning problems, like these, may be formulated solve these problem formulations. as state space search. Brian Williams, Fall 05 5 Brian Williams, Fall 05 6 1 Course Objective 3: Implementing Agents 16.413: To appreciate the challenges of building a state of the art autonomous explorer: Complex missions must carefully: Fall 03: • Plan complex sequences of actions • Mars Exploration Rover shadow mode demonstration. • Schedule actions Fall 04: • Allocate tight resources • Gnu Robot competition.
    [Show full text]
  • The Elements of Artificial Intelligence with Python
    The Elements of Artificial Intelligence with Python Steven L. Tanimoto University of Washington Draft version based upon The Elements of Artificial Intelligence Using Common Lisp Part III: Chapter 5 February 1, 2005 © copyright 2005, S. Tanimoto. All rights reserved. Chapter 5 Search 5.1 The Notion of Search Methods for searching are to be found at the core of many AI systems. Before knowledge representation became the key issue of AI in the 1970s, search tech- niques were at the center of attention in research and in courses on AI. They are still of central importance in AI not only because most systems are built around them but because it is largely through an understanding of search algorithms that we are able to predict what kinds of AI problems are solvable in practice. The idea of searching for something implies moving around examining things and making decisions about whether the sought object has yet been found. A cave explorer searching for treasure moves around from one underground place to another, looking to see where he is going and whether there are any valuables around him. He is constrained by the geometry (or topology) of the cave; he must follow passageways provided by nature. A chess player searching for the best move in the middle of a game mentally makes moves and countermoves, finds the merits of resulting board positions, and in the process determines the degree to which she can control the game to reach some of these positions. An engineer who designs integrated-circuit layouts considers sequences of design choices that lead to acceptable arrangements of components and electrical connections; he searches through spaces of possible designs to find those that have the required properties.
    [Show full text]
  • Uninformed (Also Called Blind) Search Algorithms)
    Uninformed (also called blind) search algorithms) This Lecture Chapter 3.1-3.4 Next Lecture Chapter 3.5-3.7 (Please read lecture topic material before and after each lecture on that topic) Outline Overview of uninformed search methods Search strategy evaluation Complete? Time? Space? Optimal? Max branching (b), Solution depth (d), Max depth (m) Search Strategy Components and Considerations Queue? Goal Test when? Tree search vs. Graph search? Various blind strategies: Breadth-first search Uniform-cost search Depth-first search Iterative deepening search (generally preferred) Bidirectional search (preferred if applicable) Uninformed search strategies Uninformed (blind): You have no clue whether one non-goal state is better than any other. Your search is blind. You don’t know if your current exploration is likely to be fruitful. Various blind strategies: Breadth-first search Uniform-cost search Depth-first search Iterative deepening search (generally preferred) Bidirectional search (preferred if applicable) 3 Search strategy evaluation A search strategy is defined by the order of node expansion Strategies are evaluated along the following dimensions: completeness: does it always find a solution if one exists? time complexity: number of nodes generated space complexity: maximum number of nodes in memory optimality: does it always find a least-cost solution? Time and space complexity are measured in terms of b: maximum branching factor of the search tree d: depth of the least-cost solution m: maximum depth of the
    [Show full text]
  • CS 331: Artificial Intelligence Uninformed Search Real World
    Real World Search Problems CS 331: Artificial Intelligence Uninformed Search 1 2 Assumptions About Our Simpler Search Problems Environment • Fully Observable • Deterministic • Sequential • Static • Discrete • Single-agent 3 4 Search Problem Formulation Example: Oregon Portland S = {Coos Bay, Newport, A search problem has 5 components: McMinnville Corvallis, Junction City, Eugene, Medford, Albany, 1. A finite set of states S Salem 2. A non-empty set of initial states I S Initial State Lebanon, Salem, 3. A non-empty set of goal states G S Portland, McMinnville} Albany Lebanon I = {Corvallis} 4. A successor function succ(s) which takes a state Newport Corvallis s as input and returns as output the set of states G={Medford} you can reach from state s in one step. Coos Junction 5. A cost function cost(s,s’) which returns the non- Bay City Succ(Corvallis)={Albany, negative one-step cost of travelling from state s Eugene Newport, McMinnville, to s’. The cost function is only defined if s’ is a Junction City} successor state of s. Goal State Medford Cost(s,s’) = 1 for all transitions 5 6 1 Results of a Search Problem Search Tree • Solution Corvallis Start with Initial State Path from initial state to goal state Junction Corvallis Eugene Medford City • Solution quality Path cost (3 in this case) • Optimal solution Lowest path cost among all solutions (In this case, we found the optimal solution) 7 8 Search Tree Search Tree Corvallis Is initial state the goal? Corvallis Apply Successor() function • Yes, return solution • No, apply Successor() Junction Junction McMinnville Albany Newport McMinnville Albany Newport City function City Queue McMinnville These nodes have not been Albany expanded yet.
    [Show full text]
  • Investigating Search Algorithms to What Extent Is A* Search Algorithm
    Investigating Search Algorithms To what extent is A* search algorithm more efficient than Bidirectional Dijkstra’s algorithm at finding the closest relationship between 2 people in a network of human connections? Computer Science Word Count: 3814 Candidate Number: Contents page 1 Introduction 2 2 Search Algorithms 4 2.1 Basics 4 2.2 Breadth-First Search 8 2.3 Branch-and-Bound 11 ​ 2.4 Extended Set 14 ​ 2.5 Heuristic Function 18 ​ 3 Algorithms Used 22 ​ 3.1 Bidirectional Dijkstra’s Algorithm 22 ​ 3.1.1 Dijkstra’s Algorithm 22 ​ 3.1.2 Bidirectional Search 22 ​ 3.1.3 In Context 28 ​ 3.2 A* Search Algorithm 28 ​ 3.2.1 In Context 33 ​ 4 Methodology 34 ​ 4.1 Setup 34 ​ 4.2 Procedure 34 ​ 4.3 Success Criteria 35 ​ 4.3.1 Time Complexity 35 ​ 4.3.2 Expanded Nodes 35 ​ 4.3.3 Optimal Distance 35 ​ 4.4 Clarifications 36 ​ 4.4.1 Six Degrees of Separation 36 ​ 4.4.2 Calculating Heuristic Values 37 ​ 4.4.3 Privacy 38 ​ 4.4.4 Logistical Setback 38 ​ 5 Comparison 39 5.1 Hypothesis 39 5.2 Analysis 39 5.2.1 Bidirectional Dijkstra’s Algorithm Explanation 39 5.2.2 A* Search Algorithm Explanation 45 ​ 1 6 Conclusion 49 7 Evaluation 50 ​ 8 Works Cited 51 ​ 9 Works Consulted 53 ​ 1 Introduction Artificial intelligence is taking over. It is used to recognise faces, detect fake news, and even identify the type of pizza in a photo. It has allowed us to process large amounts of data, quantities that would take generations of humans to absorb let alone analyse.
    [Show full text]
  • Hill Climbing, Best First Search, A* Search
    Search Search Trees ● node = state A ● arcs = operators ● search = control Depth B C D E F G Fringe or search frontier branching factor = # choices of each node Search Criteria ● Completeness: guarantees to find a solution when there is one ● Optimality: highest quality solution where there are different solutions ● Efficiency: time complexity and space complexity Goal: find the right search criterion for a problem Search Algorithms Types of search algorithms in two perspectives: ● Based on information used ■ Blind Search e.g., depth-first, breath-first, bidirectional search ■ Heuristic Search e.g., hill climbing, best first search, A* search ● Based on search direction (more later) ■ Goal-driven (backward chaining): search from goal states to verify given data ■ Data-driven (forward chaining): search from data to find goal states Blind Search Blind Search (Uninformed or Brute force search) ● Systematically generates states and test against the goal ● Depends on topology of search tree ● Is distinguished by the order in which nodes are expanded ● Has no information about the number of steps or the path cost from current state to the goal state Examples: ■ Backtracking ■ Depth First ■ Breadth First Backtracking A start B C D E F G goal H I J Solution path: ACG Backtracking Algorithm CS = current state SL = state list of current path being evaluated for solution A start NSL = new state list DE = dead end list of states whose descendants failed to contain goal node B C D Begin SL := [start]; NSL := [start]; DE := []; CS:= Start; while NSL
    [Show full text]