1. Introduction
The beginning of the study of intractable problems is associated with the possibility of eliminating enumeration to find the optimal solution and create a polynomial algorithm. In the case of an exponential number of variants of solutions, the exhaustive algorithm does not allow one to find the optimal solution in an acceptable time and becomes intractable or even unsolvable. The efficiency of finding a solution and the complexity of the algorithm are estimated based on the solution time, limited by a function of the size of the problem. In discrete mathematics, two classes of problems are considered: the NP class of all exhaustive problems and the class P of exhaustive problems solvable in polynomial time (in classical terminology, with a Turing machine). In the NP class, typical (NP-complete) problems that set the “standard” of complexity are distinguished. Any problem from NP reduces polynomially to an NP-complete problem [
1].
In [
2], using the examples of the simple max cut, node cover, and directed Hamiltonian path problems, it was shown that a number of NP-complete problems remain NP-complete even when their domains are substantially restricted. In [
3], a special class of indefinite quadratic programs with simple constraints and integer data was proposed. It was shown that the problem of checking that a given feasible solution is not a local minimum (or that the objective function is not bounded from below on the set of feasible solutions) in this class is NP-complete. In [
4] some new graph problems (the optimal linear cut arrangement, optimal directed tree arrangement and arrangements on a grid) were added to the list of known NP-complete problems. Despite the significant amount of work on NP-completeness in the past years, research on this topic remains relevant. This also applies to graph problems. Among the modern approaches are the following. To study such NP-complete problems as the min dominating set, max independent set, max clique, etc., the effectiveness and ineffectiveness of all nodes in the given graph are computed in [
5]. The use of modern methods and capabilities of computer science for solving well-known graph NP-complete problems should be noted. For example, a new iteration-parallel-based method was been used for reconfigurable computer systems [
6]. Graph-theoretic intractable problems are also common in application areas. For example, the study of a hierarchical subsystem decomposition problem with a genetic algorithm allows for a better understanding of large-scale software systems [
7].
For solving NP-complete problems, it is customary to define subclasses of graphs for which solvability conditions are possible. Another approach is the formulation of particular problems with additional restrictions [
8,
9,
10]. NP-complete problems are explored in various subject areas to find solutions to applied problems [
11,
12,
13].
The prospects and significance of research related to fractal sets can be assessed by means of regular conferences and periodicals. For example, the magazine
Chaos, Solitons & Fractals is entirely devoted to this topic [
14,
15,
16]. This allows us to speak about the range of model problems based on fractal sets. Among these, problems and models have been distinguished, in which fractal sets are presented as self-similar (fractal) graphs of large dimensions. In addition, fractal graphs often act as models of structures of complex multielement systems such as communication networks. Research is carried out in three main areas: the recognition of fractal graphs, the properties and characteristics of fractal graphs, and multicriteria optimization problems.
Self-similar graphs are a subclass of prefractal graphs. Various authors have introduced independent definitions of self-similar graphs and have called them families. They have considered special cases of families of self-similar graphs, such as Farey graphs, 2-dimensional Sierpiński gasket graphs, Hanoi graphs, modified Koch graphs, Apollonian graphs, pseudofractal scale-free webs, fractal scale-free networks, etc. [
17,
18,
19]. In our terminology, the graphs of these families are noncanonical prefractal graphs, for which special generation conditions are specified.
Prefractal graphs [
20,
21,
22] represent a relatively new subclass of large dynamic graphs [
23,
24,
25]. With large prefractal graphs, it is possible to build graph-theoretic models of the structure of social networks and solve various optimization problems on them [
26,
27,
28]—finding the shortest paths, highlighting subgraphs, multicriteria optimization, etc. Separate tasks include the visualization of a dynamic graph and the generation of a sequence of a dynamic graph with the preservation of characteristics and properties, including the stability of solutions when moving through the sequence [
29,
30].
The concepts of fractal and prefractal graphs should be considered separately. Since fractal graphs are infinite, more research is required, the result of which should be methods of visual display, the storage of information about the structure of a fractal graphs, the possibility of compressing this information, etc. At the same time, a fractal graph is a continuation of a prefractal graph. On the other hand, a sequence of prefractal graphs is a dynamic graph. This direction also requires additional study.
In this paper, attention is paid to the class of prefractal graphs, as graphs with self-similar properties. A flexible procedure for generating prefractal graphs allows one to combine in this class families of self-similar graphs, for which different authors introduce separate generation rules. As mentioned above, such families belong to noncanonical prefractal graphs.
Figure 1 shows noncanonical
(a) and canonical
(b) prefractal graphs. A noncanonical prefractal graph (a) corresponds to the Sierpinski triangle in the terminology of self-similar graphs.
It should be noted that the first studies of Sierpinski carpets were carried out back in the 1990s [
31,
32]. In those publications, geometric objects were considered as one of the types of fractals [
33]. Later, in the 2000s, publications appeared offering definitions of Sierpinski graphs from the classical point of view, when a graph is given sets of vertices and edges [
34,
35,
36]. Recently, researchers have proposed a uniform definition of Sierpinski graphs [
37,
38]. As mentioned above, Sierpinski graphs belong to the class of prefractal graphs, and for which specific generation rules are given, that is, Sierpinski graphs are also prefractal graphs. All results obtained for Sierpinski graphs apply to the corresponding type of prefractal graphs, including optimization problems—finding the shortest paths, Hamiltonian subgraphs, coloring, etc. [
39,
40,
41].
Sierpinski graphs generated by a triangle (complete 3-vertex graph) or square (complete 4-vertex graph or 4-vertex cycle) are often considered. Following the rules for generating a prefractal graph, both simple graphs with 3–4 vertices and complex graphs with a large number of vertices and connections can act as a basis, where it is possible to specify the preservation of the edge adjacency or to specify an arbitrary adjacency. In the case of weighing a prefractal graph, a similarity coefficient is set, which changes the weights of the edges at each step. The following are some commonly used definitions of prefractal graphs.
The generally accepted definitions and notation
for graphs are used [
42,
43]. Most of the definitions of a class of prefractal graphs are shown in [
44,
45]. A seed is a connected graph
with unlabeled vertices
. Seeds—also called graphlets—are small connected non-isomorphic induced subgraphs of a large graph or network [
46,
47,
48]. Graphlets were first used to design highly sensitive measures of network local structural similarities [
49]. However, graphlets are used more often in specific formulations of problems; therefore, in this work, a general definition of a seed is used.
A prefractal graph is denoted as , where is the set of vertices, and is the set of edges. In what follows, a simplified notation is used for known (canonical) prefractal graphs . In the process of constructing a prefractal graph, a trajectory is formed . The graph constructed at step is called a prefractal graph of rank . The new edges of the graph are the edges of rank , and the remaining edges are the old edges of the rank .
As
, the graph
is fractal. The first mentions of fractal graphs can be found in [
50]. A fractal graph, like a fractal, is an infinite object. For a fixed value of rank
, a pre-fractal graph is considered. For example, as shown above for
the graph
is considered.
Figure 2 shows an example of replacing the vertices of a graph
with a full 3-vertex seed
with an arbitrary adjacency of old edges: (a) small dashed circles outline the vertices replaced by the seed; (b) the middle dashed circles outline the seeds that replace the vertices; (c) old edges of the graph are marked with bold lines.
The essential characteristics of a prefractal graph
are the number of its vertices (1) and edges (2).
where
is the number of vertices of seed
.
where
is the number of edges of seed
.
This article explores some NP-complete problems in the class of prefractal graphs and conditions for their solvability for particular statements. The purpose of this work is to lay the foundations for creating rules for determining conditions for the polynomial solvability of problems on prefractal graphs, and also to acquaint readers with these kinds of graphs as prefractal graphs.
Further, we present new theorems for particular problems in the class of prefractal graphs. The classical formulations of intractable problems are taken from [
1].
2. Particular Problems in the Class of Prefractal Graphs
2.1. Subgraph Isomorphism
INSTANCE: Graphs , .
QUESTION: Does contain a subgraph isomorphic to ?
An algorithm for the minimal numbering of the vertices is proposed to formulate and prove the theorem on the question of isomorphism. Let prefractal graph be generated by a complete seed, preserving the adjacency of the old edges.
Figure 3 shows a prefractal graph
generated by a 4-vertex seed—a complete graph where old edges are adjacent. The bold lines mark the edges of the seed of the first rank, and the dashed circles outline the seed of the second and third ranks. Following Algorithm 1 (NUM), the vertices of the prefractal graph
are numbered by
.
Algorithm 1 Algorithm for the Minimal Numbering of the Vertices (NUM) |
. by a number . of the first rank with numbers . of the second rank is numbered, which also belongs to the seed . Sequentially number the remaining vertices of , with numbers from the set different from the already numbered vertices. for to do: . At the output of step , one vertex of the seed of the rank is numbered, which also belongs to the seed . Sequentially number the remaining vertices of , with numbers from the set different from the already numbered vertices. |
Theorem 1. Algorithm 1 enumerates the vertices of the prefractal graph generated by the complete seed with minimal numbers, while preserving the adjacence of the old edges.
Proof of Theorem 1. Since the seed is a complete graph, the minimum possible number for numbering the vertices is at least . At the first step, the vertices of the graph or, in another way, the seed of the first rank are numbered with . In the second step, we consider a graph in which the vertices are already numbered. Each vertex of is included in only one seed of the second rank , due to the preserving of the adjacency of the old edges of the first rank. The vertices common for and are already numbered, that is, in each seed one vertex is numbered with a number from . Then the remaining vertices of are numbered differently from those already numbered in . Since the seed is a complete graph, the vertices of can be numbered at least with . At the following steps the order of numbering is repeated, in each seeds , are added. Since the added seed is a complete graph, the minimum possible number for numbering the vertices of is at least . Furthermore, the preservation of the adjacence of the old edges of guarantees the numbering of the vertices, the newly added seeds, by numbers 1 + (. □
Consequence 1. Algorithm 1 enumerates the vertices of a prefractal graph, the adjacency of the old edges of which is preserved, no more thannumbers.
Theorem 2. Any two prefractal graphsandare isomorphic if the adjacence of the old edges is preserved, the seeds, that generate them are complete graphs, and.
Proof of Theorem 2. Following the definition of isomorphism of two graphs, it is necessary to set a one-to-one mapping such that any two vertices and of are adjacent if and only if the vertices and are adjacent in . In other words, if there is an edge between two vertices in , then there is an edge in .
Seeds , and, accordingly, graphs , are isomorphic since they are complete graphs according to the conditions of the theorem. Using Algorithm 1, the vertices of and are numbered with the minimum number .
Next, we consider the graphs , of the second rank in the trajectory . Seeds of the first rank are isomorphic due to the isomorphism and . Seeds of the second rank are isomorphic due to the isomorphism and . Thus, for any edge between a pair of vertices in , there is an edge between a pair of vertices in that is confirmed by the numbering of the vertices of both graphs.
The adjacency of the old edges in , and the generation by complete -vertex seeds in the trajectory provides, due to isomorphism and , the isomorphism of prefractal graphs. In other words, at each step of the trajectory , isomorphic seeds are added to the isomorphic graphs , . □
Consequence 2. Any two prefractal graphs, are isomorphic in the trajectory, if the adjacency of the old edges is preserved, and the seeds that generate them are complete-vertex graphs.
Theorem 2 deals with unweighted prefractal graphs. In the case of prefractal graphs weighted by the similarity coefficient, we will talk about interval isomorphism when the weights of two compared edges lie on the same interval.
A prefractal graph is called weighted if a real number is assigned to each of its edges , where is the rank of the edge, , .
Consequence 3. Any two weighted prefractal graphs are interval isomorphic if the adjacency of the old edges is preserved; the seeds that generate them are complete n-vertex graphs.
2.2. Degree Constrained Spanning Tree
INSTANCE: Graph , positive integer .
QUESTION: Is there a spanning tree for in which no vertex has degree larger than ?
An algorithm for finding a spanning tree is proposed to formulate and prove the theorem on the degree constrained spanning tree. Let prefractal graph be generated with an arbitrary adjacency of the old edges.
As a procedure, instead of Prim’s algorithm, it is possible to use any other known algorithms for finding a spanning tree on a graph.
Figure 4 shows a prefractal graph
generated by the 4-vertex seed—a complete graph, the old edges of which are not adjacent. At the first step of the algorithm (
Figure 4a) spanning trees of the seeds of the third rank are selected, at the second step (
Figure 4b) the spanning trees of the second rank seeds are selected. At the third step (
Figure 4c), the spanning tree is selected on the graph
, which corresponds to the selection of the spanning tree of the entire prefractal graph
.
Theorem 3. Algorithm 2 finds the spanning tree of the prefractal graph.
Algorithm 2 Algorithm for Finding a Spanning Tree (sTREE) |
Input: prefractal graph . Output: spanning tree of . for to 1 do: for to do: . For each seed find a spanning tree using Prim’s procedure. 2. At the output of step , spanning trees for each seed are selected. Selecting all spanning trees corresponds to the spanning tree of the prefractal graph . Prim’s Procedure. Procedure for Finding a Spanning Tree (MST) Input: graph . Output: spanning tree of . |
Proof of Theorem 3. Algorithm 2 finds the spanning trees , , in . Prim’s procedure is used in the classical form to find the spanning tree of an arbitrary graph. Spanning trees , selected on the seeds form a spanning forest consisting of connected components—blocks of the first rank. Next, , selected on form a spanning forest of connected components—blocks of the second rank. Since spanning trees are added to spanning trees from high to low rank through one vertex, the new components are also spanning trees without cycles. Thus, passing step-by-step from to the second rank, we obtain spanning trees—blocks of the rank. At the last step, the spanning tree of the seed connects components into one spanning tree of . □
Remark 1. Algorithm 2 selects the spanning trees in the trajectory.
Figure 5 shows the steps of the sequential selection of spanning trees for
. At the first step, a spanning tree is selected for
and the same edges are highlighted by a bold line on
(a). At the second and third steps, the spanning trees for
(b),
(c) are respectively selected.
Consequence 4. Algorithm 2 selects a minimum weight spanning tree of a prefractal graph weighted by a similarity coefficient.
Prim’s procedure uses the weights of the spanning trees obtained in the previous steps and maintains a minimum weight at each rank . At rank , the procedure corresponds to the classical Prim algorithm. At rank , the procedure uses the spanning trees obtained in the seeds of rank . Each vertex in the seeds of the rank is assigned a weight of the minimum spanning tree of the corresponding seed of the rank . Furthermore, the search for the minimum spanning tree of the current seed of the rank is carried out, taking into account the total weight of the vertex-edge-vertex.
Figure 6 shows an example of the calculation of the total weight of a vertex-edge-vertex. To search for the minimum spanning tree
the weights of the vertices
,
,
are used,
),
),
). Prim’s procedure uses the total weight of an edge
:
. It is assumed that the prefractal graph is connected; otherwise, the algorithm will result in a spanning forest of minimum weight.
Consequence 5. Algorithm 2 takestime, whereand parameter.
At each step, the algorithm selects the minimum spanning trees for , . Prim’s algorithm takes less than time. Prim’s procedure includes two additional operations for adding the weights of the vertices: . In total, one will perform = operations.
Theorem 4. If the old edges are not adjacent, there is a spanning tree for any prefractal graphin which no vertex has a degree larger than, where—the maximum degree of vertices of a spanning tree of the seed.
Proof of Theorem 4. The maximum degree of vertices of a spanning tree of seed is following the conditions of the theorem. In the process of generating a prefractal graph at each step , each vertex can be incident to only one old edge due to the condition that any old edges are not adjacent. Thus, any vertex of spanning tree in the trajectory has a degree or in the case of incidence with the old edge. In other words, the spanning tree of contains only vertices with degrees at most . □
Consequence 6. If the old edges are not adjacent, there is a spanning tree for any prefractal graph, in which no vertex has a degree larger than.
Remark 2. If the old edges are adjacent, there is a spanning tree for any prefractal graphin which vertexes have a degree fromto.
2.3. Maximum Leaf Spanning Tree
INSTANCE: Graph , positive integer .
QUESTION: Is there a spanning tree for in which or more vertices have degree ?
Lemma 5. Leaf vertices of any spanning tree ofare placed in seeds of the rank.
Proof of Lemma 5. Let a prefractal graph generated by a seed be a connected graph. Otherwise, since the prefractal graph will consist of several connected components, it is impossible to select a connected spanning tree. Following the procedure for replacing vertices with a seed, each vertex of is replaced with a seed . The old edges are adjacent to the new edges in an arbitrary order. In each vertex is incident with new edges, and some of the vertexes are incident with old edges. Thus, vertices incident to both old edges and new ones cannot be leaf vertices. Only the vertices incident to the new edges are leaf vertices. Continuing the procedure for generating a prefractal graph, at each step the vertices are replaced with seed. Vertices of were replaced by seeds, and only vertices incident to new edges can be a leaf. In other words, the leaf vertices of are placed in seeds of the rank . In the case of generating a spanning tree, leaf vertices are also placed in seeds of the rank , as in any arbitrary case described above.
Consider the case of the selection of a spanning tree of an arbitrary . Suppose that any leaf vertex is incident only to the old edge, but this contradicts the definition of a connected prefractal graph. Any vertex is incident to a new edge. Thus, any vertex incident to the old edge is also incident to the new edge and is not a leaf vertex, and the leaf vertex of the spanning tree can only be incident to a new edge. In other words, leaf vertices of any spanning tree of a prefractal graph are placed in seeds of the rank . □
Theorem 6. If there is a spanning tree for the seedwith at leastleaf vertices and the adjacency of old edges is preserved, then there is a spanning tree for the prefractal graph, with at leastleaf vertices.
Proof of Theorem 6. According to the lemma, the leaf vertices of any spanning tree are placed in the seeds of the rank . Let us consider step-by-step the procedure for generating a prefractal graph and selecting its spanning tree.
There is a spanning tree of with at least leaf vertices according to the hypothesis of the theorem. At the next step, all vertices are replaced with a seed and is formed while preserving the adjacence of the old edges. The same goes for . The spanning trees in seeds of the second rank and forms spanning tree in . Only leaf vertices in can be leaf vertices in . are actually attached to by one vertex. In the minimal case, can be attached with its leaf vertex, then the number of leaf vertices of is equal to . By selecting in the trajectory the spanning trees of are formed. Thus, a spanning tree with at least vertices are selected for each , . □
Consequence 7. For any, where old edges are not adjacent, there are at mostleaf vertices.
When the old edges are not adjacent and the seed is the star, there is the maximum increase of leaf vertices in . Then there are leaf vertices in . The old edges are at first not incident to leaf vertices, and then are incident to leaf vertices. Then there are leaf vertices in and in . Furthermore, leaf vertices remain in , .
Consequence 8. When the conditions of Theorem 6 are satisfied, the parameterized polynomial algorithm selects a spanning tree forwith at leastleaf vertices in time , whereand parameter .
The selection of spanning trees with the maximum number of leaf vertices in seeds can be carried out by means of any known algorithm. In the worst case, it will require operations. In total, there are seeds in .
Figure 7 shows several examples of the generation of spanning trees, and the numbers of leaf vertices for them are calculated:
- (a)
;
- (b)
;
- (c)
.
2.4. Balanced Complete Bipartite Subgraph
INSTANCE: Bipartite graph , positive integer .
QUESTION: Are there two disjoint subsets such that and such implies that ?
Theorem 7. A complete bipartite subgraph exists only on the seed for any prefractal graph.
Proof of Theorem 7. The complete bipartite subgraph of graph matches with the complete bipartite subgraph of the seed according to the conditions of the theorem.
Next, we consider the case of generating a prefractal graph while preserving the adjacency of old edges. Spanning complete bipartite subgraphs are selected in the seeds (including all vertices) of
. Otherwise, the subgraph of
may split into separate components. Let one vertex
be incident to the old edges of
or, in another way,
also belongs to the part
(see
Figure 8). Then, to preserve the bipartition, set
is included in
:
. The second set
is included in
:
. Since the adjacence of the old edges is preserved, vertices of
are not adjacent to vertices
(except vertices
). Then the definition of completeness of a bipartite graph is violated, where each vertex of one part must be adjacent to each vertex of the second part. Thus, the selection of a complete bipartite subgraph of any seed in
does not allow the formation of a complete bipartite subgraph
in
. Adhering to the proof of violation of the completeness in
,
it is impossible to select a spanning complete bipartite subgraph
. □
Next, we consider the case of generating a prefractal graph, the adjacency of the old edges of which is not preserved. The old edges
and
the adjacent ones in
are not adjacent in
(see
Figure 9). The ends
and
of the old edges belong to the same part
. Otherwise, the condition of bipartition is violated, and the vertices
,
will be adjacent. The second end
of the old edge
in a bipartite seed should be adjacent to
. However, such an edge does not exist since the old edges are not adjacent, and the new edges are present only in the seeds. Thus, the condition of completeness of the bipartite graph is violated. Thus, when the adjacency of the old edges in
is not preserved, it is impossible to form a complete bipartite subgraph
. Following the proof of violation of the completeness, it is impossible to select a spanning complete bipartite subgraph
,
.
For each graph with an arbitrary adjacency of old edges, it is possible to select a complete bipartite subgraph separately on each seed of rank . It corresponds to generating a prefractal graph by a seed, and is thus a complete bipartite graph.
If the adjacency of the old edges is preserved, a complete bipartite subgraph can be selected only in a single seed of any rank, and in the case when the old edges are not adjacent, only in a single seed of rank .
Consequence 9. A balanced complete bipartite subgraph exists only in a single seed of any prefractal graph.
2.5. Bipartite Subgraph
INSTANCE: Graph , positive integer .
QUESTION: Is there a subset such that is bipartite?
An algorithm for selecting a bipartite subgraph is proposed to formulate and prove the theorem. Let prefractal graph be generated with preserving the adjacency of the old edges, and there is a spanning bipartite subgraph on the seed. The following is a description of an algorithm for packing a prefractal graph into a bipartite graph.
Algorithm 3 can be immediately applied to a prefractal graph generated by a bipartite seed. Any known algorithm for selecting a bipartite subgraph can be used as a procedure.
Algorithm 3 Algorithm for Packing a Bipartite Graph |
Input: prefractal graph . Output: spanning bipartite subgraph of . 1. Select a bipartite subgraph of using the procedure. This action corresponds to the selection of a bipartite subgraph of . for to do: for to do: . Select a bipartite subgraph of seed using the procedure. is formed as follows: one part is added to the part of with which it intersects; the second part is added to the part of that has no common vertices. If then and . Else then and . . At the output of step , spanning bipartite subgraphs are selected, which corresponds to the selection of a bipartite subgraph of the prefractal graph . Procedure for Selecting a Spanning Bipartite Subgraph Input: graph . Output: spanning bipartite subgraph of . |
Figure 10 shows subgraphs
that correspond to prefractal graphs generated by a bipartite seed.
is a bipartite subgraph
. Algorithm 3 for packing bipartite graphs
is applied.
Theorem 8. If there is a bipartite subgraphfor the seedand the adjacency of old edges is preserved, then there is a bipartite subgraphfor the prefractal graph, withwhere, .
Proof of Theorem 8. There is a bipartite subgraph of under the condition of existence of a bipartite subgraph of seed and . Next, graph is considered. Bipartite subgraph is selected in seed (corresponding to ). Vertices are added to one part and vertices to another . in is selected. One part is added to the part of with which it intersects; the second part is added to the part of that has no common vertices:
if then and ;
else then and .
Since the adjacency of the old edges is preserved, then intersects in a common vertex. Adding the parts to the corresponding parts does not violate the definition of a bipartite graph. The total number of edges and is equal to . The selection of alternately bipartite subgraphs in the remaining seeds and the addition of parts to in the same way corresponds to the selection of a bipartite subgraph in . Furthermore, since contains one seed of the first rank and seeds of the second rank, . Next, are sequentially considered, for which are selected in accordance with the described approach. Adding bipartite subgraphs of seeds does not violate the definition of a bipartite graph. All vertices within one part are not adjacent, and adjacency exists only between vertices of two different parts.
At each step , seeds are added; that is, there entire seeds in . Thus, there is a bipartite subgraph of , , with . □
Consequence 10. The proof of Theorem 8 is the justification of Algorithm 3.
2.6. Planar Subgraph
INSTANCE: Graph , positive integer .
QUESTION: Is there a subset with such that is planar?
Lemma 9. The union of two planar graphs at one common vertex is also a planar graph.
Proof of Lemma 9. When two planar graphs
and
are united at one common vertex
no new edges appear in
(see
Figure 11). □
The operation of replacing a vertex with a seed (RVW) while preserving the old edges’ adjacency corresponds to the union of two graphs and at one common vertex in a new graph : , , or, in another way, joining a seed . Under the condition of planarity , the new graph is also planar.
Consequence 10. When two arbitrary graphs are united at one common vertex, their planar subgraphs are united into a planar graph.
Theorem 10. If there is a planar subgraph in seed, and the adjacency of old edges is preserved, then there is a planar subgraphin prefractal graph, , for which, where,.
Proof of Theorem 10. There is a planar subgraph in under the conditions for the existence of a planar subgraph in seed , where . Since the adjacency of the old edges is preserved, for constructing the prefractal graph , a seed is alternately attached to each vertex of . is planar, and joining planar subgraphs to its vertices does not violate the planarity of following Lemma 9 and Consequence 10. At each step , seeds are added, that is, total seeds in .
Thus, there is a planar subgraph in prefractal graph , for which .
Figure 12 shows the procedure for isolating a planar subgraph of a prefractal graph. Following Theorem 10, a planar subgraph
is selected in the seed
(a), and a planar subgraph
in
(b), where
and
.
3. Results and Discussion
In this paper, we have discussed six known NP-complete problems in relation to the class of prefractal graphs. For each of the problems, conditions are proposed under which we can answer the question positively or negatively. Algorithms for finding a solution are proposed for some problems.
In the problem of the isomorphism of a subgraph, an algorithm for numbering the vertices of a prefractal graph and a figure with an example are proposed. A theorem is also proposed for the isomorphism of two prefractal graphs, provided that the adjacency of the old edges is preserved.
In the second problem, on a degree constrained spanning tree, an algorithm for finding a spanning tree of minimum weight (MST) of any prefractal graph is proposed. The complexity of the algorithm is shown, where any known MST algorithm, including the modern one, can be used as a procedure. The procedure is applied to the seeds, and then the subgraphs are united into the MST of the entire prefractal graph. The execution time of the algorithm is linear and depends on the number of vertices . The parameter is a constant since the number of seed vertices is fixed before building the prefractal graph. In the theorem, conditions are proposed under which there exists a spanning tree with vertex degrees at most , where the number is the maximum vertex degree of the generating seed.
In the problem of a maximum leaf spanning tree, a lemma is proposed that any leaf vertex is on a seed of the last rank. This property is associated with the process of constructing a prefractal graph when at each step, the vertices are replaced by seeds. As for other problems, the characteristics of the entire prefractal graph depend on the seed. This dependence is key and requires additional study.
For the problem of a balanced complete bipartite subgraph, we have proved the theorem that it can be distinguished only on one separate seed. The rule for constructing a prefractal graph preserves this property throughout the entire trajectory. As one of the conclusions, we can suggest the impossibility of identifying a balanced full bipartite subgraph, for example, in social networks. This claim requires research and additional evidence.
For the problem of selecting a bipartite subgraph, a packing algorithm is proposed in the case of preserving the adjacency of old edges. These results can be reformulated as constructing a graph with given characteristics. That is, how can one construct a graph so that a bipartite subgraph exists in it? For such a constructed graph, a packing algorithm can be applied.
The problem of the planarity of a prefractal graph is also related to the design of graphs with predetermined characteristics. If the seed is a planar graph and the adjacency of the old edges is preserved, then for the entire sequence the graphs are planar.
As one of the results, we can single out the possibility of developing algorithms for solving optimization problems with polynomial complexity. Such a modular execution of sequential algorithms on subgraphs (seeds) will allow them to be parallelized in the future. Furthermore, the use of well-known algorithms in the form of procedures will allow researchers in the future to change them to new ones with improved characteristics.
It is assumed that the study of individual NP-complete problems on prefractal graphs will make it possible to form a set of rules for identifying solvability conditions for any known NP-complete problem in this class of graphs, and also to approve the class of prefractal graphs as a special class for which there are conditions for the solvability of NP-complete problems. An example of this is demonstrated in [
51] for inherited classes.
Therefore, for all theorems, consequences are proposed with a generalization of the results to the sequence . Since is a dynamic graph that changes in the trajectory and for each an algorithm and a solution to the problem are proposed. In further studies, we plan to pay more attention to the formulation of problems for dynamic graphs, to definitions of solutions to dynamic problems and to the study of the characteristics and properties of prefractal graphs as a subclass of dynamic graphs.
4. Conclusions
The paper considers and investigates NP-complete problems for one of the classes of dynamic graphs—prefractal graphs. For each of the problems, solvability conditions are given under which it is possible to obtain an existing answer for some subproblems, as well as to construct polynomial algorithms for finding solutions for some. A number of corollaries generalize the results obtained, or provide conditions for the absence of a solution.
In this paper, we study only a small part of the known NP-complete problems. The study of the entire set of problems and the selection of solvability conditions for this class of dynamic graphs—prefractal graphs—will essentially allow us to talk about the selection of an entire subclass of graphs with conditions for the solvability of NP-complete problems.
The development of polynomial algorithms for dynamic graphs will make it possible to solve with improved characteristics such well-known applied problems as the selection of subgraphs in large dynamic networks [
52,
53]; the detection of communities in social networks [
54,
55,
56]; the solution of multicriteria problems in large-scale transport and logistics systems [
57]; the searching and highlighting of DDoS attacks in cryptocurrency systems [
58,
59] and many other problems.
In the future, we plan to introduce definitions for a dynamic prefractal graph, setting a multicriteria graph-theoretic problem, solving a dynamic problem and the concept of topological time. Furthermore, we also aim to define families of dynamic problems for prefractal graphs.
The number of applied problems in large networks is only growing. With the development of the direction of big data analysis, the increase in the number of subscribers and the complication of networks, the study of problems on dynamic graphs of large dimensions is becoming more and more urgent. Thus, we propose to use all the available tools of dynamic prefractal graphs to solve optimization problems in large networks, as well as to design networks with given characteristics, including predicting the development of real networks [
60,
61].
It should be noted separately that it is necessary to define fractal graphs and related concepts. Since a fractal graph is an infinite object, what does the formulation of the optimization problem look like, how do the algorithms work and what is the solution? For this purpose, we plan to publish a separate article on fractal and prefractal graphs to familiarize the scientific community with this class of special graphs and to consecrate their properties and characteristics.