En informatique, l'utilisation sans doute la plus importante des points fixes se situe dans la théorie du réseau ¹. Un réseau est un ensemble partiellement ordonné avec la propriété supplémentaire que, étant donné deux éléments x , y ∈ S , l'ensemble { x , y } a à la fois un supremum et un infimum (en S ).(S,≤)x,y∈S{x,y}S
Maintenant, vous considérez souvent les fonctions monotones sur ce réseau qui "convergent", c'est-à-dire que pour certains x ∈ S vous avez f ( x ) = x . Les résultats importants dans ce domaine sont le théorème du point fixe de Kleene et le théorème de Knaster-Tarski .fx∈Sf(x)=x
Un exemple frappant est le réseau pour A un certain ensemble, et f induit par une définition inductive. Par exemple, soit A = { a , b } ∗ et nous définissons un langage L ∈ 2 { a , b } ∗ par(2A,⊆)UNEFA = { a ,b}∗L ∈ 2{ a , b }∗
w ∈ La w ∈ Lbw∈L⟹ε,a∈L⟹baw∈L⟹abw,bbw∈L
Cette définition inductive correspond à la fonction monotone
f(A)={ε,a}∪A∪{baw∣aw∈L}∪{abw,bbw∣bw∈L}
Par théorème Knaster-Tarski, nous savons que a un plus petit point fixe qui est une borne supérieure de tous les petits « résultats intermédiaires » (qui correspondent à l' application souvent les finiment constructeurs de la définition inductive), et que le plus petit point fixe est en effet L .fL
Soit dit en passant, le plus grand point fixe a également des utilisations; voir ici pour un exemple.
Dans la théorie de la récursivité, il existe un autre théorème à virgule fixe, également dû à Kleene. Il dit ²,
Soit une numérotation de Gödel ³ et r : N → N une fonction totale calculable (intuition: un compilateur). Il y a donc i ∈ N tel que φ r ( i ) = φ i .φr:N→Ni∈Nφr(i)=φi
En fait, il existe même une infinité de tels ; s'il n'y en avait qu'un nombre fini, nous pourrions corriger r (par recherche de table) pour ne pas avoir de points fixes, contredisant le théorème.ir
- Tout le monde l'utilise tous les jours, même si vous ne vous en rendez pas compte.
- Je n'aime pas cet article Wikipedia; vous feriez probablement mieux de consulter un livre de genre.
- Un type spécial de numérotation des fonctions. Pour l'intuition, considérez-le comme un langage de programmation (Turing-complet).