تبلیغات
بانک اطلاعاتی مهندسی صنایع

  • مدیریت

با توجه به اینکه سایت های آپلود سنتر اکثرا ف ی ل ت ر  شده اند ، لذا عکس ها و بعضی از فایل های موجود دچار مشکل است ، با عرض پوزش از شما ، در اسرع وقت لینک ها را اصلاح خواهیم کرد.

-  چنانچه در دانلود مقالات ، جزوه ها و ... موجود با مشکلی مواجه شدید ، میتوانید از طریق فرم تماس با ما یا قسمت نظرات مربوط به همان مطلب ، درخواست لینک دانلود دیگر نمایید

الگوریتم های هیوریستیک (Heuristic) و انواع آن

 

عنوان مقاله : الگوریتم های هیوریستیک (Heuristic) و انواع آن

نویسنده : مجید امیدوار

گرد آوری و تنظیم : مانوئل ا.



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

برای مطالعه ی کامل این مقاله بروی ادامه مطلب کلیک نمایید ...



1- مقدمه

سیستم‌های پیچیده اجتماعی تعداد زیادی از مسائل دارای طبیعت تركیباتی1 را پیش روی ما قرار می‌دهند. مسیر كامیونهای حمل و نقل باید تعیین شود، انبارها یا نقاط فروش محصولات باید جایابی شوند، شبكه‌های ارتباطی باید طراحی شوند، كانتینرها باید بارگیری شوند، رابط‌های رادیویی می‌بایست دارای فركانس مناسب باشند، مواد اولیه چوب، فلز، شیشه و چرم باید به اندازه‌های لازم بریده شوند؛ از این دست مسائل بی‌شمارند. تئوری پیچیدگی به ما می گوید كه مسائل تركیباتی اغلب پلی‌نومیال2 نیستند.

این مسائل در اندازه‌های كاربردی و عملی خود به قدری بزرگ هستند كه نمی‌توان جواب بهینه آنها را در مدت زمان قابل پذیرش به دست آورد. با این وجود، این مسائل باید حل شوند و بنابراین چاره‌ای نیست كه به جوابهای زیر بهینه 3 بسنده نمود به گونه‌ای كه دارای كیفیت قابل پذیرش بوده و در مدت زمان قابل پذیرش به دست آیند.

چندین رویكرد برای طراحی جوابهای با كیفیت قابل پذیرش تحت محدودیت زمانی قابل پذیرش پیشنهاد شده است. الگوریتم‌هایی هستند كه می‌توانند یافتن جوابهای خوب در فاصله مشخصی از جواب بهینه را تضمین كنند كه به آنها الگوریتم‌های تقریبی می‌گویند. الگوریتم‌های دیگری هستند كه تضمین می‌دهند با احتمال بالا جواب نزدیك بهینه تولید كنند كه به آنها الگوریتم‌های احتمالی گفته می‌شود. جدای از این دو دسته، می‌توان الگوریتم‌هایی را پذیرفت كه هیچ تضمینی در ارائه جواب ندارند اما بر اساس شواهد و سوابق نتایج آنها، به طور متوسط بهترین تقابل كیفیت و زمان حل برای مسئله مورد بررسی را به همراه داشته‌اند. به این الگوریتم‌ها، الگوریتم‌های هیوریستیك گفته می‌شود.


 2- هیوریستیک‌ها

هیوریستیك‌ها عبارتند از معیارها، روشها یا اصولی برای تصمیم‌گیری بین چند گزینه خط‌مشی و انتخاب اثربخش‌ترین برای دستیابی به اهداف مورد نظر.

هیوریستیك‌ها نتیجه برقراری اعتدال بین دو نیاز هستند: نیاز به ساخت معیار‌های ساده و در همان زمان توانایی تمایز درست بین انتخاب‌های خوب و بد.


یك هیوریستیك می‌تواند حسابی سرانگشتی باشد كه برای هدایت یك دسته از اقدامات به كار می‌رود. برای مثال، یك روش مشهور برای انتخاب طالبی رسیده عبارتست از فشار دادن محل اتصال به ریشه از یك طالبی نامزد انتخاب و سپس بو كردن آن محل. اگر بوی آن محل مانند بوی داخل طالبی باشد آن طالبی به احتمال زیاد رسیده است. این قاعده سرانگشتی نه تضمین می‌كند كه تنها طالبی‌های رسیده به عنوان نامزد انتخاب شوند و نه تضمین می‌كند كه طالبی‌های رسیده آزمایش شده، رسیده تشخیص داده شوند اما به هر حال این روش، اثربخش‌ترین روش شناخته شده است.


