Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VF2State - backtrack assert #61

Open
jumlu opened this issue Feb 27, 2015 · 2 comments
Open

VF2State - backtrack assert #61

jumlu opened this issue Feb 27, 2015 · 2 comments

Comments

@jumlu
Copy link

jumlu commented Feb 27, 2015

Hi there,

first of all, great job on porting VF2 to Java!
However, i think there is a bug in the method addPair(int,int) in edu.ucla.sspace.graph.isomorphism.VF2State.

Before incrementing coreLen (line 387), the origCoreLen should be updated:
origCoreLen = corLen

Otherwise line 497 results in an AssertionError, when trying to backtrack after more than one found matches.

Regards,
Julian

@davidjurgens
Copy link
Collaborator

Hi Julian,

Wow, it's actually exciting to hear that someone is interested in using
the VF2 port. :)

For the line you mentioned, we ported that code straight from the C++
code which doesn't seem to have the change to origCoreLen (
http://web.cs.ucdavis.edu/~iliast/files/SBROME_v08/VFLIB/vf2_state.cc).
Perhaps there is a bug in both implementations that has escaped notice?
It's been a while since I dug into this code so I would have to piece back
together how it all worked.

Thanks,
David

On Fri, Feb 27, 2015 at 10:13 AM, jumlu notifications@github.com wrote:

Hi there,

first of all, great job on porting VF2 to Java!
However, i think there is a bug in the method addPair(int,int) in
edu.ucla.sspace.graph.isomorphism.VF2State.

Before incrementing coreLen (line 387), the origCoreLen should be updated:
origCoreLen = corLen

Otherwise line 497 results in an AssertionError, when trying to backtrack
after more than one found matches.

Regards,
Julian


Reply to this email directly or view it on GitHub
#61.

@jumlu
Copy link
Author

jumlu commented Feb 28, 2015

Hi David,

thanks for you fast reply.
I just tried to contact the author of the VF2 implementation (P. Foggia), but the mail address does not exist anymore ..
Anyway, if you or any user of this VFLib port will ever run into an AssertionError, you / he / she might remember that line ;)

I changed my code as mentioned before and doublechecked my results with other algorithms:
No more AssertionErrors and correct results :)

Cheers,
Julian

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants