Citation Hunt

Das unten stehende Wikipedia-Snippet wird von keiner verlässlichen Quelle unterstützt. Kannst du eine finden?

Klicke auf Verstanden!, um zu Wikipedia zu gehen und das Snippet zu reparieren, oder Nächstes!, um ein anderes zu sehen. Viel Glück!

In Seite Funktion höherer Ordnung:

"

Eine Funktion höherer Ordnung (englisch higher-order function) ist in der Informatik eine Funktion, die Funktionen als Argumente erhält und/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 darin, dass für beliebige Mengen A , B , C {\displaystyle A,B,C} die Funktionenräume A × B C {\displaystyle A\times B\to C} und A ( B C ) {\displaystyle A\to (B\to C)} miteinander identifiziert werden können.

Folgende Funktion stellt ein Beispiel für eine Funktion höherer Ordnung dar:

f : R ( N R ) , x ( m x + m ) {\displaystyle f\colon \mathbb {R} \to (\mathbb {N} \to \mathbb {R} ),x\mapsto (m\mapsto x+m)}

Diese Funktion bildet jeden reellen x {\displaystyle x} -Wert auf eine Funktion ab, die eine (übergebene) natürliche Zahl zu x {\displaystyle x} addiert. Beispielsweise ist f ( 10 , 5 ) = ( m 10 , 5 + m ) {\displaystyle f(10{,}5)=(m\mapsto 10{,}5+m)} . m {\displaystyle m} wird wiederum auf x + m {\displaystyle x+m} abgebildet. Beispielsweise ist ( f ( 10 , 5 ) ) ( 1 ) = 11 , 5 {\displaystyle (f(10{,}5))(1)=11{,}5} .

Aus dem Lambda-Kalkül stammt der K-Kombinator K = ( x ( y x ) ) {\displaystyle K=(x\mapsto (y\mapsto x))} . ( K ( x ) ) ( y ) {\displaystyle (K(x))(y)} ist für alle y {\displaystyle 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. Im Fall f : ( A K ) K {\displaystyle f:(A\to \mathbb {K} )\to \mathbb {K} } mit K { R , C } {\displaystyle \mathbb {K} \in \{\mathbb {R} ,\mathbb {C} \}} ist A K {\displaystyle A\to \mathbb {K} } ein K {\displaystyle \mathbb {K} } -Vektorraum und daher ist f {\displaystyle f} ein Funktional.