# تساوي القوى

تساوي القوى (UK: /ˌɪdɛmˈpoʊtəns/ ، US: /ˌaɪdəm-/) هو خاصية لبعض العمليات في الرياضيات وعلوم الكمبيوتر حيث أنها يمكن أن تكون مطبقة عدة مرات دون تغيير النتيجة بعد التطبيق الأولي. ينشأ مفهوم العاطفة في عدد من الأماكن في الجبر المجرد (على وجه الخصوص، في نظرية أجهزة العرض ومشغلي الإغلاق) والبرمجة الوظيفية (حيث يرتبط بخاصية الشفافية المرجعية).
تم تقديم المصطلح بواسطة Benjamin Peirce في سياق عناصر الجبر التي تظل ثابتة عند رفعها إلى قوة عدد صحيح موجب، وتعني حرفيًا «(جودة امتلاك) نفس القوة»، من idem + القدرة (نفس + قوة).

## تعريف

يقال إن العنصر x من الصهارة (M ، •) يكون ضعيفًا إذا:
    x • x = x.
إذا كانت جميع العناصر معطلة فيما يتعلق بـ • ، فعندئذ • يسمى idempotent. الصيغة ∀ x ، x • x = x تسمى قانون idempotency لـ •.

## أمثلة

* الرقم الطبيعي 1 هو عنصر فاعل فيما يتعلق بالضرب (منذ 1 × 1 = 1)، وكذلك هو 0 (منذ 0 × 0 = 0)، ولكن لا يوجد رقم طبيعي آخر (على سبيل المثال 2 × 2 = 2 لا يحمل). للسبب الأخير، فإن مضاعفة الأعداد الطبيعية ليست عملية عديمة الفاعلية. بشكل أكثر رسمية، في أحادي الصيغة (ℕ ، ×)، تكون العناصر المثالية 0 و 1 فقط.
* في الصهارة (M ، •)، يكون عنصر الهوية e أو عنصر الامتصاص a ، إذا كان موجودًا، ضعيفًا. في الواقع، e • e = e و a • a = a .
* في المجموعة (G ، •)، عنصر الهوية e هو العنصر الوحيد غير الفعال. في الواقع، إذا كانت x عنصرًا من G مثل x • x = x ، فإن x • x = x • e وأخيراً x = e بضربها على اليسار في العنصر العكسي لـ x .
* يعتبر أخذ التقاطع x ∩ y لمجموعتين x و y عملية متكافئة، لأن x ∩ x يساوي دائمًا x . هذا يعني أن قانون القدرة المثالية ∀ x ، x x = x صحيح. وبالمثل، فإن أخذ اتحاد مجموعتين هو عملية غير فعالة. بشكل رسمي، في الأحاديات (𝒫 (E)، ∪) و (𝒫 (E)، ∩) لمجموعة الطاقة للمجموعة E مع الاتحاد المحدد ∪ وتقاطع المجموعة ∩ على التوالي، تكون جميع العناصر غير فعالة؛ ومن ثم فإن ∪ وهما عمليتان خاملتان على 𝒫 (E).
* في الأشكال الأحادية ({0، 1} ، ∨) و ({0، 1} ، ∧) للمجال المنطقي مع الفصل المنطقي ∨ والاقتران المنطقي ∧ على التوالي، تكون جميع العناصر عديمة الفعالية.
* في الحلقة المنطقية، يكون الضرب خاملاً.
* في شبه استوائية، تكون الإضافة معطلة.

### وظائف عاطلة

في المونويد (E $^E$ ، ∘) للوظائف من مجموعة E إلى نفسها مع تكوين الوظيفة ∘ ، العناصر المثالية هي الوظائف f: E → E بحيث أن f ∘ f = f ، بمعنى آخر مثل ذلك بالنسبة لجميع x في E ، f(f(x)) = f(x) (صورة كل عنصر في E هي نقطة ثابتة من f). فمثلا:
* إن أخذ القيمة المطلقة abs (x) لعدد صحيح x هي دالة ذاتية للسبب التالي: abs (abs (x)) = abs (x) صحيح لكل عدد صحيح x. هذا يعني أن abs ∘ abs = abs يحمل، أي أن القيمة المطلقة عنصر ثابت في مجموعة جميع الوظائف (من الأعداد الصحيحة إلى الأعداد الصحيحة) فيما يتعلق بتكوين الوظيفة. لذلك، تفي القيمة المطلقة بالتعريف أعلاه لوظيفة قاصرة.
تشمل الأمثلة الأخرى:
* وظيفة الهوية عاطلة؛
* الوظائف الثابتة عاطلة؛
* وظائف الأرضية والسقف والجزء الكسري متقاربة؛
* تكون الوظيفة المولدة للمجموعة الفرعية من مجموعة الطاقة للمجموعة إلى نفسها غير فعالة؛
* وظيفة البدن المحدبة من مجموعة الطاقة لمساحة أفينية فوق الواقعية إلى نفسها غير فعالة؛
* وظائف الإغلاق والداخلية لمجموعة الطاقة للمساحة الطوبولوجية في حد ذاتها؛
* إن وظائف نجم كليين وكلين بالإضافة إلى مجموعة الطاقة الخاصة بالمونويد في حد ذاتها هي وظائف خاملة؛
* إن الأشكال الداخلية للفضاء المتجه هي إسقاطاتها.
إذا كانت مجموعة E ديه ن العناصر، فإننا يمكن تقسيمه إلى ك اختيار النقاط الثابتة n − k نقاط غير ثابتة تحت و، وبعد ذلك ك $^{ن-ك}$ هو عدد وظائف جامدة مختلفة. ومن ثم، مع مراعاة جميع الأقسام الممكنة،
    $\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... (متسلسلة A000248 في OEIS) .
