Recursie

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Recursie is het optreden van een constructie B als onderdeel van een identieke soort constructie A. De oorspronkelijke constructie A en de aangeroepen constructie B verschillen doorgaans in waarde. Recursieve constructies komen enerzijds in de taalkunde voor en anderzijds in de wiskunde, informatica en logica.

In tegenstelling tot bij recursiviteit zijn bij het Droste-effect de oorspronkelijke en de aangeroepen constructie wel steeds hetzelfde.

Recursie in de taalkunde[bewerken]

In de taalkunde doet recursie zich onder andere voor in de zinsbouw. De recursie doet zich hier niet voor op het niveau van individuele voorkomens, maar op soortniveau. Zo kunnen zinnen willekeurig diep binnen andere zinnen worden ingebed. Voorbeeld:

Het feit dat je horloge stuk is betekent niet dat je te laat mag komen.

Afgezien van de afwijkende woordvolgorde zijn de ingebedde delen volledige zinnen. Het proces van inbedding is recursief omdat het, in theorie, willekeurig vaak kan worden herhaald : je horloge stuk is kan worden uitgebreid naar je horloge is stuk, omdat het is gevallen, waarna er een auto overheen reed die ... .

Sommige taalkundigen menen dat recursiviteit het belangrijkste element is van de taal van mensen.[1]

Recursie in de exacte wetenschap[bewerken]

1rightarrow blue.svg Zie Differentievergelijking voor het gebruik van recursiviteit in de wiskunde, Recursie (informatica) voor de informatica en Zelfreferentie voor de logica.

Wiskunde[bewerken]

In de wiskunde wordt gebruikgemaakt van recursieve functies, zij worden gegeven door differentievergelijkingen of, synoniem, recurrente betrekkingen. Een bekend voorbeeld is de recursieve definitie van de faculteit van een getal.

De randvoorwaarde is:

1! = 1

De recursieve definitie is:

n! = n * (n-1)! voor een natuurlijk getal.

Een andere voorbeeld is de rij van Fibonacci: f(n) =f(n-1) + f(n-2).

Informatica[bewerken]

Overeenkomstig deze definities kunnen de faculteit en de rij van Fibonacci in een computerprogramma recursief worden geïmplementeerd. Recursie is niet in alle programmeertalen mogelijk.

Recursieve acroniemen[bewerken]

Sommige acroniemen zijn recursief gedefinieerd, het acroniem komt in de betekenis terug:

  • GNU: GNU's Not Unix
  • Wine: Wine Is Not an Emulator
  • PHP: PHP: Hypertext Preprocessor
  • LAME: Lame Ain't an Mp3 Encoder


  1. (en) MD Hauser e.a. in Science. The Faculty of Language: What Is It, Who Has It and How Did It Evolve? 2002