Skip to content

Track: Track2; Team name: CtrlAltMe; Model: SMCN - #397

Open
Salwa08 wants to merge 28 commits into
geometric-intelligence:mainfrom
Salwa08:tdl2026/smcn
Open

Track: Track2; Team name: CtrlAltMe; Model: SMCN#397
Salwa08 wants to merge 28 commits into
geometric-intelligence:mainfrom
Salwa08:tdl2026/smcn

Conversation

@Salwa08

@Salwa08 Salwa08 commented Jul 24, 2026

Copy link
Copy Markdown

Summary

This PR submits SMCN (Scalable Multi-Cellular Networks) for the 2026 TDL Challenge — Track 2.

The contribution implements SMCN as a TopoBench combinatorial-domain backbone, adapting its subcomplex-based processing to TopoBench's existing combinatorial-complex representation and model pipeline.

The implementation constructs rank-(0, 2) subcomplex tuples from combinatorial incidence structure, performs relation-specific message passing over the resulting tuple graph, and pools the learned subcomplex representations back to rank-0 and rank-2 cells.

Submission

  • Track: Track 2
  • Team: CtrlAltMe
  • Model: SMCN
  • Domain: Combinatorial
  • Model config: configs/model/combinatorial/smcn.yaml
  • Results: 2026_tdl_challenge/outputs/2026-07-20_23-26-18_merged/results.json

Implementation

The backbone is implemented in:

topobench/nn/backbones/combinatorial/smcn.py

Rank-(0, 2) subcomplex construction

The implementation constructs tuples between rank-0 and rank-2 cells using the composed incidence structure

incidence_0_2 = incidence_1 @ incidence_2.

Two tuple-selection strategies are supported:

  • incident: retain only incident rank-(0, 2) pairs;
  • all: construct all rank-(0, 2) pairs within each graph in the batch.

An optional max_rank02_tuples parameter bounds the number of constructed tuples.

Structural subcomplex tensors are cached with a bounded cache to avoid rebuilding identical tuple structures for repeated batches.

Tuple features and markings

Each rank-(0, 2) tuple is represented using:

  • the corresponding rank-0 feature;
  • the corresponding rank-2 feature;
  • a binary incidence marking.

Binary markings can either be used directly or mapped through a learnable embedding before tuple encoding.

Subcomplex message passing

The implementation uses separate message-passing transformations for three tuple relations:

  • low adjacency
  • high adjacency
  • incidence

Low- and high-adjacency relations additionally support bridge-cell features, allowing information from intermediate cells to participate in tuple-level message passing.

Both sum and mean aggregation are supported.

Pooling back to the complex

After subcomplex message passing, tuple representations are pooled back independently to:

  • rank-0 cells;
  • rank-2 cells.

Both sum and mean tuple pooling are supported.

The resulting subcomplex signal is combined with the corresponding rank-wise representations.

TopoBench integration

The implementation reuses the existing TopoBench pipeline components:

  • AllCellFeatureEncoder
  • TuneWrapper
  • PropagateSignalDown

The challenge configuration enables the subcomplex signal and uses incident rank-(0, 2) tuple selection.

Relation to the original SMCN formulation

This contribution should be understood as a TopoBench combinatorial-domain adaptation of SMCN, rather than a literal reproduction of the complete graph-benchmark configuration used in the original SMCN experiments.

The implementation focuses on translating the core subcomplex-processing ideas into TopoBench's combinatorial abstractions:

  1. construction of cell tuples representing subcomplexes;
  2. structural markings associated with those tuples;
  3. relation-specific message passing between subcomplex tuples;
  4. use of bridge-cell information for relevant relations;
  5. aggregation of the resulting subcomplex representations back to cells.

In this adaptation, rank-(0, 2) tuples are constructed directly from TopoBench incidence matrices and use binary incidence markings.

The graph-benchmark SMCN configuration described in the original work additionally uses a different construction involving node-edge bags, hop-distance markings, and CIN/SCL components. Therefore, the implementation in this PR preserves the central subcomplex-processing mechanism while adapting its representation and surrounding backbone to the abstractions available in TopoBench.

This distinction is intentional to document precisely what is implemented here and to make the differences from the original graph-benchmark configuration explicit.

Validation

A dedicated test suite is provided in:

test/nn/backbones/combinatorial/test_smcn.py

The tests cover, among other cases:

  • relation-specific transformations;
  • sum and mean aggregation;
  • low- and high-adjacency bridge features;
  • sparse binary-marking lookup;
  • rank-(0, 2) tuple construction;
  • incident and all tuple selection;
  • cross-graph tuple filtering for batched graphs;
  • tuple caps;
  • tuple-to-rank-0 and tuple-to-rank-2 pooling;
  • empty higher-order structures;
  • multiple update layers;
  • cache reuse;
  • malformed or unsupported configuration values;
  • output rank and shape contracts.

SMCN is also included in the full TopoBench MUTAG pipeline test.

Validation commands used for the submission:

pytest test/nn/backbones/combinatorial/test_smcn.py -q -p no:cacheprovider

ruff check topobench/nn/backbones/combinatorial/smcn.py \
    test/nn/backbones/combinatorial/test_smcn.py

Challenge Evaluation

The complete official challenge evaluation grid was executed:

72 / 72 runs completed

across the required GraphUniverse tasks, structural regimes, and random seeds.

The resulting evaluation file contains all 72 runs:

2026_tdl_challenge/outputs/2026-07-20_23-26-18_merged/results.json

Reference

SMCN was introduced in:

Yam Eitan, Yoav Gelberg, Guy Bar-Shalom, Fabrizio Frasca, Michael Bronstein, and Haggai Maron.
Topological Blindspots: Understanding and Extending Topological Deep Learning Through the Lens of Expressivity.
arXiv:2408.05486, 2024.

https://arxiv.org/abs/2408.05486

Copilot AI review requested due to automatic review settings July 24, 2026 12:29

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@Salwa08
Salwa08 marked this pull request as draft July 24, 2026 12:30
@Salwa08
Salwa08 marked this pull request as ready for review July 24, 2026 13:18
@Salwa08

Salwa08 commented Jul 24, 2026

Copy link
Copy Markdown
Author

Hi maintainers, this is a Track 2 TNN submission. Could you please add the track-2-tnn label? I don't have permission to apply repository labels. Thank you!

@gbg141 gbg141 added the track-2-tnn 2026 Topological Deep Learning Challenge -- Track 2 TNNs label Jul 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

track-2-tnn 2026 Topological Deep Learning Challenge -- Track 2 TNNs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants