Graph Isomorphism Problem

Signature of Electrical Currents
Polynomial-Time General Algorithm 0(n2m3)

Author: André Luiz Barbosa - Bachelor in Ciência da Computação - UFG


INDEX

01 - Introduction

02 - Passive Resistive Electrical Circuits

03 - Derived Circuit

04 - Definition of Signature of Electrical Currents and Orderly List of Vertices

05 - Orderly List Construction Algorithm Example

06 - Proposal of the Theorem on Graph Isomorphism Problem

07 - Demonstration 1

08 - Demonstration 2

09 - Determination of the Isomorphic Bijective Mappings

10 - Search in Graphs

11 - How Many and What Are the Isomorphic Bijective Mappings?

12 - Philosophizing


1 - Introduction
INDEX
     A graph G(V, E) can be represented by a geometrical picture formed by points representing the vertices in V and edges linking the pairs of vertices in E:

     If two graphs G1(V1, E1) and G2(V2, E2) are isomorphic, there is at least one bijective mapping f:V1-> V2 where (f(vi), f(vj)) belongs to E2 if and only if (vi, vj) to belong to E1. This means that, being isomorphic, the graphs present a coincident geometrical representation.

Illustrating, given the graphs G above and G' below, isomorphic:

a bijective mapping f:V -> V' that attends the conditions above defined, that we will call of isomorphic bijective mapping, would be:

f(1) = 1, f(2) = 5, f(3) = 4, f(4) = 3, f(5) = 2

     The existence of at least one of these mappings demonstrates that the graphs are isomorphic, what implies that they can be represented by coincident geometrical figures. In the case of G and G' it's trivial the view of this fact, but with big graphs it's extremely difficult such vision.
 
2 - Passive Resistive Electrical Circuits

INDEX
     A passive resistive electrical circuit consists of resistors interconnected to each other by conductors. In the basic disciplines of analyses of circuits are considered circuits in series, parallel and series parallel, that are especial simplified cases of resistive circuits, whose topology can present a structure of arbitrary complexity. The general topological structure of any passive resistive circuit can be modeled by a graph (a multigraph when there are resistors in parallel), where the resistors will originate the edges and the nodes the vertices.

     If we apply determinate electrical tension in any pair of nodes, the electrical currents that will flow in each resistor of the circuit will just depend of the values of its resistance and of the particular topology in that they are arranged, in function of its interconnections, not making absolutely any difference the geometrical form in that they are set up in the circuit: circular shape, triangular, linear, heapped, chaotic, etc. (Of course we are considering by worthless factors as electrical induction, spurious capacitances, present electromagnetism in the environment, etc.)

     The electrical currents in a resistive circuit depend of the structure of the circuit, and do not of any particular geometrical disposition of arrangement of resistors and nodes, as the fact of two graphs are isomorphic depends, analogously, of its structures, and does not of any particular geometrical form in that eventually are figured.

     This fact suggests an efficient algorithm to discover if two graphs G1(V1,E1) and G2(V2,E2) are isomorphic and, case they are, to find the isomorphic bijective mappings f:V1-> V2.

     Therefore, so as a resistive electrical circuit can be modeled by a graph (a multigraph when there are resistors in parallel), inversely, a graph also can be object of metamorphosis in a passive resistive electrical circuit, where the edges become in resistors and the vertices in nodes.
 
3 - Derived Circuit

INDEX
     Starting with a graph - that we will name original graph – it's possible build a passive resistive electrical circuit - that we will denominate derived circuit - formed by resistors of 1 ohm, corresponding to each edge of the original graph, interconnected according to the incidence of the edges in the vertices of original graph. An original graph can originate one and only one derived circuit, and vice versa. (Strictly, a graph will originate a derived circuit for each present connected component in its structure; nevertheless, we can, without to hurt the theory of electrical circuits, to generalize the concept of derived circuit to comprehend, too, sets of disconnected resistors - and nodes, in the case of isolated vertices).

     We can, then, associate for each vertex and edge of the original graph a node and a resistor in the derived circuit, that we will name, respectively, corresponding node and resistor to the original vertex and edge.

     Since now, considering the unity between original graph and derived circuit, whenever there are not ambiguities, we will refer to the nodes and resistors of the derived circuit as vertices and edges of the original graph, respectively. therefore, when we refer to circulating currents in the edges, incident in the vertices and present tensions in the vertices of original graph, you would understand corresponding currents in the resistors, incident in the nodes and present tensions in the nodes of derived circuit.

