د. محمد العبد
مشكلة التحسين في علم الرياضيات هي مشكلة العثور على القيم الصحيحة لمجموعة من المتغيرات من أجل التوصل إلى أكبر (أو أصغر) قيمة ممكنة لمؤشر أداء أو أكثر. وتنطوي العديد من التطبيقات الهندسية على هذا النوع من المشكلات. فعلى سبيل المثال؛ ما هي أفضل المواقع الممكنة (المتغيرات) لمجموعة من أبراج الإرسال من أجل تحقيق أكبر تغطية للشبكة (مؤشر الأداء)؟ أو ما هي أفضل جدولة زمنية (المتغيرات) لخط الإنتاج في أحد المصانع من أجل تحقيق أقل تكلفة للمنتج (مؤشر الأداء)؟
يوجد عدد كبير من الطرق التقليدية في الرياضيات لحل هذا النوع من المشكلات، لكن الكثير من هذه المشكلات لها خواص شديدة التعقيد؛ فقد تعجز هذه الطرق عن حل المشكلة أو قد تستهلك كثيراً من الوقت للتوصل إلى الحل الأمثل، أو على الأقل التوصل إلى حل مقبول.
الخوارزميات الإرشادية تمثل طريقة أخرى لحل مشكلات التحسين؛ لأنها تستطيع العثور على حل مقبول في وقت قصير. ومن هذه الخوارزميات ما يبدأ بحل عشوائي وحيد للمشكلة، ثم يعمل على تحسينه باتباع خطوات مكررة، ومثال ذلك (خوارزمية محاكاة التلدين).
ويندرج تحت إطار هذه الخوارزميات أيضاً ما يُسمى بالخوارزميات السكانية التي تبدأ بمجموعة من الحلول العشوائية (بدلاً من حل وحيد) ثم تعمل على تحسينها تدريجياً باتباع خطوات مكررة. ويُسمى هذا النوع بـ(الخوارزميات السكانية)؛ لأن الحلول العشوائية التي تبدأ بها تُمثل الجيل الأول من السكان.
أما الخطوات المتبعة لتحسين هذه الحلول فتكون مستوحاة في كثير من الأحيان من الطبيعة. وتنقسم الخوارزميات المستوحاة من الطبيعة إلى نوعين: النوع الأول هو الخوارزميات الوراثية المستوحاة من نظريات الانتقاء الطبيعي والاختلاط الجيني والتحول الوراثي. أما النوع الثاني فهو خوارزميات الأسراب المستوحاة من سلوك الكائنات الحية.
وتعد أساليب البحث عن الطعام المتبعة من عدد من الكائنات الحية من أنماط السلوك التي ألهمت العلماء من أجل تطوير العديد من هذه الخوارزميات المستوحاة من الطبيعة والمستخدمة حالياً في كثير من التطبيقات الهندسية.
وتعتمد الفكرة الرئيسية على الاستعاضة عن الكائن الحي بأداة البحث، والبيئة المحيطة بفضاء البحث (أو ما يُسمى بفضاء الحلول)، وأخيراً مصادر الغذاء بحلول المشكلة.
ويتم تحسين كل حل على حدة بأداة بحث مختلفة. وتقوم أدوات البحث بتحسين هذه الحلول باتباع طرق في الرياضيات تحاكي طريقة البحث عن الطعام لهذا الكائن الحي، وتتبادل أدوات البحث المعلومات فيما بينها كما تفعل هذه الكائنات الحية. وعن طريق تكرار هذه المعادلات يزداد احتمال العثور على الحل الأمثل للمشكلة.
خوارزمية مستعمرة النمل
تستلهم هذه الخوارزمية خطواتها من أسلوب بحث مستعمرة من النمل عن الطعام. في البداية، لا توجد أي معلومة عن مصادر الغذاء المتوافرة حول المستعمرة لذا يبحث النمل عنها بطريقة عشوائية. وعندما يعثر بعض النمل على مصدر للغذاء يعود إلى المستعمرة في الوقت الذي يقوم فيه بوضع مادة كيميائية على طريق العودة حتى يتمكن بقية النمل من الوصول إلى هذا الموقع.
ويعتمد تركيز المادة الكيميائية الموضوعة على كميات الغذاء المتوافرة في هذا المكان؛ أي إن هذه المادة الكيميائية تحوي معلومات عن جودة موقع الغذاء وكيفية الوصول إليه. وفي حالة الوصول لهذا الموقع بأكثر من طريق فإن للنمل قدرة على تمييز أقصر هذه الطرق وتتبعها. وتمثل هذه المادة الكيميائية نوعاً غير مباشر من تبادل المعلومات بين النمل.
خوارزمية مستعمرة النحل الصنعية
تستلهم هذه الخوارزمية خطواتها من أسلوب بحث سرب من نحل العسل عن الطعام. وهناك فئتان من عسل النحل تتبادلان المعلومات فيما بينهما من أجل العثور على مصادر الغذاء. الفئة الأولى هي فئة النحل العاملة التي تقوم باستغلال مصادر الغذاء الحالية، وفئة النحل غير العاملة المكلفة بمواصلة البحث عن مصادر جديدة.
وتنقسم فئة النحل غير العاملة إلى النحل المشاهد الذي يذهب إلى مصادر الغذاء الغنية والنحل الكشاف الذي يبحث عن مصادر غذاء جديدة بطريقة عشوائية. ويُجدر الإشارة هنا إلى أن هناك خوارزمية أخرى تُسمى بخوارزمية النحل تستلهم خطواتها من الظاهرة نفسها لكن باستخدام معادلات في علم الرياضيات مختلفة.
خوارزمية البكتيريا
تستلهم هذه الخوارزمية خطواتها من أسلوب بحث سرب من بكتيريا القولون عن الطعام. تمر هذه البكتيريا عبر أربع مراحل في عملية البحث هي: الانجذاب الكيميائي، الحشد، الاستنساخ، ثم الإزالة والتشتيت. وأثناء مرحلة الانجذاب الكيميائي تتحرك البكتيريا في اتجاه ازدياد التركيز الغذائي. وأثناء مرحلة الحشد تتجمع البكتيريا في سرب واحد عند الشعور بالخطر. وأثناء مرحلة الاستنساخ تقوم البكتيريا القوية باستنساخ نفسها. وتحدث المرحلة الأخيرة عند حدوث تغير في البيئة المحيطة مما يؤدي إلى موت بعض البكتيريا (الإزالة) أو النزوح من منطقة إلى إخرى (التشتت).
ويتم تبني هذه الخطوات في الخوارزمية كالآتي: في مرحلة الانجذاب الكيميائي تتحرك أدوات البحث في فضاء البحث في اتجاه تناقص الميل، وفي مرحلة الحشد تتجمع أدوات البحث بعضها مع بعض، وفي مرحلة الاستنساخ يتم استنساخ أدوات البحث التي تتبع أفضل الحلول، وأخيراً تحدث الإزالة بإهمال أدوات البحث التي تتبع حلولاً سيئة، ويتم التشتيت بإضافة أدوات بحث جديدة تتيح حلولاً تم اختيارها بعشوائية. ويتم تكرار هذه المراحل الأربع حتى التوصل إلى حل مقبول للمشكلة.
تحسين سرب الجزيئات
تستلهم هذه الخوارزمية خطواتها من أسلوب بحث سرب من الطيور أو مجموعة من الأسماك عن الطعام، حيث يُلاحظ دائماً أن الطيور تطير في سرب واحد بطريقة متجانسة. وتم استلهام أسلوب الطيران في هذه الخوارزمية عن طريق جعل أدوات البحث تطير في فضاء البحث بالطريقة نفسها. وتحاكي الخوارزمية طريقة الطيران هذه بأن يكون لكل أداة بحث سرعة في اتجاه مختلف عن أدوات البحث الأخرى، ويتم تحديث السرعة بناءً على معلومات خاصة بأداة البحث هذه، وأيضاً معلومات خاصة بأفضل أداة بحث في السرب (التي تتبع أفضل الحلول). ويلاحظ أن هذا يحاكي اتباع الطيور لأقرب طائر للطعام. وتتميز هذه الخوارزمية عن باقي الخوارزميات بسهولة التطبيق وقلة عدد المعاملات المطلوب تحديدها.
خوارزمية الذئاب الرمادية
تستلهم هذه الخوارزمية خطواتها من تسلسل القيادة وأسلوب البحث عن الطعام المتًبع من مجموعة من الذئاب الرمادية. وتعتبر الذئاب الرمادية من الحيوانات المفترسة التي تقبع على قمة الهرم الغذائي. والتسلسل القيادي في المجموعة يتضح في وجود أربعة أنواع من الأفراد داخل الجماعة.
أولاً: يوجد ما يُسمى بالألفا وهما ذكر وأنثى مسؤولان عن اتخاذ القرارات المتعلقة بالصيد.
ثانياً: يوجد ما يُسمى بالبيتا الذي يساعد الألفا على اتخاذ القرارات، وينقل هذه القرارات إلى بقية أفراد المجموعة، ثم يبلغ الألفا بالنتائج.
ثالثاً: يوجد ما يُسمى بالدلتا، وهي الذئاب المسؤولة عن الحراسة والصيد ومراعاة الجرحى والمرضى في المجموعة.
رابعاُ: يوجد ما يُسمى بالأوميغا، وهي خاضعة لكل الذئاب الأخرى.
و تنقسم عملية الصيد إلى ثلاث خطوات هي تتبع مطاردة ومحاصرة الفريسة، ثم تطويق الفريسة حتى تتوقف عن الحركة. وأخيراً الهجوم على الفريسة.
ويتم تبني هذه الخطوات في الخوارزمية باعتبار أفضل أداة بحث في المجموعة (التي تتبع أفضل الحلول) هي الألفا وتكون ثاني وثالث أفضل أدوات بحث هما البيتا والدلتا، وبقية أدوات البحث هي الأوميغا. ثم يتم اتباع مجموعة من المعادلات في الرياضيات المُطورة خصيصاً لمحاكاة عملية الصيد.