Récursivité

{{#ifeq:||Un article de Ziki, l'encyclopédie libre.|Une page de Ziki, l'encyclopédie libre.}}

La récursivité est une démarche qui fait référence à l'objet même de la démarche à un moment du processus. En d'autres termes, c'est une démarche dont la description mène à la répétition d'une même règleModèle:Sfn,Modèle:Sfn. Ainsi, les cas suivants constituent des cas concrets de récursivité :

  • décrire un processus dépendant de données en faisant appel à ce même processus sur d'autres données plus « simples » ;
  • montrer une image contenant des images similaires ;
  • définir un concept en invoquant ce même concept ;
  • écrire un algorithme qui s'invoque lui-même<ref group=note>En algorithmique, les algorithmes récursifs sont couramment employés.</ref> ;
  • définir une structure à partir de l'une au moins de ses sous-structures ;
  • faire pointer un article de Wikipédia vers lui-même ou vers un article qui, par une succession de pointeurs, pointe vers l'article dont on est parti ; ainsi dans l'article que vous lisez, l'expression « pétition de principe » pointe vers un article qui pointe vers le présent article<ref group=note>Notons que le système de wiki détecte les liens hypertextes qui pointent sur la page les mentionnant et les supprime afin d'éviter des problèmes de boucle aux robots parcourant les pages.</ref>.

En informatique

Modèle:Article détaillé

Fichier:Binary tree.svg
Un arbre binaire est une structure de données récursive. L’arbre représenté, contenant les neuf éléments {2, 7, 2, 6, 5, 11, 5, 9, 4}, est constitué d’un Modèle:Nobr portant à gauche un arbre à cinq éléments {7, 2, 6, 5, 11} et à droite un arbre à trois élements {5, 9, 4}. Ce dernier est constitué d’un Modèle:Nobr portant à gauche un arbre vide, et à droite un arbre à deux éléments {9, 4}. Ce dernier est constitué d’un Modèle:Nobr portant à gauche un arbre à un élément {4}, et à droite un arbre vide. L’arbre à un élément {4} est constitué d’un Modèle:Nobr portant deux arbres vides.

En informatique, la définition de certaines structures de données, comme les listes ou les arbres, est récursive : elle mentionne le type de données en train d’être défini. Par exemple (voir la figure) un arbre binaire est soit vide, soit un nœud portant deux arbres binaires plus petits.

Par ailleurs, une fonction ou plus généralement un algorithme peut contenir un ou des appels à lui-même, auquel cas il est dit récursif. Ce procédé est en particulier employé pour traiter les structures de données récursives, ainsi que pour réaliser le paradigme algorithmique « diviser pour régner ».

Deux types de données peuvent, dans leur définition respective, se mentionner l'un l'autre ; de même, deux algorithmes peuvent s'appeler l'un l'autre. On parle alors de récursivité croisée, ou mutuelle.

Comme l’usage de boucles, la récursivité permet d’effectuer un nombre d’opérations non connu à l’avance car déterminé par les entrées du programme ; ces deux procédés permettent aussi d’écrire des programmes qui ne terminent pas. Un langage autorisant des boucles, tout comme un langage autorisant la récursivité, est en général Turing-complet.

La récursivité est un point délicat dans l'enseignement de l'informatiqueModèle:Sfn, car son appropriation par l'apprenant demande une dose d'abstraction.

Modèle:Refnec

En linguistique

Modèle:Article détaillé Noam Chomsky, linguiste américain renommé, parmi d'autres, affirme que le manque d'une limite supérieure en ce qui concerne le nombre de phrases grammaticales ainsi que leur longueur (en restant dans le domaine de ce qui est pratique) est le résultat de la récursivité du langage naturelModèle:Sfn,Modèle:Sfn.

Cela se comprend à l'aide d'une définition récursive d'une catégorie syntaxique, comme une phrase. Une phrase peut posséder une structure dans laquelle une phrase enchâssée se trouve après le verbe : Dorothée pense que les sorcières sont dangereuses, dans laquelle la phrase les sorcières sont dangereuses se trouve dans une phrase déjà présente. Donc, une phrase peut être définie récursivement (à peu près) comme quelque chose qui possède une structure qui inclut une phrase nominale, un verbe et une autre phrase (optionnelle). C'est vraiment un cas spécial dans lequel la définition mathématique de la récursivité se manifeste.

La récursivité joue un rôle important non seulement en syntaxe, mais aussi dans la sémantique du langage naturel. Le mot et, par exemple, peut être considéré comme une fonction qui peut s'appliquer aux sens des phrases pour créer de nouvelles phrases. Cela s'effectue également en ce qui concerne les sens des phrases nominales, verbales, parmi d'autres formes phrasales. C'est aussi le cas pour les verbes transitifs, intransitifs ou même ditransitifs. Afin de lui fournir une seule dénotation suffisamment flexible, et se définit tout simplement comme ayant la possibilité de représenter des arguments à travers n'importe quelles formes significatives. Cela peut s'effectuer en définissant et pour un cas simple dans lequel on combine des phrases, puis définir les autres cas récursivement en termes du cas simpleModèle:Sfn.

La grammaire du sanskrit de Pānini utilise déjà la récursivité au Modèle:Lien siècle av JCModèle:Vérification siècle Les constructions des langues sont essentiellement récursives, par exemple la construction des groupes nominaux : la clé de la serrure de la porte d'entrée de la maison de la rue du bout du village. Des travaux menés par le professeur Daniel Everett tendraient cependant à montrer l'absence de récursivité dans la langue PirahãModèle:Sfn.

Certains auteurs ont considéré que la capacité à construire des structures récursives est propre aux systèmes de communication humaine, mais cette affirmation est aujourd'hui remise en cause par des travaux de cognition animaleModèle:Sfn.

Un dictionnaire (dictionnaire de définition) est un exemple de récursivité : chaque mot du dictionnaire est défini par d'autres mots eux-mêmes définis par d'autres mots dans ce même dictionnaire.

Fichier:Sierpinski square.png
Figure de Sierpiński.

Dans les arts

Dans le domaine des arts, le procédé récursif est appelé mise en abîme et c'est l'artiste Maurits Cornelis Escher qui en fait le plus grand usage ; il est connu pour ses œuvres inspirées par la récursivité<ref>Modèle:Article.</ref>. De son côté, la publicité a aussi utilisé la récursivité, rendant célèbres en France La vache qui rit et Dubonnet<ref>Modèle:Article.</ref>,<ref>Modèle:Article.</ref>.

En biologie

Modèle:Section à sourcer

La récursivité est particulièrement présente en biologie, notamment dans les motifs de végétaux et les processus de développement. Les diatomées présentent en particulier de belles structures récursives.

En mathématiques

Le triangle de Sierpiński — une récurrence de triangles formant un fractale.
Le triangle de Sierpiński — une récurrence de triangles formant une fractale.

Suite définie récursivement

Modèle:Article détaillé

Fonctions récursives

Modèle:Article détaillé Une fonction peut être définie en fonction d'elle-même. Un exemple familier est la suite de Fibonacci vue comme une fonction <math>F: \N \to \N</math>, à savoir <math>F(n) = F(n - 1) + F(n - 2)</math>. Pour qu'une telle définition ait un sens, elle doit conduire à des valeurs immédiatement évaluables: dans le cas de la suite de Fibonacci on pose <math>F(0) = 0</math> et <math>F(1) = 1</math>.

Un exemple : le flocon de Koch

Le flocon de Koch est une figure fractale utilisant un procédé simple de récursivité.

Fichier:Koch anime.gif
Le flocon de Koch - une récurrence de triangles formant une fractale.

À l'étape initiale, on a un triangle équilatéral. L'étape suivante consiste à construire trois triangles équilatéraux en prenant pour base le tiers central de chacun des côtés du triangle initial. En répétant ce procédé d'abord pour les trois nouveaux triangles, puis autant de fois qu'on le veut, on obtient le flocon de Koch.

Récursivité, imprédicativité et auto-référence

Fichier:Droste.jpg
Une publicité récursive.

Définir un concept à partir de lui-même a été appelé par les logiciens et les mathématiciens imprédicativité, notion qui ne doit pas être confondue avec celle de récursivité bien qu'elle lui soit apparentée. On parle aussi d'auto-référence. Il existe des théories logiques imprédicatives (comme le système F dû à Jean-Yves Girard), mais elles doivent être définies avec précaution si l'on veut préserver leur cohérence, car les paradoxes ne sont pas loin. Ainsi en théorie des ensembles, le paradoxe de Russell montre qu'il ne peut pas y avoir d'ensemble constitué des ensembles qui ne se contiennent pas eux-mêmes (popularisé comme le paradoxe du barbier, en effet « si le barbier est celui qui rase ceux qui ne se rasent pas eux-mêmes, qui rase le barbier ? »). Toujours en théorie des ensembles, l'axiome de fondation proscrit les ensembles qui se contiennent eux-mêmes.

C'est pour jouer sur ces principes que des informaticiens facétieux ont défini des acronymes récursifs qui ne définissent rien puisqu'ils sont imprédicatifs et incohérents. De même, l'aphorisme suivant : « Pour comprendre le principe de récursivité, il faut d'abord comprendre le principe de récursivité »Modèle:Référence nécessaire, est imprédicatif et peut être considéré comme une pétition de principe.

En systémique, neurosciences et systèmes complexes, cognition

Edgar Morin a très souvent utilisé le concept de récursivité, qu'il appelle boucle récursive, notamment dans ses ouvrages constituant la Méthode. La boucle récursive est à causalité circulaire : la conséquence agit sur la cause de l'effet. La plasticité cérébrale, composée de la plasticité neuronale et de la plasticité synaptique, est un exemple de boucle récursive. Par exemple : le cerveau a la capacité de piloter l'enchaînement des différents muscles de commande lors du premier apprentissage d'un mouvement complexe (swing du golf). La répétition du geste modifie les réseaux neuronaux et synaptiques qui deviennent ainsi aptes à de nouvelles capacités : l'apprentissage des gestes pour les effets donnés à la balle.

Modèle:CitationModèle:Sfn.

Dans le Modèle:6e opus de La Méthode, Edgar Morin propose la récursion éthique.

Modèle:CitationModèle:Sfn.

Notes et références

Notes

Modèle:Traduction/Référence Modèle:Notes

Références

Modèle:Références

Annexes

Modèle:Autres projets

Bibliographie

Liens externes

Articles connexes

Modèle:Colonnes Modèle:Portail