Русская Википедия:Идемпотентность

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Идемпоте́нтность (Шаблон:Lang-la «тот же самый» + Шаблон:Lang-la2 «способный») — свойство объекта или операции при повторном применении операции к объекту давать тот же результат, что и при первом. Термин предложил американский математик Бенджамин Пирс (Шаблон:Lang-en) в статьях 1870-х годов.

Примеры идемпотентных операций:

Элемент

Идемпотентный элемент (идемпотент) в алгебре — элемент полугруппы, сохраняющийся при умножении самого на себя: <math>e^2=e</math>. Теорема об идемпотенте гласит: в конечной полугруппе есть идемпотент.

Идемпотентный элемент <math>e</math> содержит идемпотентный элемент <math>f</math> (обозначается <math>e\geqslant f</math>), если <math>ef=e=fe</math>. Отношение <math>\geqslant</math> является отношением частичного порядка в множестве <math>E</math> идемпотентных элементов и называется естественным частичным порядком на множестве <math>E</math>.

Два идемпотентных элемента ассоциативного кольца (которое будет полугруппой по умножению) <math>u</math> и <math>v</math> называются ортогональными, если <math>u v = 0 = v u</math>.

Операция

Шаблон:См. также Идемпотентная бинарная операция в математике — операция, относительно которой всякий элемент обладает идемпотентностью в вышеназванном смысле:

<math>\forall x: \quad x \cdot x = x</math>.

Этим свойством обладают, например, логическое И и логическое ИЛИ.

Идемпотентная унарная операция — операция, для которой выполняется <math>\forall x: f(f(x)) = f(x)</math>, или <math>f \circ f = f</math>.

Из линейных операторов в <math>\mathbb{R}^n</math> идемпотентны только тождественный оператор, нулевой оператор и параллельная проекция. Поэтому проектор в алгебре — в том числе в бесконечномерных пространствах — определяется как <math>P \circ P = P</math>.

В информатике

Идемпотентная операция в информатике — действие, многократное повторение которого эквивалентно однократному.

Примером такой операции могут служить GET-запросы в протоколе HTTP. По спецификации, сервер должен возвращать идентичные ответы на идентичные GET-запросы (при условии, что ресурс не изменился). Это позволяет корректно кэшировать эти ответы, снижая нагрузку на сеть.

Для препроцессора языка Си директива «Шаблон:Cpp» является идемпотентной, если в заголовочном файле есть защита от двойного включения.

Литература