سؤال

لقد قرأت بعض الأمثلة في قراءة الرياضيات وعلوم الكمبيوتر التي تستخدم رمز التكافؤ , ، (في الأساس "=" بثلاثة أسطر) ومن المنطقي دائمًا أن أقرأ هذا كما لو كان مساواة.ما هو الفرق بين هذين المفهومين؟

هل كانت مفيدة؟

المحلول

ويكيبيديا: معادلة العلاقة :

<اقتباس فقرة>   

في الرياضيات، والتكافؤ   العلاقة هي علاقة ثنائية بين   عنصرين من مجموعة التي تضم   معا بأنها "تعادل" في   بطريقة أو بأخرى. اسمحوا أ، ب، ج ويكون تعسفيا   عناصر من بعض مجموعة X. ثم "ل~ ب"   او "≡ ب" يدل على أن غير   أي ما يعادل ب.

     

وهناك علاقة تكافؤ "~" هي انعكاسية، متماثل، ومتعدية.

وبعبارة أخرى، = هو مجرد مثيل علاقة تكافؤ.

تعديل : في هذه المعايير التي تبدو بسيطة من كونها انعكاسية، متماثل، ومتعدية ليست دائما تافهة. انظر بلوخ جافا الفعالة الطبعة 2ND ص. 35 على سبيل المثال،

public final class CaseInsensitiveString {
...
    // broken
    @Override public boolean equals(Object o) {
        if (o instance of CaseInsensitiveString)
            return s.equalsIgnoreCase(
                ((CaseInsensitiveString) o).s);
        if (o instanceof String) // One-way interoperability!
            return s.equalsIgnoreCase((String) o);
        return false;
    }
... 

}

وهذا يساوي فوق تنفيذ يكسر التناظر لCaseInsensitiveString يعرف عن الطبقة String، ولكن الطبقة String لا يعرف عن CaseInsensitiveString.

نصائح أخرى

وأود أن أغتنم سؤالك أن يكون حول تدوين الرياضيات بدلا من البرمجة. علامة المساواة الثلاثي عليك الرجوع إلى يمكن كتابة &equiv; في HTML أو \equiv في اللثي.

وعلى ≡ ب يعني الأكثر شيوعا "يتم تعريف لتكون ب" أو "السماح ليكون مساويا لب".

وهكذا 2 + 2 = 4 ولكن φ ≡ (1 + الجذر التربيعي (5)) / 2.

وهنا طاولة التكافؤ مفيد:

Mathematicians      Computer scientists
--------------      -------------------
      =                      ==
      ≡                      =

