An Introduction to The A* Algorithm

Size: px
Start display at page:

Download "An Introduction to The A* Algorithm"

Transcription

1 An Introduction to The A* Algorithm Introduction The A* (A-Star) algorithm depicts one of the most popular AI methods used to identify the shortest path between 2 locations in a mapped area. The A* algorithm was developed around 1968 to combine heuristic approaches such as the Best-First-Search (BFS) with more formal algorithms such as Dijsktra. The algorithm basically depicts a state space search method. Many problems can be solved by representing the world in an initial state and for each action to be taken, new states can be generated that reflect what the world would be like if taken. This process is basically repeated until the world is in the state that is specified as a solution, and the route from the initial to the goal state reflects the solution to the problem. Identifying the shortest path between 2 points is also referred to in the literature as pathfinding. In this primer, the popular 8-puzzle game (see Figure 1) is used as the discussion baseline. Terminology With the A* algorithm, a node is referred to as a state that the problem's world can be in. In a pathfinding scenario, a node would just reflect a 2D coordinate of where the system is at any given time. For the 8-puzzle, the nodes represent the positions of all the individual tiles. All the nodes are arranged in a graph where the links among the nodes represent valid steps (that can be considered) to solve the problem. These links are referred to as edges. In the 8-puzzle diagram (see Figure 2), the edges are depict as black arrows. Figure 1: 8-Puzzle Game - Start/Initial & Goal State The actual state space search commences with the initial state and then for each node the nodes below in the graph are expanded by applying all the possible moves that can be made at each point. Generalizes, an actual heuristic (a good enough algorithm that provides an answer quickly) is used at that point to solve this rather large search problem. The heuristic is applied at each node to estimate how far from the goal state the system is. With a pathfinding exercise, this is rather straight forward as it is known how far the system can travel in each step and the actual distance to the goal can easily be calculated. The 8-puzzle scenario is a bit more difficult though and hence various heuristics such as BFS, the Nilsson score, or the A* algorithm may be used to solve the problem.

2 While evaluating each node in the graph, the heuristic allows the system to estimate how close the state is to the goal. Another aspect that is considered is the actual cost of getting to this point. With pathfinding, an actual movement cost is normally assigned to each square. If the cost is the same, then the cost of each square equals to 1. In scenarios where the system differentiates among different types of terrain (such as moving over grass, water, concrete, sand, rocks, or mud) each type can be associated with a different cost. When analyzing a node, the cost is added up to determine what it took to get to this state. The math is simple as it reflects the sum of the cost of the current node plus all the nodes above it in the graph. Figure 2: 8 Puzzle Game - Edges & State Space generated by 'moving the blank' A* Algorithm - A Brief Discussion Figure 3 is used as the starting point to briefly discuss some of the features of the A* algorithm. One of the major characteristics of the A* algorithm is the maintenance of 2 entities that are labeled as the closed and the fringe lists, respectively. The closed list reflects a record of all the locations that have already been explored/evaluated by the algorithm. The fringe list (sometimes referred to as the open list) records the areas adjacent to those already evaluated locations plus the calculation of the distances traveled from the start with estimated distances to get to the goal. Figure 3: A* Starting Scenario In Figure 3, it is assumed that the current location is referenced via the bright yellow square. So at this point, the bright yellow square is part of the closed list. The light orange squares (8) that are surrounding the yellow one are part of the fringe list as they depict possible options that the algorithm can

3 experiment with. As the path progresses, the closed and the fringe list grow. Figure 4 depicts a GRID with a wall (represented by the gray squares). In this scenario (Figure 4), the path scratches the wall twice. As the gray area depicts a wall, this path is invalid and the route depicted in Figure 5 has to be taken (move around the wall). Figure 4: A* GRID with Wall - Invalid Path Figure 5: A* with Wall - Valid Path The actual heuristic used to evaluate distances via the A* algorithm can be expressed as: f(n) = g(n) + h(n) [Formula 1] In Formula 1, g(n) represents the cost (distance) of the path from the starting point to any vertex n while h(n) reflects the estimated cost from vertex n to the goal. It is common to use methods such as the Euclidean or the Manhattan distance to quantify h(n). Further, the following definitions are normally being made: x 2 = x coordinate of the goal location x 1 = x coordinate of the current location y 2 = y coordinate of the goal location y 1 = y coordinate of current location dx = x 2 - x 1 dy = y 2 - y 1 The actual (Euclidean) distance equals to sqrt(dx 2 + dy 2 ). It has to be pointed out that the A* algorithm is actually fairly simple. As already discussed, the A* algorithm traditionally operates on 2 sets labeled fringe and closed. To reiterate, the fringe set contains the nodes that are candidates to be

