تینا مزدکی_بازی پرطرفدار و پرفروش ماینکرفت دنیایی ساخته شده از مکعبها را به تصویر میکشد؛ جایی که همهچیز از بلوکهای مجزا و زاویهدار تشکیل شده است. بنابراین، این محیط ممکن است برای محاسبه عدد پی کاملاً نامناسب به نظر برسد؛ ثابت ریاضیاتی که برابر است با نسبت محیط یک دایره به قطر آن. برای تعیین تعداد بیشمار رقمهای اعشاری و غیرتکراری این عدد گنگ، باید از شکل یک دایره کامل استفاده کرد که هیچ گوشه یا لبهای نداشته باشد.
با این حال، «مولی لینچ» (Molly Lynch) ریاضیدان دانشگاه هالینز و «مایکل وسلکاوچ» (Michael Weselcouch) از کالج روانوک، راهی یافتهاند تا مقدار این ثابت ریاضی را تا حد ممکن دقیق در دنیای ماینکرفت تعیین کنند.
در این بازی میتوانید به صورت نسبتاً آزادانه در یک دنیای بلوکی حرکت کنید و سازههای مختلفی مانند ساختمانها یا مدارهای الکترونیکی را با استفاده از عناصر مکعبی شکل بسازید. برای این کار، باید منابع را جمعآوری کرده و آن مواد خام را به مواد و آیتمهای جدید تبدیل کنید.
آزادیهای فراوانی که بازی ماینکرفت ارائه میدهد، به بازیکنان اجازه میدهد تا خلاقیت خود را شکوفا کنند. بازیکنان در گذشته ثابت کردهاند که ماینکرفت یک سیستم «تورینگ کامل» (Turing complete) است؛ به این معنی که هر برنامه کامپیوتری را میتوان در داخل این بازی پیادهسازی کرد. کاربران حتی موفق شدهاند نسخهای قابل بازی از خود ماینکرفت را در درون خود این بازی برنامهنویسی کنند!

