6 نيمت! هي لعبة بطاقات حائزة على جوائز لمدة عشر إلى عشرة لاعبين من عام 1994. نقلاً عن ويكيبيديا:
تحتوي اللعبة على 104 بطاقات ، كل منها يحمل رقمًا ورباحًا واحدًا إلى سبعة رموز رؤساء الثور التي تمثل نقاط ركلة جزاء. يتم لعب جولة من عشرة دورات حيث يضع جميع اللاعبين بطاقة واحدة من اختيارهم على الطاولة. يتم ترتيب البطاقات الموضوعة على أربعة صفوف وفقًا للقواعد الثابتة. إذا تم وضعه على صف يحتوي بالفعل على خمس بطاقات ، فسيتلقى اللاعب هذه البطاقات الخمس ، والتي تعتبر نقاط ركلة جزاء يتم جمعها في نهاية الجولة.
6 نيمت! هي لعبة تنافسية من المعلومات غير المكتملة وكمية كبيرة من العشوائية. اللعب بشكل جيد يتطلب القليل من التخطيط. تلعب لعبة اللعبة المتزامنة نفسها للألعاب الذهنية والخداع ، في حين أن بعض الإستراتيجية طويلة الأجل ضرورية لتجنب الانتهاء في مواقع اللعبة الصعبة.
قمنا بتنفيذ نسخة مبسطة قليلاً من 6 nimmt! كبيئة صالة الألعاب الرياضية Openai. على عكس اللعبة الأصلية ، عند تشغيل بطاقة أقل من البطاقة الأخيرة على جميع المداخن ، لا يمكن للاعب اختيار المكدس الذي سيتم استبداله بحرية ، ولكن بدلاً من ذلك سيأخذ المكدس دائمًا مع أصغر عدد من نقاط الجزاء.
حتى الآن قمنا بتنفيذ الوكلاء التاليين:
كاختبار أول ، قمنا بإجراء بطولة للعب الذات البسيط. بدءًا من خمسة وكلاء غير مدربين ، لعبنا 4000 لعبة في المجموع. لكل لعبة اخترنا بشكل عشوائي اثنين أو ثلاثة أو أربعة وكلاء للعب (والتعلم). كل 400 لعبة استنساخنا أفضل وكيل الأداء وطرد بعض تلك الأداء الأكثر فقراً. في النهاية ، احتفظنا بأفضل مثيل لكل نوع وكيل.
النتائج على جميع الألعاب:
عامل | لعبت الألعاب | متوسط النتيجة | اربح الكسر | إلو |
---|---|---|---|---|
alpha0.5 | 2246 | -7.79 | 0.42 | 1806 |
MCS | 2314 | -8.06 | 0.40 | 1745 |
أيسر | 1408 | -12.28 | 0.18 | 1629 |
D3QN | 1151 | -13.32 | 0.17 | 1577 |
عشوائي | 1382 | -13.49 | 0.19 | 1556 |
هذه هي الطريقة التي تم بها الأداء (المقاسة في ELO) للنماذج التي تم تطويرها خلال البطولة:
يعد البحث عن شجرة Monte-Carlo أمرًا بالغ الأهمية ويؤدي إلى لاعبين أقوياء. من ناحية أخرى ، يكافح وكلاء RL الخاليين من النماذج حتى يتفوقوا بوضوح على خط الأساس العشوائي. نظرًا للطبيعة العشوائية للعبة ، فإن احتمالات الفوز واختلافات ELO ليست جذرية تقريبًا كما يمكن أن تكون ، على سبيل المثال ، للشطرنج. لاحظ أننا لم نضبط أيًا من العديد من المقاييس المفرطة.
بعد مرحلة اللعب الذاتية هذه ، واجه وكيل alpha0.5 ميرل ، أحد أفضل 6 nimmt! اللاعبون في مجموعتنا من الأصدقاء ، لمدة 5 ألعاب. هذه هي الدرجات:
لعبة | 1 | 2 | 3 | 4 | 5 | مجموع |
---|---|---|---|---|---|---|
ميرل | -10 | -16 | -11 | -3 | -4 | -44 |
alpha0.5 | -1 | -3 | -14 | -8 | -6 | -32 |
على افتراض أنك قمت بتثبيت Anaconda ، استنساخ الريبو مع
git clone [email protected]:johannbrehmer/rl-6nimmt.git
وإنشاء بيئة افتراضية مع
conda env create -f environment.yml
conda activate rl
يتم توضيح كل من العامل للعب الذاتي والألعاب بين لاعب بشري ووكلاء مدربين في Simple_tournament.ipynb.
وضعت معا يوهان بريمر ومارسيل جوتشه.