Tak (Funktion)
# Tak (Funktion)

Die Tak-Funktion, benannt nach Ikuo Takeuchi (竹内郁雄), ist eine rekursive Funktion, die folgendermaßen definiert ist:

    $t(x,y,z):={\begin{cases}y&{\text{falls }}x\leq y\\t{\bigt(x-1,y,z),t(y-1,z,x),t(z-1,x,y){\big )}&{\text{andernfalls}}\end{cases}}$

Anders ausgedrückt:

    $t(x,y,z)={\begin{cases}y&{\text{falls }}x\leq y\\{\begin{cases}z&{\text{falls }}y\leq z\\x&{\text{andernfalls}}\end{cases}}&{\text{andernfalls}}\end{cases}}$

Sie wird oft als Benchmark für Programmiersprachen verwendet, die auf Rekursion optimiert sind.

