Cypha / الشطرنج
العب الشطرنج ضد Cypha
لم يرَ Cypha قط مباراة شطرنج. تعلّم بمشاهدة برنامج شطرنج عادي وهو يفكّر — 26,568 وضعية، كل واحدة موسومة بحكم ذلك البرنامج نفسه على مَن يكسب — حتى صار Cypha ينتج الحكم بنفسه.
ما تلعبه أدناه هو ذاك، يعمل في متصفحك داخل بحث ضحل. يمكن هزيمته، ولا يزال يخسر أمام البرنامج الذي تعلّم منه. وكل رقم في هذه الصفحة خرج من التشغيل التدريبي الذي أنتج الأوزان التي تحمّلها الصفحة.
جذر متوسّط مربّع الخطأ (RMSE)، أدناه، هو المقياس المعتاد لمقدار بُعد مجموعة تخمينات عن الصواب؛ وكلّما صغُر اقترب النموذج من معلّمه.
R² محسوب على وضعيات محجوزة لم يرَها النموذج أثناء الملاءمة. وسطر المباريات هو Cypha بعمق بحث 2 أمام محرّك المعلّم بالعمق نفسه، بافتتاحيات عشوائية وألوان متبادلة. والأرقام الأربعة كلها تصف النموذج كما قُطِّر — وهي ثابتة، وليست قياسات لنسختك.
هذه هي النتيجة المتوقَّعة، وذِكرها أولى من إخفائها. فالإشارة هي بحث النموذج نفسه بعمق 2، وهو بالكاد أعمق من رؤية الرأس الساكن — وتعلُّم الاتفاق مع نفسك ليس كالاشتداد. وألف وضعية في مقابل 26,568 قُطِّر عليها لا شيء أيضًا. الادّعاء الصادق هو أن المتعلّم المباشر يعمل ويفعل ما يقوله؛ أما الادّعاء بأنه سيتغلّب على النسخة المشحونة فلم يُستحقّ بعد.
ما هذا، في دقيقة واحدة
كل تصميم جديد للذكاء الاصطناعي يصل مصحوبًا بشرح لماذا ينبغي أن يعمل. وقراءة الشرح لا تخبرك شيئًا عمّا إذا كان يعمل. والشطرنج يحسم ذلك، لأن الجواب ليس مسألة رأي: إمّا أن يلعب شطرنجًا قانونيًّا معقولًا وإمّا لا، ويمكنك أن تجلس وتعرف بنفسك.
يحكم برنامج الشطرنج العادي على الوضعية بالبحث أمامًا في النقلات. وعُرضت على Cypha 26,568 من تلك الأحكام فلاءم صيغة واحدة تعيد إنتاجها — سطر رياضيات واحد فوق 388 رقمًا تصف الرقعة. لم يُضَف شيء إلى البنية من أجل الشطرنج. تغيّرت الأرقام المُدخَلة إليه فقط.
كل من يقيّم Cypha ويفضّل أن يتحقّق على أن يُقال له. ومن يعملون في تعلّم الآلة ويريدون مشاهدة نموذج يواصل التعلّم أثناء استعماله. وكل من يشتهي مباراة ببساطة — كل ذلك يعمل في متصفحك، ولا يُرسَل ما تلعبه إلى أي مكان.
cypha::Cypha — رأس الشطرنج يتعلّم
انقر قطعة، ثم انقر حيث تذهب. الوجهات القانونية مُعلَّمة.
الوضعية
ما نظر فيه Cypha
النقلات
التعلّم منك
الانجراف هو حجم التغيّر في متجه الأوزان، نسبةً إلى المتجه المُقطَّر. آخر تصحيح هو مقدار خطأ الرأس الساكن في الوضعية التي تحرّك منها للتوّ، بالبيادق، مقيسًا في مقابل بحثه الأعمق.
التصنيف على سُلَّم داخلي، لا على مقياس Fédération Internationale des Échecs (FIDE) — فلا سبيل صادقًا لوضع رقم FIDE على شيء لم يلعب قط أمام إنسان مصنَّف. ومحرّك المرجع عند العمق 1 مثبَّت عند 1000، وكل شيء مُلاءَم من 210 مباريات بأقصى إرجاح على طريقة برادلي-تيري، فلا يعتمد على ترتيب لعبها. السلّم المقيس: المرجع 1000 / 1171 / 1245 عند الأعماق 1–3، وCypha 798 / 1010 / 1161. يسير Cypha خلف المحرّك الذي قُطِّر منه بعمق بحث واحد تقريبًا، وهوامش الخطأ نحو ±50، وهذا ما تشتريه لك 210 مباريات.
كل إعداد قوة يحتفظ بنموذجه الخاص. الرأس الذي يلعب بعمق 1 يُصحَّح نحو بحث بعمق 1؛ وعند العمق 3 يكون الهدف مختلفًا وأفضل. وتدريب الاثنين في متجه أوزان واحد سيجعلهما يتنازعان فقط. بدّل القوة فتتبدّل العدّادات معها.
كيف يصير المحرّك نموذج Cypha
هذا تقطير معرفة، بالمكوّنات نفسها التي في كل تطبيق Cypha آخر. لم يُضَف إلى المعمارية أي شيء خاص بالشطرنج — السمات فقط.
المعلّم
محرّك 0x88 بتوليد كامل للنقلات القانونية، وتقييم بالمادّة وبجداول القطعة-المربع، وترتيب أثمن ضحية – أرخص مهاجم (MVV-LVA)، وبحث سكون. جرى التحقّق منه في مقابل خمس وضعيات perft قياسية منها kiwipete، فالقواعد صحيحة بالبرهان قبل أن يُتعلَّم منه أي شيء.
البيانات
وضعيات مأخوذة من لعب ذاتي بافتتاحيات عشوائية وضوضاء متعمَّدة، فتغطي المجموعة مباريات حقيقية بدل خط ضيّق واحد. وكل وضعية مُعنوَنة بدرجة البحث الخاصة بالمعلّم، مقصوصة عند ±12 بيدقًا كي لا تهيمن درجات الكِش مات.
السمات
388 بُعدًا: فرق إشغال قطعة-مربّع بعرض 384 (6 أنواع × 64 مربّعًا) إضافة إلى زوج الفيلة، والبيادق المضاعفة، والحركية، وطور المباراة. دائمًا من منظور الطرف صاحب الدور، فيخدم متجه أوزان واحد اللونين معًا.
الملاءمة
WorldPrior θ₀ مُلاءَم مباشرةً بخوارزمية Welford، والتبييض بوصفه مقياس التدرّج الطبيعي، وتحديثات أوزان بأقلّ المربّعات المتوسّطة (LMS) المُطبَّعة، واضمحلال أدنى طول وصف (MDL) يشدّ الأوزان نحو المسبق، وذاكرة إعادة موزونة بالمفاجأة عند نسبة Cypha المرجعية 0.30.
المعمارية هي التي قامت بالعمل، لا المجال
كل مكوّن في الخطوة 4 مكوّن Cypha حقيقي يؤدي عمله الحقيقي. وWorldPrior هو التوزيع الغاوسي المباشر نفسه الذي يمنح المصنّف ثنائي الأبعاد في صفحة Cypha سطحَ قراره. والتبييض هو ادّعاء الهندسة المعلوماتية مجسَّدًا: التحديثات تتبع التدرّج الطبيعي بدل الخام. واضمحلال MDL هو مسبق Solomonoff معبَّرًا عنه بحدّ انكماشي.
ما تغيّر من أجل الشطرنج هو خريطة السمات والرأس — انحدار بدل تصنيف. وهذه هي الحجّة التي يسوقها ملف README الخاص بـCypha عن كونه نوعًا واحدًا يؤدي عدة أعمال، مختبَرةً على مجال جوابه لا يحتمل اللبس: إمّا أن يلعب شطرنجًا قانونيًّا معقولًا أو لا.
الحدود بصراحة
- هو خطّي. دالّة خطية لسمات القطعة-المربع لا تستطيع تمثيل أمان الملك، ولا تفاعلات بنية البيادق، ولا أي شيء يتطلّب جداء سمتين. لها السقف نفسه الذي يصفه ملف Cypha التعريفي لدالّة أو الحصرية (XOR).
- المعلّم متواضع. المحرّك المرجعي باحث كلاسيكي كفء، لا Stockfish. وتقطيره جيّدًا يعني مطابقة مقيِّم متواضع مطابقةً جيّدة.
- لا عمق بحث خاص به. القوة هنا تأتي في معظمها من غلاف alpha-beta، تمامًا كما هي للمعلّم.
- التقطير ليس اكتشافًا. أعاد Cypha إنتاج دالّة تقييم عُرضت عليه. لم يتعلّم الشطرنج من الصفر، ولا شيء في هذه الصفحة يدّعي أنه فعل.
node tools/chess/perft.js يتحقّق من المحرّك في مقابل وضعيات الاختبار المعيارية، و node tools/chess/train.js يعيد توليد النموذج من الصفر ببذرة ثابتة. والأرقام في أعلى هذه الصفحة تُقرأ مباشرة من الملف الذي ينتجه ذلك التشغيل.