Комбинатор неподвижной точки

Комбина́тор неподви́жной то́чки (или оператор неподвижной точки) — это комбинатор, нерекурсивная функция высшего порядка , создающая неподвижную точку другой функции высшего порядка , так что

Наиболее известным комбинатором неподвижной точки является Y-комбинатор в λ-исчислении, введённый известным американским учёным Хаскеллом Карри как

Иногда имя этого комбинатора ошибочно используется для обозначения вообще всех комбинаторов неподвижной точки.

Существует бесконечно много комбинаторов неподвижной точки, например[1]

и т.д. (здесь - это комбинатор Тьюринга).

Языки программирования, в которых допустим комбинатор неподвижной точки, позволяют использовать рекурсию анонимных функций без необходимости присвоения значения такой функции какой-либо переменной. В общем виде, имея функционал, описывающий "один шаг" рекурсивного вычисления,

где обозначает "остаток вычислений", это соответствующая рекурсивная функция

где вызов будет происходить в зависимости от значения . Но получает как значение , и таким образом базисный вычислительный шаг будет повторяться снова и снова, по мере необходимости, без ограничений, как определено значением аргумента:

Теорема о неподвижной точке

И в λ-исчислении, и в комбинаторной логике для каждого терма существует по крайней мере один терм такой, что . И более того, существует комбинатор такой, что .

См. также

Примечания

Литература

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya