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

Triangle Counting #15

Open
neoblizz opened this issue Oct 25, 2022 · 10 comments
Open

Triangle Counting #15

neoblizz opened this issue Oct 25, 2022 · 10 comments
Assignees
Labels
good first issue Good for newcomers graph-algorithm Graph algorithm related issues.

Comments

@neoblizz
Copy link
Member

No description provided.

@neoblizz neoblizz self-assigned this Oct 25, 2022
@neoblizz neoblizz reopened this Oct 25, 2022
@neoblizz neoblizz removed their assignment Oct 25, 2022
@pradkrish
Copy link

Hello, can I give this a go?

An implementation with the following function signature size_t triangleCount(adjacency_list)

@neoblizz
Copy link
Member Author

neoblizz commented Dec 7, 2022

Hey, yes! If you want to take a stab at it, please go ahead. Here's a good reference on which we are basing some this work on: https://github.com/pnnl/NWGraph/blob/master/include/nwgraph/algorithms/triangle_count.hpp @pradkrish

@pradkrish
Copy link

Thanks, you can assign it to me. :)

@neoblizz neoblizz added graph-algorithm Graph algorithm related issues. good first issue Good for newcomers labels Dec 10, 2022
@pradkrish
Copy link

I went through the implementation in nwgraph and I have a fairly good understanding of it.

In graph-v2, load_ordered_graph and load_graph are used for loading directed graphs but it is not very clear to me how to load undirected graphs, is it currently possible to load an undirected graph? I am asking this because triangle counting is typically used for undirected graphs.

@neoblizz
Copy link
Member Author

neoblizz commented Dec 12, 2022

I went through the implementation in nwgraph and I have a fairly good understanding of it.

In graph-v2, load_ordered_graph and load_graph are used for loading directed graphs but it is not very clear to me how to load undirected graphs, is it currently possible to load an undirected graph? I am asking this because triangle counting is typically used for undirected graphs.

@lums658 @pratzl can answer this, I feel like it is related to the MatrixMarket loader issue #47. I think what we really need for that is edge-doubling to allow any graph to be undirected.

@lums658
Copy link
Collaborator

lums658 commented Dec 12, 2022 via email

@lums658
Copy link
Collaborator

lums658 commented Dec 13, 2022

PS -- See the mmio functionality and build.hpp in NWGraph.

@pradkrish
Copy link

@lums658 Thanks for the input. I guess it makes sense to roughly break this down into the following steps with separate PR and tests for each.

  • edge list concept and an I/O function to read edge list (directed and undirected) from a file
  • Convert edge list graph to adjacency list graph
  • triangle count implementation

do you think I get that right? Please correct me if I am wrong. :)

@lums658
Copy link
Collaborator

lums658 commented Dec 13, 2022 via email

@pratzl
Copy link
Collaborator

pratzl commented Dec 14, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers graph-algorithm Graph algorithm related issues.
Projects
None yet
Development

No branches or pull requests

4 participants