How Many People Does it Take to…: A Parallel Approach to the Party Problem.

Slides:



Advertisements
Similar presentations
Lecture 19: Parallel Algorithms
Advertisements

Graphs COP Graphs  Train Lines Gainesville OcalaDeltona Daytona Melbourne Lakeland Tampa Orlando.
Tutorial 6 of CSCI2110 Bipartite Matching Tutor: Zhou Hong ( 周宏 )
3.3 Spanning Trees Tucker, Applied Combinatorics, Section 3.3, by Patti Bodkin and Tamsen Hunter.
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.
Edited by Malak Abdullah Jordan University of Science and Technology Data Structures Using C++ 2E Chapter 12 Graphs.
 Graph Graph  Types of Graphs Types of Graphs  Data Structures to Store Graphs Data Structures to Store Graphs  Graph Definitions Graph Definitions.
ITEC200 – Week 12 Graphs. 2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study.
Asymmetric Ramsey Properties of Random Graphs involving Cliques Reto Spöhel Joint work with Martin Marciniszyn, Jozef Skokan, and Angelika Steger TexPoint.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Introduction to Graphs
Introduction to Graphs What is a Graph? Some Example applications of Graphs. Graph Terminologies. Representation of Graphs. –Adjacency Matrix. –Adjacency.
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.
Shortest Path Problems Directed weighted graph. Path length is sum of weights of edges on path. The vertex at which the path begins is the source vertex.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
This material in not in your text (except as exercises) Sequence Comparisons –Problems in molecular biology involve finding the minimum number of edit.
Prof. Bart Selman Module Probability --- Part e)
Graphs G = (V,E) V is the vertex set. Vertices are also called nodes and points. E is the edge set. Each edge connects two different vertices. Edges are.
Fall 2007CS 2251 Graphs Chapter 12. Fall 2007CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs To.
Graph G is shown: And 7 of its subgraphs are: How many of these subgraphs are induced?
4/17/2017 Section 8.5 Euler & Hamilton Paths ch8.5.
ASC Program Example Part 3 of Associative Computing Examining the MST code in ASC Primer.
Graph Operations And Representation. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Math in Our World Section 4.3 Base Number Systems.
Linear Systems Two or more unknown quantities that are related to each other can be described by a “system of equations”. If the equations are linear,
Solving Systems of Equations by matrices
MCS312: NP-completeness and Approximation Algorithms
Multiplying Whole Numbers and Decimals Lesson 2-2.
WAES 3308 Numerical Methods for AI
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
Graphs Chapter 12.
Chapter 1 Section 1.1 Introduction to Matrices and systems of Linear Equations.
Lecture 10: Graphs Graph Terminology Special Types of Graphs
TCP Traffic and Congestion Control in ATM Networks
Graph Coloring Solution in a Deterministic Machine The deterministic solution to coloring problem uses these steps to assign colors to vertices: 1- Given.
Data Structures & Algorithms Graphs
Minimum Spanning Trees CS 146 Prof. Sin-Min Lee Regina Wang.
Solving Inequalities by adding or subtracting, checking the inequality & graphing it!! This is so easy you won’t even need one of these!!!
Fraction, Decimal, Percent Review Including Prime Factorization and Order of Operations I can generate equivalent FRACTIONS, DECIMALS, and PERCENTS using.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
Graphs A graphs is an abstract representation of a set of objects, called vertices or nodes, where some pairs of the objects are connected by links, called.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
Data Structures & Algorithms Graphs Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
Graphs 황승원 Fall 2010 CSE, POSTECH. 2 2 Graphs G = (V,E) V is the vertex set. Vertices are also called nodes and points. E is the edge set. Each edge connects.
GRAPHS. Graph Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component, spanning tree Types of graphs: undirected,
Prims Algorithm for finding a minimum spanning tree
Slope of a Line Slope Slope describes the slant or direction of a line.
© Copyright 2012 by Pearson Education, Inc. All Rights Reserved. 1 Chapter 22 Graphs and Applications.
Spanning Trees Alyce Brady CS 510: Computer Algorithms.
A Computational Approach to Ramsey Theory Stephan Krach, David Toth, and Michael Bradley Merrimack College, North Andover, MA Introduction The Party Problem.
Representing Graphs Depth First Search Breadth First Search Graph Searching Algorithms.
Graph Representations
Lecture 19: CONNECTIVITY Sections
Topological Sort In this topic, we will discuss: Motivations
Computing Connected Components on Parallel Computers
Matrix Representation of Graph
Bipartite Graphs What is a bipartite graph?
Applied Combinatorics, 4th Ed. Alan Tucker
Applied Combinatorics, 4th Ed. Alan Tucker
Spanning Trees Discrete Mathematics.
Based on slides by Y. Peng University of Maryland
Search Related Algorithms
Isomorphism in GRAPHS.
ConcepTest 19.6a Magnetic Force on a Wire I
Lecture 10: Graphs Graph Terminology Special Types of Graphs
Chapter 9 Graph algorithms
Concepts of Computation
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:

How Many People Does it Take to…: A Parallel Approach to the Party Problem

The Party Problem How many people need to attend a party to guarantee that there is group of m people who all know each other or a group of n people who are all complete strangers? R(m, n) We focus on R(m, m)

What’s R(3, 3)? Must be at least 3! If we use red ropes and blue ropes to represent know/don’t know… Volunteers! 4 groups of 3, use these ropes (hand them out) Group 1 Group 2 Group 3 Group 4

3 Not Right? Try 4! How many hands do you have? How much rope? How tangled can I get you? Fun to visualize Go 2D using graphs Vertices Edges

Terminology Complete Graph K n Subgraph Edges in K n = (n*(n-1))/2 Why?

Showing R(3, 3) = n Must show every possible graph with n vertices contains red or blue K 3 How many graphs do we need to check to show R(3,3) = n? n vertices → (n*(n-1))/2 edges, each w/2 choices (red or blue) so 2 (n*(n-1))/2 graphs If n = 3...

If R(3,3) = 5... Must check all graphs with 5 vertices... … unless we find one without monochromatic K 3 Can skip isomorphisms, but for this class, we won’t worry about that.

Can you find a counter example or is R(3,3) = 5?

R(3,3) ≠

Known Bounds on R(m, n) [1] n m

Our Problem: R(5,5) = ? 43 ≤ R(5,5) ≤ 49 We’ll try to show R(5, 5) ≥ 46. Test every graph on 45 vertices. If any graph has no red K 5 AND no blue K 5, then stop: R(5, 5) > 45 Otherwise R(5, 5) ≤ 45 How do we test a graph?

Testing a Graph Represent a graph with adjacency matrix. Systematically generate sets of 5 vertices until we find a set {a, b, c, d, e} such that matrix[a][b] = matrix[a][c] = matrix[a][d]… = matrix[d][e] or we run out of sets. If we find such a set, the graph has a red or blue K5. Stop. Otherwise, the graph has neither a red nor blue K5.

Testing a Graph Represent a graph with adjacency matrix Do we need the diagonal? Do we need the information below the diagonal?

What’s Necessary? Do we need the information on the diagonal? Do we need the information below the diagonal? Turn it into a one-dimensional array for ease of working with CUDA as shown:

Working with the Flattened Matrix Viewing each slot as a digit in a binary number, easy to cycle through all graphs – Start with all zeros – Add one (and do carries as necessary) to move to next graph – At all ones, done – Easy to divide search space for parallel

Working with the Flattened Matrix How do we convert 2D array subscripts to 1D array subscripts?

References [1] S. P. Radziszowski. (Originally published July 3, Last updated August 4, 2009). Small Ramsey Numbers. The Electronic Journal of Combinatorics. DS1.10. [Online]. Available: pdf. Accessed 5/11/10.