تعتبر نظرية التطابق (Congruence) أحد أهم فروع نظرية الأعداد التي اخترعها كارل فريدريش جاوس. على الرغم من أن هذا الفرع من نظرية الأعداد لا يحظى عمومًا باهتمام كبير، إلا أنه في الواقع أداة قوية جدًا لإجراء عمليات حسابية مختلفة. في الواقع، من الأفضل لنا جميعًا أن نكون على دراية بهذه الطريقة في الحساب بناءً على باقي القسمة، بالإضافة إلى عمليات الجمع والضرب المعتادة.
في هذا المقال، بدلاً من قصفك بالصيغ مثل معظم الكتابات الأخرى، سنحاول إنشاء فهم حدسي لمفهوم التطابق في عقلك وشرح ذلك بلغة بسيطة للغاية.
الأرقام الزوجية، والفردية، و مضارب 3
عندما علمنا لأول مرة عن الأرقام في المدرسة الابتدائية، تعلمنا على الفور مفهوم كون الرقم زوجيًا أو فرديًا:
- الأرقام الزوجية: هي الأرقام التي تقبل القسمة على 2 (0، 2، 4، 6، …)
- الأرقام الفردية: هي الأرقام التي لا تقبل القسمة على 2 (1، 3، 5، 7، …)
لكن لماذا هذا التمييز مهم؟ لأن هذه في الواقع بداية التفكير المجرد. في هذا الوقت نبدأ في التفكير في خصائص الأعداد (الزوجية والفردية) وتجاوز مجرد التفكير في الرقم نفسه (على سبيل المثال، 37).
يعتبر هذا التفكير المجرد خطوة كبيرة، لأنه يسمح لنا باستكشاف الرياضيات على مستوى أعمق وفهم العلاقات بين الأرقام. على سبيل المثال، يمكننا وضع قواعد مثل هذا:
عدد زوجي × عدد زوجي = عدد زوجي
رقم فردي × رقم فردي = رقم فردي
رقم زوجي × رقم فردي = رقم زوجي
التفكير الحدسي
هذه قواعد عامة وتنطبق على جميع خصائص الأرقام. إذا أردنا أن نفكر بشكل أكثر حدسية، فيمكننا إجراء تشبيه للكيمياء يكون فيه تساوي الرقم عبارة عن جزيء يحتوي على بعض الأرقام (المواد)، وبضرب (عملية كيميائية) لا يمكن أخذ هذه الخاصية منها. لكن كون الزوج زوجيًا / فرديًا هو خاصية محددة جدًا: مقسومًا على 2. والآن ماذا يمكننا أن نقول عن الرقم 3؟
- كل مضاعفات العدد 3 تقبل القسمة على 3 (0، 3، 6، 9، …)
- الأرقام الذي ليسة مضاعفة 3 لا تقبل القسمة على 3 (1، 2، 4، 5، 7، 8، …)
قد يبدو غريبًا، لكن هذا صحيح. إليك بعض الأشياء التي يجب وضعها في الاعتبار:
هناك نوعان من الأرقام غير المتعددة ب 3. الأعداد مثل 4 التي تكون وحدة واحدة أكبر من مضاعف 3 (باقي 1 عند القسمة على 3) والأرقام مثل 5 التي تكون أكبر بوحدتين (أي أن باقي القسمة على 3 يساوي 2)
الضرب في 3 هي خاصية أخرى لأي رقم. بالطبع، قد لا تكون فعالة مثل كونها زوجًا/فردًا؛ ومع ذلك، توجد مثل هذه الميزة ويمكننا وضع قواعد مثل هذا:
- مضاعف 3 × مضاعف 3 = مضاعف 3
- و …
لكن إلى متى يمكننا الاستمرار في هذا الوضع؟
نظرية التطابق

