فی دوو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

فی دوو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

پایان نامه کارشناسی الگوریتم ژنتیک

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

پایان نامه کارشناسی الگوریتم ژنتیک


پایان نامه کارشناسی الگوریتم ژنتیک

پایان نامه کارشناسی الگوریتم ژنتیک

161 صفحه در قالب word

 

 

 

 

چکیده

الگوریتم ژنتیک (Genetic Algorithm - GA) تکنیک جستجویی در علم رایانه برای یافتن راه‌حل تقریبی برای بهینه‌سازی و مسائل جستجو است. الگوریتم ژنتیک نوع خاصی از الگوریتم‌های تکامل است که از تکنیک‌های زیست‌شناسی فرگشتی مانند وراثت و جهش استفاده می‌کند.

در واقع الگوریتم‌های ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیش‌بینی یا تطبیق الگو استفاده می‌کنند. الگوریتم‌های ژنتیک اغلب گزینه خوبی برای تکنیک‌های پیش‌بینی بر مبنای تصادف هستند. مختصراً گفته می‌شود که الگوریتم ژنتیک (یا GA) یک تکنیک برنامه‌نویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مسئله استفاده می‌کند. مسأله‌ای که باید حل شود ورودی است و راه‌حل‌ها طبق یک الگو کد گذاری می‌شوند که تابع fitness نام دارد هر راه حل کاندید را ارزیابی می‌کند که اکثر آنها به صورت تصادفی انتخاب می‌شوند.

کلاً این الگوریتم‌ها از بخش های زیر تشکیل می‌شوند: تابع برازش، نمایش، انتخاب، تغییر.

کلمات کلیدی: الگوریتم ژنتیک، هیوریستیک، ترکیب و جهش، تکامل طبیعی داروین، معمای هشت وزی

 

فهرست مطالب

 فصل اول      1

1-1- مقدمه      2

1-2- به دنبال تکامل     3

1-3- ایدۀ اصلی استفاده از الگوریتم ژنتیک      4

1-4- درباره علم ژنتیک      6

1-5- تاریخچۀ علم ژنتیک      6

1-6- تکامل طبیعی (قانون انتخاب طبیعی داروین)      7

1-7- رابطه تکامل طبیعی با روش‌های هوش مصنوعی      10

1-8- الگوریتم      11

1-8-1- الگوریتم‌های جستجوی ناآگاهانه      12

1-8-1-الف- جستجوی لیست      12

1-8-1-ب- جستجوی درختی      13

1-8-1-پ- جستجوی گراف      14

1-8-2- الگوریتم‌های جستجوی آگاهانه      14

1-8-2-الف- جستجوی خصمانه      15

1-9- مسائل NP-Hard      15

1-10- هیوریستیک      17

1-10-1- انواع الگوریتم‌های هیوریستیک      19

 فصل دوم      21

2-1- مقدمه      22

2-2- الگوریتم ژنتیک      23

2-3- مکانیزم الگوریتم ژنتیک      25

2-4- عملگرهای الگوریتم ژنتیک      28

2-4-1- کدگذاری      28

2-4-2- ارزیابی      29

2-4-3- ترکیب      29

2-4-4- جهش      29

2-4-5- رمزگشایی      30

2-5- چارت الگوریتم به همراه شبه کد آن      30

2-5-1- شبه کد و توضیح آن      31

2-5-2- چارت الگوریتم ژنتیک      33

2-6- تابع هدف      34

2-7- روش‌های کد کردن      34

2-7-1- کدینگ باینری      35

2-7-2- کدینگ جایگشتی      36

2-7-3- کد گذاری مقدار      37

2-7-4- کدینگ درخت      38

2-8- نمایش رشته‌ها      39

2-9- انواع روش‌های تشکیل رشته      41

2-10- باز گرداندن رشته‌ها به مجموعه متغیرها      42

2-10-1- تعداد بیت‌های متناظر با هر متغیر      43

2-11- جمعیت      44

2-11-1- ایجادجمعیت اولیه      44

2-11-2- اندازه جمعیت      45

2-12- محاسبه برازندگی (تابع ارزش)      46

2-13- انواع روش‌های انتخاب      48

2-13-1- انتخاب چرخ رولت      49

2-13-2- انتخاب حالت پایدار      51

2-13-3- انتخاب نخبه گرایی      51

2-13-4- انتخاب رقابتی      52