4 - Definition of Signature of Electrical Currents and Orderly List of Vertices

INDEX
     Submitting an any pair of vertices of a graph to tension of 1 V, we get a set of electrical currents that flows through the m graph's edges. We define as solution the sequence formed by the absolute values of these m currents, disposed in crescent order:

     Solution = (ii, ij, ik, ... , im) where ii<= ij <= ik <= ... <= im

     An original n-vertex graph originates one derived circuit with n nodes, therefore there are (n2 - n)/2 different pairs of nodes in this circuit. if we apply a tension of 1 V on each one these pairs we will arrive to one sequence, that will be disposed in crescent order, of (n2 - n)/2 solutions. (In the sorting of solutions, its elements are compared one by one of the left for right: if there is a different pair this fact will indicate the precedence).

     To such ordered sequence of solutions we will give the name Signature of Electrical Currents of graph – or just signature:

     Signature = ((ii1, ij1, ik1, ..., im1), (ii2, ij2, ik2, ..., im2),..., (iix, ijx, ikx, ..., imx))

     Obs.: A null graph formed by only one vertex does not present any solution and will have signature equal to (), but if it be formed by two isolated vertices there will be one solution equal to () and its signature will be equal to (()).

    We can, having calculated the signature, to order the vertices of a graph in a list (that we name orderly list), by the orderly sequences of values of the incident currents on them, considering all the solutions. We define as equivalent vertices those whose such sequences of incident currents (that we name incident currents (vertex)) are equal. Equivalent vertices occupy the same position of order inside of the orderly list. Every vertex is equivalent to itself, it's obvious. If vi and vj are equivalent, all adjacent vertices to vi are equivalent, one-to-one, to all adjacent ones to vj; else the flow of the currents on them would be different, and, consequently, they wouldn't can be equivalent.

     Orderly List = [vi, vj, vk, ..., vn] where vi <= vj<= vk <= ... <= vn.

     vx > vy if degree (vx) > degree (vy) or if degree (vx) = degree (vy) and incident currents (vx) > incident currents (vy). (Obs.: The elements of the incident currents are compared one by one of the left for right: an eventual different pair will indicate the precedence). If vz = vw they are equivalent and we say that they occupy the same position of order inside of the orderly list.

    Obs.: We don't need handle approximations, since direct methods to solve the linear systems can supply exact solutions, where all currents will be presented in rational form p/q, where p and q are integers (for example, if 3*i = 1, then i = 1/3, rather than i = 0.333...).

     Similarly, we define as equivalent edges those whose sequences of flowing currents on them are equal. Note that two edges (vi, vj) and (vk, vl) are equivalent if and only if vi is equivalent to vk and vj is equivalent to vl: we can say that equivalent edges link pairs of equivalent vertices; otherwise the incident currents and, consequently, the electrical tensions on these vertices would be different, implying in different flowing currents on the edges, disabling the fact of they to be equivalent.

     Signature and orderly list examples for graph G({1,2,3},{(1,2),(1,3)}) below:

     Observe that the values 1 ohm and 1 V are arbitrary values. But there is not generality loss when using them, or to any other, since, because of the proportionality of the Ohm's Law, being used any values of R ohms and V volts we arrive to proportional signatures, according to the factor V/R.

5 - Orderly List Construction Algorithm Example