تمثل عمليات الوحدة النمطية (mod المُختصرة أو٪ في معظم لغات البرمجة) باقي العدد مقسومًا على رقم. علي سبيل المثال:
5 mod 3 = 2
يعني ان، 2 هي المتبقية في تقسيم 5 علي 3.
إذا أردنا تحويل الكلمات اليومية إلى لغة رياضي، علينا أن نقول إن الرقم هو رقم زوجي الذي له خاصية “mod 2 0″، أي أن الباقي، عند قسمة علي 2، يساوي صفرًا. الرقم الفردي هو “1 mod 2″، أي الباقي هو 1.
لكن ما سبب هذا النوع من الكتابة؟ عندما نريد كتابة القواعد “الزوجية / الفردية” التي ذكرناها سابقًا في الرياضيات:
- زوجي × زوجي = 0 × 0 = 0 [زوجي]
- فردي × فردي = 10 × 1 = 1 [فردي]
- زوجي × فردي = 1 × 0 = 0 [زوجي]
ترى مدى سهولة طريقة الحساب هذه. في الواقع، يمكنك أن ترى أنه إذا تم ضرب رقم زوجي بأي رقم، فسيكون حاصل ضرب هذا المنتج عددًا زوجيًا، أي الباقي يساوي صفرًا.
الرياضيات على عقارب الساعة
الشيء المثير للاهتمام حول التطابق هو أننا نستخدمه دائمًا لحسابات الساعة. على سبيل المثال، افترض أن الساعة 07:00 (لا يهم ما إذا كانت قبل أو بعد الظهر). السؤال الآن هو، ما هو الرقم الذي ستظهر عليه ساعتك بعد 7 ساعات؟
الجواب هو 14 = 7 + 7؛ لكننا نعلم أنه لا توجد ساعة 14:00 على الشاشة. لذلك يجب أن تكون الساعة 2. هذه الحجة مصنوعة بشكل حدسي، وإذا أردنا الإجابة بلغة رياضية، يجب أن نقول ذلك
(7 + 7) mod 12 = (14) mod 12 = 2 mod 12
(أي 2 هو باقي قسمة 14 علي 12)
المعادلة التالية
14 mod 12 = 2 mod 12
هذا يعني أن الساعة 2 و 14 متشابهة في الساعة مع شاشة مقسمة إلى اثني عشر قسمًا. في الواقع، نقول إن هذين هما متجانسان ويشار إليهما بثلاثة خطوط متوازية:
2 mod 12 ≡ 14
مثال آخر هو كما يلي: لنفترض أن الوقت هو 08:00، ما هو وقت علي ساعتك بعد 25 ساعة؟
في هذه الحالة، بدلاً من إضافة 25 وحدة إلى 8، يمكننا التفكير قليلاً في أن 25 ساعة هي نفسها “يوم واحد + ساعة واحدة”. في الـ 25 ساعة القادمة، ستكون الساعة متقدّمة بمقدار وحدة واحدة فقط، الساعة 09:00.
(8 + 25) mod 12 ≡ (8) mod 12 + (25) mod 12 ≡ (8) mod 12 + (1) mod 12 ≡ 9 mod 12
وبهذه الطريقة، قمنا بشكل حدسي بتغيير الساعة 25 إلى الساعة 1 وأضفناها إلى الساعة 8. باستخدام الساعة كمقارنة، يمكننا فهم كيفية عمل قواعد التعايش.
الجمع / الطرح
افترض أن هناك وقتان متشابهان على عقارب الساعة (على سبيل المثال: 02:00 و 14:00) ماذا يحدث إذا أضفنا قيمة x إلى كلتا الساعتين؟ من الواضح أن هاتين المرتين تشيران مرة أخرى إلى نفس الوقت على مدار الساعة، وهما:
2:00 + 5 ساعات ≡ 14:00 + 5 ساعات
كل من هذه القيم سوف تشير إلى 07:00. الحقيقة أننا في مثل هذه الحالات لا نأخذ في الاعتبار أبدًا قيمة 14 ساعة عندما يتجاوز العقرب الساعة 12، ونأخذ في الاعتبار الباقي من قسمة الرقم على 12، أي 2، ونعلم أن كلاهما يتقدمان بالتساوي. بالنسبة لجميع الأعداد المتجانسة (2 و 14)، يعطي الجمع أو الطرح نفس النتيجة.
عمليه الضرب
يصعب قليلاً رؤية حالة الضرب في مثل هذه الحالات. إذا
2 (mod 12) ≡ 14
حسنًا، هل يمكننا إذًا ضرب كلا الطرفين في عدد واحد والحصول على نفس النتيجة؟ في ما يلي، سوف نفحص ماذا يحدث عندما يتم ضرب جانبي التعبير أعلاه في 3؟
نعلم أنها 2:00 × 3 ≡ 6:00 ؛ لكن ماذا عن 14:00 × 3؟ تذكر أن 14 = 12 + 2 لذلك يمكننا القول:
يمكنك تجاهل الجزء الأول، 3 × 12. قسم 12 ساعة هو نفسه الصفر، وقسم 14 ساعة يحتوي عليه عدة مرات. لكن هذا المبلغ لا يهم وعلى أي حال نحن نتجاهله.
عندما نريد الضرب، كل ما يتبقى هو ما يهم، وهو 2 في الساعة 14:00 و 02:00. بشكل بديهي، نرى أن الضرب لم يغير حسابات التطابق، أي أنه تم ضرب طرفي التطابق بنفس العدد وتم الحصول على نفس النتيجة.
استخدام حساب الوحدة النمطية

