Algorithm: Isomorphism judgment Algorithm of probability graph IsomorphismCal (g α , g i , ε , θ) Input: two probability graph g α and g i , the mismatch threshold value ε of the node voltage sequences set, the mismatch threshold value θ of probability adjoint matrix Output: the bool value Iso of two graph isomorphism, the node mapping sequence Inje i , the mismatch value VMval i of node voltage sequences matrix |
---|
1. //Generate the node voltage sequence matrix S α , S i according to g α , g i For each graph in {g α , g i } generate associated circuit N α and N i End For each graph in {g α , g i } For j = 1 to k Calculate the node voltage sequence S j while set node j as reference node;
End End 2. //calculate distance matrix according to S α , S i Calculate Dist(N α , N i ) according to formula(3); 3. //Get the node mapping relationship Inje i and the mismatch value of node voltage VMval i by Hungarian algorithm VMval i , Inje i > ← Hungarian(Dist); 4. // Compare VMval i and ε If VMval i <= ε g α and g i is not probability isomorphic; Continue; Else g α and g i maybe probability isomorphic; // g α and g i maybe probability isomorphic, and need further deal 5. //Calculate the mismatch value of adjoint matrix PMval i by adjust the adjoint matrix of g α and g i according to nodes mapping sequence If PMval i <= θ g α and g i is probability isomorphic; Iso =True; Return <Iso, Inje i ,VMval i > ; Else Return PermuteInjectedSequenceAndTestIso (g α , g i , Inje i , VMval i , θ); // Enumeration the node mapping relationship for isomorphic judgment End |