فهرست مطالب
عنوان
صفحه
چكيده
1
مقدمه
2
الگوريتم ژنتيك
5
تعريف خروجي(نمايش)
8
عملگرهاي مجموعه ژن
10
شئ جمعيت
13
توابع شئ و مقياس گذاري مناسب
14
نمايش الگوريتم ژنتيك درc++
15
توانايي عملگرها
17
چگونگي تعريف عملگرها
18
چگونگي تعريف كلاس مجموعه ژن
22
سلسله مراتب كلاس ها
23
1. سلسله مراتب كلاس GALib – گرافيكي
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 شما دارد.
#نسخه_الکترونیکی_کمک_در_کاهش_تولید_کاغذ_است. #اگر_مالک_یا_ناشر_فایل_هستید، با ثبت نام در سایت محصول را به سبدکاربری خود منتقل و درآمدفروش آن را دریافت نمایید.
تعداد مشاهده: 4279 مشاهده
فرمت محصول دانلودی:.rar
فرمت فایل اصلی: doc
تعداد صفحات: 142
حجم محصول:249 کیلوبایت