Идемпотентность

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Идемпотентность — термин, означающий свойство математического объекта, которое проявляется в том, что повторное действие над объектом не изменяет его. Термин предложил американский математик Бенджамин Пирс (англ. Benjamin Peirce) в статьях 1870-х годов, произведя его от латинских слов idem («тот же самый») и potens («способный»).

Примеры употребления термина:

Элемент[править | править вики-текст]

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

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

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

Операция[править | править вики-текст]

В математике[править | править вики-текст]

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

\forall x: \quad x \cdot x = x \!.

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

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

\forall x:  f(f(x)) = f(x) \!, или f \circ f = f.

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

В информатике[править | править вики-текст]

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

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

Для препроцессора языка C директива «#include "xxx.h"» является идемпотентной, если в заголовочном файле есть защита от двойного включения.