CN108898114A - A kind of vertex matching process of the public subgraph of maximum based on vertex conflict relationship - Google Patents
A kind of vertex matching process of the public subgraph of maximum based on vertex conflict relationship Download PDFInfo
- Publication number
- CN108898114A CN108898114A CN201810712272.2A CN201810712272A CN108898114A CN 108898114 A CN108898114 A CN 108898114A CN 201810712272 A CN201810712272 A CN 201810712272A CN 108898114 A CN108898114 A CN 108898114A
- Authority
- CN
- China
- Prior art keywords
- vertex
- domain
- level
- matching
- maximum
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The present invention provides a kind of vertex matching process of public subgraph of maximum based on vertex conflict relationship, the influence in the upper bound is matched to maximum public subgraph vertex by judging the conflict relationship between vertex, devise the score function according to the conflict relationship opposite vertexes between vertex, when instructing Subgraph Isomorphism search matching vertex, lesser subgraph is generated.The present invention is realized based on the study to historical search information, according to News Search information, finds the conflict relationship between vertex, is recorded vertex conflict relationship using score function, is and guided the direction of subsequent searches.This method is applicable in the identification of the problems such as biochemical molecule structure recognition, 2D, 3D, 4D figure, sparse big figure, hypsometric map and network, compares prior art, is more quickly completed the matching of maximum public subgraph.
Description
Technical field
The present invention relates to area of pattern recognition, more particularly, to a kind of public son of maximum based on vertex conflict relationship
The vertex matching process of figure.
Background technique
Maximum public subgraph problem (Maximum Common Subgraph Problem, MCSP) is graph isomorphism problem
Optimization form is NP classical in computer science (Non-deterministic Polynomial) complete problem, in biology
There is extremely wide application in the fields such as information, social networks, pattern-recognition.
The isomorphism of graph refers to syntople having the same between ideograph and the matching vertex of target figure, when two isomorphism of graphs
When, then they can draw in a like fashion.Regrettably graph isomorphism problem is a NP-hard (Non-
Deterministic Polynomial hard) problem, i.e., this kind of NP-hard problem can not be carried out in polynomial time
It solves.Solve graph isomorphism problem, it is basic be also by Complete Algorithm search can matched vertex come judge two figures whether isomorphism.
Maximum public subgraph problem MCSP refers to that there are isomorphism of graph relationships for searching in given ideograph and target figure
Maximum public subgraph.The search space of MCSP problem usually tree either space search tree (Space Search Tree,
SST).The Complete Algorithm of MCSP will traverse entire search tree, find the public subgraph of maximum that ideograph and target figure share.
The efficiency of maximum public subgraph Complete Algorithm depends primarily on the heuristic of traversal SST, it means that time
Branch is trimmed by constraint condition during going through.Usual beta pruning efficiency and the cost of heuristic are directly related.If cut
The method cost of branch is excessively high, and efficiency of algorithm can then reduce.Traversal strategies and fixed modal will not influence the structure of SST, on the contrary,
The considerations of vertex is depended on SST structural nature sequence, this is known as vertex sequence.
2017, the mcsplit algorithm that Ciaran is proposed was the highly effective algorithm of the public subgraph of maximum published at present
One of.Mcsplit algorithm uses recursion method, and each vertex matches, according to whether it is adjacent with selected vertex before, it will be current
Not matched vertex grouping.The small set of vertices of preferential selection coupling number, and with this recursive calculation.It wherein selects preferentially to select when vertex
The big vertex of Vertex Degree is selected, SST is scanned in such a way.Maximum matching number of vertex is recorded as boundary, is divided
Branch limit carrys out accelerating algorithm with this.Mcsplit algorithm proposes a kind of new label division methods, utilizes the label category on vertex
Property faster search for tree space, while remaining the benefit of screening and boundary constraint programmed method.Mcsplit algorithm is proved to
The efficiency of algorithm that it solves maximum public subgraph problem can be more than prior art an order of magnitude, but mcsplit algorithm exists
When selecting vertex order, the attribute of Vertex Degree or vertex syntople is only considered, these attributes are the more apparent features in vertex,
The effect of beta pruning in search process is need to be improved.
Summary of the invention
The present invention provide it is a kind of overcome the above problem or at least be partially solved the above problem based on vertex conflict close
The vertex matching process of the public subgraph of maximum of system, can preferentially select the vertex that profound impact is configured with to subgraph, efficiently
It realizes and reduces vertex pair to be matched, reduce search space, shorten and calculate the time, improve the efficiency of algorithm.
The vertex matching process for the public subgraph of maximum that the present invention provides a kind of based on vertex conflict relationship, including:
The vertex of not matched ideograph and the vertex of target figure are carried out the classification of level-one vertex domain, obtain level-one top by S1
Domain is put, includes the multiple vertex and multiple vertex of target figure of ideograph in the domain of the level-one vertex;
S2, selection is when previous stage matching branch point from the domain of the level-one vertex<v,w>, will be in the domain of the level-one vertex
Vertex is divided into two second level vertex domain according to the neighbouring relations for matching branch point with the level-one, forms next stage vertex domain,
Wherein, the maximum vertex of weight is selected to match from the domain of level-one vertex as level-one when previous stage matches branch point in selection
Branch point;
S3, judges whether the maximum matching number that next stage vertex domain is capable of providing is less than what upper level vertex domain was capable of providing
Maximum matching number, if so, updating when previous stage matches branch point<v,w>Weight;
S4 calculates the maximum matching number that next stage vertex domain is capable of providing, if maximum matching number is more excellent than current matching number,
Then since the next stage vertex domain, step S2~S4 is repeated, otherwise, executes step S5;
S5 cancels the next stage vertex domain, dates back the upper level vertex domain in the next stage vertex domain, return step S4,
Until finding out maximum matching number corresponding with previous stage matching branch point is worked as;
S6 repeats step S2~S5 for level-one vertex domain, obtains corresponding most with all level-ones matching branch point
Big coupling number;
S7 exports the maximum matching number in the corresponding maximum matching number of all level-one matching branch points and corresponding matching
It is right.
Beneficial effects of the present invention are:By judging that the conflict relationship between vertex matches maximum public subgraph vertex
The influence on boundary devises the score function according to the conflict relationship opposite vertexes between vertex, to instruct Subgraph Isomorphism search matching
When vertex, lesser subgraph is generated.The present invention is realized based on the study to historical search information, according to News Search information,
It was found that the conflict relationship between vertex, records vertex conflict relationship using score function, and guides the direction of subsequent searches.We
Method is applicable in the identification of the problems such as biochemical molecule structure recognition, 2D, 3D, 4D figure, sparse big figure, hypsometric map and network, phase
Than prior art, it is more quickly completed the matching of maximum public subgraph.
Based on the above technical solution, the present invention can also improve as follows.
Further, the vertex of not matched ideograph and target figure is subjected to the classification of level-one vertex domain in the step S1
It specifically includes:
It is all including ideograph in the domain of the level-one vertex when the ideograph of input and target figure are no label figure
All vertex in vertex and target figure;
When the ideograph of input and target figure are calibration maps, according to tag attributes by the vertex of ideograph and target figure
Vertex partition into different level-one vertex domains, wherein the vertex tag attributes having the same in the domain of each level-one vertex.
Further, the step S1 further includes:
According to the adjacency matrix of ideograph and target figure, respectively by all tops of the ideograph in each level-one vertex domain
All vertex of point and target figure are initially sorted according to the sequence of Vertex Degree from big to small.
Further, the step S3 is specifically included:
During matching branch points at different levels divide vertex domain, the maximum vertex that higher level vertex domain is capable of providing is determined
With number, and determine the maximum vertex coupling number that junior vertex domain is capable of providing;
If the maximum vertex coupling number that junior vertex domain is capable of providing is less than the maximum vertex that higher level vertex domain is capable of providing
Coupling number then increases the weight of the matching branch point selected from the domain of higher level vertex;
Wherein, the maximum vertex coupling number that higher level vertex domain is capable of providing is each vertex in the higher level vertex domain
The sum of the maximum matching number that domain is capable of providing, the maximum vertex coupling number that junior vertex domain is capable of providing are the junior vertex
The sum of the maximum matching number that each vertex domain is capable of providing in domain.
Further, the maximum vertex matching logarithm that each vertex domain is capable of providing is the vertex of ideograph in the vertex domain
Smaller value in several and target figure number of vertex.
Further, the vertex in the domain of the level-one vertex is matched into branch point according to the level-one in the step S2
Neighbouring relations be divided into two second level vertex domain, form next stage vertex domain and specifically include:
It is to match with the level-one point that the vertex partition other than level-one matching branch point will be removed in the domain of level-one vertex
Fulcrum has the second level vertex domain of neighbouring relations and matches the second level vertex domain that branch point does not have neighbouring relations with the level-one;
Wherein, the vertex of ideograph matches branch point with the level-one in the second level vertex domain with neighbouring relations
Ideograph vertex it is adjacent, and the vertex of target figure with the level-one matching target figure vertex of branch point it is adjacent;It is described not
The vertex of ideograph matches the ideograph vertex of branch point not phase with the level-one in second level vertex domain with neighbouring relations
Neighbour, and the vertex of target figure matched with the level-one branch point target figure vertex it is non-conterminous.
Further, described when each next stage vertex domain selects matching branch point, select the maximum vertex of weight
Matching branch point as this grade of vertex domain specifically includes:
In the domain of every level-one vertex when selection matching branch point, count what each vertex domain in this grade of vertex domain was capable of providing
Maximum matching number selects the maximum vertex of weight as this grade of vertex from the maximum vertex domain of maximum matching number being capable of providing
The matching branch point in domain;
If the maximum matching number that each vertex domain is capable of providing is equal, from the top with neighbouring relations in this grade of vertex domain
Point selects the maximum vertex of weight as the matching branch point in this grade of vertex domain in domain.
Further, if the score value on multiple vertex is equal, the vertex for preferentially selecting Vertex Degree big is as matching branch point.
Further, current matching number is obtained in the following way in the step S4:
It selects level-one to match branch point from the domain of level-one vertex, level-one vertex domain is divided, second level vertex domain is obtained,
Second degree matches branch point is selected from the domain of second level vertex, and so on, every level-one vertex domain is divided, until finally dividing
Vertex domain be sky, export whole process in every level-one match branch point, match branch point number be current matching number.
Detailed description of the invention
Fig. 1 is the vertex matching process stream of the public subgraph of maximum based on vertex conflict relationship of one embodiment of the invention
Cheng Tu;
Fig. 2 is the flow chart that the vertex score value of one embodiment of the invention updates;
Fig. 3 (A) is the syntople figure of ideograph;
Fig. 3 (B) is the syntople figure of target figure.
Specific embodiment
With reference to the accompanying drawings and examples, specific embodiments of the present invention will be described in further detail.Implement below
Example is not intended to limit the scope of the invention for illustrating the present invention.
It is the vertex matching of the public subgraph of maximum based on vertex conflict relationship of one embodiment of the invention referring to Fig. 1
Method, including:The vertex of not matched ideograph and the vertex of target figure are carried out the classification of level-one vertex domain, obtain level-one by S1
Vertex domain includes the multiple vertex and multiple vertex of target figure of ideograph in the domain of the level-one vertex;S2, from the level-one top
Selection is when previous stage matching branch point in point domain<v,w>, the vertex in the domain of the level-one vertex is matched according to the level-one
The neighbouring relations of branch point are divided into two second level vertex domain, form next stage vertex domain;S3 judges that next stage vertex domain can
Whether the maximum matching number of offer is less than the maximum matching number that upper level vertex domain is capable of providing, and works as previous stage if so, updating
Match branch point<v,w>Weight;S4 calculates the maximum matching number that next stage vertex domain is capable of providing, if maximum matching number ratio
Current matching number is more excellent, then since the next stage vertex domain, repeats step S2~S4, otherwise, executes step S5;S5,
Cancel the next stage vertex domain, dates back the upper level vertex domain in the next stage vertex domain, return step S4, until finding out and working as
Previous stage matches the corresponding maximum matching number of branch point;S6 repeats step S2~S5 for level-one vertex domain, obtain with
All level-ones match the corresponding maximum matching number of branch point;S7 exports the corresponding maximum matching number of all level-one matching branch points
In maximum matching number and corresponding matching pair.
Wherein, current embodiment require that being found from target figure and part identical in ideograph, referred to as public subgraph, mode
The characteristics of figure is known, it is now desired to the characteristics of goal in research figure, therefore, be found public with the maximum of ideograph in target figure
Subgraph, it will be able to which the characteristics of goal in research figure, this method is suitable for being widely applied field, belongs to mode identification technology.
Firstly, according to the ideograph of input and target figure, the adjoining of the syntople and target figure of establishment model figure respectively
Relationship, referred to as adjacency matrix.Adjacent pass between all vertex and vertex in the adjacency matrix of ideograph comprising ideograph
System, likewise, including the syntople between all vertex and vertex of target figure in adjacency matrix in target figure.According to mould
All vertex of the adjacency matrix of formula figure and the adjacency matrix of target figure, all vertex and target figure to ideograph carry out one
Grade vertex domain classification, form at least one level-one vertex domain, wherein in the domain of level-one vertex including ideograph multiple vertex and
The attribute on multiple vertex of target figure, all vertex in each vertex domain is identical.
When previous stage matching branch point, it is actually that a pair of of matching is pushed up that level-one, which matches branch point, for selection from the domain of level-one vertex
Point pair, a vertex on a vertex and target figure including ideograph.For other vertex in the domain of level-one vertex, according to
The neighbouring relations of level-one matching branch point are divided into two second level vertex domain, vertex and level-one in the domain of one of second level vertex
Matching branch point has neighbouring relations, and the vertex domain level-one matching branch point in another second level vertex domain does not have adjacent pass
System.
For dividing two second level vertex domain of coming when previous stage matching branch point, one of them is with neighbouring relations
Second level vertex domain, another is the second level vertex domain without neighbouring relations.For two second level vertex domain, one is therefrom selected
Second degree matches branch point matches branch point tool according to the neighbouring relations with the second degree matches branch point for aforementioned with level-one respectively
There is the second level vertex domain of neighbouring relations to be divided into two three-level vertex domain, level-one will match branch point without adjacent pass with level-one
The second level vertex domain of system is divided into two three-level vertex domain, thus forms four three-level vertex domain.And so on, next stage top
The number in point domain is 2 times of the number in upper level vertex domain, certainly, in the domain of every level-one vertex, may there is empty vertex domain,
Corresponding vertex is sky i.e. in the sky vertex domain.
During vertex domain at different levels divides, whether the maximum matching number for judging that next stage vertex domain is capable of providing is less than
The maximum matching number that upper level vertex domain is capable of providing, for example, judging whether is maximum matching number that three-level vertex domain is capable of providing
Less than the maximum matching number that second level vertex domain is capable of providing, if so, be updated to the weight of second degree matches branch point, i.e., pair
The weight on two vertex that second degree matches branch point includes is updated, the conflict journey on the weight characterization vertex on each vertex
Degree, the weight on vertex is bigger, indicates that the conflict spectrum on the vertex is bigger.It is preferential to select in this way in subsequently selected matching branch point
The big vertex of weight score is selected as matching branch point, the matching volumes of searches of computer can be reduced in this way, entire matching is improved and searches
The efficiency of rope.
During entirely searching for matched, when every division level-one vertex domain, then calculate what this grade of vertex domain was capable of providing
Whether maximum matching number is better than current matching number, i.e. whether the maximum matching number that this grade of vertex domain is capable of providing is greater than current matching
Number carries out the division in vertex domain, matching search if so, reselecting this grade matching branch point since the domain of this grade of vertex;
If whether the maximum matching number that this grade of vertex domain is capable of providing is less than or equal to current matching number, cancel this grade of vertex domain,
That is subsequent do not have to search matching this grade of vertex domain, the beta pruning in entire matching search process, reduction can have been reached in this way
With volumes of searches, search efficiency is improved.
It should be noted that current matching number refers to selects level-one matching branch point from the domain of level-one vertex, to level-one top
Point domain is divided, and second level vertex domain is obtained, and second degree matches branch point is selected from the domain of second level vertex, and so on, to each
Grade vertex domain is divided, and until the vertex domain finally divided is sky, the every level-one exported in whole process matches branch point,
The number for matching branch point is current matching number.
Branch point is matched for each level-one, matching branch point is selected level-one vertex domain to divide step by step, until
Each the vertex domain finally divided is sky, i.e. search matching finishes, and exports one group of matching pair, i.e. every level-one of selection at this time
Branch point is matched, the number and these matching branch points of these matching branch points are counted.
For level-one vertex domain, level-one matching branch point is reselected, search matching step above-mentioned, finally also defeated again
The number of branch point is matched out and matches branch point accordingly.
Compare the matching searched under each level-one matching branch point to number, exports the maximum matching pair of number, it should
The matched optimal solution of search that maximum matching is ideograph and target figure to number, corresponding matching is to may make up ideograph
With the public subgraph of maximum of target figure.
In one embodiment of the invention, the vertex of not matched ideograph and target figure is carried out in the step S1
The classification of initial vertax domain specifically includes:When the ideograph of input and target figure are no label figure, in the domain of the level-one vertex
All vertex in all vertex and target figure including ideograph;When the ideograph of input and target figure are calibration maps,
According to tag attributes by the vertex partition of the vertex of ideograph and target figure into different level-one vertex domains, wherein Mei Geyi
Vertex tag attributes having the same in grade vertex domain.
When level-one vertex domain is classified, classified according to the different type of ideograph and target figure, specially if mould
Formula figure and target figure are no label figure, then show that all vertex and all vertex in target figure in ideograph are possible to
Matching, therefore, by all vertex partitions in all vertex and target figure in ideograph into same level-one vertex domain, i.e.,
Level-one vertex domain is one.
If ideograph and target figure are calibration maps, i.e., all vertex in ideograph may have different data marks
Attribute is signed, similarly, all vertex in target figure also have different data label attributes.In this case, according to vertex
All vertex partitions in all vertex and target figure in ideograph are several level-one vertex domains by different tag attributes,
Vertex in each level-one vertex domain all has identical tag attributes.
In another embodiment of the present invention, the step S1 further includes:According to the adjoining square of ideograph and target figure
Battle array, respectively by all vertex of the ideograph in the domain of level-one vertex and all vertex of target figure according to Vertex Degree from big to small
Sequence initially sorted.
For each level-one vertex domain, according to syntople, by the institute in all vertex and target figure in ideograph
There is vertex initially to be sorted according to the sequence of Vertex Degree from big to small.Wherein, Vertex Degree is the vertex and other vertex phases
Adjacent number of edges, a vertex is adjacent with other more vertex, then the Vertex Degree on the vertex is bigger.For in the domain of level-one vertex
Vertex is ranked up according to Vertex Degree, in computer selection level-one matching branch point, usually selection trial from front to back
Match, can be improved the matched efficiency in vertex of entire maximum public subgraph in this way.
In another embodiment of the present invention, the level-one matching branch point includes in the ideograph in the domain of level-one vertex
A vertex and target figure in a vertex, the step S2 specifically includes:Described in being removed in the domain of the level-one vertex
Level-one matching branch point other than vertex partition be matched with the level-one branch point have neighbouring relations second level vertex domain and
The second level vertex domain that branch point does not have neighbouring relations is matched with the level-one;Wherein, the second level top with neighbouring relations
The vertex of ideograph is adjacent with the level-one matching ideograph vertex of branch point in point domain, and the vertex of target figure is and institute
The target figure vertex for stating level-one matching branch point is adjacent;The vertex of ideograph in the second level vertex domain without neighbouring relations
The ideograph vertex that branch point is matched with the level-one is non-conterminous, and the vertex of target figure matches branch point with the level-one
Target figure vertex it is non-conterminous.
It should be noted that all matching branch points, including level-one matching branch point, second degree matches branch point and subsequent
Branch's match point step by step is made of two vertex, including a vertex in ideograph and one in target figure
Vertex.All vertex when being two second level vertex domains by the vertex partition in the domain of level-one vertex, in the domain of a second level vertex
Adjacent with level-one matching branch point, it is non-conterminous that all vertex in another second level vertex domain with level-one match branch point.
Assuming that level-one vertex domain is D0={ v1,v2,v3....,vk,vk+1,....,vk+d,w1,w2,w3....,wm,
wm+1,....,wm+n, select level-one to match branch point from the domain of level-one vertex<v1,w1>, wherein v1 is mould in the domain of level-one vertex
One vertex of formula figure, w1 are a vertex of target figure in the domain of level-one vertex.For other vertex in the domain of level-one vertex, press
Branch point is matched according to level-one<v1,w1>Neighbouring relations be divided into two second level vertex domain, wherein D1={ v2,v3,...,
vi...,vk,w2,w3...,wj...,wmIn any vertex viIt is adjacent, and any w with v1jIt is adjacent with w1;D2=
{vk+1,....,vk+d,wm+1,....,wm+nIn any vertex viIt is non-conterminous, and any w with v1jIt is non-conterminous with w1.
Therein divide step by step is that the vertex domain of upper level is divided into Liang Ge junior top according to the neighbouring relations for matching branch point
Point domain.
For three-level vertex domain, for example select<v2,w2>As second degree matches branch point, then respectively by the top in D1 and D2
Point according to<v2,w2>Whether there are neighbouring relations to be further subdivided into two three-level vertex domain, forms four three-level vertex domain, step by step
It is divided, until can not mark off Liang Ge junior vertex domain, that is, marking off the vertex domain come is sky, and expression has divided
Finish.
In another embodiment of the present invention, referring to fig. 2, the step S3 is specifically included:In matching branch points at different levels
During dividing vertex domain, the maximum vertex coupling number that higher level vertex domain is capable of providing is determined, and determine junior vertex domain
The maximum vertex coupling number being capable of providing;If the maximum vertex coupling number that junior vertex domain is capable of providing is less than higher level vertex domain energy
The maximum vertex coupling number enough provided then increases the weight of the matching branch point selected from the domain of higher level vertex;Wherein, on described
The maximum vertex coupling number that grade vertex domain is capable of providing is each vertex domain is capable of providing in the higher level vertex domain maximum
With the sum of number, the maximum vertex coupling number that junior vertex domain is capable of providing is each vertex domain energy in the junior vertex domain
The sum of maximum matching number enough provided.
It is preoption value score when selecting second degree matches branch point and when subsequent matching branch point at different levels
Big vertex is as second degree matches branch point and matching branch point at different levels, and the score value update condition on each vertex is, in determination
The maximum vertex that level-one vertex domain can provide matches logarithm, and determines the maximum vertex matching that junior vertex domain can provide
Logarithm, wherein the maximum vertex matching logarithm that each vertex domain is capable of providing is the number of vertex and mesh of ideograph in the vertex domain
The smaller value in number of vertex marked on a map.
If the maximum vertex matching logarithm that junior vertex domain can provide is less than the maximum top that higher level vertex domain can provide
Point matching logarithm then shows that the conflict spectrum on two vertex of higher level matching branch point is big, then increasing mutually should higher level's matching
The score value on each vertex in branch point matches the score value on ideograph vertex and target figure top in branch point including increasing the higher level
The score value of point.
For example, the maximum matching number that two second level vertex domain is capable of providing is counted respectively after second level vertex domain divides,
After three-level vertex domain divides, the maximum matching number that four three-level vertex domain is capable of providing is counted respectively, judges four three-level vertex
The sum of maximum matching number that domain is capable of providing whether the sum of the maximum matching number that less than two second level vertex domain is capable of providing, if
It is the score value on two vertex in corresponding second degree matches branch point then to be increased into identical score, in the present embodiment,
Increase by 1 point., can be with the score of datum vertex when search matches afterwards in this way, the vertex for preferentially selecting score value big is as matching
Branch point.
Wherein, opposite vertexes score value of the present invention be updated be it is dynamic in real time, in order to reduce the cost of calculating, searched using side
The method of rope side more new summit score value, provides the efficiency of calculating.
In addition, selecting the maximum vertex of weight as the grade when each next stage vertex domain selects matching branch point
The matching branch point in vertex domain specifically includes:In the domain of every level-one vertex when selection matching branch point, this grade of vertex domain is counted
The maximum matching number that each vertex domain is capable of providing selects weight most from the maximum vertex domain of maximum matching number being capable of providing
Matching branch point of the big vertex as this grade of vertex domain;If the maximum matching number that each vertex domain is capable of providing is equal, from
Select the maximum vertex of weight as the matching branch in this grade of vertex domain in the vertex domain with neighbouring relations in this grade of vertex domain
Point.
It summarizes, for the orderly progress of the matching branch point of every level-one, reduces workload, match branch point in selection
When, the maximum vertex of score value is preferentially selected from the maximum vertex domain of coupling number being capable of providing, if multiple vertex domains can mention
The maximum matching number of confession is equal, then the maximum vertex of score value is selected from the vertex domain with neighbouring relations.If multiple vertex
Score value is identical, then considers Vertex Degree, the vertex for selecting Vertex Degree big.
In order to deepen to proposed by the present invention the public subgraph of maximum based on conflict relationship vertex matching process understanding,
It is described in detail below with specific example.
Wherein, Fig. 3 (A) is the syntople figure of ideograph, and Fig. 3 (B) is the syntople figure of target figure, first layer vertex
Domain includesWherein, the vertex in the first behavior ideograph, the vertex in the second performance-based objective figure, most
Multipotency provides 6 matchings to (smaller value for taking number of vertex in number of vertex and target figure in ideograph).
Level-one matches branch point selection<1,a>, first layer vertex domain is divided into neighbouring relationsWithout neighbouring relationsSecond layer vertex domain is formed, most multipotency provides (2+2+1)=5
A matching pair.
The selection of second degree matches branch point<2,e>, by second layer vertex domain d21It is divided into two three-level vertex domain,And d32={ empty }, by vertex domain d22It is divided into two three-level vertex domain d33={ empty } andIt is formed
Third layer vertex domain, most multipotency provide (1+2+2)=5 matching pair.
Three-level matches branch point selection<3, b>, third layer vertex domain is divided into d41=d42=d43=d44=d45=d46
={ empty },The 4th layer of vertex domain is formed, most multipotency provides (1+1+3)=5 matching pair.
Level Four matches branch point selection<5,c>, the 4th layer of vertex domain is divided intoWithForm layer 5 vertex
Domain, remaining is sky, and most multipotency provides (1+4)=5 matching pair.
Pyatyi matches branch point selection<6,d>, by all skies after the division of layer 5 vertex domain, division terminates, and current
It is paired into<1,a>,<2,e>,<3, b>,<5,c>With<6,d>, i.e., when stating matching branch point at different levels before the selection, what is obtained is current
Coupling number is 5.
After having obtained current matching number, recalled, trace back to layer 5, is cancelled<6,d>Matching pair, can to layer 5
The maximum matching number of offer is estimated, for (<1,a>,<2,e>,<3, b>,<5, c>) four matching pair+layer 5 vertex domain energy
The maximum matching number 0 enough provided (removes<6,d>The maximum matching number that layer 5 vertex domain is capable of providing afterwards is 0) i.e. layer 5
Vertex domain at most provides 4 matchings pair, is less than current matching number, therefore, carries out beta pruning to layer 5 vertex domain, i.e., subsequent to be not necessarily to
Layer 5 vertex domain is scanned for matching.
Then the 4th layer of vertex domain is traced back to, is cancelled<5,c>With<6,d>Matching, calculate the 4th layer of vertex be capable of providing
Maximum matching number be (<1,a>,<2,e>,<3, b>)+1=4, be less than current matching number, therefore, to the 4th layer of vertex domain also into
Row beta pruning.
Layer vertex domain is recalled upwards in turn, if the maximum matching number which layer vertex domain is capable of providing is less than or equal to
Current matching number then carries out beta pruning to this layer of vertex domain;On the contrary, working as when the maximum matching number that this layer of vertex domain is capable of providing is greater than
Preceding coupling number, then since the domain of this grade of vertex, downwards search matching, search for matched process and it is above-mentioned from first layer vertex domain to
The search matching process in layer 6 vertex domain is identical.
By above-mentioned whole process, it will be able to which search matching obtains matching branch point in level-one<1,a>Under optimal
With several and corresponding matching pair.
It is subsequent, it selects level-one to match branch point again from the domain of first layer vertex, finds each level-one matching branch point pair
The Optimum Matching number answered and corresponding matching pair.
All level-ones of final output match maximum matching number and corresponding in the corresponding Optimum Matching number of branch points
Pairing, these matchings are to the public subgraph of the maximum for constituting ideograph and target figure.
During searching for matched, if the maximum matching number that next layer of vertex domain is capable of providing is less than upper one layer of vertex domain
The weight of the matching branch point selected from upper one layer of vertex domain is then added 1 by the maximum matching number being capable of providing.For example, the example
In son, first layer vertex domain most multipotency provides 6 matchings pair, and second layer vertex domain most multipotency provides 5 matchings pair, then will be from
The level-one matching branch point selected in the domain of first layer vertex<1,a>Weight add 1, when so as to subsequently selected matching branch point, make
For reference, the big vertex of preoption value score is as matching branch point.
The vertex matching process of maximum public subgraph provided by the invention based on vertex conflict relationship, with traditional mode
It compares, the innovative point having is:
(1) maximum published at present public subgraph algorithm when selecting vertex order, only considers that Vertex Degree or vertex are adjacent
The attribute of relationship is connect, these attributes are the more apparent features in vertex, and the invention proposes vertex conflicts to upper bound discreet value
Calculating be to lead to beta pruning, improve the key factor of efficiency of algorithm.
(2) present invention has found the effective method for calculating vertex conflict, and discovery vertex conflict plays beta pruning important
Effect, but the function for calculating vertex conflict and mode the problem of being to be solved how are designed, vertex conflict is calculated in the present invention
Method be that dynamic assigns argument weight, i.e., whenever argument, refer to vertex in the present invention, upper bound discreet value can be reduced, then become
First score value adds 1, and upper bound discreet value therein can be understood as the maximum vertex that can be provided matching logarithm, simple and convenient.
Finally, the present processes are only preferable embodiment, it is not intended to limit the scope of the present invention.It is all
Within the spirit and principles in the present invention, any modification, equivalent replacement, improvement and so on should be included in protection of the invention
Within the scope of.
Claims (9)
1. a kind of vertex matching process of the public subgraph of maximum based on vertex conflict relationship, which is characterized in that including:
The vertex of not matched ideograph and the vertex of target figure are carried out the classification of level-one vertex domain, obtain level-one vertex domain by S1,
Multiple vertex on multiple vertex and target figure in the domain of the level-one vertex including ideograph;
S2, selection is when previous stage matching branch point from the domain of the level-one vertex<v,w>, by the vertex in the domain of the level-one vertex
It is divided into two second level vertex domain according to the neighbouring relations for matching branch point with the level-one, forms next stage vertex domain, wherein
In selection when previous stage matches branch point, the maximum vertex of weight is selected to match branch as level-one from the domain of level-one vertex
Point;
S3, judges whether the maximum matching number that next stage vertex domain is capable of providing is less than the maximum that upper level vertex domain is capable of providing
Coupling number, if so, updating when previous stage matches branch point<v,w>Weight;
S4 calculates the maximum matching number that next stage vertex domain is capable of providing, if maximum matching number is more excellent than current matching number, from
The next stage vertex domain starts, and repeats step S2~S4, otherwise, executes step S5;
S5 cancels the next stage vertex domain, dates back the upper level vertex domain in the next stage vertex domain, return step S4, until
Find out maximum matching number corresponding with previous stage matching branch point is worked as;
S6 reselects level-one matching branch point, repeats step S2~S5, obtain and all one for level-one vertex domain
The corresponding maximum matching number of grade matching branch point;
S7 exports the maximum matching number in the corresponding maximum matching number of all level-one matching branch points and corresponding matching pair.
2. vertex matching process according to claim 1, which is characterized in that will not matched ideograph in the step S1
The classification of level-one vertex domain is carried out with the vertex of target figure to specifically include:
When the ideograph of input and target figure are no label figure, including all vertex of ideograph in the domain of the level-one vertex
With all vertex in target figure;
When the ideograph of input and target figure are calibration maps, according to tag attributes by the top on the vertex of ideograph and target figure
Point is divided into different level-one vertex domains, wherein the vertex tag attributes having the same in the domain of each level-one vertex.
3. vertex matching process according to claim 1, which is characterized in that the step S1 further includes:
According to the adjacency matrix of ideograph and target figure, respectively by all vertex of the ideograph in each level-one vertex domain and
It is initially sorted according to the sequence of Vertex Degree from big to small on all vertex of target figure.
4. vertex matching process according to claim 1, which is characterized in that the step S3 is specifically included:
During matching branch points at different levels divide vertex domain, the maximum vertex matching that higher level vertex domain is capable of providing is determined
Number, and determine the maximum vertex coupling number that junior vertex domain is capable of providing;
If the maximum vertex coupling number that junior vertex domain is capable of providing is less than the maximum vertex matching that higher level vertex domain is capable of providing
Number then increases the weight of the matching branch point selected from the domain of higher level vertex;
Wherein, the maximum vertex coupling number that higher level vertex domain is capable of providing is each vertex domain energy in the higher level vertex domain
The sum of maximum matching number enough provided, the maximum vertex coupling number that junior vertex domain is capable of providing are in the junior vertex domain
The sum of the maximum matching number that each vertex domain is capable of providing.
5. vertex matching process according to claim 4, which is characterized in that the maximum vertex that each vertex domain is capable of providing
Matching logarithm is the smaller value in the vertex domain in the number of vertex of ideograph and the number of vertex of target figure.
6. vertex matching process according to claim 1, which is characterized in that by level-one vertex domain in the step S2
In vertex be divided into two second level vertex domain according to the neighbouring relations for matching branch point with the level-one, form next stage vertex
Domain specifically includes:
It is to match branch point with the level-one by the vertex partition removed in the domain of level-one vertex other than the level-one matching branch point
Second level vertex domain with neighbouring relations and the second level vertex domain that branch point does not have neighbouring relations is matched with the level-one;
Wherein, the vertex of ideograph matches the mould of branch point with the level-one in the second level vertex domain with neighbouring relations
Formula figure vertex is adjacent, and the vertex of target figure is adjacent with the level-one matching target figure vertex of branch point;It is described not have
In the second level vertex domain of neighbouring relations the vertex of ideograph matched with the level-one branch point ideograph vertex it is non-conterminous, and
The target figure vertex that the vertex of target figure matches branch point with the level-one is non-conterminous.
7. the vertex matching process according to claim 4 or 6, which is characterized in that described in each next stage vertex domain
When selection matching branch point, the maximum vertex of weight is selected to specifically include as the matching branch point in this grade of vertex domain:
In the domain of every level-one vertex when selection matching branch point, the maximum that each vertex domain in this grade of vertex domain is capable of providing is counted
Coupling number selects the maximum vertex of weight as this grade of vertex domain from the maximum vertex domain of maximum matching number being capable of providing
Match branch point;
If the maximum matching number that each vertex domain is capable of providing is equal, from the vertex domain with neighbouring relations in this grade of vertex domain
The middle matching branch point for selecting the maximum vertex of weight as this grade of vertex domain.
8. vertex matching process according to claim 7, which is characterized in that if the score value on multiple vertex is equal, preferentially
The vertex for selecting Vertex Degree big is as matching branch point.
9. vertex matching process according to claim 3, which is characterized in that obtained in the following way in the step S4
Current matching number:
It selects level-one to match branch point from the domain of level-one vertex, level-one vertex domain is divided, second level vertex domain is obtained, from two
Grade selects second degree matches branch point in the domain of vertex, and so on, every level-one vertex domain is divided, until the top finally divided
Point domain is sky, and the every level-one exported in whole process matches branch point, and the number for matching branch point is current matching number.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810712272.2A CN108898114A (en) | 2018-07-03 | 2018-07-03 | A kind of vertex matching process of the public subgraph of maximum based on vertex conflict relationship |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810712272.2A CN108898114A (en) | 2018-07-03 | 2018-07-03 | A kind of vertex matching process of the public subgraph of maximum based on vertex conflict relationship |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108898114A true CN108898114A (en) | 2018-11-27 |
Family
ID=64347784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810712272.2A Pending CN108898114A (en) | 2018-07-03 | 2018-07-03 | A kind of vertex matching process of the public subgraph of maximum based on vertex conflict relationship |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108898114A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020144552A1 (en) * | 2019-01-11 | 2020-07-16 | International Business Machines Corporation | Molecular structure generation with substructure representations |
CN111612015A (en) * | 2020-05-26 | 2020-09-01 | 创新奇智(西安)科技有限公司 | Vehicle identification method and device and electronic equipment |
-
2018
- 2018-07-03 CN CN201810712272.2A patent/CN108898114A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020144552A1 (en) * | 2019-01-11 | 2020-07-16 | International Business Machines Corporation | Molecular structure generation with substructure representations |
CN111612015A (en) * | 2020-05-26 | 2020-09-01 | 创新奇智(西安)科技有限公司 | Vehicle identification method and device and electronic equipment |
CN111612015B (en) * | 2020-05-26 | 2023-10-31 | 创新奇智(西安)科技有限公司 | Vehicle identification method and device and electronic equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dutt et al. | VLSI circuit partitioning by cluster-removal using iterative improvement techniques | |
Hruschka et al. | Evolutionary algorithms for clustering gene-expression data | |
CN106682116A (en) | OPTICS point sorting clustering method based on Spark memory computing big data platform | |
GB2592335A (en) | Partitioning knowledge graph | |
CN106682306B (en) | Rapid FPGA wiring method | |
CN108898114A (en) | A kind of vertex matching process of the public subgraph of maximum based on vertex conflict relationship | |
CN102629305A (en) | Feature selection method facing to SNP (Single Nucleotide Polymorphism) data | |
CN103473248A (en) | Continuously-moving K adjacent query method in road network environment | |
CN111709560A (en) | Method for solving vehicle path problem based on improved ant colony algorithm | |
CN107121146A (en) | Optimum path planning method based on road chain depth | |
CN110097529B (en) | Farmland grading unit dividing method and system based on semantic rules | |
CN109614520B (en) | Parallel acceleration method for multi-pattern graph matching | |
CN111340303A (en) | Route planning method for travelers based on novel mixed frog-leaping algorithm | |
CN103425753A (en) | Method for searching for heuristic shortest path based on direction optimization | |
CN109815537B (en) | High-flux material simulation calculation optimization method based on time prediction | |
CN109583660A (en) | A kind of implementation method of dynamic order-picking policy | |
CN108416381B (en) | Multi-density clustering method for three-dimensional point set | |
CN108491505B (en) | DSATUR graph vertex coloring method based on topological potential value sorting | |
CN108171785B (en) | SAH-KD tree design method for ray tracing | |
CN108388769A (en) | Protein Functional Module Identification Method Based on Edge-Driven Label Propagation Algorithm | |
CN114896480B (en) | Top-K space keyword query method based on road network index | |
CN102456073A (en) | Partial extremum inquiry method | |
CN114202609B (en) | Mixed heuristic graph coloring method | |
CN110097076A (en) | A kind of vector road network matching parallel calculating method and device based on GPU architecture | |
Strasser | PACE solver description: Tree depth with flowcutter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181127 |
|
WD01 | Invention patent application deemed withdrawn after publication |