Cypha / شطرنج

مصنوعے کا مظاہرہ

شطرنج کھیلیں، مدِمقابل ہے Cypha

Cypha نے شطرنج کی کوئی بازی کبھی نہیں دیکھی۔ اس نے ایک عام شطرنج پروگرام کو سوچتے ہوئے دیکھ کر سیکھا — 26,568 پوزیشنیں، جن میں سے ہر ایک پر اُسی پروگرام کا اپنا فیصلہ لکھا تھا کہ جیت کس کی ہو رہی ہے — یہاں تک کہ Cypha وہی فیصلہ خود دینے لگا۔

نیچے آپ اُسی سے کھیلتے ہیں، جو آپ کے براؤزر میں ایک اتھلی سرچ کے اندر چل رہا ہے۔ اسے ہرایا جا سکتا ہے، اور یہ آج بھی اُس پروگرام سے ہارتا ہے جس سے اس نے سیکھا۔ اس صفحے کا ہر عدد اُسی تربیتی اجرا سے نکلا ہے جس نے وہ وزن پیدا کیے جو یہ صفحہ لوڈ کرتا ہے۔

ناپا ہوا، دعویٰ نہیں

نیچے دیا گیا RMSE یہ ناپنے کا معمول کا پیمانہ ہے کہ اندازوں کا مجموعہ کتنا دور تھا؛ جتنا چھوٹا ہو، ماڈل اپنے استاد کے اتنا ہی قریب ہے۔

الگ رکھی گئی پوزیشنوں پر R²
—
RMSE
—
پوزیشنیں
—
استاد کے مقابل
—

R² ان الگ رکھی گئی پوزیشنوں کے مقابل ہے جو ماڈل نے فٹنگ کے دوران کبھی نہیں دیکھیں۔ میچ کی سطر میں Cypha سرچ گہرائی 2 پر اسی گہرائی کے استاد انجن کے مقابل ہے، بے ترتیب ابتدائی چالوں اور بدل بدل کر رنگوں کے ساتھ۔ چاروں اعداد اسی ماڈل کو بیان کرتے ہیں جیسا وہ کشید ہوا — یہ طے شدہ ہیں، اور یہ آپ کی نقل کی پیمائش نہیں۔

آپ کی نقل ابھی سیکھ رہی ہے۔ Cypha ایک آن لائن سیکھنے والا ہے، اس لیے ڈاؤن لوڈ ختم ہونے پر head فٹ ہونا نہیں چھوڑتا۔ وہ آپ کے خلاف جو بھی چال چلتا ہے وہ ایک اور تربیتی جوڑا ہے، اور بورڈ کے نیچے والا خانہ دکھاتا ہے کہ آپ کی نقل بھیجی گئی نقل سے کتنی دور جا چکی ہے۔
اور اس سے ابھی تک کھیل بہتر نہیں ہوتا۔ ناپا ہوا، فرض کیا ہوا نہیں۔ خود سے کھیلی گئی 12 بازیوں میں یہ درستی head کی اپنی ہی سرچ کے مقابل خطا کو 0.76 سے 0.67 پیادوں تک کم کر دیتی ہے — اور جہاں جما ہوا head ایک نشست کے دوران 4.6% بدتر ہوتا جاتا ہے، وہاں سیکھنے والا 5.2% بہتر ہوتا ہے۔ یعنی فٹنگ حقیقی ہے۔ مگر 1,119 پوزیشنوں پر تربیت پائی ہوئی ایک نقل جب بھیجی گئی نقل کے خلاف کھیلی، گہرائی 2 پر 24 بازیاں، رنگ بدل بدل کر، تو نتیجہ نکلا 6W–7L–11D: بالکل برابر۔

یہی متوقع نتیجہ ہے اور اسے چھپانے کے بجائے کہہ دینا بہتر ہے۔ اشارہ خود ماڈل کی گہرائی 2 والی سرچ سے آتا ہے، جو ساکن head کی اپنی نظر سے بمشکل ہی گہری ہے — اپنے آپ سے متفق ہونا سیکھ لینا مضبوط ہو جانے کے برابر نہیں۔ اور جن 26,568 پوزیشنوں پر یہ کشید ہوا، ان کے سامنے ایک ہزار پوزیشنیں کچھ بھی نہیں۔ ایمان دار دعویٰ یہ ہے کہ آن لائن سیکھنے والا کام کرتا ہے اور وہی کرتا ہے جو کہتا ہے؛ یہ دعویٰ کہ وہ بھیجے گئے ماڈل کو ہرا دے گا، ابھی کمایا نہیں گیا۔
سادہ الفاظ میں

