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

دسته بندي : کالاهای دیجیتال » رشته کامپیوتر و IT (آموزش_و_پژوهش)

فهرست مطالب

 

عنوان

صفحه

چكيده

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 شما دارد.

 
دسته بندی: کالاهای دیجیتال » رشته کامپیوتر و IT (آموزش_و_پژوهش)

تعداد مشاهده: 3975 مشاهده

فرمت فایل دانلودی:.rar

فرمت فایل اصلی: doc

تعداد صفحات: 142

حجم فایل:249 کیلوبایت

 قیمت: 65,000 تومان
پس از پرداخت، لینک دانلود فایل برای شما نشان داده می شود.   پرداخت و دریافت فایل