ج. بهمن ۴ام, ۱۳۹۸

تصادفی ترین عدد دنیا چگونه ساخته می شود؟

Confused young businessman looking at the labyrinth on the wall

واقعیت دور و بر ما و جهان هستی با قوانین و قوانین تصادفی درآمیخته ان و به خاطر همین محققان همیشه در تلاش هستن تا از این ویژگی طبیعی، یعنی تصادفی یا غیر قابل پیش بینی بودن، به عنوان ابزاری کاربردی در زندگی روزمره واسه تولید عدد تصادفی استفاده کنن.

تولید عدد تصادفی به ابزاری به نام «تولید کننده» یا تولید کننده نیاز داره که به روش فیزیکی یا محاسباتی این اعداد رو تولید می کنن. خروجی این وسیله ها در بخشای جور واجور از جمله مثل سازی رایانه ای (مثلاً مثل سازی مفاهیم طبیعی)، نمونه ورداری (تولید نمونه تصادفی واسه توصیف حالت کلی سیستم)، بررسی عددی (ایجاد روشای جدید واسه حل مسائل پیچیده)، برنامه نویسی و هم اینکه تصمیم گیریای احتمالی استفاده می شن.

عدد تصادفی چیه؟

عدد تصادفی عددیه که به شکل متوالی با دو شرط زیر رخ میدن:

  1. مقادیر اونا به شکل یکنواخت روی بازه یا مجموعه مشخصی پخش شده باشن
  2. پیش بینی مقادیر بعدی براساس مقادیر قبل یا الان ناممکن باشه

عادی ترین مجموعه واسه تولید عدد تصادفی، مجموعه ارقام صفر تا نُه س. البته روند تولید به این سادگیا هم نیس. آسونترین روش، انتخاب تصادفی از بین این ارقامه (مثلاً با به کار گیری یه گردونه شامل توپای معرف رقمای فوق که در قرعه کشیا استفاده زیادی داره).

متخصصین آمار، ریاضیدانا و محققان علوم دیگه، سال هاست که به دنبال روش یا منبعی ایده آل و بدون مشکل واسه تولید عدد تصادفی هستن، ولی توفیق چندانی به دست نیاورده ان. مسئله اینه که هر الگوریتمی واسه تولید عدد تصادفی با تعریف این اعداد در تناقضه، چون اعداد بعدی براساس اعداد الان و قبلی به دست میان.

راه حل محققان NIST واسه تولید عدد تصادفی

معنی عدد تصادفی رابطه تنگاتنگی با مباحث رمزنگاری و امنیت آنلاین داره، ولی سؤال اینجاس که میشه به چیزی واقعاً تصادفی رسید؟ الگوریتمای کامپیوتری زیادی هستن که با تلاش فراوون عدد تصادفی تولید می کنن، اما بعضی وقتا میشه به سازوکار اونا فهمید و خروجی ً تصادفی رو دوباره تولید کرد، ضمن اینکه بعضی از اونا به یه مقدار ورودی غیر تصادفی نیاز دارن.

پریشونی مکانیک کوانتوم بهترین نمونه تصادفی رو در اختیار محققان میذاره

رخدادهای تصادفی زیادی در جهان واقعی دیده می شن که میشه از اونا بهره جست، مثلاً توپای مورد استفاده در قرعه کشی بلیتای بخت آزمایی. با این حال اگه واقعاً قوانین فیزیک رو درک کنین، شاید بتونین رفتار توپای درون گردونه رو هم پیش بینی کنین. حالا محققان مؤسسه ملی فناوری و استانداردها (NIST) در آمریکا می خوان از پریشونی مکانیک کوانتوم استفاده کرده و چیزی به طور کاملً تصادفی رو بوجود بیارن.

پیتر بیرهورست از مؤسسه NIST در این رابطه میگه:

میتونم اطمینان بدهم که این آزمایش تصادفیه، البته تا وقتی که سفر با سرعت بیشتر از نور رو باور نداشته باشین.

وقتی صحبت از تصادفی بودن می کنیم، منظورمون غیر قابل پیش بینی بودنه، یعنی حتی اگه فردی روش تولید عدد تصادفی شما رو بدونه و الگوریتم مربوط به اونو هم خوب بشناسه، بازم نتونه خروجی رو پیش بینی کنه. اینجاس که پای مکانیک کوانتوم به میان میاد، چون حتی مهم ترین فیزیکدانا هم این شاخه از علم فیزیک رو با صفت «غیر قابل پیش بینی» می شناسن.

فرض اصلی و اساسی در فیزیک کوانتوم اینه که کوچیک ترین ذرات موجود در جهان هستی دارای یه سری ویژگیای ذاتی هستن، اما هیچ وقت نمیشه با اطمینان در مورد مقدار این ویژگی در زمان خلق یا اندازه گیری اونا صحبت کرد. در واقع اگه بتونین چیزی رو بوجود بیارین که فقط دو حالت ذاتی داشته باشه، از اول نمی دونین که کدوم یکی از دو حالت رو به دست میارید، مگه اینکه به اندازه گیری اون دست به کار شین.