4 examined. Initially, the fringe set holds only 1 element, the starting position. The closed set contains the nodes that have already been examined and initially, the closed set is empty. From a graphical perspective, the fringe set represents the frontier while the closed set represents the interior of the visited areas. Each node further holds a pointer to its parent node so that the system can keep track of how the node was found. In the actual code for the algorithm, there is a main loop that repeatedly pulls the best node n from the fringe set (aka the node with the lowest f value) and examines it. If n reflects the goal, the algorithm finishes processing. Otherwise, the node n is removed from the fringe set and added to the closed set. Then, its neighbors n' are scrutinized. A neighbor that is in the closed set has already been evaluated and hence will not be re-examined. A neighbor that is in the fringe set will be scrutinized next if and only if its f value becomes the lowest in the fringe set. Otherwise, the neighbor is added to the fringe set (with its parent set to n). The actual path cost to n' (labeled as g(n') in this example) is set to g(n) + movement-cost(n, n'). 8-Puzzle Game To further discuss the A* algorithm, the 8 puzzle game is revisited. The game was popularized by Sam Loyd in the 1870s. It is played on a 3-by-3 GRID with 8 square blocks labeled 1 through 8 and a blank square (see Figure 1). The blank tile is open so that one can move the other tiles into the gap until the puzzle reaches the goal position (state). There are 362,880 different states that the puzzle can be in and in order to find a solution, the search process has to identify a route through them. From most search positions, the number of edges equals to 2. That implies that the number of nodes in each level of the search (think of a tree structure) equals to 2 d (where d represents the depth). Hence, if the number of steps to solve a particular state equals to 18, a whopping 262,144 nodes are possible just at this level. Simplified, the game state is as simple as representing a list of the 9 squares and what they hold. The rules applied to the game are simple as well. If there is a blank tile either above, below, to the left, or to the right of a given tile, then one can move that tile into the space (see Figure 2). To solve the puzzle, one has to find the path from the start state through the graph down to the goal state. In other words, the goal is to rearrange the blocks so that they are in order. One is only permitted to slide the blocks horizontally or vertically into the blank square. The following diagram shows a sequence of legal moves from an initial board position (left) to the goal position (right) => => => => initial move1 move2 move3 goal As already discussed, the 8 puzzle game is a bit more difficult to solve than the pathfinding example already described in this primer. Anyhow, an A* algorithm based solution to solve the puzzle is presented here. The solution elaborated on in this primer is based on an actual priority queue. In this solution, a state of the game is defined to be (1) the board position, (2) the number of moves made to reach the position, and (3) the previous state. First, insert the initial state (the initial board, 0 moves, and a null previous state) into a priority queue. Then, (1) delete from the priority queue the state with the minimum priority and (2) insert into the priority queue all the neighboring states (those that can be reached in 1 move). Repeat this procedure until the current state reflects the goal state. The success of this approach is tightly coupled to the appropriate choice of a distance/priority function. In this primer, 2 (priority) distance functions are discussed:

5 1. The Hamming function. A function for a given state is represented by the number of blocks in the wrong position plus the number of moves made so far to get to this state. Instinctively, states with a small number of blocks in the wrong position are close to the goal state and states that have been reached using a small number of moves are preferred. 2. The Manhattan function. The distance function for a given state is reflected by the sum of the distances (sum of the vertical and horizontal distance) from the blocks to their goal positions, plus the number of moves made so far to get to this state. To illustrate, the Hamming and the Manhattan function values of the initial state (for the example depicted below) can be expressed as being 5 and 10, respectively initial goal Hamming = 5 Manhattan = 10 One observation that can be made is that in order to solve the puzzle based on a given state on the priority queue, the total number of moves (including those already made) equals to at least its function value (using either the Hamming or Manhattan function). This statement holds true for the Hamming function as each block that is out of place has to move at least once to reach its goal position. In regards to the Manhattan function, the statement is true as each block has to move its Manhattan distance from its goal position. It has to be pointed out that the that the blank tile is omitted when computing the Hamming or Manhattan function values. As a result, as soon as a state is taken out of the queue, the application has not only discovered a sequence of moves from the initial board to the board associated with this state, but actually one that provides the fewest number of moves. While implementing this procedure straight forward, one has to be aware of the fact that states that are corresponding to the same board position may be queued onto the priority queue n times. To prevent the unnecessary exploration of these useless states, when considering the neighbors of a state, the suggestion made is to not insert the neighbor if its board position is the same as the previous state (see diagram below) previous current disallow A* Implementation & Benchmark For this primer, an A* algorithm was implemented in C++ to solve the X-Puzzle game. The implementation supports larger than 8-tile games hence the name X-Puzzle. The solution is capable of using either the Manhattan or Hamming distance to solve the puzzle. The following sequence below shows the moves made to solve a simple 15-puzzle (via the Manhattan distance). When the Manhattan distance was used, the implemented code solved the puzzle in 23 moves and it took seconds to get to the goal state (on an Intel 4core system configured with 8GB RAM). The benchmark was executed 10 times and the reported response time equals to the average over all 10 runs. The CV across the 10 test

6 runs was less than 4% and hence the results are reproducible. On the other hand, executing the same puzzle (same initial state) via the Hamming method also resulted in 23 moves but the execution time increased to seconds. Researching the performance delta revealed that the Manhattan distance visited only a fraction of the vertices that were evaluated while executing the Hamming function. initial move1 move2 move move4 move5 move6 move move8 move9 move10 move move12 move13 move14 move move16 move17 move18 move move20 move21 move22 move goal References 1. Zeng, Church, "Finding shortest paths on real road networks: the case for A*". Geo Science, Dechter, Judea, "Generalized best-first search strategies and the optimality of A*", Malik; Allard, "Aε an efficient near admissible heuristic search algorithm", AI Conference, Goldberg et al, "Efficient Point-to-Point Shortest Path Algorithms", Princeton University, Harder, 8 and 15 Puzzles, University of Waterloo, A* Wiki, A* Online Blogs, 2015

AI: A Modern Approach, Chpts. 3-4 Russell and Norvig

AI: A Modern Approach, Chpts. 3-4 Russell and Norvig AI: A Modern Approach, Chpts. 3-4 Russell and Norvig Sequential Decision Making in Robotics CS 599 Geoffrey Hollinger and Gaurav Sukhatme (Some slide content from Stuart Russell and HweeTou Ng) Spring,

More information

Informed search algorithms. Chapter 4, Sections 1 2 1

Informed search algorithms. Chapter 4, Sections 1 2 1 Informed search algorithms Chapter 4, Sections 1 2 Chapter 4, Sections 1 2 1 Outline Best-first search A search Heuristics Chapter 4, Sections 1 2 2 Review: Tree search function Tree-Search( problem, fringe)

More information

Decision Mathematics 1 TUESDAY 22 JANUARY 2008

Decision Mathematics 1 TUESDAY 22 JANUARY 2008 ADVANCED SUBSIDIARY GCE 4736/01 MATHEMATICS Decision Mathematics 1 TUESDAY 22 JANUARY 2008 Additional materials: Answer Booklet (8 pages) Graph paper Insert for Questions 3 and 4 List of Formulae (MF1)

More information

The number of marks is given in brackets [ ] at the end of each question or part question. The total number of marks for this paper is 72.

The number of marks is given in brackets [ ] at the end of each question or part question. The total number of marks for this paper is 72. ADVANCED SUBSIDIARY GCE UNIT 4736/01 MATHEMATICS Decision Mathematics 1 THURSDAY 14 JUNE 2007 Afternoon Additional Materials: Answer Booklet (8 pages) List of Formulae (MF1) Time: 1 hour 30 minutes INSTRUCTIONS

More information

Analysis of Algorithms, I

Analysis of Algorithms, I Analysis of Algorithms, I CSOR W4231.002 Eleni Drinea Computer Science Department Columbia University Thursday, February 26, 2015 Outline 1 Recap 2 Representing graphs 3 Breadth-first search (BFS) 4 Applications

More information

Decision Mathematics D1 Advanced/Advanced Subsidiary. Tuesday 5 June 2007 Afternoon Time: 1 hour 30 minutes

Decision Mathematics D1 Advanced/Advanced Subsidiary. Tuesday 5 June 2007 Afternoon Time: 1 hour 30 minutes Paper Reference(s) 6689/01 Edexcel GCE Decision Mathematics D1 Advanced/Advanced Subsidiary Tuesday 5 June 2007 Afternoon Time: 1 hour 30 minutes Materials required for examination Nil Items included with

More information

Grade 7/8 Math Circles November 3/4, 2015. M.C. Escher and Tessellations

Grade 7/8 Math Circles November 3/4, 2015. M.C. Escher and Tessellations Faculty of Mathematics Waterloo, Ontario N2L 3G1 Centre for Education in Mathematics and Computing Tiling the Plane Grade 7/8 Math Circles November 3/4, 2015 M.C. Escher and Tessellations Do the following

More information

A binary heap is a complete binary tree, where each node has a higher priority than its children. This is called heap-order property

A binary heap is a complete binary tree, where each node has a higher priority than its children. This is called heap-order property CmSc 250 Intro to Algorithms Chapter 6. Transform and Conquer Binary Heaps 1. Definition A binary heap is a complete binary tree, where each node has a higher priority than its children. This is called

More information

Social Media Mining. Graph Essentials

Social Media Mining. Graph Essentials Graph Essentials Graph Basics Measures Graph and Essentials Metrics 2 2 Nodes and Edges A network is a graph nodes, actors, or vertices (plural of vertex) Connections, edges or ties Edge Node Measures

More information

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92.

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92. Name: Email ID: CSE 326, Data Structures Section: Sample Final Exam Instructions: The exam is closed book, closed notes. Unless otherwise stated, N denotes the number of elements in the data structure

More information

The Goldberg Rao Algorithm for the Maximum Flow Problem

The Goldberg Rao Algorithm for the Maximum Flow Problem The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 }

