مولّد الأعداد العشوائية

اسحب أعدادًا أو ارمِ نردًا أو اختر أسماء من قائمة بالمولّد المعمّى في متصفّحك، بلا انحياز الباقي.

تتم المعالجة على جهازك — بلا رفع

termiva random --range 1-100
ماذا تولّد

كل قيمة تأتي من crypto.getRandomValues, المولّد نفسه الذي يستعمله متصفّحك لمفاتيح التعمية — لا Math.random, وهو قابل للتنبّؤ بما يكفي لألّا يقرّر شيئًا يهمّ أبدًا. والقيم خارج مضاعف كامل للمدى تُرفض ويُعاد سحبها، فلا يكون عدد أرجح من آخر ولو قليلًا.

مرسوم 0المصدر crypto.getRandomValuesالانحياز لا شيء — بأخذ العيّنات بالرفضلا شيء مرفوع

كيف تولّد عددًا عشوائيًا

  1. اختر الأعداد أو النرد أو العملات أو قائمة.
  2. اضبط المدى.
  3. اسحب.

كيف يعمل

كل قيمة هنا تأتي من crypto.getRandomValues، وهو المولّد الذي يستعمله متصفّحك لإنتاج مفاتيح التعمية. ويبذره نظام التشغيل من مصادر غير قابلة للتنبّؤ فعلًا، ولا يمكن إعادة إنتاج مخرجاته، ولا حتى لمن يعرف كل قيمة سبقت.

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

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

وهذه الصفحة تستعمل أخذ العيّنات بالرفض بدلًا من ذلك: فأي قيمة تقع خارج مضاعف كامل للمدى تُرفض وتُسحب أخرى. ويستغرق ذلك وقتًا أطول قليلًا وكل نتيجة تصير متساوية الاحتمال بالضبط.

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

مثال عملي

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

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

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

عشرة آلاف قلبة عملة. اطلبها فيعود العدد قريبًا من خمسة آلاف لكل وجه — لكن ليس بالضبط، والفجوة أكبر عادةً ممّا يتوقّع الناس. وهذا ما تبدو عليه العشوائية الحقيقية، وهو برهان نافع لمن يظنّ أن عملة عادلة ينبغي أن تحطّ قرب 50/50 في تجربة قصيرة.

وإن كان ما تحتاجه فعلًا سرًّا لا عددًا، فإن مولّد كلمات المرور يستعمل المصدر نفسه بأبجدية بدل مدى، ومولّد UUID ينتج معرّفات.

أسئلة

هل هذا عشوائي فعلًا؟

يستعمل المولّد المعمّى في متصفّحك، مبذورًا من نظام التشغيل من مصادر فيزيائية غير قابلة للتنبّؤ. وهو المولّد نفسه المستعمل لإنشاء مفاتيح التعمية.

ما انحياز الباقي؟

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

هل أستعمله لقرعة جوائز حقيقية؟

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

هل تُخزَّن النتيجة أو تُسجَّل؟

لا. لا شيء يُنقل ولا شيء يُحفظ. أعد تحميل الصفحة فتذهب القرعة، فانسخ النتيجة قبل أن تغادر.

هل أعيد إنتاج قرعة ببذرة؟

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

كم عددًا أسحب دفعة واحدة؟

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

لماذا ليست نتيجة قلب العملة نصفها صورةً بالضبط؟

لأنها عشوائية فعلًا. فالتجارب القصيرة تحيد حيادًا ملحوظًا؛ والنسبة لا تتقارب إلا على أعداد قلبات ضخمة جدًّا.

هل يعمل دون اتصال؟

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

هل مولّد الأعداد العشوائية مجاني على الإنترنت؟

نعم — مجاني، بلا حساب، وبلا حد يومي، وبلا علامة مائية. يعمل في متصفّحك عبر الإنترنت، ولأن المعالجة تجري على جهازك فإنه يستمر في العمل دون اتصال بعد تحميل الصفحة.

للقراءة