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

Padded SGM #510

Merged
merged 11 commits into from
Oct 13, 2020
Merged

Padded SGM #510

merged 11 commits into from
Oct 13, 2020

Conversation

asaadeldin11
Copy link
Contributor

@asaadeldin11 asaadeldin11 commented Oct 2, 2020

Reference Issues/PRs

Fixes #316, supersedes #472.

What does this implement/fix? Explain your changes.

This PR brings padded SGM to graspologic, allowing users to pass in input matrices of different sizes to GraphMatch. This is an implementation of the padding scheme describing in Seeded Graph Matching (section 2.5). Both schemes described (adopted and naive), are implemented here, allowing users the option to choose which they'd prefer to use.

This PR also removes some redundant tests in the match submodule.

Any other comments?

Proof of effectiveness can be found in the following notebook, where Figure 3 from SGM is replicated.

* add padded sgm to gmp.py

* resolve some docs issues

* add tests

* remove excessive gmp tests for performance

* doc changes

* add tutorial, remove math from docs

* Update tutorial.rst

* Update gmp.py

* Update padded_sgm.ipynb

Co-authored-by: Benjamin Pedigo <benjamindpedigo@gmail.com>
@asaadeldin11 asaadeldin11 requested a review from bdpedigo as a code owner October 2, 2020 15:02
@netlify
Copy link

netlify bot commented Oct 2, 2020

Deploy preview for graspy ready!

Built with commit 3fa29fe

https://deploy-preview-510--graspy.netlify.app

@asaadeldin11 asaadeldin11 changed the title Padded sgm (#509) Padded SGM Oct 2, 2020
@asaadeldin11 asaadeldin11 mentioned this pull request Oct 2, 2020
Copy link
Collaborator

@bdpedigo bdpedigo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@asaadeldin11 can't tell if this is ready for review since it looks like it was requested automatically, can you lmk when all the build checks are working? Then im guessing we can get this in really quickly

@asaadeldin11
Copy link
Contributor Author

@asaadeldin11 can't tell if this is ready for review since it looks like it was requested automatically, can you lmk when all the build checks are working? Then im guessing we can get this in really quickly

Yup, not quite ready for review. I'll let you know once I've addressed your previous feedback and have checks working.

@asaadeldin11 asaadeldin11 self-assigned this Oct 4, 2020
@asaadeldin11 asaadeldin11 requested a review from bdpedigo October 4, 2020 15:06
Copy link
Collaborator

@bdpedigo bdpedigo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Notebook comments:

  • I still find the use of "core vertices" unclear, for example in "Match ratio of core vertices with naive padding: 1.0
    " could you just say "Match ratio of nodes left in G1" or something more eloquent but to that effect?
  • looks like something got messed up with the notebook as both plots look the same in netlify render.
  • please note somewhere that the example was adapted from a paper (that's true right?) so we are giving proper attribution
  • super nitpicky but could you change name of files (tutorial and anything else I missed) to padded_gm since seeds are not required and that matches the name of the notebook.

Aside from those minor comments I am happy to merge!

@bdpedigo
Copy link
Collaborator

bdpedigo commented Oct 4, 2020

@Nyecarr @bryantower @dwaynepryce if anyone can have a look I think this PR is ready for review on MSFT side

@daxpryce daxpryce requested a review from a team October 5, 2020 18:43
@bdpedigo
Copy link
Collaborator

bdpedigo commented Oct 5, 2020

Github is being weird so i can't re-request a review for myself, but I officially approve.

@bdpedigo
Copy link
Collaborator

bdpedigo commented Oct 8, 2020

@dwaynepryce any idea why the microsoft checks havent finished running on this?

also, jovo was hoping to send this code to someone - do you think someone on the MSR side would have time to give this a quick look this week?

@daxpryce
Copy link
Contributor

daxpryce commented Oct 8, 2020

This looks fine to me @asaadeldin11, but I did have a question about why black didn't complain about you using single ticks on a string. Regardless if it passes that build step, it's good enough for me, but I am confused as to how it did it

@bdpedigo
Copy link
Collaborator

bdpedigo commented Oct 8, 2020

@dwaynepryce thanks! did you see my notes about the status checks? That is preventing merge

@daxpryce
Copy link
Contributor

daxpryce commented Oct 13, 2020

According to the pipeline it never got a request to build. I found an older one for this PR and told it to run again, so hopefully this works for us?

Edit: Oh good, it invalidated the rest of the build pipeline. 😭

@daxpryce
Copy link
Contributor

I have no idea what caused it, but deleting the build pipeline in Azure DevOps and recreating it seems to have made it work again.

Sigh.

@bdpedigo bdpedigo mentioned this pull request Oct 13, 2020
@daxpryce daxpryce merged commit ae659d8 into dev Oct 13, 2020
@bdpedigo bdpedigo deleted the padded-sgm branch October 13, 2020 16:49
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

Successfully merging this pull request may close these issues.

Implement Padded SGM algorithm
3 participants