Directed Graph Cycle Removal via Integer Vertex Assignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Directed graphs representing interdependencies in software applications and digital circuits often lead to infinite loops due to cycles, which can cause applications to fail or produce inaccurate results, and existing methods for breaking these cycles introduce inaccuracy or inefficiency.

Innovation Solution

A method for determining whether a directed graph contains cycles and identifying a subset of edges to remove, minimizing the cost of removal, by assigning integer values to vertices and using binary variables to determine which edges to break, thus rendering the graph cycle-free with minimal impact on accuracy or performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cycles are broken by removing dependencies in directed graphs, then infinite loops are eliminated and application stability is improved, but measurement precision and analysis accuracy deteriorate

Engineering Contradiction:
Improveapplication stabilityVSAvoidanalysis accuracy
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent extracts and removes specific edges (dependencies) from the directed graph that form cycles, while preserving as much of the original graph structure as possible. By selectively removing only the necessary edges to break cycles rather than redesigning the entire system, the patent eliminates infinite loops while maintaining the accuracy of remaining dependencies.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the state of edges in the graph by assigning binary variables (0 or 1) to represent whether each edge should be removed or kept. This parameter transformation allows the system to systematically evaluate and select which edges to remove to break cycles while minimizing the impact on analysis accuracy.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If more edges are removed from the graph to ensure cycle-free structure, then reliability is improved, but loss of information increases

Engineering Contradiction:
Improvecycle-free structureVSAvoiddependency information
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent converts the harmful effect of cycles (infinite loops) into a benefit by using the cycle detection and breaking process to systematically identify and remove only the minimal necessary edges. This approach transforms a potentially information-lossy operation into a precise, controlled process that preserves maximum dependency information while ensuring cycle-free structure.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Solution Approach 2:

Instead of removing all possible edges or completely redesigning the dependency graph, the patent applies partial action by removing only the specific edges necessary to break cycles. This minimal intervention approach eliminates the harmful infinite loops while preserving the majority of the original dependency information and graph structure.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of operation

If automated methods are used to break cycles, then ease of operation is improved, but device complexity increases

Engineering Contradiction:
Improveautomated cycle breakingVSAvoidalgorithm complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements self-service by enabling the system to automatically detect cycles and determine which edges to remove without requiring manual intervention. The algorithm autonomously analyzes the directed graph, identifies cyclic dependencies, and selects edges for removal based on predefined criteria, making the process easy to operate despite the underlying computational complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces binary variables as intermediaries between the graph structure and the cycle-breaking decision process. These variables serve as a mediator that systematically translates the complex problem of cycle detection and edge selection into a solvable optimization problem, managing the algorithmic complexity while maintaining ease of operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9176732B2Method and apparatus for minimum cost cycle removal from a directed graph
Publication Date: 2015.11.03 ORACLE INT CORP
  • US9176732B2 patent drawing
  • US9176732B2 patent drawing
  • US9176732B2 patent drawing

AI summary

Implementations of the present disclosure involve a system and/or method for minimum cost cycle removal from a directed graph. The system determines if a provided graph contains any cycles by assigning each vertex an integer value and comparing the integer values of vertices connected by an edge. When the value of a starting vertex is greater than an ending vertex, a cycle is present. The system then determines which edges may be removed in order to minimize the cost of breaking the cycle. The system generates a linear cost function that is equal to the sum of a cost to remove an edge multiplied by a corresponding binary variable. Constraints are generated to ensure that the result does not have any cycles. The system then solves for the minimum of the linear cost function by utilizing the constraints. The value of the binary variables may then be used to determine which edges to remove.