خوارزميات النحل، الخوارزميات الثورية في مجال الحوسبة التحسينية

هذه المقالة هي الجزء 11 من 12 في سلسلة أشهر الخوارزميات التحسينية المستوحاة من الطبيعية

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

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

تستخدم هذه الخوارزمية في حل المشاكل المستمرة و المشاكل المتقطعة، مثل خوارزميات الساكنة الأخرى. ولتنفيد هذا تقوم ببحث محلي بجوار الحلول المحلية، المكتشفة بواسطة بحث شامل و غير مركز.

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

سلوك نحل العسل

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

كفاءة البحث مفتاح البقاء

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

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

كفاءة البحث كمصدر إلهام

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

خوارزميات النحل

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

لكن انطلاقا من الأدبيات العلمية والأوراق البحثية نجد أن خوارزمية نحل العسل Honeybee Algorithm قد تم تطويرها سنة 2004 على يد كريغ توفي Craig A. Tovey من معهد جورجيا للتكنولوجيا، و سونيل نكراني Sunil Nkarani من جامعة أوكسفورد. وفي أواخر 2004 وبداية 2005 طور عالم الرياضيات والحاسوب شين شي يانغ Xin She Yang من جامعة كامبريدج خوارزمية النحلة الافتراضية Virtual Bee Algorithm، لحل مشاكل التحسين العددية. هذه الخوارزمية قادرة على مواجهة المشاكل المستمرة و المتقطعة.

وفي وقت لاحق من سنة 2005 طور حداد Haddad و أفشار Afshar وزملاءهما خوارزمية تحسين تزاوج نحل العسل Honeybee mating Optimization. والتي استخدمت في تصميم الخزانات والتعنقد clustering. وفي نفس الفترة الزمنية طور كارابوجا D. Karaboga خوارزمية النحل الاصطناعية Artificial Bee Algorithm للتحسين العددي.

خوارزمية نحل العسل

يتم توجيه النحل العامل في خوارزمية نحل العسل Honeybee Algorithm نحو عدد من مصادر الطعام. من أجل الحصول على أكبر كمية من الرحيق. عملية التوجيه هذه تقوم على عدد من العوامل، مثل تركيز الرحيق في المنطقة المعنية وكذلك قربها من المستعمرة. وسنجد أن عملية التوجيه هذه مشابهة لعملية توزيع خوادم استضافة الويب allocation of web-hosting servers على الإنترنت. وبالتالي، كان هذا المشكل من أوائل المسائل التي تم حلها بواسطة خوارزميات النحل، وبالضبط خوارزمية نحل العسل.

باعتبار Wi(j) قوة تذبذب رقصة النحلة i خلال خطوة التنفيد j، نجد أنه من الممكن تحديد احتمالية اتباع نحلة معينة للمصدر المشار إليه بعد مشاهدة الرقصة بواسطة عدد من الصيغ وذلك اعتمادًا على المتحور المستعمل، فنجد الصيغة المطبقة في خوارزمية نحل العسل كالتالي:

يمثل العدد الصحيح الطبيعي nf عدد النحلات العاملة الباحثة، و t دورة البحث الحالية. وبالتالي عدد النحلات المراقبة للرقصات هو N-nf أي مجموع النحلات ناقص عدد النحلات غير المتفرغة، بسبب بحثها.

يمكن كذلك تحديد معادلة لاحتمالية الاستكشاف ممثلة بصيغة إحصائية أخرى، فنجد الصيغة الغاوسية الجديدة:

فنجد σ تعبر عن معدل التطاير volatility، وهذه القيمة التي تتحكم في استكشاف وتنوع مناطق البحث المختارة.

عند عدم رقص أي نحلة نجد:

ما يعني أن النحلات ستبحث عشوائيًا.

في متحورات أخرى، عند تطبيقها لحل المشاكل المتقطعة مثل مشاكل الجدولة، تقوم النحلة الباحثة بأداء رقصة معينة في مدة زمنية محددة τ = γ fp. بحيث تعبر fp عن ربحية أو غنى منطقة الطعام، أي حقل الزهور وتركيز الرحيق بها. بينما γ هي معامل تحجيم للتحكم في الفترة الزمنية للرقصة. بالطبع الربحية مرتبطة بالدالة الهدف.

بالإضافة لهذا، يتم تصنيف كل مسار بطريقة ديناميكية. فنجد أن مسار أكبر عدد من النحلات هو المسار المفضل للخلية. كما أن احتمالية اختيار طريق بين نقطتين في مشكل توجيهي معين يمكن أن تتم وفق الصيغة التالية:

نجد 0<α و 0<β معاملا تأثير. Wij تعبر عن قوة الرقصة. وأيضا نجد أن dij تمثل معدل استحسان الطريق.

على غرار خوارزميات مستعمرة النمل، فخوارزمية نحل العسل HBA، جد فعالة في التعامل مع مشاكل التحسين المتقطعة مثل مشاكل التوجيه والجدولة. لكن في مواجهة التحسين المستمر، فهي غير مباشرة، وبالتالي في حاجة إلى بعض التعديلات.

خوارزمية النحلة الافتراضية

طورت خوارزمية النحلة الافتراضية Virtual Bee Algorithm من طرف Xin She Yang سنة 2005 من أجل مواجهة المشاكل المستمرة والمتقطعة. بحيث تتشابه في عدد من خصائصها خوارزمية استمثال عناصر السرب Particle Swarm Optimization أكثر من خوارزميات النحل الأخرى، ويقصد ب”الاستمثال” التحسين. في هذه الخوارزمية تمثل الدالة الهدف قيم الرحيق الافتراضية، بينما الحلول المحتملة هي مواقع غنية، بكميات متفاوتة، بالرحيق. كما أن قوة الرقصة تعتمد فقط على تركيز الرحيق، والذي يمكن اعتباره هنا معاملًا للملائمة fitness للحلول المحتملة.

في مواجهة المشاكل المتقطعة يتم ربط الدالة الهدف، مثل دالة تحديد الطريق الأقصر، مباشرة بربحية عملية استكشاف الرحيق. والتي بدورها ترتبط عملية استكشاف الرحيق، بقوة رقصة النحلة.

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

خوارزمية مستعمرة النحل الاصطناعية

في هذه الخوارزمية، خوارزمية مستعمرة النحل الاصطناعية Artificial Bee Colony Algorithm، يتم تقسيم نحلات المستعمرة لثلاث أنواع. النحلات العاملة، والنحلات الكشافة، والنحلات المراقبة. فنجد لكل مصدر طعام نحلة عاملة واحدة تبحث محليًا عن الحل المحلي الأمثل. فيما يحاكي عملية استخراج الرحيق والانتقال من زهرة إلي أخرى. كما أن التخلي عن مصدر طعام معين، عند نضوبه أو انخفاض ربحيته، يعني مباشرة تحول نحلته العاملة إلي نحلة كشافة. فتبحث النحلة الكشافة بشكل عشوائي عن مصادر طعام أخرى.

تتشارك النحلات العاملة والنحلات الكشافة معلوماتها مع النحلات المراقبة، والتي تتمركز في الخلية. هذه الأخيرة، فيما بعد، تقرر منطقة بحثها متخذتةً بعين الاعتبار المعلومات التي وصلت إليها. لتصبح هي الأخرى نحلات عاملة وتنضم للفريق.

تطبيقات خوارزميات النحل

لكونها خوارزميات ناجحة، يمكن تطبيقها لحل مختلف أنواع المشاكل التحسينية. فنجد خوارزميات النحل حاضرة في كل مجالات التحسين الحوسبي فمن تطبيقاتها نجد:

  • تدريب الخلايا العصبية الاصطناعية.
  • تدريب نماذج الذكاء الاصطناعي.
  • التعلم العميق.
  • التصميم الصناعي.
  • مخطط الرقابة Control Chart في الهندسة الصناعية.

وتبقى التطبيقات الحالية كثيرة، والأخرى الممكنة لا حصر لها فالبحث لا زال جاريًا، والأفق مفتوح.

مصادر

  1. Nature Inspired Optimization Algorithms by Xin She Yang
  2. أطروحة دكتوراه للدكتور أبوبكر كوش.
  3. Wikipedia

خوارزمية الخفاش، الخوارزمية الثورية المستوحاة من البحث بالصدى

هذه المقالة هي الجزء 9 من 12 في سلسلة أشهر الخوارزميات التحسينية المستوحاة من الطبيعية

الخفافيش حيوانات مذهلة. فإضافة لكونها الثدييات الوحيدة المجنحة، لديها قدرة متقدمة أيضًا على تحديد واستكشاف محيطها بالصدى. ويقدر أن هنالك حوالي 1000 نوع مختلف من الخفافيش، وتمثل ما يصل إلى 20٪ من جميع أنواع الثدييات. ووزن الخفاش يتراوح من حوالي 1.5 غرام – إلى غرامين ما يمثل الخفافيش الصغيرة – إلى ما يتجاوز الكيلوغرام، أي الخفافيش العملاقة ذات الأجنحة التي يناهز طولها، عند التمدد، المترين.

تستخدم معظم الخفافيش قدرتها على الاستشاعر و التوجه بالصدى بنسب متفاوتة في حياتها اليومية. لكن بين كل أنواعها، الخفافيش الصغيرة Microchiroptera أو Microbats هي الأكثر اعتمادًا واستخدامًا لهذه القدرة. في حين أن الخفافيش الكبيرة نسبيًا والخفافيش العملاقة Megachiroptera لا تستعملها كثيرًا، أو قد تستغني عنها تمامًا.

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

هذه الخفافيش تطلق صوتًا مرتفعًا، فتصطدم هذه النبضات الصوتية وترتد عن الأجسام المحيطة ممكنةً الخفافيش التي أصدرتها من التقاطها مرة وأخرى. الشيء الذي يخولها إمكانية تصور محيطها بطريقة ثلاثية الأبعاد. وتختلف هذه النبضات في حدتها ومستواها من نوع لأخر، أو مجموعة لأخرى. بحيث أنها قد تعتمد أيضًا على استراتجية المجموعة في الصيد.

تظهر الدراسات أن الخفافيش الصغيرة تستخدم التأخر الزمني بين إصدار الصوت وإلتقاط الصدى. كما تستخدم الفرق الزمني بين الالتقاط من أذن إلي أخرى، واختلافات مستوى الصدى لبناء بنية ثلاثية الأبعاد لمحيطها. ما يمكنهم من التعرف على المسافة، واتجاه الهدف، ونوع الفريسة، وحتى سرعة حركة الفريسة – والتي غالبا ما تكون حشرات صغيرة. وما يدعو للعجب هو أن الدراسات والملاحظات تشير إلى كون الخفافيش الصغيرة قادرة على التمييز بين الفرائس التي تستهدفها انطلاقًا من تأثير دوبلر Doppler المولد بفعل حركة أجنحة هذه الحشرات. فيعني هذا عمليًا أن الخفافيش تبصر باستخدام الصوت، وليست في حاجة لابصار شيء. هذا ما يفسر ميلها نحو النشاط الليلي رغم قدرتها على الإبصار نهارًا. وذلك رغم عدم قدرتها على الرؤية ليلًا مثل القطط والحيوانات الليلية الأخرى.

خصائص البحث بالصدى

رغم استمرار نبضات الصدى لأجزاء قليلة من الألف من الثانية، من 8 إلي 10 مللي ثانية، فإن لها ترددًا ثابتًا يتراوح بين 25 كيلو هرتز و150 كيلو هرتز. عمومًا نجد متوسط هذا التردد عند أغلب أنواع الخفافيش بين 25 و 100 كيلو هرتز. في حين أن أنواعًا قليلة فقط تصل ل 150 كيلو هرتز.
تختلف مدة استمرار النبضات وعددها حسب الظروف والنوع. فنجد أن الخفافيش الصغيرة تستطيع إصدار ما يتراوح بين 10 و 20 نبضة فوق صوتية خلال كل ثانية. هذه النبضات قادرة على الاستمرار بين 5 و 20 جزء من الألف من الثانية. لكن عند عملها على اصطياد فريستها واقترابها منها، قد يتسارع عدد هذه النبضات لما قد يصل إلي 200 نبضة فوق صوتية في الثانية الواحدة. وإن دل كبر هذا العدد على شيء فإنه يدل على مدى قوة قدرة أدمغة هذه الخفافيش على معالجة هذا الكم الكبير من المعلومات بهامش زمني صغير، وأن لها أذانًا جيدة للغاية. فتجد الدراسات أن وقت دمج أذن الخفافيش integration time يتراوح بين 300 و400 مللي ثانية. لكن أذان البشر أفضل بوقت دمج لا يتجاوز 100 جزء من الألف من الثانية.

نظرًا لكون سرعة الصوت في الهواء عند درجة حرارة الغرفة، أي 20 درجة سيلسيوس، تقارب 340 متر في الثانية. فإن الطول الموجي λ لكل نبضة يتراوح بين 2 و 14 مللي متر. باعتبار ترددها بين 25 و 150 كيلو هرتز. من الواضح أن هكذا أطوال موجية تجاور أطوال وأحجام فرائس هذه الخفافيش. والمثير للدهشة حقًا هو أن النبضات المنبعثة يمكن أن تعلو ويصل مستواها ل 110 ديسيبل. وكذلك من حسن حظ هذه الخفافيش أن تردد أصواتها يوجد في منطقة الموجات فوق الصوتية، إذ كانت لتباد من قبل البشر الأوائل أو حتى قبل ذلك من المفترسات الأخرى، فصوت بتلك الحدة ليس مزعجًا فقط بل وقد يسبب إجهادًا نفسيًا.

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

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

استنباط آلية عمل خوارزمية الخفاش

إن استنبطنا بعضًا من خصائص آلية بحث الخفافيش بالصدى، يمكننا تطوير عدد من الطرق الخوارزمية الصالحة للتطبيق في مواجهة المشاكل التحسينية. ومن أجل هذا، يمكن أن نخلص لثلاث أفكار رئيسية، وهي المفاهيم التي ستعتمدها خوارزمية الخفاش في تنفيذها:

  1. جميع الخفافيش قادرة على إدراك المسافة التي تفصلها بين الأجسام التي تحيط بها. كما أنها أيضًا قادرة على التمييز بين هذه الأجسام، إن كانت طرائد أو فقط معوقات.
  2. تحلق الخفافيش بسرعة معينة قد تختلف من نقطة لأخرى. إضافة لإمكانية تعديل تردد موجات نبضاتها، وبالتالي الطول الموجي، و كذلك التحكم في عدد النبضات في الثانية.
  3. ورغم إمكانية تغيير مستوى الصوت بطرق مختلفة إلا أننا نفترض تغيره بين قيمتين A 0 موجبة وA min سالبة.

