اختيار عشوائي من قائمة

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

اضغط على «توليد» للاختيار
يتم التعرف على الفاصل تلقائيًا، ولكن يمكنك تحديده يدويًا أدناه.
خيارات متقدمة

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

تتم كل عملية اختيار مباشرة داخل متصفحك باستخدام Web Crypto API (crypto.getRandomValues)، والتي توفر قيماً عشوائية قوية التشفير بناءً على العشوائية الأساسية لنظام متصفحك. لا تُرسل قائمتك أبداً إلى أي خادم، ولا تُسجل، ولا نراها إطلاقاً — وهذا الأمر أكثر أهمية هنا مقارنة بمعظم المولدات الأخرى، لأن ما يلصقه الأشخاص عادةً يكون قائمة عملاء، أو سجل حضور لفصل دراسي، أو مجموعة من أسماء الزملاء. يفي زر «تحميل من الملف» بنفس الوعد: حيث يقرأ متصفحك الملف ويملأ المربع محلياً، دون رفع أي بيانات إلى أي مكان.

صُممت الخيارات لتناسب القوائم التي يمتلكها الأشخاص بالفعل. يكون خيار «طريقة فصل العناصر» مضبوطاً على «الكشف التلقائي»، والذي يميّز بين الفواصل الأسطرية والفواصل العادية، ويكتشف أي الطريقتين تستخدمها قائمتك، بحيث تعمل القائمة المنسوخة من جدول بيانات أو رسالة دردشة أو مستند دون الحاجة إلى إعادة تنسيق. قم بتثبيت الخيار على «سطر جديد» أو «فاصلة» أو «مسافة» عندما تتداخل التنسيقات في بياناتك — وتذكر أن خيار «مسافة» هو دائماً خيار متعمد ولا يتم تلقائياً أبداً، لأن الإدخالات مثل الأسماء الكاملة تحتوي بطبيعتها على مسافات، وتقسيمها افتراضياً سيؤدي إلى إفساد قوائم أكثر مما سيصلح. يحدد حقل «العدد» كم عنصراً سيتم سحبه، من 1 إلى 100. هل تريد سحب ثلاثة فائزين بجوائز من أصل 200 مشارك؟ الصق أسماء المشاركين، واضبط «العدد» على 3، واضغط على «توليد». هناك أداتا تحكم ينطبقان فقط عندما يصل العدد إلى 2 أو أكثر ويبقيان غير مفعلين حتى ذلك الحين: مفتاح «بدون تكرار»، الذي يحدد ما إذا كان يمكن سحب نفس العنصر مرتين، وخيار «تنسيق الإخراج»، الذي يحدد كيفية الفصل بين الاختيارات — «كل عنصر في سطر جديد»، أو «مفصول بمسافات»، أو «مفصول بفواصل».

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

كيف تتم عملية الاختيار فعلياً؟ عندما تضغط على «توليد»، تطلب الصفحة من المتصفح قيماً عشوائية عبر crypto.getRandomValues وتستخدمها لاختيار مواقع ضمن قائمتك، بدلاً من الاعتماد على دالة JavaScript شبه عشوائية مثل Math.random(). إن تحويل قيمة خام 32 بت إلى موقع في القائمة هو النقطة التي تخطئ فيها أدوات الاختيار دون أن يلاحظ أحد: إن استخدام باقي القسمة (modulo) للقيمة على طول القائمة هو النهج البديهي ولكنه متحيز، لأنه ما لم يكن الطول يقسم 2^32 بدون باقٍ، فإن الإدخالات القريبة من بداية القائمة ستظهر بتردد أعلى قليلاً من البقية. يُسمى هذا العيب modulo bias (التحيز المعياري)، وهو قابل للقياس وليس مجرد نظرية. بدلاً من ذلك، تتخلص هذه الأداة من أي قيمة تتجاوز أكبر مضاعف دقيق لطول القائمة وتقوم بالسحب مرة أخرى — وهي تقنية تُعرف باسم rejection sampling (أخذ العينات بالرفض). تكلف هذه الطريقة بضع سحوبات إضافية لكنها تضمن نتيجة دقيقة بدلاً من نتيجة تقريبية. لا يغير الموقع في القائمة شيئاً: يتمتع الإدخال الأول والأخير بنفس احتمالية الظهور في كل سحب.

يفصل مفتاح «بدون تكرار» بين نوعين مختلفين تماماً من السحب، ولدى علم الإحصاء اسم لكل منهما. عندما يكون المفتاح قيد التشغيل، تقوم الأداة بخلط نسخة من قائمتك باستخدام خوارزمية Fisher-Yates وتأخذ الإدخالات من الأعلى — وهو نفس مبدأ سحب تذاكر من قبعة دون إعادتها، لذا لا يتم اختيار أي شخص مرتين، وتكون كل مجموعة بهذا الحجم متساوية الاحتمال. هذا هو أخذ العينات بدون إرجاع (sampling without replacement)، وهو ما تحتاجه لتحديد الفائزين بالجوائز، والفرق، وترتيب الأدوار. أما عندما يكون المفتاح متوقفاً، يتم إجراء كل اختيار بشكل مستقل من القائمة بأكملها، لذا يمكن أن يظهر نفس العنصر أكثر من مرة — أخذ العينات مع الإرجاع (sampling with replacement)، وهو ما تحتاجه عندما يبقى الجميع مؤهلين في كل جولة، كما هو الحال في السحوبات المتكررة أو العينة الإحصائية السريعة. لا يُعد أي من الوضعين أكثر إنصافاً من الآخر؛ فهما يجيبان على أسئلة مختلفة.