More information

(Refer Slide Time: 2:03)

(Refer Slide Time: 2:03) Control Engineering Prof. Madan Gopal Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 11 Models of Industrial Control Devices and Systems (Contd.) Last time we were

More information

GCE Computing. COMP3 Problem Solving, Programming, Operating Systems, Databases and Networking Report on the Examination.

GCE Computing. COMP3 Problem Solving, Programming, Operating Systems, Databases and Networking Report on the Examination. GCE Computing COMP3 Problem Solving, Programming, Operating Systems, Databases and Networking Report on the Examination 2510 Summer 2014 Version: 1.0 Further copies of this Report are available from aqa.org.uk

More information

Social Media Mining. Network Measures

Social Media Mining. Network Measures Klout Measures and Metrics 22 Why Do We Need Measures? Who are the central figures (influential individuals) in the network? What interaction patterns are common in friends? Who are the like-minded users

More information

Midterm Practice Problems

Midterm Practice Problems 6.042/8.062J Mathematics for Computer Science October 2, 200 Tom Leighton, Marten van Dijk, and Brooke Cowan Midterm Practice Problems Problem. [0 points] In problem set you showed that the nand operator

More information

Network (Tree) Topology Inference Based on Prüfer Sequence

Network (Tree) Topology Inference Based on Prüfer Sequence Network (Tree) Topology Inference Based on Prüfer Sequence C. Vanniarajan and Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology Madras Chennai 600036 [email protected],