لا يتم الحفاظ على خاصية كونك عاطلاً ولا خاصية عدم القدرة في ظل تكوين الوظيفة. كمثال للأول، f(x) = x mod 3 و g (x) = max (x ، 5) كلاهما غير f ∘ g ، لكن f ∘ g ليس كذلك، على الرغم من أن g ∘ f يحدث. كمثال لهذا الأخير، فإن وظيفة النفي ¬ في المجال المنطقي ليست ¬ ∘ ¬ ، ولكن ¬ ∘ ¬ هي. وبالمثل، فإن النفي الأحادي −( ) للأرقام الحقيقية ليس −( ) ∘ −( ) ، ولكن −( ) ∘ −( ) هو.

## معنى علوم الكمبيوتر

في علوم الكمبيوتر، قد يكون لمصطلح تساوي القوى معنى مختلفًا اعتمادًا على السياق الذي يتم تطبيقه فيه:
* في البرمجة الحتمية، يكون الروتين الفرعي ذو الآثار الجانبية خاملاً إذا ظلت حالة النظام كما هي بعد مكالمة واحدة أو عدة مكالمات، بمعنى آخر إذا كانت الوظيفة من مساحة حالة النظام لنفسها المرتبطة بالروتين الفرعي معطلة بالمعنى الرياضي المعطى في تعريف؛
* في البرمجة الوظيفية، تكون الوظيفة الصرفة معطلة إذا كانت غير فعالة بالمعنى الرياضي الوارد في التعريف.
هذه خاصية مفيدة للغاية في العديد من المواقف، لأنها تعني أنه يمكن تكرار العملية أو إعادة المحاولة كلما لزم الأمر دون التسبب في تأثيرات غير مقصودة. مع العمليات غير النشطة، قد تضطر الخوارزمية إلى تتبع ما إذا كانت العملية قد أجريت بالفعل أم لا.

### أمثلة في علوم الكمبيوتر

