Two-Phase Hybrid Vertex Classification for Graph Coloring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional vertex coloring techniques are inefficient and take excessively long to complete, limiting processor efficiency in resource assignment for processors with many resources and complex relationships.

Innovation Solution

A two-stage vertex coloring process is employed, where vertices are initially classified based on degree and then reassigned using random value comparisons, allowing for quick color assignment while ensuring constraint satisfaction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional vertex coloring techniques are used, then resource assignment constraints are satisfied, but the processing time becomes excessively long

Engineering Contradiction:
Improveconstraint satisfactionVSAvoidcoloring completion time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the vertex coloring problem into two distinct phases: a first phase that processes vertices based on degree ordering, and a second phase that processes remaining vertices using random value assignment. This segmentation allows each phase to be optimized independently, with the first phase handling high-degree vertices systematically and the second phase efficiently resolving remaining constraints, thereby reducing overall processing time while maintaining constraint satisfaction.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary ordering of vertices by degree before the actual coloring process. By pre-sorting vertices according to their degrees and processing them in this predetermined order during the first phase, the algorithm prepares the data structure in advance to facilitate faster constraint checking and color assignment, reducing the time required for the main coloring operation.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If a simple coloring approach is used, then processing speed is fast, but the complexity of ensuring constraint satisfaction increases

Engineering Contradiction:
Improvecoloring speedVSAvoidconstraint checking complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the constraint satisfaction process into two separate phases with different strategies. The first phase uses degree-based ordering to systematically handle high-degree vertices and their constraints, while the second phase uses random value assignment for remaining vertices. This segmentation simplifies the constraint checking in each phase compared to handling all constraints uniformly, improving overall productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and handles high-degree vertices separately in the first phase using degree-based ordering, removing them from the main constraint satisfaction problem. This extraction isolates the most complex constraint cases, allowing the remaining vertices in the second phase to be processed more simply with random value assignment, thereby reducing overall complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10134355B2Two-phase hybrid vertex classification
Publication Date: 2018.11.20 ADVANCED MICRO DEVICES INC
  • US10134355B2 patent drawing
  • US10134355B2 patent drawing
  • US10134355B2 patent drawing

AI summary

A processor performs vertex coloring for a graph based at least in part on the degree of each vertex of the graph and based at least in part with another coloring approach, such as comparison of random values assigned to the vertices. For each vertex in the graph, a processor determines whether the degree of the vertex is a local maximum; that is, whether the degree of the vertex is greater than the degree of each of its connected vertices. Each vertex having a local-maximum degree is assigned a specified or randomly selected color, and is then omitted from future iterations of the coloring process. After a stop criterion is met, the processor assigns random values to the remaining uncolored vertices and assigns colors based on comparisons of the random values.