Artificial Intelligence - هوش مصنوعی  
انجمن را در گوگل محبوب کنيد :

بازگشت   Artificial Intelligence - هوش مصنوعی > محاسبات نرم > الگوریتم ژنتیک(Genetic Algorithm)


 

تبليغات سايت
Iranian Association for the Advancement of Artificial Intelligence
ارسال تاپيک جديد  پاسخ
 
LinkBack ابزارهاي تاپيک نحوه نمايش
قديمي ۰۷-۱۳-۱۳۸۸, ۰۴:۲۸ بعد از ظهر   #1 (لینک دائم)
Administrator
 
آواتار Astaraki
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: تهران-کرج!
پست ها: 3,465
تشكرها: 754
16,333 تشكر در 3,127 پست
My Mood: Mehrabon
ارسال پيغام Yahoo به Astaraki
Wink دانلود رایگان کد الگوریتم ژنتیک باینری

دانلود رایگان کد الگوریتم ژنتیک باینری

الگوریتم ژنتیک، الگوریتمی برای بهینه سازی و جستجو است که بر اساس اصول علم ژنتیک و انتخاب طبیعی پایه ریزی شده است. در الگوریتم ژنتیک گروهی از موجودات زنده مصنوعی به وجود می آیند و در شرایطی رشد و نمو می کنند که هدف کلی آن بیشینه کردن شایستگی کل جمعیت یا کمینه کردن یک هزینه مرتبط با جمعیت است. این روش در دهه های 1960 و 1970 توسط جان هالند معرفی و ایجاد شد و نهایتا توسط یکی از شاگردانش به نام دیوید گُلدبرگ جمع آوری شد.

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

این کد، قابلیت استفاده در انواع مسائل بهینه سازی را دارد و می توان با تغییراتی بسیار جزئی در آن، برای حل مختلف از این کد استفاده نمود.
دانلود:
فايل ضميمه
نوع فايل: zip Binary GA.zip (72.7 كيلو بايت, 4945 نمايش)
Astaraki آفلاين است   پاسخ با نقل قول
از Astaraki تشكر كرده اند:
3Pdeh (۰۹-۲۸-۱۳۸۸), abbass_biniaz (۰۲-۱۱-۱۳۹۰), bluelithium (۰۷-۱۶-۱۳۸۸), ehsan_system (۰۷-۲۴-۱۳۸۹), ehsan_teimouri (۰۲-۲۷-۱۳۹۲), gharli (۱۲-۱۰-۱۳۸۹), heidar.bahri (۱۰-۲۸-۱۳۸۹), himait (۰۳-۱۰-۱۳۸۹), imantexas (۱۱-۱۵-۱۳۹۱), kazem_mirzadi (۰۸-۲۳-۱۳۸۸), mahsaheidari (۰۳-۱۵-۱۳۹۲), mehdi_ga (۱۰-۳۰-۱۳۹۰), mhasgari (۱۱-۹-۱۳۸۸), mohamadice (۰۹-۲۴-۱۳۸۸), mo_ostad (۰۹-۲۲-۱۳۹۱), nasersalehiazar (۰۸-۲۴-۱۳۸۹), pinion (۰۵-۱۷-۱۳۸۹), queen_lady (۰۹-۱۰-۱۳۹۳), raha.sh (۱۱-۲۳-۱۳۹۰), samane_89 (۱۲-۳-۱۳۸۹), seda (۰۵-۲-۱۳۹۱), sheera (۰۹-۱۰-۱۳۹۱), sina66 (۰۹-۱۸-۱۳۸۸), smon (۰۹-۹-۱۳۸۹), vahid.bz (۰۹-۲۱-۱۳۹۰)

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online  
قديمي ۱۰-۲-۱۳۸۸, ۰۵:۲۱ بعد از ظهر   #2 (لینک دائم)
Administrator
 
آواتار Astaraki
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: تهران-کرج!
پست ها: 3,465
تشكرها: 754
16,333 تشكر در 3,127 پست
My Mood: Mehrabon
ارسال پيغام Yahoo به Astaraki
Cool

حل مسائل بهينه سازي گسسته با الگوريتم ژنتيک باينري

صورت مساله

الگوريتم ژنتيک تکنيک جستجويي در علم رايانه براي يافتن راه‌حل تقريبي براي بهينه‌سازي و مسائل جستجو است. الگوريتم ژنتيک نوع خاصياز الگوريتمهاي تکاملي است که از تکنيکهاي زيست‌شناسي فرگشتي مانند وراثت و جهش استفاده مي‌کند.

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

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