یہ کیا ہے، ایک منٹ میں

مسئلہ

مصنوعی ذہانت (AI) کا ہر نیا ڈیزائن اس وضاحت کے ساتھ آتا ہے کہ اسے کام کیوں کرنا چاہیے۔ وضاحت پڑھ کر یہ پتا نہیں چلتا کہ وہ کام کرتا بھی ہے یا نہیں۔ شطرنج یہ بات طے کر دیتی ہے، کیونکہ جواب رائے کا معاملہ نہیں: یا تو وہ سمجھ دار اور قاعدے کی شطرنج کھیلتا ہے یا نہیں، اور آپ بیٹھ کر خود دیکھ سکتے ہیں۔

حل

ایک عام شطرنج پروگرام آگے کی چالیں کھنگال کر کسی پوزیشن کا فیصلہ کرتا ہے۔ Cypha کو ایسے 26,568 فیصلے دکھائے گئے اور انہیں دہرانے کے لیے ایک ہی کلیہ فٹ کیا گیا — بساط بیان کرنے والے 388 اعداد پر ریاضی کی ایک سطر۔ شطرنج کے لیے ڈھانچے میں کچھ شامل نہیں کیا گیا۔ صرف اس میں ڈالے جانے والے اعداد بدلے۔

یہ کس کے لیے ہے

ہر وہ شخص جو Cypha کو پرکھ رہا ہے اور بتائے جانے کے بجائے خود جانچنا چاہتا ہے۔ وہ لوگ جو مشین لرننگ میں کام کرتے ہیں اور دیکھنا چاہتے ہیں کہ کوئی ماڈل استعمال کے دوران بھی سیکھتا رہے۔ اور ہر وہ شخص جسے بس ایک بازی کھیلنی ہے — سب کچھ آپ کے براؤزر میں چلتا ہے، اور آپ جو کھیلتے ہیں وہ کہیں نہیں بھیجا جاتا۔

کسی شطرنج انجن کا فیصلہ نقل کرنا شطرنج سیکھنا نہیں ہے۔ اس صفحے پر ایسا کوئی دعویٰ نہیں۔ صفحے کا باقی حصہ یہ ہے کہ یہ کیسے کیا گیا، ہر عدد کا مطلب کیا ہے، اور وہ چار کام کیا ہیں جو یہ ڈیزائن نہیں کر سکتا۔

cypha::Cypha — شطرنج head سیکھ رہا ہے

کسی مہرے پر کلک کریں، پھر وہاں کلک کریں جہاں وہ جانا ہے۔ جائز خانے نشان زد ہیں۔

پوزیشن

ماڈل لوڈ ہو رہا ہے…
کشید کیے ہوئے وزن لائے جا رہے ہیں۔
Cypha کا اندازہ
—
نوڈ
—

Cypha نے کیا کیا سوچا

چالیں

آپ سے سیکھنا

اس گہرائی پر ریٹنگ
—
زیرِ استعمال ماڈل
گہرائی 2
سیکھی گئی پوزیشنیں
0
مکمل ہوئی بازیاں
0
بھیجی گئی نقل سے بہاؤ
0.00%
آخری درستی
—

بہاؤ اس تبدیلی کی مقدار ہے جو وزن کے ویکٹر میں آئی، کشید کیے ہوئے ویکٹر کے مقابلے میں۔ آخری درستی بتاتی ہے کہ ساکن 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 پر ہدف ایک الگ، بہتر سرچ ہے۔ دونوں کو ایک ہی وزن کے ویکٹر میں تربیت دینے سے وہ آپس میں جھگڑتے ہی رہیں گے۔ طاقت بدلیں تو گنتی بھی اس کے ساتھ بدل جاتی ہے۔

