ماهي عملية تسجيل الصور؟ وما هي تطبيقاتها؟

ما تسجيل الصور(Image Registration)؟

يعَرَّفُ تسجيل الصور على أنه عملية نقل عدة صور، أخذت في أوقات مختلفة أو من زوايا مختلفة أو باستعمال معدات تصوير مختلفة، لنفس المشهد إلى نظام إحداثيات موحد. فعلى سبيل المثال، إذا أخذنَا صورة لكتاب على طاولة من زاويتين مختلفتين (كما في الشكل 1)، فإن عملية تسجيل الصور تحدِد عدة مواضع تتطابق في الصورتين، ثم تحوَّل الصورة الأولى إلى إحداثيات الثانية لتتلاءما، فتبدوان وكأنهما التُقِطتا من نفس الزاوية [1] [2] [3].

الشكل 1: النقطة الحمراء ذات الإحداثيات (x1, y1)  في الصورة على اليسار تطابق النقطة الحمراء على اليمين ذات الإحداثيات (x2, y2). يهدف تسجيل الصور إلى تحويل إحدى الصورتين، بحيث تصير النقطة الحمراء بنفس الإحداثيات في كلتا الصورتين.

كيف يتم تسجيل الصور؟

تستخدَم عدة طرق من أجل تسجيل الصور من أشهرها «النهج القائم على السمات-Feature based approaches ». يتبع هذا النهج أربع مراحل من أجل الحصول على صور متوائمة. في البداية، يتم الكشف عن السمات المميزة  في كلتا الصورتين وتوصيفها. ثم تتم مطابقة هذه السمات مع مثيلاتها في الصورة الأخرى لتُستخدم في حساب معاملات التحويل الهندسي بين الصورتين. في النهاية، تتم مواءمة الصورتين باستخدام معاملات التحويل التي تم حسابها، والتي تربط بين إحداثيات الصورتين[1][4].

الكشف عن السمات وتوصيفها

في المرحلة الأولى، يتم الكشف عن السمات المميزة لكلتا الصورتين ثم توصيفها، أي وصف المنطقة المحيطة بهذه السمة. وتعَدُّ «السمات – keypoints» نقاطاً مميزة في الصور، كالزوايا والحواف والبقع، يمكِن توظيفها لإجراء عملية تسجيل الصور. ومن أهم الخصائص التي تتميز بها هذه السمات، أنها ثابتة أمام التغييرات التي قد تخضع لها الصورة من إزاحة أو تكبير أو تصغير أو دوران. فزاوية منزل، مثلا، تظل ملحوظة ومميزة مهما طبقنا عليها من تحويلات. في عملية التوصيف، يتم إلحاق موَصِّف لكل سمة تم كشفها. يحمل هذا الموصف وصفاُ دقيقاٌ للمساحة المحيطة بالسمة من أجل معرفة موقع السمة من الصورة [1][2].  

مطابقة السمات

بعد تحديد السمات وتوصيفها، تتم مطابقة سمات الصورتين، حيث تربَط كل سمة في إحدى الصورتين بمثيلتها في الصورة الأخرى. ويتِم هذا بمقارنة موصِّفات كل سمة في إحدى الصور بموصفات السمات في الصورة الأخرى. ثم بربط السمتين ذات الموصفات المتشابهة [1].

الشكل 2: مطابقة السمات

حساب معاملات التحويل الهندسي بين الصورتين

تستعمَل السمات المتطابقة في حساب معاملات التحويل الهندسي بين الصورتين، التي تجتمِع في مصفوفة تدعى مصفوفة التحويل. تصف هذه المصفوفة التشوهات الهندسية التي ينبغي تطبيقها على إحدى الصورتين لتوائم الأخرى. ويتم حساب معاملاتها بحل نظام من المعادلات الخطية [2].

