В информатике, пожалуй, наиболее заметное использование фиксированных точек в теории решетки ¹. Решетка является частично упорядоченным множеством с дополнительным свойством, которое дает любые два элемента x , y ∈ S , множество { x , y } имеет как супремум, так и инфимум (в S ).(S,≤)x,y∈S{x,y}S
Теперь вы часто рассматривают монотонные функции на этой решетке, «сходиться», то есть для некоторого х ∈ S у вас есть п ( х ) = х . Важные результаты в этой области являются теорема о неподвижной точке Клини и теорема Кнастера-Тарского .fx∈Sf(x)=x
Ярким примером является решетка для некоторого множества A и f, индуцированная индуктивным определением. Например, пусть А = { , Ь } * и определим язык L ∈ 2 { , Ь } * по(2A,⊆)AfA={a,b}∗L∈2{a,b}∗
w∈Law∈Lbw∈L⟹ε,a∈L⟹baw∈L⟹abw,bbw∈L
Это индуктивное определение соответствует монотонной функции
f(A)={ε,a}∪A∪{baw∣aw∈L}∪{abw,bbw∣bw∈L}
По теореме Кнастера-Тарского, мы знаем , имеет наименьший неподвижной опоры , которая является гранью всех меньших «промежуточных результатов» (которые соответствуют конечным часто применяя конструкторы индуктивного определения), а наименьшая неподвижная точка является действительно L .fL
Кстати, самая большая точка фиксации также имеет применение; см. здесь для примера.
В теории рекурсии есть еще одна теорема о неподвижной точке, также связанная с Клини. Это говорит ²,
Пусть - нумерация Гёделя ³ и r : N → N - полная вычислимая функция (интуиция: компилятор). Тогда существует такое i ∈ N , что φ r ( i ) = φ i .φr:N→Ni∈Nφr(i)=φi
На самом деле, таких даже бесконечно много ; если бы там было только конечное число, мы могли бы залатать r (путем поиска в таблице), чтобы не иметь неподвижных точек, что противоречит теореме.ir
- Каждый использует это каждый день, даже если вы этого не понимаете.
- Мне не нравится эта статья в Википедии; Вам, наверное, лучше проверить книгу жанров.
- Специальный вид нумерации функций. Для интуиции, думайте об этом как о (полном по Тьюрингу) языке программирования.