نمايش پست تنها
قديمي ۰۷-۲۸-۱۳۹۲, ۰۹:۴۰ بعد از ظهر   #2 (لینک دائم)
babak_1234 Male
Moderator
 
آواتار babak_1234
 
تاريخ عضويت: شهريور ۱۳۸۸
محل سكونت: تهران
پست ها: 252
تشكرها: 1
140 تشكر در 108 پست
My Mood: Khonsard
پيش فرض

نقل قول:
نوشته اصلي بوسيله sbaran نمايش پست
با سلام

من برای انجام پایان نامه ارشدم می خوام الگوریتم ژنتیک رو بر روی یک جمعیت از درختان تصمیم اجرا کنم. در واقع، کروموزوم ها در این حالت درخت هستند. عملگرهای جهش و ادغام هم در این صورت بر روی گره ها اجرا می شن. کسی می تونه برای پیاده سازی الگوریتم ژنتیک در این حالت کمکی کنه؟
برای مثال، نمی دونم که چطور می شه در متلب گفت که یک گره و فرزندان اون رو از یک درخت با یک گره دیگه از درخت دیگه ای جابجا کنه؟ انگار باید از برنامه نویسی شی گرا استفاده کرد ولی نمی دونم چطور؟

ممنون می شم اگر کسی اطلاعاتی در این زمینه داره کمک کنه

سلام

برای کد کردن درخت های تصمیم به صورت کرموزوم بهتره یک Coding برای این موضوع تعریف کنید. یعنی یک رشته کد که طی یک فرایند به درخت تبدیل میشه. شبیه کد کردن گراف به صورت ماتریس.

در مواردی میشه این کدینگ به صورت یک گرامر تعریف بشه.
بعد از عمل اپراتور های الگوریتم ژنتیک درخت کد شده به صورت یک درخت تصمیم دوباره ساخته میشه و با تابع برازش میزان خوب بودنش تعیین میشه.

البته بهتره برای پیاده سازی ایدتون از یک زبان برنامه نویسی استفاده کنید چون پیاده سازی این نوع از الگوریتم ها توی متلب خیلی کار سختیه.

همچنین من پیشنهاد میکنم از Genetic Programming به جای Genetic Algorithm استفاده کنید. دلیلشم اینه که کروموزم ها در این نوع از الگوریتم ها به صورت درخت هستن که خیلی به کار شما نزدیک خواهد بود.

البته در متلب تولباکس GP وجود نداره و شما باید کد نویسی کنید.

موفق باشید
babak_1234 آفلاين است   پاسخ با نقل قول
از babak_1234 تشكر كرده اند:
raha_hakhamanesh (۰۷-۲۸-۱۳۹۲), sbaran (۰۷-۲۸-۱۳۹۲)