سؤال

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

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

المحلول

لدينا قيمتان: T و F.

يمكننا الجمع بين هذه القيم بثلاث طرق: NOT, AND, ، و OR.

NOT هو أبسط:

  • NOT T = F
  • NOT F = T

يمكننا كتابة هذا على أنه أ جدول الحقيقة:

when given.. | results in...
============================
           T | F
           F | T

من أجل الوصول

x | NOT x
=========
T | F
F | T

افكر في NOT كما إطراء, ، أي أنه يحول قيمة واحدة إلى الآخر.

AND يعمل على قيمتين:

x y | x AND y
=============
T T | T
T F | F
F T | F
F F | F

AND هو T فقط عندما يكون كلاهما الحجج (قيم x و y في جدول الحقيقة) هي T - و F غير ذلك.

OR هو T عندما تكون واحدة على الأقل من حججها T:

x y | x OR y
=============
T T | T
T F | T
F T | T
F F | F

يمكننا تحديد مجموعات أكثر تعقيدًا. على سبيل المثال ، يمكننا كتابة جدول الحقيقة ل x AND (y OR z), ، والصف الأول أدناه.

x y z | x AND (y OR z)
======================
T T T | ?

بمجرد أن نعرف كيفية التقييم x AND (y OR z), ، يمكننا ملء بقية الجدول.

ل تقييم المزيج ، تقييم القطع والعمل من هناك. تظهر الأقواس الأجزاء التي يجب تقييمها أولاً. ما تعرفه من الحساب العادي سيساعدك على العمل. قل لديك 10 - (3 + 5). أولاً تقوم بتقييم الجزء بين قوسين للحصول على

10 - 8

وتقييم ذلك كالمعتاد للحصول على الإجابة ، 2.

تقييم هذه التعبيرات يعمل بالمثل. نحن نعرف كيف OR الأعمال من الأعلى ، حتى نتمكن من توسيع طاولتنا قليلاً:

x y z | y OR z | x AND (y OR z)
===============================
T T T | T      | ?

الآن يبدو أننا عدنا إلى x AND y الطاولة. نحن ببساطة نحل محل قيمة y OR z وتقييم. في الصف الأول ، لدينا

T AND (T OR T)

وهو نفسه

T AND T

وهو ببساطة T.

نكرر نفس العملية لجميع القيم الثمانية الممكنة لـ x, y, ، و z (2 القيم المحتملة لـ x الأوقات 2 القيم المحتملة لـ y الأوقات 2 القيم المحتملة لـ z) لتأخذ، لتمتلك

x y z | y OR z | x AND (y OR z)
===============================
T T T | T      | T
T T F | T      | T
T F T | T      | T
T F F | F      | F
F T T | T      | F
F T F | T      | F
F F T | T      | F
F F F | F      | F

قد تكون بعض التعبيرات أكثر تعقيدًا مما يجب أن تكون. علي سبيل المثال،

x | NOT (NOT x)
===============
T | T
F | F

بعبارات أخرى، NOT (NOT x) هو ما يعادل لمجرد x.

قواعد Demorgan هي حيل مفيدة تتيح لنا التحويل بين التعبيرات المكافئة التي تناسب أنماط معينة:

  • NOT (x AND y) = (NOT x) OR (NOT y)
  • NOT (x OR y) = (NOT x) AND (NOT y)

(قد تفكر في هذا كيف NOT يوزع من خلال بسيطة AND و OR التعبيرات.)

ربما يفهم الحس السليم بالفعل هذه القواعد! على سبيل المثال ، فكر في جزء من الحكمة الشعبية التي "لا يمكنك أن تكون في مكانين في وقت واحد." يمكننا أن نجعلها تناسب الجزء الأول من القاعدة الأولى:

NOT (here AND there)

بتطبيق القاعدة ، هذه طريقة أخرى لقول "أنت لست هنا أو أنك لست هناك".

يمارس: كيف يمكنك التعبير عن القاعدة الثانية باللغة الإنجليزية العادية؟

بالنسبة للقاعدة الأولى ، دعونا نلقي نظرة على جدول الحقيقة للتعبير على الجانب الأيسر من علامة متساوية.

x y | x AND y | NOT (x AND y)
=============================
T T | T       | F
T F | F       | T
F T | F       | T
F F | F       | T

الآن الجانب Righthand:

x y | NOT X | NOT Y | (NOT x) or (NOT y)
========================================
T T | F     | F     | F
T F | F     | T     | T
F T | T     | F     | T
F F | T     | T     | T

