Zurück zur Übersicht

Begriff

Natural Transformation

Math Computer Science S4
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Objekte sind Punkte. Pfeile sind Funktionen. Funktoren sind Abbildungen zwischen Kategorien. Eine Natürliche Transformation ($\eta$) ist eine "Abbildung zwischen Funktoren". Stell dir vor, Funktor $F$ formt Kategorie A in B um (wie ein Bildverzerrer). Funktor $G$ formt A auch in B um (aber anders verzerrt). Eine Natürliche Transformation schiebt jedes Bild von F sanft auf das Bild von G. Und zwar so, dass die Struktur erhalten bleibt ("Naturality Condition"). In der Programmierung ist das einfach eine Funktion, die für alle Typen funktioniert. reverse : List<T> -> List<T>. Das ist eine natürliche Transformation vom Funktor List zum Funktor List. Es ist egal, ob du erst map(+1) machst und dann reverse, oder erst reverse und dann map(+1). Das Ergebnis ist gleich. Das ist "Naturality".

Merksatz: Ein Morphismus zwischen zwei Funktoren, der die Struktur der unterliegenden Kategorie bewahrt und in der Informatik oft generischen, polymorphen Funktionen entspricht (parametric polymorphism).


Quick-Check

  1. Wichtigstes Beispiel?
    Yoneda-Lemma. Es basiert komplett auf natürlichen Transformationen.
  2. Unterschied zu Map?
    map (Funktor) ändert den Inhalt (Int -> String). Natürliche Transformation ändert den Container (List -> Set), lässt den Inhalt aber in Ruhe.
  3. Mac Lane?
    Er sagte: "I didn't invent categories to study functors; I invented them to study natural transformations." Das war das eigentliche Ziel.