آلية عمل خوارزمية بحث الخفاش

حركة الخفافيش

عند محاكاة هذه الآلية يتوجب علينا تعريف الخفافيش الافتراضية. وذلك بوضع قواعد تحدد كيفية تغير وتحديث مواضعها وسرعاتها في فضاء مستمر متعدد الأبعاد. الشيء الذي يمكننا تحقيقه استنادًا لعدد من الصيغ والمعادلات، وهي كالتالي:

لتحديث التردد.
لتحديث السرعة.
لتحديث الموضع.

لكون الفضاء المدروس متعدد الأبعاد فإننا نتعامل مع متجهات، نجد بيتا عبارة عن متجهة عشوائية من التوزيع المنتظم، ذات مقادير محصورة بين 0 و 1. وتمثل *X الحل الحالي الأمثل والذي نحصل عليه بعد مقارنة جميع الحلول التي وجدتها الخفافيش الافتراضية. ولكون التردد والطول الموجي، والذي هو سرعة الصوت، ثوابت، يمكننا استخدام أي منهما في المعادلة الثانية من أجل ضبط تغير السرعة. وفي التنفيذ، يمكن وضع f min = 0 كمقدار أدنى للتردد و f max = O(1) انطلاقًا من حجم فضاء البحث. وعند وضع الخفافيش الافتراضية، يتم منحهم قيم تردد موزعة بين القيمتين الدنيا والقصوى.

وفيما يخص البحث المحلي، فعند انتقاء الأفضل بين الحلول الحالية التي يقدمها كل خفاش، يتم توليد حل عشوائي جديد لكل واحد انطلاقًا من صيغة سير عشوائي random walk وتكون كالتالي:

بحيث تمثل ε عددا بين 1- و 1، بينما A تعبر عن متوسط مستوى الصوت للخفافيش الافتراضية خلال الخطوة الحالية.

من وجهة نظر تنفيذية، يستحسن إضافة معلمة σ لتحجيم مدى الخطوة. وبالتالي تتغير معادلة السير العشوائي للصيغة التالية:

في حالتنا هذه تستمد εt قيمتها من التوزيع الطبيعي (0,1)N.

مستوى الصوت وإصدار النبضات

عند كل دورة تكرار، يجب تحديث قيم مستوى الصوت A0، و معدل إصدار النبضات ri وفقًا لبعضها البعض. وذلك لكون خفض الخفافيش لمستوى الصوت المنبعث عند اقترابها من فريستها. كما تزيد من عدد النبضات التي تصدرها خلال الثانية الواحدة. ولا يوجد شرط أو مانع من تحديد قيم مختلفة لمستوى الصوت بدئيًا في كل تنفيذ، فيمكننا اختيار A0 = 1 و A min = 0. ما يعني افتراضًا أن الخفاش بدئيًا يكون بقرب فريسته ويتوقف مؤقتًا عن إصدار أي صوت. ويمكن تلخيص كل هذا اعتمادًا على الصيغ التالية:

بحيث نجد أن ألفا α و غاما γ ثوابت. وهذه الثوابت تشبه نظيرتها في خوارزمية التخمير المحاكى بحيث يمكن تشبيه ألفا بمعدل التبريد في جدولة التلدين. فلكل 1>ألفا>0، و 0<غاما، نجد:

وتتطلب عملية اختيار معلمات الضبط بعضًا من التجربة والخطأ. فبدئيًا يجب أن يصدر كل خفاش مستوى صوت مختلف، مما يمكن الوصول إليه باعتماد العشوائية. فيمكننا، على سبيل المثال، أخد 1 كقيمة بدئية لمستوى الصوت و مقدار أخر بين 0 و 1 كقيمة لمعدل النبضات. وسيتم تحديث هذه القيم فقط عند تحسن قيمة الحل الأفضل الحالي، مما يعني اقتراب أحد الخفافيش من فريسته، أي في حالتنا هذه الحل الأمثل.

تحليل التقارب

قام جورج هوانغ G.Q. Huang وزملاؤه ببحث تفصيلي ومعمق لتحليل آلية تقارب خوارزمية الخفاش وذلك باستخدام نظرية معالجة ماركوف المتناهية finitie Markov process theory. ما مكنهم من أن يخلصوا لكون خوارزمية الخفاش تحقق جميع شروط ضمان التقارب للحل الأمثل في تحسين الدوال الهدف غير المقيدة Unconstrained objective functions. وبالنسبة للدوال المقيدة وغير الخطية، تتقارب هذه الخوارزمية للحل الأمثل باستعمال ضبط معين، initialization of orthogonal Latin squares.

واقترح الفريق أيضًا متحورًا مغايرًا بسرعة تقارب أعلى، وأطلقوا عليه اسم خوارزمية الخفاش المعدلة Modified Bat Algorithm، أو اختصارا MBA. كما بينوا أيضا قدرة هذا المتحور على مواجهة المشاكل التحسينية الضخمة بكفاء أعلى.

متحورات خوارزمية الخفاش

تعمل خوارزمية الخفاش الأساسية بشكل جيد في مواجهة الدوال الهدف المستمرة. ولكن للتعامل مع المشاكل ذات الدوال غير المستمرة ومعالجة المشاكل التوافقية، نجد أن هنالك حاجة إلى بعض التعديلات وابتكار متحورات جديدة. لذلك طور ناكامورا وزملاؤه الباحثين ما يسمى بخوارزمية الخفاش الزوجية Binary Bat Algorithm، أو اختصارًا BBA. من أجل حل هذة المشكلة لمواجهة الدوال الهدف المتقطعة.

ومن أجل غايات وأهداف مماثلة نجد العديد من المتحورات مختلفة الاستعمالات مثل:

  • خوارزمية خفاش المنطق الضبابي Fuzzy Logic Bat Algorithm.
  • خوارزميات الخفاش متعددة الأهداف Multi-objective Bad Algorithm، من طرف نفس مطور خوارزمية الخفاش الأصل شين شي يانغ.
  • خوارزمية الخفاش الفوضوية Chaotic Bat Algorithm.

بالإضافة إلى العديد من المتحورات والامتدادات الأخرى.

تطبيقات خوارزمية الخفاش

يرجع تعدد متحورات خوارزمية الخفاش في الأساس لقوتها ومدى فعاليتها. فنجد أنه منذ تطويرها في سنة 2010 من طرف عالم الرياضيات والحاسوب شين شي يانغ Xin She Yang، تم استخدامها في كل مجالات التحسين الحوسبي. كما تم دراسة فاعليتها في مواجهة أغلب المشاكل التحسينية المعروفة. ومن بين هذه التطبيقات نجد:

  • معالجة المشاكل التحسينية المستمرة مثل التصميم الصناعي والهندسة المعمارية.
  • تحسين المشاكل التوافقية والجدولة، ما يمكن من حل مختلف مشاكل NP الصعبة.
  • المشاكل المعاكسة وتقدير المعلمات، مثل مشاكل تصميم الإلكترونيات الدقيقة وتدبير نقل الحرارة.
  • معالجة الصور والذكاء الاصطناعي.

مصادر

  1. Nature Inspired Optimization Algorithms by Xin She Yang

ما هي خوارزمية مستعمرة النمل Ant Colony Algorithm وكيف تعمل؟

هذه المقالة هي الجزء 10 من 12 في سلسلة أشهر الخوارزميات التحسينية المستوحاة من الطبيعية

النمل حشرات اجتماعية، تعيش في مستعمرات منظمة يتراوح عدد أعضائها بين المليونين إلي خمسة وعشرون مليون نملة. وعند بحثها عن المؤن، تتعاون مجموعات النمل فيما بينها بمختلف الطرق. فنجد من بينها، تركها لمركبات كميائية ذات رائحة معينة، أو فيرومونات من أجل التواصل مع بعضها البعض. واعتمادًا على هذه الفيرومونات تستطيع كل نملة تتبع كل مسار مشبع بها. وعند إيجاد النمل لمصدر طعام تقوم بوضع علامة كيميائية، أي وضع علامة عليه باستخدام فيروموناتها، إضافة لترك آثار كيميائية في المسار المؤدي إلى المصدر ذهابًا و إيابًا لمساعدة بقية المجموعة. تلك العمليات المعقدة أدت إلى استخدام خوارزمية مستعمرة النمل Ant Colony Algorithm في حل المشكلات الحوسبية المعقدة، فكيف حدث ذلك؟ وكيف تعمل تلك الخوارزمية؟

إنطلاقًا من البحث الأولي، والذي يكون عشوائيًا والمكلف في الوقت والجهد، تتغير تركيزات الفيرومونات من مسار لأخر. فتتبع النملات الباحثة المسار الأكثر تشبعًا. ويرجع هذا التشبع إلي تزايد عدد النملات اللاتي اتخدن هذا المسار. فباتخاد النمل لمسار محدد مرة تلو الأخرى يصبح، عمليًا، المسار المفضل. وذلك يرجع بالطبع لكونه يفيض بالفيرمونات المتروكة كعلامة من كل نملة سلكته. وهكذا تظهر طرق عديدة مفضلة نحو مصادر الطعام المكتشفة، والتي تكون غالبا هي أقصر طريق. وطريقة العمل هذه عبارة عن مثال من أمثلة ميكانيزمات رد الفعل الإيجابي positive feedback mechanisms.

السلوك المنظم للنمل

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

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

أنماط البحث الاستثنائية

تظهر أنماط البحث عن الموارد عند بعض أنواع النمل، مثل نمل الجيش army ant، مجموعة من الخصائص الاستثنائية. بحيث يقوم هذا النوع من النمل، بالبحث عن الطعام عبر عدد من الطرق الاعتيادية بزاوية فريدة وهي °123. لاعلم لنا بكيفية قدرتها على اتباع هكذا نمط و الحفاظ عليه، لكن الدراسات أظهرت أن، هذا النمل الذي ينقل مستعمرته باستمرار، يقوم مباشرة بعد انتقاله لمنطقة جديدة ببناء مستعمرته المؤقتة وبدء عملية بحثه عن الموارد.

في اليوم الأول يقوم النمل بالتجوال بطريقة عشوائية لاستكشاف محيطه، فيتحرك باتجاه معين مسافة عدة مئات من الأمتار تم يتفرع لتغطية و استكشاف مساحة أكبر. وفي اليوم التالي يختار اتجاه أخر منحرفًا عن مسار اليوم السابق بزاوية مضبوطة تساوي °123، وبالتالي تغطية مساحة كبيرة أخرى. في اليوم الذي يليه، يختار مرة أخرى اتجاه مختلفا بنفس الزاوية. بهذه الطريقة يقوم أفراد المجموعة بتغطية المنطقة كاملة في غضون أسبوعين و بعدها ينتقلون لمنطقة جديدة للاستقرار بها مؤقتًا واستكشافها والاستفادة من مواردها.

الملفت للنظر في هذا الأمر أن النمل لا يختار زاوية °120 بل °123 بالضبط، ما يكنهم بحلول اليوم الثالث من ترك زاوية °10 عن اتجاه اليوم الأول. ما يعني أن النمل سيغطي كل المنطقة الدائرية في غضون أربعة عشر يوما بدون تغطية أي مساحة تم البحث فيها مسبقا. ما يجعل من هذه الظاهرة جد رائعة وفريدة في عالم الحيونات والحشرات.

مراحل البحث في خوارزمية مستعمرة النمل Ant Colony Algorithm

للتبسيط نأخد مسارين فقط بين مصدر الطعام و المستعمرة، يمكن تحليل المراحل كما التالي:

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

آلية عمل خوارزمية مستعمرة النمل Ant Colony Algorithm

اعتمادًا على خصائص سلوكيات النمل هذه، طور العلماء عدد كبير من خوارزميات مستعمرة النمل القوية، لتحقق تقدمًا كبيرًا في السنوات الأخيرة. فانطلاقًا من السنوات التي تلت تقديمها أول مرة من طرف ماركو دوريغو Marco Dorigo، سنة 1992، كمثال ناجح للخوارزميات المستوحاة من الطبيعة، ظهر عدد ضخم من المتحورات والامتدادات لها.

فلمواجهة مشكل تجسيد هذه الخصائص بطريقة خوارزمية، نجد أنفسنا أمام مبدأين وهما احتمالية اختيار الطريق المناسب، و معدل تبخر الفيرمونات. ويوجد عدد من الطرق لفعل هذا، رغم كون هذا المشكل لا زال مطروحًا لمزيد من البحث، لكن سنتحدث عن أفضل طريقة معتمدة حاليًا.

احتمالية اختيار المسار

في مشكلة توجيه الشبكة network routing، تكون احتمالية اختيار نملة في نقطة i التوجه نحو نقطة j ممثل بواسطة الصيغة التالية:

بحيث ألفا و بيتا قيمتين موجبتين، غالبا ما تكون قيمتهما في جوار 2. Φij تعبر عن تركيز الفيرومونات في المسار بين النقطتين i و j. و dij تعبر عن قابلية اتخاد ذلك الطريق استنادًا لمعلومات مسبقة عنه.

ما يعني أن المسار الأقصر هو الذي سيُسلك لكون مدة عبوره أصغر وبالتالي تركيز الفيرومونات عالٍ به. وهذه الصيغة الاحتمالية تعكس حقيقة أن النمل سيتبعون دائما المسار الأكثر تشبعًا بالفيرومونات. ففي الحالة الأبسط عند كون α=β=1، تكون هذه الاحتمالية مطابقة تماما لنسب التراكيز. وقيم المقام تقوم بمعايرة normalize هذه الاحتمالية لتحصر بين 0 و 1.

معدل تبخر الفيرومونات

يتغير تركيز الفيرومونات بمرور الزمن، فتتقلص تدريجيًا، بسبب التبخر، اعتمادًا على صيغة محددة. والأفضلية التي تكسبنا هذه الخاصية هي قدرتها على تمكيننا من تجنب الحلول المحلية. ففي أغلب حالات عدم تواجد هذه الألية، تصبح المسارات المتخذة عشوائيًا من طرف مجموعة البحث الأولى، مسارات مفضلة. وتمكننا المعادلة التالية، والتي تأخد معدل γ لاضمحلال وتبخر الفيرومونات، من تقليص هذه القيم بتقدم الزمن:

فنجد Φ0 خي القيمة البدئية لتركيز الفيرومونات، t الزمن.

إن كانت γt أصغر بكثير من 1، و تغير الزمن Δt =1، نغير المعادلة للصيغة المبسطة التالية:

مع γ تتخد قيمة بين 0 و 1. و δΦij هي قيمة الفيرمونات التي تم إضافتها خلال لحظة t في الطريق i إلي j. بالطبع عند عدم تواجد أي نملة عابرة لهذا الطريقة تكون هذه القيمة منعدمة.

