الخوارزميات الوراثية ومحاكاة الحاسوب لآليات التطور في الطبيعة

Trello-_Tech._الخوارزميات_الوراثية

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

الخوارزميات الوراثية (genetic algorithms) هي جزء من مجموعة أكبر من الخوارزميات تسمى الخوارزميات التطورية (evolutionary algorithms). استخدم علماء الحاسوب نظرية التطور لداروين، ومصطلح «البقاء للأفضل»، في بناء أنظمة برمجية قادرة على إيجاد الحل الأفضل لمشكلة معينة من بين مجموعة كبيرة من الحلول.

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

في الصورة التالية يوجد تصميم لهوائي (antenna). تم إنتاج هذا التصميم في شركة ناسا (NASA) عن طريق برنامج للحاسوب يستخدم الخوارزميات الجينية.(3)

طريقة عمل الخوارزمية الوراثية

طريقة عمل الخوارزميات الوراثية مستوحاة من العمليات التي تحدث أثناء عملية التطور في الكائنات الحية. هذه العمليات هي الانتخاب الطبيعي (natural selection) والوراثة (Inheritance) والخلط (crossover) والتبديل أو الطفرة (mutation).

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

عادة، يكون شكل كل حل من الحلول عبارة عن سلسلة مكونة من رقمين الصفر والواحد، مثال: (10101100)، وتسمى هذه السلسلة كروموسوم (chromosome)، ويسمي كل رقم في السلسلة جين (gene).

مع ذلك يمكن أن يتم تحويله الي شكل مختلف على حسب نوع المشكلة التي تقوم الخوارزمية بحلها. عملية “الخلط”-(crossover)، تكون عبارة عن أخذ حلين من الحلول وخلطهما لإنتاج حلين مختلفين. مثال: لنفرض أن لدينا حلين الأول هو (10101100)، وآخر هو (11110000). تتم عملية الخلط، عن طريق أخذ النصف الأول من الحل الأول وهو (1100)، وأخذ النصف الثاني من الحل الثاني وهو (1111)، ثم إنتاج حل جديد مكون من هذين النصفين وهو (11111100). بهذا الشكل يحتوي الكروموسوم للحل الجديد، على جينات من كلا الكروموسومين للحلين القديمين. أما عملية التبديل أو الطفرة فتتم عن طريق تبديل أحد الأرقام الموجودة في الحل (تبديل أحد الجينات الموجودة في الكروموسوم)، مثال: لنفرض أن لدينا حل وهو (10110010)، فإن عملية الطفرة ممكن أن تُبدل أول رقم من اليمين وهو الصفر وتحوله إلى واحد، فيصبح شكل الحل الجديد كالتالي (10110011).(2)

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

بدأ العمل على ما يسمي هذه الايام بالخوارزميات التطورية (evolutionary algorithms)، في ستينات القرن الماضي، وتحديدًا في الولايات المتحدة وأوروبا.

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

الخوارزميات الوراثية
figure 1

 

المصادر:

[Tomassini. A Survey of Genetic Algorithms. Annual Reviews of Computational [1

Physics, 3:87 118, 1995.

Aljuaid, Hanan. Applying Genetic Algorithm in Multi Language’s Characters Recognition. INTECH [2] Open Access Publisher, 2012.‏

G.S. Hornby, A. Globus, D.S. Linden, J.D. Lohn, Automated antenna design with evolutionary [3] algorithms, in: Proceedings of 2006 American Institute of Aeronautics and Astronautics Conference on Space, San Jose, CA, 2006, pp. 19–21.

إعداد: Osama Ahmed

مُراجعة: إسلام سامي

تصميم: Osama Ahmed

تحرير: ندى المليجي

شارك المقال:

تواصل معنا

«الباحثون المصريون» هي مبادرة علمية تطوعية تم تدشينها في 4/8/2014، بهدف إثراء المحتوى العلمي العربي، وتسهيل نقل المواد والأخبار العلمية للمهتمين بها من المصريين والعرب،

تابعنا على منصات التواصل الإجتماعي