Graph Coloring via Random Vertex Ordering and Independent Set Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current techniques for performing graph coloring by computing independent sets are inefficient, especially as data sets increase in size and when used on parallel computing devices, leading to inefficiencies and a need for improved methods.

Innovation Solution

A system and method that categorize graph vertices into independent sets by assigning random numbers to each vertex, comparing them to their neighbors, and adding vertices with higher or lower numbers to separate sets, optimizing the process through hash functions and iterative removal of vertices from consideration, thereby reducing the number of iterations and improving efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If current techniques for graph coloring by computing independent sets are used, then graph coloring can be performed, but the process becomes inefficient as data sets increase in size

Engineering Contradiction:
Improvegraph coloring efficiencyVSAvoiddata set size
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent changes the parameter of vertex ordering by using random number assignments instead of traditional ordering methods. Each vertex is assigned a random number, and vertices are processed in the order of these random numbers, which fundamentally alters the approach to independent set computation and improves scalability with data set size

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent performs preliminary action by assigning random numbers to all vertices before beginning the independent set computation. This pre-processing step establishes a deterministic ordering that guides the subsequent iterative removal of vertices, reducing the number of iterations needed and improving overall efficiency

Inventive Principle:
Principle #10Preliminary action

2Productivity

If current techniques for graph coloring are used on parallel computing devices, then parallel processing is enabled, but inefficiencies are amplified

Engineering Contradiction:
Improveparallel processing efficiencyVSAvoidparallel computing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the graph coloring process into independent phases: random number assignment, iterative vertex removal, and independent set formation. Each phase can be executed independently on different processors, and the segmentation of vertices into multiple independent sets enables parallel processing without increasing complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The algorithm is designed to be self-service in nature, where each vertex independently compares its random number to its neighbors' random numbers and automatically determines its placement in independent sets. This eliminates the need for complex coordination mechanisms in parallel implementations

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9053041B2System, method, and computer program product for performing graph coloring
Publication Date: 2015.06.09 NVIDIA CORP
  • US9053041B2 patent drawing
  • US9053041B2 patent drawing
  • US9053041B2 patent drawing

AI summary

A system, method, and computer program product are provided for categorizing a plurality of vertices of a graph into independent sets. A random number is assigned to each vertex in the graph and the assigned number of each vertex is compared to the assigned numbers each of the neighbors of the vertex, where all vertices in the graph that have an assigned number greater than the assigned numbers of each of their neighbors are added to a first independent set, and all vertices in the graph that have an assigned number less than the assigned numbers of each of their neighbors are added to a second independent set separate from the first independent set.