موتور الگوريتم ژنتيک يک جمعيت اوليه از فرمول ايجاد مي‌کند. هر فرد در برابر مجموعه‌اي از داده‌ها‌ي مورد آزمايش قرار مي‌گيرند و مناسبترين آنها (شايد 10 درصد از مناسبترين‌ها) باقي مي‌مانند؛ بقيه کنار گذاشته مي‌شوند. مناسبترين افراد با هم جفتگيري (جابجايي عناصر دي ان اي) و تغيير (تغيير تصادفي عناصر دي ان اي) کرده‌اند. مشاهده مي‌شود که با گذشت از ميان تعداد زيادي از نسلها، الگوريتم ژنتيک به سمت ايجاد فرمول‌هايي که دقيقتر هستند، ميل مي‌کنند. در حالي که شبکه‌هاي عصبي هم غير‌خطي و غير‌پارامتريک هستند، جذابيت زياد الگوريتم‌هاي ژنتيک اين است نتايج نهايي قابل ملاحظه‌ترند. فرمول نهايي براي کاربر انساني قابل مشاهده خواهد بود، و براي ارائه سطح اطمينان نتايج مي‌توان تکنيک‌هاي آماري متعارف را بر روي اين فرمول‌ها اعمال کرد. فناوري الگوريتم‌هاي ژنتيک همواره در حال بهبود است و براي مثال با مطرح کردن معادله ويروس‌ها که در کنار فرمول‌ها و براي نقض کردن فرمول‌ها‌ي ضعيف توليد مي‌شوند و در نتيجه جمعيت را کلاً قويتر مي‌سازند.

عموماً راه‌حلها به صورت 2 تايي 0 و 1 نشان داده مي‌شوند، ولي روشهاي نمايش ديگري هم وجود دارد. تکامل از يک مجموعه کاملاً تصادفي از موجوديت‌ها شروع مي‌شود و در نسلهاي بعدي تکرار مي‌شود. در هر نسل، مناسبترين‌ها انتخاب مي‌شوند نه بهترين‌ها.

يک راه‌حل براي مسئله مورد نظر، با يک ليست از پارامترها نشان داده مي‌شود که به آنها کروموزوم يا ژنوم مي‌گويند. کروموزوم‌ها عموماً به صورت يک رشته ساده از داده‌ها نمايش داده مي‌شوند، البته انواع ساختمان داده‌هاي ديگر هم مي‌توانند مورد استفاده قرار گيرند. در ابتدا چندين مشخصه به صورت تصادفي براي ايجاد نسل اول توليد مي‌شوند. در طول هر نسل، هر مشخصه ارزيابي مي‌شود وارزش تناسب توسط تابع تناسب اندازه‌گيري مي‌شود.

گام بعدي ايجاد دومين نسل از جامعه است که بر پايه فرآيندهاي انتخاب، توليد از روي مشخصه‌هاي انتخاب شده با عملگرهاي ژنتيکي است: اتصال کروموزوم‌ها به سر يکديگر و تغيير.

براي هر فرد، يک جفت والد انتخاب مي‌شود. انتخاب‌ها به گونه‌اي‌اند که مناسبترين عناصر انتخاب شوند تا حتي ضعيفترين عناصر هم شانس انتخاب داشته باشند تا از نزديک شدن به جواب محلي جلوگيري شود. چندين الگوي انتخاب وجود دارد: چرخ منگنه‌دار(رولت)، انتخاب مسابقه‌اي،... .

معمولاً الگوريتم‌هاي ژنتيک يک عدد احتمال اتصال دارد که بين 0.6 و 1 است که احتمال به وجود آمدن فرزند را نشان مي‌دهد. ارگانيسم‌ها با اين احتمال دوباره با هم ترکيب مي‌شوند. اتصال 2 کروموزوم فرزند ايجاد مي‌کند، که به نسل بعدي اضافه مي‌شوند. اين کارها انجام مي‌شوند تا اين که کانديدهاي مناسبي براي جواب، در نسل بعدي پيدا شوند. مرحله بعدي تغيير دادن فرزندان جديد است. الگوريتم‌هاي ژنتيک يک احتمال تغيير کوچک و ثابت دارند که معمولاً درجه‌اي در حدود 0.01 يا کمتر دارد. بر اساس اين احتمال، کروموزوم‌هاي فرزند به طور تصادفي تغيير مي‌کنند يا جهش مي‌يابند، مخصوصاً با جهش بيت‌ها در کروموزوم ساختمان داده‌مان.

اين فرآيند باعث به وجود آمدن نسل جديدي از کروموزوم‌ها‌يي مي‌شود، که با نسل قبلي متفاوت است. کل فرآيند براي نسل بعدي هم تکرار مي‌شود، جفت‌ها براي ترکيب انتخاب مي‌شوند، جمعيت نسل سوم به وجود مي‌آيند و .... اين فرآيند تکرار مي‌شود تا اين که به آخرين مرحله برسيم.

شرايط خاتمه الگوريتم‌هاي ژنتيک عبارتند از:

* به تعداد ثابتي از نسل‌ها برسيم

* زمان اختصاص داده‌شده تمام شود

* يک فرد(فرزند توليد شده) پيدا شود که مينيمم (کمترين) ملاک را برآورده کند

* بيشترين درجه برازش فرزندان حاصل شود يا ديگر نتايج بهتري حاصل نشود

* بازرسي دستي

* ترکيبهاي بالا
فايل ضميمه
نوع فايل: zip GA_Binary.zip (1.7 كيلو بايت, 1460 نمايش)
Astaraki آفلاين است   پاسخ با نقل قول
از Astaraki تشكر كرده اند:
ehsan_system (۰۷-۲۴-۱۳۸۹), ehsan_teimouri (۰۲-۲۷-۱۳۹۲), farshadrabiei (۱۲-۱-۱۳۹۰), gharli (۱۲-۱۰-۱۳۸۹), green_Dream (۱۱-۶-۱۳۸۹), heidar.bahri (۱۰-۲۸-۱۳۸۹), imantexas (۱۱-۱۵-۱۳۹۱), nasersalehiazar (۰۸-۲۴-۱۳۸۹), pinion (۰۵-۱۷-۱۳۸۹), saeid_sh (۱۲-۱۴-۱۳۸۹), sbaran (۱۲-۸-۱۳۹۰), seda (۰۵-۲-۱۳۹۱)
قديمي ۰۱-۱۳-۱۳۹۰, ۰۲:۰۹ بعد از ظهر   #3 (لینک دائم)
Active users
 
آواتار ramin4251
 
تاريخ عضويت: مهر ۱۳۸۸
پست ها: 133
تشكرها: 1
75 تشكر در 38 پست
My Mood: Shad
پيش فرض

نقل قول:
نوشته اصلي بوسيله one member نمايش پست
سلام به دوستان
کسی می دونه چه طوری میشه تو matlab ماتریسی داشته باشم که طول سطرهای ماتریس متغیر ویکسان با همدیگر نباشد( مثلا برای نوشتن الگوریتم ژنتیک با طول متغیر)؟
ممنون


دوست عزيز. براي اين كار نميتوني از ماتريس استفاده كني. حتما بايد از آرايه هاي سلولي يا ساختاري استفاده كني.
__________________
www.matlabpajooh.ir
matlab.proj@gmail.com

بروزترين مطالب در مورد الگوريتم بهينه سازي فاخته در:
https://telegram.me/cuckoo_optimization_algorithm

ويرايش شده توسط Astaraki; ۰۱-۱۴-۱۳۹۰ در ساعت ۰۳:۵۹ بعد از ظهر
ramin4251 آفلاين است   پاسخ با نقل قول
قديمي ۰۵-۲-۱۳۹۱, ۰۹:۲۹ قبل از ظهر   #4 (لینک دائم)
عضو جدید
 
آواتار azi44
 
تاريخ عضويت: مرداد ۱۳۹۱
پست ها: 1
تشكرها: 0
0 تشكر در 0 پست
پيش فرض

سلام
خیلی ممنون از سایت جالبتون.راستش من می خوام یه تابع رو با یه قید بهینه کنم.ممکنه راهنمائیم کنید که چطوری از این کد استفاده کنم؟
azi44 آفلاين است   پاسخ با نقل قول
قديمي ۰۹-۱۰-۱۳۹۱, ۰۷:۲۳ قبل از ظهر   #5 (لینک دائم)
عضو جدید
 
آواتار sheera
 
تاريخ عضويت: تير ۱۳۹۱
پست ها: 6
تشكرها: 2
0 تشكر در 0 پست
پيش فرض