عادةً ما تكون الوظيفة التي تبحث عن اسم وعنوان العميل في قاعدة بيانات غير فعالة، لأن هذا لن يتسبب في تغيير قاعدة البيانات. وبالمثل، عادةً ما يكون تغيير عنوان العميل إلى XYZ غير فعال، لأن العنوان النهائي سيكون هو نفسه بغض النظر عن عدد مرات إرسال XYZ. ومع ذلك، فإن تقديم طلب للحصول على عربة تسوق للعميل لا يكون عديم الجدوى، لأن تشغيل المكالمة عدة مرات سيؤدي إلى تقديم العديد من الطلبات. يعد إلغاء الطلب غير صالح، لأن الطلب يظل ملغيًا بغض النظر عن عدد الطلبات المقدمة.
ومع ذلك، فإن تركيبة الطرق الخاملة أو الإجراءات الفرعية ليست بالضرورة معطلة إذا غيرت طريقة لاحقة في التسلسل قيمة تعتمد عليها طريقة سابقة - لا يتم إغلاق العاطفة في ظل التكوين . على سبيل المثال، لنفترض أن القيمة الأولية للمتغير هي 3 وهناك تسلسل يقرأ المتغير، ثم يغيره إلى 5، ثم يقرأه مرة أخرى. كل خطوة في التسلسل غير فعالة: كلا الخطوتين في قراءة المتغير ليس لهما آثار جانبية وتغيير متغير إلى 5 سيكون له نفس التأثير دائمًا بغض النظر عن عدد مرات تنفيذه. ومع ذلك، فإن تنفيذ التسلسل بالكامل مرة واحدة ينتج عنه الإخراج (3، 5)، ولكن تنفيذه مرة ثانية ينتج الناتج (5، 5)، وبالتالي فإن التسلسل ليس خاملاً.
في بروتوكول Hypertext Transfer Protocol (HTTP)، يعتبر تساوس القوى والأمان من السمات الرئيسية التي تفصل بين أفعال HTTP . من بين أفعال HTTP الرئيسية، يجب تنفيذ الحصول والوضع والحذف بطريقة خاملة وفقًا للمعيار، ولكن لا يلزم تنفيذ POST. يسترجع GET موردًا؛ يخزن PUT المحتوى في مورد؛ وحذف يحذف مورد. كما في المثال أعلاه، قراءة البيانات ليس لها عادة أي آثار جانبية، لذلك فهي غير فعالة (في الواقع لا تملك). عادةً ما يكون تخزين وحذف مجموعة معينة من المحتوى غير فعال طالما أن الطلب يحدد موقعًا أو معرفًا يحدد هذا المورد بشكل فريد وهذا المورد فقط مرة أخرى في المستقبل. عمليات PUT و DELETE ذات المعرفات الفريدة تختزل إلى حالة التخصيص البسيطة إلى متغير غير قابل للتغيير إما بقيمة أو قيمة خالية، على التوالي، وتكون معطلة لنفس السبب؛ تكون النتيجة النهائية دائمًا هي نفسها نتيجة التنفيذ الأولي، حتى لو اختلفت الاستجابة.
عادة ما يؤدي انتهاك شرط التعريف الفريد في التخزين أو الحذف إلى انتهاك القدرة على العمل. على سبيل المثال، تخزين أو حذف مجموعة معينة من المحتوى دون تحديد معرّف فريد: طلبات POST ، التي لا تحتاج إلى أن تكون غير فعالة، غالبًا لا تحتوي على معرّفات فريدة، لذلك يتم تفويض إنشاء المعرّف إلى نظام الاستلام الذي ينشئ بعد ذلك رقم قياسي جديد مطابق. وبالمثل، قد تؤدي طلبات الوضع والحذف ذات المعايير غير المحددة إلى نتائج مختلفة اعتمادًا على حالة النظام - على سبيل المثال، طلب حذف أحدث سجل. في كل حالة، ستؤدي عمليات الإعدام اللاحقة إلى تعديل حالة النظام بشكل أكبر، لذا فهي ليست عديمة الفعالية.
في معالجة تدفق الأحداث، يشير تساوي القوى إلى قدرة النظام على إنتاج نفس النتيجة، حتى إذا تم استلام نفس الملف أو الحدث أو الرسالة أكثر من مرة.
في بنية تخزين التحميل، تكون التعليمات التي قد تتسبب في حدوث خطأ في الصفحة غير صحيحة. لذلك في حالة حدوث خطأ في الصفحة، يمكن لنظام التشغيل تحميل الصفحة من القرص ثم إعادة تنفيذ التعليمات المعيبة. في المعالج حيث لا تكون مثل هذه التعليمات عديمة الكفاءة، يكون التعامل مع أخطاء الصفحة أكثر تعقيدًا.
عند إعادة تنسيق الإخراج، من المتوقع أن تكون الطباعة الجيدة غير فعالة. بعبارة أخرى، إذا كان الإخراج «جميلًا» بالفعل، فلا يجب أن تفعل شيئًا للطابعة الجميلة.
في البنية الموجهة للخدمة (SOA)، يمكن إعادة عملية تنسيق متعددة الخطوات تتكون بالكامل من خطوات غير فعالة دون آثار جانبية في حالة فشل أي جزء من هذه العملية.
غالبًا ما يكون للعديد من العمليات غير الفعالة طرق «لاستئناف» عملية ما إذا تمت مقاطعتها - وهي طرق تنتهي بشكل أسرع بكثير من البدء من جديد من البداية. على سبيل المثال، استئناف نقل الملفات، ومزامنة الملفات، وإنشاء بنية برمجية، وتثبيت تطبيق وكل تبعياته مع مدير الحزم، إلخ.

## أمثلة تطبيقية

تتضمن الأمثلة التطبيقية التي قد يواجهها العديد من الأشخاص في حياتهم اليومية أزرار اتصال المصعد وأزرار المشاة. يؤدي التنشيط الأولي للزر إلى نقل النظام إلى حالة الطلب، حتى يتم تلبية الطلب. عمليات التنشيط اللاحقة للزر بين التنشيط الأولي والطلب المستوفى ليس لها أي تأثير، ما لم يكن النظام مصممًا لضبط الوقت لتلبية الطلب بناءً على عدد عمليات التنشيط.