پایان نامه الگوريتم ژنتيك در زبان برنامه نويسي c++

 دانلود پایان نامه رشه کامپیوتر گرایش نرم افزار

عنوان : پایان نامه الگوريتم ژنتيك در زبان برنامه نويسي c++

با فرمت ورد  word  ( دانلود متن کامل پایان نامه  )

اين پايان نامه را تقديم مي كنم به خانواده ام كه در طول تحصيل و در همه مشكلات پيش آمده، مرا كمك كردند.

 

فهرست مطالب 
عنوان صفحه
چكيده 1
مقدمه 2
الگوريتم ژنتيك 5
تعريف خروجي(نمايش) 8
عملگرهاي مجموعه ژن 10
شئ جمعيت 13
توابع شئ و مقياس گذاري مناسب 14
نمايش الگوريتم ژنتيك درc++ 15
توانايي عملگرها 17
چگونگي تعريف عملگرها 18
چگونگي تعريف كلاس مجموعه ژن 22
سلسله مراتب كلاس ها 23
   1. سلسله مراتب كلاس GALib – گرافيكي 23
   2. سلسله مراتب كلاس GALib – مراتب 24
رابط برنامه نويسي 25
نام پارامترها و گزينه هاي خط فرمان 26
رفع خطا 28
توابع اعداد تصادفي 29
GAGeneticAlgorithm 31
GADemeGA 42
GAIncrementalGA 44
GASimpleGA 47
GASteadyStateGA 50
Terminators 52
Replacement Schemes 54
GAGenome 55
GA1DArrayGenome<T> 62
GA1DArrayAlleleGenome<T> 65
GA2DArrayGenome<T> 67
GA2DArrayAlleleGenome<T> 70
GA3DArrayGenome<T> 72
GA3DArrayAlleleGenome<T> 76
GA1DBinaryStringGenome 78
GA2DBinaryStringGenome 81
GA3DBinaryStringGenome 85
GABin2DecGenome 88
GAListGenome<T> 91
GARealGenome 92
GAStringGenome 94
GATreeGenome<T> 96
GAEvalData 97
GABin2DecPhenotype 98
GAAlleleSet<T> 100
GAAlleleSetArray<T> 103
GAParameter and GAParameterList 104
GAStatistics 108
GAPopulation 113
GAScalingScheme 123
GASelectionScheme 127
GAArray<T> 130
GABinaryString 132
نتيجه گيري 135
مراجع 136

 

 

چكيده

علم ژنتيك، علمي است كه به تازگي وارد علوم كامپيوتر شده و با استفاده از اجزا مورد نياز ژنتيك و شبيه سازي آن در كامپيوتر، انسان را قادر مي سازد تا بعضي از مسائل مختلف و پيچيده اي كه در اوايل حل نشدني بودند، را حل كند.

اين مستند، يك كتابخانه از اشيا الگوريتم ژنتيك به زبان c++ مي باشد. اين كتابخانه شامل ابزاريست كه براي بهبود هر برنامه اي به زبان c++ و هر خروجي و هر عملگر ژنتيكي، استفاده مي شوند. در اينجا، با پياده سازي الگوريتم ژنتيك، رابط برنامه نويسي آن و اشكالي براي راهنمايي، آشنا خواهيد شد.            

مقدمه

اين مستند محتويات كتابخانه الگوريتم ژنتيك را رمز بندي مي كند و بعضي از فلسفه هاي طراحي را كه در پشت پياده سازي هستند، نمايش مي دهد. بعضي از مثال هاي كد منبع در آخر صفحه مشخص شده تا ساختار اصلي برنامه، توانايي هاي عملگرها، تطابق عملگرها با نياز كاربر و مشتقاتي از كلاس هاي جديد مجموعه ژن را نمايش بدهند. وقتي كه شما از يك كتابخانه استفاده مي كنيد به صورت ابتدايي با دو نوع كلاس كار مي كنيد الگوريتم مجموعه ژن و الگوريتم ژنتيك. هر نمونه اي از مجموعه ژن يك راه حل براي مسئله شما نشان مي دهد. شي الگوريتم ژنتيك توضيح مي دهد كه چگونه سير تكامل بايد طي شود. الگوريتم ژنتيك از يك تابع عضو شي اي كه توسط شما تعريف شده است استفاده مي كند تا معين كند چگونه هر مجموعه ژن براي زنده ماندن مناسب است؟

الگوريتم ژنتيك از عملگر هاي مجموعه ژن ( كه در داخل مجموعه هستند) و استراتژي هاي انتخاب/ جايگزيني ( كه در داخل الگوريتم ساخته مي شود ) براي توليد يك مجموعه ژن جديد مجزا ، استفاده مي كند.

