تخطي إلى المحتوى

خلاط القوائم العشوائي - أداة تبديل القوائم المجانية عبر الإنترنت

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

خلاط القوائم العشوائي

أدخل العناصر المراد خلطها، عنصر واحد في كل سطر. سيتم إزالة الأسطر الفارغة تلقائيًا.

حاسبة التحميل...
📚

التوثيق

ما أداة خلط القوائم العشوائي؟

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

كيفية استخدام أداة خلط القوائم العشوائي

  1. اكتب القائمة أو الصقها في المربع، مع وضع عنصر واحد في كل سطر.
  2. انقر على «ترتيب القائمة عشوائيًا». ستُعاد ترتيب العناصر فورًا.
  3. اقرأ القائمة المخلوطة أسفل الزر، مرقّمة بترتيبها الجديد.
  4. انقر على «عشوائية القائمة» مرة أخرى لإجراء خلط جديد ومستقل.
  5. انقر على «نسخ النتيجة» لنسخ الترتيب الجديد، أو على «مسح» للبدء من جديد.

تُزال الأسطر الفارغة في الإدخال تلقائيًا، لذلك لن تؤدي فواصل الأسطر الإضافية إلى إنشاء إدخالات فارغة في النتائج.

كيف تعمل خوارزمية خلط فيشر–ييتس؟

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

صيغة خلط فيشر–ييتس

بالنسبة إلى قائمة تضم n من العناصر، مرقّمة من الموضع 0 إلى الموضع n − 1:

1for i from n − 1 down to 1:
2    choose a random whole number j, where 0 ≤ j ≤ i
3    swap the items at positions i and j
4

تتكرر الحلقة n − 1 مرة، ولذلك يستغرق الخلط نحو n خطوة إجمالًا. ويُسمى ذلك الزمن الخطي، ويُكتب O(n). ولأن الخوارزمية تراعي كل موضع مرة واحدة بالضبط، وتختار من مجموعة متناقصة ومحددة جيدًا من العناصر، فإن لكل ترتيب ممكن من الترتيبات n! (مضروب n: n × (n − 1) × ... × 1) فرصة متساوية ليكون النتيجة.

مثال: خلط قائمة من أربعة عناصر

ابدأ بأربعة عناصر في المواضع من 0 إلى 3: Apple، Banana، Cherry، Date.

  • i = 3: الاختيار العشوائي هو j = 0. بدّل الموضعين 3 و0 ← Date، Banana، Cherry، Apple
  • i = 2: الاختيار العشوائي هو j = 2. لا يغيّر تبديل الموضع مع نفسه شيئًا ← Date، Banana، Cherry، Apple
  • i = 1: الاختيار العشوائي هو j = 0. بدّل الموضعين 1 و0 ← Banana، Date، Cherry، Apple

الترتيب النهائي: Banana، Date، Cherry، Apple.

مع وجود أربعة عناصر، هناك 4! = 24 ترتيبًا ممكنًا. ولكل ترتيب، بما في ذلك هذا الترتيب، احتمال مقداره 1 من أصل 24 للظهور في أي عملية خلط معينة.

لماذا لا نكتفي بتبديل أزواج عشوائية؟

تبدو طريقة أبسط، تتمثل في اختيار موضعين عشوائيين وتبديلهما عدة مرات، عشوائيةً لكنها ليست كذلك. كانت بعض برامج الخلط المبكرة من عقد 1950 تعمل بهذه الطريقة، وكانت تفضّل بهدوء بعض الترتيبات على غيرها، رغم أن أي تشغيل منفرد لم يكن يبدو مريبًا. تتجنب خوارزمية خلط فيشر–ييتس ذلك، لأن كل عنصر يُنقل مرة واحدة بالضبط إلى موضع يُختار من مجموعة خيارات تتناقص بدقة، وهذا ما يجعل لكل ترتيب نهائي الاحتمال نفسه.

ما أصل خوارزمية خلط فيشر–ييتس؟

وصف الإحصائيان رونالد فيشر وفرانك ييتس هذه الطريقة في 1938 ضمن كتاب للجداول الإحصائية، لاستخدامها يدويًا عند تصميم التجارب. وفي 1964، عدّل ريتشارد دورستنفلد الطريقة لتناسب الحواسيب، بحيث يمكن إعادة ترتيب القائمة في موضعها من دون الحاجة إلى قائمة ثانية لتتبّع العناصر المتبقية. وأدرج دونالد كنوث هذه النسخة الحاسوبية في كتابه فن برمجة الحاسوب الصادر عام 1969، ولذلك تُسمى أحيانًا خوارزمية خلط كنوث. وتستخدم متصفحات الويب الخوارزمية نفسها اليوم.

الاستخدامات الشائعة لأداة خلط القوائم

  • تحديد ترتيب تقديم الطلاب أو إجابتهم عن الأسئلة في الصف
  • إنشاء مخطط بطولة أو تحديد ترتيب الأدوار في لعبة
  • تقسيم مجموعة إلى فرق عشوائية
  • اختيار مطعم أو فيلم أو مهمة من قائمة مختصرة من دون تفضيل خيار على آخر

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

الأسئلة الشائعة

هل الخلط عشوائي حقًا؟

يعتمد الخلط على مولّد الأعداد شبه العشوائية (PRNG) في متصفح الويب، وهو صيغة تنتج متتاليات من الأعداد تتصرف مثل العشوائية لأغراض عملية. وهذا كافٍ لترتيب الطلاب في الصف، أو إعداد جدول بطولة، أو اختيار فيلم. لكنه غير مصمم للتشفير أو أنظمة المقامرة أو أي شيء يعتمد فيه المال أو الأمان على عدم القدرة على التنبؤ؛ فهذه الاستخدامات تحتاج إلى مولّدات أعداد عشوائية معتمدة.

هل ترسل الأداة قائمتي إلى خادم؟

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

ماذا يحدث للعناصر المكررة؟

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

هل يوجد حد لعدد العناصر التي يمكنني خلطها؟

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

ما الفرق بين الخلط والترتيب؟

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

هل يمكنني خلط القائمة نفسها أكثر من مرة؟

نعم. فكل نقرة على «عشوائية القائمة» تشغّل الخوارزمية مرة أخرى، بصورة مستقلة عن أي عملية خلط سابقة. ومع القائمة الصغيرة، يمكن أن يتكرر الترتيب مصادفةً؛ أما مع القائمة الأكبر، فيصبح ذلك غير مرجح للغاية.