2-13-5- انتخاب قطع سر      52

2-13-6- انتخاب قطعی بریندل      53

2-13-7- انتخاب جایگزینی نسلی اصلاح شده      53

2-13-8- انتخاب مسابقه      54

2-13-9- انتخاب مسابقه تصادفی      54

2-14- انواع روش‌های ترکیب      54

2-14-1- جابه‌جایی دودوئی      55

2-14-2- جابه‌جایی حقیقی      58

2-14-3- ترکیب تک‌نقطه‌ای      59

2-14-4- ترکیب دو نقطه‌ای      60

2-14-5- ترکیب n نقطه‌ای      60

2-14-6- ترکیب یکنواخت      61

2-14-7- ترکیب حسابی      62

2-14-8- ترتیب      62

2-14-9- چرخه      63

2-14-10- محدّب      64

2-14-11- بخش_نگاشته      64

2-15- احتمال ترکیب      65

2-16- تحلیل مکانیزم جابجایی      66

2-17- جهش      66

2-17-1- جهش باینری      69

2-17-2- جهش حقیقی      69

2-17-3- وارونه سازی بیت      70

2-17-4- تغییر ترتیب قرارگیری      70

2-17-5- وارون سازی      71

2-17-6- تغییر مقدار      71

2-18- محک اختتام اجرای الگوریتم ژنتیک      72

2-19- انواع الگوریتم‌های ژنتیکی      72

2-19-1- الگوریتم ژنتیکی سری      73

2-19-2- الگوریتم ژنتیکی موازی      74

2-20- مقایسه الگوریتم ژنتیک با سیستم‌های طبیعی      75

2-21- نقاط قوّت الگوریتم‌های ژنتیک      76

2-22- محدودیت‌های GAها      78

2-23- استراتژی برخورد با محدودیت‌ها      79

2-23-1- استراتژی اصلاح عملگرهای ژنتیک      79

2-23-2- استراتژی رَدّی      79

2-23-3- استراتژی اصلاحی      80

2-23-4- استراتژی جریمه‌ای      80

2-24- بهبود الگوریتم ژنتیک      81

2-25- چند نمونه از کاربردهای الگوریتم‌های ژنتیک      81

 فصل سوم      86

3-1- مقدمه      87

3-2- حلّ معمای هشت وزیر      88

3-2-1- جمعیت آغازین      90

3-2-2- تابع برازندگی      94

3-2-3- آمیزش      95

3-2-4- جهش ژنتیکی      96

3-3- الگوریتم ژنتیک و حلّ مسألۀ فروشندۀ دوره‌گرد      97

3-3-1- حل مسأله TSP به وسیله الگوریتم ژنتیک      99

3-3-2- مقایسه روشهای مختلف الگوریتم و ژنتیک برای TSP      107

3-3-3- نتیجه گیری      108

3-4- حلّ مسأله معمای سودوکو      109

3-4-1- حل مسأله      110

3-4-2- تعیین کروموزم      110

3-4-3- ساختن جمعیت آغازین یا نسل اول      111

3-4-4- ساختن تابع از ارزش      112

3-4-5- ترکیب نمونه‌ها و ساختن جواب جدید      113

3-4-6- ارزشیابی مجموعه جواب      118

3-4-7- ساختن نسل بعد      118

3-5- مرتب سازی به کمک GA      119

3-5-1- صورت مسأله      119

3-5-2- جمعیت آغازین      119

3-5-3- تابع برازندگی      122

3-5-4- انتخاب      123

3-5-5- ترکیب      123

3-5-6- جهش      124

  فهرست منابع و مراجع      126

   پیوست      127

واژه‌نامه      143

 

1-1- مقدمه

امروزه یکی از مهم‌ترین زمینه‌های تحقیق و پژوهش، توسعۀ روش‌های جستجو بر مبنای اصول تکامل طبیعی می‌باشد. در محاسبات تکاملی به صورت انتزاعی از مفاهیم اساسی تکامل طبیعی در راستای جستجو برای یافتن راه حلّ بهینه برای مسائل مختلف الهام گرفته شده است. در همین راستا مطالبی که در این فصل پیش روی شما پژوهندۀ گرامی قرار خواهد گرفت مفاهیمی دربارۀ علم کامپیوتر و علم ژنتیک مانند: الگوریتم و انواع آن، جستجو، هیوریستیک، تاریخچه الگوریتم ژنتیک و علم ژنتیک، ژن، کروموزوم، ارث بری و... می باشد، و یا به بیانی خلاصه‌تر می‌توان گفت: در این فصل به بیان مقدّمات خواهیم پرداخت.