الشكل 3: مثال لمصفوفة تحويل تدعَى الهوموغرافية، ويمثِّل كل عنصر من عناصرها معاملا لتحويل هندسي كالدوران والإزاحة والتحجيم (التكبير أو التصغير) وغيرها.
الشكل 4: العلاقة التي تربط إحداثيات سمة من الصورة الأولى بإحداثيات مثيلاتها من الصورة الثانية.

تحويل الصورة وإعادة تشكيلها

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

الشكل 5: عملية تسجيل الصورتين (أ) و(ب)، حيث تمَثِّل (ج) و(د) السمات التي تم كشفها في الصورتين، وتبرِز (هـ) عملية مطابقة السمات، بينما تمثل (و) الصورة الناتجة عن عملية التسجيل.

تطبيقات تسجيل الصور

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

الشكل 6: استخدام تسجيل الصور في مجال التصوير التشخيصي الطبي

المصادر

[1] Image Registration: From Scale-invariant feature transform to Deep Learning

[2] How to speed up Image Registration with OpenCV by 100x

[3] Feature Based Image Alignment using OpenCV (C++/Python)

[4] Geometric registration for digital images by using Speeded Up Robust Features Algorithm under Android

 [5] Image alignment and registration with OpenCV

 [6] Observing glacier change from space

ما هو Chat GPT وكيف يعمل؟ وفيم يختلف عن النماذج الأخرى؟

في نوفمبر 2022، أطلقت المنظمة الخاصة بالأبحاث (OpenAI) موقعًا جديدًا يعتمد بشكل كلي على الذكاء الاصطناعي في عملية إجراء المحادثات. وأطلق عليه اسم (Chat GPT). دُرِّب chat gpt على الكثير من البيانات الموجودة على الإنترنت ليصبح قادرًا على فهم لغة المستخدمين، وليستطيع إنتاج استجابة مفهومة. مما أدى إلى تهديد محركات البحث التقليدية، خاصةً شركة غوغل. إذ إن Chat GPT يمكنه أن يقدم المعلومات التي تطلبها بوضوح ودقة عوضاً عن تقديمه روابط على الإنترنت. هذا ما يعد نقلة نوعية في محركات البحث. [1]

ما هو Chat GPt؟

هو عبارة عن شات بوت. طوٍِّر بواسطة شركة (open ai) عن طريق تقنيات الذكاء الاصطناعي. تم تدريبه بنظام التعليم المعزز المعتمد على ردود فعل البشر، والذي يرمز له ب(RLHF). في البداية، قامت الشركة بتأسيس نموذج أوليّ باستخدام تقنية التعلم الخاضع للإشراف. حيث قام مهندسو الذكاء الاصطناعي بمحادثات لعبوا فيها كلا الجانبين. ومزجت مجموعة بيانات الحوار الجديدة هذه مع مجموعة بيانات InstructGPT. وInstructGPT هو النموذج التي قامت الشركة بإنشائه في عام 2020. بعد ذلك بدأت الشركة بتدريب النموذج بتقنية التعلّم المعزز وكرِّر التدريب إلى أن وصولوا للنتيجة الحالية. [2]

قدرات Chat GPT

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

مشكلات ChatGPT

  1. يكتب ChatGPT أحيانًا إجابات تبدو معقولة ولكنها غير صحيحة أو لا معنى لها. ويعد إصلاح هذه المشكلة أمرًا صعبًا. إذ أن تدريب النموذج ليكون أكثر حذرًا سيجعله يرفض الأسئلة التي يمكنه الإجابة عليها بشكل صحيح بمجرد إعادة صياغة بسيطة للسؤال.
  2. غالبًا ما يفرط في استخدام عبارات معينة، مثل إعادة التأكيد على أنه نموذج لغوي تم تدريبه بواسطة OpenAI.
  3. من الناحية المثالية، يجب أن يطرح النموذج أسئلة توضيحية عندما يقدم المستخدم استعلامًا غامضًا. بدلاً من ذلك، عادةً ما يقوم ChatGPT بتخمين ما يريده المستخدم.
  4. على الرغم من أن الشركة بذلت جهودًا لجعل النموذج يرفض الطلبات غير المُلائمة، فإنه سيستجيب أحيانًا للتعليمات الضارة أو يُظهر سلوكًا متحيزًا وذلك بسبب تعلمّه الذاتي الذي يجعله يخطئ أحياناً في تمييز البيانات. ولكن تراقب الشركة دائماً آراء المستخدمين لتطوير النموذج والتخلص من هذه المشكلة.
  5. غير متاح في عدد من الدول العربية مثل (سورية، مصر، السعودية..) [2]