و(الأجوبة الأخرى حول علاقات التكافؤ صحيحة جدا ولكن لا أعتقد أن تلك هي شائعة. وهناك أيضا ≡ ب (م وزارة الدفاع) والذي هو واضح "وغير المنسجمة لب، م وزارة الدفاع" وفي لغة مبرمج سيتم التعبير عنها وزارة الدفاع (أ، م) == وزارة الدفاع (ب، م). وبعبارة أخرى، أ و ب متساوون بعد mod'ing التي كتبها م.)

وهناك الكثير من اللغات التمييز بين المساواة بين الأشياء والمساواة بين قيم هذه الكائنات.

وروبي على سبيل المثال لديها 3 طرق مختلفة لاختبار المساواة. أول، أي ما يعادل ؟، يقارن بين المتغيرات لمعرفة ما اذا كانت تشير إلى نفس المثال. هذا هو ما يعادل بلغة الطراز C من إجراء تدقيق لمعرفة ما إذا تشير المؤشرات إلى 2 نفس العنوان. الطريقة الثانية، ==، واختبارات المساواة بين القيمة. حتى 3 == 3.0 سيكون صحيحا في هذه الحالة. الثالث، eql ؟، يقارن كل من القيمة والطبقة نوع.

لديها

واللثغة أيضا مفاهيم مختلفة المساواة اعتمادا على ما كنت تحاول اختبار.

وفي اللغات التي رأيتها تفرق بين المساواة والتكافؤ، عادة ما تعني المساواة النوع و القيمة هي نفسها بينما التكافؤ يعني أن القيم هي نفسها فقط.على سبيل المثال:

int i = 3;
double d = 3.0;

سيكون لدى i وd علاقة تكافؤ لأنهما يمثلان نفس القيمة ولكن ليس المساواة لأن لديهما أنواعًا مختلفة.قد يكون لدى اللغات الأخرى أفكار مختلفة للتكافؤ (مثل ما إذا كان هناك متغيران يمثلان نفس الكائن).

خذها خارج نطاق البرمجة.

  • (31) متساوون – (لهم نفس الكمية أو القيمة أو القياس مثل أي شخص آخر؛"على قدم المساواة"؛""كل الناس متساوون أمام القانون")"

  • مكافئ، مساوي لشيء ما؛"كان جيدًا مثل الذهب" ؛"رغبة كانت بمثابة أمر"؛"إفادته كانت بمثابة اعتراف بالذنب"

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

null == 0   # true , null is equivelant to 0 ( in php ) 
null === 0  # false, null is not equal to 0 ( in php )  

(يستخدم بعض الأشخاص ≈ لتمثيل القيم غير المتطابقة بدلاً من ذلك)

والفرق يكمن قبل كل شيء في المستوى الذي يتم إدخال المفهومين. "≡" هو رمز للمنطق الرسمي حيث، نظرا اثنين <م> المقترحات أ و ب، و≡ ب سيلة (أ => ب AND ب => أ).

و'=' هو بدلا من ذلك على سبيل المثال النموذجي لعلاقة التكافؤ على تحديد ، ويفترض على الأقل نظرية مجموعات. عندما <م> يعرف احد مجموعة معينة، وعادة كان يوفر لها فكرة مناسبة المساواة، والتي تأتي في شكل علاقة تكافؤ ويستخدم الرمز "=". على سبيل المثال، عند <م> تحديد سؤال مجموعة من الأرقام عقلانية، وكنت تحديد المساواة بين أ / ب = ج / د (حيث أ / ب، ج / د عقلانيون) إذا وفقط إذا الإعلان = ق (حيث الأعداد الصحيحة، بعد أن تم تحديد الإعلانات وقبل الميلاد فكرة المساواة بين الأعداد الصحيحة بالفعل في مكان آخر).

<ع> في بعض الأحيان سوف تجد رسمية تدوين و (خ) ≡ ز (خ)، حيث f و g هي وظائف: فهذا يعني أن f و g لديها نفس المجال والتي و (س) = ز (خ) لكل x في هذا المجال (وهذا هو مرة أخرى علاقة التكافؤ). وأخيرا، وأحيانا تجد ≡ (أو ~) كرمز عام للدلالة على علاقة تكافؤ.

الإجابات أعلاه صحيحة/صحيحة جزئيًا لكنها لا تشرح الفرق بالضبط.في علوم الكمبيوتر النظرية (وربما في فروع أخرى من الرياضيات) يتعلق الأمر بالتقدير الكمي للمتغيرات الحرة للمعادلة المنطقية (أي عندما نستخدم الترميزين في وقت واحد).

بالنسبة لي أفضل الطرق لفهم الفرق هي:

  1. حسب التعريف
    أ ≡ ب
    وسائل
    لجميع القيم الممكنة للمتغيرات الحرة في A وB، A = B

    أو

    أ ≡ ب <=> [أ = ب]

  2. على سبيل المثال
    س=2س
    iff (في الواقع iff هو نفس ≡)
    س = 0

    س ≡ 2x
    iff (لأنه ليس الحال أن x = 2x لجميع القيم الممكنة لـ x)
    خطأ شنيع

اتمني ان يكون مفيدا

يحرر:

الشيء الآخر الذي طرأ على ذهني هو تعريف الاثنين.

يتم تعريف A = B على أنه A <= B وA >= B، حيث يمكن أن تكون <= (تساوي أصغر، ولا تتضمن) أي علاقة ترتيبية

يتم تعريف A ≡ B على أنه A <=> B (IF، إذا وفقط إذا، يشير إلى كلا الجانبين)، تجدر الإشارة إلى أن التضمين هو أيضًا علاقة ترتيبية وبالتالي فمن الممكن (ولكنه أقل دقة ومربكًا في كثير من الأحيان) استخدام = بدلاً من ذلك من ≡.

أعتقد أن الاستنتاج هو أنه عندما ترى =، فعليك معرفة نية المؤلف بناءً على السياق.

هل يمكن أن يكون بيانين التي لها نفس القيمة الحقيقة (ما يعادلها) أو بيانين التي هي نفسها (المساواة). بالإضافة إلى "علامة المساواة مع ثلاثة أشرطة" يمكن أن تعني أيضا "بأنه".

والمساواة هو في الحقيقة نوع خاص من علاقة تكافؤ، في الواقع. النظر في ما يعنيه أن يقول:

0.9999999999999999... = 1

وهذا يشير إلى أن المساواة هي مجرد علاقة تكافؤ على "أرقام السلسلة" (التي تعرف رسميا باسم أكثر من وظائف Z -> {0، ...، 9}). ويمكننا أن نرى من هذه الحالة، والطبقات التكافؤ ليست حتى سنغلتونس.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top