دراسة تقارب خوارزمية مستعمرة النمل

يمكن إثبات قدرة عدد من متحورات خوارزمية مستعمرة النمل Ant Colony Algorithm، على التقارب نحو الحل الأمثل للمشكل المعالج خلال مدة زمنية محدودة. لكن مثل أغلب خوارزميات الأدلة العليا Metaheuristic Algorithms، من الصعب تقدير سرعة التقارب نظريًا. وهو ما يضطرنا لدراستها تجريبيًا بتغيير معلمات ضبطها. فبهكذا دراسة تم التوصل لكون أن سرعة تنفيذ الخوارزمية جد حساسة لمعلمات الضبط هذه وخصوصًا معدل تبخر الفيرومونات.

متحورات وامتدادات

تعتبر خوارزمية مستعمرة النمل Ant Colony Algorithm من مواضيع البحث المثيرة. فنظرا لإمكانياتها الهائلة نجد أن المجتمع العلمي المتخصص قد قدم عدد ضخما من المتحورات و الامتدادات انطلاقا من الخوارزمية الأصل المطورة من طرف دوريغو، ونجد من بين أشهرها:

  • الخوارزمية الأصل، خوارزمية مستعمرة النمل أو كما تمت تسميتها نضام النمل Ant System، واختصارًا AS.
  • المتحور Max-min Ant System، أو اختصارا MMAS. وتختلف هذه الأخيرة عن المتحورات الأخرى، بحصر نسب الفيرمونات في كل المسارات بين مقدارين معينين، وكون الدورة الحالية الأمثل هي فقط قادرة على ترك نسب أعلى من الفيرمونات في مسارها.
  • خوارزمية نظام تصنيف النمل Rank-based Ant System.
  • مستعمرة النمل العمودية المستمرة Continuous orthogonal Ant System.
  • خوارزميات النمل الافتراضية Virtual Ant Algorithms، لحل مشاكل التحسين التقليدية متعددة الأبعاد.
  • نظام النمل النخبوي Elitist Ant System، يهدف هذا المتحور لجعل عملية الاستكشاف تتمحور حول الحل الأمثل الحالي. وذلك بجعل كل المسارات مرتبطة بالمسار الحالي الأفضل.
  • خوارزمية نظام مستعمرة النمل Ant Colony System، أو ACS. بحيث تختلف عن الأصل في 3 نقط أساسية وهي: اختيار المسار منحاز لقدرتنا على استغلاله على مدار التكرارت التالية. تغير النملات معدل الفيرمونات في المسار المختار بكم مختلف من مسار لأخر. عند نهاية كل دورة، النملة الأفضل وحدها مخولة لتغيير نسب الفيرمونات في المسارات المتعددة، والتي ستتخدها المستعمرة في الدورة التالية.

تطبيقات خوارزمية مستعمرة النمل ومتحوراتها

تتكون الأنظمة المعقدة من عقد متفردة، لذلك يمكن تمديد هذه الخوارزمية لحل مشاكل توجيه جد معقدة Complex routing problems بطريق فعالة. ففي الواقع نجد أن خوارزمية مستعمرة النمل ومتحوراتها قد تم تطبيقها لحل المشكلات الضخمة الآتية:

  • مشكل توجيه الإنترنت Internet routing problem.
  • مشكل البائع المتجول Traveling Salesman Problem.

و أيضا عدد من المشاكل المتنوعة في مختلف المجالات نذكر منها:

  • مشاكل الجدولة Scheduling Problems.
  • مشاكل توجيه السيارات Vehicle Routing Problems.
  • مشاكل التوزيع Assignment Problems.
  • مشاكل المجموعات الرياضية Set Problems.
  • تحجيم الأجهزة في تصميم إلكترونيات النانو Device sizing problem in nanoelectronics physical design.
  • تصميم الأنتينات.
  • معالجة الصور.
  • التصميم الصناعي.
  • القطاع البنكي والمصرفي.
  • التنقيب عن البيانات.

و الكثير غيرها.

مصادر

  1. GeeksforGeeks
  2. Wikipedia
  3. Nature-Inspired Optimization Algorithms

لم استوحت خوارزمية البحث التناغمي من الموسيقى وكيف تعمل؟

هذه المقالة هي الجزء 7 من 12 في سلسلة أشهر الخوارزميات التحسينية المستوحاة من الطبيعية

تعد طريقة البحث التناغمي أحد خوارزميات الأدلة العلية الفعالة في حل المشاكل التحسينية، وذلك لكونها توفر البساطة وفاعلية البحث. فنجد أنه تم استخدامها في مواجهة عدد كبير من التحديات في مجال التحسين الحوسبي على مدار العقدين الأخيرين. اقترحها أول مرة “زونغ وو جيم ZW Geem” وزملاؤه سنة 2001، واستخدمت خوارزمية البحث التناغمي في حل الدوال التحسينية، وتصميم البنى الميكانيكية، وتحسين شبكات الأنابيب، وكذلك تحسين أنظمة تصنيف البيانات، وغيرها من التطبيقات.

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

ملخص طريقة عمل خوارزمية البحث التناغمي

التناغم و الترددات

تحدد هذه النغمة المثالية اعتمادًا على المعايير الجمالية للمستمع، وهو ما يستوجب ضبط جودة جمالية الأدوات الموسيقية عبر تحديد درجة النغمة pitch، أي التردد frequency، و الطابع الصوتي timbre، أي جودة الصوت quality، والذروة amplitude، أي جهارة الصوت loudness. وتحدد الدروة انطلاقًا من المحتوى التناغمي والذي يحدد بدوره بناء على الشكل الموجي وتضمين الإشارة الصوتية.

رغم ذلك سنجد أن التناغم يعتمد بالدرجة الأكبر على نطاق التردد الذي تولده الألة الموسيقية المستعملة. فباختلاف النوتات، تختلف الترددات الناتجة بالطبع. وبالتالي يتضح أن محاولة تغيير النغمة هي في الأساس محاولة لتغيير التردد الناتج، لذا ففي النظرية الموسيقية نجد أن درجة النغمة p تمثل كمقياس رقمي باستعمال الصيغة التالية:

أو

تناغم نغمتين مع نسبة تردد 2:3 وشكلها الموجي.
نوتات موسيقية عشوائية.

ما يعني أن ل A4 رقم نغمة يساوي 69، لأن ترددها هو 440 وبالتالي لوغاريتم 1 هو صفر ومنه p=69. وعلى هذا السلم نجد أن حجم الجواب، أو الأوكتاف هو 12 وحجم نصف النغمة هو 1. كما أن النسبة بين تردد نغمتين تبعدان جواب عن بعضهما هو 2:1. وبالتالي تردد نغمة يضاعف أو يخفض إلي النصف عند تغيرها بجواب. على سبيل المثال ل A2 تردد 110Hz، بينما تردد A5 هو 880Hz. لذا فرغم كون تحديد الجمالية أمر غير موضوعي ويعتمد على أذن السامع، يمكننا وضع تقدير معياري لتقدير التناغم. وذلك بالاعتماد على نسبة التردد المنسوبة لعالم الرياضيات اليوناني القديم فيثاغورس.

كمثال نجد أن جواب بنسبة تردد 1:2 جذاب عند لعبه معا، نفس الشيء لنسبة التردد 2:3. لكن من غير المرجح لأي نغمة عشوائية مثل الممثلة أعلاه أن تصدر أي صوت جميل.

ألية عمل خوارزمية البحث التناغمي

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

بناء على هذا، إذا ما عممنا اختياراتنا الثلاث هذه من أجل التحسين، نحصل على ثلاث مكونات مكافئة وهي: الذاكرة التناغمية، وضبط النغمات، وخلق العشوائية.

1. الذاكرة التناغمية

استعمال الذاكرة التناغمية أمر جد مهم بحيث يكافئ ذلك اختيار الأفراد الأصلح بين أفراد الساكنة الحالية في الخوارزميات الجينية. ما سيضمن على مر التنفيذ أن النغمات الأمثل ستحفظ وتستمر في الذاكرة التناغمية عند الجيل الجديد، أي دورة التنفيذ التالية. ولاستعمال هذه الذاكرة بفاعلية أكبر يمكننا وضع معلمة ضبط r محصورة بين 0 و 1، ونطلق عليها معدل الاعتبار أو نسبة قبول الذاكرة التناغمية. إن كانت هذه النسبة جد صغيرة سيتم اختيار عدد قليل فقط من النغمات المثلى للاستمرار، مما سيؤدي بنا لتباطؤ معدل التقارب. لكن إن كانت هذه القيمة كبيرة جدًا، أي تقارب 1، حينها سيتم استعمال كل النغمات الناتجة وتوجيهها للذاكرة التناغمية لكن دون استكشاف جيد لنغمات محتملة أخرى، ما يؤدي لإمكانية التوصل لحلول خاطئة وغير دقيقة. لهذا نستعمل عموما كقيمة ل r قيم بين 0.7 و 0.95.

2. ضبط النغمات

لتعديل النغمة قليلًا، في المكون الثاني، نستعمل طريقة تمكننا من ضبط التردد بكفاءة. نظريا يمكن تعديل النغمة بطريقة خطية أو غير خطية. لكن في التطبيق نجد أن التعديل الخطي هو المستعمل. باعتبار X old هي النغمة الحالية، نجد أن النغمة الجديدة X new تولد بواسطة الصيغة أدناه:

بحيث تعبر rand عن عدد عشوائي من التوزيع المنتظم [0,1]. هنا تمثل bp عرض النطاق، للتحكم فى مدى ضبط النغمة.

عند الملاحظة، نجد أن تعديل النغمة مماثل لعامل التطفر في الخوارزميات الجينية. وفي نفس السياق يمكننا وضع معامل لضبط معدل التعديل rpa للتحكم في درجة الضبط. وإن كان هذا المعامل جد منخفض، فلن يكون هناك تغيير ملحوظ على النغمة. لكن إن كان جد مرتفع، فقد لا تتقارب الخوارزمية، لأن التغيير سيكون جذري. لهذا، في أغلب التطبيقات، نضع هذا المعامل بين 0.1 و 0.5.

3. خلق العشوائية

أما المكون الثالث، وهو العشوائية، يهدف إلي زيادة تنوع الحلول الناتجة. فرغم أن لضبط النغمة دور مماثل إلا أن هذا الضبط محصور في ضبط محلي وبالتالي بحث محلي. إذا، يقودنا استعمال العشوائية إلى البحث في مناطق مختلفة، مما يوفر تنوعًا كبيرًا في الحلول، وبالتالي، يزيد من احتمالية إيجادنا للحل الأمثل. ويمكن تلخيص هذه المكونات الثلاث في أربع خطوات:

  1. استهلال الذاكرة التناغمية بعدد من الحلول العشوائية الممكنة، مثل الساكنة البدئية في الخوارزميات الجينية.
  2. ارتجال حلول جديدة.
  3. تحديث الذاكرة التناغمية الحالية، باستبدال الحلول المرتجلة الجيدة بالحلول الأسوأ.
  4. إعادة الخطوتين الثانية والثالثة إلي أن يتحقق شرط من شروط إنهاء التنفيذ، أي عدم إيجادنا لنغمات جيدة بعد عدد من التكرارت، أو بلوغ الحد الأقصى من التكرارات.

متحورات خوارزمية البحث التناغمي

على مر العقدين الأخيرين تم دراسة عدد كبير من متحورات خوارزمية البحث التناغمي بهدف تعزيز أدائها في مواجهة المشاكل المختلفة في مجال التحسين الحوسبي. وكأمر ضروري نجد أن “جيم”، مطور هذه الخوارزمية، قد قدم متحورًا لمعالجة المشاكل المعنية بالمتغيرات المتقطعة أي فضاءات البحث غير المستمرة وذلك بتقديم مشتقات تصادفية للمتغيرات المتقطعة. وبالطبع لا يقصد بالاشتقاق هنا الاشتقاق التقليدي في الرياضيات، بل الفرق بين نقطتين فقط. وباستعمال هذه المشتقات نحدد عدد من الاحتماليات التي تخص كل نغمة من نغمات الذاكرة الحالية، أي الذاكرة التناغمية. فنجد أن هذا المتحور قد استخدم في المشكل التحسيني الذي يخص التصميم الأمثل لقنوات نقل الموائع.

وفي نفس السياق نجد أنه قد تم تطوير عدد كبير من المتحورات من طرف عدد من المتخصصين وغير المتخصصين لحل مشاكل جد محددة، وفي أحيان أخرى تقديم إطار عام لحل مجموعة من المشاكل المتشابهة.

الخوارزميات الهجينة

يتم تطوير الخوارزميات الهجينة بدمج خوارزميتان أو أكثر بهدف تعزيز الكفاءة والأداء عموماً. فيهدف الباحثون دائما لاستغلال مميزات الخوارزميات لتحقيق الصالح المشترك أو على الأقل يبقى هذا هدفهم البدئي. لكن في الواقع لا يزال فعل هذا مشكلة بلا حل. رغم كل هذا، لا يوجد ما يمنعنا من استلهام الطرق الخوارزمية الأخرى وتحسين أداء خوارزمياتنا.

وقد قدم عمران ومادهافي المتحور Global-best Harmony Search مستلهمين أفكارًا من خوارزميات استمثال عناصر السرب Particle Swarm Optimization. في هذا المتحور يقوم تعديل النغمة انطلاقا من أفضل حل من الذاكرة التناغمية فقط، بدون اعتبار لعرض النطاق bp. وهو ما أضاف قدرات تعلم اجتماعي social learning فريدة لهذه الطريقة. وقد تم التأكد من أن أداء هذا المتحور أفضل من أداء الخوارزمية الأصل تجريبيًا.

تقدم الخوارزمية المتحورة DLHS Dynamic Local-best Harmony Search مقاربة خوارزمية تنطوي على تقسيم الساكنة الحالية إلي ساكنات فرعية، تتطور بشكل مستقل عن بعضها البعض. غير أن هذه الذاكرات الفرعية تجتمع لتكوين الذاكرة التناغمية الحالية بعد بحثها عن الحل الأمثل على حدى في مجالاتها المحلية الخاصة، مستوحاةً من النسخ المحلية لخوارزمية استمثال عناصر السرب PSO والمتحور GHS، ومقترحةً من طرف “كوان كي بان” وزملائه.

من خلال سياستها هذه واستراتيجية البحث المحلية المبسطة ، فإن المتحورة DLHS قادرة على تحقيق توازن مرضٍ بين الاستكشاف exploration والاستغلال exploitation في البحث. فنجد من بين تطبيقاتها أنها طبقت بنجاح لمواجهة مشكل الجدولة lot-streaming flow shop القائم على تقسيم عملية ما لمجموعة من العمليات المصغرة والتي تنفذ بطريقة متداخلة.