القيم النهائية هي نفسها في كلا الجدولين. هذا يثبت أن التعبيرات مكافئة.

يمارس: إثبات أن التعبيرات NOT (x OR y) و (NOT x) AND (NOT y) معادلة.

نصائح أخرى

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

يشير قانون Demorgan إلى حقيقة أن هناك طريقتان متطابقتان لكتابة أي مجموعة من شرطين - على وجه التحديد ، AND مزيج (يجب أن يكون كلتا الحالتين صحيحين) ، و OR مزيج (أي واحد يمكن أن يكون صحيحا). الأمثلة هي:

الجزء 1 من قانون Demorgan

إفادة: أليس لديها شقيق.
الظروف: أليس لديها أخ OR أليس لديها أخت.
ضد: أليس طفلًا وحيدًا (يفعل NOT لديك شقيق).
الظروف: أليس تفعل NOT لديك أخ ، AND هي تفعل NOT لديك أخت.

بعبارات أخرى: NOT [A OR B] = [NOT A] AND [NOT B]

الجزء 2 من قانون Demorgan

إفادة: بوب سائق سيارة.
الظروف: بوب لديه سيارة AND بوب لديه ترخيص.
ضد: بوب NOT سائق سيارة.
الظروف: بوب يفعل NOT لديك سيارة ، OR بوب يفعل NOT لديك ترخيص.

بعبارات أخرى: NOT [A AND B] = [NOT A] OR [NOT B].

أعتقد أن هذا سيكون أقل إرباكًا بالنسبة لطفل يبلغ من العمر 12 عامًا. إنه بالتأكيد أقل إرباكًا من كل هذا الهراء حول طاولات الحقيقة (حتى أنني أشعر بالارتباك في النظر إلى كل هؤلاء).

إنها مجرد وسيلة لإعادة صياغة عبارات الحقيقة ، والتي يمكن أن توفر طرقًا أبسط لكتابة الشرطية لفعل الشيء نفسه.

في سهل الانجليزية:
عندما لا يكون هذا الأمر أو ذاك ، فإنه ليس هذا أيضًا وليس ذلك.
عندما لا يكون هذا الأمر هذا ، فهذا ليس كذلك أم لا.

ملحوظة: بالنظر إلى عدم دقة اللغة الإنجليزية على الكلمة "أو" أنا أستخدمها ليعني غير حصري أو في المثال السابق.

على سبيل المثال ، فإن الكود الزائف التالي متكافئ:
إذا لم يكن (أ أو ب) ...
إذا (وليس أ) و (وليس ب) ....

إذا لم يكن (أ و ب) ...
إذا لم يكن (أ) أم لا (ب) ...

إذا كنت ضابط شرطة تبحث عن يشربون دون السن القانونية ، فيمكنك القيام بأحد ما يلي ، ويقول قانون دي مورغان إنهم يرقى إلى نفس الشيء:

الصيغة 1 (أ و ب)

إذا كانوا تحت الحد من العمر وشرب مدمن على الكحولالمشروبات ، اعتقالهم.

الصيغة 2 (لا (لا أ أو لا ب))

إذا كانوا علىالحد من العمر أو شرب أ غير كحولي المشروبات ، دعهم يذهبون.

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

"ليس لديه سيارة أو حافلة." يعني نفس الشيء مثل "ليس لديه سيارة ، وليس لديه حافلة".

"ليس لديه سيارة وحافلة." يعني نفس الشيء مثل "ليس لديه سيارة ، أو لا يوجد لديه حافلة ، لست متأكدًا من ذلك ، ربما ليس لديه".

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

رسميا:

  • لا (سيارة أو حافلة) = (وليس السيارة) و (وليس الحافلة)
  • لا (السيارة والحافلة) = (وليس السيارة) أو (وليس الحافلة)

باللغة الإنجليزية ، أو "تميل إلى أن تعني الخيار ، أنه ليس لديك كلا الأمرين. في المنطق ، "أو" يعني دائمًا نفس الشيء "و/أو" باللغة الإنجليزية.

إليك جدول الحقيقة الذي يوضح كيف يعمل هذا:

الحالة الأولى: لا (cor أو bus) = (وليس السيارة) و (وليس الحافلة)

 c | b || c or b | not (c or b) || (not c) | (not b) | (not c) and (not b)
---+---++--------+--------------++---------+---------+--------------------
 T | T ||    T   |      F       ||    F    |    F    |        F
---+---++--------+--------------++---------+---------+--------------------
 T | F ||    T   |      F       ||    F    |    T    |        F