سه چيز براي حل مسئله با استفاده از الگوريتم ژنتيك وجود دارد :

  1. تعريف خروجي هاي كه نشان داده ميشوند
  2. تعريف عملگر هاي ژنتيكي
  3. تعريف تابع عضو شي را

 

GALIB (كتابخانه الگوريتمهاي ژنتيك ) به شما در دومورد اول به وسيله مهيا كردن مثال هاي زياد وتكه برنامه هايي كه شما مي توانيد ، خروجي ها و عملگر هاي خود را بسازيد كمك مي كند . در خيلي از موارد شما مي توانيد از ساختار خروجي ها و عملگر ها با كمي يا هيچ اصلاحي استفاده كنيد . تابع عضو شي كاملا به شما مربوط مي شود .

در صورتي كه شما خروجي ها ، عملگرها و موارد شي را داشته باشيد ، مي توانيد هر كدام از الگوريتم هاي ژنتيك را براي پيدا كردن راه حل بهتر و مناسبتر براي مسئله تان به كار بگيريد. موقعي كه شما از الگوريتم ژنتيك براي حل يك مشكل بهينه استفاده مي كنيد، بايد قادر باشيد كه يك راه حل براي مسئله در يك ساختمان داده ارائه بدهيد . الگوريتم ژنتيك يك جمعيت از راه حل هايي كه بر طبق نمونة ساختمان دادهايي كه به وجود آورده ايد، ايجاد مي كند . بعد الگوريتم ژنتيك بر روي اين جمعيت عمل مي كند تا بهترين راه حل را ازآن استخراج كند.در GALIB كتابخانه الگوريتم ژنتيك به نمونة ساختمان داده GAGENOME گفته مي شود (بعضي ها به آن كروموزوم نيز مي گويند ). اين كتابخانه شامل چهار نوع از اين مجموعه هاست GALISTGENOME ( ليست پيوندي مجموعه ژن)GATREEGAGENOME (درخت مجموعه ژن) GAARRYGENOME( آرايه مجموعه ژن) GABINARYSTRINGGENOME(رشته دودويي مجموعه ژن). اين كلاس ها از كروموزوم يا كلاس GAGENOME اصلي و يك كلاس ساختمان داده اي كه بوسيله نامشان مشخص شده اند، مشتق شده اند.

براي مثال ليست پيوندي مجموعه ژن از كلاس GALIST و همچنين كلاس مجموعه ژن GAGENOME مشتق شده است. از ساختمان داد ه اي كه با تعريفات مسئله شما همخواني دارد، استفاده كنيد. براي مثال ، اگر شما سعي مي كنيد كه يك تابعي را بهينه سازي كنيد كه به پنج عدد حقيقي وابسته است ، پس به عنوان مجموعه ژن خود از يك آرايه يك بعدي با پنج عنصر اعشاري استفاده كنيد.

الگوريتم هاي ژنتيك مختلف زيادي وجود دارند. GALIB (كتابخانه الگوريتم ژنتيك) شامل سه نوع اصلي مي باشد:

  1. حالت ساده
  2. حالت ساكن يا ثابت يا يكنواخت
  3. حالت افزايش

اين الگوريتم ها در طريق هاي كه مجموعه هاي جديد مجاز را ايجاد مي كند ومجموعه هاي قديمي را درزمان سيرتكامل جايگزين مي كنند ، با يكديگر تفاوت دارند.

GALIB دو مكانيسم اوليه براي گسترش قابليت هاي ساخت شي را مهيا مي كند اول از همه (و مهمتر از همه از نظر برنامه نويسي C++ ) شما مي توانيد كلاس هاي خودتان را درست كنيد و تابع هاي عضو جديدي را تعريف كنيد . اگر شما احتياج داريد كه فقط تنظيمات كمي را بر روي رفتار كلاس GALIB اعمال كنيد ، در بيشتر موارد مي توانيد يك تابع تعريف كنيد و به كلاس GALIB بگوييد كه از آن به عنوان پيش فرض استفاده كند .

الگوريتم هاي ژنتيك اگر به درستي پياده سازي شوند، قابليت هر دو مورد پويش( پيدا كردن وسيع)و كاوش (پيداكردن محلي )در فضاي SEARCH را، دارند. نوع رفتار يا عملكردي را كه شما مي بينيد، بستگي به اين دارد كه چگونه عملگرها كار مي كنند و همچنين بستگي به شكل يا فرم فضاي SEARCH شما دارد.

 

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

ولی در فایل دانلودی متن کامل پایان نامه

همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند

موجود است

word

 

 

فایل ها برای اینکه حجم آنها پایینتر شود وراحتتر دانلود شوند با فرمت rar فشرده شده اند

برای دریافت پسورد فایل اینجا کلیک کنید

 

 دانلود پایان نامه الگوريتم ژنتيك در زبان برنامه نويسي c++

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید