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

Word 348 KB 6531 50
مشخص نشده مشخص نشده شیمی - زیست شناسی
قیمت قدیم:۲۴,۰۰۰ تومان
قیمت: ۱۹,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • چکیده: الگوریتم های ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیش بینی یا تطبیق الگو استفاده می کنند.

    الگوریتم های ژنتیک اغلب گزینه خوبی برای تکنیک های پیش بینی بر مبنای رگرسیون هستند.

    همچنین ساده خطی وپارامتریک نیزگفته می شود، به الگوریتم های ژنتیک می توان غیر پارامتریک نیز گفت.

    مختصراً گفته می شود که الگوریتم ژنتیک (یا GA) یک تکنیک برنامه نویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مسئله استفاده می کند.

    مسئله ای که باید حل شود ورودی است و راه حل ها طبق یک الگو کد گذاری می شود ومتریک که تابع fitness هم نام دارد هر راه حل کاندید را ارزیابی می کندکه اکثر آنها به صورت تصادفی انتخاب می شوند.

    یکی از مهمترین کاربردهای الگوریتم های ژنتیک حل مسئله فروشنده دوره گرد می باشد که در بخش دوم به طور کامل به آن می پردازیم.

    کلاً این الگوریتم ها از بخش های زیر تشکیل می شوند : انتخاب مجدد selection ترکیب combination جهش ژنی mutation که در ادامه آنها را توضیح خواهیم داد.

    مقدمه: قانون انتخاب طبیعی بدین صورت است که تنها گونه‌هایی از یک جمعیت ادامه نسل می‌دهند که بهترین خصوصیات را داشته باشند و آنهایی که این خصوصیات را نداشته باشند به تدریج و در طی زمان از بین می‌روند.

    مثلا فرض کنید گونه خاصی از افراد هوش بسیار بیشتری از بقیه افراد یک جامعه یا کولونی دارند.

    در شرایط کاملا طبیعی این افراد پیشرفت بهتری خواهند کرد و رفاه نسبتا بالاتری خواهند داشت و این رفاه خود باعث طول عمر بیشتر و باروری بهتر خواهد بود(توجه کنید شرایط طبیعی است نه در یک جامعه سطح بالا با ملاحظات امروزی یعنی طول عمر بیشتر در این جامعه نمونه با زاد و ولد بیشتر همراه است).

    حال اگر این خصوصیت(هوش)ارثی باشد به طبع در نسل بعدی همان جامعه تعداد افراد باهوش به دلیل زاد و ولد بیشتر این‌گونه افراد بیشتر خواهد بود.

    اگر همین روند را ادامه دهید خواهید دید که در طی نسل‌های متوالی دائما جامعه نمونه ما باهوش و باهوش‌تر می‌شود.

    بدین ترتیب یک مکانیزم ساده طبیعی توانسته است در طی چند نسل عملا افراد کم هوش را از جامعه حذف کند علاوه بر اینکه میزان هوش متوسط جامعه نیز دائما در حال افزایش است.

    بدین ترتیب می‌توان دید که طبیعت با بهره‌گیری از یک روش بسیار ساده(حذف تدریجی گونه‌های نامناسب و در عین حال تکثیر بالاتر گونه‌های بهینه) توانسته است دائما هر نسل را از لحاظ خصوصیات مختلف ارتقا بخشد.

    در این میان آنچه شاید بتواند تا حدودی ما را در فهم این مساله یاری کند مفهومیست به نام : تصادف یا جهش.

    هدف اصلی روش‌های هوشمند به کار گرفته شده در هوش مصنوعی یافتن پاسخ بهینه مسائل مهندسی است.

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

    در مورد نکته دوم باید بگوییم که روش‌های ریاضی بهینه‌سازی اغلب منجر به یک فرمول یا دستورالعمل خاص برای حل هر مسئله می‌شوند.

    در حالی که روش‌های هوشمند دستورالعمل‌هایی هستند که به صورت کلی می‌توانند در حل هر مسئله‌ای به کار گرفته شوند.

    این نکته را پس از آشنایی با خود الگوریتم بیشتر و بهتر خواهید دید.

    اما یک موجود چگونه قادر است که شکل و فرم موجودات بعد از خود را تعیین کند؟

    برای اینکه جواب سوال را دریابیم، ابتدا باید فرآیند تولید مثل موجودات را بررسی کنیم.

    در جریان تولید مثل یک موجود کروموزوم­های والدین موجود با یکدیگر ترکیب می­شوند و سلول تخم را تشکیل می دهند.

    تکثیر این سلول تخم منجر به تشکیل یک فرزند تقریباً مشابه والدینش می­شود.

    این موجود ترکیبی از خصوصیات والدین خود را به همراه خواهد داشت.

    این روند باعث تکامل یک موجود می­شود.

    اما تا اینجای کار اتفاق خاصی که باعث ایجاد یک موجود جدید گردد به وقوع نپیوسته است.

    نکته کار اینجاست که در حین تشکیل سلول تخم تغییرات ناخواسته­ای درون کروموزوم(های) سلول بوجود می­آید.

    این تغییرات اگر کوچک باشند، در حین تکثیر سلول تخم و تشکیل موجود اصلی اصلاح می­شوند.

    اما تغییرات بزرگ اصلاح نمی­شوند و منجر به تشکیل یک موجود جدید می­شوند.

    اگر موجود جدید (و بطور کلی فرزند) ایجاد شده نسبت به والدین در تقابل با محیط برتری داشته باشد، قطعاً در جریان زندگی موفق­تر است و امکان تولید مثل پیدا می­کند و در نتیجه می­تواند خصوصیات خوبش را به فرزندانش منتقل نماید.

    با توجه به اینکه این فرزندان نیز در تقابل با محیط موفق­تر هستند، امکان تولید مثل پیدا می­کنند.

    با توجه به مطالب فوق متوجه می­شوید که سه فاکتور اصلی مبنای نظریه داروین را تشکیل می­دهند، این سه فاکتور عبارتند از: · تنوع: ترکیب شدن مشخصات والدین متفاوت باعث می­شود که خصوصیات خوب آنها ترکیب شود و یک موجود بهتر بوجود آید.

    · تصادف: عامل ایجاد تغییرات در موجودات فرزند · انتخاب: که توسط محیط انجام می­شود، به این معنی که موجودات با شایستگی پائین احتمال ادامه حیات و تولید مثل کمتری دارند.

    (بقای شایسته­ترین) روند فوق و مخصوصاً سه فاکتور فوق مبنای کار دانشمندان رشته کامپیوتر قرار گرفت و در نتیجه الگوریتم­های ژنتیک بوجود آمدند.

    این روش در سال 1970 توسط John Holland معرفی گردید این روشها با نام Evolutionary Algorithms نیز خوانده میشوند.

    پیشرفت این الگوریتم­ها باعث شد که کلاً مجموعه روشهای حل مساله با نام پردازش تکاملی بوجود بیاید.

    پردازش تکاملی از شاخه­های زیر تشکیل شده­ است: 1.

    الگوریتم­های ژنتیک (Genetic Algorithms) 2.

    برنامه نویسی ژنتیک (Genetic Programming) 3.

    استراتژی های تکاملی (Evolutionary Strategies) 4.

    برنامه نویسی تکاملی (Evolutionary Programming) نحوه ارائه مطالب به این صورت است که در ابتدا قسمتهای مختلف یک الگوریتم ژنتیک را بیان کرده و هریک را به اختصار تشریح می­کنیم.

    سپس بیان می­کنیم که یک الگوریتم ژنتیک چه خصوصیاتی باید داشته باشد، بخش اول : الگوریتم ژنتیک الگوریتم ژنتیک چیست؟

    همانطور که گفتیم یکی از شاخه­های پردازش تکاملی، الگوریتم­های ژنتیک می­باشد.

    این الگوریتم­ها با الهام از روند تکاملی طبیعت، مسائل را حل می­کنند.

    به این معنی که مانند طبیعت یک جمعیت از موجودات تشکیل می­دهند و درون این موجودات اقدام به انجام اعمالی چون انتخاب والدین، تولید مثل، جهش و ...

    می­کنند و این اعمال را آنقدر تکرار می­کنند تا به مجموعه بهینه و یا موجود بهینه برسند.

    این الگوریتم­ها با توجه به خصوصیات خاصی که دارند، به خوبی از عهده حل مسائلی که نیاز به بهینه­سازی دارند و یا پارامترهای زیادی در آنها دخیل است، برمی­آیند.

    در این قسمت به معرفی این الگوریتم­ها می­پردازیم.

    تشریح ساختار الگوریتم­های ژنتیک: روند اجرای الگوریتم­های ژنتیک به صورت زیر است: مساله بازنمائی جستجوی ژنتیکی جواب تشکیل جمعیت اولیه همانطور که می­بینید، برای حل یک مساله با استفاده از الگوریتم­های ژنتیک بایستی مراحل زیر را طی کنیم: 1.

    مدلسازی مساله یا بازنمائی 2.

    تشکیل جمعیت اولیه 3.

    ارزیابی جمعیت 4.

    انتخاب والدین 5.

    بازترکیبی 6.

    جهش 7.

    انتخاب فرزندان 8.

    شرط خاتمه الگوریتم متغیر هایی که هر فرمول داده شده را مشخص می کنند به عنوان یکسری از اعداد نشان داده شده اند که معادل دی ان ای آن فرد را تشکیل می دهند.

    موتور الگوریتم ژنتیک یک جمعیت آغازین از فرمول ایجاد می کند.هر فرد در برابر مجموعه ای از داده های مورد آزمایش قرار می گیرد و مناسبترین آنها انتخاب می شود که شاید 10 درصد از مناسبترین ها باقی بمانند و بقیه کنار گذاشته می شوند.

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

    الگوریتم ژنتیک GA یک تکنیک جستجو در علم کامپیوتربرای یافتن راه حل بهینه ومسائل جستجو است.الگوریتم های ژنتیک یکی از انواع الگوریتم های تکاملی اند که از علم زیست شناسی مثل وراثت، جهش،انتخاب ناگهانی ، انتخاب طبیعی و ترکیب الهام گرفته شده اند.

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

    یک راه حل برای مسئله مورد نظر،با یک لیست از پارامترها نشان داده می شود که به آنها کروموزوم یا ژنوم می گویند.

    کروموزوم ها عموماً به صورت یک رشته ساده از داده ها نمایش داده می شوند،البته انواع ساختمان داده های دیگر هم می توانند مورد استفاده قرار گیرند: 1.

    اعداد صحیح 2.

    رشته­­های بیتی 3.

    اعداد حقیقی در فرم نقطه شناور 4.

    اعداد حقیقی به فرم رشته های بیتی 5.

    یک مجموعه از اعداد حقیقی یا صحیح 6.

    ماشینهای حالت محدود 7.

    هر فرم دیگری که بتوانیم عملگرهای ژنتیک را بر روی آنها تعریف کنیم در ابتدا چندین مشخصه به صورت تصادفی برای ایجاد نسل اول تولید می شوند.

    در طول هر نسل ،هر مشخصه ارزیابی می شود وارزش تناسب(fitness) توسط تابع تناسب اندازه گیری می شود.

    سپس باید نسل اولیه را مشخص کنیم.

    بعد از اینکه شکل کروموزومها را تعریف نمودیم، بایستی جمعیتی را تشکیل دهیم، که می­خواهیم عناصر آنرا تکامل دهیم.

    تعداد عناصر موجود در این جمعیت معمولاً ثابت است.

    به این معنی که هنگامی که تعدادی عنصر در جریان تولید مثل به این جمعیت اضافه می­کنیم، بایستی به همین تعداد عنصر نیز از جمعیت قبلی حذف کنیم.

    قبل از اینکه الگوریتم بتواند آغاز به کار کند، بایستی یک جمعیت اولیه از کروموزوم­ها تشکیل بدهیم.

    در اکثر الگوریتم­ها این جمعیت اولیه به صورت تصادفی تشکیل می­شود.

    به این معنی که به اندازه طول جمعیت، کروموزوم تصادفی ایجاد می­کنیم و آنها را به جمعیت اولیه اضافه می­کنیم.

    البته برای اینکه الگوریتم سریعتر به جواب برسد، می­توانیم بوسیله یکی از الگوریتم­های کم هزینه تعدادی از جوابهای تقریباً بهینه را محاسبه کرده و از آنها بعنوان جمعیت اولیه استفاده می­کنیم.

    دیده شده است که در بعضی مسائل انجام این عمل تاثیر بسزائی در سرعت همگرائی الگوریتم دارد.

    البته نباید فراموش کنیم که انجام این عمل در مواردی باعث می شود، الگوریتم در مینیمم­های محلی ناشی از جمعیت آغازی گیر افتاده و نتواند جوابهای بهتری را پیدا کند.

    برای جلوگیری از این مشکل علاوه بر جوابهای بهینه پیدا شده، تعدادی عنصر نیز به صورت تصادفی به جمعیت اضافه می­کنیم.

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

    برای هر فرد ،یک جفت والد انتخاب می شود.در هر نسل تعدادی از عناصر جمعیت این فرصت را پیدا می­کنند که تولید مثل کنند.

    به این عناصر که از میان جمعیت انتخاب می­شوند، والدین می­گویند.

    روشهای مختلفی برای انتخاب والدین وجود دارند.

    در زیر به چند مورد از این روشها اشاره می­کنیم: 1.

    انتخاب تمام جمعیت به عنوان والدین: در واقع هیچگونه انتخابی انجام نمی­دهیم.

    2.

    انتخاب تصادفی: بصورت تصادفی تعدادی از موجودات جمعیت را به عنوان والدین انتخاب می­کنیم، این انتخاب می­تواند با جایگذاری یا بدون جایگذاری باشد.

    3.

    روشهای مبتنی بر شایستگی: در این روشها عناصر با شایستگی بیشتر شانس بیشتری برای انتخاب شدن به عنوان والدین را دارند.

    4.

    سایر روشها: این روشها با استفاده از تکنیکهایی سعی می­کنند که انتخابهایی را ارائه دهند، که هم رسیدن به جواب نهایی را تسریع کنند و هم اینکه کمک می­کنند که جواب بهینه­تری پیدا شود.

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

    .

    به عنوان نمونه اگر بخواهیم رولت را بررسی کنیم باید به مسائل زیر توجه شود: در روش معرفی شده در الگوریتم ساده GA احتمال انتخاب یک فرضیه برای استفاده در جمعیت بعدی بستگی به نسبت fitness آن به fitness بقیه اعضا دارد.

    این روش Roulette Wheel selectionنامیده میشود.

    P(hi) = Fitness (hi) / Σj Fitness (hj) A C 1/6 = 17% 3/6 = 50% B 2/6 = 33% fit(A)=3 , fit(B)=1 , fit(C)=2 معمولاً الگوریتم های ژنتیک یک عدد احتمال اتصال دارد که بین 0.6 و1 است که احتمال به وجود آمدن فرزند را نشان می دهد.ارگانیسم ها با این احتمال دوباره با هم ترکیب می شوند.اتصال 2 کروموزوم فرزند ایجاد می کند،که به نسل بعدی اضافه می شوند.این کارها انجام می شوند تا این که کاندیدهای مناسبی برای جواب،در نسل بعدی پیدا شوند.

    مرحله بعدی تغییر دادن فرزندان جدید است.

    الگوریتم های ژنتیک یک احتمال تغییر

  • فهرست:

    ندارد.


    منبع:

    http://cs.felk.cvut.cz/~xobitko/ga/

    http://cs.felk.cvut.cz/~xobitko/ga/cromu.html

     

    http://genetic-programming.com

    http://genetic-programming.org

    http://wikipedia.com

    http:// gpwiki.org


تحقیق دانش آموزی در مورد دانلود مقاله الگوریتم ژنتیک چیست, مقاله دانشجویی با موضوع دانلود مقاله الگوریتم ژنتیک چیست, پروژه دانشجویی درباره دانلود مقاله الگوریتم ژنتیک چیست

در این گزارش ما یک روش جدید برای خوشه بندی داده ها بر پایه الگوریتم ژنتیک همراه با بازچینی مجدد ژن های هر کروموزوم در هر مرحله تکرار ارائه می دهیم.این امر باعث حذف انحطاط در مراکز خوشه ها در هر مرحله می شود در این گزارش یک عملگر ترکیب (crossover) جدید تعریف شده است که از میزان شباهت بین کروموزوم ها استفاده می کند.احتمال ترکیب و جهش در هر مرحله به صورت وفقی محاسبه می شود تا ...

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

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

خلاصه : این مقاله یک الگوریتم ژنتیکی سازگار (AGA) را همراه با تابع لیاقت دینامیکی، برای مسائل چند هدفه (MOPs) در محیط دینامیکی تشریح می کند. به منظور دیدن اجرای الگوریتم، این روش برای دو نوع از مسائل MOPs بکار گرفته شده است. اولا این روش برای پیدا کردن آرایش نیروهای نظامی برای شبیه سازی رزمی بکار گرفته شده است. این مقاله در مورد چهار تابع هدف بحث می کند که باید بهینه شوند و یک ...

زمان بندی برای تولید کارگاهی (job shop) از دو زمینه مدیریت محصول و بهره وری گروهی خیلی مهم است. هر چند که این امر کاملا متفاوت است با بدست آوردن یک جواب بهینه با متدهای بهینه یابی مرسوم، زیرا مسئله مورد نظر دارای محاسبات خیلی پیچیده می باشد.(مسئله فوق از نوع NP-Hardاست.) اثبات شده است که الگوریتم ژنتیک (GA) برای تنوع وضعیت هایی که شامل زمان بندی و توالی می باشند(S.S) موثر می ...

1 منابع ژنتیکی یا ژرم پلاسم گیاهی : منبع ژنتیکی در مفهوم عام عبارتست ازتنوع ژنتیکی در هر موجود بیولوژیکی و در دنیای گیاهی عبارتست از تنوع ژنتیکی موجود در گیاهان زراعی اهلی و گونه های وحشی وابسته به آنها . انواع منابع تنوع ژنتیکی عبارتند از گونه های وحشی ، واریته‌های بومی ، اشکال ابتدائی گیاهان زراعی در مراکز تنوع اولیه آنها ، گیاهان مهاجرت کرده به مراکز ثانویه که ممکن است تنوع ...

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

خوشه بندی روشی است که داده های یک مجموعه داده را به گروه یا خوشه تقسیم می کند . از مرسوم ترین روش های خوشه بندی،الگوریتم های خوشه بندی k-Means وfuzzy k-Means می باشند.این دو الگوریتم فقط روی داده های عددی عمل می کنند و به منظور رفع این محدودیت، الگوریتم های k-Modes و fuzzy k-Modes ارائه شدند که مجموعه داده های گروهی (دسته ای) را نیز خوشه بندی می کنند. . با این وجود، این الگوریتم ...

مفید بودن شبکه عصبی آنالوگ مصنوعی بصورت خیلی نزدیکی با میزان قابلیت آموزش پذیری آن محدود می شود . این مقاله یک معماری شبکه عصبی آنالوگ جدید را معرفی می کند که وزنهای بکار برده شده در آن توسط الگوریتم ژنتیک تعیین می شوند . اولین پیاده سازی VLSI ارائه شده در این مقاله روی سیلیکونی با مساحت کمتر از 1mm که شامل 4046 سیناپس و 200 گیگا اتصال در ثانیه است اجرا شده است . از آنجائیکه ...

امروزه با شکسته شدن پی در پی استقلال ، شاخه های مختلف علوم و بهره وری شاخه ای از شاخه ی دیگر و پیشبرد مسائل پیچیده خود، پیوستگی و لاینفک بودن تمامی شاخه های علوم را نمایان تر می سازد که سرمنشأ تمامی آنها از یک حقیقت نشأت گرفته و آن ذات باری تعالی است.اولین تلاش ها به منظور ارائه ی یک مدل ریاضی برای سیستم عصبی انسان در دهه 40 توسط Mcculloch , pitts انجام شد ، که حاصل آن یک نورون ...

ثبت سفارش