In der Informatik ist die wohl bekannteste Verwendung von Fixpunkten in der Gittertheorie ¹. Ein Gitter ist eine teilweise geordnete Menge mit der zusätzlichen Eigenschaft, dass bei zwei beliebigen Elementen die Menge sowohl ein Supremum als auch ein Infimum (in ) hat.x , y ∈ S { x , y } S(S,≤)x,y∈S{x,y}S
Nun betrachten Sie oft monotone Funktionen auf diesem Gitter, die "konvergieren", dh für einige x ∈ S haben Sie f ( x ) = x . Wichtige Ergebnisse in diesem Bereich sind Kleenes Fixpunktsatz und der Knaster-Tarski-Satz .fx∈Sf(x)=x
Ein prominentes Beispiel ist das Gitter für A some set und f, das durch eine induktive Definition induziert wird. Zum Beispiel sei A = { a , b } ∗ und wir definieren eine Sprache L ∈ 2 { a , b } ∗ durch(2A,⊆)AfA={a,b}∗L∈2{a,b}∗
w∈Law∈Lbw∈L⟹ε,a∈L⟹baw∈L⟹abw,bbw∈L
Diese induktive Definition entspricht der monotonen Funktion
f(A)={ε,a}∪A∪{baw∣aw∈L}∪{abw,bbw∣bw∈L}
Durch Knaster-Tarski Satz, wissen wir einen kleinsten Fixpunkt hat , welches ein Supremum aller kleineren „Zwischenergebnisse“ (die entsprechen endlich oft die Konstrukteure der induktiven Definition Anwendung), und die kleinsten ist Fixpoint in der Tat L .fL
Übrigens hat der größte Fixpunkt auch Verwendungen; siehe hier für ein Beispiel.
In der Rekursionstheorie gibt es einen weiteren Fixpunktsatz, der ebenfalls auf Kleene zurückzuführen ist. Es heißt ²,
Sei eine Gödel-Nummerierung ³ und r : N → N eine gesamt berechenbare Funktion (Intuition: ein Compiler). Dann ist i ∈ N, so dass φ r ( i ) = φ i ist .φr:N→Ni∈Nφr(i)=φi
Tatsächlich gibt es sogar unendlich viele solcher ; Wenn es nur endlich viele gäbe, könnten wir r (durch Tabellensuche) patchen, um keine Fixpunkte zu haben, was dem Theorem widerspricht.ir
- Jeder benutzt es jeden Tag, auch wenn man es nicht merkt.
- Ich mag diesen Wikipedia-Artikel nicht. Sie sind wahrscheinlich besser dran, ein Genre-Buch zu lesen.
- Eine besondere Art der Funktionsnummerierung. Stellen Sie sich dies für die Intuition als eine (Turing-vollständige) Programmiersprache vor.