More information

WAN Wide Area Networks. Packet Switch Operation. Packet Switches. COMP476 Networked Computer Systems. WANs are made of store and forward switches.

WAN Wide Area Networks. Packet Switch Operation. Packet Switches. COMP476 Networked Computer Systems. WANs are made of store and forward switches. Routing WAN Wide Area Networks WANs are made of store and forward switches. To there and back again COMP476 Networked Computer Systems A packet switch with two types of I/O connectors: one type is used

More information

Picture Maze Generation by Successive Insertion of Path Segment

Picture Maze Generation by Successive Insertion of Path Segment 1 2 3 Picture Maze Generation by Successive Insertion of Path Segment 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32. ABSTRACT Tomio Kurokawa 1* 1 Aichi Institute of Technology,

More information

DEVELOPMENT OF A VULNERABILITY ASSESSMENT CODE FOR A PHYSICAL PROTECTION SYSTEM: SYSTEMATIC ANALYSIS OF PHYSICAL PROTECTION EFFECTIVENESS (SAPE)

DEVELOPMENT OF A VULNERABILITY ASSESSMENT CODE FOR A PHYSICAL PROTECTION SYSTEM: SYSTEMATIC ANALYSIS OF PHYSICAL PROTECTION EFFECTIVENESS (SAPE) DEVELOPMENT OF A VULNERABILITY ASSESSMENT CODE FOR A PHYSICAL PROTECTION SYSTEM: SYSTEMATIC ANALYSIS OF PHYSICAL PROTECTION EFFECTIVENESS (SAPE) SUNG SOON JANG *, SUNG-WOO KWAK, HOSIK YOO, JUNG-SOO KIM

More information

Graph Theory Lecture 3: Sum of Degrees Formulas, Planar Graphs, and Euler s Theorem Spring 2014 Morgan Schreffler Office: POT 902

Graph Theory Lecture 3: Sum of Degrees Formulas, Planar Graphs, and Euler s Theorem Spring 2014 Morgan Schreffler Office: POT 902 Graph Theory Lecture 3: Sum of Degrees Formulas, Planar Graphs, and Euler s Theorem Spring 2014 Morgan Schreffler Office: POT 902 http://www.ms.uky.edu/~mschreffler Different Graphs, Similar Properties

More information

VISUAL ALGEBRA FOR COLLEGE STUDENTS. Laurie J. Burton Western Oregon University

VISUAL ALGEBRA FOR COLLEGE STUDENTS. Laurie J. Burton Western Oregon University VISUAL ALGEBRA FOR COLLEGE STUDENTS Laurie J. Burton Western Oregon University VISUAL ALGEBRA FOR COLLEGE STUDENTS TABLE OF CONTENTS Welcome and Introduction 1 Chapter 1: INTEGERS AND INTEGER OPERATIONS

More information

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Why? A central concept in Computer Science. Algorithms are ubiquitous. Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

More information

ALGEBRA. sequence, term, nth term, consecutive, rule, relationship, generate, predict, continue increase, decrease finite, infinite

ALGEBRA. sequence, term, nth term, consecutive, rule, relationship, generate, predict, continue increase, decrease finite, infinite ALGEBRA Pupils should be taught to: Generate and describe sequences As outcomes, Year 7 pupils should, for example: Use, read and write, spelling correctly: sequence, term, nth term, consecutive, rule,

More information

Lesson Plan Warehouse Grade 7 Adding Integers

Lesson Plan Warehouse Grade 7 Adding Integers CCSSM: Grade 7 DOMAIN: The Number System Cluster: Apply and extend previous understandings of operations with fractions to add, subtract, multiply, and divide rational numbers. Standard: 7.NS.1: Apply

