Idempoten

sifat dari operasi matematika.

Idempoten adalah sifat beberapa operasi tertentu di matematika dan ilmu komputer. Operasi yang memiliki sifat ini dapat diterapkan (dilakukan) beberapa kali tanpa memberikan hasil berbeda dengan hasil penerapan pertama kali. Konsep idempoten muncul dalam beberapa hal di aljabar abstrak (khususnya, dalam teori proyektor dan closure operators) dan pada pemrograman fungsional (yang berhubungan dengan sifat referential transparency).

Tombol[pranala nonaktif permanen] pada lift. Menekan salah tombol sebuah lantai adalah operasi idempoten, karena memiliki efek yang sama baik dilakukan sekali atau beberapa kali.

Istilah ini diperkenalkan oleh Benjamin Peirce,[1] ketika membahas unsur aljabar yang tidak berubah ketika dipangkatkan dengan sebuah bilangan bulat positif. Idempoten berasal dari gabungan kata idem dan potence ("sama" dan "pangkat"), dan secara harfiah berarti "(kemampuan memiliki) hasil pangkat yang sama".

Definisi sunting

Suatu elemen   dari sebuah himpunan   yang dilengkapi dengan operator biner   dikatakan idempoten jika berlaku  .[2][3] Operator biner   dikatakan idempoten jika   untuk semua elemen di  .[4][5]

Contoh sunting

Berikut beberapa contoh objek matematika dan sifat idempoten mereka:

  • Bilangan asli 0 dan 1 adalah elemen yang idempoten terhadap perkalian (karena 0 × 0 = 0 dan 1 × 1 = 1). Karena tidak ada bilangan asli lainnya yang memenuhi sifat ini (misalnya tidak berlaku bahwa 2 × 2 = 2), operasi perkalian pada bilangan asli bukanlah operasi yang idempoten. Secara formal, elemen idempoten dalam monoid   hanyalah 0 dan 1.
  • Pada magma  , elemen identitas   atau absorbing element  , jika elemen tersebut ada, akan bersifat idempoten karena   dan  
  • Pada grup  , elemen identitas   adalah satu-satunya elemen idempoten. Hal ini terlihat karena untuk sembarang elemen   di   yang memenuhi  , juga akan memenuhi  . Selanjutnya mengalikan kedua ruas dari kiri dengan elemen invers dari   akan menghasilkan  
  • Pada monoid   dan   dari himpunan kuasa   himpunan  , yang masing-masing dilengkapi dengan operator gabungan   dan operator irisan  , semua elemennya bersifat idempoten karena   untuk setiap   dan   untuk setiap  . Oleh karena itu,   dan   adalah operasi yang idempoten pada  .
  • Semua elemen pada monoid   dan  , dari domain Boole yang dilengkapi dengan logika disjungsi ∨ dan logika konjungsi ∧, bersifat idempoten. Akibatnya, kedua operator logika tersebut idempoten pada himpunan  .
  • Dalam gelanggang Boole, operator perkalian bersifat idempoten.
  • Dalam semi-gelanggang tropikal, operator penjumlahan bersifat idempoten.

Fungsi idempoten sunting

Dalam monoid   dari fungsi-fungsi yang memetakan himpunan   ke dirinya sendiri dan dilengkapi dengan komposisi fungsi  , elemen-elemen idempotennya adalah fungsi   yang memenuhi  .[6] Dengan kata lain, fungsi idempoten dalam monoid ini akan memenuhi   untuk semua   (citra dari setiap elemen di E adalah fixed point dari f ). Sebagai contoh, fungsi nilai mutlak  [7] pada himpunan bilangan bulat adalah fungsi idempoten karena   berlaku untuk setiap bilangan bulat  .[8] Hal Ini mengartikan fungsi nilai mutlak adalah elemen yang idempoten terhadap komposisi fungsi, pada himpunan semua fungsi yang memetakan bilangan bulat ke bilangan bulat. Contoh lainnya dari fungsi idempoten adalahː

Jika himpunan   memiliki   elemen, himpunan tersebut dapat dipartisi menjadi   titik tetap (fixed point) dan   titik tak-tetap dibawah pemetaan oleh f. Hal ini menghasilkan   sebagai banyaknya fungsi idempoten yang berbeda. Oleh karena itu, dengan mempertimbangkan semua kemungkinan partisi,

 

menyatakan banyaknya fungsi idempoten yang mungkin di himpunan  . Barisan dari rumus banyaknya fungsi idempoten di atas untuk n = 0, 1, 2, 3, 4, 5, 6, 7, 8,… adalah 1, 1, 3, 10, 41, 196, 1057, 6322, 41393,… (barisan A000248 pada OEIS).