با دانستن این موضوع، دیگر چندان عجیب نیست که ثابت ریاضی پی نیز در ماینکرفت قابل محاسبه باشد. اگر هر برنامه کامپیوتری در این بازی قابل اجراست، پس برنامهای که مقدار عدد پی را خروجی میدهد نیز میتواند اجرا شود. با این حال، ترجمه یک الگوریتم به دنیای بازی معمولاً بسیار پیچیده است.
این کار مستلزم آن است که تمام دستورالعملهایی که یک کامپیوتر در سطح الکترونیکی دنبال میکند (مانند پاک کردن رجیستر، وارد کردن مقدار جدید، پردازش مقادیر رجیسترهای x و y با استفاده از گیت منطقی AND و غیره) به یک اکشن و اقدام در ماینکرفت ترجمه شوند. یک الگوریتم ساده در این حالت میتواند به سرعت به هزاران دستورالعمل مختلف در داخل بازی تبدیل شود.
لینچ و وسلکاوچ میخواستند از این پیچیدگی دوری کنند. هدف آنها جذاب کردن ریاضیات برای جوانان بود و فکر میکردند ماینکرفت وسیلهای عالی برای این کار است. آنها در مقالهای در سال ۲۰۲۴، چندین روش را برای محاسبه ثابتهای ریاضی شناختهشده مانند عدد پی در این بازی ویدئویی محبوب ارائه کردند؛ روشهایی که همگی بدون تلاش و زحمتِ بیش از حد انجام میشوند.
پرتاب دارت به سمت تخته پلاک
این دو محقق ابتدا به روشی برای محاسبه پی نیاز داشتند که به راحتی در ماینکرفت قابل پیادهسازی باشد. آنها روشِ به خوبی مطالعهشدهی «پرتاب دارت» را انتخاب کردند.
تصور کنید دارت را تقریباً به همان بدی من پرتاب میکنید! در این آزمایش ذهنی، شما در حال پرتاب دارت به سمت یک تخته دایرهای هستید که روی یک دیوار مربعشکل نصب شده است. شما قطعاً به نقطهای در درون آن دیوار مربعی ضربه خواهید زد، اما لزوماً تیرتان به تخته دارت دایرهای شکل اصابت نمیکند. از آنجایی که مهارت خاصی در پرتاب دارت ندارید، این موضوع کاملاً به شانس بستگی دارد که دارت روی تخته دایرهای فرود بیاید یا روی دیوارِ خارج از آن؛ به عبارت دیگر، احتمال برخورد دارت با هر نقطهای از کل مساحت مربع کاملاً یکسان است. اگر به اندازه کافی دارت پرتاب کنید، میتوانید مقدار عدد پی را به صورت تقریبی به دست آورید.
چرا اینطور است؟ بیایید فرض کنیم این مربع دارای طول ضلع دو متر است و مساحتی معادل چهار متر مربع را پوشش میدهد. این امر باعث میشود قطر دایره نیز دو متر باشد که به دایره شعاع یک متر و در نتیجه مساحتی برابر با پی متر مربع میدهد.
بنابراین، اگر دارتها به صورت تصادفی در داخل مربع توزیع شوند، احتمال فرود آمدن آنها در داخل دایره پی چهارم خواهد بود. با شمارش دارتهای داخل دایره و تقسیم آن بر تعداد کل دارتهای پرتاب شده، نتیجه باید به پی چهارم نزدیک باشد. آن نتیجه را در عدد چهار ضرب کنید، و حالا شما یک مقدار تقریبی از عدد پی دارید.
لینچ و وسلکاوچ دقیقاً همین تکنیک هوشمندانه را برای تخمین عدد پی در ماینکرفت پیادهسازی کردند. آنها ابتدا یک ساختار دایرهای شکل را در بازی با استفاده از بلوکهای قرمز با «شعاع» ۱۱ بلوک شبیهسازی کردند. سپس بلوکهای قرمز را با بلوکهای آبی احاطه کردند که نتیجه آن یک دایره تقریبی قرمز رنگ محصور در یک مربع آبی بود.
سپس آنها رویدادهای تصادفی را در بازی ایجاد کردند که عملکردی مشابه برخورد دارتها به هدف در مثال بالا داشت. برای انجام این کار، این زوج از یک موجود در ماینکرفت به نام «اسلایم» (slime) استفاده کردند. لینچ و وسلکاوچ در مقاله خود توضیح میدهند: «برخلاف دیگر موجودات بازی، اسلایمها زمانی که هیچ بازیکنی در آن نزدیکی نیست به حرکت خود ادامه میدهند و جهت حرکت خود را به صورت تصادفی تغییر میدهند.» آنها اسلایمها را با نوع دومی از موجودات به نام «زوگلین» (zoglin) که اسلایمها را میکشند، جفت کردند.
با استفاده از این دو موجود، لینچ و وسلکاوچ قادر به ایجاد رویدادهای تصادفی شدند که بدون نظارت مستقیم، در بازی قابل رهگیری بودند. با پوشاندن دایره قرمز با بلوکهای قیفمانند به نام «هاپر» (hopper) که به طور خودکار اشیایی را که مستقیماً روی آنها میافتند جمعآوری میکنند محققان راهی برای دریافت سیگنال از مرگ هر اسلایم ایجاد کردند:
هر بار که یک اسلایم کشته میشد، آیتمهایی را از خود به جا میگذاشت که توسط یک هاپر جمعآوری میشد. با تقسیم تعداد اسلایمهای کشته شده در داخل دایره (یا تعداد آیتمهای جمعآوری شده توسط هاپرهای داخل دایره) بر کل موجودات کشته شده (یا تعداد آیتمهای جمعآوری شده توسط همه هاپرهای روی مربع)، میتوان به تقریبی از پیچهارم دست یافت.
این دو محقق روش خود را در بازی آزمایش کردند. در طول اجرای آزمایشی آنها، در مجموع ۶۱۹ اسلایم کشته شدند که ۵۰۸ مورد از آنها در داخل دایره به قتل رسیدند. این دادهها به آنها اجازه داد تا به مقدار تقریبی زیر برای عدد پی دست یابند:
π ≈ 4 × (508 / 619) = 3.283
به اذعان خود نویسندگان، این تقریب چندان خوبی برای عدد پی نیست. آنها دو راه برای بهبود روش خود ارائه میدهند: بزرگتر کردن مساحت مربع (و در نتیجه مساحت دایره) و افزایش تعداد اسلایمهای کشته شده در آن مساحت کل. بزرگتر کردن دایره به دلیل شبیهسازی بهترِ یک دایره واقعی، دقت را بهبود میبخشد.
همچنین تکنیک پرتاب دارت که به طور رسمی «روش مونت کارلو» (Monte Carlo method) نامیده میشود زمانی دقیقتر میشود که رویدادهای تصادفی بیشتری ایجاد شوند. در مورد ماینکرفت، این به معنای فرستادن اسلایمها و زوگلینهای بیشتری به میدان نبرد است.
همانطور که خود لینچ و وسلکاوچ اعتراف میکنند، این روش محاسبه عدد پی هرگز واقعاً کارآمد نخواهد بود. اما کارایی هدف آنها نیست؛ هدف آنها الهام بخشیدن به مردم، به ویژه قشر جوان، از طریق ریاضیات است. یک نبرد ماینکرفتی میان اسلایمها و زوگلینها احتمالاً برای این هدف، بسیار مناسبتر از یک الگوریتم بسیار بهینهسازیشده کامپیوتری است.
منبع: scientificamerican
۲۲۷۳۲۳




نظر شما