.jpg/500px-On_Off_-_Zał_Wył_(3086204137).jpg)
べき等性(英: / ˌ ɪ d ɛ m ˈ p oʊ t ən s / [1] 米: / ˈ aɪ d ə m - /)[2]は、数学やコンピュータサイエンスにおける特定の演算が、最初の適用以降は結果を変えることなく複数回適用できるという性質である。べき等性の概念は、抽象代数(特に、射影子と閉包演算子の理論)や関数型プログラミング(参照透明性の性質と関連している)のさまざまな場面で登場する。
この用語は、1870年にアメリカの数学者ベンジャミン・パースによって、正の整数乗しても不変である代数の要素の文脈で導入されました[3] [4]。文字通りの意味は「(同じべき乗を持つ性質)」で、idem + potence(同じ + べき乗)から来ています。
意味
二項演算子を備えた集合の要素は、次の条件の下で冪等であるという[5] [6]
- 。
二項演算が べき等性を持つと言われるのは[7] [8]
- すべてに対して。
例
- 乗算を伴う自然数のモノイド では、とのみが冪等です。実際、および です。
- 加法を伴う自然数のモノイド では、 のみが冪等です。実際、0 + 0 = 0です。
- マグマ では、単位元または吸収元が存在する場合、それは冪等です。実際、およびです。
- グループ では、単位元は唯一のべき等元です。実際、 が となる の元である場合、となり、最後に の逆元を左側に掛けることで となります。
- 集合 の冪集合のモノイドおよびにおいて、それぞれ集合の和集合および集合の積集合を持ち、および は冪等です。実際、すべての に対して であり、すべての に対して です。
- 論理和と論理積を持つブール領域のモノイドとでは、それぞれと は冪等です。実際、すべての に対して であり、すべての に対して です。
- GCD ドメイン(たとえば)では、 GCDとLCMの演算は冪等です。
- ブール環では、乗算はべき等です。
- 熱帯半環では、加算はべき等です。
- 二次行列の環において、べき等行列の行列式は 0 か 1 のいずれかです。行列式が 1 の場合、行列は必ず単位行列になります。[要出典]
べき等関数
関数合成を伴う集合からそれ自身への関数のモノイド(集合のべき乗 を参照)において、べき等元とは となる関数であり、[9] はすべての に対してとなるような関数である(言い換えれば、各元の像はの不動点である)。例えば、
- 絶対値はべき等です。実際、はすべての に対して成り立ちます。
- 定数関数はべき等です。
- 恒等関数はべき等である。
- floor 、ceiling、fractional part関数はべき等です。
- 複素数の実部関数はべき等である。
- グループのべき集合からそれ自身への部分グループ生成関数は冪等である。
- 実数上のアフィン空間の冪集合からそれ自身への凸包関数は冪等である。
- 位相空間の冪集合のそれ自身への閉包と内部関数は冪等である。
- モノイドのそれ自身への冪集合のクリーネスター関数とクリーネプラス関数は冪等である。
- ベクトル空間の冪等自己準同型はその射影である。
集合に要素がある場合、 の下でそれを選択された固定点と非固定点に分割することができ、 は異なるべき等関数の数です。したがって、すべての可能な分割を考慮すると、
は、集合上の可能なべき等関数の総数です。n = 0、1、2、3、4、5、6、7、8、...の場合の上記の合計によって与えられるべき等関数の数の整数シーケンスは、1、1、3、10、41、196、1057、6322、41393、... から始まります ( OEISのシーケンスA000248 )。
関数合成では、べき等性もそうでないという性質も保持されません。[10]前者の例として、mod 3 と はどちらもべき等ですが、 はそうではありません。 [11] がたまたまそうであるにもかかわらずです。 [12]後者の例として、ブール領域の否定関数はべき等ではありませんが、べき等です。同様に、実数の 単項否定はべき等ではありませんが、べき等です。どちらの場合も、合成は単に恒等関数であり、これはべき等です。
コンピュータサイエンスの意味
コンピュータ サイエンスでは、べき等性という用語は、適用されるコンテキストに応じて異なる意味を持つ場合があります。
- 命令型プログラミングでは、副作用のあるサブルーチンは、サブルーチンへの複数の呼び出しがシステム状態に対して単一の呼び出しと同じ効果を持つ場合、つまり、サブルーチンに関連付けられたシステム状態空間からそれ自体への関数が定義で与えられた数学的な意味でべき等である場合に、べき等です。
- 関数型プログラミングでは、純粋関数は、定義で与えられた数学的な意味でべき等である場合にべき等です。
これは、意図しない影響を引き起こすことなく、必要な回数だけ操作を繰り返したり再試行したりできることを意味するため、多くの状況で非常に便利なプロパティです。べき等性のない操作では、アルゴリズムは操作がすでに実行されたかどうかを追跡する必要がある場合があります。
コンピュータサイエンスの例
データベースで顧客の名前と住所を検索する関数は、データベースが変更されないため、通常はべき等です。同様に、顧客の住所を XYZ に変更するリクエストは、リクエストが何回送信されても最終的な住所は同じになるため、通常はべき等です。ただし、注文を出すという顧客のリクエストは、リクエストが複数あると複数の注文が行われるため、通常はべき等ではありません。特定の注文をキャンセルするリクエストは、リクエストが何回行われても注文はキャンセルされたままであるため、べき等です。
ただし、少なくとも 1 つのサブルーチンが他のサブルーチンと異なる、べき等サブルーチンのシーケンスは、シーケンス内の後のサブルーチンが前のサブルーチンが依存する値を変更する場合、必ずしもべき等であるとは限りません。つまり、べき等性は、順次合成では閉じられません。たとえば、変数の初期値が 3 で、変数を読み取り、それを 5 に変更し、もう一度読み取るサブルーチン シーケンスがあるとします。シーケンス内の各ステップはべき等です。つまり、変数を読み取る両方のステップに副作用はなく、変数を 5 に変更するステップは、何度実行しても同じ結果になります。それでも、シーケンス全体を 1 回実行すると出力 (3, 5) が生成されますが、2 回目に実行すると出力 (5, 5) が生成されるため、シーケンスはべき等ではありません。
int x = 3 ; void examine () { printf ( "%d \n " , x ); } void change () { x = 5 ; } void sequence () { examine (); change (); examine (); }
int main () {シーケンス(); // "3\n5\n" を出力シーケンス(); // "5\n5\n" を出力return 0 ; }
ハイパーテキスト転送プロトコル(HTTP)では、べき等性と安全性がHTTP メソッドを区別する主要な属性です。主要な HTTP メソッドのうち、GET、PUT、および DELETE は標準に従ってべき等な方法で実装する必要がありますが、POST はそうである必要はありません。[13] GET はリソースの状態を取得します。PUT はリソースの状態を更新します。DELETE はリソースを削除します。上記の例のように、データの読み取りには通常副作用がないため、べき等性 (実際はヌル等性) があります。特定のデータの更新と削除は、リクエストがリソースを一意に識別し、将来的にそのリソースのみを再度識別する限り、通常はそれぞれべき等です。一意の識別子を持つ PUT と DELETE は、それぞれ値またはヌル値の変数への割り当てという単純なケースに縮小され、同じ理由でべき等性があります。つまり、応答が異なっていても、最終結果は常に最初の実行の結果と同じになります。[14]
保存または削除時に一意の識別要件に違反すると、通常はべき等性の違反が発生します。たとえば、一意の識別子を指定せずに特定のコンテンツ セットを保存または削除すると、べき等性である必要のない POST 要求には一意の識別子が含まれていないことが多く、そのため、識別子の作成は受信システムに委任され、受信側システムが対応する新しいレコードを作成します。同様に、非特定の基準を持つ PUT 要求と DELETE 要求は、システムの状態に応じて異なる結果になる場合があります (たとえば、最新のレコードを削除する要求)。いずれの場合も、後続の実行によってシステムの状態がさらに変更されるため、べき等性はありません。
イベント ストリーム処理において、べき等性とは、同じファイル、イベント、またはメッセージが複数回受信された場合でも、システムが同じ結果を生成する能力を指します。
ロード・ストアアーキテクチャでは、ページフォールトを引き起こす可能性のある命令はべき等性があります。そのため、ページフォールトが発生した場合、オペレーティングシステムはディスクからページをロードし、フォールトした命令を再実行することができます。このような命令がべき等性を持たないプロセッサでは、ページフォールトの処理ははるかに複雑になります。[15] [16]
出力を再フォーマットする場合、プリティプリントはべき等であることが期待されます。言い換えると、出力がすでに「プリティ」である場合、プリティプリントには何もする必要はありません。[引用が必要]
サービス指向アーキテクチャ(SOA)では、完全にべき等ステップで構成された複数ステップのオーケストレーション プロセスは、そのプロセスの一部が失敗した場合でも、副作用なしで再生できます。
べき等性のある多くの操作では、中断された場合にプロセスを「再開」する方法がよくあります。この方法は、最初からやり直すよりもはるかに速く終了します。たとえば、ファイル転送の再開、 ファイルの同期、ソフトウェア ビルドの作成、パッケージ マネージャーを使用したアプリケーションとそのすべての依存関係のインストールなどです。
応用例
日常生活で多くの人が遭遇する可能性のある応用例としては、エレベーターの呼び出しボタンや横断歩道のボタンなどがあります。[17]ボタンを最初に押すと、システムは要求状態に移行し、要求が満たされるまで待機します。最初の押下から要求が満たされるまでの間にボタンを再度押下しても、押下回数に応じて要求を満たす時間を調整するようにシステムが設計されていない限り、効果はありません。
参照
- 二重順序集合
- クロージャ演算子
- 固定小数点(数学)
- コードのべき等性
- 冪等性分析
- べき等行列
- 冪等関係 – 冪等性の二項関係への一般化
- 冪等性(環理論)
- 反転(数学)
- 反復関数
- 行列のリスト
- ニルポテント
- 純粋関数
- 参照の透明性
参考文献
- ^ 「idempotence」。オックスフォード英語辞典(第3版)。オックスフォード大学出版局。2010年。
- ^ 「idempotent」。Merriam -Webster。2016年10月19日時点のオリジナルよりアーカイブ。
- ^ 1870 年に米国科学アカデミー (ワシントン DC、米国) で行われた講義の原稿: Peirce, Benjamin (1870)「線形結合代数」16-17 ページより: 「式を平方またはそれ以上の累乗でゼロになる場合、その式は冪等であると言えます。しかし、平方またはそれ以上の累乗でその式自体が結果として得られる場合、冪等であると言えます。
冪等式と冪等式の定義式は、それぞれ A n = 0 と A n = A ですが、冪等式に関しては、特に明記しない限り、常に A n = Aの形式であると想定されます。」 - ^ ポルチーノ&シーガル2002、127ページ。
- ^ 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 の
冪等性を指定します
。
- ^ George Grätzer (2003).一般格子理論. バーゼル: Birkhäuser. ISBN 978-3-7643-6996-5。ここでは、セクション 1.2、p.5 を参照してください。
- ^ Garrett Birkhoff (1967). Lattice Theory . Colloquium Publications. Vol. 25. Providence: Am. Math. Soc.ここでは、Sect.I.5、p.8を参照してください。
- ^ これは関数間の等式です。2 つの関数の定義域と範囲が一致し、出力値が定義域全体で一致する場合、2 つの関数は等しくなります。
- ^ と が合成に関して可換である場合(つまり の場合)、合成の結合法則を使用すると、との両方の冪等性は の冪等性を意味します。
- ^ 例えば、しかし
- ^ との交換は冪等性保存の必要条件ではないことも示している。
- ^ IETF、ハイパーテキスト転送プロトコル (HTTP/1.1): セマンティクスとコンテンツ、Wayback Machineで 2014-06-08 にアーカイブ。ハイパーテキスト転送プロトコルも参照。
- ^ 「べき等メソッド」。ハイパーテキスト転送プロトコル (HTTP/1.1): セマンティクスとコンテンツ。第 4.2.2 節。doi : 10.17487/RFC7231。RFC 7231。元
の要求が成功した場合でも、応答は異なる可能性がありますが、要求を繰り返すことで同じ意図した効果が得られることがわかっています
。 - ^ John Ousterhout . 「Demand Paging」。
- ^ Marc A. de Kruijf. 「コンパイラによるべき等領域の構築とアーキテクチャ設計への応用」 2012 年、p. 10。
- ^ 「ギア式トラクション乗客エレベーター仕様ガイド情報/手順」(PDF)。NC Department Of Labor、エレベーター局。2002年。2011年5月23日時点のオリジナル(PDF)からアーカイブ。例えば、この設計仕様には、エレベーターがその後のサービス要求にいつ応答するかについての詳細なアルゴリズムが含まれています。
さらに読む
- 「idempotent」は、無料のオンラインコンピューティング辞書で参照できます。
- Goodearl, KR (1991)、フォン・ノイマン正則環(第2版)、マラバー、フロリダ州:Robert E. Krieger Publishing Co. Inc.、pp. xviii+412、ISBN 978-0-89464-632-4、MR 1150975
- Gunawardena, Jeremy (1998)、「べき等性入門」(PDF)、Gunawardena, Jeremy (編)、『べき等性。英国ブリストルで 1994 年 10 月 3 ~ 7 日に開催されたワークショップに基づく』、ケンブリッジ: Cambridge University Press、pp. 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
- ラム、TY (2001)、非可換環の初歩、Graduate Texts in Mathematics、vol. 131 (2 ed.)、ニューヨーク: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.13001443ページ
- パース、ベンジャミン。線形結合代数 1870 年。
- Polcino Milies, César; Sehgal, Sudarshan K. (2002)、An Introduction to Group Rings, Algebras and Applications、第 1 巻、Kluwer Academic Publishers、pp. 127、ISBN 978-1-4020-0238-0、MR 1896125
