Deep Learning Graph Search Using Topological Sorting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Deep learning model graph profiling overheads increase significantly due to high time complexity in listing all paths and confirming edge inclusion, making it difficult to complete graph searches within polynomial time as the number of vertices and edges grows.
Innovation Solution
A method and apparatus that utilize topological sorting and profile-related information to minimize profiling overheads by initializing profile-related information for vertices, deriving profile information based on predecessor vertices and incoming edge information, and updating attribute information to output path information efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If all paths from starting point to ending point are listed to measure vertex and edge costs, then complete profiling information is obtained, but time complexity becomes O(V!) making graph search impossible within polynomial time
Solution Approach 1:
The patent extracts only the necessary profiling information by tracking edge inclusion status rather than enumerating all paths. It uses a profiled edge list L(Vi) for each vertex to record which edges have been searched, extracting minimal sufficient data to determine whether all edges are covered without computing complete path listings.
Solution Approach 2:
The patent changes the problem dimension from path-based enumeration to edge-based tracking. Instead of working in the path space (which has factorial complexity), it transforms to edge space by maintaining profiled edge lists that track coverage status, reducing the problem to polynomial time complexity O(V+E).
2Measurement precision
If complete path enumeration is performed to confirm edge inclusion, then accurate edge cost measurement is achieved, but the number of operations increases factorially with graph size
Solution Approach 1:
The patent implements self-service by having each vertex maintain its own profiled edge list L(Vi) that automatically tracks which incoming edges have been searched. When a vertex is visited during graph search, it autonomously updates its edge list by marking the incoming edge as searched, eliminating the need for external path enumeration to track edge coverage.
Solution Approach 2:
The patent changes the state representation from complete path listings to compact edge coverage indicators. Each vertex stores a profiled edge list that is a compact representation of edge coverage status, transforming the problem from managing exponential path data to managing polynomial-size edge state information.
3Measurement precision
If profile information is derived for each vertex based on predecessor vertices and incoming edges, then accurate path information is obtained, but computing overhead increases with graph complexity
Solution Approach 1:
The patent performs preliminary action by pre-initializing profile-related information for all vertices before graph search begins. Each vertex is pre-configured with an empty profiled edge list, and the topological sort order is pre-computed, allowing the graph search to proceed efficiently by simply updating these pre-prepared data structures during traversal.
Solution Approach 2:
The patent uses copying by having each vertex maintain a copy of edge coverage information specific to its incoming edges. Instead of sharing a single global path list, each vertex has its own profiled edge list L(Vi) that is a localized copy of the relevant edge coverage data, enabling independent and parallel processing of different graph regions.
Data Source
AI summary
A method of searching a graph of a deep learning model includes initializing profile-related information added to attribute information of each of vertices constituting the graph; performing topological sorting on the vertices and searching for a corresponding vertex in order of topological sort; deriving, when the search is completed, profile-related information of the corresponding vertex on the basis of profile-related information of a predecessor vertex of the corresponding vertex and incoming edge information of the corresponding vertex; updating attribute information of the corresponding vertex; and outputting path information when all edges different from each other constituting the graph are searched on a path from a starting point of the graph to the corresponding vertex. With a graph search using a proposed data structure, the minimum number of times of execution including edges to be searched and a path at this point are obtained within a polynomial time.