INDEX
     Algorithms 0(n2m3) of simulation of the derived circuit to calculate the signature are possible, where n is the number of vertices of the original graph and m the number of edges.

     Algorithm example: at the beginning we will identify the vertices of the graph labeling them of 1 to n and, soon after, we will arbitrate that the positive direction of the currents will always be of the smaller vertex for the larger. Starting from there, in each pair of vertices vi and vj, belonging to some k-vertex and a-edge connected component, we will apply 1 V and to calculate the circulating currents in each edge. For this calculation, we can build a type of generating tree (a spanning tree without the vertex vj) with root in vi, but without to reach the vertex vj, with algorithm 0(k+a). This tree will have k - 1 vertices (because vj is out) and k - 2 edges (remaining a - k + 2 edges). The Kirchhoff's Current Law - where the algebraic sum of the incident currents in a node is equal to zero - in each one of these vertices, except vi, will find k - 2 independent equations. Being increased each one of the edges that remained or we will close a simple cycle in the tree or we will connect it to the vertex vj. In the first case (reminding that for resistors of 1 ohm the tension and the current on them are the same) we will determine more an independent equation using the Kirchhoff's Voltage Law - in that the algebraic sum of the present tensions in the cycle is equal to zero; in the second case we will have a path between vi and vj that will result, according to the same Law, in more an independent equation, in that the sum of the present tensions in the edges of the path is equal to 1 V. Then, when included all the edges remaining there will be (k – 2) + (a - k + 2) = a independent equations, determining a linear system with a equations and a unknown amounts (the currents in each edge), solvable, by direct methods, with algorithms 0(a3). The currents in the other - if there are - connected components of the graph will be equal to zero for the solution in screen. The process is repeated for all the (n2 - n)/2 pairs of vertices of the graph. Then, all the m currents in each solution, and all the (n2 - n)/2 solutions will be ordered and the orderly list will be constructed - in inferior time that 0(n2m3), and we will have, after all, the orderly list of the graph.

     Of course, if the two vertices where the tension was applied belong to distinct connected components, all currents will be equal to zero.

6 - Proposal of Theorem on Graph Isomorphism Problem

INDEX
     Proposed theorem:

     The determination if two graphs are isomorphic consists in to calculate and to compare the respective orderly lists of vertices: if the lists are equal (the vertices in the two lists are, one-to-one, equivalent), the graphs are isomorphic; if the lists are different, the graphs are not isomorphic.

     In fact, the proposed theorem establishes a new way to do the representation of a graph - to write its orderly list and incident currents in every vertex - as alternative, for example, to adjacency matrices or to chained lists, with the advantage that isomorphic graphs will have, automatically, identical representations; but with the disadvantages: it has extensive representation and it demands very much processing time to find, starting from orderly lists and incident currents in every vertex, the adjacency group among the vertices of the graph, that is the important information stored in the graph. A method of interesting representation, then, would be to work with two redundant representations, a traditional one and, beside this, the orderly list and incident currents in every vertex.

     Why is the orderly list and incident currents in every vertex much more extensive than the other representations? Because it contain redundant information, considering that the solutions are not, in general, independent one of the other ones: only a subset of solutions - sometimes only one solution - in that there is flow of currents in every vertex of the graph is enough for to determine its complete orderly list. Alternative theorems to the proposed, that search for to avoid such redundancies, would be, however, of difficult manipulation, by to involve complex operations and treatment of several private cases in the determination of a solution in function of another.

7 - Demonstration 1

