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

  • الگویتم ژنتیک برای حل مساله n- وزیر

     صورت مسئله : در یک صفحه شطرنج n * n ، n وزیر را طوری قرار دهیم که همدیگر را گارد ندهند .     راه حل : روش های مختلفی همچون استفاده از روش عقبگرد برای حل این مساله وجود دارد. یکی از روش های کارآمد برای حل این مساله استفاده از الگوریتم های ژنتیک می باشد .     نحوه نمایش مسئله : می دانیم اگر دو وزیر در یک ستون قرار گیرند قطعا به جواب نخواهیم رسید . بنابراین قرار دادن دو وزیر در یک ستون باعث غیرامیدبخش شدن جواب مسئله می شود . برای نمایش مسئله در کروموزوم ها  از این ویژگی استفاده کرده و به صورت زیر عمل می کنیم :     یک آرایه تک بعدی ایجاد می کنیم که به تعداد ستون های صفحه شطرنج عنصر دارد . هر عنصر از  این آرایه نشان می دهد که وزیر در کدام سطر از آن ستون قرار دارد . به عنوان مثال اگر مسئله 8 وزیر را در نظر بگیریم ، آرایه تک بعدی باید دارای 8 عنصر باشد . فرض کنید آرایه دارای مقادیر زیر باشد :     كد:8 , 7 , 6 , 5 , 4 , 3 , 2 , 1    مقدار 8 در اولین عنصر آرایه گویای این مطلب است که در ستون اول صفحه شطرنج وزیری در سطر هشتم قرار داده ایم.     تولید جمعیت اولیه :     همانطور که می دانیم الگوریتم های ژنتیک ابتدا جمعیت اولیه ای تولید کرده و سپس سعی در بهبود بخشیدن این جمعیت دارند . برای مسئله n وزیر تولید جمعیت به صورت تصادفی خواهد بود . بدین صورت که وزیر ها به طور تصادفی روی صفحه شطرنج قرار می دهیم .     Fitness ( برازش ) :     برای محاسبه میزان بهینگی جواب تعداد جفت وزیرهایی را که به هم گارد می دهند ، محاسبه می کنیم . برای مسئله 8 وزیر در بدترین حالت هر وزیر با همه وزیر های دیگر گارد می دهد ( فرض کنید همه وزیرها در یک سطر قرار گیرند ) . در این حالت حداکثر تعداد جفت وزیر هایی که به همگدیکر کارد می دهند 28 جفت است : كد:7 + 6 + 5 + 4 +3 + 2 + 1    در حالت کلی برای مسئله  n وزیر حداکثر تعداد جفت وزیرهایی که به همدیگر گارد می دهند به صورت زیر محاسبه می شود : كد:1 + 2 + … + (n-1) = ( n * (n-1 ) ) /2    برای محاسبه میزان بهینگی هر کروموزوم از فرمول زیر  استفاده می کنیم : كد:Fitness[i] =1 – (  Guard(chromosome[i]) / MaxGuards )    حداکثر تعداد گارد ها : MaxGuards تعداد جفت وزیرهایی که در کروموزوم ام همدیگر را گارد می دهند : Guard(chromosome[i])                                                                                                                                                                                                                                             Selection ( انتخاب ):     عملگر انتخاب از نوع رقابتی انتخاب شده است . بدین منظور که از میان جمعیت تعدادی از کرموموزوم ها به تصادف انتخاب شده و از میان آنها کرموزمومی که احتمال موفقیت بیشتری دارد ( Fitness ...



  • آموزش #c

    آموزش #c

    به قسمت دوم فروشگاه سایت خوش آمدید  این قسمت مختص پروژه هایی که نیاز دانشجویان مهندسی نرم افزار / سخت افزار و هوش مصنوعی  ( گرایش مقطع کارشناسی ارشد ) و رشته گرافیک می باشد .     در زیر لیست بسیاری از پروژه های ما بصورت  دسته بندی شده قرار دارد ، شما می توانید  پروژه مورد نظر خود را به راحتی در دسته مورد نظر بیابید .    برای رفتن به قسمت سوم فروشگاه اینجا کلیک کنید .   پروژه های طراحی الگوریتم   ۱ : مسئله آسمان خراشها برای حل این مسله از روش تقسیم و حل استفاده شده است . در این مسئله ورودی اندازه تعداد ی ساختمان است که بصورت x,y,z به ترتیب مختصات پایین ساختمان سمت چپ و y ارتفاع ساختمان و z محل پایین سمت راست ساختمان ،می باشد نتیجه نهایی حل مسئله می بایست که نمای شهر از دور باشد ، به عنوان مثال فرض کنید که شما از دور به شهری با ساختمان ها ی بسیار بلند نگاه می کنید از دور بعضی از ساختمان ها (تمام و یا تنها بخشی از آن ها ) در پشت دیگر ساختمان ها مخفی شده اند .جواب مسئله می بایست که نمای شهر از دور باشد .   قیمت : ۵۰۰.۰۰۰ ریال   دریافت فایل اجرایی   برای دریافت سورس پروژه با مدیر سایت تماس حاصل فرمائید .   ۰۹۳۹۷۵۴۵۱۱۹   تصویر خروجی :     ******************************************************************************  ۲ :  برنامه های طراحی الگوریتم الگوریتمهای کروسکال کوله پشتی LCS MAXMIN Merge Sort وزیر N Quick Sort Strassen جستجوی عدد در آرایه ضرب ماتریس ها نکته :  کل این الگوریتمها بعنوان یک پروژه زیپ شده در نظر گرفته شده است .   برای دریافت سورس پروژه با مدیر سایت تماس حاصل فرمائید .   ۰۹۳۹۷۵۴۵۱۱۹

  • فهرست عناوین کتاب

    پیش‌گفتارفصل 1: مقدمه‌ای بر بهینه‌سازی 1 1-1 . مقدمه1-2 - نظریه‌ی پیچیدگی محاسباتی1-3 - مسائل محاسباتی3-1- نمونه‌های مسئله1-3-2- نمایش نمونه‌های مسئله1-4- مسائل تصمیم‌گیری1-5- مسائل تابعی1-6- محاسبه‌ی اندازه‌ی یک نمونه1-7- مدل‌های ماشین و معیارهای پیچیدگی1-8- معیارهای پیچیدگی1-8-1- پیچیدگی زمانی1-9- بهترین حالت، بدترین حالت و حالت متوسط پیچیدگی1-10- کران بالا و پایین پیچیدگی مسائل1-11- کلاس‌های پیچیدگی1-11-1- تعیین کلاس‌های پیچیدگی1-11-2- کلاس‌های پیچیدگی مهم 1-12- ساده‌سازی1-13- بررسی ناکارآمد بودن از لحاظ زمانی1-14- مسائل حل نشده‌ی مهم1-14-1- مسئله‌ی P در مقابل NP1-14-2- وجود مسائلی در NP که نه جزء P هستند و نه جزء NP-Complete 1-15- روش‌هایی برای حل مسائل NP-Complete 1-16- روشهای جستجوی هوش مصنوعی1-17- انواع مسائل در هوش مصنوعی1-17-1- جستجوی ناآگاهانه 1-17-1-1- الگوهای جستجوی عمومی 1-17-1-2- جستجوی عمقی1-17-1-3- جستجوی عمقی محدود شده1-17-1-4- جستجوی سطحی1-17-1-5- جستجوی عمقی تکرار شونده 1-17-1-6- جستجوی دو طرفه1-17-1-7- جستجوی هزینه‌ی یکنواخت 1-17-2- روش های جستجوی آگاهانه1-17-3- روش های جستجوی مکاشفه‌ای1-17-3-8- جستجوی اول بهترین 1-17-3-9- حل مسئله‌ی N- وزیر با استفاده از روش اول بهترین 1-17-3-10- جستجوی حریصانه 1-17-3-11- جستجوی1-17-3-12- الگوریتم تپه نوردی1-17-3-13- الگوریتم تپه‌نوردی تعمیم یافته1-17-3-14- الگوریتم جستجوی تابو1-18- بهینه‌سازی1-18-1- یافتن بهترین راه‌حل1-18-2- بهینه‌سازی چیست؟1-18-3- مقایسه‌ی ‌ریشه‌یابی با بهینه‌سازی 1-18-4- انواع بهینه‌سازی 1-19- الگوریتم‌های جستجوگر حداقل 1-19-1- جستجوی جامع 1-19-2- بهینه‌سازی تحلیلی 1-19-3- روش غیرمرکب سرازیری نلدر- مید 1-19-4- بهینه‌سازی مبتنی بر کمینه‌سازی خط 1-20- روش‌های بهینه‌سازی طبیعی 1-21- بهینه‌سازی زیستی: انتخاب طبیعی 1-22- الگوریتم ژنتیککتاب‌نامه تمرین فصل 2: الگوریتم ژنتیک گسسته2- 1- انتخاب طبیعی بر روی کامپیوتر. 2-2- مؤلفه‌های یک الگوریتم ژنتیک دودویی2-2-2- انتخاب متغیرها و تابع هزینه2-2-3- کدگذاری و کدگشایی متغیر2-2-4- انتخاب طبیعی براي نسل بعد2-2-5- انتخاب والدين2-2-6- ادغام 2-2-7- جهش 2-2-8- نسل بعدی2-2-9- همگرایی 2-3- بهینه‌سازی یک تابع ساده سخن آخر کتاب‌نامهتمرین فصل 3: الگوریتم ژنتیک پیوسته3-1- مقدمه3-2- مولفه‌های یک الگوریتم ژنتیک پیوسته3-2-2- متغیرها و تابع هزینه برای مثال ارائه شده در فصل‌ 3-2-3- دقت، قیدها و کدگذاری متغیرها3-2-4- جمعیت اولیه3-2-5- انتخاب طبیعی 3-2-6- جفت‌گیری3-2-7- ادغام3-2-8- جهش‌ها 3-2-9- نسل بعدی 3-2-10- همگرایی3-3- سخن آخرکتاب‌نامهتمرین فصل 4: کاربردهای پایه4-1- مقدمه4-2-  خلاقیت الگوریتمی- هنر ژنتیکی4-4- بازی حدس زدن یک کلمه4-5- مکان‌یابی مناسب برای یک واحد ...

  • پیاده سازی جدول سودوکو با الگوریتم ژنتیک

    حل مسئله جدول سودوکو با استفاده از الگوریتم ژنتیک جداول سودوكو (Sodocu) ،جدول اعدادی است که امروزه یکی از سرگرمی‌های رایج در کشورهای مختلف جهان به شمار می‌آید. جداول بازي با اعدادي كه اكنون در اكثر روزنامه‌ها و مجله‌ها در قسمت سرگرمي فضايي را به خود اختصاص داده‌اند .   در اينجا به اختصار جداول سودوكو   را برايتان توضيح مي‌دهم:نوع متداول سودوکو یک جدول ۹x۹است که کل جدول هم به ۹ جدول کوچک‌تر ۳x۳تقسیم شده‌است. در این جدول چند عدد به طور پیش فرض قرار داه شده که باید باقی اعداد را با رعایت سه قانون زیر یافت: قانون اول: در هر سطر جدول اعداد ۱ الی ۹ بدون تکرار قرار گیرد. قانون دوم: در هر ستون جدول اعداد ۱ الی ۹ بدون تکرار قرار گیرد. قانون سوم: در هر ناحیه ۳x۳جدول اعداد ۱ الی ۹ بدون تکرار قرار گیرد.      -تعيين كروموزمهمان‌طور كه می دانید قدم اول برای حل مسئله با الگوریتم ژنتیک، تعيين ساختار كروموزم است. و همان‌طور كه مي‌دانيم هر كروموزم در الگوريتم ژنتيك، معادل يك وضعيت از حالات ممكن براي فضاي حالت مسئله است. در مسئله ما نيز جدول سودوكو را در قالب يك آرايه دو بعدی عدي مي‌توانيم تصور كنيم كه اعداد متناظر با هر خانه به ترتيب در كنار هم در قالب سطر و ستون ها قرار گرفته‌اند و در مراحل بعد با تعيين يك نقطه شكست در اين آرايه، مي‌توانيم عمل تركيب (crossover)را براي به دست آوردن حالات جديد انجام دهيم . بنابراین هر کروموزوم در واقع یک ارایه دو بعدی با اندازه 9 در 9 در نظر گرفته میشود.که مقدار هر خانه میتواند بین یک تا 9 باشد  

  • مسئله هشت وزیر

    مسئله چند وزیر مسئله چند وزیر یک معمای شطرنجی و ریاضیاتی است که بر اساس آن باید n وزیر شطرنج در یک صفحه n×n شطرنج به‌گونه‌ای قرار داده شوند که هیچ‌یک زیر ضرب دیگری نباشند. با توجه به اینکه وزیر به‌صورت افقی، عمودی و اُریب حرکت می‌کند، باید هر وزیر را در طول، عرض و قطر متفاوتی قرار داد. اولین و مشهورترین شکل این مسئله معمای هشت وزیر است که برای حل آن باید ۸ وزیر را در یک صفحهً معمولی (۸×۸) شطرنج قرار داد. این مسئله ۹۲ جواب دارد که ۱۲ جواب آن منحصر به‌فرد است یعنی بقیه جواب‌ها از تقارن جواب‌های اصلی به‌دست می‌آید. مسئله n وزیر در صورتی جواب دارد که n مساوی ۱ یا بیشتر از ۳ باشد. یعنی مسئله دو وزیر و سه وزیر راه حلی ندارند. محتویات ۱ تاریخچه ۲ صورت مسئله ۳ شمردن تعداد جواب ها ۴ روش‌های حل مسئله ۴.۱ الگوریتم عقبگرد ۴.۱.۱ شبه کد پیاده سازی الگوریتم عقبگرد برای مسئله n وزیر ۴.۱.۲ برنامه زبان C به صورت غیر بازگشتی ۴.۱.۳ انیمیشن روش بازگشتی ۴.۲ الگوریتم مونت کارلو ۴.۲.۱ شبه کد پیاده سازی الگوریتم مونت کارلو برای الگوریتم عقبگرد مسئله n وزیر ۴.۳ روش مکاشفه ای ۴.۴ روش‌های جستجوی محلی ۴.۵ الگوریتم ژنتیک ۵ منابع[ویرایش] تاریخچه این مسئله در سال ۱۸۴۸ توسط شطرنج بازی به نام Max Bezzel عنوان شد و ریاضی دانان بسیاری ازجمله Gauss و Georg Cantor بر روی این مسئله کار کرده و در نهایت آنرا به n وزیر تعمیم دادند. اولین راه حل توسط Franz Nauck در سال ۱۸۵۰ ارائه شد که به همان مسئله n وزیر تعمیم داده شد. پس از آن Gunther راه حلی با استفاده از دترمینان ارائه داد که J.W.L. Glaisher آنرا کامل نمود.در سال ۱۹۷۹، Edsger Dijkstra Nauck با استفاده از الگوریتم عقب گرد اول عمق، این مسئله را حل کرد. [ویرایش] صورت مسئله هدف از مسئله n وزیر، چیدن n مهره وزیر در یک صفحه شطرنج(n*n) است، به طوری که هیچ دو وزیری یکدیگر را گارد ندهند، یعنی هیچ دو مهره‌ای نباید در یک سطر، ستون یا قطر یکسان باشند.وزیر در خانه‌های شطرنج به صورت عرضی، طولی و قطری می‌تواند حرکت کند. مسئله n وزیر از جمله مسائل NP در هوش مصنوعی است که روش‌های جستجوی معمولی قادر به حل آن‌ها نخواهد بود [ویرایش] شمردن تعداد جواب ها جدول زیر تعداد راه حل‌ها برای قرار دادن n وزیر برروی صفحه n × nنشان می‌دهد.هر دو منحصر به فرد و متمایز، برای تعداد ۱-۱۴ ،۲۴-۲۶ است. تعداد وزیرها: ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ .. ۲۴ ۲۵ ۲۶منحصر به فرد: ۱ ۰ ۰ ۱ ۲ ۱ ۶ ۱۲ ۴۶ ۹۲ ۳۴۱ ۱٬۷۸۷ ۹٬۲۳۳ ۴۵٬۷۵۲ .. ۲۸٬۴۳۹٬۲۷۲٬۹۵۶٬۹۳۴ ۲۷۵٬۹۸۶٬۶۸۳٬۷۴۳٬۴۳۴ ۲٬۷۸۹٬۷۱۲٬۴۶۶٬۵۱۰٬۲۸۹متمایز: ۱ ۰ ۰ ۲ ۱۰ ۴ ۴۰ ۹۲ ۳۵۲ ۷۲۴ ۲٬۶۸۰ ۱۴٬۲۰۰ ۷۳٬۷۱۲ ۳۶۵٬۵۹۶ .. ۲۲۷٬۵۱۴٬۱۷۱٬۹۷۳٬۷۳۶ ۲٬۲۰۷٬۸۹۳٬۴۳۵٬۸۰۸٬۳۵۲ ۲۲٬۳۱۷٬۶۹۹٬۶۱۶٬۳۶۴٬۰۴۴ توجه :حالت ...

  • الگوریتم های متاهیوریستیکی ...

    روش های جستجوی متاهیوریستیکی در مسائل NP زمانی که اندازه مسئله بزرگ باشد، استفاده از روش های جستجوی آگاهانه و ناآگاهانه میسسر نخواهد بود. چراکه در این رده مسائل فضای حالت مسئله چنان بزرگ می باشد که رسیدن به جواب مسئله در مدت زمان قابل قبول با استفاده این روش های جستجو غیرممکن خواهد بود. از اینرو نیاز به روش هایی داریم که بتواند در بخش های مختلف فضای حالت حرکت کرده و بتواند عمل جستجو را انجام دهد. در اینجا روش هایی جستجو مطرح می شوند که به آنها روش های جستجوی متاهیوریستیکی خواهیم گفت. به همه روش های جستجوی متاهیوریستیکی که در اینجا به بررسی آنها خواهیم پرداخت، در اصطلاح روش های تصادفی هدایت شده گوییم. همانطور که از نام آنها پیداست هریک از این روش های جستجو به طور تصادفی در فضای حالت مسئله حرکت می کنند. البته باید گفت که انجام حرکات تصادفی با کنترل و هدایت الگوریتم انجام می پذیرد. ممکن است چنین تصور شود که به علت تصادفی بودن حرکت ، کارآیی این الگوریتم ها پایین باشد. در حالی در بیشتر مسائل بهینه سازی این روش های جستجو تنها روش حل مساله خواهند بود. روش های جستجوی محلی برای معرفی هریک از روش های جستجویی که در فصل به بررسی آن ها می پردازیم از مسئله 8 وزیر استفاده خواهیم کرد. در مسئله 8 وزیر هدف قرار دادن 8 وزیر بر روی صفحه شطرنج به گونه ای است که هیچیک از وزیرها همدیگر را گارد ندهند. تعمیم یافته مسئله 8 وزیر، مسئله n وزیر است که در آن بر روی یک صفحه شطرنج n*n باید n وزیر را به گونه ای قرار دهیم که هیچیک همدیگر را گارد ندهند. مسئله n وزیر از جمله مسائل NP در هوش مصنوعی است که روش های جستجوی معمولی قادر به حل آن ها نخواهد بود. از سوی دیگر می توان به مسئله 8 وزیر به عنوان یک مسئله بهینه سازی نیز نگریست که در آن هدف بهینه کردن تعداد گاردهای جفت وزیرها می باشد. به عنوان مثال فرض کنید در صفحه شطرنج معمولی ، 8 وزیر را به دو روش زیر قرار دهیم : در روش چینش سمت چپ 3 وزیر و در روش چینش سمت راست 4 وزیر همدیگر را گارد می دهند. بنابراین روش چینش قبلی بهینه تر از روش چینش فعلی است. در واقع می توان مسئله بهینه سازی را به صورت زیر تعریف کرد. فرض کنید S مجموعه همه جواب های ممکن برای مسئله باشد. در صورتی S* می تواند جواب مسئله باشد که به ازای همه جواب های موجود در S ، S* بهینه تر از دیگر جواب ها باشد. در مسئله 8 وزیر دیدیم که جوابی بهینه است که تعداد گاردهای جفت وزیر آن کمتر باشد. روش های جستجوی محلی همگی حالت های همسایه حالت فعلی را برای رسیدن به بهینه ترین جواب بررسی می کنند. از این رو وجود دو تابع در همه این روش های جستجو الزامی است. اولین تابع ...

  • پروژه پایانی - دانشگاه پیام نور

    موضوعات پیشنهادی برای پروژه پایانی:1.      امنیت در محاسبات ابری2.      روش های رمز نگاری بانک اطلاعاتی3.      پایگاه داده توزیع شده4.      بحث و بررسی امنیت در sqlserver و اوراکل5.      تفاوت های sql  و اوراکل6.      بحث و بررسی معماری سرویس گرا و معماری شی گرا7.      شیوه های ذخیره سازی تصاویر در بانک اطلاعاتی8.      Replication در پایگاه های داده توزیع شده9.      بحث و بررسی پایگاه داده های فعال10.  بحث و بررسی انباره های داده و olap11.  بحث و بررسی کاربرد شبکه های عصبی در تشخیص بیماری ها12.  آشنایی با شیوه های طبقه بندی سوالات با استفاده از پردازش زبان طبیعی13.  شیوه های تشخیص نویسنده متون در پردازش زبان طبیعی14.  بحث و بررسی شیوه های خلاصه سازی متون در پردازش زبان طبیعی15.  بحث و بررسی سیستم های سوال جواب  با استفاده از پردازش زبان طبیعی16.  بررسی الگوریتم های ژنتیک و pso  در حل مسائل بهینه سازی17.  بررسی الگوریتم های زنبورعسل و ماهی های مصنوعی در حل مسائل بهینه سازی18.  بررسی الگوریتم های رقابت استعماری و الگوریتم فرهنگی در حل مسائل بهینه سازی19.  بررسی الگوریتم جستجوع ممنوع و جستجوی هارمونی در حل مسائل بهینه سازی20.  بحث و بررسی بهینه سازی چند هدفه در مسائل مختلف بهینه سازی21.  خوشه بندی در شبکه های سنسور بی سیم با الگوریتم های داده کاوی22.  بررسی حل مسئله فروشنده دوره گرد با الگوریتم های فرا ابتکاری23.  بررسی حل مسئله n وزیر با روش های فرا ابتکاری24.  بحث و بررسی الگوریتم های خوشه بندی در داده کاوی25.  بررسی حل مسئله مکعب جادویی با روش های فرا ابتکاری26.  بررسی مسئله سودوکو با روش های فرا ابتکاری27.  کاربرد الگوریتم ژنتیک در داده کاوی28.  روش­های بهینه­سازی داده کاوی با  الگوریتم های فرا ابتکاری29.  کاربرد شبکه­های پتری در حل مسائل هوش مصنوعی (فروشنده دوره­گرد، خوانندگان نویسندگان)30.  بحث و بررسی تئوری بازی ها31.  بحث و بررسی الگوریتم­های زمانبندی در Grid Computing 32.  مقایسه الگوریتم­های فرااکتشافی در رسیدن به همگرایی سراسري و محلی 33.  بحث و بررسی الگوریتم­های خوشه­بندی در شبکه­های حسگر بی­سیم34.  بحث و بررسی الگوریتم­های فرااکتشافی در حل مسائل بهینه­سازی ترکیبی35.  بحث و بررسی خوشه­بندی داده­ها با استفاده از الگوریتم­های فرااکتشافی36.  بررسی روش های تضمین امنیت درکارتهای اعتباری37.  پيش‌بيني آب و هوا با استفاده از سیستم خبره‌ی فازي38.  بحث و بررسی کاربرد شبکه­های عصبی در تشخیص حروف فارسی و انگلیسی

  • الگوریتم ژنتیک

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