وعلى هذا المنوال، نجد العديد من المتحورات الأخرى التي استلهمت من سابقاتها منها Particle Swarm Harmony Search PSHS من طرف جيم. وإلخ.

تطبيقات خوارزمية البحث التناغمي

في العالم الحقيقي، يفيض العلم الحديث والصناعة بالمشاكل التحسينية المختلفة. فمنذ أن تم اقتراح الخوارزمية أول مرة من طرف جيم وتطبيقها لحل مشكلة تحسين شبكات توزيع المياه عام 2001، نجحت الخوارزمية في تغطية تطبيقات العديد من المجالات بما في ذلك الصناعة، ومعايير التحسين، وأنظمة الطاقة، والعلوم الطبية، وأنظمة التحكم، وتصميم البناء، وتكنولوجيا المعلومات.

مصادر
Hindawi
ScienceDirect
Nature Inspired Optimization Algorithm by Xin She Yang

خوارزمية التطور التفاضلي، الخوارزمية المستوحاة من نظرية التطور!

هذه المقالة هي الجزء 8 من 12 في سلسلة أشهر الخوارزميات التحسينية المستوحاة من الطبيعية

خوارزمية التطور التفاضلي أو Differential Evolution، هي مقاربة حدسية heuristic approach للتحسين الأمثل global optimization. هدفها هو إيجاد الحل الأمثل للدالة الهدف، أي القيمة الدنيا لدالة التكلفة، غير الخطية و غير القابلة للاشتقاق في فضاء البحث المعرفة فيه.

تنتمي خوارزمية التطور التفاضلي لعائلة كبيرة من خوارزميات الحوسبة التطورية evolutionary computing algorithms. فمثل عدد من طرق البحث المباشرة المعروفة، مثل الخوارزميات الجينية والاستراتيجيات التطورية، تُسْتهل خوارزمية التطور التفاضلي هي الأخرى بساكنة بدئية، من عدد من الحلول المحتملة. وبالتكرار، يتم تحسين هذه الحلول المحتملة. فتحدث طفرات وانتقاء الأصلح بين الناتج، أي الأفراد الذين يحققون أدنى قيم دالة التكلفة في محاكاة واضحة لآليات التطور البيولوجي.

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

خوارزمية التطور التفاضلي ضد دالة Ackley. في التحسين الرياضي، وتعد دالة Ackley دالة غير محدبة تستخدم كاختبار أداء لخوارزميات التحسين.

أصل ومقارنة

طوّر خوارزمية التطور التفاضلي كلا من رينر ستورن R. Storn و كينيث برايس K. Price بين سنتي 1996 و1997. حيث قاما بنشر مجموعة من الأوراق البحثية عنها خلال هاتين السنتين، وهو ما توجاه بعدها بكتابهما “Differential Evolution – A Simple and Efficient Heuristic for global Optimization over Continuous Spaces”، ومعناه “التطور التفاضلي: حدسية بسيطة وفعالة للتحسين الأمثل في الفضاءات المستمرة.”

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

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

ألية عمل خوارزمية التطور التفاضلي

معايير الفاعلية

لاعتبار خوارزمية تقليصية ما عملية يتوجب تحقيقها لعدد من الشروط، وهي:

  • القدرة على التعامل مع المشاكل ذات الدوال الهدف غير القابلة للاشتقاق. والمشاكل متعددة الأطوار، أي متعددة الحلول المحلية.
  • التمكن من التعامل مع الدوال الهدف المكلفة حوسبيًا computation intensive.
  • سهولة الاستعمال، أي قلة وسهولة وضع معلمات الضبط.
  • توافرها على خصائص تقارب جيدة، أي تماسك قدرتها على التقارب للحل الأمثل في تجارب مستقلة متوالية.

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

الساكنة البدئية

لمعالجة مشكل تحسيني متعدد الأبعاد، عدد أبعاده d، تقوم الخوارزمية أولا بتوليد n حل محتمل. هذه الحلول متوزعة بشكل عشوائي على فضاء البحث المدروس، و نعبر عنها بمتجهات.

تمثل Xi فردا من أفراد ساكنة الجيل t، بحيث نجد i يين 1 و n. تمثل X1,i إلي Xd,i مكونات الفرد i من الجيل t.

كما الخوارزميات الجينية يمكن اعتبار كل فرد من أفراد ساكنة أي جيل مجموعة من الكروموسومات أو الجينات.

العمليات الأساسية في التطور التفاضلي

نجد أن خوارزمية التطور التفاضلي تتكون من ثلاث عمليات أساسية: التطفر mutation، والتقاطع crossover، والانتقاء selection.

التطفر

يتم تنفيذ هذه العملية اعتمادًا على ما يسمى بمخطط التطفر mutation scheme. بحيث لكل متجهة Xi في أي وقت أو جيل، ونقوم باختيار ثلاث متجهات عشوائية أخرى Xp، و Xq، و Xr من نفس الجيل ونقوم بواسطتها بتوليد متجهة مانحة donor vector، كما توضح الصيغة التالية:

بحيث نجد أن F معلمة من معلمات الإدخال، محصورة بين 0 و 2. يطلق عليها في غالب الوقت بالوزن التفاضلي.

نجد أنه من الضروري توفير على الأقل على أربع أفراد ساكنة من أجل توليد المتجهة المانحة donor vector. مبدئيا نجد أن F محصورة بين 0 و 2، لكن عمليا يجب حصرها بين 0 و 1 من أجل فاعلية أعلى.

التقاطع

يُتحكم في التقاطع بواسطة المعامل Cr والذي يسمى بمعامل التقاطع. وهذا الأخير محصور بين 0 و 1. وبالتالي يتحكم في احتمالات التقاطع.
وتوجد طريقتين مختلفتين لتحقيق التقاطع. الطريقة الزوجية والطريقة الأسية.

تقوم الطريقة الزوجية على تحقيق التقاطع ببن كل أفراد ساكنة الجيل الحالي وذلك بتوليد عدد عشوائي ri محصور بين 0 و 1. هذا العدد يتحكم فيما إن كانت المتجهة الناتجة ستأخد مكون من مكونات المتجهة المانحة Vi أو المتجهة Xi، كما توضح المعادلة التالية:

بحيث أن Ui هي الخلف المحتمل للمتجهة Xi للجيل التالي t+1 فإن كانت ملائمة تستبدل سلفها وتستمر إلي الجيل الجديد.

في المخطط الأسي نقوم باختيار مقطع من المتجهة يتكون من عدد من المكونات المتتالية يبدأ عشوائيًا من المكون k ويستمر إلي المكون k+L بحيث L تمثل طول هذه القطعة.

الانتقاء

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

متحورات خوارزمية التطور التفاضلي

ارتكزت أغلب الدراسات على اختيار المعلمات F، و Cr، و n، وكذلك معادلة التطفر. ففي الحقيقة يمكننا توليد متجهات التطفر بطرق عديدة ومختلفة، ما يأخدنا لوضع مخططات تطفر مختلفة باصطلاح التسمية DE/x/y/z. فتمثل DE اختصارًا لاسم الخوارزمية بالإنجليزية Differential Evolution. كما تمثل x كيفية اختيارنا للمتجهة التي نحورها، ويكون هذا الاختيار إما عشوائيًا rand أو اختيار الأفضل best. وتعبر y عن عدد متجهات الفرق. و z عن خطة التقاطع إما زوجية bin أو أسية exp.

ما يعني أن */DE/Rand/1 هي الخطة الأساسية والتي تتكون من اختيار عشوائي للمتجهة التي سنحورها Rand، و متجهة فرق واحدة 1، مع مخطط زوجي أو أسي *.

بحيث تمثل DE/Rand/1/Bin معادلة التطفر:

عند استبدال Xp ب Xbest نجد أن معادلة التطفر أصبحت على شكل:

كما أنه لايوجد سبب يمنعنا من استعمال أكثر من متجهة فرق واحدة. فباستعمال متجهتين والحل الأفضل في الجيل الحالي نجد:

وباختيار حل عشوائي ومتجهتين نجد:

يمكننا بالطبع أخد F1 = F2 إن أردنا تبسيط المعادلة. فباتباع نفس النهج يمكن تعميم هذه المتحورات باستعمال معادلة واحدة:

اختيار معلمات الضبط

يعتبر اختيار معلمات الضبط أمر جد مهم. بحيث أثبتت كل من الملاحظات التجريبية والدراسات البارامترية أن هذا الضبط يجب أن يتم بشكل مدروس من أجل تحقيق نتائج جيدة. ونجد أن عامل القياس F هو الأكثر حساسية، فرغم كون النظرية تتيح اختياره بين 0 و 2 نجد أن التجربة تحتم اختياره بين 0 و 1 وذلك من أجل الحصول على استقرار مناسب وكفاءة في التنفيذ. بالتجربة والخطأ تم التوصل إلي أن القيم الأفضل هي بين 0.4 و 0.95، و القيمة البدئية الملائمة هي بين 0.7 و 0.9.

يمكن اختيار معامل التقاطع Cr بين 0.1 و 0.8 مع 0.5 قيمة بدئية مناسبة. كما من الأفضل اختيار حجم الساكنة بالاعتماد على عدد أبعاد الفضاء المدروس. ففي فضاء ذو d بعد اختيار حجم ساكنة بدئي بين 5d و 10d مناسب جدا. قد يعد هذا مشكلا بالنسبة للمسائل ذات فضاءات البحث ذات أبعاد كثيرة ما يعني أنه لا مشكل في استخدام حجم ساكنة مستقل أولا من أجل اختبار الأداء.

مصادر

  1. Machine Learning Mastery
  2. Science Direct

دليلك لفهم خوارزمية أدم ADAM التحسينية الأكثر استخدامًا في التعلم العميق

هذه المقالة هي الجزء 12 من 12 في سلسلة أشهر الخوارزميات التحسينية المستوحاة من الطبيعية

اختيارك للخوارزمية التحسينية المناسبة لتدريب نموذجك للتعلم العميق، يعني مباشرة اختيارك جودة ومدة التنفيذ. فاختيارك هذا له الكلمة الفصل في قدرتك على الحصول على نتائج في دقائق، أو ساعات، أو حتى أيام. أو ربما عدم حصولك على نتيجة خلال فترة حياتك. ومن بين هذه الخوارزميات، نجد أن خوارزمية أدم ADAM هي أحد أكثر الخوارزميات التحسينية استخدامًا في مجال التعلم العميق. وتحديدًا في تدريب الشبكات العصبية الاصطناعية. وقد أشرنا سابقا أن خوارزمية النزول التدرجي ومتحوراتها هم الأكثر استخدامًا في هذا المجال، لكن ما لم نذكره هو أن خوارزمية أدم ADAM هي متحور من متحورات خوارزمية النزول التدرجي. وبالتحديد خوارزمية النزول التدرجي التصادفية Stochastic Gradient descent.

وقد استخدمت خوارزمية النزول التدرجي التصادفية SGD في السنوات الأخيرة بشكل مكثف وكبير في فروع عديدة من الذكاء الاصطناعي، لعل أبرزها هما الرؤية الحاسوبية computer vision، ومعالجة اللغة الطبيعية Natural Language Processing.

ما هي خوارزمية أدم ADAM؟

أصول خوارزمية أدم ADAM

ابتُكرت خوارزمية أدم بهدف استبدال خوارزمية النزول التدرجي التصادفية، وذلك، تحديداً في عملية تدريب نماذج التعلم العميق deep learning. وقد تم اقتراح هذه الخوارزمية من طرف دايديريك كينغما Diederik Kingma رائدة المجال OpenAI و جيمي با Jimmy Ba من جامعة تورونتو سنة 2015 في ورقة بحثية في مؤتمر ICLR باسم “أدم: طريقة للتحسين التصادفي”، Adam: a method for stochastic optimization. تم تسمية هذه الخوارزمية أدم اختصارًا ل: ADAptive Moment estimation <=> ADAM.

مميزات الخوارزمية

في تقديمهم لخوارزمية أدم، وضح الباحثان مميزات هذه الخوارزمية في التعامل مع المشاكل غير المحدبة، أي دالتها الهدف غير محدبة non-convex objective function. من بينها:

  • سهولة تنفيذ الخوارزمية.
  • كفؤة حوسبيًا computationally efficient.
  • استهلاك ضعيف للذاكرة.
  • غير حساسة لإعادة القياس القطري للتدرجات. أي أنها غير حساسة لضرب متجهة التدرج في مصفوفة قطرية موجبة العوامل. لكونها تستعمل المشتقات الجزئية، بدلًا من التدرج الذي تستعمله خوارزمية النزول التدرجي التصادفية.
  • منسابة عند تعدد المتغيرات وكبر عينات البيانات.
  • جيدة مع المشاكل غير الثابتة، أي فضاء البحث متغير بدلالة الزمن.
  • فعالة عند وجود تشويش يؤثر على قيم التدرج.
  • المتغيرات الأساسية في التحكم في التنفيذ، أي المعلمات الفائقة hyperparameters، بديهية ولا تحتاج ضبط معقد. وضبط هذه الأخيرة parameter tuning يعد مشكلةً تحسينيةً هو الأخر، ونستعمل خوارزميات تحسينية لضبطها عند الحاجة.

آلية عمل أدم

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

يتم تحديد معدل التعلم، أو حجم الخطوة هذا، انطلاقا من تقديرات العزم الأول والثاني للتدرج. فيصف الباحثان هذه الخوارزمية بكونها دمجًا بين إثنتين من سابقتيها، واللتان بدورهما من متحورات خوارزمية النزول التدرجي التصادفية وهما:

خوارزمية التدرج المتأقلم

Adaptive Gradient Algorithm، أو AdaGrad: والتي هي الأخرى تستعمل حجم خطوة متغير لتعزيز أدائها في حل المشاكل ذات التدرج الضئيل. ما يعني في التعلم العميق أن الشبكة لا تستقبل إشارات كافية لضبط أوزانها. ومن أمثلة هذه المشاكل نجد: معالجة اللغة الطبيعية NLP، و الرؤية الحاسوبية، وغيرها.

خوارزمية انتشار جذر متوسط المربع

Root Mean Square Propagation، أو RMSPropa: التي أيضًا تستعمل خطوة متغيرة. ذلك التغير، بدلالة متوسط مُضمحل للتدرجات الجزئية. ما يعني أن أداء هذه الخوارزمية جيد عند مواجهتها لمشاكل ذات فضاء بحث متغير زمنيًا، أو عند وجود تشويش يغير من قيم التدرج.

