برنامهريزي ژنتيک چیست؟
برنامهريزي ژنتيک (Genetic Programming)، که به اختصار GP نامیده می شود، از الگوريتمهاي ژنتيک براي نوشتن برنامههاي کامپيوتري استفاده ميکند. در اين حالت متغيرها، ساختارهاي برنامهريزي هستند و خروجي نيز ميزان توانايي برنامه در رسيدن به اهدافش است. تغييرات کوچکي در عملگرهاي الگوريتم ژنتيک همانند جهش، بازتوليد و ارزيابي تابع هزينه براي استفاده از آنها در GP، مورد نياز هستند. در حقيقت GP برنامهي کامپيوترياي است که برنامههاي کامپيوتري ديگر را مينويسد. هر کروموزوم در جمعيت اوليه GP، از تعدادي تابع تصادفي و ترمينالها تشکيل يافته است. مثالهايي از اين توابع تصادفي، عمليات جمع، تفريق، تقسيم، ضرب و توابع مثلثاتي هستند. ترمينالها نيز شامل متغيرها و ثابتهاي برنامه هستند. شکل فوق جمعيت کوچک توابع چندجملهاي را نشان ميدهد.
هر برنامه در جمعيت، اجرا شده و هزينهي آن به دست ميآيد. هزينه، نشان دهندهي ميزان توانايي برنامه در حل مسئله مورد نظر است. پژوهشگران زيادي، GP را براي حل مسائل مختلفي شامل تحليل خودکار کنترلکنندهها، مدارها و آنتنها استفاده کردهاند. اما در کنار استفاده فراوان آن، هنوز در مورد قوام (Robustness) نتايج بدست آمده از GP، اطمينان کافي وجود ندارد.
معادل برنامه ریزی ژنتیک را می توان در مورد الگوریتم رقابت استعماری نیز اعمال کرده و به “برنامه ریزی استعماری” یا به عبارت دیگر Imperialist Programming رسید. یعنی الگوریتمی که از الگوریتم رقابت استعماری برای نوشتن برنامه های دیگر و نیز اهداف تقریب تابعی استفاده می کند.
_____________________________________________
نظرات شما در انتهای این پست برای سایر خوانندگان، بسیار مفید خواهد بود. می توانید نظر خود را با اکانت سرویس های مختلف و یا به عنوان ناشناس در این پست درج نمائید.
صرف زمان برای یادگیری اتلاف زمان نیست. سرمایه گذاری زمانی است.
____________________________________
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.