More information

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8] Code No: R05220502 Set No. 1 1. (a) Describe the performance analysis in detail. (b) Show that f 1 (n)+f 2 (n) = 0(max(g 1 (n), g 2 (n)) where f 1 (n) = 0(g 1 (n)) and f 2 (n) = 0(g 2 (n)). [8+8] 2. (a)

More information

Introduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, 2010. Connect Four

Introduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, 2010. Connect Four March 9, 2010 is a tic-tac-toe like game in which two players drop discs into a 7x6 board. The first player to get four in a row (either vertically, horizontally, or diagonally) wins. The game was first

More information

Utilizing Microsoft Access Forms and Reports

Utilizing Microsoft Access Forms and Reports Utilizing Microsoft Access Forms and Reports The 2014 SAIR Conference Workshop #3 October 4 th, 2014 Presented by: Nathan Pitts (Sr. Research Analyst The University of North Alabama) Molly Vaughn (Associate

More information

Analysis of Micromouse Maze Solving Algorithms

Analysis of Micromouse Maze Solving Algorithms 1 Analysis of Micromouse Maze Solving Algorithms David M. Willardson ECE 557: Learning from Data, Spring 2001 Abstract This project involves a simulation of a mouse that is to find its way through a maze.

More information

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina [email protected]

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina stefano.martina@stud.unifi.it Seminar Path planning using Voronoi diagrams and B-Splines Stefano Martina [email protected] 23 may 2016 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International

More information

MATHEMATICS Unit Decision 1

MATHEMATICS Unit Decision 1 General Certificate of Education January 2008 Advanced Subsidiary Examination MATHEMATICS Unit Decision 1 MD01 Tuesday 15 January 2008 9.00 am to 10.30 am For this paper you must have: an 8-page answer

More information

Graph Theory Problems and Solutions

Graph Theory Problems and Solutions raph Theory Problems and Solutions Tom Davis [email protected] http://www.geometer.org/mathcircles November, 005 Problems. Prove that the sum of the degrees of the vertices of any finite graph is

More information

CS91.543 MidTerm Exam 4/1/2004 Name: KEY. Page Max Score 1 18 2 11 3 30 4 15 5 45 6 20 Total 139

CS91.543 MidTerm Exam 4/1/2004 Name: KEY. Page Max Score 1 18 2 11 3 30 4 15 5 45 6 20 Total 139 CS91.543 MidTerm Exam 4/1/2004 Name: KEY Page Max Score 1 18 2 11 3 30 4 15 5 45 6 20 Total 139 % INTRODUCTION, AI HISTORY AND AGENTS 1. [4 pts. ea.] Briefly describe the following important AI programs.

More information

Lottery Looper. User Manual

Lottery Looper. User Manual Lottery Looper User Manual Lottery Looper 1.7 copyright Timersoft. All rights reserved. http://www.timersoft.com The information contained in this document is subject to change without notice. This document

More information

Strong and Weak Ties

Strong and Weak Ties Strong and Weak Ties Web Science (VU) (707.000) Elisabeth Lex KTI, TU Graz April 11, 2016 Elisabeth Lex (KTI, TU Graz) Networks April 11, 2016 1 / 66 Outline 1 Repetition 2 Strong and Weak Ties 3 General

More information

Inv 1 5. Draw 2 different shapes, each with an area of 15 square units and perimeter of 16 units.

Inv 1 5. Draw 2 different shapes, each with an area of 15 square units and perimeter of 16 units. Covering and Surrounding: Homework Examples from ACE Investigation 1: Questions 5, 8, 21 Investigation 2: Questions 6, 7, 11, 27 Investigation 3: Questions 6, 8, 11 Investigation 5: Questions 15, 26 ACE

More information

Random Map Generator v1.0 User s Guide

Random Map Generator v1.0 User s Guide Random Map Generator v1.0 User s Guide Jonathan Teutenberg 2003 1 Map Generation Overview...4 1.1 Command Line...4 1.2 Operation Flow...4 2 Map Initialisation...5 2.1 Initialisation Parameters...5 -w xxxxxxx...5

More information

Complete Solution of the Eight-Puzzle and the Benefit of Node Ordering in IDA*

Complete Solution of the Eight-Puzzle and the Benefit of Node Ordering in IDA* Complete Solution of the Eight-Puzzle and the Benefit of Node Ordering in IDA* Alexander Reinefeld Paderborn Center for Parallel Computing Waxburger Str. 100, D-33095 Paderborn, Germany Abstract The 8-puzzle

More information

Data Flow Diagram (DFD) Tutorial Written Date : January 27, 2012

Data Flow Diagram (DFD) Tutorial Written Date : January 27, 2012 Written Date : January 27, 2012 What is a data flow diagram (DFD)? Data Flow Diagrams (DFD) helps us in identifying existing business processes. It is a technique we benefit from particularly before we

More information

Data Structure [Question Bank]

Data Structure [Question Bank] Unit I (Analysis of Algorithms) 1. What are algorithms and how they are useful? 2. Describe the factor on best algorithms depends on? 3. Differentiate: Correct & Incorrect Algorithms? 4. Write short note:

More information

Data Structures. Chapter 8

Data Structures. Chapter 8 Chapter 8 Data Structures Computer has to process lots and lots of data. To systematically process those data efficiently, those data are organized as a whole, appropriate for the application, called a

More information

Formulas, Functions and Charts

Formulas, Functions and Charts Formulas, Functions and Charts :: 167 8 Formulas, Functions and Charts 8.1 INTRODUCTION In this leson you can enter formula and functions and perform mathematical calcualtions. You will also be able to

More information

MAX = 5 Current = 0 'This will declare an array with 5 elements. Inserting a Value onto the Stack (Push) -----------------------------------------

MAX = 5 Current = 0 'This will declare an array with 5 elements. Inserting a Value onto the Stack (Push) ----------------------------------------- =============================================================================================================================== DATA STRUCTURE PSEUDO-CODE EXAMPLES (c) Mubashir N. Mir - www.mubashirnabi.com

More information

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

More information

Sum of Degrees of Vertices Theorem

Sum of Degrees of Vertices Theorem Sum of Degrees of Vertices Theorem Theorem (Sum of Degrees of Vertices Theorem) Suppose a graph has n vertices with degrees d 1, d 2, d 3,...,d n. Add together all degrees to get a new number d 1 + d 2

More information

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING CHAPTER 6 CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING 6.1 INTRODUCTION The technical challenges in WMNs are load balancing, optimal routing, fairness, network auto-configuration and mobility

More information

The Richard Pate School. Draft Year 4 Scheme of Work for Scratch

The Richard Pate School. Draft Year 4 Scheme of Work for Scratch The Richard Pate School Draft Year 4 Scheme of Work for Scratch Marcus Gilvear July 2014 (Acknowledgements: Phil Bagge and Duncan Hooper) Re Scratch: This work is licensed under the Creative Commons Attribution-NonCommercial

More information

A Note on Maximum Independent Sets in Rectangle Intersection Graphs

A Note on Maximum Independent Sets in Rectangle Intersection Graphs A Note on Maximum Independent Sets in Rectangle Intersection Graphs Timothy M. Chan School of Computer Science University of Waterloo Waterloo, Ontario N2L 3G1, Canada [email protected] September 12,

More information

5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes.

5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes. 1. The advantage of.. is that they solve the problem if sequential storage representation. But disadvantage in that is they are sequential lists. [A] Lists [B] Linked Lists [A] Trees [A] Queues 2. The

More information

Number Sense and Operations

Number Sense and Operations Number Sense and Operations representing as they: 6.N.1 6.N.2 6.N.3 6.N.4 6.N.5 6.N.6 6.N.7 6.N.8 6.N.9 6.N.10 6.N.11 6.N.12 6.N.13. 6.N.14 6.N.15 Demonstrate an understanding of positive integer exponents

More information

Getting Started in Tinkercad

Getting Started in Tinkercad Getting Started in Tinkercad By Bonnie Roskes, 3DVinci Tinkercad is a fun, easy to use, web-based 3D design application. You don t need any design experience - Tinkercad can be used by anyone. In fact,

More information

Fast Sequential Summation Algorithms Using Augmented Data Structures

Fast Sequential Summation Algorithms Using Augmented Data Structures Fast Sequential Summation Algorithms Using Augmented Data Structures Vadim Stadnik [email protected] Abstract This paper provides an introduction to the design of augmented data structures that offer

More information

TEACHER S GUIDE TO RUSH HOUR

TEACHER S GUIDE TO RUSH HOUR Using Puzzles to Teach Problem Solving TEACHER S GUIDE TO RUSH HOUR Includes Rush Hour 2, 3, 4, Rush Hour Jr., Railroad Rush Hour and Safari Rush Hour BENEFITS Rush Hour is a sliding piece puzzle that

More information

A Review And Evaluations Of Shortest Path Algorithms

A Review And Evaluations Of Shortest Path Algorithms A Review And Evaluations Of Shortest Path Algorithms Kairanbay Magzhan, Hajar Mat Jani Abstract: Nowadays, in computer networks, the routing is based on the shortest path problem. This will help in minimizing

More information

Frans J.C.T. de Ruiter, Norman L. Biggs Applications of integer programming methods to cages

Frans J.C.T. de Ruiter, Norman L. Biggs Applications of integer programming methods to cages Frans J.C.T. de Ruiter, Norman L. Biggs Applications of integer programming methods to cages Article (Published version) (Refereed) Original citation: de Ruiter, Frans and Biggs, Norman (2015) Applications

More information

Grade 7 Mathematics. Unit 5. Operations with Fractions. Estimated Time: 24 Hours

Grade 7 Mathematics. Unit 5. Operations with Fractions. Estimated Time: 24 Hours Grade 7 Mathematics Operations with Fractions Estimated Time: 24 Hours [C] Communication [CN] Connections [ME] Mental Mathematics and Estimation [PS] Problem Solving [R] Reasoning [T] Technology [V] Visualization

More information

Glencoe. correlated to SOUTH CAROLINA MATH CURRICULUM STANDARDS GRADE 6 3-3, 5-8 8-4, 8-7 1-6, 4-9

Glencoe. correlated to SOUTH CAROLINA MATH CURRICULUM STANDARDS GRADE 6 3-3, 5-8 8-4, 8-7 1-6, 4-9 Glencoe correlated to SOUTH CAROLINA MATH CURRICULUM STANDARDS GRADE 6 STANDARDS 6-8 Number and Operations (NO) Standard I. Understand numbers, ways of representing numbers, relationships among numbers,

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

More information

CREATE A 3D MOVIE IN DIRECTOR

CREATE A 3D MOVIE IN DIRECTOR CREATE A 3D MOVIE IN DIRECTOR 2 Building Your First 3D Movie in Director Welcome to the 3D tutorial for Adobe Director. Director includes the option to create three-dimensional (3D) images, text, and animations.

More information

Load balancing Static Load Balancing

Load balancing Static Load Balancing Chapter 7 Load Balancing and Termination Detection Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination detection

More information

Examination paper for MA0301 Elementær diskret matematikk

Examination paper for MA0301 Elementær diskret matematikk Department of Mathematical Sciences Examination paper for MA0301 Elementær diskret matematikk Academic contact during examination: Iris Marjan Smit a, Sverre Olaf Smalø b Phone: a 9285 0781, b 7359 1750

More information

Decimals and Percentages

Decimals and Percentages Decimals and Percentages Specimen Worksheets for Selected Aspects Paul Harling b recognise the number relationship between coordinates in the first quadrant of related points Key Stage 2 (AT2) on a line

More information

Solving Simultaneous Equations and Matrices

Solving Simultaneous Equations and Matrices Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering

More information

Chapter 6: Graph Theory

Chapter 6: Graph Theory Chapter 6: Graph Theory Graph theory deals with routing and network problems and if it is possible to find a best route, whether that means the least expensive, least amount of time or the least distance.

More information

SMART NOTEBOOK 10. Instructional Technology Enhancing ACHievement

SMART NOTEBOOK 10. Instructional Technology Enhancing ACHievement SMART NOTEBOOK 10 Instructional Technology Enhancing ACHievement TABLE OF CONTENTS SMART Notebook 10 Themes... 3 Page Groups... 4 Magic Pen... 5 Shape Pen... 6 Tables... 7 Object Animation... 8 Aligning

More information

Introduction to LAN/WAN. Network Layer

Introduction to LAN/WAN. Network Layer Introduction to LAN/WAN Network Layer Topics Introduction (5-5.1) Routing (5.2) (The core) Internetworking (5.5) Congestion Control (5.3) Network Layer Design Isues Store-and-Forward Packet Switching Services

More information

SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH 31 Kragujevac J. Math. 25 (2003) 31 49. SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH Kinkar Ch. Das Department of Mathematics, Indian Institute of Technology, Kharagpur 721302, W.B.,

More information

Ready, Set, Go! Math Games for Serious Minds

Ready, Set, Go! Math Games for Serious Minds Math Games with Cards and Dice presented at NAGC November, 2013 Ready, Set, Go! Math Games for Serious Minds Rande McCreight Lincoln Public Schools Lincoln, Nebraska Math Games with Cards Close to 20 -

More information

136 CHAPTER 4. INDUCTION, GRAPHS AND TREES

136 CHAPTER 4. INDUCTION, GRAPHS AND TREES 136 TER 4. INDUCTION, GRHS ND TREES 4.3 Graphs In this chapter we introduce a fundamental structural idea of discrete mathematics, that of a graph. Many situations in the applications of discrete mathematics

More information

Load Balancing and Termination Detection

Load Balancing and Termination Detection Chapter 7 slides7-1 Load Balancing and Termination Detection slides7-2 Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination

More information

Recursive Algorithms. Recursion. Motivating Example Factorial Recall the factorial function. { 1 if n = 1 n! = n (n 1)! if n > 1

Recursive Algorithms. Recursion. Motivating Example Factorial Recall the factorial function. { 1 if n = 1 n! = n (n 1)! if n > 1 Recursion Slides by Christopher M Bourke Instructor: Berthe Y Choueiry Fall 007 Computer Science & Engineering 35 Introduction to Discrete Mathematics Sections 71-7 of Rosen cse35@cseunledu Recursive Algorithms

More information

Home Page. Data Structures. Title Page. Page 1 of 24. Go Back. Full Screen. Close. Quit

Home Page. Data Structures. Title Page. Page 1 of 24. Go Back. Full Screen. Close. Quit Data Structures Page 1 of 24 A.1. Arrays (Vectors) n-element vector start address + ielementsize 0 +1 +2 +3 +4... +n-1 start address continuous memory block static, if size is known at compile time dynamic,

More information

Automated Model Based Testing for an Web Applications

Automated Model Based Testing for an Web Applications Automated Model Based Testing for an Web Applications Agasarpa Mounica, Lokanadham Naidu Vadlamudi Abstract- As the development of web applications plays a major role in our day-to-day life. Modeling the

More information

This activity will show you how to draw graphs of algebraic functions in Excel.

This activity will show you how to draw graphs of algebraic functions in Excel. This activity will show you how to draw graphs of algebraic functions in Excel. Open a new Excel workbook. This is Excel in Office 2007. You may not have used this version before but it is very much the

More information

DATA STRUCTURES USING C

DATA STRUCTURES USING C DATA STRUCTURES USING C QUESTION BANK UNIT I 1. Define data. 2. Define Entity. 3. Define information. 4. Define Array. 5. Define data structure. 6. Give any two applications of data structures. 7. Give

More information

Microsoft Access 2010 Overview of Basics

Microsoft Access 2010 Overview of Basics Opening Screen Access 2010 launches with a window allowing you to: create a new database from a template; create a new template from scratch; or open an existing database. Open existing Templates Create

More information

Volume of Pyramids and Cones

Volume of Pyramids and Cones Volume of Pyramids and Cones Objective To provide experiences with investigating the relationships between the volumes of geometric solids. www.everydaymathonline.com epresentations etoolkit Algorithms

More information

Answer: The relationship cannot be determined.

Answer: The relationship cannot be determined. Question 1 Test 2, Second QR Section (version 3) In City X, the range of the daily low temperatures during... QA: The range of the daily low temperatures in City X... QB: 30 Fahrenheit Arithmetic: Ranges

More information

SECTION 2-1: OVERVIEW SECTION 2-2: FREQUENCY DISTRIBUTIONS

SECTION 2-1: OVERVIEW SECTION 2-2: FREQUENCY DISTRIBUTIONS SECTION 2-1: OVERVIEW Chapter 2 Describing, Exploring and Comparing Data 19 In this chapter, we will use the capabilities of Excel to help us look more carefully at sets of data. We can do this by re-organizing

More information

Introduction to the TI-Nspire CX

Introduction to the TI-Nspire CX Introduction to the TI-Nspire CX Activity Overview: In this activity, you will become familiar with the layout of the TI-Nspire CX. Step 1: Locate the Touchpad. The Touchpad is used to navigate the cursor

More information

Search help. More on Office.com: images templates

Search help. More on Office.com: images templates Page 1 of 7 PowerPoint 2010 Home > PowerPoint 2010 Help and How-to > Getting started with PowerPoint Search help More on Office.com: images templates Basic tasks in PowerPoint 2010 Here are some basic

More information

egyptigstudentroom.com

egyptigstudentroom.com UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education *5128615949* MATHEMATICS 0580/04, 0581/04 Paper 4 (Extended) May/June 2007 Additional Materials:

More information

Graph Theory and Complex Networks: An Introduction. Chapter 06: Network analysis

Graph Theory and Complex Networks: An Introduction. Chapter 06: Network analysis Graph Theory and Complex Networks: An Introduction Maarten van Steen VU Amsterdam, Dept. Computer Science Room R4.0, [email protected] Chapter 06: Network analysis Version: April 8, 04 / 3 Contents Chapter

More information

Sequence Diagram Tutorial. From: UML Distilled, Third Edition, Chapter 4 M. Fowler

Sequence Diagram Tutorial. From: UML Distilled, Third Edition, Chapter 4 M. Fowler Sequence Diagram Tutorial From: UML Distilled, Third Edition, Chapter 4 M. Fowler Use Cases and Scenarios A use case is a collection of interactions between external actors and a system In UML, a use case

More information

Building a Bridge to Academic Vocabulary in Mathematics

Building a Bridge to Academic Vocabulary in Mathematics Building a Bridge to Academic Vocabulary in Mathematics AISD Elementary Mathematics Department How Students Develop a Repertoire of Academic English in Mathematics Developed and researched by the AISD

More information

Decision Mathematics D1. Advanced/Advanced Subsidiary. Friday 12 January 2007 Morning Time: 1 hour 30 minutes. D1 answer book

Decision Mathematics D1. Advanced/Advanced Subsidiary. Friday 12 January 2007 Morning Time: 1 hour 30 minutes. D1 answer book Paper Reference(s) 6689/01 Edexcel GCE Decision Mathematics D1 Advanced/Advanced Subsidiary Friday 12 January 2007 Morning Time: 1 hour 30 minutes Materials required for examination Nil Items included

More information

Load Balancing and Termination Detection

Load Balancing and Termination Detection Chapter 7 Slide 1 Slide 2 Load Balancing and Termination Detection Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination

More information

The 2010 British Informatics Olympiad

The 2010 British Informatics Olympiad Time allowed: 3 hours The 2010 British Informatics Olympiad Instructions You should write a program for part (a) of each question, and produce written answers to the remaining parts. Programs may be used

More information

What is Microsoft PowerPoint?

What is Microsoft PowerPoint? What is Microsoft PowerPoint? Microsoft PowerPoint is a powerful presentation builder. In PowerPoint, you can create slides for a slide-show with dynamic effects that will keep any audience s attention.

More information

Vector storage and access; algorithms in GIS. This is lecture 6

Vector storage and access; algorithms in GIS. This is lecture 6 Vector storage and access; algorithms in GIS This is lecture 6 Vector data storage and access Vectors are built from points, line and areas. (x,y) Surface: (x,y,z) Vector data access Access to vector

More information

Excel -- Creating Charts

Excel -- Creating Charts Excel -- Creating Charts The saying goes, A picture is worth a thousand words, and so true. Professional looking charts give visual enhancement to your statistics, fiscal reports or presentation. Excel

More information

Working with Tables: How to use tables in OpenOffice.org Writer

Working with Tables: How to use tables in OpenOffice.org Writer Working with Tables: How to use tables in OpenOffice.org Writer Title: Working with Tables: How to use tables in OpenOffice.org Writer Version: 1.0 First edition: January 2005 First English edition: January

More information

Simplified External memory Algorithms for Planar DAGs. July 2004

Simplified External memory Algorithms for Planar DAGs. July 2004 Simplified External Memory Algorithms for Planar DAGs Lars Arge Duke University Laura Toma Bowdoin College July 2004 Graph Problems Graph G = (V, E) with V vertices and E edges DAG: directed acyclic graph

More information

DM810 Computer Game Programming II: AI. Lecture 11. Decision Making. Marco Chiarandini

DM810 Computer Game Programming II: AI. Lecture 11. Decision Making. Marco Chiarandini DM810 Computer Game Programming II: AI Lecture 11 Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Resume Decision trees State Machines Behavior trees Fuzzy

More information

MEMORY WORK - MATH FACTS 1

MEMORY WORK - MATH FACTS 1 MEMORY WORK - MATH FACTS ADDITION BOARD (aka Strip Board) Addition with Golden Bead materials Addition with Colored Beads To memorize Addition Tables Linear structure of addition Addition Board MATERIALS:

More information

Load Balancing and Termination Detection

Load Balancing and Termination Detection Chapter 7 Load Balancing and Termination Detection 1 Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination detection

More information

Unit 7 Quadratic Relations of the Form y = ax 2 + bx + c

Unit 7 Quadratic Relations of the Form y = ax 2 + bx + c Unit 7 Quadratic Relations of the Form y = ax 2 + bx + c Lesson Outline BIG PICTURE Students will: manipulate algebraic expressions, as needed to understand quadratic relations; identify characteristics

More information