Recursie

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

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

Wiskunde

In de wiskunde wordt gebruikgemaakt van recursieve functies, zij worden gegeven door differentievergelijkingen of, synoniem, recurrente betrekkingen. Een 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

Overeenkomstig deze definities kunnen de faculteit en de rij van Fibonacci in een computerprogramma in een recursieve functie worden geïmplementeerd, de functie roept dan steeds zichzelf aan. Recursie is niet in alle programmeertalen mogelijk.

Recursieve acroniemen

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
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.