当前位置:网站首页>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
边栏推荐
- Fluent learning (5) GridView
- Pyqt5 sensitive word detection tool production, operator's Gospel
- Introduction to the gtid mode of MySQL master-slave replication
- D25:sequence search (sequence search, translation + problem solving)
- [Mongodb] 2. Use mongodb --------- use compass
- Correlation analysis summary
- Go error collection | talk about the difference between the value type and pointer type of the method receiver
- "Learning notes" recursive & recursive
- Vscode regular match replace console log(.*)
- How to quickly build high availability of service discovery
猜你喜欢

The interviewer's biggest lie to deceive you, bypassing three years of less struggle

Ningde times and BYD have refuted rumors one after another. Why does someone always want to harm domestic brands?

Ningde times and BYD have refuted rumors one after another. Why does someone always want to harm domestic brands?

2022 chemical automation control instrument examination content and chemical automation control instrument simulation examination

Hcip day 15 notes

Ningde times and BYD have refuted rumors one after another. Why does someone always want to harm domestic brands?

2022.02.14

Idea a method for starting multiple instances of a service

How to solve the "safe startup function prevents the operating system from starting" prompt when installing windows10 on parallel desktop?

Ningde times and BYD have refuted rumors one after another. Why does someone always want to harm domestic brands?
随机推荐
2022 free examination questions for hoisting machinery command and hoisting machinery command theory examination
The upload experience version of uniapp wechat applet enters the blank page for the first time, and the page data can be seen only after it is refreshed again
2022 chemical automation control instrument examination content and chemical automation control instrument simulation examination
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.
ADB command to get XML
2022 examination of safety production management personnel of hazardous chemical production units and examination skills of safety production management personnel of hazardous chemical production unit
I would like to ask how the top ten securities firms open accounts? Is it safe to open an account online?
"Learning notes" recursive & recursive
Analysis on the scale of China's smart health industry and prediction report on the investment trend of the 14th five year plan 2022-2028 Edition
股票開戶傭金最低的券商有哪些大家推薦一下,手機上開戶安全嗎
Zipper table in data warehouse (compressed storage)
Gossip about redis source code 79
Ningde times and BYD have refuted rumors one after another. Why does someone always want to harm domestic brands?
JDBC Technology
2022 chemical automation control instrument examination content and chemical automation control instrument simulation examination
Live app source code, jump to links outside the station or jump to pages inside the platform
Selenium library 4.5.0 keyword explanation (I)
Errors taken 1 Position1 argument but 2 were given in Mockingbird
Qtoolbutton available signal
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