الگوریتم ژنتیک چیست

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

    الگوریتم ژنتیک چیست ؟

    800x600   1 معرفي روش‌هاي جستجوي مرسوم اغلب  قادر نيستند جواب بهينه توابع غيرخطي را بيابند. در چنين زماني، روش جستجوي تصادفي ممكن است مفيد باشد. به هر حال روش‌هاي جستجوي غير مستقيم در مقياس بزرگ ناكارامداند. الگوريتم ژنتيك روش  جستجوي مستقيمي است كه توسط هالند(Holland 1975) ارائه شد، كه قادر به يافتن بهينه سراسري در يك فضاي جستجو پيچيده است. الگوريتم ژنتيك از روي تكامل تدريجي طبيعت مدل شده است كه در آن عملگرهايي به كار گرفته شده كه از فرايند‌هاي تكامل تدريجي طبيعت نشأت گرفته است. اين عملگرها كه عملگرهاي ژنتيك نام دارند. در طول ايجاد چندين نسل ، افراد را در جمعيت براي بهبود نسل‌شان دست‌كاري مي‌كنند. همانطوري كه در بخص بعدي توضيح داده مي‌شود افراد در جمعيت شبيه كروموزومها هستند و معممولاً بصورت رشته‌اي از اعداد دودويي نشان داده مي‌شود.      تكامل تدريجي جمعيتِ كروموزوم‌ها از «قاعده الگو»تبعيت مي‌كند(Holland 1975). يك الگو با توجه به شباهت بيت‌ها در مكان‌هاي معلوم كروموزوم‌ها، نشان دهنده مجموعه‌اي از كروموزوم‌ها يعني زيرمجموعه‌اي از جمعيت، است. براي مثال الگوي 1*0* مجموعه‌اي از كروموزوم‌ها را تشريح مي‌كند كه اولين و سومين بيت‌‌ آن 1 و صفر است. در اينجا نماد * يعني كه هر مقدار صفر يا يك را  مي‌تواند بپذيرد. هر الگو با دو پارامتر مشخص مي‌شود: طول بين اولين و آخرين بيت، و تعداد بيت.      الگوريتم ژنتيك نيازي به دانستن اينكه مسأله‌اي كه بايد بهينه شود ندارد و بطور مستقيم با پارامترهاي مسأله كاري ندارد. الگوريتم با كدها كه نشان دهنده پارامترهاي مسأله‌اندكار مي‌كند. الگوريتم ژنتيك  داراي چهار عمل اصلي است.2 نمايش دو روش متعارف براي مسائل بهينه‌يابي عددي موجود است(michalewicz 1992; Davis 1991). روشي عالي نشان دادن بصورت رشته دودويي است كه پارامتر جمعيت بصورت صفر يا يك نمايش داده مي‌شود. ديگر روش نمايش زمزگذاري يكنواخت و رمزگذاري با مقياس خاكستري است. اين روش برداري از اعداد صحيح يا اعشاري است كه هر عدد اعشاري يا صحيح شماره پارامتر واحدي است. 3 ايجاد جمعيت در شروع بهينه‌يابي، الگوريتم نياز به جواب اوليه دارد. دو روش ايجاد جواب اوليه وجود دارد. استفاده از اعداد بصورت تصادفي و اين زماني است كه اطلاعات ضعيفي وجود دارد. روش دوم دانشي كه درمورد مسأله بهينه‌يابي دارد جوابي انتخاب مي‌كند و اين كار باعث مي‌شود واگرايي مسأله از بهينه مطلق كم شود. 4 عملگر‌هاي ژنتيك در شكل(2-3) فلوچارتي از يك الگوريتم ژنتيك ساده به نمايش درآمده است. سه عملگر متعارف وجود دارد. انتخاب[1]، تقاطع[2]، جهش[3] انتخاب. هدف رويه انتخاب اين ...



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

    الگوریتم‌های ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیش‌بینی یا تطبیق الگو استفاده می‌کنند.الگوریتم‌های ژنتیک اغلب گزینه خوبی برای تکنیک‌های پیش‌بینی بر مبنای رگرسیون هستند. برای مثال اگر بخواهیم نوسانات قیمت نفت را با استفاده از عوامل خارجی و ارزش رگرسیون خطی ساده مدل کنیم،این فرمول را تولید خواهیم کرد : قیمت نفت در زمان t = ضریب 1 نرخ بهره در زمان t + ضریب 2 نرخ بیکاری در زمان t + ثابت 1 . سپس از یک معیار برای پیدا کردن بهترین مجموعه ضرایب و ثابت‌ها جهت مدل کردن قیمت نفت استفاده خواهیم کرد. در این روش 2 نکته اساسی وجود دارد. اول این که روش خطی است و مسئله دوم این است که ما به جای اینکه در میان "فضای پارامترها" جستجو کنیم، پارامترهای مورد استفاده را مشخص کرده‌ایم. با استفاده از الگوریتم‌های ژنتیک ما یک ابر فرمول یا طرح، تنظیم می‌کنیم که چیزی شبیه "قیمت نفت در زمان t تابعی از حداکثر 4 متغیر است" را بیان می‌کند. سپس داده‌هایی برای گروهی از متغیرهای مختلف، شاید در حدود 20 متغیر فراهم خواهیم کرد. سپس الگوریتم ژنتیک اجرا خواهد شد که بهترین تابع و متغیرها را مورد جستجو قرار می‌دهد. روش کار الگوریتم ژنتیک به طور فریبنده‌ای ساده، خیلی قابل درک و به طور قابل ملاحظه‌ای روشی است که ما معتقدیم حیوانات آنگونه تکامل یافته‌اند. هر فرمولی که از طرح داده شده بالا تبعیت کند فردی از جمعیت فرمول‌های ممکن تلقی می‌شود. متغیر‌هایی که هر فرمول داده‌شده را مشخص می‌کنند به عنوان یکسری از اعداد نشان داده‌شده‌اند که معادل [دی ان ای|دی.ان.ای](DNA) آن فرد را تشکیل می‌دهند. موتور الگوریتم ژنتیک یک جمعیت اولیه از فرمول ایجاد می‌کند. هر فرد در برابر مجموعه‌ای از داده‌ها‌ی مورد آزمایش قرار می‌گیرند و مناسبترین آنها (شاید 10 درصد از مناسبترین‌ها) باقی می‌مانند؛ بقیه کنار گذاشته می‌شوند. مناسبترین افراد با هم جفتگیری (جابجایی عناصر دی ان ای) و تغییر (تغییر تصادفی عناصر دی ان ای) کرده‌اند. مشاهده می‌شود که با گذشت از میان تعداد زیادی از نسلها، الگوریتم ژنتیک به سمت ایجاد فرمول‌هایی که دقیقتر هستند، میل می‌کنند. در حالی که شبکه‌های عصبی هم غیر‌خطی و غیر‌پارامتریک هستند، جذابیت زیاد الگوریتم‌های ژنتیک این است نتایج نهایی قابل ملاحظه‌ترند. فرمول نهایی برای کاربر انسانی قابل مشاهده خواهد بود، و برای ارائه سطح اطمینان نتایج می‌توان تکنیک‌های آماری متعارف را بر روی این فرمول‌ها اعمال کرد. فناوری الگوریتم‌های ژنتیک همواره در حال بهبود است و برای مثال با مطرح کردن معادله ویروس‌ها که در کنار ...

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

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

    الگوریتم ژنتیک (Genetic Algorithm - GA) تکنیک جستجویی در علم رایانه برای یافتن راه‌حل تقریبی برای بهینه‌سازی و مسائل جستجو است. الگوریتم ژنتیک نوع خاصی از الگوریتمهای تکامل است که از تکنیکهای زیست‌شناسی فرگشتی مانند وراثت و جهش استفاده می‌کند. در واقع الگوریتم‌های ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیش‌بینی یا تطبیق الگو استفاده می‌کنند.الگوریتم‌های ژنتیک اغلب گزینه خوبی برای تکنیک‌های پیش‌بینی بر مبنای رگرسیون هستند. مختصراً گفته می شود که الگوریتم ژنتیک (یا GA) یک تکنیک برنامه‌نویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مسئله استفاده می‌کند.مسئله‌ای که باید حل شود ورودی است و راه‌حلها طبق یک الگو کد گذاری می شوند که تابع fitness نام دارد هر راه حل کاندید را ارزیابی می‌کند که اکثر آنها به صورت تصادفی انتخاب می‌شوند. کلاً این الگوریتم‌ها از بخش های زیر تشکیل می شوند : تابع برازش - نمایش – انتخاب – تغییر مقالات الگوريتم ژنتيك بتسا فهرست مندرجات ۱ مقدمه ۲ الگوریتم ژنتیک چیست؟ ۳ روش های نمایش ۴ عملگرهای یک الگوریتم ژنتیک ۵ شبه کد ۵.۱ شمای کلی شبه کد ۶ ایده اصلی ۷ روش های انتخاب ۷.۱ انتخاب Elitist ۷.۲ انتخاب Roulette ۷.۳ انتخاب Scaling ۷.۴ انتخاب Tournament ۸ پیوند به بیرون ۹ مراجع مقدمه هنگامی که لغت تنازع بقا به کار می‌رود اغلب بار ارزشی منفی آن به ذهن می‌آید. شاید همزمان قانون جنگل به ذهن برسد و حکم بقای قوی‌ترها! البته همیشه هم قوی‌ترین‌ها برنده نبوده‌اند. مثلاً دایناسورها با وجود جثه عظیم و قوی‌تر بودن در طی روندی کاملاً طبیعی بازیِ بقا و ادامه نسل را واگذار کردند در حالی که موجوداتی بسیار ضعیف‌تر از آنها حیات خویش را ادامه دادند. ظاهراً طبیعت، بهترین‌ها را تنها بر اساس هیکل انتخاب نمی‌کند! در واقع درست‌تر آنست که بگوییم طبیعت مناسب ترین‌ها (Fittest) را انتخاب می‌کند نه بهترین‌ها. قانون انتخاب طبیعی بدین صورت است که تنها گونه‌هایی از یک جمعیت ادامه نسل می‌دهند که بهترین خصوصیات را داشته باشند و آنهایی که این خصوصیات را نداشته باشند به تدریج و در طی زمان از بین می‌روند. مثلا فرض کنید گونه خاصی از افراد، هوش بیشتری از بقیه افرادِ یک جامعه یا کولونی دارند. در شرایط کاملاً طبیعی، این افراد پیشرفت بهتری خواهند کرد و رفاه نسبتاً بالاتری خواهند داشت و این رفاه، خود باعث طول عمر بیشتر و باروری بهتر خواهد بود (توجه کنید شرایط، طبیعیست نه در یک جامعه سطح بالا با ملاحظات امروزی؛ یعنی طول عمر بیشتر در این جامعه نمونه با زاد و ولد بیشتر همراه است). حال اگر این خصوصیت (هوش) ...

  • مسئله کوله پشتی چیست؟

    مسئله کوله پشتی چیست؟ - وبلاگی برای من"> الگوریتم ژنتیک - مسئله کوله پشتی چیست؟الگوریتم ژنتیک وبلاگی برای من مسئله کوله پشتی چیست؟ مسئله کوله پشتی چیست؟ فرض کنید که جهانگردی می خواهدکوله پشتی خود را با انتخاب حالتهای ممکن از بین وسائل گوناگونی که بیشترین راحتی را برایش فراهم می سازند پر کند. این مسئله می تواند با شماره گذاری این وسائل از 1 تا n و تعریف برداری از متغیرهای دودویی(Binary) (j = 1,2,…n) بصورت ریاضی فرمول بندی شود. به این معنی که: اگر شیء j ام انتخاب شود در غیر اینصورت وقتی میزان راحتی باشد که وسیله j ا م فراهم می آورد و وزن آن و c اندازه کوله پشتی باشد. مسئله ما انتخاب برداری از بین بردارهای دودویی x است،که محدودیت را بر آورده کند. بطوریکه تابع هدف ماکزیمم مقدار خود را بگیرد به عنوان نمونه ای از مسائلی که می توانند بصورت مساله کوله پشتی فرمول بندی شوند، مسئله زیر را در نظر بگیرید: فرض کنید که شما مایل به سرمایه گذاری همه یا قسمتی ازسرمایه تان باشید. اگر مبلغی که برای سرمایه گذاری در نظر گرفتید c دلار باشد و n مورد برای سرمایه گذاری ممکن باشد ، اجازه دهیدکه سود حاصل از سرمایه گذاری j ام و مقدار دلارهایی باشد که آن سرمایه گذاری لازم دارد . بدین ترتیب جواب بهینه مسئله کوله پشتی که تعریف کردیم به ما این امکان را می دهدکه بهترین حالت ممکن را از بین حالتهای مختلف سرمایه گذاری انتخاب کنیم. در این رابطه باید روشی برای حل این مسئله پیدا کرد . یک روش ابتدایی که در نگاه اول توجه ما را به خود جلب می کند ، عبارت از برنامه نویسی برای کامپیوتر به منظور امتحان کردن تمامی بردارهای دودویی ممکن x است، تا از بین بردارهایی که محدودیت مسئله را ارضاء می کنند بهترین را انتخاب کند. متاسفانه تعداد چنین بردارهایی است.بطوریکه یک کامپیوتر فرضی که می تواند یک بیلیون بردار را در یک ثانیه امتحان کند؛برای n = 60 بیش از 30 سال وقت لازم دارد و بیش از 60 سال برای n = 61 و دهها قرن برای n = 65 والی اخر. با این وجود ،با استفاده از الگوریتمهایی خاص می توان در بسیاری موارد مسئله ای با n = 100 000 را در عرض چند ثانیه روی یک کامپیوترکوچک حل کرد. منابع و ماخذ [1] Martello S., Toth P., Knapsack Problems, Algorithms and Computer Implementations. Wiley, New York (1990). ]2[. اس.اس. را ئو . بهینه سازی(تئوری و کاربردها ) جلد2. ترجمه سید محمد مهدی شهیدی پور (1373) ص 884-856، انتشارات دانشگاه فردوسی مشهد. ]3[. حمدی طه . آشنایی با تحقیق در عملیا ت، برنامه ریزی خطی ، پویا و با اعداد صحیح ترجمه محمد باقر بازرگان (1377) ص. 318-303، نشر دانشگاهی ویکی پدیا

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

    الگوریتم ژنتیک چیست؟

    الگوریتم ژنتیک چیست؟ الگوریتم‌های ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیش‌بینی یا تطبیق الگو استفاده می‌کنند.الگوریتم‌های ژنتیک اغلب گزینه خوبی برای تکنیک‌های پیش‌بینی بر مبنای رگرسیون هستند. برای مثال اگر بخواهیم نوسانات قیمت نفت را با استفاده از عوامل خارجی و ارزش رگرسیون خطی ساده مدل کنیم،این فرمول را تولید خواهیم کرد : قیمت نفت در زمان t = ضریب 1 نرخ بهره در زمان t + ضریب 2 نرخ بیکاری در زمان t + ثابت 1 . سپس از یک معیار برای پیدا کردن بهترین مجموعه ضرایب و ثابت‌ها جهت مدل کردن قیمت نفت استفاده خواهیم کرد. در این روش 2 نکته اساسی وجود دارد. اول این که روش خطی است و مسئله دوم این است که ما به جای اینکه در میان "فضای پارامترها" جستجو کنیم، پارامترهای مورد استفاده را مشخص کرده‌ایم. با استفاده از الگوریتم‌های ژنتیک ما یک ابر فرمول یا طرح، تنظیم می‌کنیم که چیزی شبیه "قیمت نفت در زمان t تابعی از حداکثر 4 متغیر است" را بیان می‌کند. سپس داده‌هایی برای گروهی از متغیرهای مختلف، شاید در حدود 20 متغیر فراهم خواهیم کرد. سپس الگوریتم ژنتیک اجرا خواهد شد که بهترین تابع و متغیرها را مورد جستجو قرار می‌دهد. روش کار الگوریتم ژنتیک به طور فریبنده‌ای ساده، خیلی قابل درک و به طور قابل ملاحظه‌ای روشی است که ما معتقدیم حیوانات آنگونه تکامل یافته‌اند. هر فرمولی که از طرح داده شده بالا تبعیت کند فردی از جمعیت فرمول‌های ممکن تلقی می‌شود. متغیرهایی که هر فرمول داده‌شده را مشخص می‌کنند به عنوان یکسری از اعداد نشان داده‌شده‌اند که معادل [دی ان ای|دی.ان.ای](DNA) آن فرد را تشکیل می‌دهند. موتور الگوریتم ژنتیک یک جمعیت اولیه از فرمول ایجاد می‌کند. هر فرد در برابر مجموعه‌ای از داده‌های مورد آزمایش قرار می‌گیرند و مناسبترین آنها (شاید 10 درصد از مناسبترین‌ها) باقی می‌مانند؛ بقیه کنار گذاشته می‌شوند. مناسبترین افراد با هم جفتگیری (جابجایی عناصر دی ان ای) و تغییر (تغییر تصادفی عناصر دی ان ای) کرده‌اند. مشاهده می‌شود که با گذشت از میان تعداد زیادی از نسلها، الگوریتم ژنتیک به سمت ایجاد فرمول‌هایی که دقیقتر هستند، میل می‌کنند. در حالی که شبکه‌های عصبی هم غیرخطی و غیرپارامتریک هستند، جذابیت زیاد الگوریتم‌های ژنتیک این است نتایج نهایی قابل ملاحظه‌ترند. فرمول نهایی برای کاربر انسانی قابل مشاهده خواهد بود، و برای ارائه سطح اطمینان نتایج می‌توان تکنیک‌های آماری متعارف را بر روی این فرمول‌ها اعمال کرد. فناوری الگوریتم‌های ژنتیک همواره در حال بهبود است و برای مثال با مطرح کردن معادله ویروس‌ها ...

  • الگوريتم مورچگان چیست؟ توضیح با یک مثال ساده

    الگوريتم مورچگان چیست؟ توضیح با یک مثال ساده

    توسعه اين الگوريتم از رفتار مورچه‌ها الهام گرفته است. مورچه‌ها حشرات اجتماعي هستند. آنها در دسته‌ بزرگي(Colony) از جمعيت زندگي مي كنند و رفتارشان تابع بقاي كولوني است نسبت به بقاي فردي. از رفتار مورچه‌هاي كارگر كه براي يافتن غذا تلاش مي‌كنند در الگوريتم مورچگان الهام گرفته شده است، اينكه مورچه چگونه كوتاه‌ترين مسير را براي يافتن غذا تا لانه طي مي‌كند.      براي يافتن غذا، مورچه ها ابتدا محدوده دور لانه را بطور تصادفي طي مي‌كنند. در حال حركت،   مورچه‌ها اثري از خود به نام فرومون(pheromone) روي زمين به جا مي‌گذارند. مورچه‌ها فرومون را مي‌توانند بو بكشند، در هنگام انتخاب مسير، مسيري كه اثر فرومون قوي‌تري دارد، احتمال انتخاب بيشتري خواهد داشت. به محض اينكه مورچه‌اي منبع غذايي پيدا كرد، كيفيت و مقدار غذا را ارزيابي مي‌كند و مقداري از غذا را با خود به لانه مي‌برد. در طول بازگشت، اثر فرومون به جاي مانده در زمين بستگي به كيفيت و كميت غذاي حمل شده دارد. اثر فرومون ، ساير مورچه ها را در رسيدن به منبع غذا راهنمايي مي‌كند. با توجه به اينكه فرومون در اثر مجاورت با هوا تبخير مي‌شود، از مسيري كه مورچه كمتري عبور كند يعني در اثر تشديد نشدن، فرومون بعد از مدتي كاملاً محو مي‌شود. در واحد زماني يكسان، از مسيرِكوتاه‌تر نسبت به مسير طولاني‌تر مورچه‌هاي بيشتري عبور مي‌كنند پس فرومون بيشتري باقي مي‌ماند. در نتيجه‌ي گذشت زمان پس از مدتي از مسيري كه مورچه نگذشته هيچ اثري از فرومون نخواهد ماند و همه از مسير كوتاه‌تر عبور مي‌كنند(Deneubourg et. al 1990; Grassé 1959). جزئيات بيشتر اين عمل توسط دنبرگ و ديگران(Deneubourg et. al) (1990)آورده شده است كه آنها را قادر مي‌سازد كوتاه ترين مسير را از لانه تا دانه بپيمايند.شكل(1) را ببينيد.شكل (1) حركت مورچه‌ها براي رسيدن به غذا. اين مثال چگونگي حركت مورچه‌ها براي رسيدن به كوتاه‌ترين مسيرشان را نشان مي‌دهد. در اينجا تنها دو راه براي رسيدن به غذا وجود دارد. مورچه‌ها با كمكِ فروموني كه از بدنشان ترشح مي‌شود كوتاه‌ترين مسير را پيدا مي‌كنند بدين ترتيب  در سمتي كه فرومون بيشتري باشد احتمال گام نهادن در آن مسير بيشتر مي‌شود(Tfaili & Siarry 2007) 2. سيستم مورچه‌ها براي مسأله فروشنده دوره گرد: اولين الگوريتم مورچگان به عنوان يك مثال در اينجا اولين الگوريتم مورچگان ارائه مي‌شود كه سيستم مورچه‌ها(Ant System (AS)) ناميده مي‌شود  در كاربرد همين موضوع است كه چنين آمده(Dorigo 1992; Dorigo, Maniezzo and Colorni 1996)  تعريف :مسأله فروشنده دوره گرد بصورت گرافي نمايش داده مي‌شود كه گره‌ها شهر ها و يال‌ها مسير هاي موجود بين اين شهر‌ها ...

  • ژنتیک و اصلاح نباتات

    الگوریتم ژنتیک چیست؟ الگوریتم‌های ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیش‌بینی یا تطبیق الگو استفاده می‌کنند. الگوریتم‌های ژنتیک اغلب گزینه خوبی برای تکنیک‌های پیش‌بینی بر مبنای رگرسیون هستند.برای مثال اگر بخواهیم نوسانات قیمت نفت را با استفاده از عوامل خارجی و ارزش رگرسیون خطی ساده مدل کنیم، این فرمول را تولید خواهیم کرد : قیمت نفت در زمان t = ضریب 1 نرخ بهره در زمان t + ضریب 2 نرخ بیکاری در زمان t + ثابت 1 . سپس از یک معیار برای پیدا کردن بهترین مجموعه ضرایب و ثابت‌ها جهت مدل کردن قیمت نفت استفاده خواهیم کرد. در این روش 2 نکته اساسی وجود دارد. اول این که روش خطی است و مسئله دوم این است که ما به جای اینکه در میان "فضای پارامترها" جستجو کنیم، پارامترهای مورد استفاده را مشخص کرده‌ایم.با استفاده از الگوریتم‌های ژنتیک ما یک ابر فرمول یا طرح، تنظیم می‌کنیم که چیزی شبیه "قیمت نفت در زمان t تابعی از حداکثر 4 متغیر است" را بیان می‌کند. سپس داده‌هایی برای گروهی از متغیرهای مختلف، شاید در حدود 20 متغیر فراهم خواهیم کرد. سپس الگوریتم ژنتیک اجرا خواهد شد که بهترین تابع و متغیرها را مورد جستجو قرار می‌دهد. روش کار الگوریتم ژنتیک به طور فریبنده‌ای ساده، خیلی قابل درک و به طور قابل ملاحظه‌ای روشی است که ما معتقدیم حیوانات آنگونه تکامل یافته‌اند. هر فرمولی که از طرح داده شده بالا تبعیت کند فردی از جمعیت فرمول‌های ممکن تلقی می‌شود.متغیرهایی که هر فرمول داده‌شده را مشخص می‌کنند به عنوان یکسری از اعداد نشان داده‌شده‌اند که معادل [دی ان ای|دی.ان.ای](DNA) آن فرد را تشکیل می‌دهند.موتور الگوریتم ژنتیک یک جمعیت اولیه از فرمول ایجاد می‌کند. هر فرد در برابر مجموعه‌ای از داده‌های مورد آزمایش قرار می‌گیرند و مناسبترین آنها (شاید 10 درصد از مناسبترین‌ها) باقی می‌مانند؛ بقیه کنار گذاشته می‌شوند. مناسبترین افراد با هم جفتگیری (جابجایی عناصر دی ان ای) و تغییر (تغییر تصادفی عناصر دی ان ای) کرده‌اند. مشاهده می‌شود که با گذشت از میان تعداد زیادی از نسلها، الگوریتم ژنتیک به سمت ایجاد فرمول‌هایی که دقیقتر هستند، میل می‌کنند. در حالی که شبکه‌های عصبی هم غیرخطی و غیرپارامتریک هستند، جذابیت زیاد الگوریتم‌های ژنتیک این است نتایج نهایی قابل ملاحظه‌ترند. فرمول نهایی برای کاربر انسانی قابل مشاهده خواهد بود، و برای ارائه سطح اطمینان نتایج می‌توان تکنیک‌های آماری متعارف را بر روی این فرمول‌ها اعمال کرد. فناوری الگوریتم‌های ژنتیک همواره در حال بهبود است و برای مثال با مطرح کردن معادله ویروس‌ها ...

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

    الگوریتم ژنتیک (Genetic Algorithm - GA) تکنیک جستجویی در علم رایانه برای یافتن راه‌حل تقریبی برای بهینه‌سازی و مسائل جستجو است. الگوریتم ژنتیک نوع خاصی از الگوریتمهای تکامل است که از تکنیکهای زیست‌شناسی فرگشتی مانند وراثت و جهش استفاده می‌کند.

  • الگوريتم ژنتيك و فرايند بهينه سازي ...

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

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