Cypha / شطرنج
شطرنج کھیلیں، مدِمقابل ہے Cypha
Cypha نے شطرنج کی کوئی بازی کبھی نہیں دیکھی۔ اس نے ایک عام شطرنج پروگرام کو سوچتے ہوئے دیکھ کر سیکھا — 26,568 پوزیشنیں، جن میں سے ہر ایک پر اُسی پروگرام کا اپنا فیصلہ لکھا تھا کہ جیت کس کی ہو رہی ہے — یہاں تک کہ Cypha وہی فیصلہ خود دینے لگا۔
نیچے آپ اُسی سے کھیلتے ہیں، جو آپ کے براؤزر میں ایک اتھلی سرچ کے اندر چل رہا ہے۔ اسے ہرایا جا سکتا ہے، اور یہ آج بھی اُس پروگرام سے ہارتا ہے جس سے اس نے سیکھا۔ اس صفحے کا ہر عدد اُسی تربیتی اجرا سے نکلا ہے جس نے وہ وزن پیدا کیے جو یہ صفحہ لوڈ کرتا ہے۔
نیچے دیا گیا RMSE یہ ناپنے کا معمول کا پیمانہ ہے کہ اندازوں کا مجموعہ کتنا دور تھا؛ جتنا چھوٹا ہو، ماڈل اپنے استاد کے اتنا ہی قریب ہے۔
R² ان الگ رکھی گئی پوزیشنوں کے مقابل ہے جو ماڈل نے فٹنگ کے دوران کبھی نہیں دیکھیں۔ میچ کی سطر میں Cypha سرچ گہرائی 2 پر اسی گہرائی کے استاد انجن کے مقابل ہے، بے ترتیب ابتدائی چالوں اور بدل بدل کر رنگوں کے ساتھ۔ چاروں اعداد اسی ماڈل کو بیان کرتے ہیں جیسا وہ کشید ہوا — یہ طے شدہ ہیں، اور یہ آپ کی نقل کی پیمائش نہیں۔
یہی متوقع نتیجہ ہے اور اسے چھپانے کے بجائے کہہ دینا بہتر ہے۔ اشارہ خود ماڈل کی گہرائی 2 والی سرچ سے آتا ہے، جو ساکن head کی اپنی نظر سے بمشکل ہی گہری ہے — اپنے آپ سے متفق ہونا سیکھ لینا مضبوط ہو جانے کے برابر نہیں۔ اور جن 26,568 پوزیشنوں پر یہ کشید ہوا، ان کے سامنے ایک ہزار پوزیشنیں کچھ بھی نہیں۔ ایمان دار دعویٰ یہ ہے کہ آن لائن سیکھنے والا کام کرتا ہے اور وہی کرتا ہے جو کہتا ہے؛ یہ دعویٰ کہ وہ بھیجے گئے ماڈل کو ہرا دے گا، ابھی کمایا نہیں گیا۔
یہ کیا ہے، ایک منٹ میں
مصنوعی ذہانت (AI) کا ہر نیا ڈیزائن اس وضاحت کے ساتھ آتا ہے کہ اسے کام کیوں کرنا چاہیے۔ وضاحت پڑھ کر یہ پتا نہیں چلتا کہ وہ کام کرتا بھی ہے یا نہیں۔ شطرنج یہ بات طے کر دیتی ہے، کیونکہ جواب رائے کا معاملہ نہیں: یا تو وہ سمجھ دار اور قاعدے کی شطرنج کھیلتا ہے یا نہیں، اور آپ بیٹھ کر خود دیکھ سکتے ہیں۔
ایک عام شطرنج پروگرام آگے کی چالیں کھنگال کر کسی پوزیشن کا فیصلہ کرتا ہے۔ Cypha کو ایسے 26,568 فیصلے دکھائے گئے اور انہیں دہرانے کے لیے ایک ہی کلیہ فٹ کیا گیا — بساط بیان کرنے والے 388 اعداد پر ریاضی کی ایک سطر۔ شطرنج کے لیے ڈھانچے میں کچھ شامل نہیں کیا گیا۔ صرف اس میں ڈالے جانے والے اعداد بدلے۔
ہر وہ شخص جو Cypha کو پرکھ رہا ہے اور بتائے جانے کے بجائے خود جانچنا چاہتا ہے۔ وہ لوگ جو مشین لرننگ میں کام کرتے ہیں اور دیکھنا چاہتے ہیں کہ کوئی ماڈل استعمال کے دوران بھی سیکھتا رہے۔ اور ہر وہ شخص جسے بس ایک بازی کھیلنی ہے — سب کچھ آپ کے براؤزر میں چلتا ہے، اور آپ جو کھیلتے ہیں وہ کہیں نہیں بھیجا جاتا۔
cypha::Cypha — شطرنج head سیکھ رہا ہے
کسی مہرے پر کلک کریں، پھر وہاں کلک کریں جہاں وہ جانا ہے۔ جائز خانے نشان زد ہیں۔
پوزیشن
Cypha نے کیا کیا سوچا
چالیں
آپ سے سیکھنا
بہاؤ اس تبدیلی کی مقدار ہے جو وزن کے ویکٹر میں آئی، کشید کیے ہوئے ویکٹر کے مقابلے میں۔ آخری درستی بتاتی ہے کہ ساکن head ابھی جس پوزیشن سے چلا، اس کے بارے میں وہ کتنا غلط تھا، پیادوں میں، اپنی ہی گہری سرچ کے مقابل ناپا ہوا۔
ریٹنگ ایک اندرونی سیڑھی پر ہے، Fédération Internationale des Échecs (FIDE) کے پیمانے پر نہیں — ایسی چیز پر FIDE کا عدد لگانے کا کوئی ایمان دار طریقہ نہیں جو کبھی کسی درجہ بند انسان سے کھیلی ہی نہ ہو۔ گہرائی 1 پر حوالہ جاتی انجن کو 1000 پر باندھا گیا ہے اور سب کچھ 210 بازیوں سے Bradley-Terry کی زیادہ سے زیادہ امکانیت کے ذریعے فٹ کیا گیا ہے، اس لیے یہ اس پر منحصر نہیں کہ بازیاں کس ترتیب سے کھیلی گئیں۔ ناپی ہوئی سیڑھی: گہرائی 1–3 پر حوالہ جاتی انجن 1000 / 1171 / 1245، اور Cypha 798 / 1010 / 1161۔ Cypha اُس انجن سے تقریباً ایک سرچ گہرائی پیچھے چلتا ہے جس سے اسے کشید کیا گیا، اور خطا کی حدیں تقریباً ±50 ہیں، جو 210 بازیوں سے اتنا ہی ملتا ہے۔
طاقت کی ہر ترتیب اپنے ساتھ رکھتی ہے اپنا الگ ماڈل۔ گہرائی 1 پر کھیلنے والے head کی درستی گہرائی 1 کی سرچ کی طرف ہوتی ہے؛ گہرائی 3 پر ہدف ایک الگ، بہتر سرچ ہے۔ دونوں کو ایک ہی وزن کے ویکٹر میں تربیت دینے سے وہ آپس میں جھگڑتے ہی رہیں گے۔ طاقت بدلیں تو گنتی بھی اس کے ساتھ بدل جاتی ہے۔
ایک انجن Cypha کا ماڈل کیسے بنتا ہے
یہ علم کی کشید ہے، اور انہی اجزا سے کی گئی ہے جو Cypha کے ہر دوسرے اطلاق میں استعمال ہوتے ہیں۔ ڈھانچے میں شطرنج کے لیے کچھ خاص شامل نہیں کیا گیا — صرف فیچر۔
استاد
ایک 0x88 انجن، جس میں قاعدے کی تمام چالوں کی تخلیق، مادے اور مہرہ خانہ کی جانچ، Most Valuable Victim – Least Valuable Attacker (MVV-LVA) ترتیب اور quiescence سرچ شامل ہیں۔ kiwipete سمیت پانچ معیاری perft پوزیشنوں کے مقابل تصدیق شدہ، تاکہ اس سے کچھ سیکھنے سے پہلے قواعد کا درست ہونا ثابت ہو۔
ڈیٹا
پوزیشنیں خود سے کھیلی گئی بازیوں سے لی گئیں، بے ترتیب ابتدائی چالوں اور جان بوجھ کر ڈالے گئے شور کے ساتھ، تاکہ مجموعہ اصل بازیوں پر پھیلے، کسی ایک تنگ لکیر پر نہیں۔ ہر ایک پر استاد کے اپنے سرچ نمبر کا لیبل ہے، جسے ±12 پیادوں پر کاٹ دیا گیا ہے تاکہ شہ مات کے نمبر غالب نہ آ جائیں۔
فیچر
388 جہتیں: 384 چوڑا مہرہ خانہ قبضے کا فرق (6 اقسام × 64 خانے)، ساتھ اونٹوں کا جوڑا، دہرے پیادے، حرکت پذیری اور کھیل کا مرحلہ۔ ہمیشہ اسی فریق کے نقطۂ نظر سے جس کی چال ہے، اس لیے ایک ہی وزن کا ویکٹر دونوں رنگوں کا کام دیتا ہے۔
فٹنگ
WorldPrior θ₀ جو Welford سے چلتے چلتے فٹ ہوتا ہے، وائٹننگ بطور قدرتی گریڈیئنٹ کی پیمائش، معیاری کیے ہوئے LMS وزن کی تبدیلیاں، MDL کا زوال جو وزنوں کو واپس مفروضے کی طرف کھینچتا ہے، اور Cypha کے حوالہ جاتی 0.30 تناسب پر ایک حیرت سے وزن کیا ہوا ری پلے بفر۔
کام ڈھانچے نے کیا، میدان نے نہیں
قدم 4 کا ہر جزو Cypha کا اصل جزو ہے جو اپنا اصل کام کر رہا ہے۔ WorldPrior وہی آن لائن گاؤسی ہے جو Cypha کے صفحے پر 2-D کلاسیفائر کو اس کی فیصلے کی سطح دیتا ہے۔ وائٹننگ معلوماتی ہندسے کے دعوے کو ٹھوس شکل دیتی ہے: تبدیلیاں خام گریڈیئنٹ کے بجائے قدرتی گریڈیئنٹ کے ساتھ چلتی ہیں۔ MDL زوال دراصل Solomonoff مفروضہ ہے، جو سکڑاؤ کی اصطلاح میں کہا گیا ہے۔
شطرنج کے لیے جو بدلا وہ فیچر کا نقشہ اور head ہے — درجہ بندی کے بجائے ریگریشن۔ Cypha کا README جو دلیل دیتا ہے کہ یہ ایک ہی قسم ہے جو کئی کام کرتی ہے، یہ وہی دلیل ہے، اور ایک ایسے میدان پر آزمائی گئی ہے جہاں جواب دو ٹوک ہوتا ہے: یا تو یہ جائز، معقول شطرنج کھیلتا ہے یا نہیں کھیلتا۔
ایمان دار حدود
- یہ لکیری ہے۔ مہرہ خانہ فیچروں کا کوئی لکیری تفاعل بادشاہ کی حفاظت، پیادوں کی ساخت کے باہمی اثرات، یا ایسی کوئی چیز ظاہر نہیں کر سکتا جس کے لیے دو فیچروں کا حاصلِ ضرب چاہیے۔ اس کی وہی حد ہے جو Cypha کا README، XOR کے بارے میں بیان کرتا ہے۔
- استاد معمولی ہے۔ حوالہ جاتی انجن ایک لائق کلاسیکی سرچر ہے، Stockfish نہیں۔ اسے اچھی طرح کشید کرنے کا مطلب ہے ایک معمولی اندازہ لگانے والے سے اچھی مطابقت۔
- اس کی اپنی کوئی سرچ گہرائی نہیں۔ یہاں طاقت زیادہ تر الفا بیٹا غلاف سے آتی ہے، بالکل ویسے ہی جیسے استاد کے لیے آتی ہے۔
- کشید دریافت نہیں ہے۔ Cypha نے وہ اندازہ لگانے والا تابع دہرایا جو اسے دکھایا گیا۔ اس نے شطرنج صفر سے نہیں سیکھی، اور اس صفحے پر کہیں ایسا دعویٰ نہیں کیا گیا۔
node tools/chess/perft.js انجن کی تصدیق معیاری آزمائشی پوزیشنوں کے مقابل کرتا ہے، اور node tools/chess/train.js ایک طے شدہ بیج کے ساتھ ماڈل صفر سے دوبارہ بناتا ہے۔ اس صفحے کے اوپر دیے گئے اعداد سیدھے اسی فائل سے پڑھے گئے ہیں جو یہ اجرا پیدا کرتا ہے۔