Sifat ke-idempoten-an fungsi tidak terawetkan dalam operasi komposisi.[9] Sebagai contoh,   (dengan   menyakan operasi modulo) dan   adalah dua fungsi yang idempoten, namun fungsi komposisi   tidak.[10] Walaupun pada kasus ini,   secara kebetulan bersifat idempoten.[11] Contoh lain adalah fungsi negasi ¬ pada domain Boole yang tidak idempoten, namun komposisi fungsi ¬ ∘ ¬ bersifat idempoten.

Arti dalam ilmu komputer sunting

Dalam ilmu komputer, istilah idempoten dapat memiliki arti yang berbeda tergantung pada konteks penerapannya:

  • dalam pemrograman imperatif, sebuah subrutin dengan efek samping (side effect) dikatakan idempoten jika status sistem tetap sama beberapapun banyak panggilan dilakukan. Secara matematika, subrutin idempoten ini adalah sebuah fungsi dari ruang system state ke dirinya sendiri yang memenuhi definisi pada pembahasan bagian di atas.
  • dalam pemrograman fungsional, pure function bersifat idempoten jika dia idempoten dalam pengertian matematika yang diberikan dalam bagian definisi.

Idempoten adalah sifat yang sangat berguna dalam banyak situasi, karena operasi dengan sifat ini dapat diulangi atau dicoba ulang sesering yang diperlukan tanpa menimbulkan efek yang tidak diinginkan. Pada operasi yang tidak idempoten, algoritme mungkin perlu melacak apakah operasi sudah dilakukan atau belum.

Contoh dalam ilmu komputer sunting

Sebuah fungsi yang mencari nama dan alamat pelanggan di sebuah database umumnya idempoten, karena operasi ini tidak membuat isi database berubah. Demikian pula dengan mengganti alamat pengguna menjadi XYZ umumnya idempoten, karena data alamat terakhir akan tetap sama tidak peduli berapa kali data XYZ dikirim. Namun, menempatkan barang dalam daftar belanjaan toko daring umumnya tidak idempoten, karena penempatan barang beberapa kali akan menambah banyak pesanan. Membatalkan pesanan bersifat idempoten, karena pesanan tetap dibatalkan tidak peduli berapa kali permintaan pembatalan dilakukan.

Contoh aplikasi sunting

Contoh terapan yang dapat ditemui banyak orang dalam kehidupan sehari-hari mereka termasuk tombol pada lift dan tombol penyeberangan.[12] Aktivasi tombol pertama kali akan mengubah sistem ke status meminta, sampai hingga permintaan dipenuhi. Aktivasi secara berulang tombol diantara waktu aktivasi awal dan waktu permintaan dipenuhi tidak memiliki pengaruh, kecuali sistem dirancang untuk dapat menyesuaikan waktu memenuhi permintaan berdasarkan jumlah aktivasi yang dilakukan.

Referensi sunting

  1. ^ Polcino & Sehgal (2002), p. 127.
  2. ^ Valenza, Robert (2012). Linear Algebra: An Introduction to Abstract Mathematics. Berlin: Springer Science & Business Media. hlm. 22. ISBN 9781461209010. An element s of a magma such that ss = s is called idempotent. 
  3. ^ Doneddu, Alfred (1976). Polynômes et algèbre linéaire (dalam bahasa Prancis). Paris: Vuibert. hlm. 180. Soit M un magma, noté multiplicativement. On nomme idempotent de M tout élément a de M tel que a2 = a. 
  4. ^ George Grätzer (2003). General Lattice Theory . Basel: Birkhäuser.  Here: Sect.1.2, p.5.
  5. ^ Garrett Birkhoff (1967). Lattice Theory. Colloquium Publications. 25. Providence: Am. Math. Soc. . Here: Sect.I.5, p.8.
  6. ^ Ini adalah persamaan antar fungsi. Dua fungsi dikatakan sama jika mereka memiliki domain dan citra yang sama, dan nilai fungsi mereka sama untuk semua elemen di domain.
  7. ^ Notasi yang lebih umum adalah  , namun lebih sulit dibaca untuk ekpresi yang bertingkat.
  8. ^ Faktanya, persamaan ini berlaku untuk semua bilangan rasional, real, bahkan juga kompleks.
  9. ^ If f and g commute, i.e. if fg = gf, then idempotency of both f and g implies that of fg, since (fg) ∘ (fg) = (ff) ∘ (gg) = fg, using the associativity of composition.
  10. ^ Sebagai contoh, f(g(7)) = f(7) = 1, namun f(g(1)) = f(5) = 2 ≠ 1
  11. ^ juga menunjukkan sifat komutatif f dan g bukan sebuah syarat perlu agar sifat idempoten tetap berlaku.
  12. ^ https://web.archive.org/web/20110523081716/http://www.nclabor.com/elevator/geartrac.pdf For example, this design specification includes detailed algorithm for when elevator cars will respond to subsequent calls for service

Daftar pustaka sunting