Team Vertex Jimmy Fifield Nick Marino. Graph Coloring What is the minimum number of colors needed to color every vertex so that no neighboring vertexes.

Slides:



Advertisements
Similar presentations
1. Find the cost of each of the following using the Nearest Neighbor Algorithm. a)Start at Vertex M.
Advertisements

Vertex-Edge Graphs.
Simple Graph Warmup. Cycles in Simple Graphs A cycle in a simple graph is a sequence of vertices v 0, …, v n for some n>0, where v 0, ….v n-1 are distinct,
Graphs Chapter 20 Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013.
Chapter 15 Graph Theory © 2008 Pearson Addison-Wesley. All rights reserved.
All Pairs Shortest Paths and Floyd-Warshall Algorithm CLRS 25.2
DAST 2005 Tirgul 11 (and more) sample questions. DAST 2005 Q.Let G = (V,E) be an undirected, connected graph with an edge weight function w : E→R. Let.
©Brooks/Cole, 2003 Chapter 12 Abstract Data Type.
Section 2.3 Graph Coloring By Katie Lessard & Colleen Raimondi.
Last class Decision/Optimization 3-SAT  Independent-Set Independent-Set  3-SAT P, NP Cook’s Theorem NP-hard, NP-complete 3-SAT  Clique, Subset-Sum,
Depth-first search COMP171 Fall Graph / Slide 2 Depth-First Search (DFS) * DFS is another popular graph search strategy n Idea is similar to pre-order.
Vertex cover problem S  V such that for every {u,v}  E u  S or v  S (or both)
Graphs Chapter 20 Data Structures and Problem Solving with C++: Walls and Mirrors, Frank Carrano, © 2012.
Graph Implementations Chapter 29 Copyright ©2012 by Pearson Education, Inc. All rights reserved.
Prim’s Algorithm and an MST Speed-Up
Depth-First Search Lecture 24 COMP171 Fall Graph / Slide 2 Depth-First Search (DFS) * DFS is another popular graph search strategy n Idea is similar.
CS 2813 Discrete Structures
9.8 Graph Coloring. Coloring Goal: Pick as few colors as possible so that two adjacent regions never have the same color. See handout.
CS112A1 Spring 2008 Practice Final. ASYMPTOTIC NOTATION: a)Show that log(n) and ln(n) are the same in terms of Big-Theta notation b)Show that log(n+1)
Fixed Parameter Complexity Algorithms and Networks.
GUIDSL for GPL. Graph Product Line 1.Review of GPL 2.Demo GUIDSL 3.Introduce Web GUIDSL 4.Introduce Algorithms 5.Java Packages 6.Experiments 7.Results.
Applications of types of SATs Arash Ahadi What is SAT?
Graph Coloring.
Graph Theory Topics to be covered:
1 Joe Meehean.  Log: binary search in sorted array  Linear: traverse a tree  Log-Linear: insert into a heap  Quadratic (N 2 ): your sort from P1 
Flight Itinerary Problem ICS 311 Fall 2006 Matt Freeburg.
CS 200 Algorithms and Data Structures
1 Approximate Algorithms (chap. 35) Motivation: –Many problems are NP-complete, so unlikely find efficient algorithms –Three ways to get around: If input.
ANALYSIS AND IMPLEMENTATION OF GRAPH COLORING ALGORITHMS FOR REGISTER ALLOCATION By, Sumeeth K. C Vasanth K.
1 Graph Coloring: An Overview Graph Coloring Basics Planar/4-color Graphs Applications New Register Allocation Technique.
A graph problem: Maximal Independent Set Graph with vertices V = {1,2,…,n} A set S of vertices is independent if no two vertices in S are.
Packet Forwarding. A router has several input/output lines. From an input line, it receives a packet. It will check the header of the packet to determine.
Graphs. Definitions A graph is two sets. A graph is two sets. –A set of nodes or vertices V –A set of edges E Edges connect nodes. Edges connect nodes.
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
Sec. 5.1: Planarity & Coloring
Graph.
Eulerian Paths and Cycles. What is a Eulerian Path Given an graph. Find a path which uses every edge exactly once. This path is called an Eulerian Path.
CSE 340: Review (at last!) Measuring The Complexity Complexity is a function of the size of the input O() Ω() Θ() Complexity Analysis “same order” Order.
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Representing Graphs Depth First Search Breadth First Search Graph Searching Algorithms.
Weighted Graphs and traveling Salesperson problem
Lecture 11 Graph Algorithms
Packet Forwarding.
Proof Techniques and Chessboard Problems
Minimum Spanning Tree 8/7/2018 4:26 AM
HAMILTONIAN CIRCUIT ALGORITHMS
Data Structures and Algorithms in Parallel Computing
HW05: Graphs and Shortest Paths
Discussion section #2 HW1 questions?
Chapter 4 Review Math Analysis
Intro to NP Completeness
Graph Theory Graph Colorings.
EMIS 8373: Integer Programming
Graphs Chapter 13.
Graph Representation (23.1/22.1)
Trees.
A graphing calculator is required for some problems or parts of problems 2000.
CS 583 Fall 2006 Analysis of Algorithms
Tree -decomposition * 竹内 和樹 * 藤井 勲.
All pairs shortest path problem
Chapter 15 Graph Theory © 2008 Pearson Addison-Wesley.
CS 584 Project Write up Poster session for final Due on day of final
Chapter 15 Graph Theory © 2008 Pearson Addison-Wesley.
Weighted Graphs & Shortest Paths
Classwork Worksheet Homework (day 67) worksheet
Depth-First Search CSE 2011 Winter April 2019.
Euler circuit Theorem 1 If a graph G has an Eulerian path, then it must have exactly two odd vertices. Theorem 2 If a graph G has an Eulerian circuit,
Warm Up – Monday Calculate the Redundancy of the above network.
Lecture 10 Graph Algorithms
Presentation transcript:

Team Vertex Jimmy Fifield Nick Marino

Graph Coloring What is the minimum number of colors needed to color every vertex so that no neighboring vertexes are the same color? NP-Complete problem. Brute force is extremely inefficient as number of colorings increases factorially.

Deletion-Contraction Algorithm Recursive. X(G) = min{ X(G + uv), X(G / uv) } u and v cannot be adjacent vertices.

Sequential Program Graph.java GraphInputReader.java ColoringCore.java ColoringCoreSeq.java ColoringCoreMain.java ColoringSeq.java

Graph Represents a simple graph composed of vertices and edges. Abstracts away the data structure implementation details, Provides a way to perform simple operations on the graph (adding/deleting an edge, contracting two vertices,etc).

GraphInputReader This class takes an input file name in the constructor, and then provides a method to read the file, parse the contents, and create a new Graph object based on the results.

ColoringCore Interface Provides the specifications for a graph coloring solver. There's a single method - run - that takes a Graph as input and returns the chromatic number of that graph.

ColoringCoreSeq Provides a sequential implementation of the deletion-contraction algorithm.

ColoringMain This class takes the command line arguments and a ColoringCoreobject. Input. Timing measurements. Utilizes the ColoringCore to calculate the answer.

ColoringSeq Creates a new sequential core. Starts the main program.

Parallel Program Graph.java GraphInputReader.java ColoringCore.java ColoringCoreSMP.java ColoringCoreMain.java ColoringSMP.java

ColoringCoreSMP

ColoringSMP

Performance Metrics

What We Learned

Future Work