INDEX
     To demonstrate formally that this method works, we should prove that it's necessary and sufficient. It will be necessary if two isomorphic graphs always present, necessarily, the same orderly list. And it will be sufficient if, given two graphs with identical orderly lists, they are, necessarily, isomorphic.

     The proof of the need is trivial: if two graphs are isomorphic, they can be represented by coincident geometrical illustrations in relation to vertices and edges. Therefore, the respective derived circuits - that, let us remind, are built considering the disposition of the vertices and edges of the graph - will be, consequently, identical. Identical circuits will present identical behaviors when submitted to the same tensions, producing, obviously, the same orderly list.

     The proof of the sufficiency is more elaborated: let us make a reduction to absurdity, considering that two graphs G1(V1, E1) and G2(V2, E2) aren't isomorphic and present, however, identical orderly lists.

     Since the graphs present the same orderly lists, they are, necessarily, constituted by the same numbers of edges and vertices, whose degrees are, one-to-one, equal, because if this isn't true, the amount of incident currents in the vertices of the orderly list wouldn't be the same – and the orderly lists wouldn't can be equal.

     As the graphs aren't isomorphic, its complements also are not. The complement of a graph G(V, E) is the graph ~G(V, E'), where (vi, vj) belongs to E' if and only if does not belong to E. In the determination of the equations that compose the linear system for each solution in a graph, we can determine the corresponding equations for its complement considering that the currents in this will flow between the not adjacent vertices. We will find, then, two linear systems, one for the graph, another for its complement.

     In a complete graph, the signature is composed of trivial solutions: in the edge between the two vertices where 1 V was applied a current of 1 A will flow and in the adjacent edges to these vertices, 1/2 A will circulate; in the other edges the current will be zero. This fact results of the resolution, in each solution, of the linear system formed by the equations constituted by all the possible currents in a graph. In the previous paragraph we arrived to two linear systems, formed by the equations that considered some times presence other times absence of edge. But if we consider all the edges, we will have a complete graph; therefore, the agglutination of these two linear systems will result in the linear system of the complete graph. Such agglutination would occurs by the sum of the resultant equations of the Kirchhoff's Current Law, juxtaposition of the resultant of the Kirchhoff's Voltage Law, and construction of new equations, by Kirchhoff's Voltage Law, including the currents that, eventually, do not appear in the anterior equations, forming, so, the linear system with all possible currents in the complete graph. Inversely, since the linear systems for complete n-vertex graphs are predefined, because all the solutions are of the type mentioned in the beginning of this paragraph, the concerning linear systems to the complement of a graph depend of the graph and vice versa, implying in interdependent orderly lists.

     Reminding that G1 and G2 are not isomorphic, in all the possible bijective mappings f:V1 -> V2 there is at least one edge (vi, vj) belonging to E1 where (f(vi), f(vj)) doesn't belong to E2 and one edge (f(vk), f(vl)) belonging to E2 where (vk, vl) doesn't belong to E1. Think in all n! possible bijective mappings. Let respectively ~G1 and ~G2 be the complements of G1 and G2. As G1 and G2 have identical orderly lists, ~G1 and ~G2 also have it. That is to say, if we to agglutinate the concerning linear systems to the solutions of ~G2 - because they are the same ones that ~G1 - with the ones of G1 we will find the concerning linear system to the complete graph of |V1 | vertices (K|V1 |).

     When we label again the vertices of ~G2 according to any bijective mappings f:V2 -> V1, however, we will see that there will always be at least one edge (vi, vj) in ~G2 that also belongs to G1. Consider all n! possible bijective mappings. Considering that the number of edges in ~G2 is the same in ~G1, and that their sum in ~G1 and G1 is the same that exists in the corresponding complete graph, there will always be in the concerning linear systems for ~G2 and G1 the lack of at least one current in their equations, because at least the edge (vi, vj) is appearing twice, doing that another doesn't appear, disabling that these linear systems determine the linear system that appears in the complete graph, that involves all the currents in all the edges. That is to say, the concerning linear systems for ~G2 are, unavoidably, different from the concerning ones to ~G1, implying that the concerning sets of solutions for ~G1 and ~G2 are different, that, consequently, will imply that the concerning sets of solutions to G1 and G2 are different - that enters in contradiction with the fact of its orderly lists to be the same. Then, if the graphs aren't isomorphic, present, necessarily, different orderly lists.

     These different linear systems result in different solutions because the difference is the lack of at least one current in its correspondent equations, and it isn't only difference by linear transformations. Then, if all solutions are equal for the two graphs, G1 and G2, this indicates that its linear systems are equal, where the visible differences are caused by only linear transformations and permutation of the unknown amounts. Then, if the graphs have the same orderly list, its complements too have it, and, consequently, in some of the n! possible bijective mappings, and after the application of the appropriate linear transformations, the equations which compose the linear systems for ~G1 and ~G2 will be exactly equal in the two complements: then, ~G2 and G1 determine a complete |V1|-vertex graph, where it's all possible currents in any graph of |V1| vertices. Then, unavoidably, ~G2 is the complement of G1. Otherwise, it will fail currents (edges) for the complete graph.

     In fact, the solutions determine the linear systems, that, by their time, determine the structure of the graph.

     Obs.: Of course, in not isomorphic graphs, some solutions in a graph can be equal to solutions in the other graph. This fact occurs if there are Wheatstone's bridges or isomorphic components in the graphs. But, in all these special cases, the same solution results of different linear systems because there is not flow of electrical currents in the not isomorphic subgraphs - where at least the 'double' edges (vi, vj) stay inside the graphs. Observe that it's the flow of currents which reveals the structure of the graphs; then, the parts of the graphs where there is not flow of currents remain hidden. Fortunately, in several other solutions there is flow of currents in these hidden not isomorphic subgraphs, and then the respective solutions show its differences - in special in the corresponding solutions to the pairs (vi, vj).

     Therefore, if the graphs present the same orderly lists they are, necessarily, isomorphic.

