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

Path based lifting (Graph to Combinatorial) #43

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

Conversation

SalvishGoomanee
Copy link

@SalvishGoomanee SalvishGoomanee commented Jul 9, 2024

In this submission, I implemented the algorithm develop in [1] which lifts a graph to a combinatorial complex. Let's just recap some basic concepts of algebraic topology.

  • Let $S$ be a non-empty set. The input domain is a graph $G$ on $S$ which corresponds to a pair $(S, E)$, where $E$ is a set of non-empty subsets of size 2 of the powerset $\mathcal{P}(S)$ of $S$, denoted as edges. The elements of $S$ are denoted as the nodes of $G$.

  • $G \rightsquigarrow$ undirected if for all $(u, \nu) \in E$, one has $(\nu, u) \in E$.

  • Higher order topological domains that generalise graphs based structures as introduced above include; hypergraphs, simplicial complexes, regular cell complexes and combinatorial complexes. (See [2] and [3] for the formal definitions of these objects).

  • The aforementioned topological domains are clearly represented in [2]:

Capture d’écran 2024-07-10 à 15 27 20

  • For the sake of completeness, let's recall that the graph $G$ in this context can be viewed as a $1$-dim CW complex where $0$-cells are the nodes and $1$-cells are the edges.

  • In particular, for application to understanding higher order interaction in protein networks, graph based representations can be quite limited (and consequently affect embedding procedures in a negative manner resulting in faulty predictions). However, developing and implementing lifting procedures at preprocessing stages (as described in the challenge) to higher order domains enable more flexible representations which can be learned more efficiently. This is particularly helpful for long-range interactions.

Capture d’écran 2024-07-10 à 15 28 17

Path based combinatorial complex

The lifting approach implemented here (other approaches can be found in the references listed) consists in constructing the 2-cells of the combinatorial complex following the identification of a given path in the input graph provided a set of source nodes. In particular, one identifies the nodes belonging to the same paths of a set length $k$ in the graph and that start with a node that belongs to the set of source nodes. Those are grouped together to form a rank-2 cell that is added to create a combinatorial complex.

The path-based combinatorial complex (CC) of $G$ denoted by $CC_P(G)$ (following the notation in [1]), consists of 0-cells, 1-cells, and 2-cells:

  1. 0-cells: The 0-cells of $CC_P(G)$ are the nodes of $G$.
  2. 1-cells: The 1-cells of $CC_P(G)$ are the edges of $G$.
  3. 2-cells: The 2-cells are determined by specific paths in $G$.

Construction of 2-cells:

  • Source Nodes and Path Length: Given a set of source nodes $S$ and a path length $k \geq 1$, we define the 2-cells.
  • Paths: Let $P$ be the set of all paths in $G$ starting from any node in $S$ and containing exactly $k$ different nodes.
  • 2-cell Definition: A 2-cell in $CC_P(G)$ is a set $$C = {x_0^1, x_0^2, \cdots, x_0^k} \subset \mathcal{X}_0$$ such that (see path_lifting.ipynb notebook for further definitions):
    • There exists a permutation $\pi_k$ of the nodes in $C$ such that $\pi_k(C) \in P$.
    • For all $i \in [[1, k]]$, the edge $(\pi _{k}(x) _{i}, \pi _{k}(x) _{i+1 , mod ,k})$ is in $\mathcal{X}$.

This ensures that 2-cells are formed by sets of nodes that participate in specific paths in the graph, defined by the given source nodes and path length (see path_based_lift_CC method in the CombinatorialPathLifting class which follows from the development in [1].

The path based lift approach to lift graphs to combinatorial complexes (CC) is implemented in path_lifting.py and an example is provided in the notebook path_lifting.ipynb.


[1] Carrel, A. (2024). Combinatorial Complex Score-based Diffusion Modelling through Stochastic Differential Equations (PhD thesis).

[2] Hajij, M., Zamzmi, G., Papamarkou, T., Miolane, N., Guzmán-Sáenz, A., Ramamurthy, K. N., et al. (2022). Topological deep learning: Going beyond graph data.

[3] Papillon, M., Sanborn, S., Hajij, M., & Miolane, N. (2023). Architectures of Topological Deep Learning: A Survey on Topological Neural Networks.


Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@gbg141 gbg141 added the challenge-icml-2024 Challenge submission label Jul 9, 2024
@gbg141
Copy link
Member

gbg141 commented Jul 9, 2024

Hello @SalvishGoomanee! 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 (Path based lifting (Graph to Combinatorial) #43)

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-2 Lifting to Combinatorial, Hypergraph or Graph Domain award-category-4 Connectivity-based Lifting labels Jul 9, 2024
@SalvishGoomanee
Copy link
Author

SalvishGoomanee commented Jul 9, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
award-category-2 Lifting to Combinatorial, Hypergraph or Graph Domain award-category-4 Connectivity-based Lifting challenge-icml-2024 Challenge submission
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants