Na ciência da computação, o uso indiscutivelmente mais proeminente de pontos fixos está na teoria da rede ¹. Uma treliça é um conjunto parcialmente ordenado (S,≤) com a propriedade adicional que fornece quaisquer dois elementos x,y∈S , o conjunto {x,y} tem um supremo e um mínimo (em S ).
Agora você costuma considerar funções monótonas f nessa rede que "convergem", ou seja, para alguns x∈S você tem f(x)=x . Resultados importantes nessa área são o teorema de ponto fixo de Kleene e o teorema de Knaster-Tarski .
Um exemplo proeminente é a treliça para A algum conjunto efef induzida por uma definição indutiva. Por exemplo, deixe A = { a , b } ∗ e definimos um idioma L ∈ 2 { a , b } ∗ por(2A,⊆)AfA={a,b}∗L ∈ 2{ a , b }∗
w ∈ Lum w ∈ Lb w ∈ L⟹ε , um ∈ L⟹baw∈L⟹abw,bbw∈L
Esta definição indutiva corresponde à função monótona
f( A ) = { ε , a } ∪ A ∪ { b a w ∣ a w ∈ L } ∪ { a b w , b b w ∣ b w ∈ L }
Por Knaster-Tarski teorema, sabemos que tem um menor fixpoint que é um supremo de todos os "resultados intermédios" menores (o que corresponde a um número finito, muitas vezes aplicando os construtores da definição indutiva), e que menor fixpoint é certamente L .feu
A propósito, o maior ponto de fixação também tem usos; veja aqui um exemplo.
Na teoria da recursão, existe outro teorema de ponto fixo, também devido a Kleene. Ele diz ²,
Seja a numeração de Gödel ³ er : N → N uma função computável total (intuição: um compilador). Depois, há i ∈ N tal que φ r ( i ) = φ i .φr : N → Neu ∈ Nφr ( i )= φEu
De fato, existem infinitamente muitos desses ; se houvesse apenas um número finito de pontos, poderíamos corrigir r (pela consulta da tabela) para não ter pontos fixos, contradizendo o teorema.Eur
- Todo mundo usa todos os dias, mesmo que você não perceba.
- Eu não gosto desse artigo da Wikipedia; provavelmente é melhor verificar um livro de gênero.
- Um tipo especial de numeração de função. Para intuição, pense nisso como uma linguagem de programação (completa em Turing).