Boost logo

Boost Users :

Subject: Re: [Boost-users] Graph Isomorphism
From: Evan Driscoll (driscoll_at_[hidden])
Date: 2011-06-23 21:28:22


OK, I have a somewhat unrelated question. (I think I can modify the
Boost algorithm to do what I want.)

In libs/graph/example/isomorphism.hpp, if I change undirectedS to
bidirectionalS, then the answer changes from the two graphs being
isomorphic to not. (It then proceeds to segfault when looking at the
isomorphism map.)

   typedef adjacency_list<vecS, listS, undirectedS,
     property<vertex_index_t, int> > graph_t;
to
   typedef adjacency_list<vecS, listS, bidirectionalS,
     property<vertex_index_t, int> > graph_t;

Why is this?

Near as I can tell, the graphs should be isomorphic. Graph 1 has three
cycles, 0->1->2->0, 3->4->5->6->3, and 7->8->9->10->11->7. Graph 2 has
three cycles of the same sizes, 9->10->11->9, 0->1->3->2->0, and
4->5->7->8->6->4. (These are all the transitions.)

Evan Driscoll


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net