8 - Demonstration 2

INDEX
     Let us make, again, a reduction to absurdity, considering that two graphs G1(V1, E1) and G2(V2, E2) aren't isomorphic and present, however, identical orderly lists.

     Let f:V1 -> V be bijective mappings, with the condition that in every instance f(vi) = vj, vi is equivalent to vj. There will be, in such mapping, p edges (vi, vj) belonging to E1 where (f(vi), f(vj)) doesn't belong to E2 and p edges (f(vk), f(vl)) belonging to E2 where (vk, vl) doesn't belong to E1, where always p > 0, for the graphs aren't isomorphic. We choose, from among all these, a mapping in that p is a minimum value. We name p as the number of discordant edges. Look that every edge of a graph has an equivalent edge in the other graph, because the graphs present the same orderly list. Then, every discordant edge in a graph has an equivalent discordant edge in the other one, considering that every not discordant edge in a graph has an equivalent one in the other graph (edges linking equivalent pairs of vertices).

     If we have two not isomorphic graphs generating identical orderly lists, presenting an arbitrary number of discordant edges, we can build two not isomorphic graphs, generating identical orderly lists, and presenting only 1 (one) discordant edge between them:

     Starting at this mapping, we will add the edges (vi, vj) in the graph G1 and (f(vk), f(vl)) in the graph G2, if (vk, vl) and (f(vi), f(vj)) are equivalent and belong to E1 and to E2, and (vi, vj) and (f(vk), f(vl)) don't belong to E1 and to E2, respectively. After the increase of this pair of edges the process is repeated recursively of the begin: again, the orderly lists are constructed and other pair of edges is increased - up to p to be equal to 1 (one). Then, the addition of more one edge would change the graphs in isomorphic graphs.

     The addition of these edges doesn't destroy the equality of the orderly lists, since (vi, vj) and (f(vk), f(vl)) are equivalent (these edges link equivalent pairs of vertices, which will continue equivalent, because the electrical perturbation will be propagated in the same way for all vertices of the two graphs, since that all adjacent vertices to vi and vj are, one-to-one, equivalent to all adjacent vertices to f(vk) and f(vl), for vi and vj, and f(vk) and f(vl) are equivalent, respectively).

     All discordant edges are equivalent, one-to-one, in the two graphs; then the process - that can be visualized as an operation of to complete the graphs, up to they to stand almost isomorphic - do not suffer risk of to stop by fail of equivalent discordant edges.

    Then, if there are two graphs not isomorphic, presenting an any number of discordant edges, and having identical orderly list, then there are ones presenting only one discordant edge. Now, to prove the theorem, it's enough to prove that it is impossible there are two graphs not isomorphic, presenting only one discordant edge and identical orderly lists.

     Let us make, again, a reduction to absurdity, considering that there are two n-vertex and m-edge graphs, not isomorphic, presenting only one discordant edge, and having identical orderly list. Then, there are ones where m is a minimum, that is to say, there aren't n-vertex ones presenting less edges.

     Let G1(V1, E1) and G2(V2, E2)  be two isomorphic n-vertex graphs, where the removal of equivalent edges (vi, vj) and (vk, vl) of G1 and G2, respectively, change the graphs in not isomorphic graphs, presenting only one discordant edge, identical orderly list, and having the minimum of edges

     Let f:V1 -> V be any isomorphic bijective mapping on G1 and G2. There should not be an isomorphic bijective mapping where the instances f(vi) = vk and f(vj) = vl, otherwise with the removal of the edges (vi, vj) and (vk, vl) of G1 and G2, respectively, this mapping - and the graphs - would continue isomorphic. Then, there are, in any mapping, the occurrences f(vi) = vx and f(vj) = vy, where (vx, vy) is different of (vk, vl), and consequently, also there are f(vw) = vk and f(vz) = vl, where (vw, vz) is different of (vi, vj). If there are edges beside these two, there will be the instances f(vr1) = vr2 and f(vs1) = vs2, where (vr1, vs1) and (vr2, vs2) are different of (vi, vj) and (vk, vl), respectively. Now, if we remove these two edges, the mapping - and the graphs - will continue isomorphic. After this removal, the fact of that there are not any isomorphic bijective mapping where the instances f(vi) = vk and f(vj) = vl continues valid: otherwise, a such isomorphic mapping would continue isomorphic with the increase of the removed edge, and then this fact would be false in the begin of this paragraph (before of this removal), but there it is true by hypothesis. Then, the removal of these edges will do the graphs to be not isomorphic presenting only one discordant edge, now presenting less edges; but, by hypothesis, the anterior not isomorphic graphs have the minimum of edges. To win the contradiction we can say that there aren't more edges in the graphs beside (vi, vj) and (vw, vz) in G1 and (vk, vl) and (vx, vy) in G2. However, 2-edge graphs don't can be not isomorphic and to present identical orderly lists, it's obvious. Then, there isn't a value of m that is a minimum. Then, there are not n-vertex and m-edge graphs, not isomorphic, presenting only one discordant edge and having identical orderly list.

     (Observe that, for isomorphic graphs, this fact also proves that, for every vi in G1, there will be in at least one isomorphic bijective mapping the instance f(vi) = vk, where vk in G2 is equivalent to vi; otherwise the removal of any two equivalent edges (vi, vj) and (vk, vl) of G1 and G2, respectively, would change the graphs in not isomorphic graphs, presenting only one discordant edge and identical orderly list).

     The same reasoning can be used for any pair of edges in any-vertex graphs, and it will be impossible to build two graphs not isomorphic, presenting identical orderly lists and only one discordant edge: consequently, it will be impossible there to be these graphs presenting any number of discordant edges. Then, if the graphs have the same orderly list, they are isomorphic.

