Лучшие вопросы
Таймлайн
Чат
Перспективы
Комбинатор неподвижной точки
Из Википедии, свободной энциклопедии
Remove ads
Комбина́тор неподви́жной то́чки (или оператор неподвижной точки) — это комбинатор, нерекурсивная функция высшего порядка , создающая неподвижную точку другой функции высшего порядка , так что
Наиболее известным комбинатором неподвижной точки является Y-комбинатор в λ-исчислении, введённый известным американским учёным Хаскеллом Карри как
Иногда имя этого комбинатора ошибочно используется для обозначения вообще всех комбинаторов неподвижной точки.
Существует бесконечно много комбинаторов неподвижной точки, например[1]
и т.д. (здесь - это комбинатор Тьюринга).
Языки программирования, в которых допустим комбинатор неподвижной точки, позволяют использовать рекурсию анонимных функций без необходимости присвоения значения такой функции какой-либо переменной. В общем виде, имея функционал, описывающий "один шаг" рекурсивного вычисления,
где обозначает "остаток вычислений", это соответствующая рекурсивная функция
где вызов будет происходить в зависимости от значения . Но получает как значение , и таким образом базисный вычислительный шаг будет повторяться снова и снова, по мере необходимости, без ограничений, как определено значением аргумента:
Remove ads
Теорема о неподвижной точке
И в λ-исчислении, и в комбинаторной логике для каждого терма существует по крайней мере один терм такой, что . И более того, существует комбинатор такой, что .
Remove ads
См. также
Примечания
Литература
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads