当前位置:网站首页>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
边栏推荐
- Kubedl hostnetwork: accelerating the efficiency of distributed training communication
- Day30-t540-2022-02-14-don't answer by yourself
- Qtoolbutton available signal
- 想请教一下,十大劵商如何开户?在线开户是安全么?
- URLEncoder. Encode and urldecoder Decode processing URL
- 炒股开户佣金优惠怎么才能获得,网上开户安全吗
- Kubedl hostnetwork: accelerating the efficiency of distributed training communication
- Ningde times and BYD have refuted rumors one after another. Why does someone always want to harm domestic brands?
- Gossip about redis source code 82
- D26: the nearest number (translation + solution)
猜你喜欢
A preliminary study on the middleware of script Downloader
A treasure open source software, cross platform terminal artifact tabby
Ningde times and BYD have refuted rumors one after another. Why does someone always want to harm domestic brands?
SPI based on firmware library
Tencent interview: can you find the number of 1 in binary?
Fluent learning (4) listview
How to quickly build high availability of service discovery
Kubedl hostnetwork: accelerating the efficiency of distributed training communication
Idea set class header comments
I wrote a chat software with timeout connect function
随机推荐
Gossip about redis source code 79
C # basic knowledge (3)
Ramble 72 of redis source code
2022.02.14
Design of logic level conversion in high speed circuit
2.14 summary
"Learning notes" recursive & recursive
Is the controller a single instance or multiple instances? How to ensure the safety of concurrency
Ningde times and BYD have refuted rumors one after another. Why does someone always want to harm domestic brands?
Fashion cloud interview questions series - JS high-frequency handwritten code questions
Briefly understand the operation mode of developing NFT platform
股票开户佣金最低的券商有哪些大家推荐一下,手机上开户安全吗
leetcode-43. String multiplication
[15th issue] Tencent PCG background development internship I, II and III (OC)
Investment demand and income forecast report of China's building ceramics industry, 2022-2028
The interviewer's biggest lie to deceive you, bypassing three years of less struggle
Pytorch learning notes 5: model creation
JDBC Technology
Interpretation of corolla sub low configuration, three cylinder power configuration, CVT fuel saving and smooth, safety configuration is in place
Powerful blog summary