Предложен подход к решению проблемы проверки изоморфности двух графов исходя из анализа их максимально протяженных неразветвляющихся путей.
На его основе предлагается подход и алгоритм решения частного случая задачи поиска в некотором графе A всех подграфов, изоморфных заданному графу B (а именно, поиск только «вписанных» подграфов), а также определяется само понятие «вписанного» подграфа. «Вписанным» подграфом графа A здесь называется такой его подграф, который может быть «приклеен» к другим частям графа A только за счет ребер, инцидентных лишь граничным вершинам его (подграфа) неразветвляющихся путей максимальной длины (при этом граф A может содержать и иные компоненты связности).
Решение частного случая задачи поиска «вписанных» подграфов обобщается для поиска в графе A всех подграфов, изоморфных данному графу-образцу B. Для этого вместо рассмотрения их максимально протяженных неразветвляющихся путей необходимо рассматривать все их ребра.
Предложенные подход и алгоритм применимы: (1) как для ориентированных, так и для неориентированных графов, (2) для графов, содержащих более одной компоненты связности/ сильной связности, (3) для графов, содержащих кратные (множественные) ребра и петли.
-----------
An approach based on maximal non-branching paths analysis to solve graph isomorphism problem is introduced.
An algorithm to solve the particular case of the problem of finding in a some graph A all subgraphs that are isomorphic to given graph B is proposed (only “inscribed” subgraphs can be found this way, not all of them). Here we shall name a subgraph of some given graph A as "inscribed" if (1) this subgraph is "glued" to other parts of A only by edges that connected to those vertices of this subgraph that are begin/ end ones of any max-length non-branching path of it, or (2) this subgraph is a separate connected component of the graph A.
The proposed algorithm of finding “inscribed” subgraphs is expanded to solve a whole problem of finding all (not only “inscribed”) subgraphs of a graph A that are isomorphic to given template graph B. To do so one should consider all edges of these graphs instead of their max-length non-branching paths.
These proposed approach and algorithm may be implemented to: (1) directed or undirected graphs, (2) graphs that have more than one connected components/ strongly connected components, (3) graphs that contain multiple edges and multiple loops.