9 - Determination of the Isomorphic Bijective Mappings

INDEX
     The determination of an isomorphic bijective mapping is summarized in, starting from the orderly lists of vertices of the two graphs, to associate the vertices of a graph to the ones of the other, one by one, according to the rules below:

     The first association, in each connected component, will be made between two equivalent vertices still not associated, one of each orderly list. To standardize the process, choose it from among ones of smallest order. After this:

     Let A1 and A2 be the sets of vertices associated of G1 and G2, respectively, where all va1 in A1 are associated to all va2 in A2 (one-to-one, it's obvious); and let vc1 in G1 and vc2 in G2 be vertices chosen as candidates to associate by to be - except the first vertices to to associate in each connected component - adjacent to some vertex in A1 and A2, respectively. They only can associate indeed if obey the conditions below:

     1 - All the adjacent vertices to vc1 in A1 are associated to the adjacent vertices to vc2 in A2 (one-to-one, it's obvious);

     2 - The incident currents in all va1 in A1, in the solutions corresponding to the formed pairs by vc1 and all va1 in A1, are the same to the incidents in the respective va2 in A2, in the corresponding solutions, respectively, to the formed pairs by vc2 and all va2 in A2.

     The conditions derive of the fact that the construction of the isomorphic bijective mapping can be considered as the reconstruction of the connected components of the two graphs starting from initial vertices (the rootses of each tree of the forest of associations, as we will see later), in that each reconstructed vertex (associated) maintains identical relationships of adjacency and flows of currents in the two graphs, in relation to the vertices already reconstructed (we can disrespect the still not reconstructed vertices, by they to be not still with its positions defined in the reconstruction).

     This set of associations will supply an isomorphic bijective mapping: if v1x was associated to v2y, then f(v1x) = v2y.

     Considering that the two graphs are isomorphic, this method always works. In fact, it should fail only if:

     - There are not candidates after the first association which obey the conditions.

     If the incident currents in all associated vertices are equal in all solutions, this indicates that the associated vertices are, one-to-one, in isomorphic positions into the graphs: the subgraphs S1 of G1 and S2 of G2, formed by the associated vertices and edges linking them, are isomorphic - this is proved in the paragraph below; the subgraphs R1 of G1 and R2 of G2, formed by the not associated vertices and edges linking them, also are isomorphic - otherwise, the flow of the currents in their vertices would be different, implying in different flow in S1 and S2 - and the conditions wouldn't be obeyed in the anterior association. If S1 and R1, and S2 and R2 are isomorphic, respectively, then the process is in right path, because the determined mapping by the associations up to this moment is a subset of an isomorphic bijective mapping. Imagining the two derived circuits in coincident positions of the space, in all the possible isomorphic bijective mappings, and the flow of the currents on them, it's easy see it. Then, always there will be candidates which will obey the conditions.

     This generated bijective mapping is necessarily isomorphic: (vi, vj) belongs to E1 if and only if (f(vi), f(vj)) to belong to E2. Otherwise, when vi and f(vi) or vj and f(vj) should be candidates they should not obey the condition 1: considering vi and f(vi) associated before than vj and f(vj), when vj and f(vj) should be candidates, vj should be adjacent to vi and f(vj) should not be adjacent to f(vi) (or vj should not be adjacent to vi and f(vi) should be adjacent to f(vj)). They should not can, then, obey the condition 1, which says that all vertices in A1 adjacent to vc1 must be associated to all vertices in A2 adjacent to vc2 (one to one, it's obvious). Then, the association between vj and f(vj) never should happen. the same thing occurs if vj and f(vj) are associated before than vi and f(vi).

     This method of determination of an isomorphic bijective mapping can be visualized geometrically as the construction of a generating forest of the graphs, where the root of the first tree represents the association between two equivalent vertices from among ones of smallest order, one of each orderly list, growing in depth or width starting from there, observing, in the other associations - that will represent increment of leaves to the forest in construction - beside of the equivalence, also the adjacency among the vertices already associated and the candidates to the association as well as the related currents in the vertices candidates. This generating forest will contain so much trees how many there are connected components in the isomorphic graphs.

     When all the vertices of a connected component have been associated, that is to say there is not any vertex adjacent to the associated vertices that it has not been associated still, and there are still not associated vertices, this will indicate that there are still vertices in another connected component, being born of there other tree as in the beginning of the process, with the difference that the first association - that will constitute the root of this new tree - will be between two equivalent vertices from among ones of smallest order not yet associated.

     The process is applied on all the connected components of the graphs, until reaching all the vertices of the two graphs, building a forest – that we can call of forest of associations - of so much trees how many there are these connected components. The vertices of this forest can be labeled with a composition between the labels of the two associated vertices that gave them origin.

10 - Search in Graphs

INDEX
The determination of the isomorphic bijective mapping resembles, unavoidably, to a search in graphs, that is to say, a way to walk systematically for its edges and vertices, where the presented alternatives don't constitute ambiguities, but just choice options. That is to say, as collateral effect of the operation of building isomorphic bijective mappings we arranged a way of to walk systematically, in a rigorous way, in graphs.

When walking for a graph in the traditional way, the choices of the initial vertex and of what incident edge to the marked vertex to explore constitute arbitrary alternatives - that generate ambiguities - only having only option in the choice of what marked vertex to choose to explore some still not explored edge - always the more or the less recently reached, case the search is in depth or width, respectively.

For to walk systematically in a graph G, we start from the orderly list. The initial vertex will be chosen from among the vertices positioned in the beginning of the orderly list. And we will explore, from among the not yet explored incident in the chosen marked vertex, the incident edge in the vertex of smallest order in the list, and in case of more than one alternative, the edge (vi, vj) whose corresponding solution - found one when applying the tension on vi and vj - results in the smallest sequences of currents in the edges already explored, according to the exploration order. If, nevertheless, there is choice among more than one edge, there is automorphism in the graph, not having ambiguity, just alternative walks that drive us to isomorphic searches. The process is repeated in all the connected components of the graph, being chosen, as initial vertex in them, one from among the vertices of smallest order not yet explored.

11 - How Many and What Are the Isomorphic Bijective Mappings?

INDEX
The way as we built an isomorphic bijective mapping indicates the way of to discover how many and what are the existing isomorphic bijective mappings. In the beginning of the process we have two identical orderly lists of vertices. The first association, constituting the root of the initial tree, can be done among one of the m1 vertices that occupy the first position of one of the lists and the m1 equivalent vertices of the other, resulting in m1 alternatives. In the continuation of the process, whenever any vertex of a set of mi candidates to attend to the conditions to associate, or whenever mi equivalent vertices could be root of another rising tree, there are again mi possible options, and so on. This results in the total of m1 * m2 *... * mk different isomorphic bijective mappings.

In the figure 7, for example, we have 2 vertices occupying the first position in each orderly list, resulting in 2 alternatives. After, we have 2 candidates in each graph attending to the conditions to associate, resulting in more 2 alternatives. After this last choice we will just have only options of association up to the finish of the first tree. In the choice of vertices not yet associated for root of the second tree, just one option remained us in the position of order 0 of the list, and again here there are 2 candidates in each graph attending to the conditions to associate, resulting in more 2 alternatives, and later also remaining only options until the end of the second tree. We can, then, to build up to 8 (2*2*2) different isomorphic bijective mappings for these graphs.

12 - Philosophizing

INDEX
The definition of equivalent vertices - in function of the circulating currents in the derived circuit - determines a characteristic that takes to a rigorous ordering of vertices, that was always the process sought for the resolution of the graph isomorphism problem. The ordering by the degree, for example, takes just into account an aspect local to the own vertex, but the attempts to meet an aspect that is global to the graph dashed against or in the reach inadequacy (when incorporating in the ordering the characteristics of the adjacent vertices, for example, or the adjacent to the adjacent ones, and so on, until just a certain depth) or in the combinatory explosion of the amount of values being considered that it was reached when trying, for similar methods to this, to reach an sufficient depth to turn the ordering a global ordering - what implied in algorithms of non polynomial time complexity.

The orderly list of vertices at the same time depends of the global structure of the graph and admits polynomial time algorithms for its determination.

However, perhaps this theorem causes some surprise by, in a certain way, to invert the that anybody hopes to be the natural order of the mathematical research: first it's discovered something in the field of the pure mathematics, generally considered in the beginning of little practice usefulness, for only some time later - sometimes a long time later - to meet practical applications or applied research areas in that such discovery reveals its pragmatic vocation, when modeling problems of the real world. In the theorem of the signatures in subject, it happens the opposite: not very more than the resolution of a classic and trivial problem of electrical engineering will solve a problem of the mathematics. It's as if something that always just was believed to be modeled mathematically, also could 'to model' the mathematics. Naturally that any mathematician could express this theorem strictly in mathematical terms, without any mention to the physical reality of the that resulted, but this would sound extremely artificial, in addition to it would hinder plenty its understanding and demonstration.

INDEX
Bibliographical References

SZWARCFITER, Jayme Luiz (1983), Grafos e algoritmos computacionais, Campus, Rio de Janeiro.

CLOSE, Charles M. (1975), Circuitos lineares, vol. 1, Livros Técnicos e Científicos, Rio de Janeiro.


E-mail for: andreba@nutecnet.com.br

This page hosted by  Get your own Free Home Page