دو ذره در هم تنیده فقط در مورد همدیگه معنی پیدا می کنن

البته همیشه این احتمال هست که دستگاه مورد استفاده شما واسه تولید یا اندازه گیری ذرات، سطحی از پیش بینی پذیری رو در نتیجه آزمایش وارد کنن. به خاطر همین تیم مورد بحث از مؤسسه NIST یکی از مفاهیم کاربردی فیزیک کوانتوم به نام «در هم پیچیدگی کوانتومی» (Quantum Entanglement) رو به خدمت گرفتن.وقتی که دو ذره نور تو یه لحظه و به شکل همزمان تولید شن و با همدیگه بر هم عمل داشته باشن، به اونا «در هم تنیده» میگه و طبق اصول مکانیک کوانتومی، شما نمی تونین یکی رو بدون دیگری درک کنین. یعنی همیشه ارتباطی بین این دو ذره هست.

شاید در نگاه اول کل این ماجرا خیلی تصادفی و غیر قابل پیش بینی به نظر نرسه، اما در واقعیت با این روش میشه تصادفی بودن ذاتی فیزیک کوانتوم رو اندازه گیری کرد. پس تا وقتی که ذرات نور تولید شده دارای ویژگی درهم پیچیدگی کوانتومی باشن، می تونین از روند اندازه گیری به عنوان یه روش واسه تولید عدد تصادفی کوانتومی استفاده کنین.

روش تولید عدد تصادفی کوانتومی

این روش خیلی هم ساده نیس. در آزمایش انجام شده به وسیله مؤسسه NIST از کابلای L شکل فیبر نوری استفاده شده که طول هر یال اونا به ۱۳۰ متر می رسه. در محل تقاطع دو یال (تقاطع L) یه جفت ذره نور با حالت در هم تنیده تولید می شه. واسه تولید این ذرات نور، پرتو لیزر رو از بین یه کریستال خاص عبور میدن که قطبش خاص رو در اونا بوجود میاره.

در این روش باید فرض کنیم که هیچ چیزی با سرعت بیشتر از نور حرکت نمی کنه

پس از تولید ذرات نور، هرکدوم از اونا به یه سمت تقاطع فرستاده می شن که در انتهای اون یه آشکارساز قرار گرفته. البته اینجا باید فرض کنین که هیچ چیزی با سرعت بیشتر از نور حرکت نمی کنه. فیزیکدانا باید مطمئن باشن که ذرات تصادفی و اتحاد بین جفت ذرات، فقطً نتیجه تصادفی از روند امتحان کوانتومی هستن و کسی اطلاعات دیگری رو با سرعت بیشتر از نور بین اونا ارسال نمی کنه. پس با فرض اینکه هیچ چیزی سرعت بیشتر از نور نداره، مشکلی هم وجود نداره.

بعد از این مرحله به پردازش سنگینی نیاز داریم. استفانو پیرونیو از دانشگاه آزاد بروکسل بلژیک در مورد این آزمایش (که تازگیا در مقاله ای در نشریه نیچر به چاپ رسیده) میگه:

این [تولید کننده عدد تصادفی] دقیق ترین و ایمن ترین روش واسه تولید عدد تصادفیه که تا به امروز ساخته شده، اما هم از نظر ابعاد بسیار بزرگه و هم واسه تولید تعداد محدودی رقم تصادفی به کار و فعالیت زیادی نیاز داره.

تولید عدد تصادفی در این روش به شناسایی فوتونای در هم تنیده از راه آزمایش کوانتومی نیاز داره. در واقع واسه تولید ۱۰۲۴ رقم باینری تصادفی از حدود ۵۵ میلیون فوتون استفاده می شه و روند آزمایش حدود ۱۰ دقیقه طول می شد. همونجوریکه میدونید کامپیوترها اطلاعات به دست اومده رو به جای مبنای ۱۰ به صورت کُد باینری ذخیره می کنن، پس ۱۰۲۴ رقم باینری تصادفی می تونه از یک تا ۲ به توان ۱۰۲۴ رو در بر بگیره (یعنی یه کیلوبیت).

به گفته بیرهورست، با ساده تر شدن این روش، مثلاً از راه کاهش اندازه و سرعت عمل، میشه کاربرده های زیادی واسه اون در روند تولید عدد تصادفی پیدا کرد. مثلاً NIST از ترکیب تولید کننده عدد تصادفی کوانتومی رو با بیکن عدد تصادفی سخن میگه (نسخه اولیه بیکن تصادفی NIST در هر ۶۰ ثانیه یه رشته بیت تصادفی رو در بلوکای ۵۱۲ بیتی تولید می کنه و بلوکا به شکل زنجیر وار به همدیگه وصل هستن.)

به هر حال تولید عدد تصادفی واقعی هیچ وقت ساده نبوده و در دنیای کامپیوتر به یکی از آرزوهای دست نیافتنی بدل شده. حالا شاید این روش پر هزینه و سخت بتونه به این رؤیای دیرین جامه عمل بپوشونه.