Page 293 -
P. 293

6.4 Structural Matching   281

                               Once the match graph is built, as shown in  Figure 6.26 for the two graphs of
                             Figure 6.25, one proceeds to determine its cliques. A clique is a totally connected
                             sub-graph between any two different nodes,  where  totally  connected means that
                             there is a path  linking any given pair of  nodes. In  our case, we  are interested in
                             maximal cliques involving different nodes of the source graphs. These are shown
                             with solid line in Figure 6.26, representing the two known homomorphisms.
                               As  seen  in  this  example,  finding  isomorphisms or  homomorphisms between
                             graphs  or  trees  can  be  a  hard  task  in  non-trivial  situations,  since  it  demands
                             searching  for  compatible  node  adjacencies  in  the  space  of  all  possible  node
                             correspondences.  This  usually  amounts  to  a  long  time-consuming  task,  for
                             anything except a very  small number of  nodes.  Existing algorithms that perform
                             this search require a time that is approximately factorial-bound with the maximum
                             number of  nodes for the target correspondence. No polynomial-bound algorithms
                             are known. The situation worsens when one has to assess not only node adjacency,
                             but also attribute compatibility. For instance, if  instead of  the digraphs of  Figure
                             6.25  we consider the digraphs of Figure 6.4, no homomorphism exists. However,
                             an evident homomorphism exists between the digraphs of "F" and "EM.
                               Practical applications of pattern recognition, with patterns described by  trees or
                             graphs, resort to faster methods of assessing the structural dissimilarity, namely to
                             the  idea  of  edit  cost  as  explained  in  section  6.4.1 or  to  discrete  relaxation  as
                             explained in section 6.4.3.
                               Tree  matching based  on  edit  operations  is  conceptually similar  to  the  string
                             matching method described in section 6.4.1. The following five edit operations are
                             used:

                             1. Insertion of a node
                             2. Deletion of a node
                             3. Substitution of a node label
                             4. Splitting a node
                             5. Merging two nodes

                               Algorithms  that  assess  tree  dissimilarity  using  these  edit  operations  are
                             described in Sanfeliu (1990). These algorithms have a time complexity of the order
                             of nm2, where n and m are the number of nodes of the trees to be matched.











                             Figure 6.27.  Two scene situations in a "block world", with primitives small block,
                              b, and large block, B.
   288   289   290   291   292   293   294   295   296   297   298