RapidsAtHKUST/ContinuousSubgraphMatching

Correctness test failed

Morgan279 opened this issue · 4 comments

Hi , thanks for your nice work. I meet some problems when I use RapidFlow's test routine and test data to conduct the correctness test. Different algorithms give different answers and all of them are not consist with the excepted output.

The execution parameters is "-d ../test/delete/data_graph/data.graph -q ../test/delete/query_graph/Q_0 -u ../test/delete/data_graph/deletion.graph".

Graphflow gives 11305;
SJ-Tree gives 0;
IEDYN gives 0;
SymBi gives 11305;
TurboFlux gives 6069;

And the excepted output is 587984 (according to 'test/delete/excepted_output.txt').

I am wondering whether the reason is the deletion make the data graph disconncet and the algorithms are inapplicable or there are some maloperations while I conduct the test.

Hi, the methods SJ-Tree and IEDyn do not support edge deletions. So we did not implement the related matching process and the program simply returns 0.

I have run the code on test case Q_0 of the repo RapidFlow. Both Graphflow and SymBi report the correct answers, shown as follows

...
0 vertex updates.
1221704 edge updates.
0 positive matches.
587984 negative matches.
...

But TurboFlux returns 329275 negative matches, which is incorrect. There seems to be some bugs in the code of TurboFlux. I will try to fix it later.

All the above five methods will start enumerating negative results from the edge to be deleted, so it does not matter whether the data graphs is disconnected after the deletion.

Thanks.

Oh, yes. After debugging, there are some problems in my test environment, indeed. The answers of Graphflow and SymBi are correct.
Thanks for your kindly answer.

Hi, the bugs in TurboFlux are fixed. Now Graphflow, SymBi, and TurboFlux returns the same number of negative results. Please kindly check the latest commit. Thanks!

All right! It works well now.

BTW, it's really a great work!