كيف تجمع أدم ADAM فوائد هاتين الخوارزميتين؟

فبدلاً من تكييف معدلات التعلم لمتغيرات الدالة الهدف بناءً على متوسط ​​العزم الأول average first moment كما هو الحال في RMSProp، تستخدم آدم أيضا متوسط ​​العزوم الثانية للتدرجات Uncentered variance.

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

رياضيات

العزم

يستعمل العزم لتسريع النزول التدرجي.

تعبر (t)W عن قيمة الأوزان في لحظة t. يمثل ألفا درجة التعلم، أي حجم الخطوة الحالي. كما تمثل (t)m مجموع التدرجات عند اللحظة t.
تمثل (t)m مجموع التدرجات عند اللحظة t أي الدورة الحالية، بينما (t-1)m تعبر عن هذا المجموع في الدورة السابقة. dL هي مشتقة الدالة الهدف، (t)dW مشتقة الأوزان عند اللحظة t. بيتا هي المتغير المتحرك (مفهوم إحصائي).

انتشار جدر متوسط المربع RMSProp

تمثل ε ثابتة صغيرة لتجنب القسمة على صفر.

أدم

انطلاقا من معادلات الطريقتين أعلاه، نتحصل على:

متجهة العزم الأولى (t)m. متجهة العزم الثانية (t)v.

نظرًا لأن كل من mt و vt قد تم تصفيرهما بدئيًا، وكذلك لكون β1 و β2 تأخد قيم تقارب 1، لوحظ تجريبيًا أنهما يكتسبان تحيزًا نحو الصفر. لإصلاح هذا نقوم بحساب قيم تصحيحية. ويتم حساب هذه القيم أيضًا للتحكم في الأوزان عند قرب وصولنا للحل الأمثل وذلك لمنع التذبذبات عالية التردد. والصيغ المستخدمة هي:

ما يمكننا من استبدال mt و vt بقيم مصححة:

نجد (t)w قيم النقطة الحالية عند اللحظة t.

الأداء العملي

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

يبين المنحنى أداء مجموعة من الخوارزميات بالمقارنة مع أداء خوارزمية أدم في التدريب التحسيني لشبكة عصبية متعددة الطبقات على صور MNIST. المصدر غووغل.

مصادر

  1. MachineLearningMastery
  2. GeeksforGeeks
  3. Cornell

تعرف على خوارزمية النزول التدرجي الأشهر في الخوارزميات التحسينية

هذه المقالة هي الجزء 5 من 12 في سلسلة أشهر الخوارزميات التحسينية المستوحاة من الطبيعية

في الرياضيات، النزول التدرجي gradient descent أو ما يسمى أيضا النزول الأشد انحدار، يعتبر من خوارزميات تحسين الدرجة الأولى أي الخوارزميات التحسينية التي تستعمل المشتقة الأولى للدالة الهدف. وبالطبع استخدامها لهذه المشتقة يعني أن الدالة متصلة و مستمرة على مجموع نقاط الفضاء البحثي، أي الجزء الذي يعنينا من مجال تعريفها. وتهدف خوارزمية النزول التدرجي إلى إيجاد القيمة الأدنى لدالة قابلة للاشتقاق.

تتمحور آلية عمل هذه الخوارزمية حول فكرة أخذ عدد من الخطوات في المنحى المعاكس للتدرج negative gradient، أو التدرج التقريبي، في النقطة الحالية. وذلك لكون هذا المنحى هو منحى النزول الأشد إنحداراً steepest descent. وعلى النقيض، التقدم باتجاه منحى التدرج سيقودنا بالطبع للقيمة القصوى أو قيمة قصوى محلية للدالة.

أصول خوارزمية النزول التدرجي

عموما، تم الاجماع على نسب هذه الخوارزمية إلي عالم الرياضيات أوغستين لوي كوشي A.L. Cauchy. والذي كان أول من اقترحها في سنة 1847. تم اقتراح طريقة مشابهة، بشكل مستقل، من طرف جاك هادامار أيضًا سنة 1907. كما تم دراسة خاصيات هذه الخوارزميات للتقارب حول الحل الأمثل في المشاكل التحسينية غير الخطية، أول مرة، من طرف هاسكل كاري Haskell Curry سنة 1944. وتم دراسة خوارزمية النزول التدرجي واستخدامه، وقدمت أعداد كبيرة من الإسهامات، من متحورات وطرق استخدام أفضل، بشكل كبير في السنوات التي تلت.

مثال لفهم آلية عمل خوارزميات النزول التدرجي

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

باستعمال هكذا مقاربة ستجد نفسك، في النهاية، قد وصلت أسفل الجبل، أو بلغت حفرة تمتلأ بالماء ليلاً مما قد يتسبب في موتك.

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

في هذه المماثلة، يعبّر الشخص الخاضع لهذه الصعوبات عن الخوارزمية، كما يمثل المسار الذي يسلكه نقاط الفضاء التي ستمر الخوارزمية منها عند تعدد التكرارات. ويمثل الانحدار ممال الدالة عند نقطة القياس. كما يمثل الجهاز الذي يحدد الانحدار، عملية الاشتقاق. ويعتبر أسفل الجبل، القيمة الدنيا للدالة أي الحل الأمثل، بينما الحفر والبحيرات الجبلية تعبر عن الحلول المحلية للدالة أي النقاط الدنيا المحلية. إضافة لذلك، نجد أن منحى الحركة هو سالب الانحدار negative gradient، أي (x)F∇-. كما أن المدة الزمنية بين كل قياس باستعمال الجهاز، هي الخطوة γn.

شرح رياضي لآلية عمل خوارزمية النزول التدرجي

لارتكاز هذه الخوارزمية بشكل أساسي على دراسة الدالة الهدف (x)F متعددة المتغيرات، المعرفة والقابلة للاشتقاق، يكون تناقصها عند أقصى قيمة عند الذهاب من النقطة الحالية باتجاه المنحى المعاكس للتدرج (x)F∇-.

متتالية تغير قيمة x.

مع العلم أن x متغير متعدد الأبعاد أي نقطة في فضاء متعدد الأبعاد. بحيث تمثل n دورة التكرار الحالية. نبدأ ب n=0 أو الدورة صفر أي القيمة البدئية قبل بداية التكرارات. تمثل γn حجم الخطوة الذي يمكن أن يتغير من دورة لأخرى.

أهمية حجم الخطوة γ ومنحى النزول

بما أن اختيار خطوة صغيرة سيبطئ سرعة التقارب، واختيار أخرى كبيرة سيقود للانحراف عن الحل. فإن إيجاد إعدادات ضبط مناسبة للخطوة γ أمر محوري في وصولنا لما نبتغيه، ما يعني إيجاد الحل الأمثل بأقصى سرعة ممكنة وبالتالي أقل استهلاك للقوة الحوسبية computational power. كما من المهم أيضا عدم اتباع المنحى الأكثر انحدارًا دائمًا، بحيث يمكن أن يكون الانحدار الأصغر أكثر ديمومة ويستمر لمسافة أكبر ويقودنا ربما لحل أفضل.

للحرص على تحقيق كل هذا، يوجد عدد من الطرق الرياضية منها:

  • البحث الخطي الذي يستوفي شروط وولف Wolfe conditions.
  • البحث الخطي التراجعي backtracking line search.
  • طريقة Barzilai–Borwein، الموضحة في الأسفل.
تعبر القيم Xn و 1-Xn عن النقطة الحالية و النقطة السابقة، تعبر T عن منقولة هذه المصفوفة، لكون الفرق عبارة عن قيمة متعددة الأبعاد، مصفوفة الفرق بين قيمتي النقطة الحالية وسابقتها. في المقام نجد مربع معيار الفرق بين التدرج الحالي وسابقه. الخطوة دائما موجبة لذا تم إضافة القيمة المطلقة للبسط.

يكون التقارب لحل محلي أمرًا مضموناً دائمًا. وإن كانت الدالة الهدف محدبة convex، يكون التقارب للحل الأمثل مسلمًا به نظرًا لتطابق الحلين المحلي والأمثل.

متحورات خوارزمية النزول التدرجي

تعتبر خوارزمية النزول التدرجي و متحوراتها عن أكثر الخوارزميات التحسينية استخدامًا في مجال الذكاء الاصطناعي. وتحديدًا في تقليص دالة التكلفة في عدد من خوارزميات تعلم الألة. بحيث يتم استخدامها بشكل أساسي في ضبط متغيرات نماذج تعلم الألة.

نزول الدفعة التدرجي Batch Gradient Descent

هذه الخوارزمية تعالج كل أمثلة التعلم عند كل دورة تكرار. لذا لا ينصح استخدامها عند ضخامة عدد الأمثلة، وذلك لأن استعمالها يصبح مكلف حوسبيًا computationally expensive. ومن إيجابيات هذه الخوارزمية أنها دائمًا ما تتقارب نحو حل جيد، وكلما ازداد عدد الأمثلة قلت نسب الخطأ. لكن كسلبيات، نجد تباطؤها عند معالجتها لعدد كبير من الأمثلة، وهذه الأمثلة التي من الممكن أن تكون متكررة أو متشابهة، مما يعني عدم جدوى معالجتها عند كل دورة.

نزول الدفعة المصغرة التدرجي Mini-batch Gradient Descent

بدلًا من معالجة كل الأمثلة عند كل دورة نقسم الأمثلة لمجموعات صغيرة ونقوم بمعالجتها كل على حدى. دائمًا ما نأخد حجم العينات من أُس 2 أي 2 4 8 16 32 64 128 256 …… يرجع هذا لكون عدد من الهاردوير، مثل وحدة معالجة الرسوميات GPU، تحقق سرعة تنفيذ جيدة عند تقسيم هذه العينات بهذه الطريقة.

من إيجابياتها أنها أسرع من سابقتها، أي أسرع تنفيذا من خوارزمية نزول الدفعة التدرجي. كما يساهم تفريق الأمثلة لمجموعات مختلفة بطريقة عشوائية كثيرًا في تقليل احتمال وجود أمثلة متشابهة في نفس المجموعة، والتي لا تساعد في عملية التعلم. و أيضًا تمكننا من إضافة ضوضاء لفضاء البحث وهو الشيء الذي يفيدنا في تجنب مشاكل تعميم الحلول ونسب الأخطاء في هذا السياق.

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

التكلفة cost، و iterations هو عدد التكرارت، بينما المنحنى الأحمر يمثل تقليصنا للدالة الهدف على مر التكرارات.

خوارزمية النزول التدرجي التصادفية Stochastic Gradient Descent

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

مسارات خوارزميات، نزول الدفعة المصغرة التدرجي Mini-batch Gradient Descent، نزول الدفعة التدرجي Batch Gradient Descent، خوارزمية النزول التدرجي التصادفية Stochastic Gradient Descent. نحو القيمة الدنيا.

مصادر

  1. Medium
  2. GeeksforGeeks
  3. Wikipedia
  4. TowardsDataScience

كيف يتم اختيار الخوارزميات التحسينية ؟

هذه المقالة هي الجزء 3 من 12 في سلسلة أشهر الخوارزميات التحسينية المستوحاة من الطبيعية

يهدف التحسين optimization في الخوارزميات إلى إيجاد مجموعة من المدخلات للدالة الهدف objective function، ما ينتج عنه قيمة قصوى أو دنيا لهذه الدالة. هذه المشكلة تلخص هدف عدد من خوارزميات الذكاء الاصطناعي، مثل الانحدار اللوجستي logistic regression وتدريب الشبكات العصبية الاصطناعية artificial neural networks. وعلى الأرجح، هناك المئات من الخوارزميات التحسينية المعروفة ومتغيراتها. وكذلك توجد عشرات الخوارزميات التي يمكنك الاختيار منها لحل مشكلتك، في مكتبات الكود البرمجي العلمية المعروفة scientific code libraries. إذاً فمن الصعب معرفة الخوارزمية الأفضل للاستعمال في حل مشكلتك التحسينية.

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

  • يمكن تصنيف الخوارزميات التحسينية لمجموعتين، التي تستعمل الاشتقاقات والتي لا تفعل.
  • معرفة درجة الاشتقاق التي تستعمل، بالطبع في حال ما كانت الدالة الهدف قابلة للاشتقاق أصلا.
  • خوارزميات البحث المباشر والتصادفية مصممة للمشاكل ذات الدوال الهدف غير القابلة للاشتقاق.

الخوارزميات التحسينية

يشير التحسين إلى إيجاد معلمات الإدخال أو مدخلات للدالة التي ينتج عنها القيمة الدنيا أو القصوى للدالة الوظيفية، أو الهدف. والنوع الأكثر شيوعًا من المشاكل التحسينية التي يمكن مصادفتها في مجال تعلم الألة هو تحسين الدوال المتصلة continuous functions optimization. وفيه تجد المدخلات عبارة عن قيم رقمية، أي أعداد حقيقية، كما الحال مع مخرجات الدالة.

ويستلزم وجود المشاكل التحسينية المستمرة، أو المتصلة، وجود نظيرتها غير المتصلة. ويطلق على هذا النوع، من المشاكل التحسينية، مشاكل التحسين أو الاستمثال التوافقي combinatorial optimization.

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

القيم الدنيا والقصوى

بالإنجليزية maxima أي القيمة القصوى، بينما minima هي القيمة الدنيا. تمثل القيمة القصوى الشاملة global maxima أو القيمة الدنيا الشاملة global minima الحل الأمثل global optima الذي نهدف لإيجاده من خلال الخوارزميات التحسينية.
بينما تمثل القيم القصوى المحلية local maxima أو القيم الدنيا المحلية local minima الحلول المحلية المثلى local optima. والمقصود بالمحلية كونها مؤطرة في مجال محدد، أي في هذا النطاق هي الحل الأمثل، أي القيمة الدنيا أو القصوى، لكن خارجه لا تعتبر كذلك.

