مولّد الأرقام العشوائية ينتج أرقاماً لا يمكن التنبؤ بها — لا يوجد نمط تستطيع استغلاله لتخمين الرقم التالي. تُستخدم الأرقام العشوائية في الألعاب واليانصيب، وخلط قوائم التشغيل، واختيار الفائزين في المسابقات، ومحاكاة النرد وأوراق اللعب، وأخذ العينات في الإحصاء والعلوم. وتولّد هذه الأداة أعداداً صحيحة عشوائية ضمن أي نطاق تختاره، مثل رقم بين 1 و100.
تأتي العشوائية الحقيقية من عمليات فيزيائية — كالضجيج الجوي أو الاضمحلال الإشعاعي أو توقيت ضغطات المفاتيح. ولا تستطيع صفحة الويب الوصول إلى تلك المصادر بسهولة، لذا تستخدم الحاسبات مثل هذه مولّد أرقام شبه عشوائية (PRNG): خوارزمية حتمية يكون ناتجها عشوائياً في الظاهر فقط.
يبدأ المولّد شبه العشوائي من بذرة — رقم ابتدائي يُؤخذ غالباً من الوقت الحالي بالمللي ثانية. ثم يطبّق صيغة رياضية مراراً وتكراراً، بحيث يصبح كل ناتج مدخلاً للخطوة التالية. ولأن الصيغة تخلط الأرقام بدقة (فالمولدات الحديثة مثل xorshift وMersenne Twister مصممة لهذا الغرض تحديداً)، فإن المتسلسلة تجتاز الاختبارات الإحصائية للعشوائية: كل قيمة تظهر بتكرار متساوٍ تقريباً ولا يوجد نمط يمكن كشفه.
الناتج الخام رقم ضخم، لذا يحوّله المولّد إلى النطاق الذي اخترته. والطريقة المعتادة هي عملية باقي القسمة (modulo): للحصول على رقم بين 1 وN تُستخدم صيغة من قبيل raw mod N + 1 مع تحجيم مناسب. وعند تنفيذها صحيحاً، يكون لكل عدد صحيح في نطاقك الاحتمال نفسه: ففي النطاق 1–100 لكل رقم احتمال 1% بالضبط.
المولّد الجيد منتظم: فعلى مدى سحوبات كثيرة، تظهر كل قيمة ممكنة بتكرار متساوٍ تقريباً. وهذا ما يجعله عادلاً لرميات النرد والسحوبات وأخذ العينات. وهذا لا يعني أن الأرقام تبدو "موزعة بانتظام" في سلسلة قصيرة — فالعشوائية الحقيقية تنتج تتابعات وتكرارات، ومتسلسلة مثل 7، 7، 7 صالحة تماماً كأي متسلسلة أخرى.
تحتاج إلى فائز في سحب من 250 مشاركاً مرقّمين من 1 إلى 250:
يستخدم مولد الأرقام شبه العشوائية في متصفحك — كافٍ للألعاب والسحب.
هذه الأداة للأعداد الصحيحة؛ ضع 0 و1 مع عدد 1 لمحاكاة رمي العملة.