یہ اندازہ 388 فیچروں کا ایک لکیری تابع ہے۔ اس کی اپنی کوئی سرچ گہرائی نہیں، کوئی اوپننگ بک نہیں اور اختتامی کھیل کا کوئی علم نہیں۔ اسے ہرا دینا متوقع ہے؛ دلچسپ بات یہ ہے کہ ایک اکیلا وائٹن شدہ لکیری head کسی انجن کے سرچ اندازے کو سرے سے دہرا لیتا ہے — اور پھر آپ کے کھیلتے رہنے کے دوران خود کو درست کرتا رہتا ہے۔
انجن، فیچر، کشید کیے ہوئے وزن اور کھلاڑی، سب مقامی طور پر چلتے ہیں۔ کہیں کچھ نہیں بھیجا جاتا، اور چند کلوبائٹ گتانکوں کے سوا کوئی ماڈل ڈاؤن لوڈ نہیں ہوتا۔ آپ کی نقل جو کچھ سیکھتی ہے وہ آپ کے براؤزر ہی میں رہتا ہے، آپ کا ہے، اور کبھی اپ لوڈ نہیں ہوتا — اس لیے کسی اور کی بازیاں آپ کا ماڈل نہیں ہلا سکتیں، اور آپ کی بازیاں ان کا۔
طریقہ

ایک انجن Cypha کا ماڈل کیسے بنتا ہے

یہ علم کی کشید ہے، اور انہی اجزا سے کی گئی ہے جو Cypha کے ہر دوسرے اطلاق میں استعمال ہوتے ہیں۔ ڈھانچے میں شطرنج کے لیے کچھ خاص شامل نہیں کیا گیا — صرف فیچر۔

کشید کا سلسلہ: perft سے تصدیق شدہ ایک حوالہ جاتی انجن 26,568 پوزیشنوں پر لیبل لگاتا ہے، جو 388 فیچر بنتی ہیں، اور 9.4 کلوبائٹ کے ایک Cypha head میں فٹ ہوتی ہیں، جو الگ رکھی گئی پوزیشنوں پر 0.866 کا R مربع حاصل کرتا ہے
پورا خاکہ دیکھنے کے لیے اسکرول کریں →
کشید، دریافت نہیں۔ آخری خانے کا ہر عدد اسی تربیتی اجرا نے ناپا جس نے وہ وزن بنائے جو یہ صفحہ لوڈ کرتا ہے۔
قدم 1

استاد

ایک 0x88 انجن، جس میں قاعدے کی تمام چالوں کی تخلیق، مادے اور مہرہ خانہ کی جانچ، Most Valuable Victim – Least Valuable Attacker (MVV-LVA) ترتیب اور quiescence سرچ شامل ہیں۔ kiwipete سمیت پانچ معیاری perft پوزیشنوں کے مقابل تصدیق شدہ، تاکہ اس سے کچھ سیکھنے سے پہلے قواعد کا درست ہونا ثابت ہو۔

قدم 2

ڈیٹا

پوزیشنیں خود سے کھیلی گئی بازیوں سے لی گئیں، بے ترتیب ابتدائی چالوں اور جان بوجھ کر ڈالے گئے شور کے ساتھ، تاکہ مجموعہ اصل بازیوں پر پھیلے، کسی ایک تنگ لکیر پر نہیں۔ ہر ایک پر استاد کے اپنے سرچ نمبر کا لیبل ہے، جسے ±12 پیادوں پر کاٹ دیا گیا ہے تاکہ شہ مات کے نمبر غالب نہ آ جائیں۔

قدم 3

فیچر

388 جہتیں: 384 چوڑا مہرہ خانہ قبضے کا فرق (6 اقسام × 64 خانے)، ساتھ اونٹوں کا جوڑا، دہرے پیادے، حرکت پذیری اور کھیل کا مرحلہ۔ ہمیشہ اسی فریق کے نقطۂ نظر سے جس کی چال ہے، اس لیے ایک ہی وزن کا ویکٹر دونوں رنگوں کا کام دیتا ہے۔

قدم 4

فٹنگ

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 ایک طے شدہ بیج کے ساتھ ماڈل صفر سے دوبارہ بناتا ہے۔ اس صفحے کے اوپر دیے گئے اعداد سیدھے اسی فائل سے پڑھے گئے ہیں جو یہ اجرا پیدا کرتا ہے۔