“Enter Group Name” Tyler Atkinson and Dylan Menchetti

Slides:



Advertisements
Similar presentations
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Advertisements

Greed is good. (Some of the time)
Graphs CSC 220 Data Structure. Introduction One of the Most versatile data structures like trees. Terminology –Nodes in trees are vertices in graphs.
IKI 10100: Data Structures & Algorithms Ruli Manurung (acknowledgments to Denny & Ade Azurat) 1 Fasilkom UI Ruli Manurung (Fasilkom UI)IKI10100: Lecture10.
CS 206 Introduction to Computer Science II 03 / 27 / 2009 Instructor: Michael Eckmann.
Graphs Chapter 12. Chapter Objectives  To become familiar with graph terminology and the different types of graphs  To study a Graph ADT and different.
Chapter 8, Part I Graph Algorithms.
CS 206 Introduction to Computer Science II 11 / 07 / 2008 Instructor: Michael Eckmann.
Graphs Graphs are the most general data structures we will study in this course. A graph is a more general version of connected nodes than the tree. Both.
Data Structure and Algorithms (BCS 1223) GRAPH. Introduction of Graph A graph G consists of two things: 1.A set V of elements called nodes(or points or.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 CHAPTER 4 - PART 2 GRAPHS 1.
Management Science 461 Lecture 2b – Shortest Paths September 16, 2008.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
Spring 2010CS 2251 Graphs Chapter 10. Spring 2010CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs.
CS 206 Introduction to Computer Science II 11 / 05 / 2008 Instructor: Michael Eckmann.
Fall 2007CS 2251 Graphs Chapter 12. Fall 2007CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs To.
Backtracking.
GRAPH Learning Outcomes Students should be able to:
May 5, 2015Applied Discrete Mathematics Week 13: Boolean Algebra 1 Dijkstra’s Algorithm procedure Dijkstra(G: weighted connected simple graph with vertices.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Slide 14-1 Copyright © 2005 Pearson Education, Inc. SEVENTH EDITION and EXPANDED SEVENTH EDITION.
1 Excursions in Modern Mathematics Sixth Edition Peter Tannenbaum.
Graph Theory Topics to be covered:
May 1, 2002Applied Discrete Mathematics Week 13: Graphs and Trees 1News CSEMS Scholarships for CS and Math students (US citizens only) $3,125 per year.
Representing and Using Graphs
© 2015 JW Ryder CSCI 203 Data Structures1. © 2015 JW Ryder CSCI 203 Data Structures2.
Topics Paths and Circuits (11.2) A B C D E F G.
CIRCUITS, PATHS, AND SCHEDULES Euler and Königsberg.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
Chapter 14 Section 3 - Slide 1 Copyright © 2009 Pearson Education, Inc. AND.
Grade 11 AP Mathematics Graph Theory Definition: A graph, G, is a set of vertices v(G) = {v 1, v 2, v 3, …, v n } and edges e(G) = {v i v j where 1 ≤ i,
1 Data Structures and Algorithms Graphs. 2 Graphs Basic Definitions Paths and Cycles Connectivity Other Properties Representation Examples of Graph Algorithms:
MAT 110 Workshop Created by Michael Brown, Haden McDonald & Myra Bentley for use by the Center for Academic Support.
Data Structures & Algorithm Analysis lec(8):Graph T. Souad alonazi
Excursions in Modern Mathematics Sixth Edition
Excursions in Modern Mathematics Sixth Edition
Excursions in Modern Mathematics Sixth Edition
EECS 203 Lecture 19 Graphs.
St. Edward’s University
Shortest Path Problems
Data Structures Graphs - Terminology
CSE 2331/5331 Topic 9: Basic Graph Alg.
Csc 2720 Instructor: Zhuojun Duan
Graph theory Definitions Trees, cycles, directed graphs.
Introduction to Graphs
EECS 203 Lecture 20 More Graphs.
Minimum Spanning Trees and Shortest Paths
Introduction to Graphs
Shortest Path Problems
Discrete Maths 9. Graphs Objective
Comp 245 Data Structures Graphs.
Graphs Chapter 13.
Graphs Chapter 11 Objectives Upon completion you will be able to:
Shortest Path.
Graphs.
Shortest Path Problems
ITEC 2620M Introduction to Data Structures
Chapter 15 Graphs © 2006 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
Chapter 15 Graph Theory © 2008 Pearson Addison-Wesley.
Backtracking and Branch-and-Bound
Graphs Chapter 7 Visit for more Learning Resources.
Hamilton Paths and Hamilton Circuits
Applied Combinatorics, 4th Ed. Alan Tucker
3.2 Graph Traversal.
Chapter 14 Graphs © 2011 Pearson Addison-Wesley. All rights reserved.
Motion Planning for a Point Robot (1/2)
Concepts of Computation
Introduction to Graphs
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
Presentation transcript:

“Enter Group Name” Tyler Atkinson and Dylan Menchetti Maze Runner “Enter Group Name” Tyler Atkinson and Dylan Menchetti

Abstract An object (Runner) sought to find a path through a simply-connected maze. Three algorithms(Junction Origination, Wall-Follower, Manhattan Distance) were compared by in junction choices (least to most) to evaluate traversal complexity. This was primarily considered in the sum of steps taken, each algorithm has a minimum growth associated with mandatory solution path traversal, and complexity of each growth was determined by this in addition to each algorithm’s growth of extraneous steps from the solution path.

Introduction A maze runner is only able to see what vertices are adjacent to it and must use this information to find a path between the initial and final vertex in a simply connected maze. We implemented three algorithms and compared which ones made it through in the least amount of steps. Each maze size is four-times larger than the last, excluding large to ‘crazy’ which is fifty-three times larger.

Problem Statement An instance of a runner object seeks to reach the end of the maze. Three different objects will use three different algorithms to solve four different maze-types of varying sizes and complexities, fifty times each for a total of two-hundred runs. The objective is to evaluate the complexity of each algorithm’s ability to solve the maze based on amount necessary steps vs. the actual solution path step-sum. Where G{mS} is a set of graphs at a particular size, V{stepsT} is the steps that were taken by the runner on that graph, V{F} is the set of vertices that compose EF, the edge that leads directly from start position to end position. Complexity is therefore the growth difference between small → medium and medium → large, such that Extraneous Growth(ES) =ESMedium→Large - ESSmall→Medium Therefore, the complexity(C) of each algorithm is the required solution Path calculations (n) plus the portions of extraneous growth steps (eg). C = O(n+ ngd)

Informal Algorithms Junction-Origination - When confronted with a dead-end, the Maze-Runner will return to last junction with an open path. Junction paths are chosen randomly. Wall-Follower - At outset, right or left is selected. The Maze-Runner will always take the right or left hand junction selection, respectively. Manhattan Distance - The Maze-Runner uses its knowledge of the endpoint to approximate the distance between the two. Junction choices are made to shorten this distance.

Defining a Maze A Maze is composed of a directed acyclic graph G(V,E) where V is a vertex (x,y,z) where (x,y) are cartesian coordinates on a given graph and z refers to edge 0 or edge 1. The (x,y) refer to physical coordinates on the graph, while z is a boolean value indicating if the vertex is a wall or not. Each vertex has a degree between 0-4, determined by adjacent vertices with z-type 0 Junctions defined as vertices degree > 2 2 Sets of Edges (E{Wall},E{Path})

Defining the Maze Runner Runner (R) is an object bound by the Maze that is free to move through any vertex of z-type 0. At a junction, a runner is given an array of available vertices, not including those that have already been traversed. R consists of Vertexstart,Vertexend,Vertexcurrent, and Vertexprevious. R is defined by its calculateMove() At degree < 3 all runners perform the same, having only 1 option to move to At degree >= 3 is where each performs differently

Junction-Origination When R encounters a junction, it picks a pseudo-random vertex adjacent to vertexcurrent that R has yet to traverse If R gets stuck with no more adjacent, untraversed vertices, then R backtracks to the previous junction and chooses a new vertex.

Wall Follower On initialization, either right or left is chosen. At a junction, it always chooses the vertex in the chosen direction. If that vertex is either already traversed or a wall, then it rotates itself in the chosen direction, until a vertex in the correct direction is found It also rotates when it is stuck, traveling back the way that it came until it is back at the junction, now facing a different direction then the original visit

Manhattan Distance When R encounters a junction, it calculates the distance from each available vertex to vertexend . Then, it travels to the vertex with the shortest distance and repeats this process for each junction. When it becomes stuck, it backtracks to last junction and picks from the new available points the vertex with the least distance.

Notable Constraints The Maze must be simply-directed or consist of a directed acyclic graph, with no loops or directed cycles. Indicating that there is no way to begin at a particular vertex and follow a directed sequence of edges to loop back to the first vertex. Each runner has limited omniscience, holding knowledge of what direction it is facing and where the end vertex is (without knowing the path to arrive there).

Context Our implementation of a Maze along with solving algorithms is directly associate with graph theory, and understood through the vast contributions to the field. As far backs a Euler’s first theory in 1736, to more recent implementations concerning robotic pathfinding (“MicroMouse” competitions) and “Marangoni Flow” implementations using surface tension and pH gradients.

Experimental Procedure Implement the 3 algorithms as separate runner objects Generate 200 mazes of varying size (50 for small/medium/large/crazy) Small: 51x51 verticies Medium: 101x101 verticies Large: 201x201 verticies Crazy: 1467x1467 verticies Let the runners traverse each maze, recording how many steps were taken Compare difference (steps taken vs. solution edge length) for each maze vs. the next maze size and find the difference in growth to evaluate complexity.

Results and Conclusions(Graphical Representation)

Results and Conclusions(Graphical Representation) Ratio vs Size with the Crazy size included

Results and Conclusions(Graphical Representation) Ratio vs Size with the Crazy size excluded

Results and Conclusions We found that Junction Origination performed at complexity O(n+n0.402153001) Wall Follower Left performed at complexity O(n +n0.845227087) and Wall Follower Right performed at complexity O(n + n0.530961117) Manhattan distance performed at complexity O(n+n00.025354306). We found that each algorithm performed linearly, despite Manhattan distance traversing less steps than the other 3 on almost every maze. Each responded to increasing maze size and overall linear complexity.

Future Work GPS Navigation Systems Robotics Modeling of information and processes (network) Any application that involves relationships between multiple points across a graphical implementation stand to benefit from solving algorithms; these can consist in a variety of the science, such as the representations of molecular structures or as top-level as regional association and importance concerning conservation efforts.

Questions?

Exam Questions What is a notable constraint for the Maze? ( The maze must be simply connected, or a Directed Acyclic Graph) What method differentiates each algorithm?(calculateMove) What are the two sets of edges that define the maze? (0 or 1, where 0 is a traversable path and 1 is a wall) What are the differences in degrees 0-4(0: No available vertices, 1: One non-wall Vertex, 2: Two non-wall Vertice, 3: Three non-wall Vertex, 4: Four non-wall Vertex) What type of graph is the maze composed of? (Directed Acyclic)