مقارنة ChatGPT مع نماذج المحادثة الأُخرى

نموذج GPT-3

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

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

Alexa & siri أليكسا وسيري والفرق بينهما وبين ChatGPT

يمكن لـ Siri و Alexa التفاعل مع العالم المادي وإتمام الإجراءات على التطبيقات/الأجهزة الأخرى. بينما لا يمكن لـ ChatGPT القيام بأي من ذلك (على الأقل في الوقت الحالي). هذا لأنه صمِّم لتقديم إجابات أكثر تفصيلاً وشمولية لمجموعة واسعة من الأسئلة وليس للقيام بإجراءات واتخاذ خطوات.

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

إن ChatGPT-من حيث الأمان- يمتلك خصوصية بيانات أكبر من Alexa و Siri . كما يمكنك حذف محادثات ChatGPT بسهولة بنقرة زر بعد حصولك على المساعدة التي تحتاجها، بالإضافة لعدم وجود سجل للدردشة. وبالتالي تستخدم بياناتك حين ترغب بذلك. تمنح هذه الميزات ChatGPT تفوقًا واضحًا على Siri و Alexa حين يتعلق الأمر بملكية البيانات والخصوصية. كما أنَّ تطبيقات الذكاء الاصطناعي تكون أكثر دقة عندما تختص بمجال محدد. وبالتالي فإن ChatGPT دقيق تمامًا في كل ما يمكنه فعله في الوقت الحالي. علاوةً على توليد ردود شبيهة بالبشر دون أي نوع من الأخطاء النحوية. كما يمكنه أيضًا تعديل إجاباته إذا قمت بتعديل أسئلتك لتزويدك بإجابات أكثر دقة من Alexa أو Siri. بالإضافة إلى أنك لا تحتاج إلى تكرار الموضوع أو السؤال للحصول على إجابة دقيقة. يتفهم ChatGPT سياق المحادثة ويقوم بالإجابة وفقًا لذلك، تمامًا كما يفعل الإنسان! [4][5]

نموذج كورتانا Cortana بالمقارنة بChatGPT

تستخدم Cortana الصوت لينفذ طلبات المستخدم، على غرار كلّ من Siri و alexa، وهذا ما يميزه عن ChatGPT. وقد طوِّر من قِبل شركة microsoft. وتستعمل Cortana ميزة Windows Search لمساعدتك على البحث في الويب على أجهزة Windows. كما تقدم لك أجوبة وترجمات وحسابات سريعة. وتعيّن التنبيهات لك وتنفّذ مهام أخرى لا تتطلب إضفاء طابع شخصي، حتى لو لم تسجّل دخولك ولم تمنح Cortana الإذن اللازم لاستخدام بياناتك الشخصية. باستطاعة Cortana أن تقدم لك مقترحات البحث فور أن تبدأ الكتابة أو الكلام. ولكن ما يميز ChatGPT عنها هو قدرته على إيجاد الإجابة الدقيقة وبشكل محدد بدون الحاجة إلى دخول روابط أو قراءة مقالات. بالإضافة إلى أن قاعدة بيانات ChatGPT تعتمد على تعلمّه المستمر من تعامله مع المستخدمين وليس فقط على البيانات (أكواد، مقالات..) جاهزة. [6]

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

ما رأيك في تقنيات الذكاء الاصطناعي؟ هل تجد مثل هذه التطبيقات مساعدة للبشر أم منافسة؟

المصادر

