Track: Track2; Team name: CtrlAltMe; Model: SMCN - #397
Open
Salwa08 wants to merge 28 commits into
Open
Conversation
Salwa08
marked this pull request as draft
July 24, 2026 12:30
Salwa08
marked this pull request as ready for review
July 24, 2026 13:18
Author
|
Hi maintainers, this is a Track 2 TNN submission. Could you please add the |
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
configs/model/combinatorial/smcn.yaml2026_tdl_challenge/outputs/2026-07-20_23-26-18_merged/results.jsonImplementation
The backbone is implemented in:
topobench/nn/backbones/combinatorial/smcn.pyRank-(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_tuplesparameter 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:
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- and high-adjacency relations additionally support bridge-cell features, allowing information from intermediate cells to participate in tuple-level message passing.
Both
sumandmeanaggregation are supported.Pooling back to the complex
After subcomplex message passing, tuple representations are pooled back independently to:
Both
sumandmeantuple 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:
AllCellFeatureEncoderTuneWrapperPropagateSignalDownThe 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:
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.pyThe tests cover, among other cases:
sumandmeanaggregation;incidentandalltuple selection;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.pyChallenge 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