Partielle Funktion

Eine partielle Funktion von der Menge X {\displaystyle X} nach der Menge Y {\displaystyle Y} ist eine binäre, rechtseindeutige Relation, das heißt eine Relation, in der jedem Element der Menge X {\displaystyle X} höchstens ein Element der Menge Y {\displaystyle Y} zugeordnet wird. Im Unterschied zum üblichen Funktionsbegriff der Mathematik kann bei einer partiellen Funktion der Definitionsbereich eine echte Teilmenge von X {\displaystyle X} sein – eine partielle Funktion kann demnach auf einen undefinierten Ausdruck abbilden. Der Begriff der partiellen Funktion ist in der Theoretischen Informatik, insbesondere in der Berechenbarkeitstheorie verbreitet.

Beschreibung

Der Begriff der partiellen Funktion ist eine Verallgemeinerung des Begriffs der Funktion. Unter einer Funktion von X {\displaystyle X} nach Y {\displaystyle Y} versteht man eine linkstotale, rechtseindeutige Relation, also eine Relation, in der jedem Element von X {\displaystyle X} genau ein Element von Y {\displaystyle Y} zugeordnet ist. Jede Funktion von X {\displaystyle X} nach Y {\displaystyle Y} ist also insbesondere eine partielle Funktion von X {\displaystyle X} nach Y {\displaystyle Y} , nämlich eine (links-)totale partielle Funktion, aber nicht umgekehrt. Insofern kann der Begriff der partiellen Funktion irreführend sein. Falls eine partielle Funktion sogar eine Funktion im eigentlichen Sinn ist, sagt man gelegentlich, es handle sich um eine totale Funktion. Der Unterschied zwischen partiellen Funktionen und (totalen) Funktionen ist: Für partielle Funktionen f : X Y {\displaystyle f\colon \;X\rightharpoonup Y} gilt Def ( f ) X {\displaystyle \operatorname {Def} (f)\subseteq X} , für (totale) Funktionen f : X Y {\displaystyle f\colon \;X\to Y} gilt Def ( f ) = X {\displaystyle \operatorname {Def} (f)=X} .[1]

Als Definitionsbereich Def ( f ) {\displaystyle \operatorname {Def} (f)} der partiellen Funktion f {\displaystyle f} bezeichnet man die Menge aller derjenigen Elemente aus X {\displaystyle X} , denen ein Element aus Y {\displaystyle Y} zugeordnet ist. Eine partielle Funktion f {\displaystyle f} ist also genau dann eine Funktion, wenn Def ( f ) = X {\displaystyle {\mbox{Def}}(f)=X} gilt.

Eine partielle Funktion f {\displaystyle f} von X {\displaystyle X} nach Y {\displaystyle Y} lässt sich auf zweierlei Arten als Funktion modellieren:

  1. als Funktion f | Def ( f ) : Def ( f ) Y , x f ( x ) , {\displaystyle f|_{\operatorname {Def} (f)}\colon \;\operatorname {Def} (f)\to Y,x\mapsto f(x),\quad } oder
  2. als Funktion f ¯ : X Y { } , x { f ( x ) ,  falls  x Def ( f ) , ,  sonst. {\displaystyle {\bar {f}}\colon \;X\to Y\cup \{\bot \},\;x\mapsto {\begin{cases}f(x),&{\text{ falls }}x\in \operatorname {Def} (f),\\\bot ,&{\text{ sonst.}}\end{cases}}}
Der Wert {\displaystyle \bot } („undefiniert“) darf dazu nicht in Y {\displaystyle Y} sein.[2]

Schreibweisen

Für „ f {\displaystyle f} ist eine partielle Funktion von X {\displaystyle X} nach Y {\displaystyle Y} “ schreibt man: f : X Y {\displaystyle f\colon \;X\rightharpoonup Y} [2] oder f : X Y {\displaystyle f\colon \;X\rightsquigarrow Y} , alternativ auch f : X Y {\displaystyle f\colon \;\subseteq X\to Y} , f : X p Y {\displaystyle f\colon \;X\to _{p}Y} oder f : X  ⇢  Y {\displaystyle f\colon \;X{\mbox{ ⇢ }}Y} . Nicht empfehlenswert sind u. a. die Schreibweisen f : X Y {\displaystyle f\colon \;X\to Y} sowie f : X Y {\displaystyle f\colon \;X\;{\,\,\shortmid \;\!\!\!\!\!\to }\;Y} , denn erstere definiert f {\displaystyle f} als (totale) Funktion und zweitere ist leicht mit f : X Y {\displaystyle f\colon \;X\nrightarrow Y} zu verwechseln, was jedoch bedeutet, dass f {\displaystyle f} keine (totale) Funktion von X {\displaystyle X} nach Y {\displaystyle Y} ist. Dies ist aber wie ersteres im Allgemeinen nicht zutreffend.

Die Schreibweise „ f ( x ) {\displaystyle f(x)} ist undefiniert“ oder sogar „ f ( x ) = undefiniert {\displaystyle f(x)={\text{undefiniert}}} “ ist problematisch, denn der Ausdruck f ( x ) {\displaystyle f(x)} ist ja dann gerade nicht zulässig. Klarer ist es zu sagen „ f {\displaystyle f} ist undefiniert an der Stelle x {\displaystyle x} “ oder als Formel „ x Def ( f ) {\displaystyle x\notin {\mbox{Def}}(f)} “.

Beispiele

  • Die partielle Funktion f : R R , x 1 x , {\displaystyle f\colon \;\mathbb {R} \rightharpoonup \mathbb {R} ,x\mapsto {\frac {1}{x}},} ist an der Stelle x = 0 {\displaystyle x=0} undefiniert, weil die Division durch 0 {\displaystyle 0} in den reellen Zahlen unzulässig ist. Man kann bilden
f | R { 0 } : R { 0 } R , x 1 x , {\displaystyle f|_{\mathbb {R} \setminus \{0\}}\colon \;\mathbb {R} \setminus \{0\}\to \mathbb {R} ,x\mapsto {\tfrac {1}{x}},}
oder
f ¯ : R R { } , x { 1 x ,  falls  x 0 , ,  sonst. {\displaystyle {\bar {f}}\colon \;\mathbb {R} \to \mathbb {R} \cup \{\bot \},\;x\mapsto {\begin{cases}{\tfrac {1}{x}},&{\text{ falls }}x\neq 0,\\\bot ,&{\text{ sonst.}}\end{cases}}}
  • partiell-rekursive Funktionen
  • ein unbeschränkter linearer Operator

Anwendungen

Wenn ein Algorithmus Eingaben aus der Menge X {\displaystyle X} annimmt und Ausgaben aus der Menge Y {\displaystyle Y} liefert, dann berechnet er eine partielle Funktion von X {\displaystyle X} nach Y {\displaystyle Y} . Der Definitionsbereich dieser Funktion ist die Menge aller Elemente aus X {\displaystyle X} , für die der Algorithmus einen Wert liefert. Um einen Wert zu liefern, muss er insbesondere mit seiner Berechnung an ein Ende kommen (terminieren).

Einzelnachweise

  1. Technische Universität Braunschweig Partielle und totale Funktionen (PDF; 112 kB).
  2. a b Thomas Holder: partial map classifier, auf: nLab, 3. Juli 2015