مفاهيم رياضية مهمة لفهم عملية التحسين

  • المشتقة الأولى first-order derivative: الدالة القابلة للاشتقاق هي الدالة التي نستطيع حساب مشتقتها في أي نقطة من نقاط مجالها، أي الفضاء المدروس. فمشتقة الدالة في نقطة هي معدل أو مقدار التغير، تغير الدالة، في تلك النقطة، أو ما يسمى بالميل.
  • التدرج gradient: يطلق على مشتقة دالة متعددة المتغيرات بالتدرج. أي دالة بأكثر من متغير واحد. وهذه المشتقة هي عبارة عن متجه. بحيث يمثل كل عنصر من عناصر هذه المتجه مشتقة جزئية للمتغير المكافئ لها.
  • المشتقة الجزئية partial derivative: تمثل كذلك معدل أو مقدار التغير في نقطة بدلالة متغير باعتبار كل المتغيرات الأخرى ثابتة.
  • المشتقة الثانية second-order derivative: وهي مشتقة المشتقة، بحيث تمثل تغير التغير. أي تغيرُ تغيرِ الدالة الهدف. وهي الأخرى يمكن أن تتواجد في نقطة من الفضاء أو لا، أي يمكن أن تكون المشتقة قابلة للاشتقاق أو غير قابلة.
  • المصفوفة الهيسية hessian matrix: لكل دالة متعددة المتغيرات وقابلة للاشتقاق مرتين أو أكثر مصفوفة هيسية تعبر عن قيمة مشتقتها الثانية، والتي يمثل كل عنصر فيها المشتقة الجزئية من الدرجة الثانية لكل متغير.

الدالة الهدف القابلة للاشتقاق

يمكن تحسين optimize الدوال البسيطة تحليليًا analytically، أو رياضيًا باستعمال التفاضل والتكامل. لكن المشاكل التي نواجهها في الحقيقة، لا يعبر عنها غالبًا بدالة هدف متصلة، أي لا تكون قابلة للاشتقاق. أي غير قابلة للتحليل الرياضي. بالتالي، يكون التحسين optimization أسهل بكثير إذا أمكننا حساب تدرج gradient الدالة الهدف، مما يبرر وجود الكثير من الأبحاث حول خوارزميات التحسين التي تستخدم الاشتقاق أكثر من تلك التي لا تفعل. ومثل هذه الخوارزميات نجد:

خوارزميات التأطير

وتستخدم في المشاكل ذات المتغير الواحد، عند معرفة نطاق تواجد الحل الأمثل. ولمعرفة هذا، يوجد العديد من الطرق الرياضية والحدسية المتنوعة. وتستغني بعض هذه الخوارزميات عن المشتقات عند غيابها. وأمثلة خوارزميات التأطير هي: تقنية بحث فيبوناتشي، وطريقة العدد الذهبي، وطريقة التنصيف الديكوتومية، وغيرها.

خوارزميات النزول المحلي

وتهدف إلى إيجاد الحل الأمثل فقط، وليس عدد من الحلول المحلية، عند تعدد المتغيرات. والمثال الأبرز لهذا النوع من الخوارزميات هو خوارزمية البحث الخطي line search algorithm والتي بدورها تتوفر على عدد من المتحورات.

خوارزميات الدرجة الأولى

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

يطلق عموما على هذه الخوارزميات، خوارزميات النزول التدرجي gradient descent algorithms. وتوفر خوارزمية النزول التدرجي الكلاسيكية الإطار العام لنظيرتها التصادفية، والمسمات بخوارزمية النزول التدرجي التصادفية stochastic gradient descent algorithm المستعملة في تدريب نماذج الشبكات العصبية الاصطناعية في التعلم العميق.

خوارزميات الدرجة الثانية

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

الدالة الهدف غير القابلة للاشتقاق

تكون الخوارزميات التحسينية التي تستخدم المشتقات، عمومًا، سريعة وفعالة. لكن ليس الأمر ممكن دائمًا. فقد نجد أن عدد كبير من الدوال الهدف لا تتوفر على مشتقة فقط في مناطق معينة أو غير قابلة للاشتقاق في الفضاء كله، الشيء الذي قد يرجع لأسباب عديدة منها التعقيد الكبير للدالة رفقة مشاكل حقيقية أخرى، من بينها:

  • أن الدالة غير موصوفة رياضيًا، أي لا يتوفر لها تعبير رياضي مناسب.
  • تعدد الحلول المحلية المثلى بشكل كبير.
  • الدالة غير مستقرة دائمًا بسبب تشويش ما.
  • عدم اتصال الدالة، أو استمرارها في عدد من النقط.

لهذا السبب هناك خوارزميات تستغني تماما عن المشتقات، ويطلق على بعضها بالصندوق الأسود. وذلك لكونها لا تفترض شيئًا قبل معالجة المشكلة، ومن بين هذه الخوارزميات يوجد:

الخوارزميات المباشرة

هي عبارة عن خوارزميات قطعية تفترض وجود حل أمثل واحد، وتبحث عنه بدل البحث عن كل الحلول المحلية المثلى. وتسمى هذه الخوارزميات أيضًا بخوارزميات البحث النمطي لكونها تتخد أنماط متعددة في حركتها في فضاء الحلول. كما سميت بالمباشرة نظرًا لتقريبها approximate للتدرج gradient مباشرة أي بحساب الفرق بين ملائمة النقطة الحالية والنقطة التي تسبقها. وبالطبع تستعمل هذه المقارنة لتحديد اتجاه الحركة في الفضاء. ومن أمثلة هذه الخوارزميات:

  • Cyclic Coordinate Search
  • Powell’s Method
  • Hooke-Jeeves Method
  • Nelder-Mead Simplex Search

خوارزميات التحسين التصادفية

هي خوارزميات تستخدم العشوائية في عملية بحثها عند غياب إمكانية حساب مشتقة الدالة الهدف. وتختلف عن خوارزميات البحث المباشر في أنها تأخذ عدد كبير من عينات الدالة الهدف وتستطيع التعامل مع المشاكل ذات الحلول المضللة. ومن أمثلة هذه الخوارزميات:

  • التخمير المحاكى simulated annealing.
  • الاستراتيجية التطورية evolution strategy.
  • خوارزمية الإنتروبيا cross-entropy method.

خوارزميات الساكنة

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

وتضيف مجموعة الحلول المرشحة، أي الساكنة، قوة ومتانة لبحثنا في فضاء الحلول الممكنة. مما يزيد من احتمالية التغلب على الحلول المحلية والتقارب نحو الحل الأمثل. ومن أمثلة هذه الخوارزميات نجد:

  • الخوارزميات الجينية genetic algorithms.
  • خوارزمية التطور التفاضلي differential evolution.
  • خوارزمية استمثال عناصر السرب particle swarm optimization.

المصادر

  1. ScienceDirect
  2. Machine Learning Mastery

ما هي خوارزميات التخمير المحاكى وكيف تعمل؟

هذه المقالة هي الجزء 6 من 12 في سلسلة أشهر الخوارزميات التحسينية المستوحاة من الطبيعية

خوارزميات التخمير(التلدين) المحاكى simulated annealing هي أحد أقدم الخوارزميات المستوحاة من الطبيعة و كذلك من أكثرها استخدامًا. وتعتمد في عملها على البحث العشوائي لبناء مسارات تأخدنا للحل الأمثل. وتحاكي خوارزميات التخمير عملية التلدين في معالجة المواد المعدنية. ففي الصناعات المعدنية، تتميز عملية التخمير بعدد من الخصائص مثل درجة الحرارة و سرعة التبريد. ويخلق هذين المفهومين حرفيًا نتيجة العملية الصناعية، بحيث يحددان الجودة والتركيبة الكريستالية للمعدن الناتج. أي بأقل استهلاك طاقي، وأكبر حجم بلورات، وأقل كم من الشوائب.

تتكون البنية البلورية من مجموعة من الذرات مرتبة بطريقة معينة في الشبكة البلورية.

تسمى هذه العملية (عملية التلاعب الدقيق في درجة الحرارة و معدل التبريد) بجدولة التلدين.

آلية عمل خوارزميات التخمير المحاكى

منذ أن تم تطوير خوارزميات التلدين المحاكى simulated annealing أول مرة من طرف كيركباتريك S. Kirkpatrick وزملائه، تم تطبيقها في مختلف مجالات الحوسبة التحسينية optimization. فأتت الاستعارة أو المجاز في تسمية هذه الخوارزميات من خصائص التلدين في معالجة المعادن وذلك رغم أن هذه الخوارزميات، في جوهرها، تشبه أكثر خوارزميات متروبوليس الكلاسيكية التي تم تطويرها من طرف نيكولاس ميتروبوليس N. Metropolis وزملائه.

الرواية، عملية تبريد سريع لمعدن شديد السخونة بواسطة تغطيسه المفاجئ في سائل

أفضلية خوارزميات التلدين المحاكى

على خلاف الخوارزميات التي تتبنى، في معالجة مدخلاتها، طريقة تدرجية gradient-based approach. و الخوارزميات البحثية القطعية deterministic search methods، التي تخسر إثر وقوعها في حل محلي local optima وتفقد قدرتها على التقارب باتجاه الحل الأمثل global optima. تمتاز خوارزميات التخمير المحاكى بقدرتها على تجنب الوقوع في هذه المشكلة. وقد ثبث ذلك تجريبيًا، فخوارزميات التخمير المحاكى دائمًا ما تتقارب نحو الحل الأمثل global optima إن تم توفير عشوائية كافية وسرعة تبريد بطيئة معًا. يرجع هذا جزئيًا لكون هذه الخوارزميات تعتمد سلسلة ماركوف Markov chain التي توفر إمكانية التقارب عند تحقق شروط معينة.

مجازًا، تكافئ عملية التقارب هذه إسقاط عدد من الكرات المطاطية المرتدة فوق مساحة إسمنتية ذات تضاريس متنوعة، بينما تقفز وترتد هذه الكرات فتخسر كم من طاقتها الحركية وبالتالي تتدحرج بعد عدد من الوثبات وتستقر في النقطة الأكثر إنخفاضًا في محيطها أي الحل المحلي الأمثل local optima. لكن إن تم تمكين هذه الكرات من الوثب لمدة أطول وخسارة طاقتها الحركية ببطء كاف، سنجد أن عدد منها لن يسقط فقط للحلول المحلية بل تسقط نحو أخفض نقطة على الإطلاق، أي أنها تتقارب نحو الحل الأمثل global optima. في حالتنا هذه نسمي هذا الحل بالحل الأدنى global minimum.

سلسلة ماركوف

الفكرة الأساس في خوارزميات التخمير المحاكى هي استخدام البحث العشوائي على شاكلة سلسلة ماركوف. وهذه السلسلة، سلسلة ماركوف، هي عبارة عن نموذج عشوائي stochastic model مبني على العمليات العشوائية. وتصف تلك العمليات العشوائية سلسلة من الأحداث الممكنة. بحيث كل حدث يعتمد احتمال حدوثه فقط على مخرجات سابقه، أي الحدث الذي قبله. في هكذا إطار، لا يحتاج التكهن بمستقبل الأحداث إلى الماضي بل فقط للحاضر. أي مخرجات الحدث الذي شهدناه، والمستقبل هو الحدث الذي يليه.

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

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

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

تمثل T درجة الحرارة. Δf هي الفرق بين ملائمة الحدث الأصل والحدث التالي أي الحدث الذي يشير إليه السهم كما هو موضح في المثال السابق. exp بالطبع هي الدالة الأسية. r هي العتبة التي نضعها لقبول الاحتمال أو تفنيده. فإن لم يتجاوز الاحتمال هذه العتبة، يتم اعتباره صفرًا وبالتالي لن يكون هناك سهم أصلا بين الحدثين.

خطوات التنفيذ

الخطوة الأولى

نبدأ أولًا بوضع ساكنة بدئية S. و كذلك درجة حرارة بدئية T. يمكن اختيار هذه الحرارة ابتداءً من عدد كبير وتتناقص مع الوقت، لتصل إلى الصفر. أو نختارها من واحد وتتناقص إلي أجزاء من الصفر، على سبيل المثال من 1 إلي 0.00001.

الخطوة الثانية

وضع قاعدة تناقص درجة الحرارة. هذه الخطوة مهمة لأنها تحدد سرعة التبريد، والتي ناقشنا أهميتها سابقًا. قاعدة أو ‘دالة’ تناقص الحرارة يتم التوصل إليها حسب الحاجة. عمومًا هناك ثلاث طرق للوصول لهكذا دالة و هي بسيطة كالتالي:

1. التناقص الخطي

أي عند كل تكرارة تتناقص الحرارة بقيمة ‘ألفا’ محددة.

2. التناقص الهندسي

أي عند كل دورة، يتم ضرب قيمة الحرارة في معامل ألفا أصغر من واحد وأكبر من الصفر. يعني هذا أننا نقوم بإعدام قيمة الحرارة بنسبة معينة كل مرة. بحيث ‘ألفا’ تمثل النسبة التي سنبقي عليها عند كل تكرار. مثال: إن كانت ألفا تساوي 1/3 يعني أننا نبقي فقط على ثلث درجة الحرارة السابقة.

3. قاعدة التناقص البطيء

كونها تحمل هذا الإسم لا يعني أنها أبطأ في جميع الحالات. لأن المعملات ‘ألفا’ و’بيتا’ هي من تحدد سرعة التناقص. وفي هذه الحالة يتم وضع ‘بيتا’ تحكيميًا.

الخطوتين السابقتين، الأولى والثانية، تمثلان ما أطلقنا عليه سابقا بجدولة التلدين.

الخطوة الثالثة

تتمثل في تكرار الخطوة الرابعة عدد من المرات. فعند كل دورة، نستخدم دالة تناقص الحرارة التي وضعناها في الخطوة الثانية. وتتوقف هذه العقدة، أي الدائرة المغلقة من التكرارات، عند الوصول لأحد شروط الانتهاء. منها الوصول لدرجة الحرارة الدنيا أو الوصول لحل مقبول حسب معايير استخدامنا.

الخطوة الرابعة

لكل فرد من أفراد الساكنة الحالية، أي نقطة من نقط الحلول الممكنة التي تشكل الفضاء متعدد الأبعاد الذي يعبر عن ساكنة الجيل الحالي، نقوم بإيجاد نقطة في جواره و مقارنته معها أي حساب احتمالية الانتقال بالاستعانة بالدالة p. ويمكن تحديد هذه النقطة المجاورة بعدد من الطرق المختلفة، على سبيل المثال، وبما أن كل حل عبارة عن نقطة في فضاء نقوم بتغيير بقيمة معينة أحد قيم إحداثياتها لإنشاء نقطة أخرى. أو عشوائيًا بزيادة أو نقص عدد من قيم الإحداثيات في أن واحد، إلخ.

تمثل p دالة احتمال قبولنا للحل الناتج. فإن كانت أصغر من 1 نتحقق ما إن كانت أكبر من العتبة التي وضعناها، إن كانت كذلك نختار الحل الناتج. إن لم نضع عتبة أصلا نقوم بتوليدها عشوائيا عند كل اختبار. إن كانت تساوي 1 نختار الحل الجديد بالطبع. t هي درجة الحرارة الحالية.
و Δc هي الفرق ببن الحل الحالي والجديد.