---+---++--------+--------------++---------+---------+--------------------
 F | T ||    T   |      F       ||    T    |    F    |        F
---+---++--------+--------------++---------+---------+--------------------
 F | F ||    F   |      T       ||    T    |    T    |        T
---+---++--------+--------------++---------+---------+--------------------

الحالة الثانية: لا (السيارة والحافلة) = (وليس السيارة) أو (وليس الحافلة)

 c | b || c and b | not (c and b) || (not c) | (not b) | (not c) or (not b)
---+---++---------+---------------++---------+---------+--------------------
 T | T ||    T    |       F       ||    F    |    F    |        F
---+---++---------+---------------++---------+---------+--------------------
 T | F ||    F    |       T       ||    F    |    T    |        T
---+---++---------+---------------++---------+---------+--------------------
 F | T ||    F    |       T       ||    T    |    F    |        T
---+---++---------+---------------++---------+---------+--------------------
 F | F ||    F    |       T       ||    T    |    T    |        T
---+---++---------+---------------++---------+---------+--------------------

ارسم مخططًا بسيطًا فين ، دائرتان متقاطعتان. ضع A في اليسار و B في اليمين. الآن (أ و ب) من الواضح أن هذا الشيء المتقاطع. لذلك ليس (أ و ب) هو كل ما لا يوجد في الجزء المتقاطع ، بقية كلتا الدوائر. لون ذلك.

ارسم دائرتين أخريين مثل من قبل ، A و B ، متقاطع. الآن ليس (أ) هو كل ما هو موجود في الدائرة اليمنى (ب) ، ولكن ليس التقاطع ، لأنه من الواضح أن هذا هو اللون B. لأن هذا ب وكذلك أ.

رسومات اثنين تبدو كما هي. لقد أثبتت أنه لا (أ و ب) = لا (أ) أو لا (ب). يتم ترك حالة t'other كتمرين للطالب.

يسمح لك قانون Demorgan بتقديم سلسلة من العمليات المنطقية بطرق مختلفة. ينطبق على النظرية المنطقية والمنطق ، حيث تستخدم في نظرية المحددة تكملة للا تقاطع و ، والاتحاد لـ OR.

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

لذا ، إذا كان لديك ما يلي بلغة تشبه C

if !(x || y || z) { /* do something */ }

إنه معادل منطقيا:

if (!x && !y && !z)

كما أنه يعمل مثل:

if !(x && !y && z)

تحول الى

if (!x || y || !z)

ويمكنك ، بالطبع ، الذهاب في الاتجاه المعاكس.

من السهل رؤية معادلة هذه العبارات باستخدام شيء يسمى جدول الحقيقة. في جدول الحقيقة ، يمكنك ببساطة وضع متغيراتك (x ، y ، z) وسرد جميع مجموعات المدخلات لهذه المتغيرات. لديك بعد ذلك أعمدة لكل مسند أو تعبير منطقي ، وتحدد المدخلات المحددة ، قيمة التعبير. من المحتمل أن يدفعك أي منهج جامعي لعلوم الكمبيوتر أو هندسة الكمبيوتر أو الهندسة الكهربائية أن يدفعك مع عدد جداول الحقيقة وحجمها الذي يجب أن تنشئه.

فلماذا تعلمهم؟ أعتقد أن السبب الأكبر في الحوسبة هو أنه يمكن أن يحسن قابلية التعبيرات المنطقية الأكبر. بعض الناس لا يحبون استخدام المنطق وليس ! أمام التعبيرات ، لأنهم يعتقدون أنه يمكن أن يخلط بين شخص ما إذا فاته ذلك. ومع ذلك ، فإن تأثير استخدام قانون Demorgan على مستوى بوابة الرقائق مفيد ، لأن بعض أنواع البوابات أسرع أو أرخص ، أو أنك تستخدم بالفعل دائرة متكاملة كاملة لها حتى تتمكن من تقليل عدد حزم الرقائق المطلوبة ل حصيلة.

لست متأكدًا من السبب في أنني احتفظت بهذا طوال هذه السنوات ، لكنه أثبت أنه مفيد في عدد من المناسبات. بفضل السيد بيلي ، مدرس الرياضيات في الصف العاشر. ودعاها نظرية ديمورغان.

!(A || B) <==> (!A && !B)
!(A && B) <==> (!A || !B)

عندما تنقل النفي داخل أو خارج الأقواس ، يتغير المشغل المنطقي (و ، أو).

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