انشاءالله مطالعۀ این فصل مفهومی ساده و روشن از موضوعِ این نوشتار را برای شما خوانندۀ محترم به تصویر خواهد کشید و شما را در درک آسان و سریع فصول بعدی یاری خواهد رساند.

 

1-2- به دنبال تکامل...

بسیاری از دانشمندان و اندیشمندان، میل به تکامل را مهترین عامل پیشرفت دستگاه آفرینش و انسان می‌دانند. از این دیدگاه هر پدیده‌ای را که بنگرید، یک مسأله جستجوست. انسان همواره می‌کوشد تا به تکامل برسد، از این رو می‌اندیشد، می‌پژوهد، می‌کاود، می‌سازد، می‌نگارد و همواره می‌کوشد تا باقی بماند. حتی می‌‌توان گفت که میل به زادن فرزند، گامی در برآوردن این نیاز و البته دیگر جانداران است. می‌توان این تلاش در راه رسیدن به تکامل را یک مسألۀ جستجو تعبیر کرد.

کوشش یک مؤسسه اقتصادی یا تولیدی –که تابعی برای تبدیل داده‌ها به ستادهاست- برای کمینه کردن هزینه‌ها و بیشینه کردن سود، یک مسألۀ جستجو است. تلاش یک سپاه در حال جنگ، برای وارد کرد بیشترین خسارات بر دشمن با از دست دادن کمترین نیرو و جنگ‌افزار، یا کوشش یک دانش‌آموز برای دست یافتن به بالاترین نمره، سعی یک موسیقیدان یا نگارگر برای خلق زیباترین اثر هنری، تلاش یک کاندیدا برای به دست آوردن بیشترین رأی، طراحی یک نجّار برای ساختن راحت‌ترین صندلی، تلاش و نقشه چینی ورزشکاران و مربّیان برای یافتن راه‌های پیروزی بر حریف و... همگی جستجویی در فضای یک مسأله برای یافتن نقاط یا ناحیه بهینگی (بیشینه یا کمینه) هستند و همین امر موجب پیشرفت تمدن و آفرینش شده است.

در دانش کامپیوتر و فناوری  اطلاعات هم «جستجو» یکی از مهمترین مسائل است. تنها کافیست که حجم اطلاعات قرار گرفته بر حافظه‌های گوناگون و اینترنت را در نظر بگیریم تا جایگاه ویژه آن را دریابیم.

تاکنون روشهای بسیاری توسط طراحان الگوریتم‌ها برای انجام جستجو بر داده‌های دیجیتالی ارائه شده است. روش‌هایی به نام جستجوی سریع[1] و جستجوی دودویی[2]، از ساده‌ترین الگوریتم‌هایی هستند که دانشجویان گرایش‌های مهندسی کامپیوتر در نخستین سال‌های دوره کارشناسی فرا می‌گیرند، امّا این الگوریتم‌ها شاید، هنگامی که با حجمی گسترده از داده‌ها روبرو شوند، کارایی ندارند و حتی الگوریتم‌های پیشرفته‌تر مانند جستجوی بازپخت شبیه‌سازی شده[3] و الگوریتم عمیق‌شوندۀ‌ تکراری[4] نیز در هنگام رویارویی با مسائل ابرفضا[5]  از یافتن راه‌حل یا ناحیه‌های دلخواه در می‌مانند. در این میان یک روش جادویی وجود وجود دارد که مسائل بزرگ را به سادگی و به گونه‌ای شگفت‌انگیز حل می‌کند و آن «الگوریتم ژنتیک»[6]  است. ناگفته پیداست که واژۀ «الگوریتم ژنتیک» از دو واژۀ «الگوریتم»  و «ژنتیک» تشکیل شده است که خود مبیّن این مطلب است که این روش از دو علم ریاضی و زیست‌شناسی برای حل مسائل کمک می‌گیرد.

الگوریتم‌ژنتیک بر خلاف دیگر روش‌های جستجو، که توسط طراحان نگاشته می‌شوند، در حقیقت به دست دستگاه آفرینش پدید آمده، و پس از شناخت نسبی دانشمندان از این روش به صورت مسأله‌ای ریاضی فرموله شده و وارد دانش مهندسی کامپیوتر و دیگر علوم مرتبط گردیده است. در یکی دو دهه گذشته که این الگوریتم در علوم مهندسی بکار گرفته شده، ناباورانه چنان دست‌آوردها و نتایج شگفت‌انگیزی داشته که نگاه بسیاری از دانش‌پژوهان علوم گوناگون فنی‌مهندسی را به خود جلب کرده است.[1]

 

1-3- ایدۀ اصلی استفاده از الگوریتم ژنتیک

در دهه 70 میلادی دانشمندی از دانشگاه میشیگان به نام «جان هلند»[7] ایده استفاده از الگوریتم ژنتیک را در بهینه‌سازی‌های مهندسی مطرح کرد. ایده اساسی این الگوریتم انتقال خصوصیات موروثی توسط ژن‌هاست. (ژنها قطعاتی از یک کروموزوم هستند که اطلاعات مورد نیاز برای یک مولکول DNA یا یک پلی پپتید را دارند. علاوه بر ژنها، انواع مختلفی از توالی‌های مختلف تنظیمی در روی کروموزوم‌ها وجود دارد که در همانندسازی، رونویسی و... شرکت دارند.([8]. فرض کنید مجموعه خصوصیات انسان توسط کروموزوم‌های او به نسل بعدی منتقل می‌شوند. هر ژن در این کروموزوم‌ها نماینده یک خصوصیت است. بعنوان مثال ژن 1 می‌تواند رنگ چشم باشد، ژن 2 طول قد، ژن 3 رنگ مو و الی آخر. حال اگر این کروموزوم به تمامی، به نسل بعد انتقال یابد، تمامی خصوصیات نسل بعدی شبیه به خصوصیات نسل قبل خواهد بود. بَدیهیست که در عمل چنین اتفاقی رخ نمی‌دهد. در واقع بصورت همزمان دو اتفاق برای کروموزوم‌ها می‌افتد. اتّفاق اول موتاسیون(جهش)[9]  است. موتاسیون به این صورت است که بعضی ژن‌ها بصورت کاملاً تصادفی تغییر می‌کنند. البته تعداد اینگونه ژن‌ها بسیار کم می‌باشد اما در هر حال این تغییر تصادفی همانگونه که پیشتر دیدیم بسیار مهم است. مثلاً ژن رنگ چشم می‌تواند بصورت تصادفی باعث شود تا در نسل بعدی یک نفر دارای چشمان سبز باشد، در حالی که تمامی نسل قبل دارای چشم قهوه‌ای بوده‌اند. علاوه بر موتاسیون اتفاق دیگری که می‌افتد و البته این اتفاق به تعداد بسیار بیشتری نسبت به موتاسیون رخ می‌دهد چسبیدن ابتدای یک کروموزوم به انتهای یک کروموزوم دیگر است.[10] این همان چیزیست که مثلاً باعث می‌شود تا فرزند تعدادی از خصوصیات پدر و تعدادی از خصوصیات مادر را با هم به ارث ببرد و از شبیه شدن تام فرزند به تنها یکی از والدین جلوگیری می‌کند. [10]

حال می‌توانیم اینگونه بیان کنیم که: الگوریتم ژنتیک ابزاری می‌باشد که توسط آن ماشین می‌تواند مکانیزم انتخاب طبیعی را شبیه سازی نماید. این عمل با جستجو در فضای مسأله جهت یافتن جواب برتر و نه الزاماً بهینه صورت می‌پذیرد.[13] الگوریتم ژنتیک را می‌توان یک روش جستجوی کلّی نامید که از قوانین تکامل بیولوژیک طبیعی تقلید می کند.[3] در واقع الگوریتم‌های ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیش‌بینی یا تطبیق الگو استفاده می‌کنند. الگوریتم‌های ژنتیک اغلب گزینه خوبی برای تکنیک‌های پیش‌بینی بر مبنای رگرسیون[11] هستند.[10]

 

ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است

متن کامل را می توانید در ادامه دانلود نمائید

چون فقط تکه هایی از متن برای نمونه در این صفحه درج شده است ولی در فایل دانلودی متن کامل همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند موجود است


دانلود با لینک مستقیم


پایان نامه کارشناسی الگوریتم ژنتیک