← Übersicht

Category Theory

Kategorientheorie ist eine sehr abstrakte Sprache für Struktur und Zusammensetzung. Statt zu fragen, was Objekte innerlich sind, schaut sie nur auf die Pfeile zwischen ihnen und darauf, wie sich Pfeile verketten. Diese Verschiebung des Blicks, weg vom Inhalt der Dinge, hin zu ihren Beziehungen, macht sie zu einer vereinheitlichenden Sprache über viele Gebiete der Mathematik und der funktionalen Programmierung.

Objekte und Pfeile

Eine Kategorie besteht aus zwei Zutaten: Objekten (gezeichnet als Punkte) und Morphismen oder Pfeilen (gezeichnet als Linien mit Richtung) zwischen ihnen. Ein Pfeil f: A → B „geht von A nach B". Was A und B genau sind, ist egal, es kann sich um Mengen, Zahlen, Datentypen oder ganze Räume handeln.

A B C f g Punkte = Objekte, Pfeile = Morphismen
Eine Kategorie: Objekte und die gerichteten Pfeile dazwischen. Der Pfeil zählt, nicht der Inhalt des Objekts.

Komposition: Pfeile verketten

Das Herzstück: Pfeile lassen sich hintereinanderschalten. Geht f von A nach B und g von B nach C, dann gibt es immer auch einen direkten Pfeil von A nach C, geschrieben g ∘ f („g nach f"). Diese Komposition muss assoziativ sein: Bei drei Pfeilen ist es egal, welche zwei man zuerst zusammenfasst.

A B C f g g ∘ f der direkte Weg existiert immer
Komposition: Aus „A nach B" und „B nach C" folgt zwingend „A nach C" (gestrichelt). Das ist die Grundregel jeder Kategorie.

Identität

Jedes Objekt hat außerdem einen Identitätspfeil auf sich selbst (id: A → A), der nichts verändert. Verkettet man ihn mit einem anderen Pfeil, kommt genau dieser andere Pfeil heraus, wie das Multiplizieren mit 1. Objekte, Komposition und Identität, mehr braucht eine Kategorie nicht.

A id (ändert nichts)
Der Identitätspfeil ist die „1" der Komposition: A nach A, ohne Wirkung.

Funktoren: Kategorien vergleichen

Ein Funktor ist eine strukturerhaltende Übersetzung von einer Kategorie in eine andere. Er bildet Objekte auf Objekte und Pfeile auf Pfeile ab, so dass Komposition und Identität erhalten bleiben. Funktoren sind das Werkzeug, mit dem die Kategorientheorie Zusammenhänge zwischen ganz verschiedenen Gebieten sichtbar macht, denn „gleiche Pfeilstruktur" bedeutet oft „gleiche tiefe Idee".

Kategorie C A B f Funktor F Kategorie D FA FB Ff
Ein Funktor überträgt die ganze Pfeilstruktur: Objekt A wird zu FA, Pfeil f wird zu Ff, und die Verkettungen passen weiter zusammen.

Kommutative Diagramme

Kategorientheoretiker beweisen vieles mit kommutativen Diagrammen. „Kommutativ" heißt: Egal welchen Pfeilweg man durch das Diagramm nimmt, das Ergebnis ist dasselbe. Ein Quadrat kommutiert, wenn der Weg oben-herum gleich dem Weg unten-herum ist.

A B C D f g h k g ∘ f = k ∘ h
Ein kommutatives Quadrat: der Weg über B (g ∘ f) liefert dasselbe wie der Weg über C (k ∘ h). Solche Gleichungen von Wegen sind der typische Kategorien-Beweis.

Warum das nützlich ist

GebietWas die Kategorie liefert
Mathematikeine Sprache, die Algebra, Topologie, Logik verbindet
Funktionale ProgrammierungTypen als Objekte, Funktionen als Pfeile (Haskell, Scala)
InformatikKomposition als Grundprinzip sauberer Software
Logikenge Verbindung zu Beweisen und Typen

Der Reiz liegt in der Abstraktion: Wer die Pfeilstruktur eines Problems versteht, erkennt dieselbe Struktur sofort in ganz anderen Zusammenhängen wieder. Kategorientheorie berührt so die formale Logik und die Grundlagen der Programmierung.

Quellen

Verwandte Themen