التحسين
تعريف الخوارزمية الجينية
عند مناقشة كيفية تحسين cBots، ذكرنا أنه يمكن تحسين cBots باستخدام طريقة الخوارزمية الجينية. في هذا الدليل، نشرح بالضبط ما هي وكيف تعمل.
تستند طريقة الخوارزمية الجينية إلى نظرية الانتقاء الطبيعي. تنص هذه النظرية على أن الأفراد الأكثر ملاءمة فقط هم من يبقون على قيد الحياة للتكاثر اللاحق.
في تحسين cBot، يعتبر كل تمرير تحسين فردًا. لتقييم التمريرات الفردية، تحسب الخوارزمية الجينية درجة لياقة معينة لكل تمرير وتقارن هذه الدرجة مع جميع التمريرات الأخرى.
لكي تعمل، تحتاج الخوارزمية الجينية إلى مجموعة سكانية أولية. لإنشائها، سيقوم المحسن بتشغيل عدة تمريرات مختلفة بمعلمات عشوائية. بعد إنشاء المجموعة السكانية الأولية، ستبدأ الخوارزمية عملية البحث عن تمرير التحسين الأكثر ملاءمة. تستمر هذه العملية حتى تبدأ درجات اللياقة للتمريرات الفرعية في الركود والتقارب. في هذه النقطة، يتم إيقاف الخوارزمية.
مراحل الخوارزمية الجينية
تحتوي أي خوارزمية جينية على المراحل التالية.
graph TB
B([الاختيار]) ==> C([التقاطع]);
C ==> D([الطفرة]);
D ==> B; يتم شرح المراحل على النحو التالي.
الاختيار
خلال هذه المرحلة، تجد الخوارزمية تمريري التحسين الأكثر ملاءمة باستخدام درجات اللياقة الخاصة بهما.
التقاطع
بعد العثور على تمريري التحسين الأكثر ملاءمة، تستخدمهما الخوارزمية لإنشاء تمريرات فرعية (أو نسل) جديدة باستخدام مجموعات من قيم المعلمات لكلا التمريرين الأبويين.
مثال
إذا كان لدى cBot الخاص بك أربع معلمات مختلفة للتحسين، فستحصل الخوارزمية على قيم المعلمتين الأولى والثانية للتمريرات الفرعية من أحد الأبوين والمعلمتين الثالثة والرابعة من الأب الثاني.
الطفرة
في هذه المرحلة، تقوم الخوارزمية بإحداث طفرة في التمريرات الفرعية عن طريق تعديل قيمة معلمة واحدة أو أكثر بشكل عشوائي.
بعد مرحلة الطفرة، سيقوم المحسن بتشغيل تمرير تحسين فرعي جديد. بعد ذلك، سيكرر جميع المراحل ولكن فقط إذا كانت درجة اللياقة لتمرير فرعي أعلى من آخر تمرير تحسين أكثر ملاءمة. ستعني مثل هذه النتيجة أن هناك مجالًا للتحسين، مما يشير إلى ضرورة استمرار التحسين.
وإلا، ستزيد الخوارزمية من عداد الركود الخاص بها. إذا وصل عداد الركود إلى قيمة معلمة فترة ركود الخوارزمية، فسيتم إيقاف عملية التحسين تلقائيًا.
معلمات الخوارزمية الجينية
تستخدم الخوارزمية الجينية عدة معلمات خلال فترة حياتها. لا يمكن تغيير هذه المعلمات.
| المعلمة | التعريف |
|---|---|
| حجم الحلول | الحجم الأقصى للمجموعة أو العدد الأقصى للتمريرات التي تتم خلال كل تكرار للتحسين. |
| الحد الأقصى لعدد التكرارات | الحد الأقصى لعدد تكرارات التحسين التي تقوم بها الخوارزمية. |
| فترة الركود | القيمة القصوى لعداد الركود. إذا تم الوصول إلى هذه القيمة، يتم إيقاف الخوارزمية. |
| النسبة المئوية للنخبة | تُستخدم هذه القيمة لاختيار نسبة X% من الأفراد ذوي أعلى درجات اللياقة من التكرار الحالي للخوارزمية. ستبقى هذه التمريرات حتى التكرار التالي. |
| النسبة المئوية لحجم البطولة | تُستخدم هذه القيمة لاختيار نسبة X% من الأفراد من تكرار للعثور على تمريرات الآباء. |
| النسبة المئوية للمهاجرين | تُستخدم هذه القيمة لإضافة نسبة X% من التمريرات التي تم إنشاؤها عشوائيًا خلال كل تكرار جديد أو جيل جديد من المجموعة. |
| النسبة المئوية للطفرة | النسبة المئوية لمعلمات تمريرات النسل التي سيتم إجراء طفرة عليها. |
| النسبة المئوية لاحتمالية الطفرة | النسبة المئوية لتمريرات النسل التي سيتم إجراء طفرة عليها. لن تمر التمريرات غير المدرجة في هذه النسبة المئوية بمرحلة الطفرة. |