اکیلے کھیلیے تو چار میں سے تین قلعوں کا دفاع ایک مشین کرتی ہے۔ ہر کمپیوٹر جنگی سردار وہی مختصر لُوپ چلاتا ہے، یعنی اُس گیند کو ڈھونڈو جس سے ڈرنا چاہیے، اندازہ لگاؤ کہ وہ تمہاری دیوار کہاں سے پار کرے گی، اور سرک کر اس کے سامنے آ جاؤ؛ اور ایک بودے حریف اور ایک حقیقی خطرے کے درمیان فرق چار عددوں پر آ کر ٹھہرتا ہے۔
انگریزی میں لکھا اور ترمیم کیا گیا۔ یہ اردو نسخہ مشینی ترجمے سے تیار کیا گیا ہے؛ جہاں درستی اہم ہو، وہاں انگریزی اصل ہی مستند ہے۔ اصل انگریزی متن پڑھیں ←
کسی جنگی سردار کا پہلا کام، سیکنڈ میں ایک سو بیس بار، ترجیح بندی ہے۔ میدان میں زیادہ سے زیادہ دو گیندیں آزاد ہو سکتی ہیں، اور AI کو طے کرنا ہوتا ہے کہ ڈھال کس کی مستحق ہے۔ وہ ہر متحرک، بغیر پکڑی گئی گیند کو اپنے بادشاہ سے فاصلے کے حساب سے نمبر دیتا ہے، پھر ہر اُس گیند کے نمبر میں سے 250 یونٹ کی ایک مقررہ رعایت گھٹا دیتا ہے جو واقعی کونے کی طرف بڑھ رہی ہو، یعنی دور جاتی ہوئی گیند کو ایسے سمجھا جاتا ہے گویا وہ حقیقت سے 250 یونٹ زیادہ دور ہو۔ 1 سب سے کم نمبر والی گیند ڈھال کی توجہ جیت لیتی ہے۔
نتیجہ ایک ایسا محافظ ہے جو بے ضرر گزرتی ہوئی گیند پر گھبراتا نہیں، مگر اُس گیند پر جھپٹ پڑتا ہے جو زیادہ قریب اور اندر کی طرف آ رہی ہو۔ یہ اُس چیز کا کھردرا سا نمونہ ہے جو انسان بغیر سوچے کرتا ہے: جو چیز تمہاری طرف آ رہی ہو اسے دیکھو، جو جا رہی ہو اسے نظرانداز کرو۔ سارا فیصلہ گیند کی رفتار اور بادشاہ کی سمت کے درمیان ایک ہی ضربِ نقطہ (dot product) ہے، مثبت کا مطلب ہے "میری طرف تاکا ہوا"، اور اتنا ہی کافی ہے۔
خطرہ چن لینے کے بعد جنگی سردار کو طے کرنا ہوتا ہے کہ اپنی ترچھی ریل پر کہاں رہے۔ وہ اچھلنے کا پورا راستہ حل نہیں کرتا، نہ انعکاس کا سراغ لگاتا ہے، نہ دیواروں سے ٹکراؤ کی پیش گوئی کرتا ہے۔ وہ گیند کی جگہ لیتا ہے، اسے اس کی موجودہ رفتار کے رخ پر ایک چھوٹا سا قدم آگے سرکاتا ہے (0.12 سیکنڈ کی پیش روی)، اور اُس مستقبل کے نقطے کو سیدھا ریل پر ڈال کر 0 اور 1 کے درمیان ایک ہدفی کسر نکال لیتا ہے۔ 1
یہ جان بوجھ کر رکھی گئی اتھلی پیش گوئی ہے، اور یہی وجہ ہے کہ AI کو ہرایا جا سکتا ہے۔ چونکہ وہ صرف سیکنڈ کے آٹھویں حصے کی پیش روی کرتا ہے اور کبھی ٹھوکر کھا کر پلٹنے کا اندازہ نہیں لگاتا، اس لیے وہ گیند جو دیوار سے ٹکرا کر آنے والی ہو، اسے دھوکا دے جاتی ہے؛ وہ اُسی سمت پر یقین باندھ لیتا ہے جدھر گیند اِس وقت تاک رہی ہے۔ جو انسان میدان کے کناروں سے گیند اچھال کر مارتا ہے، وہ عین اسی اندھے نقطے سے فائدہ اٹھا رہا ہوتا ہے۔ مشین ذرا سی دوراندیشی کے ساتھ حال پر ردِعمل دیتی ہے؛ وہ منصوبہ نہیں بناتی۔
کمپیوٹر گیند کے مستقبل کا حساب نہیں لگاتا۔ وہ سیکنڈ کے آٹھویں حصے جتنا آگے جھکتا ہے، اپنی ڈھال کا رخ اُس جگہ کرتا ہے جہاں گیند ہوتی اگر کچھ بھی بیچ میں نہ آتا، اور جو کچھ بیچ میں آتا ہے اسے آپ کا موقع بننے دیتا ہے۔
تینوں دشواریاں کوڈ کا ایک ہی یکساں ڈھانچہ استعمال کرتی ہیں۔ آسان، درمیانہ اور مشکل کے درمیان جو چیز بدلتی ہے وہ چار تنظیمی عددوں کی ایک سطر ہے۔ 1 لرزش ڈھال کے ہدف میں بے ترتیب خطا شامل کرتی ہے، چنانچہ آسان جنگی سردار کا نشانہ اپنی ریل کے تقریباً پانچویں حصے جتنا بھٹک جاتا ہے جبکہ مشکل والے کا تقریباً بالکل درست رہتا ہے۔ ردِعمل کا فاصلہ طے کرتا ہے کہ گیند کو کتنا قریب آنا ہوگا اس سے پہلے کہ جنگی سردار اس کا پیچھا کرنے کی زحمت کرے؛ آسان والا اپنے بادشاہ سے 420 یونٹ سے زیادہ دور کی ہر چیز نظرانداز کر دیتا ہے، جو بورڈ کی چوڑائی کے نصف سے ذرا کم ہے؛ مشکل والا پورے میدان میں پیچھا کرتا ہے۔ پکڑنے کا امکان وہ احتمال ہے کہ وہ اُس گیند کو دبوچ لے گا جو اس کی ڈھال کے اتنے قریب آ جائے کہ پکڑی جا سکے۔ اور حریفوں کو نشانہ بنانا ایک اکہرا بٹن ہے جو طے کرتا ہے کہ جنگی سردار سرے سے حملہ کرتا بھی ہے یا نہیں۔
| گھنڈی | آسان | درمیانہ | مشکل |
|---|---|---|---|
| نشانے کی لرزش (ریل کے کسور میں) | 0.18 | 0.07 | 0.015 |
| ردِعمل کا فاصلہ (یونٹ) | 420 | 700 | 2,000 |
| پکڑنے کا امکان | 0% | 25% | 55% |
| حریفوں کو نشانہ بناتا ہے؟ | نہیں | نہیں | ہاں |
چاروں قدریں Bulwark کے کھیل کے انجن کے اندر ایک چھوٹی سی تنظیمی جدول سے آتی ہیں، فی درجہ ایک سطر۔ مشکل درجے پر ردِعمل کا فاصلہ میدان کی چوڑائی کے دُگنے کے طور پر لکھا گیا ہے، اور میدان 1,000 یونٹ مربع ہے، چنانچہ 2,000 یونٹ کا مطلب ہے "ہمیشہ پیچھا"۔ 1
آسان یا درمیانہ جنگی سردار کبھی وار کرنے کی نیت سے گیند نہیں پکڑتا۔ آسان والا تو گیند بالکل ہی نہیں پکڑتا، اور درمیانہ صرف کبھی کبھار، اس منصوبے کے بغیر کہ گیند ایک بار ہاتھ آ جائے تو اس کا کرنا کیا ہے۔ حریفوں کو نشانہ بنانے والا بٹن پلٹ دیجیے، یعنی وہ چیز جو صرف مشکل درجہ کرتا ہے، اور AI محض ردِعمل دینے والا نہیں رہتا۔ جب وہ گیند تھامے ہوتا ہے تو پورے بورڈ پر نظر دوڑاتا ہے، سب سے زیادہ زخمی حریف چنتا ہے (وہ جس کی اینٹیں سب سے کم بچی ہوں)، اور وہیں نشانہ باندھتا ہے۔ 1
یہ سب وہ کسی راستہ تلاشی کے بغیر کرتا ہے۔ وہ اپنی ریل پر گیارہ ممکنہ جگہوں کا نمونہ لیتا ہے، اور ہر ایک کے لیے انجن کے چھوڑنے والے حساب کو دہرا کر دیکھتا ہے کہ وہ شاٹ کس سمت اڑے گا، پھر وہ جگہ رکھ لیتا ہے جس کا باہر جاتا ہوا سمتیہ چنے ہوئے شکار کی طرف سب سے سیدھا تاکتا ہو۔ 1 یہ ہوشیاری کے بجائے مٹھی بھر اختیارات پر زور آزمائی ہے، مگر وہ اس میں صبر سے کام لیتا ہے: جگہ چن لینے کے بعد جنگی سردار گیند اُس وقت تک تھامے رکھتا ہے جب تک ڈھال واقعی وہاں سرک نہ جائے، اور تبھی چھوڑتا ہے جب یا تو وہ پہنچ چکی ہو یا وہ اتنی دیر تھامے رکھ چکا ہو کہ مزید انتظار کی قیمت شاٹ کی قیمت سے بڑھ جائے۔ نیت بلا شبہ حکمتِ عملی والی ہے، بالکل وہی جو آسان شکار کی تلاش میں کوئی انسان کرتا۔ ہدف کو "سب سے کم اینٹوں" کے حساب سے چننا تین آزاد محافظوں کا رخ اُسی کی طرف کر دیتا ہے جو پہلے ہی ہار رہا ہو۔
جنگی سردار جو بھی "بے ترتیب" کام کرتا ہے، اس کے نشانے کی لرزش، پکڑنے یا نہ پکڑنے کا سکہ اچھالنا، وہ سب ایک سیڈ والے مولّد سے نکلتا ہے، یعنی ایک مختصر ترکیب جسے mulberry32 کہا جاتا ہے اور جو ایک ابتدائی عدد کو شبہ بے ترتیب قدروں کی ایک لمبی، دہرائے جانے کے قابل روانی میں بدل دیتی ہے۔ 2 اسے وہی سیڈ دیجیے تو وہ ہمیشہ وہی ترتیب پیدا کرے گی۔ کوئی زندہ میچ اپنا سیڈ گھڑی سے لیتا ہے، چنانچہ کوئی دو کھیل ایک جیسے شروع نہیں ہوتے، مگر وہی سیڈ واپس تھما دیجیے تو میچ بالکل ویسے ہی دوبارہ چلتا ہے: وہی چھوڑنے کے زاویے، وہی لرزشیں، وہی پکڑ۔
یہ قطعیت کوئی آرائشی تفصیل نہیں۔ یہی وہ چیز ہے جو کھیل کو قابلِ آزمائش بناتی ہے، اس کا آزمائشی مجموعہ ایک مقررہ سیڈ سے کمپیوٹر بمقابلہ کمپیوٹر پورے میچ کھیلتا ہے اور ہر بار وہی نتیجہ چاہتا ہے، اور یہی وہ چیز ہے جو پورے تمثیلی نظام کو، مولّد کے نشان سمیت، JSON میں سمیٹ کر دوبارہ کھڑا کرنے دیتی ہے، تاکہ آن لائن میزبان اپنی حالت نشر کر سکے اور باقی ہر کھلاڑی بالکل ویسا ہی بورڈ دوبارہ بنا لے۔ جنگی سردار زندہ محسوس ہوتے ہیں کیونکہ ان کی غلطیاں انسانی لگتی ہیں؛ اندر ہی اندر ان کی "جبلتیں" ایک مختصر حسابی تکرار ہیں جسے کوئی بھی لپیٹ کر شروع تک واپس لے جا سکتا ہے۔ معلوم ہوا کہ قلعے کی حفاظت کرنے والی مشین کو صرف چند عددوں اور دوبارہ پیدا کی جا سکنے والی قسمت کی ایک روانی کی ضرورت ہے۔ 2