Boost C++ Libraries: Ticket #5634: BGL isomorphism edge invariants https://svn.boost.org/trac10/ticket/5634 <p> Can you add a feature that would allow the user to specify edge invariants in a similar way to how it is presently possible to specify vertex invariants? (I.e. an isomorphism is only considered if some functor says that two edges are somehow equivalent.) </p> <p> The motivation for this is I'd like to test isomorphism between finite automata from another library, for testing purposes. I'm considering converting the transition graph to a BGL graph and using the isomorphism function, but I'm not sure that's possible as I can't require that corresponding edges are labeled with the same symbol. </p> <p> (In the meantime I think I may know where to slip it into the code, so I may make my own copy of invariant.hpp and make that change. If I can get it to seemingly work, I'll report back with the patch.) </p> <p> Alternately, it may be possible with something I'm missing; I'm a newbie to the BGL. But I don't know where it'd show up. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/5634 Trac 1.4.3 slithy Wed, 22 Aug 2012 19:33:26 GMT <link>https://svn.boost.org/trac10/ticket/5634#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5634#comment:1</guid> <description> <p> Any update on this feature? I would like to use this as well. </p> </description> <category>Ticket</category> </item> <item> <author>driscoll@…</author> <pubDate>Wed, 22 Aug 2012 20:34:29 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/5634#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5634#comment:2</guid> <description> <p> I never implemented it; the code was pretty complex (despite being reasonably well-documented) and I didn't have a good enough reason to do it. </p> <p> If you're not wed to the BGL already and specifying edge "colors" is enough (as opposed to the yes/no predicate I proposed), there are alternatives such as the igraph library &lt;<a class="ext-link" href="http://igraph.sourceforge.net/"><span class="icon">​</span>http://igraph.sourceforge.net/</a>&gt; that support isomorphism checking with edge constraints. (That's a C library and I've only used it a tiny bit, but it looks reasonably clean.) </p> </description> <category>Ticket</category> </item> <item> <author>driscoll@…</author> <pubDate>Wed, 22 Aug 2012 20:38:06 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/5634#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5634#comment:3</guid> <description> <p> I never implemented it; the code was pretty complex (despite being reasonably well-documented) and I didn't have a good enough reason to do it. </p> <p> If you're not wed to the BGL already and specifying edge "colors" is enough (as opposed to the yes/no predicate I proposed), there are alternatives such as the igraph library &lt;<a class="ext-link" href="http://igraph.sourceforge.net/"><span class="icon">​</span>http://igraph.sourceforge.net/</a>&gt; that support isomorphism checking with edge constraints. (That's a C library and I've only used it a tiny bit, but it looks reasonably clean.) </p> </description> <category>Ticket</category> </item> </channel> </rss>