به عنوان مثالی دیگر از استفاده هیوریستیك‌ها، یك استاد بزرگ شطرنج را در نظر بگیرید كه با انتخاب بین چندین حركت ممكن روبرو شده است. وی ممكن است تصمیم بگیرد كه یك حركت خاص، اثربخش‌ترین حركت خواهد بود زیرا موقعیتی فراهم می‌آورد كه «به نظر می‌رسد» بهتر از موقعیت‌های حاصل از حركت‌های دیگر باشد. به كارگیری معیار «به نظر می‌رسد» خیلی ساده‌تر از تعیین دقیق حركت یا حركاتی خواهد بود كه حریف را مجبور به مات كند. این واقعیت كه اساتید بزرگ شطرنج همواره پیروز بازی نخواهند بود نشان دهنده این است كه هیوریستیك‌های آنها انتخاب اثربخش‌ترین حركت را تضمین نمی‌كنند. نهایتا‏ً وقتی از آنها خواسته ‌می‌شود كه هیوریستیك خود را تشریح نمایند آنها فقط توصیفی ناقص از قواعدی ارائه می‌دهند و به نظر خود آنها، انجام آن قواعد از توصیف آنان ساده‌تر است.

خاصیت هیوریستیك‌های خوب این است كه ابزار ساده‌ای برای تشخیص خط‌مشی‌های بهتر ارائه دهند و در حالی كه به صورت شرطی لازم، تشخیص خط‌مشی‌های اثربخش را تضمین نمی‌كنند اما اغلب به صورت شرط كافی این تضمین را فراهم ‌آورند. بیشتر مسائل پیچیده نیازمند ارزیابی تعداد انبوهی از حالت‌های ممكن برای تعیین یك جواب دقیق می‌باشند. زمان لازم برای یافتن یك جواب دقیق اغلب بیشتر از یك طول عمر است. هیوریستیك‌ها با استفاده از روش‌های نیازمند ارزیابی‌های كمتر و ارائه جوابهایی در محدودیت‌های زمانی قابل قبول دارای نقشی اثربخش در حل چنین مسائل خواهند بود (پیرل4  1984، 1-10).


3- انواع الگوریتم‌های هیوریستیك

در حالت كلی سه دسته از الگوریتم‌های هیوریستیك قابل تشخیص است:

(1) الگوریتم‌هایی كه بر ویژگی‌های ساختاری مسئله و ساختار جواب متمركز می‌شوند و با استفاده از آنها الگوریتم‌های سازنده یا جستجوی محلی تعریف می‌كنند.

(2) الگوریتم‌هایی كه بر هدایت هیوریستیك یك الگوریتم سازنده یا جستجوی محلی متمركز می‌شوند به گونه‌ای كه آن الگوریتم بتواند بر شرایط حساس (مانند فرار از بهینه محلی) غلبه كند. به این الگوریتم‌ها، متاهیوریستیك گفته می‌شود.

(3)الگوریتم‌هایی كه بر تركیب یك چارچوب یا مفهوم هیوریستیك با گونه‌هایی از برنامه‌ریزی ریاضی (معمولاً روشهای دقیق) متمركز می‌شوند.

هیوریستیك‌های نوع اول می‌توانند خیلی خوب عمل كنند (گاهی اوقات تا حد بهینگی) اما می‌توانند در جواب‌های دارای كیفیت پایین گیر كنند. همان طور كه اشاره شد یكی از مشكلات مهم این الگوریتم‌ها با آن روبرو می‌شوند افتادن در بهینه‌های محلی است بدون اینكه هیچ شانسی برای فرار از آنها داشته باشند. برای بهبود این الگوریتم‌ها از اواسط دهه هفتاد، موج تازه‌ای از رویكردها آغاز گردید. این رویكردها شامل الگوریتم‌هایی است كه صریحاً یا به صورت ضمنی تقابل بین ایجاد تنوع  جستجو  (وقتی علائمی وجود دارد كه جستجو به سمت مناطق بد فضای جستجو می‌رود) و تشدید  جستجو (با این هدف كه بهترین جواب در منطقه مورد بررسی را پیدا كند) را مدیریت می‌كنند.

این الگوریتم‌ها متاهیوریستیك نامیده می‌شوند. از بین این الگوریتم‌ها می‌توان به موارد زیر اشاره كرد:

بازپخت شبیه‌سازی شده 5
جستجوی ممنوع 6
الگوریتم‌های ژنتیك 7 
شبكه‌های عصبی مصنوعی 8
بهینه‌سازی مورچه‌ای یا الگوریتم‌های مورچه 9 



مراجع

--------------------------------------------------------------------------------

Pearl, J. 1984. Heuristic: Intelligent search strategies for computer problem solving New York: Addison-Wesley Publishing Company.

پی‌نوشت‌ها

--------------------------------------------------------------------------------

1. Combinatorial

2. Polynomial

3. suboptimal

4. Pearl

5. Simulated Annealing(SA)

6. Tabu Search(TS)

7. Genetic Algorithms(GA)

8. Neural Networks

9. Ant Colony Optimization(ACO

مقالات مرتبط :
- بررسی روش دلفی ( Delphi Technique ) برای تصمیم گیری
- شبکه های عصبی و الگوریتم های ژنتیک در تجارت