منابع مقاله با موضوع الگوریتم ژنتیک، شبیه‌سازی، جستجوی محلی، شبکه‌های عصبی مصنوعی

دانلود پایان نامه ارشد

راه‌حل در آنها بسیار دشوار است. اما اگر راه‌حل را داشته باشیم، بررسی آن آسان می‌شود. این واقعیت منجر به مسائل NP-Complete problems شد.NP معرفNondeterministic (چند جمله‌ای‌های غیرجبری) و به این معناست که امکان این وجود که راه‌حل را حدس زد و سپس آن را بررسی کرد.
برای سهولت کار، بررسی مسائل NP-Complete ، محدود به مسائلی است که پاسخ می‌تواند بله یا خیر باشد. به دلیل وجود کارهایی با نتایج پیچیده، دسته دیگری از مسائل با نام NP-Hard معرفی شده‌اند. این دسته مانند مسائل NP-Complete محدود نیستند.
یکی از ویژگی‌های مسائل NP آن است که یک الگوریتم ساده را (که ممکن است در نگاه اول بدیهی به نظر برسد) می‌توان برای یافتن راه‌حل‌های مفید به کار برد. اما بطور کلی، این روش، روش‌های ممکن زیادی را فراهم می‌کند و بررسی کردن تمام راه‌حل‌ها، فرآیند بسیار کندی خواهد بود.
امروزه، هیچکس نمی‌داند که آیا الگوریتم سریعتری برای یافتن جواب دقیق در مسائل NP وجود دارد یا خیر. و یافتن چنین الگوریتمی وظیفه مهمی است که به عهده محققان می‌باشد. امروزه اکثر مردم تصور می‌کنند که چنین الگوریتمی وجود ندارد و بنابراین به دنبال روش دیگری (جایگزین) هستند. و نمونه‌ای از روش جایگزین، الگوریتم ژنتیکی است.
2-4-3- هیوریستیک36
سیستم‌های پیچیده اجتماعی، تعداد زیادی از مسائلِ دارایِ طبیعتِ ترکیباتی را پیش روی ما قرار می‌دهند. مسیر کامیون‌های حمل‌ونقل باید تعیین شود، انبارها یا نقاط فروش محصولات باید جایابی شوند، شبکه‌های ارتباطی باید طراحی شوند، کانتینرها باید بارگیری شوند، رابط‌های رادیویی می‌بایست دارای فرکانس مناسب باشند، مواد اولیه چوب، فلز، شیشه و چرم باید به اندازه‌های لازم بریده شوند؛ از این دست مسائل بی‌شمارند. تئوری پیچیدگی به ما می‌گوید که مسائلِ ترکیباتی اغلب چندجمله‌ای37 نیستند. این مسائل در اندازه‌های کاربردی و عملی خود به قدری بزرگ هستند که نمی‌توان جواب بهینۀ آنها را در مدّت زمان قابل پذیرش به دست آورد. با این وجود، این مسائل باید حل شوند و بنابراین چاره‌ای نیست که به جواب‌های زیر بهینه بسنده نمود؛ به گونه‌ای که دارای کیفیّت قابل پذیرش بوده و در مدّت زمان قابل پذیرش به دست آیند. چندین رویکرد برای طراحی جواب‌های با کیفیّت قابل پذیرش تحت محدودیّت زمانی قابل پذیرش پیشنهاد شده است. الگوریتم‌هایی وجود دارند که می‌توانند یافتن جواب‌های خوب در فاصله مشخصی از جواب بهینه را تضمین کنند که به آنها الگوریتم‌های تقریبی می‌گویند. الگوریتم‌های دیگری هستند که تضمین می‌دهند با احتمال بالا جواب نزدیک بهینه تولید کنند که به آنها الگوریتم‌های احتمالی گفته می‌شود. جدای از این دو دسته، می‌توان الگوریتم‌هایی را پذیرفت که هیچ تضمینی در ارایه جواب ندارند اما بر اساس شواهد و سوابق نتایج آنها، به طور متوسط بهترین تقابل کیفیت و زمان حل برای مسأله مورد بررسی را به همراه داشته‌اند؛ به این الگوریتم‌ها، الگوریتم‌های هیوریستیک گفته می‌شود.
هیوریستیک‌ها عبارتند از معیارها، روشها یا اصولی برای تصمیم‌گیری بین چندین خط‌مشی و انتخاب اثربخش‌ترین برای دستیابی به اهداف موردنظر. هیوریستیک‌ها نتیجۀ برقراری اعتدال بین دو نیاز هستند: نیاز به ساخت معیار‌های ساده و در همان زمان توانایی تمایز درست بین انتخاب‌های خوب و بد.
یک هیوریستیک می‌تواند حسابی سرانگشتی باشد که برای هدایت یک دسته از اقدامات به کار می‌رود. برای مثال، یک روش مشهور برای انتخاب طالبی رسیده عبارتست از فشار دادن محل اتصال به ریشه از یک طالبی نامزدِ انتخاب و سپس بو کردن آن محل؛ اگر بوی آن محل مانند بوی داخل طالبی باشد آن طالبی به احتمال زیاد رسیده است. این قاعده سرانگشتی نه تضمین می‌کند که تنها طالبی‌های رسیده به عنوان نامزد انتخاب شوند و نه تضمین می‌کند که طالبی‌های رسیده آزمایش‌شده، رسیده تشخیص داده شوند اما به هر حال این روش، اثربخش‌ترین روش شناخته شده است.
به عنوان مثالی دیگر از استفاده هیوریستیک‌ها، یک استاد بزرگ شطرنج را در نظر بگیرید که با انتخاب بین چندین حرکت ممکن روبرو شده است. وی ممکن است تصمیم بگیرد که یک حرکت خاص، اثربخش‌ترین حرکت خواهد بود زیرا موقعیتی فراهم می‌آورد که به نظر می‌رسد بهتر از موقعیت‌های حاصل از حرکت‌های دیگر باشد. به کارگیری معیار به نظر می‌رسد خیلی ساده‌تر از تعیین دقیق حرکت یا حرکاتی خواهد بود که حریف را مجبور به مات کند. این واقعیت که اساتید بزرگ شطرنج همواره پیروز بازی نخواهند بود نشان دهنده این است که هیوریستیک‌های آنها انتخاب اثربخش‌ترین حرکت را تضمین نمی‌کنند. نهایتا‏ً وقتی از آنها خواسته ‌می‌شود که هیوریستیک خود را تشریح نمایند آنها فقط توصیفی ناقص از قواعدی ارایه می‌دهند و به نظر خود آنها، انجام آن قواعد از توصیف آنان ساده‌تر است.
خاصیت هیوریستیک‌های خوب این است که ابزار ساده‌ای برای تشخیص خطّ‌مشی‌های بهتر ارایه دهند و در حالی که به صورت شرطی لازم، تشخیص خطّ‌مشی‌های اثربخش را تضمین نمی‌کنند اما اغلب به صورت شرط کافی این تضمین را فراهم ‌آورند. بیشتر مسائل پیچیده نیازمند ارزیابی تعداد انبوهی از حالت‌های ممکن برای تعیین یک جواب دقیق می‌باشند. زمان لازم برای یافتن یک جواب دقیق اغلب بیشتر از یک طول عمر است. هیوریستیک‌ها با استفاده از روش‌هایی که نیازمند ارزیابی‌های کمتر هستند و جوابهایی در محدودیت‌های زمانی قابل قبول ارایه می‌نمایند، دارای نقشی اثربخش در حل چنین مسائلی خواهند بود.
انواع الگوریتم‌های هيوریستیک
در حالت کلی سه دسته از الگوریتم‌های هیوریستیک قابل تشخیص است:
الگوریتم‌هایی که بر ویژگی‌های ساختاری مسأله و ساختار جواب متمرکز می‌شوند و با استفاده از آنها الگوریتم‌های سازنده یا جستجوی محلی تعریف می‌کنند.
الگوریتم‌هایی که بر هدایت هیوریستیک یک الگوریتم سازنده یا جستجوی محلی متمرکز می‌شوند به گونه‌ای که آن الگوریتم بتواند بر شرایط حساس (مانند فرار از بهینه محلی) غلبه کند. به این الگوریتم‌ها، متاهیوریستیک38 گفته می‌شود.
الگوریتم‌هایی که بر ترکیب یک چارچوب یا مفهوم هیوریستیک با گونه‌هایی از برنامه‌ریزی ریاضی (معمولا روشهای دقیق) متمرکز می‌شوند.
هیوریستیک‌های نوع اول می‌توانند خیلی خوب عمل کنند (گاهی اوقات تا حد بهینگی) اما ممکن است در جواب‌های دارای کیفیت پایین گیر کنند. همانطور که اشاره شد یکی از مشکلات مهمی که این الگوریتم‌ها با آن روبرو می‌شوند افتادن در بهینه‌های محلی است، بدون اینکه هیچ شانسی برای فرار از آنها داشته باشند. برای بهبود این الگوریتم‌ها از اواسط دهۀ 70، موج تازه‌ای از رویکردها آغاز گردید. این رویکردها شامل الگوریتم‌هایی است که صریحاً یا به صورت ضمنی تقابل بین ایجاد تنوع جستجو (وقتی علائمی وجود دارد که جستجو به سمت مناطق بد فضای جستجو می‌رود) و تشدید جستجو (با این هدف که بهترین جواب در منطقه مورد بررسی را پیدا کند) را مدیریت می‌کنند. این الگوریتم‌ها متاهیوریستیک نامیده می‌شوند. از بین این الگوریتم‌ها می‌توان به موارد زیر اشاره کرد:
بازپخت شبیه‌سازی شده.
جستجوی ممنوع.
الگوریتم‌های ژنتیک.
شبکه‌های عصبی مصنوعی.
بهینه‌سازی مورچه‌ای یا الگوریتم‌های مورچه.
که در این بین الگوریتم‌های ژنتیک از شهرت بیشتری نسبت به دیگر الگوریتم‌ها برخوردار است.
2-4-3-1- الگوریتم ژنتیک
به دنبال تکامل…
بسیاری از دانشمندان و اندیشمندان، میل به تکامل را مهترین عامل پیشرفت دستگاه آفرینش و انسان می‌دانند. از این دیدگاه هر پدیده‌ای را که بنگرید، یک مسأله جستجوست. انسان همواره می‌کوشد تا به تکامل برسد، از این رو می‌اندیشد، می‌پژوهد، می‌کاود، می‌سازد، می‌نگارد و همواره می‌کوشد تا باقی بماند. حتی می‌‌توان گفت که میل به زادن فرزند، گامی در برآوردن این نیاز و البته دیگر جانداران است. می‌توان این تلاش در راه رسیدن به تکامل را یک مسألۀ جستجو تعبیر کرد.
کوشش یک مؤسسه اقتصادی یا تولیدی –که تابعی برای تبدیل داده‌ها به ستادهاست- برای کمینه کردن هزینه‌ها و بیشینه کردن سود، یک مسألۀ جستجو است. تلاش یک سپاه در حال جنگ، برای وارد کرد بیشترین خسارات بر دشمن با از دست دادن کمترین نیرو و جنگ‌افزار، یا کوشش یک دانش‌آموز برای دست یافتن به بالاترین نمره، سعی یک موسیقیدان یا نگارگر برای خلق زیباترین اثر هنری، تلاش یک کاندیدا برای به دست آوردن بیشترین رأی، طراحی یک نجّار برای ساختن راحت‌ترین صندلی، تلاش و نقشه چینی ورزشکاران و مربّیان برای یافتن راه‌های پیروزی بر حریف و… همگی جستجویی در فضای یک مسأله برای یافتن نقاط یا ناحیه بهینگی (بیشینه یا کمینه) هستند و همین امر موجب پیشرفت تمدن و آفرینش شده است. در دانش کامپیوتر و فناوری اطلاعات هم «جستجو» یکی از مهمترین مسائل است. تنها کافیست که حجم اطلاعات قرار گرفته بر حافظه‌های گوناگون و اینترنت را در نظر بگیریم تا جایگاه ویژه آن را دریابیم.
تاکنون روشهای بسیاری توسط طراحان الگوریتم‌ها برای انجام جستجو بر داده‌های دیجیتالی ارایه شده است. روش‌هایی به نام جستجوی سریع39 و جستجوی دودویی40، از ساده‌ترین الگوریتم‌هایی هستند که دانشجویان گرایش‌های مهندسی کامپیوتر در نخستین سال‌های دوره کارشناسی فرا می‌گیرند، امّا این الگوریتم‌ها شاید، هنگامی که با حجمی گسترده از داده‌ها روبرو شوند، کارایی ندارند و حتی الگوریتم‌های پیشرفته‌تر مانند جستجوی بازپخت شبیه‌سازی شده41 و الگوریتم عمیق‌شوندۀ‌ تکراری42 نیز در هنگام رویارویی با مسائل ابرفضا43 از یافتن راه‌حل یا ناحیه‌های دلخواه در می‌مانند. در این میان یک روش جادویی وجود وجود دارد که مسائل بزرگ را به سادگی و به گونه‌ای شگفت‌انگیز حل می‌کند و آن «الگوریتم ژنتیک»44 است. ناگفته پیداست که واژۀ «الگوریتم ژنتیک» از دو واژۀ «الگوریتم» و «ژنتیک» تشکیل شده است که خود مبیّن این مطلب است که این روش از دو علم ریاضی و زیست‌شناسی برای حل مسائل کمک می‌گیرد.
الگوریتم‌ژنتیک بر خلاف دیگر روش‌های جستجو، که توسط طراحان نگاشته می‌شوند، در حقیقت به دست دستگاه آفرینش پدید آمده، و پس از شناخت نسبی دانشمندان از این روش به صورت مسأله‌ای ریاضی فرموله شده و وارد دانش مهندسی کامپیوتر و دیگر علوم مرتبط گردیده است. در یکی دو دهه گذشته که این الگوریتم در علوم مهندسی بکار گرفته شده، ناباورانه چنان دست‌آوردها و نتایج شگفت‌انگیزی داشته که نگاه بسیاری از دانش‌پژوهان علوم گوناگون فنی‌مهندسی را به خود جلب کرده است.
ایدۀ اصلی استفاده از الگوریتم ژنتیک
در دهه 70 میلادی دانشمندی از دانشگاه میشیگان به نام «جان هلند»45 ایده استفاده از الگوریتم ژنتیک را در بهینه‌سازی‌های مهندسی مطرح کرد. ایده اساسی این الگوریتم انتقال خصوصیات موروثی توسط ژن‌هاست. (ژنها قطعاتی از یک کروموزوم هستند که اطلاعات مورد نیاز برای یک مولکول DNA یا یک پلی پپتید را دارند. علاوه بر ژنها، انواع مختلفی از توالی‌های مختلف تنظیمی در روی کروموزوم‌ها وجود دارد که در همانندسازی، رونویسی و… شرکت دارند.(46. فرض کنید مجموعه خصوصیات انسان توسط کروموزوم‌های او به نسل بعدی منتقل می‌شوند. هر ژن در این کروموزوم‌ها نماینده یک خصوصیت است. بعنوان مثال ژن 1 می‌تواند رنگ چشم باشد، ژن 2 طول قد، ژن 3 رنگ مو و الی آخر. حال اگر این کروموزوم به تمامی، به نسل بعد انتقال یابد، تمامی خصوصیات نسل بعدی شبیه به خصوصیات نسل قبل خواهد بود. بَدیهیست که در عمل چنین اتفاقی رخ نمی‌دهد. در واقع به صورت همزمان دو اتفاق برای کروموزوم‌ها می‌افتد. اتّفاق اول موتاسیون(جهش)47 است. موتاسیون به این صورت است که بعضی ژن‌ها به صورت کاملاً تصادفی تغییر می‌کنند. البته تعداد اینگونه ژن‌ها بسیار کم می‌باشد اما در هر حال این تغییر تصادفی همانگونه که پیشتر دیدیم بسیار مهم است. مثلاً ژن رنگ چشم می‌تواند به صورت تصادفی باعث شود تا در نسل بعدی یک نفر دارای چشمان سبز باشد، در حالی که تمامی نسل قبل دارای چشم قهوه‌ای بوده‌اند.

پایان نامه
Previous Entries منابع مقاله با موضوع مکانیابی، مزیت رقابتی، موسسات مالی، الگوریتم ژنتیک Next Entries منابع مقاله با موضوع مکانیابی، الگوریتم ژنتیک، برنامه ریزی آرمانی، تصمیم گیری چندمعیاره