[1] The New York times
[2] OpenAI.com
[3]OpenAI.com
[4]Apple.com
[5]Amazon.com
[6]Microsoft.com

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

هذه المقالة هي الجزء 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

مقدمة عن مجال المعلوماتية الحيوية Bioinformatics

ما هي المعلوماتية الحيوية؟

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


مجالات تجمع بينها المعلوماتية الحيوية

تطبيقات المعلوماتية الحيوية

يعتبر هذا المجال من التخصصات الغنية حيث تبحث في المجالات علم الأدوية, والمضادات الحيوية، والمستحضرات الصيدلانية وحتى التقنيات الصديقة للبيئة ودراسات تغير المناخ. ويهتم هذا المجال بعلم الوراثة والجينوم، ويستخدم لجمع وتخزين وتحليل البيانات والمعلومات البيولوجية، مثل تسلسل الحمض النووي (DNA) أو الحمض النووي الريبي (RNA) أو البروتين والأحماض الأمينية. حيث يستخدم العلماء والأطباء قواعد البيانات التي تنظم هذه المعلومات من أجل مقارنة الجينات والتسلسلات الأخرى في البروتينات والتسلسلات الأخرى داخل الكائنات الحية والنظر في العلاقات التطورية فيما بينها. وأيضا استخدام الأنماط الموجودة عبر تسلسل الحمض النووي والبروتين لمعرفة وظيفتها وأهميتها.[1]

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

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

نمذجة لشكل البروتين باستخدام برمجيات خاصة

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

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

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

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

اختصاصات ومجالات المعلوماتية الحيوية

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

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

برامج دراسات المعلوماتية الحيوية

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

  • برنامج الماجستير بجامعة كولومبيا

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

  • برنامج ماجستير المعلوماتية الحيوية بجامعة نورث إيسترن

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


    المصادر

[1] Genome.gov
[2] NCBI
[3] برنامج جامعة كولومبيا
[4] برنامج جامعة نورث إيسترن

 

 

 

 

 

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

هذه المقالة هي الجزء 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

ما هو علم البروتينات وما أنواعه وتطبيقاته؟

يتناول «علم البروتينات – Proteomics» دراسة للبروتينات بشكل واسع النطاق. وقد تمت صياغة مصطلح الـ «Proteomics» لأوّل مرة في عام 1995، ويوجد تعريفان لهذا المصطلح، الأول، التعريف الكلاسيكي يقصر التحليل واسع النطاق للمنتجات الجينية على الدراسات التي تشمل البروتينات فقط. أمّا الثاني، فيجمع بين دراسات البروتين والتحليلات التي لها قراءات جينية مثل تحليل mRNA والجينوم داخل الخلية وهو الأكثر شمولًا. [1]
بالمحصلة الهدف من هذا العلم هو الحصول على رؤية شاملة ومتكاملة من خلال دراسة جميع بروتينات الخلية بدلاً من كل بروتين على حدى. وانطلاقًا من التعريف الشامل، فإن العديد من مجالات البحث والدراسة أصبحت تحت عنوان علم البروتينات.

أنواع الدراسات في مجال علم البروتينات

توصيف البروتين

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

هيكلية البروتينات

هي الدراسات التي تهدف إلى رسم خريطة بنية مجمعات البروتين أو البروتينات الموجودة في عضية خلوية معينة باسم «خريطة الخلية – Cell Map». والخريطة الخلوية هي عبارة عن مجموعة من البيانات التي تحدد نوع البروتينات الموجودة ضمن الخلية و تحديد مكانها. في حال وجودها والتي يمكن عرضها بشكل مرئي لتسهيل التحليل.


البروتينات الوظيفية

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

تكنولوجيا علم البروتينات

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

  • فصل وعزل البروتينات

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

  • تحصيل معلومات عن بنية البروتين

