Quantcast
Channel: دانلود فایل رایگان
Viewing all articles
Browse latest Browse all 46175

تحقيق در مورد الگوريتم ژنتيك

$
0
0
 nx دارای 16 صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است فایل ورد nx  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد. این پروژه توسط مرکز nx2 آماده و تنظیم شده است توجه : در صورت  مشاهده  بهم ريختگي احتمالي در متون زير ،دليل ان کپي کردن اين مطالب از داخل فایل ورد مي باشد و در فايل اصلي nx،به هيچ وجه بهم ريختگي وجود ندارد بخشی از متن nx : الگوریتم ژنتیك الگوریتم ژنتیك از روشهای جستجوی مستقیم اتفاقی است كه بر پایه اصول انتخاب طبیعی و بقای اصلح قرار دارد. اصطلاحات بكار رفته در الگوریتم ژنتیك كاملاً شبیه واژگان ژنتیك طبیعی است و حتی تشابه نزدیكی بین عناصر این دو وجود دارد. این روش، اولین بار توسط جان هلند از دانشگاه میشیگان در سال 1975 پیشنهاد شد. ساختار اصلی كه توسط الگوریتم پردازش می‌شود، رشته ( كرموزم ) است. یك رشته زنجیره ای از تعدادی كد ( اغلب كدهایی دودیی ) با طول معلوم است. بیتهای رشته (صفر یا 1 در یك رشته دودویی) معادل ژنهای طبیعی‌اند. هر كدام بیانگر یك متغیر ( مشابه یك ویژگی در ژنتیك طبیعی همانند رنگ چشم ) و هر مصداق خاصی از كد به طور مستقیم یا غیر مستقیم بیانگر مقدار مشخصی از آن متغیر است ( معادل مثلاً چشم آبی ). شكل 1- رشته در الگوریتم ژنتیك شامل پارامترها بصورت كد دودویی است.كدهای یك رشته به اندازه تعداد متغیرهاست، پس یك رشته اساسا بیانگر یك جواب ممكن است. با الگوریتم ژنتیك ایجاد یك جمعیت اولیه از رشته‌ها از طریق انتخاب تصادفی مقادیر بیتهای رشته آغاز می‌شود. تعداد رشته‌ها (كروموزمها) در جمعیت، اندازه جمعیت نامیده می‌شود. اندازه جمعیت در ابتدا توسط كاربر تعیین می‌شود یا اینكه بر طبق قاعده‌ای كه بعدا خواهد آمد، توسط كامپیوتر تعیین می‌شود و در طی جستجو، ثابت نگه داشته می‌شود.برازندگی یك رشته (جواب ممكن ) توسط تابع محاسبه می‌شود. چون الگوریتم ژنتیك دنبال ماكزیمم كردن برازندگی جوابهای ممكن است، در یك مسأله ماكزیمم سازی، برازندگی برابر مقدار تابع هدف محاسبه شده برای مقادیر خاص پارامتر كه هر رشته بیان می‌كند، می‌باشد. یعنی تابع برازندگی همان تابع هدف است اما در مسأله مینیمم سازی برازندگی با افزایش تابع هدف كاهش می‌یابد. یك راه برای جبران آن تعریف تابع برازندگی به صورت :1- تابع هدف- مقدار ثابت = تابع برازندگیكه مقدار ثابت به اندازه كافی بزرگ انتخاب می‌شود تا از منفی شدن برازندگی جلوگیری شود. یك مقدار متداول برای این مقدار ثابت، مجموع و ماكزیمم تابع هدف درهر نسل است.روش دیگرمعكوس كردن تابع هدف می‌باشد.پس از ارزیابی رشته‌های نسل صفر، نسل جدید (نسل اول) از برازنده‌ترین اعضای نسل صفر ایجاد می‌شود. برای این كار، در یك فرایند انتخاب آن والدین اعضای نسل جدید انتخاب می‌گردد، به هر رشته وزنی متناسب با برازندگیش داده می‌شود. این فرایند تولید مثل متناسب با برازندگی نامیده می‌شود و تعداد كپی‌هایی از هر رشته در نسل حاضر را كه به اتاق لقاح می‌روند، تعیین می‌كند. رشته‌های انتخاب شده شانس آن را می‌یابند كه در ایجاد رشته‌های نسل بعد شركت كنند. هیچ تضمینی برای بقای یك فرد وجود ندارد بلكه تجربه‌های تصادفی تصمیم می‌گیرند كه كدام بالاتری، اما نه تضمین، برای بقا دارند. ساده‌ترین راه برای انجام تولید مثل متناسب با برازندگی شبیه سازی فرایند با عملكرد یك چرخ رولت وزندار است. هر رشته از جمعیت دارای یك قطاع چرخ است كه اندازه آن متناسب با برازندگی آن رشته است. در نتیجه احتمال انتخاب برابر برازندگی نسبی است. یك مسأله در مورد انتخاب چرخ رولت واضح است. فرایند انتخاب نه تنها به رتبه هر فرد بلكه به تعریف دقیق تابع هدف بستگی دارد. هر تبدیل غیرخطی تابع برازندگی بر فرایند انتخاب اثر می‌گذارد. بنابر این مسأله زیر در انتخاب چرخ رولت پیش می‌آید : در طی اولین نسل، جمعیت خیلی ناهمگن است. یعنی برازندگی افراد خیلی متفاوت است. وقتی كه الگوریتم شروع به همگرا شدن می‌كند، برازندگی همه افراد خیلی شبیه هم می‌شود، در نتیجه همه افراد تقریباً با احتمال یكسان بقا می‌یابند، به عبارت دیگر قدرت انتخاب خیلی كم می‌شود و الگوریتم ژنتیك به جستجوی اتفاقی تباه می‌شود. (شكل 2) شكل 2- ده فرد از بین جمعیت صد عضوی انتخاب می‌شود. قدرت انتخاب بالاست اگر افراد بهتر بر بدتر ترجیح داده شود. پایین‌ترین قدرت انتخاب ممكن زمانی است كه همه افراد مستقل از رتبه‌شان بقا یابند. در این حالت الگوریتم ژنتیك به جستجوی اتفاقی ناكارا تباه می‌شود.برای جلوگیری از این مسأله، چندین روش برای مقیاس بندی مقادیر برازندگی پیشنهاد شده است. یك راه حل ساده آن است كه مقادیر برازندگی چنان مقیاس بندی شود كه بالاترین مقدار همواره به یك و پایین ترین مقدار همواره به صفر نگاشته شود. با چنین مقیاس بندی قدرت انتخاب در همه نسلها ثابت می‌ماند. برای تولید مثل، چرخ رولت به تعداد اندازه جمعیت چرخانده می‌شود. در هر چرخش یك عدد برنده به دست می‌آید كه مشخص كننده رشته ای است كه وارد اتاق لقاح می‌شود. واضح است كه هر چه قطاع این رشته بزرگتر باشد، احتمال اینكه كپی‌هایی در اتاق لقاح داشته باشد ولذا در ایجاد نسل بعدی شركت كند، بالاتر است. رشته‌ها در اتاق لقاح به طور تصادفی لقاح می‌كنند. یعنی زوج رشته‌ها به طور تصادفی انتخاب شده، مخلوط شده و احتمالا توسط عملگرهای ژنتیكیب تولید رشته‌های نسل بعدی تغییر می‌كنند. شكل 3- ایجاد نسل بعدی در الگوریتم ژنتیكدو عملكرد ژنتیكی متداول عبارتند از پیوند و جهش، پیوند مهمترین عملگر ژنتیكی است. پیوند یك نقطه‌ای ساده به صورت زیر است: وقتی كه زوجی از رشته‌ها به صورت اتفاقی از اتاق لقاح انتخاب شد، یك موقعیت صحیح K (محل پیوند) در طول رشته به طور تصادفی بین 1و l-1 كه I طول رشته برحسب بیت است انتخاب می‌شود. حال با تعویض تمام بیتهای بین موقعیت K+1 وI دو رشته جدید ایجاد می‌شود. در پیوند دو نقطه‌ای، دو نقطه پیوند انتخاب می‌شود و بخشی از رشته كه بین این دو نقطه است، جابجا می‌شود تا دو بچه بوجود آید. می‌توان بطور مشابه پیوند n نقطه‌ای تعریف كر د. پیوند یك نقطه‌ای در شكل (4) نشان داده شده است. شكل 4- عملگر پیوند در الگوریتم ژنتیك فرایند لقاح با سایر زوج رشته‌ها تكرار می‌شود تا اینكه تعداد مطلوبی از رشته‌های بچه ایجاد شود. در الگوریتم ژنتیك با اندازه جمعیت ثابت این تعداد برابر اندازه جمعیت اصلی است. پیوند منجر به تبادل اطلاعات تصادفی اما ساخت اما ساخت یافته می‌شود. هر رشته بچه تركیبی از ویژگیهای والدین را به ارث می‌برد. با ملاحظه این واقعیت كه در هر روند جستجو موازن ای بین آفرینش دانش جدید و بهره برداری از دانش موجود برقرار است، می‌توان پیوند را وسیله ای برای بهره برداری از دانش موجود در الگوریتم ژنتیك در نظر گرفت. پیوند با تركیب كروموزنها برای تشكیل الگوهای رشته‌ای كه ممكن است قبلا در جمعیت وجود نداشته باشد، ساز و كاری برای كشف نواحی جدیدی از فضای جستجو را فراهم می‌كند. دانش جدید با اعمال ژنیتیكی دیگری به سیستم به نام جهش ایجاد می‌شود. جهش اساسا تغییر تصادفی یك بیت ( 0به 1 یا 1 به 0 ) در یك رشته ای كه به طور تصادفی انتخاب شده، می‌باشد. این عملگر معمولاً پس از عمل پیوند در اتاق لقاح روی رشته‌ها اعمال می‌شود. دوباره محل جهش بطور تصادفی در طول رشته ( بین بیتهای 1 تا l ) انتخاب می‌شود و بیت مربوطه عوض می‌شود. جهش نوعی از قدم زدن تصادفی در فضای جستجو را مطرح می‌كند و مانع از به دام افتادن سیستم در نقطه بهینه محلی می‌شود. همچنین جهش امكان تشكیل الگوهای رشته ای كه ممكن است در جمعیت محدود تصادفی اولیه وجود نداشته باشد، فراهم می‌كند. نرخ جهش معمولاً پایین نگهداشته می‌شود تا كروموزمهای خوب بدست آمده از پیوند از بین نرود. اگر نرخ جهش بالا باشد ( بالای 1/0)،كارآیی الگوریتم ژنتیك كاهش می‌یابد و به جستجوی تصادفی نزدیك می‌شود. شكل 5 عملگر جهش را نشان می‌دهد. 5- عملگر جهش در الگوریتم ژنتیكبا پیشرفت الگوریتم در طی نسلهای متوالی، برازندگی میانگین جمعیت افزایش می‌یابد و جواب بهینه فراگیر پس از نسلهای كمی پیدا می‌شود. باید ذكر شود كه افزایش برازندگی میانگین در نسلهای متوالی به معنی آن نیست كه همه رشته‌ها در همه نسلها برازنده هستند. افراد ضعیفی ممكن است در یك نسل ظاهر شود اما مطابق اصل بقای اصلح آنها می میرند و به زودی با افراد قویتر جایگزین می‌شوند. در الگوریتم ژنتیك این سرنوشت به شكل تولید مثل متناسب با برازندگی جامه عمل می‌پوشد كه در آن كروموزمهای ضعیفتر شانس كمتری برای انتخاب شدن جهت داشتن فرزند در نسل بعدی دارند.می‌توان سیاستی در پیش گرفت كه برازندگی میانگین نسلهای متوالی بطور یكنوا صعودی باشد. این كار از طریق انتقال مستقیم تعداد مشخصی از برازنده ترین افراد هر نسل به نسل بعدی بدون اعمال عملگرهای ژنتیكیبر آنها امكان پذیر است و نخبه‌گرایی نام دارد.فرایند تكاملی وقتی خاتمه می‌یابد كه همگرایی آشكار شود یا معیار خاتمه دیگری ( مانند پردازش تعداد مشخصی نسل ) ارضا شود. همگرایی الگوریتم ژنتیك توسط یكنواختی برازندگی رشته‌ها در یك جمعیت اندازه گیری می‌شود. یك معیار خاتمه متداول آن است كه برازندگی میانگین جمعیت 95 %ماكزیمم برازندگی در همان جمعیت باشد. ادامه خواندن تحقيق در مورد الگوريتم ژنتيك

نوشته تحقيق در مورد الگوريتم ژنتيك اولین بار در دانلود رایگان پدیدار شد.


Viewing all articles
Browse latest Browse all 46175

Trending Articles