الحل الأقل قيمة هو الأفضل هنا وليس العكس، لكوننا نبحث عن النقطة الدنيا. يجدر الذكر أنه ليس هنالك فرق بين إيجاد القيمة الدنيا والقيمة القصوى. لأنه لو أردنا إيجاد القيمة القصوى يكفي دراسة f- بدلًا من f.

أهمية درجة الحرارة

نظرا لكيفية حسابنا للاحتمالية p، نجد أنه من المرجح إختيار حل أسوء من الحل الحالي عندما تكون درجة الحرارة مرتفعة. الشيء الذي يشكل فرقًا حاسمًا في قدرتنا على “استكشاف exploration” فضاء الحلول، ما يعزز من حظوظنا في الوصول للحل الأمثل.

احتمالات قبول العينة بدرجة حرارة 0.9.
change الفرق بين ملائمة الحلين .acceptance probability نتيجة الدالة p .درجة الحرارة temperature.

عندما تكون درجة الحرارة منخفضة تقل احتمالية قبول الخوارزمية لحل أسوء أو قد لا تقبل إطلاقا أي حل أسوء. الشيء الذي يعزز بشكل كبير قدرتنا على “استغلال exploit ” فضاء البحث. فعند وصولنا للمكان الصحيح، لا داعي للبحث أكثر في أماكن أخرى. وبالتالي يجب التركيز على الموقع الحالي ومحاولة التقارب و إيجاد الحل الأمثل.

احتمالات قبول العينة بدرجة حرارة 0.1.
change الفرق بين ملائمة الحلين .acceptance probability نتيجة الدالة p .درجة الحرارة temperature.

هنا نلحظ أهمية تغير درجة الحرارة وأهمية سرعة ودرجة التغير على مر التكرارت في الوصول للحل الأمثل وليس فقط حلول مقبولة.

أمثلة استخدمت فيها خوارزميات التلدين المحاكى

  • مشكل البائع المتجول.
  • جدولة استعمال الزمن.
  • مشكلة توزيع المهام.
  • تقسيم وتلوين المنحنيات.
  • تحسين الدوال الغير خطية.

مميزات وعيوب خوارزميات التلدين المحاكى

مميزات

  • سهلة الاستخدام.
  • توفر حلولا مثلى لعدد من المشاكل.

عيوب

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

مصادر

  1. Medium
  2. ScienceDirect

ما هي الخوارزميات الجينية؟

هذه المقالة هي الجزء 4 من 12 في سلسلة أشهر الخوارزميات التحسينية المستوحاة من الطبيعية

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

أصل الخوارزميات الجينية

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

تطبيقات الخوارزمية الجينية

تم تطوير وتطبيق عدد كبير من تحورات الخوارزميات الجينية، على نطاق واسع، لحل مختلف المشاكل التحسينية. من مسألة تلوين المخطط graph coloring إلي التعرف على الأنماط pattern recognition. ومن الأنظمة غير المتصلة discrete systems مثل مشكلة البائع المتجول traveling salesman problem إلي المستمرة continuous systems مثل التصميم الفعال للأجنحة الحاملة في الهندسة الجوية airfoil efficient design. ومن الأسواق المالية إلي الأمثلة متعددة الأهداف multi-objective engineering.

مميزات الخوارزميات الجينية

للخوارزميات الجينية أفضلية كبيرة في التعامل مع مجموعة المشاكل. بحيث تتميز بقدرتها على معالجة المشاكل ذات الملائمة المتغيرة زمنيًا. كما تتميز بمعالجة المشاكل المستمرة وغير المستمرة، والخطية وغير الخطية، حتى المشاكل التي تتعرض للتشويش خلال فترة التنفيد. أي عند تغير فضاء الحلول بفعل طفيلي خارجي.

عيوب الخوارزمية الجينية

للخوارزميات الجينية أيضًا بعض العيوب، فصياغة دالة حساب معامل الملائمة fitness function، واستخدام حجم الساكنة، واختيار المعاملات الهامة مثل معدل التطفر والتقاطع، ومعايير انتقاء الساكنة الجديدة يجب أن يتم بعناية وحذر فائقين. فأي اختيار غير مناسب يمكن أن يجعل التقارب صعبًا أو مستحيلًا، أو سيؤدي ببساطة إلى نتائج لا معنى لها.

لكن على الرغم من وجود هذه العيوب، تبقى الخوارزميات الجينية من أكثر الخوارزميات التطورية استعمالاً، إن لم تكن أكثرها.

آلية عمل الخوارزميات الجينية

تحاكي الخوارزميات الجينية عملية الانتقاء الطبيعي. مما يعني أن الأنواع التي يمكنها التكيف مع التغيرات في بيئتها قادرة على البقاء والتكاثر ونقل جيناتها إلى الجيل التالي. باختصار، تعتمد الخوارزمية الجينية على مفهوم “البقاء للأصلح”. حيث يتكون كل جيل من مجموعة من الأفراد، ويمثل كل فرد نقطة في فضاء الحلول الممكنة. يتم تمثيل كل فرد كسلسلة من الأحرف أو الأعداد الحقيقية أو الأعداد الصحيحة الطبيعية أو بتات bits. هذه السلسلة مماثلة لمفهوم الكروموسوم.

  1. يتنافس أفراد الساكنة على حقوق التزاوج أي حق الخضوع لعمليات التقاطع crossover والتطفر mutation.
  2. الأفراد الأكثر ملائمة أي الأصلح fittest ينتجون الحصة الأكبر من الجيل التالي.
  3. تنتقل جينات الأباء عبر الأجيال، ويبقى الأفضل، مما يصقل أفراد الساكنة جيلًا بعد جيل.
  4. لا يعني الانتقال من جيل إلي جيل اندثار الآباء. فرغم أن متوسط الملائمة لكل جيل يكون أكبر من الذي سبقه، لكن يمكن أن يكون معامل ملائمة فرد أفضل من الأبناء.

معامل الملائمة

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

كل جيل جديد لديه في المتوسط ​​”جينات أفضل” أكثر من الأجيال السابقة، نظرًا لكون متوسط ​​اللياقة أعلى. وبالتالي فإن كل جيل جديد لديه “حلول جزئية” أفضل من الأجيال السابقة. وعند توقف معامل الملائمة عن الارتفاع لعدد من الأجيال المتتالية، يحدث إقرار التقارب. أي أن الساكنة الناتجة هي الأمثل والفرد الأكثر ملائمة هو الحل.

العمليات الأساسية في الخوارزميات الجينية

  • عملية الانتقاء selection

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

  • عملية الدمج أو التقاطع crossover

تكافئ هذه العملية مفهوم التزاوج بين أفراد الساكنة. تتمثل في اختيار فردين من الساكنة الحالية وتحديد عدد من الجينات عشوائيًا وتمريرها للخلف (الأبناء). بالطبع عدد جينات الأباء هو نفسه عدد جينات الأبناء ولكون الاختيار عشوائي لا يكون عدد الجينات من الأم أو الأب نفسه عدد الجينات من الأب أو الأم. أي التوزيع ليس 50 | 50.

parent 1: الأم. parent 2: الأب. offspring: الذرية.
  • التطفر mutation

يمكن تبني هذا المفهوم بطريقتين مختلفتين الأولى عند الدمج نقوم بتغيير أحد جينات الخلف بطريقة عشوائية. والثانية بدلًا من تغيير الخلف مباشرة، نقوم بنسخه وتغيير جين من جينات النسخة، ما ينتج فردين مختلفين في جين واحد.

before mutation: قبل الطفرة. after mutation: بعد الطفرة.

لم نستخدم الخوارزميات الجينية؟

  1. هذه الخوارزميات قوية.
  2. قادرة على توفير حلول في فضاءات إحتمال عملاقة.
  3. على خلاف خوارزميات الذكاء الاصطناعي الأخرى، لا ينتهي التنفيد بفعل التشويش أو تغير المدخلات.

استخدامات الخوارزمية الجينية

  • الذكاء الاصطناعي.
  • كسر التشفير والاختراق.
  • الشبكات العصبية الاصطناعية.
  • فلترة الإشارات وتحليلها.
  • مختلف المجالات العملية الأخرى.

مصادر

  1. geeksforgeeks
  2. ScienceDirect

الساكنة البدئية في الخوارزمية التحسينية وأهميتها؟

هذه المقالة هي الجزء 2 من 12 في سلسلة أشهر الخوارزميات التحسينية المستوحاة من الطبيعية

أهمية وضع الساكنة البدئية

نظريًا، لتكون الخوارزمية جيدة يجب أن تكون نتيجتها مستقلة عن نقطة الانطلاق. لكن للتجربة رأي أخر، فنتيجة الخوارزميات المعتمدة على التخمين و العشوائية ترتكز بطريقة شبه كلية على نقطة الإنطلاق، أي الساكنة البدئية في حالة الخوارزميات التحسينية المستوحاة من الطبيعة.

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

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

الشيء الذي لا نستطيع تجنبه في أغلب المشاكل الحقيقية لكوننا غير قادرين على تمثيل فضاءات الاحتمالات ودراستها وتوزيع اللاعبين حول التل الذي يتواجد عليه الكنز. وبالتالي فأغلب اللاعبين في تلك الحالة سيتحركون نحو أعلى نقطة في التل الأول وسيتجاهلون التل الثاني لكونه منحدر وانحداره مرتكز في مساحة معينة. فإن لم يوضع أي لاعب بالقرب منه فلن يشعر أحد بانحداره.

المشاكل الحقيقية

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

يجدر الذكر أن هذه الفضاءات جد شاسعة فمحاولة استكشافها ستستهلك قوة حوسبية هائلة، لأن هذه الأخير عبارة عن فضاءات تجمع جميع الاحتمالات الممكنة. فإن لم يكن للمشكل الذي نعالجه خصائص مميزة تساعدنا في إيجاد تلميحات مرشدة لطريقة البحث فلن يختلف استكشاف الفضاء عن محاولة حل المشكل بالقوة الغاشمة أي حساب جميع الاحتمالات الممكنة ومقارنتها. كما أن الحل الأمثل ليس دائمًا هدفًا بل الهدف هو حل مقبول حسب شروط التجربة. أيضًا حجم الساكنة والتكرارات يمكنانا من التقارب وإيجاد الحل الأمثل رغم عدم وجود تلميحات تساعدنا في حل المشكل.

كيف نعالج المشاكل التي تواجهنا في وضع الساكنة البدئية؟

لعلاج المشاكل التي نواجهها في وضع الساكنة البدئية لا يسعنا إلا دراسة الخوارزمية بالمحاولة والخطأ. وذلك بتنفيذ الخوارزمية التحسينية، لحل نسخة مصغرة من المشكل لعدد من المرات باستخدام إعدادات بدئية مختلفة عند كل استعمال. الشيء الذي يخولنا لاستنتاج عدد من القيم الإحصائية مثل المتوسط والانحراف المعياري. تلك القيم الإحصائية تخولنا معرفة الإعدادات المثلى لاستخدام الخوارزمية لحل المشكل الأكبر. النسخة المصغرة هنا تعني نفس المشكل لكن بعدد مدخلات أصغر أي فضاء احتمالات صغير نستطيع التغلب عليه بالقوة الغاشمة في مدة زمنية معقولة لاستخدامه لدراسة الفعالية. كذلك يمكننا تنفيذ الخوارزمية لمدة طويلة بحيث ‘تنسى’ حالتها البدئية. الشيء الذي لا يكون ممكنًا دائمًا، وبالتالي تتقارب نحو الحل الأمثل، وذلك بطريقة مستقلة عن الساكنة البدئية. لكن مشكل هذه المقاربة هو أن سرعة التقارب تكون بطيئة للغاية. وبالتالي عدد التكرارات سيكون كبير، ما سيستهلك قوة حوسبية ضخمة.

عمليًا، نميل في استخدامنا لأغلب الخوارزميات لاستعمال المقاربة المثلى تجريبيا. والتي تساعدنا على الحصول على ساكنة بدئية موزعة بشكل جيد على مختلف نقاط فضاء الحلول الممكنة بطريقة عشوائية ومتنوعة.

كيفية تحقيق العشوائية

أحد أصعب الأجزاء في توليد الأعداد العشوائية يرجع لكون الحواسب تكرر عدد من الخطوات المبرمجة لتنفيذها، وليس لتوليد خطوات. لذا فمن المستحيل توليد شيئ لا نستطيع التنبؤ به بواسطتها.

ولهذا ننهج عدد من الطرق الإحصائية لتوليد أعداد شبه عشوائية، مثل التوزيع الطبيعي gaussian distribution، وتوزيع ليفي Lévy distribution، إلخ. يحدث ذلك بالاعتماد على أنماط عشوائية من الطبيعة والتي لا يمكن التنبؤ بها. ورغم كونها منحازة قليلاً، تبقى أفضل من نتائج الخوارزميات القطعية.

تجريبيًا، ما هي الطريقة المثلى لوضع الساكنة البدئية؟

هناك طريقتان أساسيتان معتمدتان لتوليد الساكنة البدئية المستعملة في الخوارزميات التحسينية و هما:

  1. الطريقة العشوائية والتي سبق وتحدثنا عنها.
  2. الطريقة الحدسية والتي تستعمل خوارزمية محددة لإنتاج هذه الساكنة البدئية. لكن في أغلب الأحيان يصعب إيجاد خوارزمية مناسبة، وفي أحيان أخرى يكون هذا خيارنا الوحيد.

 ملاحظات تجريبية 

  • عند توفر خوارزميات حدسية لإنتاج ساكنة بدئية لخوارزمية المشكل الذي نريد معالجته، نجد أن استخدامها ينقص بشكل حاد من تنوع هذه الساكنة. يحدث هذا رغم عدم قدرتنا من التأكد إن كانت هذه الساكنة مناسبة للتقارب للحل الأمثل أم لا. بالتالي تحدث تضحية بالتنوع من أجل زيادة احتمال التقارب لحل، والذي يمكن ألا يكون الأمثل.
  • الحلول العشوائية هي الأفضل للتقارب إلي الحل الأمثل نظرا لكون العشوائية تؤدي للتنوع في تغطية فضاء الحلول الممكنة.

 نتيجة 

يمكن الالتفاف على استخدام الطريقة الحدسية بعدد من الطرق عند عدم جدوى الطريقة العشوائية منها إيجاد عدد من الحلول المحتملة الجيدة بأي طريقة، واستخدامها رفقة عدد من الحلول المحتملة العشوائية لإنتاج ساكنة بدئية جيدة.

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

مصادر:

1- Medium
2-ScienceDirect

ما هي الخوارزميات المستوحاة من الطبيعة واستخداماتها ؟

هذه المقالة هي الجزء 1 من 12 في سلسلة أشهر الخوارزميات التحسينية المستوحاة من الطبيعية

