الگوریتم برنامهسازی بیان-ژنی (Gene Expression Programming) روشی برای توسعهی برنامههای کامپیوتری و مدلسازی ریاضیاتی بر اساس محاسبات تکاملی و با الهام از تکامل طبیعی است. این روش توسط Ferreira در سال ۱۹۹۹ ابداع و به طور رسمی در سال ۲۰۰۱ معرفی شد (Ferreira, 2001).
الگوریتم GEP در حقیقت نگاه حاکم بر دو الگوریتم وراثتی پیش از خود را در راستای پوشش نقاط ضعف این دو، تجمیع میکند. در این روش، ژنوتایپ کروموزومها مشابه الگوریتم ژنتیک (Genetic Algorithm) یک ساختار خطی دارد و فنوتایپ این کروموزومها به صورت یک ساختار درختی با طول و اندازهی متغیر مشابه الگوریتم برنامهسازی ژنتیک (Genetic Programming) است. از این رو الگوریتم GEP با غلبه بر محدودیت نقش دوگانهی کروموزومها در الگوریتمهای پیش از خود امکان اعمال عملگرهای متعدد ژنتیک را با ضمانت سلامت همیشگی کروموزومهای فرزند فراهم میسازد و با سرعتی بیش از GP به دلیل تنوع ساختاری بالاتر از GA، فضای پاسخهای ممکن را به صورت کاملتری جستجو میکند. در حقیقت GEP از این منظر موفق به عبور از آستانههای اول و دوم مفروض در فرآیندهای تکامل طبیعی (Replicator Threshhold and Phenotype Threshold) شده است.
برای فراگیری ساختار این الگوریتم در
وبسایت اصلی GEP منابع جامعی وجود دارد. در
این فیلم آموزشی نیز سعی کردم تا نتیجه یافتههای خود را به زبانی روان و با سادهترین ابزارها در پیادهسازی روش شرح دهم.
از این الگوریتم علاوه بر تشخیص الگو و تابعیابی هوشمند در مسائل عام مهندسی، در طراحی ساختار شبکههای عصبی، دستهبندی، پیشبینی سریهای زمانی، تخمین ثوابت عددی، بهینهسازی پارامتری، درخت تصمیم و استخراج رابطه درونی شبکههای عصبی نیز استفاده میشود.
منابع:
Ferreira, C. (2001), “Gene expression programming: A new adaptive algorithm for solving problems,” Complex Systems, 13 (2): 87-129.
طرح دانآموز پایگاه ایرانی دادههای معدنکاری