طول غیرقابلمحاسبه کوتاهترین برنامه: چرا پیچیدگی کولموگوروف ثابت میکند تصادف واقعی از پیچیدگی محض غیرقابل تشخیص است
نظریه اطلاعات الگوریتمی نشان میدهد که کوتاهترین کد لازم برای تولید یک دنباله، قابل محاسبه نیست. در نتیجه، ریاضیات هرگز نمیتواند بهطور قطعی ثابت کند که آیا یک مجموعه داده واقعاً تصادفی است یا صرفاً خروجی یک قانون پنهان و بهشدت پیچیده است.
به قلم بابک ناصری
این خبر را به اشتراک بگذارید
- نظریهپردازان اطلاعات الگوریتمی
- استدلال میکنند که تصادف با فشردهناپذیری تعریف میشود و از آنجا که کوتاهترین برنامه غیرقابل محاسبه است، تصادف واقعی هرگز از نظر ریاضی قابل اثبات نیست.
- رمزنگاران کاربردی
- بر آزمونهای اکتشافی تجربی تمرکز دارند و استدلال میکنند که اگرچه تصادف واقعی غیرقابل اثبات است، اما غیرقابل پیشبینی بودن آماری برای ارتباطات امن کفایت میکند.
- فیزیکدانان کوانتوم
- معتقدند که فرآیندهای فیزیکی کوانتومی، تصادف هستیشناختی تولید میکنند که از محدودیتهای نظری الگوریتمهای قطعی فراتر میرود.
دیدگاههایی که این گزارش پوشش نداده
- مهندسان سختافزاری که تولیدکنندههای فیزیکی اعداد تصادفی را طراحی میکنند
چرا مهم است
تمام ارتباطات امن روی کره زمین به تولیدکنندههای اعداد تصادفی وابستهاند، با این حال نظریه اطلاعات الگوریتمی ثابت میکند که ما هرگز نمیتوانیم از نظر ریاضی تضمین کنیم یک دنباله واقعاً تصادفی است؛ ما تنها میتوانیم بگوییم که هنوز الگوی آن را پیدا نکردهایم.
در سال ۱۹۶۵، در لابهلای صفحات نشریه شوروی «مسائل انتقال اطلاعات»، ریاضیدانی به نام آندری کولموگوروف مقالهای منتشر کرد که توانایی ما در تعریف بینظمی را از اساس در هم شکست. این سند ۱۱ صفحهای، پر از ریاضیات پیچیده با الفبای سیریلیک و تحت عنوان «سه رویکرد به تعریف کمی اطلاعات»، معیار سادهای را پیشنهاد داد که علوم کامپیوتر را برای همیشه تغییر داد. استدلال کولموگوروف این بود: پیچیدگی واقعی هر رشته از دادهها، دقیقاً برابر با طول کوتاهترین برنامه کامپیوتری است که میتواند آن را بازتولید کند.[2]
این استدلال سرراست است، اما درک ما از مفهوم تصادف را ویران میکند. رشتهای متشکل از یک میلیون عدد یک را در نظر بگیرید. برنامهای که برای تولید آن نیاز است بسیار کوچک است: یک حلقه ساده که به کامپیوتر دستور میدهد عدد «۱» را یک میلیون بار چاپ کند. از آنجا که این خروجی میتواند در مجموعهای از دستورالعملها بسیار کوچکتر از خود خروجی فشرده شود، این رشته بهشدت فشردهپذیر است و در نتیجه «پیچیدگی کولموگوروف» پایینی دارد.
حالا رشتهای از یک میلیون پرتاب سکه را در نظر بگیرید. هیچ میانبر ریاضی برای توصیف آن وجود ندارد. کوتاهترین برنامه ممکن برای تولید آن دنباله خاص، صرفاً یک دستور چاپ است که کل آن رشته یک میلیون کاراکتری را در بر میگیرد. این همان تعریف رسمی تصادف الگوریتمی واقعی شد: یک دنباله زمانی تصادفی است که غیرقابل فشردهسازی باشد، به این معنی که نتوان آن را با برنامهای کوتاهتر از خود دنباله تولید کرد.[3]
اما نکته ظریف و آشکار ماجرا اینجاست؛ همان دلیلی که این نظریه، رمزنگاری و فلسفه را توأمان به چالش میکشد: شما هرگز نمیتوانید بدانید که آیا واقعاً کوتاهترین برنامه را پیدا کردهاید یا خیر. فرض کنید یک فایل یک گیگابایتی از نویزهای ظاهراً تصادفی به شما داده میشود. شما تمام الگوریتمهای فشردهسازی شناختهشده را روی آن اجرا میکنید و هیچکدام حتی یک بایت از حجم آن کم نمیکنند. آیا این فایل تصادفی است؟[1]
ممکن است منطقاً نتیجه بگیرید که بله، تصادفی است. اما چه میشود اگر این فایل در واقع یک میلیارد رقم اول عدد پی باشد؟ برنامهای که برای تولید عدد پی نیاز است تنها چند خط کد است. آنچه به چشم انسان و الگوریتمهای استاندارد شبیه به تصادف مطلق به نظر میرسد، در واقع پیچیدگی محض و قطعی است. الگو صرفاً پشت یک عملیات ریاضی پنهان شده که شما به فکر بررسی آن نیفتادهاید.[1]
کولموگوروف، در کنار پژوهشگران مستقلی چون ری سولومونوف در سال ۱۹۶۰ و گریگوری چایتین در سال ۱۹۶۶، ثابت کردند که محاسبه حداقل طول مطلق برنامه برای یک رشته دلخواه از نظر ریاضی غیرممکن است. همانطور که دایرةالمعارف فلسفه استنفورد اشاره میکند، تعریف «طول کوتاهترین برنامه کامپیوتری که رشته را چاپ میکند و سپس متوقف میشود» پارادوکسی ایجاد میکند که با هیچ الگوریتمی قابل حل نیست.[3][4]
این محاسبهناپذیری، وارث مستقیم «مسئله توقف» آلن تورینگ در سال ۱۹۳۶ است. اگر یک الگوریتم مرجع وجود داشت که میتوانست کوتاهترین برنامه مطلق را برای هر دادهای پیدا کند، باید بهطور قطعی حل میکرد که آیا هر برنامه کوتاهتر ممکن، در نهایت متوقف شده و خروجی میدهد، یا تا ابد در یک حلقه بینهایت گرفتار میشود. از آنجا که تورینگ ثابت کرد مسئله توقف هیچ راهحل عمومی ندارد، پیچیدگی کولموگوروف نیز دقیقاً همان محدودیت سخت را به ارث میبرد.
این محاسبهناپذیری، وارث مستقیم «مسئله توقف» آلن تورینگ در سال ۱۹۳۶ است.
این صرفاً یک کنجکاوی نظری برای ریاضیدانان نیست؛ بلکه مشکل بنیادین امنیت سایبری مدرن است. مؤسسه ملی استاندارد و فناوری آمریکا (NIST) نشریه ویژه 800-22 را منتشر میکند؛ یک مجموعه ۱۳۱ صفحهای از آزمونهای آماری که در سطح جهانی برای تأیید تولیدکنندههای اعداد تصادفی در رمزنگاریهای نظامی، بانکی و وب استفاده میشود.
مجموعه NIST شامل ۱۵ آزمون تجربی مجزا روی یک دنباله از اعداد است که عدم تعادل فرکانس، الگوهای بلوکی و پیچیدگی خطی را بررسی میکند. اگر یک دنباله از این ۱۵ آزمون با موفقیت عبور کند، برای کاربردهای امنیتی «بهاندازه کافی تصادفی» تأیید میشود. با این حال، خود این سند به این شکاف معرفتشناختی اذعان دارد و خاطرنشان میکند که «دنبالهای که توسط یک تولیدکننده اعداد شبهتصادفی (PRNG) تولید میشود واقعاً تصادفی نیست، اما میتواند طوری طراحی شود که تصادفی به نظر برسد.»
همانطور که نظریه اطلاعات الگوریتمی تأکید میکند، عبور از آزمونهای NIST تنها ثابت میکند که دنباله فاقد الگوهای ساده و شناختهشده است. این آزمونها نمیتوانند عدم وجود یک الگوی بهشدت پیچیده را ثابت کنند. یک تولیدکننده اعداد شبهتصادفی (PRNG)، بنا به تعریف، برنامه کوتاهی است که دنباله بلندی تولید میکند. بنابراین، خروجی آن دارای پیچیدگی کولموگوروف پایینی است و کاملاً غیرتصادفی است، حتی اگر بهراحتی از تمام ۱۵ بررسی آماری NIST عبور کند.[1]
قویترین استدلال متقابل در برابر این بدبینی الگوریتمی از سوی مکانیک کوانتومی مطرح میشود. تولیدکنندههای سختافزاری اعداد تصادفی، پدیدههای کوانتومی فیزیکی - مانند واپاشی هستهای یا نویز فاز یک لیزر - را اندازهگیری میکنند که فیزیکدانان استدلال میکنند از نظر هستیشناختی تصادفی هستند، نه صرفاً از نظر الگوریتمی پیچیده. در این دیدگاه، خود جهان هستی تصادف واقعی را فراهم میکند که از محدودیتهای ماشینهای تورینگ فراتر میرود.[1]
با این حال، حتی اگر جهان هستی تصادف فیزیکی واقعی تولید کند، لحظهای که آن دادهها دیجیتالی شده و بهعنوان یک دنباله باینری روی یک هارد دیسک ثبت میشوند، محدودیت کولموگوروف بر خروجی اعمال میشود. ما میتوانیم سختافزار را آزمایش کنیم تا مطمئن شویم درست کار میکند، اما نمیتوانیم از نظر ریاضی ثابت کنیم که رشته صفر و یکهای بهدستآمده، در خفا قابل فشردهسازی نیست.[1]
این امر، علوم کامپیوتر را با یک مرز معرفتشناختی عمیق مواجه میکند. ما میتوانیم با یافتن موفقیتآمیز قانونی که یک دنباله را تولید میکند، ثابت کنیم که آن دنباله قابل پیشبینی است. اما هرگز نمیتوانیم ثابت کنیم یک دنباله تصادفی است، زیرا فقدان شواهد برای یک الگو، دلیل بر عدم وجود آن الگو نیست. کوتاهترین برنامه برای همیشه غیرقابل محاسبه باقی میماند.[1][2]
بررسی عمیق دیدگاهها
محدودیت ریاضی
نظریهپردازان اطلاعات الگوریتمی استدلال میکنند که تصادف واقعی به دلیل محدودیتهای محاسباتی اساساً غیرقابل اثبات است.
از منظر ریاضیات محض و نظریه اطلاعات الگوریتمی، بحث بر سر تصادف با مفهوم محاسبهناپذیری فیصله مییابد. از آنجا که یافتن کوتاهترین برنامه نیازمند حل «مسئله توقف» است، هر تلاشی برای اثبات قطعی تصادفی بودن یک دنباله از نظر ریاضی محکوم به شکست است. نظریهپردازان این اردوگاه، تمام آزمونهای تجربی را روشهای اکتشافی اساساً ناقصی میدانند. آنها استدلال میکنند که دنبالهای که از هر آزمون آماری اختراعشده تا به امروز با موفقیت عبور میکند، ممکن است همچنان توسط یک الگوریتم بهشدت پیچیده اما کوتاهتر تولید شده باشد که انسانها هنوز آن را کشف نکردهاند. در این دیدگاه، تصادف یک ویژگی فیزیکی نیست، بلکه معیاری از جهل ما نسبت به قوانین زیربنایی یک سیستم است.
عملگرایان رمزنگاری
رمزنگاران کاربردی برای ایمنسازی ارتباطات، به جای فشردهناپذیری نظری، بر غیرقابل پیشبینی بودن آماری تمرکز میکنند.
برای مهندسان و رمزنگارانی که وظیفه تأمین امنیت ارتباطات بانکی و نظامی جهانی را بر عهده دارند، محاسبهناپذیری نظری پیچیدگی کولموگوروف یک انتزاع آکادمیک است. سازمانهایی مانند NIST برای اطمینان از اینکه تولیدکنندههای اعداد شبهتصادفی (PRNG) دنبالههایی تولید میکنند که در عمل غیرقابل پیشبینی هستند، به آزمایشهای آماری و تجربی متکیاند. این اردوگاه استدلال میکند که اگرچه خروجی یک PRNG از نظر فنی بهشدت قابل فشردهسازی است (و بنابراین طبق تعریف کولموگوروف واقعاً تصادفی نیست)، اما تا زمانی که دنباله فاقد هرگونه الگوی قابل تشخیص آماری باشد، برای مقاومت در برابر حملات جستجوی فراگیر (brute-force) به اندازه کافی امن است. آنها این شکاف معرفتشناختی را میپذیرند و عبارت «از نظر آماری غیرقابل تشخیص از تصادف» را جایگزین «تصادف واقعی» میکنند.
نکات کلیدی
- پیچیدگی کولموگوروف، پیچیدگی یک مجموعه داده را به عنوان طول کوتاهترین برنامه کامپیوتری که میتواند آن را تولید کند، تعریف میکند.
- یک دنباله در صورتی از نظر الگوریتمی تصادفی در نظر گرفته میشود که غیرقابل فشردهسازی باشد، به این معنی که کوتاهترین برنامه، صرفاً خود همان دنباله است.
- به دلیل «مسئله توقف» آلن تورینگ، محاسبه کوتاهترین برنامه مطلق برای هر دادهای از نظر ریاضی غیرممکن است.
- استانداردهای رمزنگاری مدرن برای تأیید تصادفی بودن به آزمونهای آماری متکی هستند، اما این آزمونها تنها میتوانند ثابت کنند که یک دنباله فاقد الگوهای ساده است.
- اثبات ریاضی این موضوع که هر مجموعه دادهای واقعاً تصادفی است، غیرممکن است؛ ما تنها میتوانیم ثابت کنیم که هنوز الگوی آن را پیدا نکردهایم.
منابع
[1]تیم سردبیری کوهستانفیزیکدانان کوانتومتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
[2]Problems of Information Transmissionنظریهپردازان اطلاعات الگوریتمیThree approaches to the quantitative definition of information
مطالعه در Problems of Information Transmission →
[3]Journal of the ACMنظریهپردازان اطلاعات الگوریتمیOn the Length of Programs for Computing Finite Binary Sequences
مطالعه در Journal of the ACM →
[4]Information and Controlنظریهپردازان اطلاعات الگوریتمیA preliminary report on a general theory of inductive inference
مطالعه در Information and Control →
نظرات
بیشتر در دیدگاه
مشاهده همه →فیزیک ذخیرهسازی
حد سوپرپارامغناطیس: چرا پایداری حرارتی، و نه محدودیتهای تولید، مرز نهایی ظرفیت هارد دیسکها را تعیین میکند؟
8 منبع
رمزنگاری
اصل کرکهف: چرا امنیت یک سیستم رمزنگاری باید به پنهان بودن کلید متکی باشد، نه الگوریتم
8 منبع
علم مواد
رابطه σ ∝ 1/√c: چرا مقاومت مواد شکننده تابعی از اندازه نقص است، نه پیوندهای اتمی
6 منبع
فیزیک موشک
ماهیت نمایی معادله موشکی تسیولکوفسکی، سفر میانستارهای با سوخت شیمیایی را ذاتاً غیرممکن میسازد
5 منبع
هر زاویه. هر روز.
دریافت دیدگاه اخبار همراه با پوشش کامل منابع و تحلیل دیدگاهها، مستقیم در صندوق ورودی شما.