من غير المفترض إطلاقاً أن يبدو السحب العادل عادلاً. اسحب خمسة أسماء من أصل عشرة، وسترى بانتظام اختيارين كانا متجاورين في القائمة الأصلية، أو سترى نفس الاسم مرتين متتاليتين بمجرد السماح بالتكرار، وكل حالة من هذه الحالات تعتبر طبيعية جداً. كل سحب هو عملية مستقلة: لا يوجد أي تأثير للسحوبات السابقة على السحوبات اللاحقة، ولا يصبح أي شخص «مستحقاً» للفوز لأن دوره قد حان. إن الغريزة التي تصر على عكس ذلك هي مغالطة المقامر (gambler's fallacy)، وهي نفس الغريزة التي تجعلنا ضعفاء في الاختيار العشوائي بأنفسنا — فعندما يُطلب منا الاختيار بشكل عشوائي، نتجنب الإدخال الأول والأخير، ونتجنب تكرار الاسم، ونوزع خياراتنا بشكل متساوٍ أكثر بكثير مما تفعله الصدفة على الإطلاق. النتيجة المرتبة بشكل مثير للشك هي بصمة إنسان؛ العشوائية الحقيقية تنتج تكتلات.

لماذا تختار أداة الاختيار العشوائي هذه؟

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

هناك بعض الحدود الصريحة التي تستحق المعرفة لهذه الأداة. لا يمكن لأداة الاختيار أن تسحب إدخالات فريدة أكثر مما تحتويه قائمتك — يتطلب ثلاثة فائزين وجود ثلاثة أسماء على الأقل — وتتوقف عند 1000 عنصر، يتألف كل منها من 200 حرف كحد أقصى، مع إمكانية إجراء حتى 100 اختيار في سحب واحد. تعمل وظيفتا «خلط» و «فرز» سطراً بسطر، لذا لا يُعاد ترتيب القائمة المفصولة بفواصل والتي تم لصقها في سطر واحد إلا بعد أن يصبح كل عنصر في سطر مستقل؛ وتقوم كلتاهما بإعادة ترتيب المربع بدلاً من تغيير السحب، والذي يكون عادلاً بنفس القدر بغض النظر عن ترتيب الإدخالات. كما يحمل كل إدخال نفس الوزن بالضبط عن قصد، لذا فإن السحب الذي يجب أن يُحسب فيه اسم واحد كاسمين يتطلب إدراج ذلك الاسم في القائمة مرتين. ضمن هذه الحدود، يكون الضمان قوياً — يمتلك كل إدخال في قائمتك نفس الفرصة تماماً، في كل سحب على حدة.

FAQ

كيف يمكنني اختيار اسم عشوائياً من قائمة؟

الصق الأسماء في مربع «العناصر» — اسماً واحداً في كل سطر، أو مفصولة بفواصل أو مسافات — واترك حقل «العدد» على 1 واضغط على «توليد». سيتم سحب اسم واحد على الفور. لسحب عدة أسماء في وقت واحد، قم بزيادة حقل «العدد» إلى الرقم الذي تحتاجه.

هل الاختيار عادل حقاً؟

نعم. يستخدم كل اختيار واجهة Web Crypto API (crypto.getRandomValues) في متصفحك جنباً إلى جنب مع rejection sampling، مما يزيل التحيز المعياري الذي قد تقدمه التطبيقات الساذجة. يمتلك كل إدخال نفس الاحتمالية بالضبط بغض النظر عن موقعه في القائمة، ويستخدم سحب عدة إدخالات مميزة خلط Fisher-Yates، لذا فإن كل مجموعة من هذا الحجم تكون متساوية الاحتمال أيضاً.

هل يتم رفع قائمتي إلى خادمكم؟

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

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

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

ماذا يفعل مفتاح «بدون تكرار»؟

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

لماذا يبدو مفتاح «بدون تكرار» وخيار «تنسيق الإخراج» غير مفعلين؟

لأنهما ينطبقان فقط عند سحب أكثر من إدخال واحد، وكما تشير رسالة التلميح بجانبهما: «ينطبق فقط عندما يكون العدد أكبر من 1.» قم بزيادة حقل «العدد» إلى 2 أو أكثر وسيصبح كلاهما متاحاً؛ فعند سحب عنصر واحد، لا يوجد شيء لتكراره ولا شيء لفصله.

ما فائدة خيار «تنسيق الإخراج»؟

يحدد هذا الخيار كيفية عرض ونسخ عدة اختيارات: «كل عنصر في سطر جديد»، أو «مفصول بمسافات» للحصول على رسالة دردشة سريعة، أو «مفصول بفواصل» للصقها في جدول بيانات أو سكريبت. ويصبح هذا الخيار متاحاً بمجرد أن يكون حقل «العدد» 2 أو أكثر.

ماذا يفعل زرا «خلط» و «فرز»؟

يقوم زر «خلط» بإعادة ترتيب الإدخالات داخل مربع «العناصر»، بينما يقوم زر «فرز» بترتيبها أبجدياً مع ترتيب الأرقام بشكل طبيعي — ويؤدي النقر على الفرز مرة أخرى إلى عكس الترتيب. كلاهما يغير طريقة كتابة قائمتك، وليس طريقة عمل السحب: تظل أداة الاختيار عادلة بنفس القدر بغض النظر عن ترتيب الإدخالات.

كم عدد العناصر التي يمكن أن تحتويها القائمة، وكم عنصراً يمكنني سحبه في المرة الواحدة؟

تستوعب القائمة من 2 إلى 1000 إدخال، بحيث يتألف كل منها من 200 حرف كحد أقصى، ويرجع السحب الواحد ما يصل إلى 100 اختيار. يتم تجاهل الأسطر الفارغة والمسافات المحيطة، لذا تعمل القائمة المنسوخة من جدول بيانات أو مستند كما هي تماماً.

هل الأداة مناسبة لسحب الفائزين بالهدايا والمسابقات؟

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

هل يمكنني استخدامه لتقسيم الأشخاص إلى فرق؟

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

لماذا ظهر نفس الاسم مرتين متتاليتين؟

لأن السحوبات المستقلة تكرر نفسها، وهذا هو شكل العشوائية الحقيقية. يتجاهل كل سحب كافة السحوبات التي سبقته، لذا في قائمة مكونة من عشرة أسماء، يكون لظهور نفس الاسم مرتين متتاليتين فرصة 1 من 10 في كل مرة — وهو أمر شائع، وليس خللاً. قم بتشغيل خيار «بدون تكرار» إذا كنت بحاجة إلى أن يكون كل اختيار داخل سحب واحد مختلفاً عن الآخر.

هل تحتفظ أداة الاختيار باختياراتي، وهل هي مجانية؟

يحتفظ «السجل» بآخر 10 سحوبات في متصفحك الخاص، لذا يمكنك استعادة نتيجة سابقة أو نسخها أو حذفها، كما يمكنك مسح السجل بالكامل متى شئت. الأداة مجانية بالكامل دون الحاجة إلى تسجيل، ولأنه لا يتم نقل أي بيانات، فلن نتمكن من رؤية أو تخزين اختياراتك حتى لو أردنا ذلك.