زمانبندی ماشین با استفاده از tabu search
sheera آفلاين است   پاسخ با نقل قول
قديمي ۱۲-۱۸-۱۳۹۱, ۰۹:۵۱ بعد از ظهر   #6 (لینک دائم)
عضو جدید
 
آواتار nimaafshar8
 
تاريخ عضويت: اسفند ۱۳۹۱
پست ها: 1
تشكرها: 0
0 تشكر در 0 پست
پيش فرض

سلام
بی نهایت ممنونم از کد فوق العاده کاربردی که به اشتراک گذاشتید...
نحوه ی وارد کردن قیود مساله در این الگوریتم به چه نحوی می باشد ؟
پیشاپیش از راهنمایی شما بسیار سپاس گزارم
nimaafshar8 آفلاين است   پاسخ با نقل قول
قديمي ۰۱-۱۶-۱۳۹۲, ۱۲:۱۶ بعد از ظهر   #7 (لینک دائم)
عضو جدید
 
آواتار smnas
 
تاريخ عضويت: آبان ۱۳۹۱
پست ها: 6
تشكرها: 0
0 تشكر در 0 پست
پيش فرض

سلام ، من در زمینه teacher assignment تحقیق میکنم، و موضوع مقاله ای که دارم کار می کنم an application of genetic algorithm methods for teacher assignment problem هست، کسی آشنایی با این موضوع داره؟ من خیلی به کمک نیاز دارم جهت نوشتن کد ژنتیک این مسئله
smnas آفلاين است   پاسخ با نقل قول
قديمي ۰۲-۱۰-۱۳۹۲, ۱۱:۰۸ قبل از ظهر   #8 (لینک دائم)
عضو جدید
 
آواتار reza123654
 
تاريخ عضويت: ارديبهشت ۱۳۹۲
پست ها: 1
تشكرها: 0
0 تشكر در 0 پست
پيش فرض

فوری....دوستان پروژه دارم....فوری...رفقا درخواست کمک....
سلام
دوستان از چه برنامه ای واسه اجرای سورس کد این برنامه باید استفاده کنم
ممنون میشم زود خبرم کنید
reza123654 آفلاين است   پاسخ با نقل قول
قديمي ۰۵-۱۶-۱۳۹۲, ۱۰:۲۵ قبل از ظهر   #9 (لینک دائم)
عضو جدید
 
آواتار reza645
 
تاريخ عضويت: مرداد ۱۳۹۲
پست ها: 3
تشكرها: 0
0 تشكر در 0 پست
پيش فرض

رمزگشایی یک پیام سری N حرفی کوچک و بزرگ و فاصله از حروف لاتین با استفاده از الگوریتم ژنتیک .
N=30 و PC=0.85 و Pm=0.02 است . ممنون میشم کمکم کنید
reza645 آفلاين است   پاسخ با نقل قول
قديمي ۰۶-۳۱-۱۳۹۲, ۰۹:۵۴ بعد از ظهر   #10 (لینک دائم)
عضو جدید
 
آواتار jefer.jefri
 
تاريخ عضويت: شهريور ۱۳۹۲
پست ها: 2
تشكرها: 1
0 تشكر در 0 پست
پيش فرض

سلام دوستان
ببخشید که احتمال زیاد سوالم رو جای نامناسبی میپرسم چون زیاد آشنایی با این مباحث ندارم

میخواستم بدونم تو الگوریتم ژنتیک چجوری میشه (RMSE) رو بدست آورد؟ و آیا این مقدار همون کمترین میزان Best fitness در نمودار Fitness value-Generation هست که در پایان ران الگوریتم نشون داده میشه ؟

من خیلی به جواب هاتون نیاز دارم.
ممنون
jefer.jefri آفلاين است   پاسخ با نقل قول
پاسخ

Tags
الگوریتم،ژنتیک،باینری



كاربران در حال ديدن تاپيک: 1 (0 عضو و 1 مهمان)
 
ابزارهاي تاپيک
نحوه نمايش

قوانين ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلکها فعال است
كد [IMG] فعال است
كدهاي HTML غير فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال




زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۲:۳۹ بعد از ظهر ميباشد.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.

Teach and Learn at Hexib | Sponsored by www.Syavash.com and Product In Review

استفاده از مطالب انجمن در سایر سایت ها، تنها با ذکر انجمن هوش مصنوعي به عنوان منبع و لینک مستقیم به خود مطلب مجاز است

Inactive Reminders By Icora Web Design