Funktionen höherer Ordnung

Funktionen höherer Ordnung

Eine Funktion höherer Ordnung ist in der Mathematik bzw. Theoretischen Informatik eine Funktion, die Funktionen als Argumente erhält oder Funktionen als Ergebnis liefert.

Der Begriff wird insbesondere im Lambda-Kalkül verwendet, der theoretischen Grundlage der Funktionalen Programmierung. Dort ist er eng mit dem Currying verbunden, einem Verfahren, das Funktionen mit mehreren Argumenten in mehrere einparametrige Funktionen umwandelt. Diese Transformation hat ihre Grundlage in der Gleichmächtigkeit der Funktionenräume A \times B \to C und A \to (B \to C) für beliebige Mengen A,B,C.


Folgende Funktion ist eine Funktion höherer Ordnung:

f: \mathbb{R} \to (\mathbb{N} \to \mathbb{R})

f: x \mapsto (m \mapsto x+m)

Diese Funktion bildet jeden x-Wert auf eine Funktion ab, die eine (übergebene) natürliche Zahl zu x addiert. Beispielsweise f(10.5) = (m \mapsto 10.5+m) m wird wiederum auf x+m abgebildet: (f(10.5))(1) = 11.5

Aus dem Lambda-Kalkül stammt der K-Kombinator K = (x \mapsto (y \mapsto x)). (K(x))(y) ist für alle y konstant.

Ein bekanntes Beispiel für eine Funktion höherer Ordnung ist der Differentialoperator, weil er Funktionen auf Funktionen abbildet (Ableitung und Stammfunktion). Weitere wichtige Beispiele sind die so genannten Distributionen.

Beispiel aus der funktionalen Programmierung

In den meisten funktionalen Programmiersprachen wie z.B. Haskell ist die Funktion höherer Ordnung map definierbar. Sie erhält als Argument eine Funktion f und gibt eine Funktion zurück, die f auf jedes Element einer übergebenen Liste anwendet. Es ist zu beachten, dass map, Funktionen beliebigen Typs als Argument erhalten kann (angedeutet durch die Typvariablen a und b).

 map :: (a -> b) -> ([a] -> [b])
 map f []     = []
 map f (x:xs) = (f x):map f xs
 map (\x -> x^2) [1,2,3,4]     wird ausgewertet zu [1,4,9,16]

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Funktion höherer Ordnung — Eine Funktion höherer Ordnung ist in der Informatik eine Funktion, die Funktionen als Argumente erhält oder Funktionen als Ergebnis liefert. Der Begriff wird insbesondere im Lambda Kalkül verwendet, der theoretischen Grundlage der Funktionalen… …   Deutsch Wikipedia

  • Funktionen — In der Mathematik ist eine Funktion oder Abbildung eine Beziehung zwischen zwei Mengen, die jedem Element der einen Menge (Eingangsgröße, Funktionsargument, unabhängige Variable, x Wert) ein Element der anderen Menge (Ausgangsgröße, Funktionswert …   Deutsch Wikipedia

  • Funktionale Programmiersprache — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Funktionale Programmierung ist ein Programmierparadigma. Programme… …   Deutsch Wikipedia

  • Funktionionale Programmierung — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Funktionale Programmierung ist ein Programmierparadigma. Programme… …   Deutsch Wikipedia

  • Funktionale Programmierung — ist ein Programmierstil, bei dem Programme ausschließlich aus Funktionen bestehen. Dadurch werden die aus der imperativen Programmierung bekannten Nebenwirkungen vermieden. Die funktionale Programmierung entspringt der akademischen Forschung. In… …   Deutsch Wikipedia

  • Haskell (Programmiersprache) — Haskell Basisdaten Paradigmen: funktional, nicht strikt, modular, deklarativ Erscheinungsjahr …   Deutsch Wikipedia

  • Programmiersprache Haskell — Haskell Basisdaten Paradigmen: funktional, nicht strikt, modular …   Deutsch Wikipedia

  • Funktion (Informatik) — Eine Funktion (engl.: function, subroutine) ist in der Informatik die Bezeichnung eines Programmierkonzeptes, das große Ähnlichkeit zum Konzept der Prozedur hat. Hauptmerkmal einer Funktion ist es, dass sie ein Resultat zurückliefert und deshalb… …   Deutsch Wikipedia

  • Funktionsaufruf — Eine Funktion (engl.: function, subroutine) ist in der Informatik die Bezeichnung eines Programmierkonzeptes, das große Ähnlichkeit zum Konzept der Prozedur hat. Hauptmerkmal einer Funktion ist es, dass sie ein Resultat zurückliefert und deshalb… …   Deutsch Wikipedia

  • Funktionsoperator — Eine Funktion (engl.: function, subroutine) ist in der Informatik die Bezeichnung eines Programmierkonzeptes, das große Ähnlichkeit zum Konzept der Prozedur hat. Hauptmerkmal einer Funktion ist es, dass sie ein Resultat zurückliefert und deshalb… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”