Zurück zur Übersicht

Begriff

Monoid

Math Functional Programming S3
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.

Klingt nach Aliens, ist aber Babymathe. Ein Monoid ist eine Menge von Dingen, die man zusammenkleben kann. Und es gibt ein neutrales Element (Nichts), das nichts verändert. Beispiel 1: Zahlen (Addieren).

  • Operation: + (3 + 4 = 7).
  • Neutrales Element: 0 (3 + 0 = 3). -> Monoid! Beispiel 2: Strings (Zusammenfügen).
  • Operation: + ("Hallo" + "Welt" = "HalloWelt").
  • Neutrales Element: "" (leerer String). ("Hallo" + "" = "Hallo"). -> Monoid!

Merksatz: Eine algebraische Struktur bestehend aus einer Menge, einer assoziativen binären Verknüpfung und einem neutralen Element.


Quick-Check

  1. Ist Subtraktion ein Monoid?
    Nein. (10-5)-2 = 3. 10-(5-2) = 7. Nicht assoziativ! Man kann Minus-Rechnen nicht parallelisieren.
  2. Wozu brauche ich das Wort?
    Um Muster zu erkennen. Wenn du merkst "Hey, mein Objekt verhält sich wie ein Monoid", kannst du sofort tausende fertige Algorithmen (Parallelisierung, Caching) darauf anwenden.
  3. Haskell?
    In Haskell heißt das mempty (Neutral) und mappend (Verknüpfung).