例 モノイド において( N 、 × ) {\displaystyle (\mathbb {N} ,\times )} 乗法 を持つ自然数 のうち、0 {\displaystyle 0} そして1 {\displaystyle 1} 冪等性を持つ。実際、0 × 0 = 0 {\displaystyle 0\times 0=0} そして1 × 1 = 1 1×1=1 。モノイド において( N 、 + ) {\displaystyle (\mathbb {N} ,+)} 加算 を伴う自然数 のうち、0 {\displaystyle 0} は冪等である。実際、0 + 0 = 0 で ある。マグマ の中で( M 、 ⋅ ) {\displaystyle (M,\cdot )} アイデンティティ要素 e {\displaystyle e} または吸収性要素 1 {\displaystyle a} が存在する場合、 は冪等である。実際、e ⋅ e = e {\displaystyle e\cdot e=e} そして1 ⋅ 1 = 1 {\displaystyle a\cdot a=a} 。グループで ( G 、 ⋅ ) {\displaystyle (G,\cdot )} 、同一性要素e {\displaystyle e} は唯一の冪等要素です。実際、x {\displaystyle x} はG {\displaystyle G} そのためx ⋅ x = x {\displaystyle x\cdot x=x} 、 それからx ⋅ x = x ⋅ e {\displaystyle x\cdot x=x\cdot e} そして最後にx = e {\displaystyle x=e} 左から逆元を 掛けるx {\displaystyle x} 。 モノイドでは( P ( E ) 、 ∪ ) {\displaystyle ({\mathcal {P}}(E),\cup )} そして( P ( E ) 、 ∩ ) {\displaystyle ({\mathcal {P}}(E),\cap )} 冪集合 のP ( E ) \displaystyle {\mathcal {P}}(E)} セットのE {\displaystyle E} セットの和集合 を持つ∪ {\displaystyle \cup } 交差 を設定する∩ {\displaystyle \cap } それぞれ、∪ {\displaystyle \cup } そして∩ {\displaystyle \cap } 冪等性を持つ。実際、x ∪ x = x {\displaystyle x\cup x=x} すべての人々のためにx ∈ P ( E ) {\displaystyle x\in {\mathcal {P}}(E)} 、 そしてx ∩ x = x {\displaystyle x\cap x=x} すべての人々のためにx ∈ P ( E ) {\displaystyle x\in {\mathcal {P}}(E)} 。 モノイドでは( { 0 、 1 } 、 ∨ ) {\displaystyle (\{0,1\},\vee )} そして( { 0 、 1 } 、 ∧ ) {\displaystyle (\{0,1\},\wedge )} 論理和 を持つブール領域 の∨ {\displaystyle \vee } 論理的連言 ∧ {\displaystyle \wedge } それぞれ、∨ {\displaystyle \vee } そして∧ {\displaystyle \wedge } 冪等性を持つ。実際、x ∨ x = x {\displaystyle x\vee x=x} すべての人々のためにx ∈ { 0 、 1 } {\displaystyle x\in \{0,1\}} 、 そしてx ∧ x = x {\displaystyle x\wedge x=x} すべての人々のためにx ∈ { 0 、 1 } {\displaystyle x\in \{0,1\}} 。 GCDドメイン では(例えばZ {\displaystyle \mathbb {Z} } )、 GCD とLCM の演算は冪等である。ブール環 においては、乗算は冪等である。トロピカル半環 では、加算は冪等である。二次行列の環 において、冪等行列 の行列式 は0または1のいずれかである。行列式が1の場合、その行列は必ず単位行列 となる。[ 9 ]
冪等関数 モノイドにおいて( E E 、 ∘ ) {\displaystyle (E^{E},\circ )} 関数のセットのE {\displaystyle E} 関数合成を用いて、それ自身に(集合の べき乗を 参照)∘ {\displaystyle \circ } 冪等要素は関数ですf : E → E {\displaystyle f\colon E\to E} そのためf ∘ f = f {\displaystyle f\circ f=f} 、[ a ] は、f ( f ( x ) ) = f ( x ) {\displaystyle f(f(x))=f(x)} すべての人々のためにx ∈ E {\displaystyle x\in E} (言い換えれば、画像f ( x ) {\displaystyle f(x)} 各要素のx ∈ E {\displaystyle x\in E} は固定点 であるf {\displaystyle f} )。 例えば:
絶対値 は冪等である。実際、腹筋 ∘ 腹筋 = 腹筋 {\displaystyle \operatorname {abs} \circ \operatorname {abs} =\operatorname {abs} } つまり腹筋 ( 腹筋 ( x ) ) = 腹筋 ( x ) {\displaystyle \operatorname {abs} (\operatorname {abs} (x))=\operatorname {abs} (x)} すべての人々のためにx {\displaystyle x} ; 定数 関数は冪等である。恒等関数 は冪等である。 床関数 、天井関数 、および小数部分 関数は冪等性を持つ。 実部関数R e ( z ) {\displaystyle \mathrm {Re} (z)} 複素数 の冪等性は、 ほとんどの種類の平均 において、集合の平均を取ってそれを単一要素の集合に入れることは冪等である。{ 平均 { 平均 { x 1 、 … 、 x n } } } = { 平均 { x 1 、 … 、 x n } } {\displaystyle \{\operatorname {avg} \{\operatorname {avg} \{x_{1},\dots ,x_{n}\}\}\}=\{\operatorname {avg} \{x_{1},\dots ,x_{n}\}\}} 群の冪集合から自身への部分群生成関数は冪等である。 実数 上のアフィン空間 の冪集合からそれ自身への凸包関数 は冪等である。位相空間 の冪集合のそれ自身に対する閉包関数 および内部関数は冪等である。 モノイドのそれ自身に対する冪集合のクリーネスター関数とクリーネプラス関数は冪等で ある。 ベクトル空間 の冪等自己準同型写像 は、そのベクトル空間の射影 である。セットの場合E {\displaystyle E} もっているn {\displaystyle n} 要素を分割すると、k {\displaystyle k} 選択された固定点とn − k {\displaystyle n-k} 非固定点f {\displaystyle f} 、 その後k n − k {\displaystyle k^{n-k}} は異なる冪等関数の数です。したがって、すべての可能な分割を考慮すると、
∑ k = 0 n ( n k ) k n − k {\displaystyle \sum _{k=0}^{n}{n \choose k}k^{n-k}} は、集合上の可能な冪等関数の総数です。n = 0, 1, 2, 3, 4, 5, 6, 7, 8, ... の場合の上記の合計で与えられる冪 等関数の数の整数 列は、1, 1, 3, 10, 41, 196, 1057, 6322, 41393, ... で始まります( OEIS の シーケンス A000248 ) 。
関数合成の下では、冪等性も非冪等性も保持されません。[ b ] 前者の例として、f ( x ) = x {\displaystyle f(x)=x} mod 3 とg ( x ) = 最大 ( x 、 5 ) {\displaystyle g(x)=\max(x,5)} どちらも冪等ですが、f ∘ g {\displaystyle f\circ g} そうではない、[ c ] g ∘ f {\displaystyle g\circ f} 偶然にもそうである。[ d ] 後者の例として、否定関数¬ {\displaystyle \neg } ブール領域では冪等性はありませんが、¬ ∘ ¬ {\displaystyle \neg \circ \neg } です。同様に、単項否定− ( ⋅ ) {\displaystyle -(\cdot )} 実数の冪等性はないが、 − ( ⋅ ) ∘ − ( ⋅ ) {\displaystyle -(\cdot )\circ -(\cdot )} どちらの場合も、合成関数は単に恒等関数 であり、冪等関数です。
コンピュータサイエンスの意味 コンピュータサイエンス において、冪等性 という用語は、適用される文脈によって異なる意味を持つ場合がある。
これは多くの状況で非常に有用な特性であり、意図しない影響を引き起こすことなく、操作を必要なだけ繰り返したり再試行したりできることを意味します。冪等性を持たない操作の場合、アルゴリズムは操作が既に実行されたかどうかを追跡する必要があるかもしれません。
コンピュータサイエンスの例 顧客の名前と住所をデータベース で検索する関数は、データベースが変更されないため、通常は冪等です。同様に、顧客の住所をXYZに変更するリクエストも、リクエストを何度送信しても最終的な住所は同じになるため、通常は冪等です。しかし、注文を行うという顧客からのリクエストは、複数のリクエストによって複数の注文が行われるため、通常は冪等ではありません。特定の注文をキャンセルするリクエストは、リクエストを何度送信しても注文はキャンセルされたままなので、冪等です。
少なくとも 1 つのサブルーチンが他のサブルーチンと異なる、冪等サブルーチンのシーケンスであっても、シーケンス内の後のサブルーチンが前のサブルーチンが依存する値を変更する場合、必ずしも冪等であるとは限りません。つまり、冪等性は逐次合成に関して閉じられていません 。たとえば、変数の初期値が 3 であり、変数を読み取り、次に 5 に変更し、次に再び読み取るサブルーチン シーケンスがあるとします。シーケンスの各ステップは冪等です。変数を読み取る 2 つのステップには副作用がなく、変数を 5 に変更するステップは、何度実行されても常に同じ効果があります。しかし、シーケンス全体を 1 回実行すると出力 (3, 5) が生成されますが、2 回実行すると出力 (5, 5) が生成されるため、シーケンスは冪等ではありません。
int x = 3 ; void inspect () { printf ( "%d \n " , x ); } void change () { x = 5 ; } void sequence () { inspect (); change (); inspect (); } int main () { sequence (); // "3\n5\n" と出力 sequence (); // "5\n5\n" と出力 return 0 ; } ハイパーテキスト転送プロトコル (HTTP)では、冪等性と安全性が HTTP メソッドを 区別する主要な属性です。主要な HTTP メソッドのうち、GET、PUT、DELETE は標準に従って冪等的に実装する必要がありますが、POST はそうする必要はありません。[ 12 ] GET はリソースの状態を取得し、PUT はリソースの状態を更新し、DELETE はリソースを削除します。上記の例のように、データの読み取りには通常副作用がないため、冪等です (実際にはヌリポテントです )。リクエストがリソースを一意に識別し、将来もそのリソースのみを識別する限り、特定のデータの更新と削除はそれぞれ通常冪等です。一意の識別子を持つ PUT と DELETE は、それぞれ値または null 値を変数に代入する単純なケースに帰着し、同じ理由で冪等です。応答が異なっていても、最終結果は常に最初の実行結果と同じです。[ 13 ]
保存または削除において一意の識別子要件に違反すると、通常は冪等性が損なわれます。たとえば、一意の識別子を指定せずに特定のコンテンツセットを保存または削除する場合、冪等性を必要としないPOSTリクエストには一意の識別子が含まれていないことが多く、識別子の作成は受信システムに委ねられ、受信システムが対応する新しいレコードを作成します。同様に、条件が明示されていないPUTリクエストとDELETEリクエストは、システムの状態に応じて異なる結果をもたらす可能性があります。たとえば、最新のレコードを削除するリクエストなどがこれに該当します。いずれの場合も、後続の実行によってシステムの状態がさらに変更されるため、冪等性は失われます。
イベントストリーム処理 において、冪等性とは、同じファイル、イベント、またはメッセージが複数回受信された場合でも、システムが常に同じ結果を生み出す能力を指します。
ロードストアアーキテクチャ では、ページフォールトを 引き起こす可能性のある命令は冪等です。そのため、ページフォールトが発生した場合、オペレーティングシステムは ディスクからページをロードし、フォールトした命令を再実行するだけで済みます。このような命令が冪等でないプロセッサでは、ページフォールトの処理ははるかに複雑になります。[ 14 ] [ 15 ]
出力の書式を整える際、整形出力は 冪等性を持つことが期待されます。つまり、出力が既に「整形済み」であれば、整形出力を行う必要はありません。
サービス指向アーキテクチャ (SOA)では、すべて冪等なステップで構成された複数ステップのオーケストレーションプロセスは、そのプロセスの一部が失敗した場合でも、副作用なく再実行できます。
冪等性を持つ多くの操作には、処理が中断された場合に「再開」する方法が用意されていることが多く、 これは最初からやり直すよりもはるかに速く完了します。例えば、ファイル転送の再開 、 ファイルの同期 、ソフトウェアビルドの作成、 パッケージマネージャ を使用したアプリケーションとそのすべての依存関係のインストールなどが挙げられます。
応用例 一般的な横断歩道のボタンは、冪等システムの一例である。 日常生活で多くの人が遭遇する応用例としては、エレベーターの 呼び出しボタンや横断歩道のボタン などがあります。[ 16 ] ボタンを最初に押すと、要求が満たされるまでシステムは要求状態になります。最初の押下から要求が満たされるまでの間にボタンを再度押下しても、システムが押下回数に基づいて要求を満たす時間を調整するように設計されていない限り、効果はありません。
同様に、エレベーターの「閉」ボタンは、ドアが一定のスケジュールで閉まるため、複数回押しても1回押した場合と同じ効果が得られます。ただし、「開」ボタンが押された場合は別です。「開」ボタンは、押すたびに遅延が増加するため、冪等ではありません。
参考文献 ↑ 「idempotence」。オックスフォード英語辞典 (第3 版)。オックスフォード大学出版局。2010年。 ↑ 「冪等」 。 メリアム・ウェブスター 。 2016年10月19日にオリジナルから アーカイブ済み。 ↑ 1870 年、米国科学アカデミー (ワシントン DC、米国) での講演の原稿: ベンジャミン・パース (1870)「線形結合代数」 16-17 ページより: 「ある式を 2 乗またはそれ以上のべき乗にするとゼロになる場合、それは冪零式と 呼ばれる。しかし、2 乗またはそれ以上のべき乗にすると、結果としてそれ自身になる場合、それは冪等式 と呼ばれる。 冪零式と冪等式の定義式は、それぞれ A n = 0 と A n = A である。ただし、冪等式に関しては、特に明記しない限り、 常に A n = Aの形であると仮定する印刷物: Peirce, Benjamin (1881). "線形結合代数" . American Journal of Mathematics . 4 (1): 97– 229. doi : 10.2307/2369153 . JSTOR 2369153 . 104ページを参照。 再録: Peirce, Benjamin (1882). Linear Associative Algebra (PDF) . New York, New York, USA: D. Van Nostrand. p. 8. ↑ Valenza, Robert (2012). 線形代数:抽象数学入門 . ベルリン:Springer Science & Business Media. p. 22. ISBN 9781461209010 マグマの 要素 s であって ss = sとなるものは 冪等で あると呼ばれる 。↑ ドネドゥ、アルフレッド (1976)。 Polynômes et algebre linéaire (フランス語)。パリ:ヴイベール。 p. 180. Soit M un magma、掛け算に注意してください。 M tout élément a de M tel que a 2 = a の 冪等性を指定します 。 ↑ ジョージ・グレーツァー (2003). 一般格子理論 . バーゼル:ビルクハウザー. ISBN 978-3-7643-6996-5 。 参照:第1.2節、5ページ。↑ Garrett Birkhoff (1967). Lattice Theory . Colloquium Publications. Vol. 25. Providence: Am. Math. Soc. . 参照:第I.5節、8ページ。↑ Balmaceda, Jose Maria. "多項式環上の特定の行列環における冪等元" . International Electronic Journal of Algebra . doi : 10.24330/IEJA.662942 . ↑ Mac Lane 1978 、Ch. I.、§ 5。 ↑ Mac Lane 1978 、Ch. I.、§ 5.、演習 6。 ↑ IETF、ハイパーテキスト転送プロトコル(HTTP/1.1):セマンティクスとコンテンツ。 2014年6月8日にWayback Machine に アーカイブされました。ハイパーテキスト転送プロトコル も参照してください。 ↑ 「冪等メソッド」 。 ハイパーテキスト転送プロトコル(HTTP/1.1):意味と内容 。IETF。sec . 4.2.2。doi : 10.17487/RFC7231。RFC 7231。 元のリクエスト が成功した場合でも、レスポンス が 異なる可能性があるにもかかわらず、リクエストを繰り返すと意図した効果は同じになることを知ってい ます 。 ↑ ジョン・オースターハウト 。 「デマンドページング」 。 ↑ Marc A. de Kruijf. 「コンパイラによる冪等領域の構築とアーキテクチャ設計への応用」 2012年、10ページ。 ↑ 「ギア式トラクション乗客用エレベーター仕様ガイド情報/説明書」 (PDF) 。 ノースカロライナ州労働省エレベーター局 。2002年。 2011年5月23日に オリジナル (PDF) からアーカイブ済み。 例えば、この設計仕様には、エレベーターのかごが次のサービス呼び出しにいつ応答するかに関する詳細なアルゴリズムが含まれています。
さらに読む Goodearl, KR (1991), von Neumann regular rings (2 ed.), Malabar, FL: Robert E. Krieger Publishing Co. Inc., pp. xviii+412, ISBN 978-0-89464-632-4 MR 1150975 グナワルデナ、ジェレミー(1998)「冪等性入門」(PDF) 、『冪等性:1994年10月3日~7日、英国ブリストルで開催されたワークショップに基づく』 、ケンブリッジ:ケンブリッジ大学出版局、 1~ 49ページ、 Zbl 0898.16032 「冪等性」、数学百科事典 、EMS Press、2001年 [1994年] Hazewinkel, マイケル ;グバレニ、ナディヤ。キリチェンコ、VV (2004)、代数、リング、モジュール。巻。 1 、数学とその応用、vol. 575、ドルドレヒト: Kluwer Academic Publishers、pp. xii+380、ISBN 978-1-4020-2690-4 MR 2106764 Lam, TY (2001), 『非可換環入門』 、Graduate Texts in Mathematics、第 131巻(第2 版)、ニューヨーク:Springer-Verlag、pp. xx+385、doi :10.1007/978-1-4419-8616-0、ISBN 978-0-387-95183-6 MR 1838439 ラング、セルジュ (1993)、『代数学 (第3 版)』、マサチューセッツ州レディング:アディソン・ウェスリー、ISBN 978-0-201-55540-0 、Zbl 0848.13001 443ページピアース、ベンジャミン。『線形結合代数』 1870年。 Polcino Milies, César; Sehgal, Sudarshan K. (2002), An Introduction to Group Rings , Algebras and Applications, vol. 1, Kluwer Academic Publishers, pp. 127 , ISBN 978-1-4020-0238-0 MR 1896125 マック・レーン、サンダース (1978)。『働く数学者のための圏論』 (第2 版)。ニューヨーク:シュプリンガー。ISBN 1441931236 OCLC 851741862