الخوارزميات في جوهرها هي عبارة عن سلسلة من التعليمات البسيطة التي يمكن نهجها لتحقيق غاية ما. إذا ما بحثنا، نجد من بينها الخوارزميات العودية وإذا بحثنا بين هذه الأخيرة نجد الخوارزميات التحسينية، مثل الخوارزمية التالية والتي تستخدم لإيجاد الجذور المربعة لأي عدد حقيقي موجب:

ما يحدد كفاءة الخوارزمية هو سرعة تقاربها convergence speed. ومن السهل إثبات صحة أن الجذور المربعة لأي عدد أولي هي أعداد غير كسرية، أي أنها أعداد برقم لا نهائي من الأعداد بعد الفاصلة، وبالتالي لا يمكن حسابها. لكن باستخدام هذه الخوارزمية يمكننا التقارب لإيجاد حل مرضٍ بالدقة التي نريد.

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

فما هي الخوارزميات المستوحاة من الطبيعة؟ و كيف ظهرت؟ وما أبرزها؟ ما هي استعمالاتها؟ وما الخصائص التي تتشارك فيها هذه الخوارزميات؟

ما هي الخوارزميات التحسينية المستوحاة من الطبيعة ؟

الخوارزميات التحسينية المستوحاة من الطبيعة هي مجموعة من الخوارزميات المستنبطة من الظواهر الطبيعية مثل ذكاء السرب، والأنظمة البيولوجية، والتطور الطبيعي، والأنظمة الفيزيائية والكيميائية، إلخ. ويعتبر تطوير هذه الخوارزميات فرعًا مهمًا من فروع الذكاء الاصطناعي، بحيث عرفت تطورًا سريعًا وإقبالًا واسعًا في الثلاثين عام الأخيرة نظرًا لإمكانياتها وتعدد مجالات استعمالها.

ظهور الخوارزميات التحسينية

ظهرت الخوارزميات التحسينية في بداية القرن التاسع عشر على يد عدد من علماء الرياضيات «ك ويستراس K.T.W Weierstrass»، و«شتاينر J. Steiner»، و«هاميلتون W.R.Hamilton»، و«جاكوبي C.G.J Jacobi».

ظهور الخوارزميات التحسينية المستوحاة من الطبيعة

على مر التاريخ وخصوصًا في الفترات الأولى، اعتمدت مقاربتنا نحن البشر في حل المشاكل التي نواجهها ولا تزال على التجربة والخطأ. أي أنها مقاربة تفاعل مع النظام المراد استكشافه خطوة بخطوة metaheuristic approach. فعدد كبير من الاكتشافات تم عن طريق التفكير خارج الصندوق أو بالصدفة، وهذا ما يعنيه الحدس heuristic. ورغم ذلك نجد أن أول استعمال مسجل لاستخدام هذه المقاربة كطريقة علمية رياضية meta-heuristic method لحل المشاكل problem-solving كان على الأرجح خلال فترة الحرب العالمية الثانية على يد عالم الرياضيات والحوسبة الغني عن التعريف «ألان تورنغ». استخدم تورنغ تلك التقنيات لفك تشفير إتصالات الألمان وكسر آلية تشفيرها Enigma. ورغم كون هذه الطريقة غير مضمونة الوصول للنتائج المرجوة إلا أن استعمالها في مشروعه كان نجاحًا باهرًا، ما أعطى دول الحلفاء ورقة رابحة لإنهاء الحرب لصالحهم.

بعدها بسنوات عديدة، وبدءاً من ستينيات القرن الماضي، عاد انتباه الأوساط العلمية لهذه المقاربة بتقديم عدد من الخوارزميات الثورية في مجال التحسين والحساب المعقد. حيث بدأت في هذه الفترة أول الخوارزميات التطورية بالظهور. وفي سنة 1960، اقترح مهندس الطيران حينها «لورانس جيروم فوغل» استخدام التطور المحاكى كعملية تعلم لتطوير ودراسة الذكاء الاصطناعي.

في نفس الوقت، كان العالم والمهندس «جون هولاند John Holland» يعمل رفقة زملائه في جامعة ميشيغان على استكشاف وإنتاج أول الخوارزميات الجينية. وهو ما توج لاحقًا بنشر مجموع أبحاثه في كتابه «Adaptation in natural and artificial systems» سنة 1975. بعدها تم كتابة مئات الكتب وآلاف المقالات عن هذا الموضوع.

الأعوام التي تلت كانت جد حافلة بحيث شهدت تطوير مختلف أنواع الخوارزميات وفتح مجالات بحثية خاصة بكل منها.قاد ذلك الحراك عدد من الرواد مثل عالم الرياضيات «شين شي يانغ Xin-She Yang» مطور خوارزميات مثل «بحث الوقواق CS»، و«خوارزمية الخفاش BA»، و«خوارزمية اليراعة FA»، وغيرهم.

أمثلة على الخوارزميات المستوحاة من الطبيعة

حتى الآن، تم تقديم عدد كبير من الخوارزميات المستنبطة من الطبيعة، رفقة عدد أكبر من متحوراتها الأكثر تخصصًا. يمكن لهذه الخوارزميات أن تستخدم في مختلف المجالات، من بينها نجد:

  • الخوارزميات الجينية أو Genetic Algorithms، إختصارًا GA.
  • خوارزميات إستمثال عناصر السرب أو Particle Swarm Optimization، اختصارًا PSO Algorithms.
  • خوارزمية التطور التافضلي Differential evolution، اختصار DE Algorithm.
  • الخوارزمية مستعمرة النحل الاصطناعية Artificial Bee Colony، اختصارًا ABC Algorithm.
  • خوارزمية التحسين مستعمرة النمل Ant Colony Optimization، اختصارًا ACO Algorithm.
  • الخوارزمية بحث الوقواق Cuckoo Search، اختصارًا CS Algorithm.
  • خوارزمية الخفاش Bat Algorithm، اختصارًا BA.
  • خوارزمية اليراعة Firefly Algorithm، اختصارًا FA.
  • الخوارزمية المنيعة Immune Algorithm، اختصارًا IA.
  • خوارزمية التحسين الذئب الرمادي Grey Wolf Optimization، اختصارًا GWO Algorithm.
  • الخوارزمية البحث التجاذبي Gravitational Search، اختصارًا GS Algorithm.
  • خوارزمية البحث التناغمي Harmony Search، اختصارًا HS Algorithm.

ما الخصائص المشتركة بين الخوارزميات التحسينية المستوحاة من الطبيعة ؟

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

• وضع الساكنة البدئية. لتحقيق هذا، هناك العديد من المقاربات منها الاختيار العشوائي للساكنة 0، … .

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

• حساب معامل التوافق fitness value والتحقق من شروط إنهاء التنفيذ termination conditions. فإضافة إلى تحديد حجم الساكنة البدئية وكيفية بنائها، يجب أيضًا وضع المدخلات مثل المتغيرات التي تتدخل في كيفية التنفيذ وشروط وقف التنفيذ وإرجاع الحل. فأغلب الخوارزميات التحسينية تستعين بشروط للخروج من دورة التنفيذ المتمثلة في البدء، ثم المعالجة، ثم الفلترة. من بين هذه الشروط نجد:

  • العدد الأقصى للتكرارات.
  • العدد الأقصى للتكرارات عند عدم تغير الحل المحلي الأمثل Local Optima، أي الفرد صاحب أكبر معامل توافق أو عدد من الأفراد الأكثر توافقًا. فإن لم يتغير لعدد من التكرارات، يتم اعتباره أفضلها كحل أمثل Global Optima. أو أن التقرب للحل الأمثل غير ممكن وفي كلتا الحالتين يتم إرجاع هذا الفرد أو الساكنة الحالية ككل باعتبارها حلًا، ثم وقف التنفيذ.
  • عتبة الدقة، أي نسبة الدقة التي يحق للخوارزمية عند تحققها وقف التنفيذ. وعند هذه الخطوة نقوم بفلترة الساكنة الناتجة عن الخطوة الثالثة وذلك بترتيبها أولًا حسب معامل توافقها وأخذ الأكثر توافقًا. وحجم الساكنة الذي نأخذه هنا لا يمكن أن يكون إلا أصغر من أو يساوي السعة القصوى.
  • يحسب معامل الكفاءة أو التوافق fitness value باستعمال دالة نعرفها حسب الحاجة. على سبيل المثال، حساب المسافة بين النقطة والتي تليها إن كانت الساكنة عبارة عن سلسلة من النقط في فضاء متجهي وجمعها كمعامل توافق.

•تحديث الساكنة باستخدام عدد من العمليات من بينها الدمج والتحوير. فعند عدم تحقيق أي شرط من شروط الخروج، تستمر سلسلة التنفيذ ونتقدم بذلك إلى الخطوة الثالثة والتي يتم خلالها «الدمج- crossover» بشكل عشوائي بين أفراد الساكنة وإضافة الناتج إلي الساكنة الحالية. يمكن أن نفكر في هذا على أنه تزاوج وإنتاج جيل جديد يحمل صفات أسلافه. بعد هذا نقوم بنسخ الساكنة ووضع طفرات عشوائية بها random mutations ونضيفها بدورها إلي الساكنة الكلية. ونعود بعدها للخطوه الثانية.

•إرجاع المخرجات ووقف التنفيذ. فعند تحقق أحد شروط الخروج، يتم إرجاع الساكنة الحالية باعتبارها حلاً وإنهاء التنفيذ.

مفاهيم مهمة لفهم الخوارزميات المستوحاة من الطبيعة

• الطريقة «الحدسية heuristic» هي مقاربة لحل المشاكل باستعمال طرق فعالة لكن غير مضمونة النتائج أو عقلانية في بعض الأحيان. لكن الحدسية فعالة وكافية لتحقيق المقاربة approximation وللوصول لنتائج سريعة وتحقيق أهداف متعددة على المدى القصير.

• «الأدلة العليا metaheuristic» وهي في علم الحاسوب والرياضيات إجراءات أو إرشادات عالية المستوى مصممة لإيجاد أو إبتكار أو اختيار طريقة بحث خوارزمية «حدسية» قادرة على توفير حل مقبول لمشكلة تحسينية. نلجأ إليها خاصة عند عدم توافر معلومات أو قوة حوسبية كافية تخولنا استخدام الطرق التقليدية.

أهم التحديات التي تواجه الخوارزميات المستوحاة من الطبيعة

عرفت الثلاثون سنة الأخيرة تقديم عدد كبير من خوارزميات الأدلة العليا meta-heuristic Algorithms بحيت نجد أن هذا الإنتاج متطورًا بشكل أسي أي بسرعة متضاعفة. ما جعلنا نرى في الآونة الأخيرة صدور خوارزميات الأدلة العليا بشكل يومي، وهو ما دفع بدوره تطوير الخوارزميات التحسينية والخوارزميات التحسينية المستوحاة من الطبيعة لمنحى أسي كذلك. أسهم ذلك بشكل كبير في تقديم حلول ناجحة وفعالة للمشاكل التحسينية في مجال الذكاء الاصطناعي وعدد من المجالات الهندسية الأخرى.

لكن رغم هذا التقدم الكبير و النجاح الباهر الذي حققته هذه الخوارزميات وهذا المجال البحثي، لا يزال هناك تحديات كبيرة أمامه والتي يمكن تلخيصها في أربع نقط أساسية:

• نقص البحث الكافي في النظريات البنيوية والأدوات التي تستخدمها هذه الخوارزميات مثل:

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

°وضع أساس صلب من النظريات الرياضية لدعم الخوارزميات التحسينية المستنبطة من الطبيعة، مثل تحليل التعقيد الزمني time complexity، واختبار التقارب convergence proof. ومن المهم تقديم نظرية رياضية شاملة للموازنة بين التناقض بين التقارب لحل محلي convergence to a local optima وبطء التقارب slow convergence.

• نجد أن الخوارزميات التحسينية المستوحاة من الطبيعة أقل قدرة على حل المشاكل التحسينية المستمرة Continuous optimization problems في البيئات الحقيقة المعقدة. وهنا نجد أن البيئات التي نطبق عليها هذه الخوارزميات هي في الأصل معقدة، متعددة الأبعاد و الأهداف، وتهدد الدقة ومستهلكة للوقت. وفي بعض الأحيان تكون دالة تقييم الملائمة غير محددة. لذا فهذا النوع من المشاكل يشكل تحدياً كبيراً للخوارزميات التحسينية ككل رغم الجهود التي بذلت لتجاوزها.

• لا يوجد الكثير من الدراسات المشتركة inter-disciplinary researchs بينها وبين المجالات المستخدمة فيها والمجالات ذات الصلة، وذلك رغم كونها تحمل إمكانات كبيرة ذات فائدة مشتركة.

• لم يتم بذل مجهود كاف لتطبيق الخوارزميات التحسينية المستنبطة من الطبيعة في المجالات التي تستفيد منها بشكل لائق. بحيث أنها تستخدم عشوائيًا في عدد من التطبيقات دون دراسة كفاءتها لحل المشاكل ومقارنتها بالخوارزميات الأخرى فقط لكون المشرف على الدراسة قرر ذلك من تلقاء نفسه.

إمكانات خوارزميات الطبيعة

من هنا يتضح لنا أن التوجه البحثي المستقبلي في مجال الخوارزميات التحسينية يجب أن يتمحور حول معالجة هذه المشاكل؛ و ذلك بتقوية تحليل نظري متين لهذه الخوارزميات.

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

مجالات استخدام الخوارزميات التحسينية

تستخدم الخوارزميات التحسينية و بالتالي الخوارزميات المستلهمة من الطبيعة منها في عدد من المجالات للتعامل مع عدد من المشاكل العملية. ففي ظل تطور الحوسبة، أصبحت الخوارزميات التحسينية أكثر أهمية ورواجًا في عدد من المجالات الهندسية. ومن استعمالاتها نجد:

  • الطرق التحسينية الكلاسيكية في الحساب Optimization methods.
  • الأنظمة المعلوماتية Information systems.
  • هندسة التصنيع و الأنظمة الصناعية Industrial Engineering and Manufacturing systems.
  • التصميم الهندسي Engineering design.
  • سلسلة الإنتاج Supply chain management.
  • الفلترة الرقمية Digital filter design.
  • معالجة الصور Image processing.
  • تعلم الآلة Machine learning.
  • تصميم المفاضلات والمكاملات الرقمية Digital integrator and differentiator design.
  • التعرف على الوجوه Face recognition.
  • الشبكات العصبية الاصطناعية Artificial neural networks.

وغيرها.

المصادر:

  1. ScienceDirect
  2. Scholarly
  3. Community Encyclopedia
  4. Geeks for Geeks
  5. Hindawy
Exit mobile version