إحدى الطرق المبكرة المستخدمة لتحديد البروتين هي « تسلسل إدمان – Edman Sequencing»، للحصول على سلاسل الأحماض الأمينية. لكنها تعد ذات استخدام محدود ضمن هذا المجال. أيضًا لدينا طريقة « قياس الطيف الكتلي – Mass Spectrometry »، وهي طريقة تعطينا معلومات أكثر حول بنية البروتين، مثل كتل الببتيد أو تسلسل الأحماض الأمينية بالإضافة لتحديد مواقع البروتين بدقة.

  • استخدام قواعد البيانات

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

تطبيقات علم البروتينات

تطبيقات البروتينات عديدة ومتنوعة ومن أهمها:

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

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

المصادر:

[1] EBI

[2] Science Direct

[3] Technology Networks

 

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

هذه المقالة هي الجزء 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

ما هي لغة بايثون Python ومميزاتها؟ اعرف 8 استخدامات لها

البايثونPython هي لغة برمجة عالية المستوى تستخدم للأغراض العامة ومنتشرة على نطاق واسع. تم إنشائها بواسطة Guido van Rossum في عام 1991 وتم تطويرها بواسطة Python Software Foundation. صممت بالتركيز على قابلية قراءة الكود، حيث يسمح تركيبه للمبرمجين بالتعبير عن مفاهيمهم في عدد أقل من سطور التعليمات البرمجية. وهي لغة برمجة تتيح لك العمل بسرعة ودمج الأنظمة بشكل أكثر كفاءة. وهناك نسختان رئيسيتان من بايثون هما: بايثون 2 وبايثون 3 وكلاهما مختلف عن الآخر تمامًا. [1]

الفرق بين python 2 و Python 3

كلاهما يأتي مع الكثير من الميزات ودعم المكتبة، وعلى الرغم من توقف الدعم الرسمي لـ Python 2.x في عام2020 ، لا تزال لغة بايثون 2 مستخدمة على نطاق واسع لتطوير وإصلاح الأدوات الحالية.

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

مميزات لغة بايثون python

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

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

ويعمل المبرمجون على تطوير هذه اللغة باستمرار.

لغة البايثون بها مكتبة متكاملة تساعدك على التعامل مع مجموعة مختلفة من العناصر مثل التعامل مع HTML، أو XML، أو GUI.

تتميز أيضاً أنها سريعة للغاية في عملية تطوير التطبيقات المختلفة. ومتاحة للاستخدام على مجموعة مختلفة ومتعددة من الأنظمة مثل Linux ، Windows، Macintosh. [3]

فيم تستخدم لغة بايثون Python؟

1. الذكاء الاصطناعي والتعلم الآلي. فنظرًا لأن Python هي لغة برمجة مستقرة ومرنة وبسيطة، فهي مثالية لمختلف مشروعات التعلم الآلي (ML) والذكاء الاصطناعي (AI).

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

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

وسواء كنت تبحث عن تمثيل بياني بسيط أو مخطط كامل، يمكنك العثور على مكتبة تلائم احتياجاتك. مثل مكاتب: Pandas و Plotly.

4. برمجة التطبيقات. يمكنك برمجة جميع أنواع التطبيقات باستخدام Python. كما يمكن استخدام البايثون لقراءة وإنشاء أدلة الملفات، وإنشاء واجهات المستخدم الرسومية وواجهات برمجة التطبيقات، سواء كانت تطبيقات الصوت والفيديو أو تطبيقات التعلم الآلي، فيمكنك إنشاؤها جميعًا باستخدام Python.

5. تطوير الويب. وتعد لغة البايثون خيارًا رائعًا لتطوير الويب. هذا يرجع إلى أن هناك العديد من مساحات العمل خاصة بلغة البايثون وتستخدم لتطوير الويب، مثل Django و Pyramid وFlask. وتم استخدام هذه المساحات لإنشاء مواقع وخدمات مثل Spotify و Reddit و Mozilla بالفعل.

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

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

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

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

المصادر

Python.org

Scaler.com

Geeksforgeeks
Futurelearn

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

هذه المقالة هي الجزء 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
Exit mobile version