السؤال الذي يطرح نفسه الآن هو ما هو استخدام حساب نمطي؟
حسابات بسيطة للوقت
نحن نستخدم هذه الحسابات بشكل حدسي؛ ولكن ما هي أفضل طريقة للحصول على اسم لها. افترض أن رحلتك وصلت الساعة 3 مساءً. إذا تأخرت الرحلة 14 ساعة، ما الوقت الذي ستستغرقه الرحلة؟
نحن نعلم ان
14 ≡ 2 mod 12
لذلك يمكننا أن نفترض أن “14 ساعة تساوي ساعتين بالإضافة إلى التغيير قبل / بعد الظهر.” لذلك نعلم أن وقت هبوط الطائرة سيكون 3 + 2 = 5 في الصباح. العمليات الحسابية أدناه أكثر تعقيدًا قليلاً من عامل بسيط في معامل؛ لكن المفهوم هو نفسه.
اضاعة العناصر في مجموعات عشوائية
افترض أن هناك أشخاصًا اشتروا تذاكر سينما برقم تحقق. تريد تقسيم هؤلاء الأشخاص إلى فئتين.
ماذا علينا ان نفعل؟ “الأرقام الفردية في هذا الجانب والأرقام الزوجية على الجانب الآخر.” لا تحتاج إلى معرفة عدد التذاكر التي تم إصدارها. بهذه الطريقة، يمكن لأي شخص رؤية مجموعته على الفور دون الحاجة إلى الاتصال بسلطة مركزية، ولا تزال هذه الخطة مستجيبة مع زيادة عدد مشتري التذاكر.
ماذا لو احتجنا إلى 3 مجموعات؟ في هذه الحالة، عليك قسمة رقم التأكيد على 3 والنظر في الباقي (أي mod 3)، في هذه الحالة، لدينا مجموعات من 0 و 1 و 2.
في البرمجة، يتم استخدام مشغل الوحدة النمطية لوضع العناصر في جدول التجزئة. إذا كان جدولنا يحتوي على مدخلات N، فإننا نحول مفتاح العنصر إلى رقم، ونحصل على الباقي على N (mod N)، ونضع العنصر في المجموعة المقابلة. في هذه الحالات، يمكن استخدام قائمة مرتبطة لتخزين العناصر. من خلال زيادة حجم جدول التجزئة، يمكنك إعادة حساب الوحدة النمطية للمفاتيح.
تحديد عنصرًا عشوائيًا
كما نستخدم الرفقة في حياتنا اليومية. لنفترض أن لدينا 4 أشخاص يلعبون لعبة ويجب اختيار شخص واحد ليكون أول لاعب. في هذه الحالة، يمكن أن يكون لدينا لعبة صغيرة مثل “الباقي 4”. نعطي كل شخص واحدًا من الأعداد 1 و 2 و 3 و 4 على التوالي. ثم، بالعد من واحد إلى أربعة، يعلن الجميع رقمًا عشوائيًا في نفس الوقت. اجمع كل الأرقام معًا واقسم على 4. كل من لديه الرصيد المتبقي سيكون أول لاعب. على سبيل المثال، لنفترض أن مجموع الأرقام هو 11، أي شخص لديه الثلاثة المتبقية سيكون أول لاعب، لأن 11 mod 4 = 3. هذه طريقة بسيطة وسهلة.
أداء سلسلة من المهام
لنفترض أننا بحاجة إلى القيام بما يلي وفقًا لجدول زمني منتظم:
- تتم المهمة a ثلاث مرات في الساعة.
- يتم تنفيذ المهمة b 6 مرات في الساعة.
- يتم تنفيذ المهمة c مرة واحدة كل ساعة.
كيف يمكننا تخزين هذه المعلومات وإنشاء جدول؟ طريقة واحدة هي:
لديك مؤقت يعمل مرة واحدة كل دقيقة (يتتبع عدد الدقائق كمتغير n)
أعني 3 مرات في الساعة، أي مرة كل 60/3 = 20 دقيقة. لذلك، يتم تنفيذ المهمة a عندما يكون «n% 20 == 0».
المهمة b عندما يتم تنفيذ «n% 10 == 0».
المهمة c يتم تنفيذة عندما «n% 60 == 0».
لنفترض الآن أن لدينا المهمة c1، والتي يتم تنفيذها مرة واحدة في الساعة؛ لكنها ليست نفس المهمة c. بالطبع، يجب أيضًا تنفيذ هذه المهمة عند “n mod 60 == 1”. أي على الرغم من أنه يتم إجراؤه مرة كل ساعة؛ ولكن ليس c.
نفترضدائرة يجب أن يتم فيها عمل معين على فترات مختلفة. لذلك نستخدم التطابق. الشيء المثير للاهتمام هو أن هذه الأعمال على فترات مختلفة يمكن أن تكون مستقلة عن بعضها البعض ولا تزال متداخلة. هذا الموقف مشابه إلى حد ما لمشغل XOR من حيث أن كل XOR يمكن أن يكون في طبقة منفصلة، لكن شرح هذا الموقف يتجاوز نطاق هذه المقالة.
وبالمثل، عند البرمجة، يمكننا عرض واحد من كل 100 عنصر تم الإبلاغ عنها باستخدام الأمر التالي:

هذه طريقة بسيطة ومرنة للغاية لأداء مهام مختلفة وفقًا لجدول زمني محدد. في الواقع، في حالات مختلفة، إذا استخدمت نفس العملية، سيكون من الأسهل بكثير الإجابة على معظم الأسئلة.
الحصول علي ارقام معينة
افترض أن ما يلي صحيح:
a = (47 * 2 * 3)
ما هو الاستنتاج للوهلة الأولى؟ نعلم أن a يجب أن يكون زوجيًا، لأنه يساوي شيئًا يحتوي على الضرب في 2. إذا قيل لك ان
a = (39 * 7)
من المحتمل أن تتفاجأ، ليس لأنك تعلم أن حاصل ضربين مختلفين، ولكن لأن أحدهما فردي والآخر زوجي. إذن هناك مشكلة، لا يمكن أن يكون الرقم نفسه في كلتا الحالتين، لأن خصائص هذين الرقمين غير متطابقة.
تحقيق من صحة المعادلات
خصائص مثل الزوجي والمضاعف 3 و mod n هي خصائص أكثر عمومية من الأرقام الفردية ويمكن أن تكون خاصية للتحقق من التكامل. لذلك يمكننا استخدام عامل المقياس لمعرفة ما إذا كانت الأرقام متطابقة أم لا، وما زلنا لا نعرف الرقم نفسه!
إذا قيل لك ان
3a + 5b = 8
3a + b = 2
هل المعادلات أعلاه قابلة للحل بأعداد صحيحة؟ دعنا نرى:
3a + 5b = 8 → 0 + 2b ≡ 2 mod 3, یا b ≡ 1 mod 3
3a + b = 2 → 0 + b ≡ 2 mod 3, یا b ≡ 2 mod 3
نرى أن هناك تناقضًا:
1 mod 3
2 mod 3
ونرى أنه من غير الممكن أن نكون زوجا وفردًا في نفس الوقت.
لكن هناك نقطة. الأرقام مثل 1.5 ليست زوجية ولا فردية. لأن هذه الأرقام ليست أعدادًا صحيحة. تنطبق خاصية المقياس على الأعداد الصحيحة، لذا يمكننا القول إن الرقم b لا يمكن أن يكون عددًا صحيحًا.
في ما يلي، نحل المعادلات عمليًا:
(3a + 5b) – (3a +b) = 8 – 2
4b = 6
b = 1.5
3a + 1.5 = 2
3a = 0.5
a = 1/6
لذلك، يجب ألا نستسلم لقوة التطابق، ويجب أن نقبل أيضًا حدودها. عمليات التطابق تنطبق فقط على الأعداد الصحيحة.
التشفير
من أهم جوانب علم التشفير هو العمل مع الأرقام. على الرغم من ان شرحه خارج نطاق هذه المقالة، إلا أنه يتم استخدام الوحدات النمطية في تبادل مفاتيح Diffie-Hellman. تُستخدم طريقة التشفير هذه في بروتوكول SSL لتبادل حركة مرور الموقع.

نظرية التطابق بلغة بسيطة
يهتم بعض الأشخاص باستخدام الكلمات في سياقات منتظمة. ربما سمعت أن “X هي نفسها Y بالنسبة إلى مقياس Z.” المعنى التقريبي لها هو: “إذا تجاهلنا Z، فإن X و Y هي نفسها”. علي سبيل المثال:
- B و b متطابقان في الأحرف الكبيرة.
- iTouch و iPad بنفس الحجم تقريبًا.
This article is useful for me
1+ 2 People like this post