当前位置:网站首页>Subgraph isomorphism -subgraph isomorphism
Subgraph isomorphism -subgraph isomorphism
2022-07-03 23:46:00 【Dark blue blue blue】
Subgraph isomorphism is subgraph isomorphism,
hypothesis G Figure ,S Is a subgraph , If S All in node( node ) Between and edge( edge ) Can be mapped to G In the words of ( Just have the same structure ), It is called subgraph isomorphism .
induced subgraph isomorphism:G and S Corresponding node Between edge One-to-one correspondence
non-induced subgraph isomorphism:G Corresponding node Between some edge There is no in S in
Subgraph matching (Subgraph matching computation):
- Calculate candidates node(Candidate computation)
That is to help each S Medium node seek G Nodes in may correspond to each other
Pseudo code :
candidate_node=list()
for node_u in S:
for node_v in G:
if v Have all the u Of label and len(v.neighbours)>=len(u.neighbours):
candidate_node.append(v)
Set the search order
In the simple method, search in random orderIsomorphic search
Use recursive form to put S Each of them node Corresponding G Candidates in node Put in the new sub graph , And match ( Backtracking algorithm ,backtracking, It is somewhat similar to the traversal of a tree )
query_node: S Medium node
data_node: G Medium node( Those correspondences S Of candidate node)
O:query_node Search order of ( It's just one. query_node Of list)
Φ \Phi Φ: All isomorphic sets
ϕ \phi ϕ: An isomorphic object ( Contains query_node And corresponding data_node)
v: One data node
u: One query node
Pseudo code :
def IsomorphismSearch(G,S,C,O,i,$\phi$,$\Phi$):
if $\phi$.query_node=S.node:
$\Phi$.append($\phi$)
else:
u=O[i]
for v in u Of candidate node:
if v not in $\phi$.data_node and IsValid(G,S,$\phi$,u,v):
$\phi$[U]=v
IsomorphismSearch(G,S,C,O,i,$\phi$,$\Phi$)
$\phi$.query_node.remove(u)
return $\Phi$
def IsValid(G,S,$\phi$,u,v):
for u' in u.neighbours:
if neighbour stay $\phi$.query_node in , however u and u' The mapping of edge(v,$\phi$(u')) But in the G Does not exist in the :
return False
if isomorphism yes induced Of :
for u' in u.query_node:
if u' and u Not connected , But they are G Mapping in (v,$\phi$(u')) It's connected :
return False
return True
边栏推荐
- How to solve the "safe startup function prevents the operating system from starting" prompt when installing windows10 on parallel desktop?
- Kubedl hostnetwork: accelerating the efficiency of distributed training communication
- Selenium library 4.5.0 keyword explanation (III)
- Docking Alipay process [pay in person, QR code Payment]
- Op amp related - link
- What are the securities companies with the lowest Commission for stock account opening? Would you recommend it? Is it safe to open an account on your mobile phone
- How to quickly build high availability of service discovery
- Recursive least square adjustment
- IO flow principle and classification
- A treasure open source software, cross platform terminal artifact tabby
猜你喜欢
2022 chemical automation control instrument examination content and chemical automation control instrument simulation examination
How to quickly build high availability of service discovery
SPI based on firmware library
2022 chemical automation control instrument examination content and chemical automation control instrument simulation examination
QT creator source code learning note 05, how does the menu bar realize plug-in?
Docking Alipay process [pay in person, QR code Payment]
Ningde times and BYD have refuted rumors one after another. Why does someone always want to harm domestic brands?
Pyqt5 sensitive word detection tool production, operator's Gospel
Ningde times and BYD have refuted rumors one after another. Why does someone always want to harm domestic brands?
Yyds dry goods inventory [practical] simply encapsulate JS cycle with FP idea~
随机推荐
[network security] what is emergency response? What indicators should you pay attention to in emergency response?
2022 Guangdong Provincial Safety Officer a certificate third batch (main person in charge) simulated examination and Guangdong Provincial Safety Officer a certificate third batch (main person in charg
2022 free examination questions for hoisting machinery command and hoisting machinery command theory examination
How to prevent malicious crawling of information by one-to-one live broadcast source server
Analysis of refrigeration and air conditioning equipment operation in 2022 and examination question bank of refrigeration and air conditioning equipment operation
The difference between single power amplifier and dual power amplifier
ADB related commands
China standard gas market prospect investment and development feasibility study report 2022-2028
2022 chemical automation control instrument examination content and chemical automation control instrument simulation examination
Amway by head has this project management tool to improve productivity in a straight line
Fashion cloud interview questions series - JS high-frequency handwritten code questions
Ningde times and BYD have refuted rumors one after another. Why does someone always want to harm domestic brands?
Les sociétés de valeurs mobilières dont la Commission d'ouverture d'un compte d'actions est la plus faible ont ce que tout le monde recommande.
Investment demand and income forecast report of China's building ceramics industry, 2022-2028
Correlation analysis summary
Gossip about redis source code 76
Cgb2201 preparatory class evening self-study and lecture content
How to quickly build high availability of service discovery
Sword finger offer day 4 (Sword finger offer 03. duplicate numbers in the array, sword finger offer 53 - I. find the number I in the sorted array, and the missing numbers in sword finger offer 53 - ii
D30:color tunnels (color tunnels, translation)