نقل قول:
نوشته اصلي بوسيله sbaran
با سلام
من برای انجام پایان نامه ارشدم می خوام الگوریتم ژنتیک رو بر روی یک جمعیت از درختان تصمیم اجرا کنم. در واقع، کروموزوم ها در این حالت درخت هستند. عملگرهای جهش و ادغام هم در این صورت بر روی گره ها اجرا می شن. کسی می تونه برای پیاده سازی الگوریتم ژنتیک در این حالت کمکی کنه؟
برای مثال، نمی دونم که چطور می شه در متلب گفت که یک گره و فرزندان اون رو از یک درخت با یک گره دیگه از درخت دیگه ای جابجا کنه؟ انگار باید از برنامه نویسی شی گرا استفاده کرد ولی نمی دونم چطور؟
ممنون می شم اگر کسی اطلاعاتی در این زمینه داره کمک کنه
|
سلام
برای کد کردن درخت های تصمیم به صورت کرموزوم بهتره یک Coding برای این موضوع تعریف کنید. یعنی یک رشته کد که طی یک فرایند به درخت تبدیل میشه. شبیه کد کردن گراف به صورت ماتریس.
در مواردی میشه این کدینگ به صورت یک گرامر تعریف بشه.
بعد از عمل اپراتور های الگوریتم ژنتیک درخت کد شده به صورت یک درخت تصمیم دوباره ساخته میشه و با تابع برازش میزان خوب بودنش تعیین میشه.
البته بهتره برای پیاده سازی ایدتون از یک زبان برنامه نویسی استفاده کنید چون پیاده سازی این نوع از الگوریتم ها توی متلب خیلی کار سختیه.
همچنین من پیشنهاد میکنم از Genetic Programming به جای Genetic Algorithm استفاده کنید. دلیلشم اینه که کروموزم ها در این نوع از الگوریتم ها به صورت درخت هستن که خیلی به کار شما نزدیک خواهد بود.
البته در متلب تولباکس GP وجود نداره و شما باید کد نویسی کنید.
موفق باشید