Message Passing bedeutet, dass Knoten Informationen entlang ihrer Kanten austauschen: Jeder Knoten sendet eine Nachricht, empfängt die Nachrichten seiner Nachbarn und aktualisiert daraus seinen Zustand. Das Prinzip steckt in zwei großen Welten: in Graph Neural Networks und in der parallelen Programmierung.
Message Passing in Graph Neural Networks
In einem GNN durchläuft jeder Knoten mehrere Runden. In jeder Runde aggregiert er die Nachrichten seiner Nachbarn (zum Beispiel per Summe oder Mittelwert) und aktualisiert sein eigenes Embedding mit einer Update-Funktion. Nach T Runden kennt ein Knoten seine T-Hop-Nachbarschaft. Dieses MPNN-Schema (Message Passing Neural Network) steht hinter vielen bekannten Architekturen und ist eng verwandt mit dem Weisfeiler-Lehman-Verfahren: Der Farb-Verfeinerungsalgorithmus ist im Kern ein Message Passing mit deterministischen Hash-Funktionen. Graph-Kernel berechnen Ähnlichkeiten ohne Message Passing — die beiden Ansätze sind konzeptionell verwandt, aber verschieden.
Message Passing in parallelen Systemen
In der verteilten Programmierung tauschen Prozesse Daten über explizite Nachrichten aus, statt gemeinsamen Speicher zu teilen. Das Message Passing Interface (MPI) ist dafür der Standard: Prozesse senden und empfangen Nachrichten, verteilen Arbeit per Broadcast und sammeln Ergebnisse per Reduce. Auch das Actor-Modell vieler Sprachen und Laufzeitsysteme beruht auf asynchronem Message Passing. Vom Zustandsmodell her gilt: Wer DAG-artige Abhängigkeiten oder bipartite Graphen verarbeitet, profitiert oft von einer sauberen Nachrichten-Struktur — die Adjazenzmatrix zeigt, wer mit wem kommunizieren darf.