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

Line Lifting (Graph to Simplicial) #9

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
Open

Conversation

Snopoff
Copy link

@Snopoff Snopoff commented May 31, 2024

This lifting constructs a simplicial complex called the Line simplicial complex. This is a generalization of the so-called Line graph. In vanilla line graph, nodes are edges from the original graph and two nodes are connected with an edge if corresponding edges are adjacent in the original graph.

The line simplicial complex is a clique complex of the line graph. That is, if several edges share a node in the original graph, the corresponding vertices in the line complex are going to be connected with a simplex.

So, the line lifting performs the following:

  1. For a graph $G$ we create its line graph $L(G)$. The line (or dual) graph is a graph created from the initial one by considering the edges in $G$ as the vertices in $L(G)$ and the edges in $L(G)$ correspond to the vertices in $G$.
  2. During this procedure, we obtain a graph. It is easy to see that such graph contains cliques for basically each node in initial graph $G$. That is, if $v\in G$ has a degree $d$ then there's a clique on $d$ vertices in $L(G)$.
  3. Therefore let's consider a clique complex $X(L(G))$ of $L(G)$ creating $(d-1)$-simplices for each clique on $d$ vertices, that is, for each node in $G$ of degree $d$.

When creating a line graph, we need to transfer the features from $G$ to $L(G)$. That is, for a vertex $v\in L(G)$, which correponds to an edge $e\in G$ we need to set a feature vector. This is basically done as a mean feature of the nodes that are adjacent to $e$, that is, if $e=(a,b)$, then

$$f_v \coloneqq \frac{f_a + f_b}{2}.$$

output

Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@levtelyatnikov
Copy link
Contributor

@Snopoff, please update the tutorials so your submission passes the tests and qualifies for the competition.

@Snopoff Snopoff changed the title Line Lifting (Graph2Hypergraph) Line Lifting (Graph to Simplicial) Jun 23, 2024
@gbg141
Copy link
Member

gbg141 commented Jul 8, 2024

Hello @Snopoff! Thank you for your submission. As we near the end of the challenge, I am collecting participant info for the purpose of selecting and announcing winners. Please email me (or have one member of your team email me) at guillermo_bernardez@ucsb.edu so I can share access to the voting form. In your email, please include:

  • your first and last name (as well as any other team members)
  • the title of the method you implemented
  • the input domain of the method you implemented
  • the output domain of the method you implemented
  • your pull request number (Line Lifting (Graph to Simplicial) #9)

Before July 12, make sure that your submission respects all Submission Requirements laid out on the challenge page. Any submission that fails to meet this criteria will be automatically disqualified.

@gbg141 gbg141 added award-category-1 Lifting to Simplicial or Cell Domain award-category-4 Connectivity-based Lifting labels Jul 9, 2024
@gbg141 gbg141 added Winner Awarded submission and removed challenge-icml-2024 labels Oct 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
award-category-1 Lifting to Simplicial or Cell Domain award-category-4 Connectivity-based Lifting Winner Awarded submission
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants