setxor1d يعيد المنفرد الحضور مرتبًا دون تكرار. [1]
جدول الحضور يختلف عن جدول التكرار
نؤلف a=[9,−4,9,2] وb=[2,8,8,−4]. الأعداد بلا وحدات، ولا تمثل سجلات حقيقية. نقرأ القائمتين من اليسار إلى اليمين، لكن سؤال الحضور لا يحتاج إلى اختيار أول موضع.
العدد 9 موجود في a وحدها، والعدد 8 في b وحدها. أما −4 و2 ففي الجانبين. لذلك قائمة الحضور المنفرد المرتبة هي [8,9]؛ نعرض 9 مرة واحدة رغم ظهوره مرتين في a.
setxor1d يعيد المنفرد الحضور مرتبًا دون تكرار. [1] set لا يحفظ التكرارات والمواضع؛ symmetric_difference يستبعد المشترك. [2]
نعد الآن كل ظهور بعد جمع القائمتين: تكرار −4 هو 2، وتكرار 2 هو 2، وتكرار 8 هو 2، وتكرار 9 هو 2. لا يوجد تكرار فردي. نتيجة هذا الاختبار خالية، خلاف قائمة الحضور [8,9].
الفرق في السؤال: هل وصلت القيمة من جانب واحد، أم كم مرة وصلت إجمالًا؟ قيمة تصل مرتين من الجانب الأول وحده تحقق الحضور المنفرد، مع أن مجموع تكرارها زوجي. لا يحل حذف الأعداد الزوجية من قائمة النتائج هذا الاختلاف؛ المطلوب فردية التكرار، لا فردية قيمة العدد.
اختبر العكس والتكرار دون تغيير الحضور
اعكس ترتيب كل مدخل أو بدل اسمي a وb. تبقى القيم المنفردة الحضور [8,9] في نموذجنا لأن أي قيمة لم تنتقل إلى جانب جديد. لكن مواضع ظهورها قد تتغير؛ النتيجة الحالية ليست فهارسًا لإعادة بناء التسلسل.
ضاعف كل مدخل بوضع نسخة منه بعده. ما زالت 9 في a وحدها و8 في b وحدها، لذلك الحضور المنفرد نفسه. أصبحت تكرارات القيم الأربع 4 لكل قيمة؛ كلها زوجية أيضًا.
لإظهار أثر المضاعفة، نبدأ بقائمتين جديدتين: a′=[9,−4,2] وb′=[2,8,−4]. الحضور المنفرد [8,9]، ومجموع تكراري 8 و9 يساوي واحدًا لكل منهما، فتكون نتيجة الفردية [8,9] أيضًا.
بعد مضاعفة a′ وb′، يصبح تكرار 8 وتكرار 9 اثنين، فيخلو اختبار الفردية. الحضور المنفرد لم يتغير. إذن تطابق النتيجتين مرة لا يثبت أن كلتيهما تقيس الخاصية نفسها.
متى يتفق الاختباران؟
لكل قيمة v، سمّ عدد ظهورها في الأول m وفي الثاني n. كلا العددين صحيح غير سالب. الحضور المنفرد يتحقق عندما يكون أحدهما صفرًا والآخر موجبًا؛ والفردية تتحقق عندما يكون m+n فرديًا.
كي يتفق الاختباران لكل القيم، نحتاج شرطين: إذا حضرت قيمة في جانب واحد، فمجموع تكرارها فردي؛ وإذا حضرت في الجانبين، فمجموع تكرارها زوجي. يكفي ذلك لأن القرارين حينها متطابقان عند كل قيمة. وهو لازم أيضًا: مخالفة أي شرط تعطي قيمة يقبلها اختبار واحد دون الآخر.
عدم وجود تكرارات داخل كل جانب كافٍ للاتفاق في هذا النموذج: القيمة المنفردة لها مجموع 1، والمشتركة مجموع 2. لكنه ليس شرطًا لازمًا. نؤلف a″=[9,9,9,−4,−4] وb″=[8,8,8,−4,−4].
في هذا المثال، 9 و8 منفردتان ولكل منهما مجموع تكرار 3؛ و−4 مشتركة بمجموع 4. النتيجتان [8,9] رغم التكرارات داخل المدخلين. هذا اتفاق تحققنا منه بالقيم، وليس سببًا لادعاء تفرد المدخلين.
assume_unique=True يفترض تفرد المدخلين؛ الافتراضي False. [1]

اقرأ النتيجة الخالية وحدود الفحص
إذا كانت a=[9,9] وb تحتوي 9 مرة واحدة، فالقيمة موجودة في الجانبين. الحضور المنفرد خالٍ، بينما مجموع التكرار 3 فردي، فتقبلها قاعدة الفردية. النتيجة الخالية لا تقول إن المدخلين لهما الطول أو التكرارات نفسها.
في نموذجنا، يخلو الحضور المنفرد إذا وفقط إذا احتوى المدخلان على مجموعة القيم نفسها. لإثبات ذلك: إن وجدت قيمة في جانب واحد كانت في النتيجة؛ وإن كانت كل قيمة موجودة في الجانبين لم تقبل أي قيمة.
ومع مدخل أول خالٍ وثانٍ يحتوي 9 مرتين، يقبل الحضور المنفرد 9، لكن الفردية لا تقبله. وإذا خلا المدخلان، خلت النتيجتان.
أعددنا 121 قائمة، أطوالها من صفر إلى أربعة وعناصرها من −2 وصفر و5. قارنا كل زوج، أي 14641 زوجًا، بين الفرق المتناظر لمجموعتين وبحث مستقل يفحص وجود كل قيمة في كل جانب. لكل زوج عشرة فحوص، ومع سبعة أمثلة مباشرة أصبح المجموع 146417.
شملت الفحوص ترتيب النتائج وتفردها، وتبديل المدخلين وعكسهما ومضاعفتهما، واستبعاد المشترك، وشرط الخلو، وهوية العدد: عدد القيم المختلفة في الأول + عددها في الثاني − ضعف عدد القيم المشتركة. كذلك راجعنا شرط اتفاق الفردية وعدم تغيير المدخلين.
هذه قوائم صحيحة أحادية في نموذج مؤلف، لا تشغيل NumPy. لم نفحص assume_unique=True أو تسطيح الأبعاد أو الفاصلة العائمة وNaN أو أنواع الكائنات والأقنعة أو الذاكرة والأداء. عند استخدام النتيجة نحدد هل نبحث عن اختلاف الحضور أم اختلاف عدد الوقائع؛ لا نستنتج هوية أحداث حقيقية من مساواة الأعداد وحدها.
| القيمة | تكرارها في a | تكرارها في b | الحضور المنفرد | التكرار المجموع |
|---|---|---|---|---|
| −4 | 1 | 1 | لا | 2: زوجي |
| 2 | 1 | 1 | لا | 2: زوجي |
| 8 | 0 | 2 | نعم | 2: زوجي |
| 9 | 2 | 0 | نعم | 2: زوجي |
للتوسع: الأبعاد والقطر والمنقول.
المراجع
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
