سؤال

ما زلت اختراقا على روبي القديم الخاص بي عن أوندد بريد (أعرف، أعرف، توقف عن محاولة إعادة النشر من تشاك الميت). لكن الكود أصبح بعيدا عن يده بعيدا والآن أعمل على خوارزمية وراثية لإنشاء المعركة النهائية للمعيشة والموت مع اللياقة البدنية التي تستغرق المعركة.

لذلك، لدي أساسيات ذلك؛ كيفية ضبط سمات اللعبة وكيفية الحصول على اللياقة البدنية للحل، ما لا يمكنني معرفة كيفية تخزين اللياقة البدنية حتى أعرف متى جربت مزيج من قبل.

لست قادرا على إيجاد الكثير من التعليمات الوراثية للنظر في رمز ناهيك عن الكود الذي يمكنني أن أقرأ جيدا بما يكفي لإخبار ما يحدث. هل لدى أي شخص فكرة كيف يتم ذلك عادة أو مجرد خوارزمية يمكن أن تساعد في توجيهي في الاتجاه الصحيح؟

هل كانت مفيدة؟

المحلول

ما لا يمكنني معرفةه هو كيفية تخزين اللياقة البدنية حتى أعرف متى جربت مزيج من قبل.

عادة في حل GA لا تشعر بالقلق إزاء توليد نفس الحل "الحل" ما تشعر بالقلق هو عندما يستقر معدل التحسن في "درجاتك".

الآن إذا كنت ترغب في تسجيل الدخول / تتبع سجل "الحل"، فإنك تريد أن تعرف الكثيرون عندما يظهر الأمر الأخير، لكنني أفترض أن هناك بعض الطبيعة العشوائية "لعبتك"، لذلك تريد كائن يركض.

نصائح أخرى

في GA لا تريد إعادة تقييم الحل إذا استغرق اختبار اللياقة وقتا طويلا. استخدم طاولة تجزئة لتخزين درجات اللياقة البدنية وجعل مفتاح التجزئة كروموسوم. استخدام "المناورة orcish"؛ تحقق من ذاكرة التخزين المؤقت أولا، إذا كان هناك استرجاعه ومتابعة، أو حسابه بطريقة أخرى ووضعه في التجزئة في المرة القادمة.

إذا كنت ترغب في مثال كامل على GA، يمكنك الحصول على Toolbox المجاني والمفتوح، Matlab GA Toolbox من فريق الحوسبة التطورية في جامعة شيفيلد في المملكة المتحدة، متاح هنا:

http://www.sheffield.ac.uk/acse/research/ecrg/gat.html.

حتى إذا كنت لا ترغب في إلقاء نظرة على رمز MATLAB، فإن الدليل الذي يأتي مع Toolbox يحتوي على وصف جيد حقا ويمكن الوصول إليه بالضبط كيفية عمل الغاز الذي قد يساعدك في رمز Ruby الخاص بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top