{
  "schemaVersion": 1,
  "id": "atlas-lesson-graph-message-passing",
  "title": "Graph message passing and node identity",
  "category": "learning",
  "format": "Atlas lesson",
  "description": "Shows how a model can operate on relationships between entities instead of a simple token sequence.",
  "canonicalUrl": "https://semiaifoundry.com/learn/atlas/graph-message-passing/",
  "publishedDate": null,
  "revisionDate": "2026-10-07",
  "author": null,
  "topic": "contrasting-ai-methods",
  "series": null,
  "license": null,
  "rightsUrl": "https://semiaifoundry.com/ai-atlas/licenses.html",
  "version": "1.3.0",
  "status": "Published educational lesson",
  "evidenceScope": "The workbench executes the declared small mechanism. Numeric examples are authored and independently checked, not measurements from the cited research. Four-node undirected graph, self-loops, identity learned-weight placeholder and nonnegative input features. No parameter training or arbitrary graph benchmark is performed.",
  "contentCoverage": "published-lesson",
  "artifactUrl": "https://semiaifoundry.com/ai-atlas/lesson-data/graph-message-passing-49aa43780ba39b7c.json",
  "interactiveUrl": "https://semiaifoundry.com/ai-atlas/#graph-message-passing",
  "related": [],
  "supersedes": [],
  "supersededBy": [],
  "contentHash": "ff99f688ffeb28ef7976ae4afe1718f355869e7c62fc9c23c9261a2224ee5b14",
  "contentLength": 6221,
  "jsonUrl": "https://semiaifoundry.com/agents/publications/atlas-lesson-graph-message-passing.json",
  "markdownUrl": "https://semiaifoundry.com/agents/publications/atlas-lesson-graph-message-passing.md",
  "sections": [
    {
      "id": "section-1",
      "title": "Graph message passing and node identity",
      "start": 39,
      "end": 452
    },
    {
      "id": "section-2",
      "title": "The mechanism",
      "start": 452,
      "end": 1571
    },
    {
      "id": "section-3",
      "title": "Science and assumptions",
      "start": 1571,
      "end": 1599
    },
    {
      "id": "section-4",
      "title": "Graph message passing and node identity",
      "start": 1599,
      "end": 2548
    },
    {
      "id": "section-5",
      "title": "Engineering example",
      "start": 2548,
      "end": 2923
    },
    {
      "id": "section-6",
      "title": "Distinctions and tradeoffs",
      "start": 2923,
      "end": 3477
    },
    {
      "id": "section-7",
      "title": "Specifications and interfaces",
      "start": 3477,
      "end": 4120
    },
    {
      "id": "section-8",
      "title": "Interfaces",
      "start": 4120,
      "end": 4408
    },
    {
      "id": "section-9",
      "title": "Check your understanding",
      "start": 4408,
      "end": 4437
    },
    {
      "id": "section-10",
      "title": "Which operation should preserve the represented forward result?",
      "start": 4437,
      "end": 5008
    },
    {
      "id": "section-11",
      "title": "Evidence and scope",
      "start": 5008,
      "end": 5501
    },
    {
      "id": "section-12",
      "title": "Sources",
      "start": 5501,
      "end": 5802
    },
    {
      "id": "section-13",
      "title": "Continue exploring",
      "start": 5802,
      "end": 5825
    },
    {
      "id": "section-14",
      "title": "Foundations",
      "start": 5825,
      "end": 5952
    },
    {
      "id": "section-15",
      "title": "Related lessons",
      "start": 5952,
      "end": 6221
    }
  ],
  "citations": [
    {
      "title": "Explore in Atlas",
      "url": "https://semiaifoundry.com/ai-atlas/#graph-message-passing"
    },
    {
      "title": "Kipf and Welling · Graph convolutional networks",
      "url": "https://arxiv.org/abs/1609.02907"
    },
    {
      "title": "Published lesson data",
      "url": "https://semiaifoundry.com/ai-atlas/lesson-data/graph-message-passing-49aa43780ba39b7c.json"
    },
    {
      "title": "Atlas releases and licensing",
      "url": "https://semiaifoundry.com/ai-atlas/licenses.html"
    },
    {
      "title": "Tensor shapes, indices and contractions",
      "url": "https://semiaifoundry.com/learn/atlas/tensor-index-contracts/"
    },
    {
      "title": "Embedding table",
      "url": "https://semiaifoundry.com/learn/atlas/embedding/"
    },
    {
      "title": "Evaluation & the AGI frontier",
      "url": "https://semiaifoundry.com/learn/atlas/evaluation/"
    },
    {
      "title": "On-chip interconnect fabric",
      "url": "https://semiaifoundry.com/learn/atlas/on-chip-network/"
    }
  ],
  "recordHash": "ea1d3549707209998fa47d48b57f91f1d75270fbef4ff4371bb4bbf503c42a63",
  "contentFormat": "text/markdown",
  "content": "contrasting-ai-methods · Atlas v1.3.0\n\n# Graph message passing and node identity\n\nShows how a model can operate on relationships between entities instead of a simple token sequence.\n\n[Explore in Atlas](https://semiaifoundry.com/ai-atlas/#graph-message-passing)Mathematical and data space; dimensions are not physical distance\n\nLearning objectiveCompute normalized neighborhood aggregation and distinguish an edge change from a harmless node renaming.\n\n## The mechanism\n\nA graph supplies nodes and edges describing task relationships. Node features are arrays, but their row order is only an indexing convention. The specimen adds self-loops, normalizes adjacency by endpoint degrees and propagates two feature coordinates through one or more layers. It uses identity feature weights and ReLU so that each output can be traced to neighbors. Renaming nodes and consistently permuting rows/edges preserves the represented result. Removing an edge changes the computation because information follows a different relationship structure. This is an executable forward mechanism; its weights are fixed, and it does not demonstrate training a graph model.\n\n1.  Declare a four-node undirected graph and two features for every node; add a self-loop at every node.\n2.  Calculate degree and the symmetric normalization coefficient for every present edge.\n3.  Multiply normalized adjacency by the feature matrix and apply ReLU; repeat to expand the reachable neighborhood.\n4.  Compare a consistent permutation with an actual edge removal and inspect the different invariance claims.\n\n## Science and assumptions\n\n### Graph message passing and node identity\n\n$$\nH^{(l+1)}=\\operatorname{ReLU}\\!\\left(\\widetilde D^{-1/2}\\widetilde A\\widetilde D^{-1/2}H^{(l)}\\right)\n$$\n\nNormalize adjacency with self-loops, aggregate feature rows and apply ReLU using identity feature weights.\n\nSymbols and units\n\nH⁽ˡ⁾\n\nNode-feature matrix at layer l\n\ndimensionless\n\nÃ\n\nAdjacency with self-loops\n\nzero or one\n\nD̃\n\nDiagonal degree matrix\n\ncount\n\nOn a four-node cycle with self-loops, every node has degree 3. Node 0 initially receives features from itself, node 1 and node 3: (\\[1,0\\]+\\[0,1\\]+\\[0,2\\])/3=\\[1/3,1\\]. Removing the 0–3 edge changes both the neighborhood and endpoint normalization. A separate test permutes all node IDs and verifies equivalent outputs after undoing the permutation.\n\nAssumptions Four-node undirected graph, self-loops, identity learned-weight placeholder and nonnegative input features. No parameter training or arbitrary graph benchmark is performed.\n\n## Engineering example\n\nOn a four-node cycle with self-loops, every node has degree 3. Node 0 initially receives features from itself, node 1 and node 3: (\\[1,0\\]+\\[0,1\\]+\\[0,2\\])/3=\\[1/3,1\\]. Removing the 0–3 edge changes both the neighborhood and endpoint normalization. A separate test permutes all node IDs and verifies equivalent outputs after undoing the permutation.\n\n## Distinctions and tradeoffs\n\nThe task graph, a computation graph, the atlas prerequisite graph and a chip netlist are different objects even when all are drawn as nodes and edges.\n\nMore aggregation steps allow information to travel farther, but representation behavior and task quality depend on the architecture, normalization, features and learning objective.\n\nGraph learning is used where relations are part of the input. The same matrix machinery executes the aggregation, but its semantic edges are not the hardware wires carrying those numbers.\n\n## Specifications and interfaces\n\nTeaching specimen\n\nGraph computation\n\nOn a four-node cycle with self-loops, every node has degree 3. Node 0 initially receives features from itself, node 1 and node 3: (\\[1,0\\]+\\[0,1\\]+\\[0,2\\])/3=\\[1/3,1\\]. Removing the 0–3 edge changes both the neighborhood and endpoint normalization. A separate test permutes all node IDs and verifies equivalent outputs after undoing the permutation.\n\nEvidence boundary\n\nExplicit computed example\n\nFour-node undirected graph, self-loops, identity learned-weight placeholder and nonnegative input features. No parameter training or arbitrary graph benchmark is performed.\n\n### Interfaces\n\nInputs and convention Input\n\nDeclare a four-node undirected graph and two features for every node; add a self-loop at every node.\n\nComputed result and scope Output\n\nCompute normalized neighborhood aggregation and distinguish an edge change from a harmless node renaming.\n\n## Check your understanding\n\n### Which operation should preserve the represented forward result?\n\n1.  Removing an edge without changing anything else\n2.  Changing degree normalization arbitrarily\n3.  Renaming nodes while consistently permuting features and adjacency\n\nAnswer and reasoning\n\nRenaming nodes while consistently permuting features and adjacency\n\nRenaming nodes while consistently permuting features and adjacency. Four-node undirected graph, self-loops, identity learned-weight placeholder and nonnegative input features. No parameter training or arbitrary graph benchmark is performed.\n\n## Evidence and scope\n\nThe workbench executes the declared small mechanism. Numeric examples are authored and independently checked, not measurements from the cited research. Four-node undirected graph, self-loops, identity learned-weight placeholder and nonnegative input features. No parameter training or arbitrary graph benchmark is performed.\n\nOpen Mathematical foundations for the bounded executable mechanism and its record. General numerical labs are an additional reference library.\n\n## Sources\n\n-   [Kipf and Welling · Graph convolutional networks](https://arxiv.org/abs/1609.02907)\n\n[Published lesson data](https://semiaifoundry.com/ai-atlas/lesson-data/graph-message-passing-49aa43780ba39b7c.json) · [Atlas releases and licensing](https://semiaifoundry.com/ai-atlas/licenses.html)\n\n## Continue exploring\n\n### Foundations\n\n-   [Tensor shapes, indices and contractions](https://semiaifoundry.com/learn/atlas/tensor-index-contracts/)\n\n### Related lessons\n\n-   [Embedding table](https://semiaifoundry.com/learn/atlas/embedding/)\n-   [Evaluation & the AGI frontier](https://semiaifoundry.com/learn/atlas/evaluation/)\n-   [On-chip interconnect fabric](https://semiaifoundry.com/learn/atlas/on-chip-network/)"
}
