ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
تاریخچه هوش مصنوعی 66 صفحه فایل doc
01-29-2018, 09:48 AM
ارسال: #2
RE: تاریخچه هوش مصنوعی 66 صفحه فایل doc
فصل سوم
كاربردهاي هوش جمعي
3-1 مقدمه اي بر بهينه سازي

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

3-2 الگوريتم بهينه سازي كلوني مورچه ها
مقدمه

با وجود آنكه فقط 2 درصد از گونه حشرات داراي زندگي اجتماعي هستند ، اما بيش از 50 درصد توده زيستي حشرات را تشكيل مي دهند. اين ميزان در برخي جاها ، مانند جنگل هاي باراني آمازون به بيش از 75 درصد مي رسد.منظور از زندگي اجتماعي ، تجمع تعداد زيادي از يك گونه خاص در الب يك مجموعه يا كلوني و تعامل آنها با همديگر است.همه مورچه ها و موريانه ها و همچنين برخي از گونه هاي زنبورها در قالب كلوني زندگي مي كنند. اجتماع حشرات مي توانند مسائلي را با همكاري يكديگر حل و فصل نمايند كه هيچ يك از اعضاي آن اجتماع به تنهايي قادر به حل آنهانمي باشند.اكثر اين مسائل به صورت مسائل بهينه سازي قابل بيان هستند. به عنوان مثال تلاش حشرات براي يافتن كوتاه ترين مسير در هنگام جستجو براي غذا ، تخصيص مناسب نيروهاي كاري براي انجام كارهاي مختلف ، و همچنين طبقه بندي محل هاي حاوي تخم ها و نوزادان ، از جمله مسائل بهينه سازي هستندكه حشرات اجتماعي با همكاري يكديگر آنها را حل مي كنند . هر تلاشي كه براي حل يك مساله بهينه سازي مي شود، باعث به وجود آمدن اطلاعاتي در مورد آن مساله مي گردد. به منظور همكاري براي حل يك مساله بهينه سازي ، وجود داشتن مسيري براي انتقال اطلاعات بين اعضاي جامعه ، ضروري است. به اين ترتيب در هر اجتماع از حشرات، نوع خاصي از ارتباط بين حشرات وجود دارد. اين ارتباط در گونه هاي مختلف مي تواند به صورت مستقيم يا غير مستقيم در ميان حشرات برقرار باشد.به عنوان مثال هنگامي كه يك زنبور عسل يك منبع غذايي جديد پيدا مي كند،با اجراي يك رقص ويژه جهت و فاصله محل منبع غذايي را به ساير زنبورها اطلاع مي دهد . اين يك ارتباط مستقيم است.به نحوي كه براي آنكه زنبوري از پيام مورد نظر اطلاع يابد،مي بايست رقص زنبور را مستقيما مشاهده و آن را تعبير و تفسير كند. ارتباط و تماس فيزيكي نوع ديگري از ارتباط هاي مستقيم ميان حشرات اجتماعي است.
ارتباط غير مستقيم نياز به مهارت بيشتري دارد. د اين نوع ارتباط حشره مي بايست محيط اطراف را به نحوي تغيير دهد كه ساير هم نوعانش از تغيير محيط آگاه شوند و پيام مورد نظر حشره را دريافت كنند .

الگوريتم بهينه سازي كلوني مورچه ها
الگوريتم بهينه سازي كلوني مورچه ها ، و يا به اختصار الگوريتم مورچه ها ،از رفتار مورچه هاي طبيعي كه در مجموعه هاي بزرگ در كنار هم زندگي مي كنند الهام گرفته شده است. الگوريتم هاي ديگري نيز بر اين اساس ساخته شده اندكه همگي سيستم هاي چند عاملي هستند و عامل هاي مورچه هاي مصنوعي يا به اختصار مورچه هايي هستند كه مشابه با مورچه هاي واقعي رفتار مي كنند . الگوريتم مورچه ها، يك مثال بارز از هوش جمعي هستند كه در آن عامل هايي كه ابليت چندان بالايي ندارند، در كنار هم و با همكاري يكديگر مي توانند نتايج بسيار خوبي به دست بياورند. اگر تا کنون به پیک نیک رفته باشید بدون شک با مورچه برخورد داشته اید یک مورچه تنها توجه شما را به خود جلب نمی کند بلکه رفتار جمعی مورچه ها که در یک خط قرار گرفته اند و تکه های غذای شما را با خود حمل میکنند نظر شما را به خود جلب کرده است. مورچه ها حشراتی اجتماعی محسوب می شوند. یک مورچه به تنهایی هوشمند نیست ولی وقتی آنها جزئی از یک کلونی باشند، رفتار گروهی پیچیده ای از برخورد بین هر یک از مورچه ها که هر یک رفتار ساده ای نشان میدهند دیده خواهد شد.مورچه ها يك مجموعه ، خود- ترتيب هستند و رفتارهاي پيچيده كل مجموعه صرفا ناشي از رفتارهاي ساده اي است كه تك تك مورجه ها به صورت خود-ترتيب انجام مي دهند.اين خواص جمعي و فردي به نحوي هستند كه بر روي مسائل مختلف كارايي مناسبي دارند. به خصوص، هنگامي كه در يك بازه زماني خاص، برخي از مورچه ها عملكرد مناسبي نداشته باشند ، با اين وجود عملكرد كلي مجموعه مناسب خواهد بود.
همانطور كه گفتيم ، این پدیده مشخصه تمام هوشمند های گروهی مانند زنبور عسل، پرندگان، ماهی ها و کرم پروانه است که نوع دیگری از هوش گروهی محسوب می شود که در آن چیزی که ایجاد می شود بزرگتر از مجموع اجزاء آن است. یکی از رفتارهای پیچیده، قابلیت مشخص کردن کوتاه ترین مسیر بین دو نقطه است. مورچه ها باید لانه هایشان را برای پیدا کردن غذا ترک کنند ولی کلونی نمیداند که غذا در کجا قرار دارد. هر مورچه به تنهایی و از روی شانس برای جهتی که باید حرکت کند تصمیم گیری میکند. احتمال اینکه مورچه ها از یک مسیر بروند کاملا با احتمال اینکه از مسیر دیگری حرکت کنند برابر است. به محض اینکه مورچه غذا پیدا کند تعدادی از آنها را به لانه می برد . وقتی مورچه ها حرکت میکنند یک ماده شیمیایی به نام فرومون را از خود به جای می گذارند، که مورچه های دیگر می توانند آن را بو کنند و تشخیص دهند که یک مورچه قبلا در آن مسیر بوده است. مورچه هایی که نزدیک ترین منبع غذا را پیدا کنند می توانند فرومون بیشتری از خود به جای بگذارند زیرا زمان طی مسیر آنها کمتر از بقیه است. در نهایت وقتی بقیه مورچه ها به لانه بر می گردند بر اساس مقدار فرومونی که بو می کنند تصمیم می گیرند از کدام مسیر بروند. هر چه سطح فرومون بیشتر باشد احتمال اینکه مورچه از آن مسیر برود بیشتر است. هر چه تعداد مورچه هایی که کوتاه ترین مسیر را میدانند بیشتر باشد سطح فرومون افزایش می یابد تا هنگامی که تمام مورچه ها از همان مسیر حرکت کنند .
رفتار طبیعی این مورچه ها به شکل الگوریتم مورچه برنامه ریزی شده است که از آن برای پیدا کردن کوتاه ترین مسیر در گراف ها استفاده می کنیم. چون بیشتر مسائل را میتوان به شکل گراف در اورد، پیدا کردن کوتاه ترین مسیر در گراف معمولا ساده ترین و سریع ترین راه حل برای مسئله است. هر مورچه توسط یک عامل در برنامه نشان داده می شود که به تنهایی دارای تواناییهای کمی مانند حس کردن، پخش کردن فرمون و حافظه است. بنابراین به دلیل حافظه هر عامل میتواند مسیرش را در گراف به عقب دنبال کند تا طول مسیر را مشخص کند وقتی که یک عامل فرمون عامل دیگر را احساس کند برای انتخاب مسیر رایج طی شده توسط دیگران فیدبک مثبت دریافت میکند. فیدبک مثبت اتوکاتالیزر (Autocatalysis) را تحریک می کند که بدین معنا است که فیدبک مثبت کوچکتر منجر به فیدبک مثبت بیشتر میشود و این حالت همچنان ادامه دارد. چند شرط برای اینکه عامل ها بتوانند با موفقیت در هر نوع گرافی جهت یابی کنند وجود دارد که باید در نطر گرفته شود. فرمون باید پریود تبخیر داشته باشد زیرا این حالت به عامل ها اجازه می دهد که در حالت اول تقارب پیدا کنند. اگر فرومون تبخیر نشود عامل ها همیشه از بین چند مسیر که به مقدار مساوی رایج هستند انتخاب کنند وقتی که عامل ها بر روی یک مسیر همگرا شوند کمتر و کمتر تحت تاثیر مسیر های دیگر قرار میگیرند مخصوصا اگر دیگر عاملی وجود نداشته باشد که در دیگر مسیر ها حرکت کند.
مشکل ظریف دیگری نیز وجود دارد که هنگامی پیش می اید که عامل ها قبل از پیدا کردن کوتاه ترین مسیر روی مسیر های نیمه بهینه (Sub Optimum) همگرا شوند. در مثال مورچه ها ممکن است منبع غذای دیگر وجود داشته باشد که نزدیک تر به لانه باشد ولی قبل از اینکه کلونی روی منبع غذای دیگری همگرا شود پیدا نشده باشد. این مشکل توسط این واقعیت که در تصمیم گیری مورچه ها یا عامل ها ثابت نیستند رفع میشود. این امکان همیشه وجود دارد که راهی غیر از راه رایج انتخاب شود، بنابراین راه های دیگر را جستجو کنند. ایجاد راه های دیگر هنگامی که بحث استفاده ار الگوریتم مورچه برای حل مسائلی غیر از پیدا کردن کوتاه ترین مسیر پیش میاید اهمیت زیادی دارد.

خواص عمومي كلوني مورچه ها
- اگر چه هر كدام از مورچه ها به حد كافي براي يافتن يك راه حل براي مساله ، پيچيده هستند و احتمالا راه حل خوبي نيز پيدا خواهند نمود ، اما راه حل هايي كه داراي كيفيت مطلوب باشند ، صرفا از طريق همكاري و تعامل بين مورچه ها قابل دسترسي است.
- هر مورجه صرفا از اطلاعات فردي خود ويا از اطلاعات محلي راس يا گرهي كه در آن قرار دارد بهره مي برد.
- مورچه ها به صورت غير مستقيم با يكديگر در ارتباط هستند . اين ارتباط از طريق تغييراتي است كه آنها در مقادير فرومون مسير هاي مختلف ايجاد مي كنند.
- يك مورچه ، به دنبال راه حلي مي گردد كه كمترين هذينه را در بر داشته باشد.
- مورچه ي kام داراي يك حافظه شخصي به نام M است كه مسيري را كه مورچه طي كرده است در آن ذخيره مي شود. حافظه مي تواند براي (1) ايجاد راه حل هاي مجاز و شدني ، (2) ارزيابي راه حل هاي يافته شده و (3) بازگشت مسير به صورت معكوس، استفاده مي شود.
- مورچه kام از يك حالت اوليه S0 شروع به كار مي كند.
- مورچه ها توان ديدن و شنيدن را ندارند و فقط از حس بويايي استفاده مي كنند .
- مورچه ها صدا نيز ندارند .

الگوريتم مورچه براي مسئله فروشنده دوره گرد: (TSP)
مسئله فروشنده داره گرد احتمالا معروف ترین مسئله کامل NP است. فروشنده دوره گرد باید از شهر ها عبور کند تا فروش داشته باشد ولی برای کم کردن هزینه های سفر مرد فروشنده تنها می تواند از هر شهر یک بار عبور کند. این مسئله به عنوان مدار همیلتون نیز شناخته می شود. فروشنده دوره گرد همچنین می خواهد در زمان صرفه جویی کند بنابراین باید کوتاه ترین مسیر پیدا شود که تنها یک بار از هر شهر بگذرد که این حالت مدار بهینه همیلتونین را به وجود میاورد.
الگوريتم مورچه ها ، مساله فروشنده دوره گرد را به صورت مرحله به مرحله و تكراري حل مي كند.در هر تكرار مورچه ها از هر شهر به شهرهاي ملاقات نشده حركت مي كنند تا آنكه همه ي شهرها را پشت سر بگذارند.مورچه ها با توجه به يك قانون احتمالاتي معين ، مقصد بعدي را براي حركتشان تعيين مي كنند. براي اين كار از اطلاعات فروموني و اطلاعات ذهني بهره مي گيرند.
این مسئله را میتوان به سادگی در یک گراف نشان داد که در آن گره ها شهر ها هستند و لبه ها (Edges) راه ها و مسیر های بین شهر ها هستند . چون میتوان این مسئله را به شکل گراف نشان داد میتوان از عامل های مورچه برای حل آن استفاده کرد. عامل ها برای مسئله TSP به نحو نسبتا متفاوتی از مسئله پیدا کردن کوتاه ترین مسیر عمل میکند.
باز هم عامل ها نیاز دارند که بتوانند هرومون منتشر کنند و آن را احساس کنند و دارای حافظه باشند که بتوانند در جهت عقب (Backward) در گراف حرکت کنند. هر عامل از یک شهر اولیه تصادفی شروع به حرکت می کند و گراف را در مدار همیلتون طی می کند. با وجود این، عامل به طور پیوسته فرمون به جا نمی گذارد زیرا عامل ارزش مسیری را که طی می کند را تا هنگام به پایان رساندن آن نمی داند و نمی خواهد که عامل های دیگر را منحرف کند. وقتی که یک عامل یک مسیر را تمام می کند در همام مسیر به عقب بر می گردد و گام ها یا طول لبه ها را بر مبنای اینکه طول مسیر چگونه محاسبه می شود حساب می کند. پس وقتی اندازه مسیر مشخص شد فرومون به مسیر اضافه می شود، هر چه مسیر کوتاه تر باشد سطح فرومون بالاتر می رود. این نحو استفاده از سطح فرومون متغییر برای جلوگیری از همگرایی زود هنگام به عنوان سیستم مورچه مینیمم ماکزیمم (MIN-MAX) شناخته می شود.در حین اجرای الگوریتم عامل ها بر روی مسیری که به عنوان کوتاه ترین مسیر تشخیص داده شده همگرا میشوند. با این وجود تضمینی وجود ندارد که اولین مسیری که عامل ها روی آن همگرا می شوند کوتاه ترین مسیر باشد. بنابراین ذخیره کردن مسیر های فرعی اهمیت زیادی دارد. در حین همگرایی جمعیت عامل ها هنوز این شانس را دارند که مسیر های دیگر را بررسی کنند و ممکن است یک عامل منحرف شده و سرگردان مسیر کوتاه تری را پیدا کند و بنابراین سطح فرومون آن مسیر را به گونه ای تنظیم کند که عاملهای بیشتر و بیشتری را جذب کند.
این الگوریتم بسیار پایدار است زیرا در انجام عملیات از عامل های Rouge کمی استفاده می کند. در حقیقت عامل های Rouge آنهایی هستند که معمولا مسیر فرعی بهینه را پیدا می کنند. الگوریتم نیاز به زمان زیادی برای محاسبات دارد تا روی یک مسیر بهینه همگرا شود که این حالت برای تمام الگوریتم هایی که برای مسئله TSP امتحان شده و پاسخ داده اند وجود دارد. با این حال روش الگوریتم مورچه به اندازه بقیه تفکیک ها به توان محاسباتی نیاز ندارد بنابراین از منابع کمتری استفاده میکند و باز هم میتواند سریع تر از بقیه الگوریتم ها مسئله را حل کند. پس از بررسی شکل (2) واضح است که استفاده از عامل ها باعث ایجاد راه حل های سریع تر و بهینه تری برای مسئله می شود. به طور قطع سوالات زیادی وجود دارد که هنوز باید در رابطه با روش مورچه بررسی شود این سوالات ممکن است کارایی الگوریتم را تحت تاثیر قرار دهد.
بعضی از سوالاتی که مطرح میشوند عبارتند از: فرومون باید در چه حد قوی باشد؟ سطح فرومون با احتمال اینکه مورچه مسیر مشخصی را انتخاب کند چه رابطه ای دارد؟ یک مورچه چند بار برای جستجوی هدف از لانه خارج میشود؟ چه تعداد مورچه لازم است تا یک مسیر مشخص مسیری جذاب برای عموم شود؟ ایا سطح اولیه فرومون در یک مسیر مشخص روی رفتار مورچه تاثیر میگذارد؟
این متغییر ها معمولا در هر بار پیاده سازی الگوریتم مورچه متفاوت اند و بنابراین باید تنظیمات بهینه استانداردی برای هر یک از متغییر ها وجود داشته باشند.معمولا وقتی یک الگوریتم را بتوان برای حل مسائل پیچیده ای مانند مسئله فروشنده دوره گرد استفاده کرد می توان آن را به غیر از دنیای فروشندگان دوره گرد در شرایط مشخص دیگری به کار برد.

کاربردهای الگوريتم های مورچه:
يكي از كاربردهاي اوليه الگوريتم مورچه ها ، حل مساله ي فروشنده ي دوره گرداست. در همه الگوريتم هاي مورچه ، فرض بر اين است كه مورچه ها بر روي يك گراف در حال حركت هستند.لذا استفاده از مساله فروشنده دوره گرد،براي به تصوير كشيدن قابليت ها وويژگي هاي الگوريتم هاي مورچه ، يك انتخاب كاملا منطقي است . الگوريتم مرچه ها ، براي مساله فروشنده دوره گردجواب هاي مناسبي به دست آورده است. يكي ديگر از مسائل قابل حل با استفاده از الگوريتم مورجه ها ، مساله تخصيص درجه دو يا QAP است ، كه از مسائل مهم در زمينه بهينه سازي تركيبي و تحقيق در عمليات است . اين مساله از دسته ي مسائل مكان يابي تاسيسات است كه كاربردهاي فراواني در مهندسي صنايع ، مديريت شهري، شهرسازي ، مديريت منابع و مديريت محيط زيست دارند. مساله ديگري كه ميتوان با الگوريتم مورچه آن را حل كرد ، مساله مسير يابي خودرويا VPR مي باشد كه شباهت هايي به مسالهTSP دارد.

- مسیر یابی خودرو:
مسیر یابی خودرو شبیه مسئله TSP است که در آن هر کارمند برای سرویس دهی به یک مشتری باید به سمت او برود. برای حداقل کردن هزینه و زمان لازم است که از مدار همیلتون (Hamiltonian) بهینه ای مشابه با مسئله TSP استفاده کنیم. یک مسائل کاربردی از این موضوع رساندن روزنامه ها است که در آن ماشین های حمل روزنامه نیاز به مسیری دارند که بتوانند هر یک از مشتری ها را ملاقات کنند و به هرکدام یک روزنامه برسانند و سپس در انتهای مسیرشان به محل چاپ روزنامه برسند. همچنین الگوریتم مورچه دارای پتانسیل به کارگیری در حوزه شبکه برای حل مسائله مسیریابی است. بسته های داده که در شبکه حرکت می کنند را می توان در گرافی که گره ها در آن نماینده گره های شبکه و لبه ها (Edges) گراف بیان گر ارتباط های فیزیکی شبکه هستند نشان داد. با وجود اینکه این مسئله شبیه به مسئله TSP است ولی تفاوت های مهمی وجود دارد یکی از این تفاوت ها این است که به جای اینکه هر یک از مورچه ها کل شبکه را طی کنند به هر مورچه نقطه شروع و نقطه مقصد داده می شود. همچنین لبه ها نمی توانند برای هزینه هایشان مقادیر استاتیک داشته باشند زیرا لبه ها ممکن است در هر یک از زمان ها ترافیک اضافه ای داشته باشند.

- الگوریتم S-ANTNET
در S-ANTNET هر مورچه برای پیدا کردن راهی با حداقل هزینه بین هر زوج گره از شبکه جستجو میکند. برای شبیه سازی ترافیک به شکل واقعی، مورچه ها با استفاده از "صف های لینک" مشابهی که برای داده استفاده میشوند منتشر می شوند چون هر مورچه دارای نقطه آغاز و مقصد است S-ANNET تضمین می کند که می تواند کوتاه ترین مسیر بین نقطه آغازی و مقصد را پیدا کند و تعداد کافی مورچه همراه با واریانس (پراکندگی) کافی در نقاط آغاز و مقصد وجود دارد، در نهایت مورچه ها کوتاه ترین مسیر را بین هر نقطه آغاز و مقصد پیدا خواهند کرد و بنابراین نقشه ای برای بسته های داده فراهم می کنند تا با پیروی از آن در شبکه به کارکرد بهینه دست پیدا کنند.
با این وجود فرض کنید که مورچه ها واقعا داده را حمل میکنند، مانند غذای شما که در پیک نیک حمل میکنند. اگر این حالت برقرار شود در این صورت به جای تهیه نقشه مورچه ها به عنوان عامل های بسته های داده تبدیل می شوند. علاوه بر این اگر گره ای در شبکه غیر قابل دسترس شود و یا ترافیک سنگین باشد ماهیت الگوریتم مورچه اجازه می دهد تا هنگام پیدا کردن مسیر بهینه مسیر های فرعی ذخیره شوند. بنابراین احتیاجی نیست که شبکه مجددا از اول نقشه کشی شود. توانایی تبدیل مسئله به گراف یک ابزار قوی برای توسعه راه حل های مبتنی بر الگوریتم مورچه است ولی این تنها راه حل برای حل آنها نیست. ما در رابطه با اینکه چگونه مورچه ها به طور ذاتی می توانند کوتاه ترین مسیر بین دو نقطه را پیدا کنند صحبت کردیم. تا اینجا تنها از این ویژگی در حوزه گراف ها استفاده کردیم ولی حل کردن مسئله برای پیدا کردن کوتاه ترین مسیر کلیدی برای حل مسئله برای مسیر بهینه در هزار تو های چند مسیره است.

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

- مسیر یابی در شبكه هاي مخابراتي
استفاده از هوش گروهی در شبکه های مخابراتی نیز به شکل مسیر یابی بر پایه مورچه مورد تحقیق قرار گرفته است. این روش به صورت مستقل توسط دوریگو و گروهش و هولت پکارد در اواسط دهه 1990 مطرح شد و پس از آن چندین تفسیر در آن صورت گرفت.
در حالت کلی در این روش از یک جدول مسیر یابی احتمالی همراه با تشویق و تقویت مسیر هایی که به صورت موفقیت امیزی توسط هر مورچه طی شده عمل می کند. تقویت مسیر ها در جهت جلوسو (Forward) و عقب سو (Backward) در هر دو حالت به طور همزمان مورد بررسی قرار گرفته است. تقویت عقب سو نیازمند شبکه ای متقارن است و دو جهت را با یکدیگر تزویج می کند. تقویت جلوسو قبل از مشخص شدن خروجی مسیر را تقویت می کند. این حالت مانند این است که شما قبل از اینکه بدانید فیلم خوب است یا نه برای سینما پول پرداخت کرده اید. به دلیل اینکه سیستم تصادفی عمل می کند و بنابراین تکرار پذیری ندارد مانع های بزرگی برای پیاده سازی تجاری وجود دارد. رسانه موبایل و تکنولوژی های جدید دارای این پتانسیل هستند که آستانه عملیات گروهی را به علت هوش گروهی تغییر دهند.

3-3 الگوريتم بهينه سازي زنبور
مقدمه
وپروردگارت به زنبور عسل وحي كرد: در كوهها و درختها و از داربستهاي انگور براي خودت لانه بساز.پس از تمام ميوه هاي خدا داده تناول كن و راههاي پروردگارت كه همواره پديدار فرموده بپيما. به واقع در اين پديده براي كساني كه به تفكر قيام كرده اند نشانه هايي است.(سوره نحل آيات 68 و 69)
الگوريتم زنبور شامل گروهي مبتني بر الگوريتم جستجو است كه اولين بار در سال 2005 توسعه يافت؛ اين الگوريتم شبيه ساز ي رفتار جستجوي غذاي گروههاي زنبور عسل است، در نسخه ابتدايي اين الگوريتم ، الگوريتم نوعي از جستجوي محلي انجام مي دهد كه با جستجوي تصادفي تركيب شده و مي تواند براي بهينه سازي تركيبي يا بهينه سازي تابعي به كار رود.
از زمان شروع زندگي زنبورها يا بهتر است بگوييم از زمان شروع زندگي حشرات اجتماعي ، احتمال رخدادي است كه در آن زنبور به پرواز در طول همان مسير بدون گرفتن همراه ادامه دهد ، احتمال بسيار كمي است . زنبورها تا محل رقص پرواز مي كنند و با احتمالي برابر مي رقصند . اين نوع ارتباط بين زنبورها منجر به ساخته شدن فاكتوري به نام هوش جمعي شده است .

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

الگوريتم زنبور
الگوريتم زنبور هر نقطه را در فضاي پارامتري متشكل از پاسخ هاي ممكن به عنوان منبع غذا تحت بررسي قرار مي دهد . زنبور هاي ديده بان كارگزاران شبيه سازي شده به صورت تصادفي فضاي پاسخ ها را ساده مي كنند و به وسيله تابع شايستگي كيفيت موقعيت هاي بازديد شده را گزارش مي دهند. جوابهاي ساده شده رتبه بندي مي شوند، و ديگر زنبورها نيرو هاي تازه اي هستند كه فضاي پاسخ ها را در پيرامون خود براي يافتن بالاترين رتبه محل ها جستجو مي كنند كه گلزار ناميده مي شود . الگوريتم به صورت گزينشي ، ديگر گلزارها را براي يافتن نقطه بيشينه تابع شايستگي جستجو مي كند.

بهينه سازي كلوني زنبورها
سيستم هاي طبيعي مختلف به ما ياد مي دهند كه ارگانيسم هاي خارجي بسيار ساده اي توان توليد سيستم هايي با قابليت انجام كارهاي بسيار پيچيده به كمك بر هم كنش هاي پويا را دارند. كلوني مصنوعي زنبورها در پاره اي نزديك به هم و در مقايسه با كلوني زنبورهاي طبيعي ، متفاوت عمل مي كنند.الگوريتم كلوني مورچه ها به همان ميزان كه قابليت حل مسائل تركيبي قطعي را دارند ، قادر به حل مسائل تركيبي است كه داراي عدم قطعيت نيز مي باشند.
توسعه الگوريتم كشف كننده جديد براي حل مساله Ride-matching به كمك راه پيشنهاد شده ( استفاده از كلوني زنبورها ) راهي روشنگر براي نشان دادن قابليت هاي اين روش محسوب مي شود.
سيستم سازماني زنبورها بر اساس يك سري قوائد ساده ي خارجي حشرات بنا شده است . با اينكه نژادهاي بسياري از حشرات مختلف بر روي كره زمين موجود هستند و همين باعث تفاوتهايي در الگوي رفتاري آنها مي شود،ولي با اين حال اين سري از حشرات اجتماعي را مي توان داراي قابليت حل مسائل پيچيده دانست . بهترين مثال براي اين حالت روند توليد نكتار محسوب مي شود . هر زنبور ترجيح مي دهد كه راه قبلي زنبور هم كندوي خود را دنبال كند تا خود به دنبال گل جديد بگردد . هر كندوي زنبور عسل داراي مكاني معروف به سالن رقص است كه در آنجا زنبورها با انجام حركتي خاص ، هم كندوييهاي خود را راضي مي كنند تا راه آنها را براي رسيدن به گلها بر گزينند . اگر يك زنبور تصميم بگيرد كه به دنبال نكتار برود ، با انتخاب زنبور هم كندوي رقاص خود ، راه قبلي را دنبال مي كند تا :
الف : منبع غذا را رها كند و دوباره به دنبال زنبور رقصاني بگردد تا بتواند منبعي جديد پيدا كند .
ب : خود به دنبال منابع غذايي جديد بگردد .
ج : در كندو اقدام به رقصيدن كرده و زنبورهاي جديدي را به دنبال خود بكشانند .
بر اساس احتمالات اندازه گيري شده ، زنبور اقدام به يكي از حالات بالايي مي كند . در مكان رقص ، زنبورها اقدام به پيشنهاد مكانهاي مربوط به جمع آوري نكتار به ديگران مي كنند . مكانيزم انتخاب يك زنبور توسط زنبوري ديگر هنوز شناخته شده نيست ولي تا به امروز روشن شده است كه اين امر بيشتر مربوط به كيفيت نكتار پيدا شده توسط زنبور رقاص است .
لوسيچو تدروويچ اولين كساني بودند كه از رويه هاي پايه و ساده زنبوري براي حل كردن مسائل تركيبي بهينه سازي استفاده كردند . آنها سيستم زنبوري (BS) را معرفي كردند و از آن براي حل مساله معروف Travelling Salesman استفادهكردند . در الگوريتم بهينه سازي زنبور عسل ماّمورهايي كه ما به آنها زنبور مصنوعي مي گوييم با همديگر اجتماع مي كنند تا بتوانند قادر به حل مسائل مشكلتر باشند . تمامي زنبور هاي مصنوعي در ابتداي فرآيند جستجو ، در كندوي اصلي قرار دارند. در فرآيند جستجو نيز زنبور هاي مصنوعي به طور كاملا مستقيم با يكديگر ارتباط برقرار مي كنند . هر زنبور مصنوعي يك سري حركات محلي خاص انجام داده و به كمك آنها قادر خواهد بود تا راه حلي را براي مشكل فعلي خود پيدا كند .
اين زنبورها تك تك راه حلهاي كمكي و زير پايه ايي را ارائه مي دهند تا در آخر با ادغام اين راه حل ها ، راه حل اصلي براي حل مساله تركيبي به دست بيايد . روند جستجو از تكرارهاي پشت سر هم تشكيل شده است . اولين تكرار زماني پايان مي يابد كه اولين زنبور را حل اصلي براي حل مساله تركيبي به دست بيايد . روند جستجو از تكرار هاي پشت سر هم تشكيل شده است . اولين تكرار زماني پايان مي يابد كه اولين زنبور راه حل زير پايه خود را براي حل مساله اصلي ارائه دهد . بهترين راه حل زير پايه در خلال اولين تكرار انتخاب شده و پس از آن ، تكرار دوم شروع خواهد شد . در تكرار دوم ، زنبور هاي مصنوعي شروع به پيدا كردن راه حلي جديد براي مساله زير پايه مي كنند . در پايان هر تكرار حد اقل يك و يا چند راه حل ارائه شده وجود دارد ، كه آناليست مقدار همگي آنها را مشخص مي كنند . به هنگام حركت در فضا ، زنبور هاي مصنوعي ما يكي از دو حركت ؛ حركت به سمت جلو و يا حركت به سمت عقب را انجام مي دهند .به هنگام حركت به سمت جلو زنبورها راه و روش هاي جديدي را براي حل مساله پيدا مي كنند . آنها اين كار را به كمك يك سري جستجوهاي شخصي و اطلاعات بدست آمده ي گذشته انجام مي دهند . بعد از آن زنبورها عمل حركت به سمت عقب را انجام مي دهند كه همان ، برگشتن به كندوي اصلي است . در كندو همگي زنبورها در يك فرآيند تصميم گيري شركت مي كنند . ما در نظر مي گيريم كه هر زنبور ي قابليت درك و دريافت اطلاعات زنبورهاي ديگر را بر اساس كيفيت دارد . به كمك اين روش ، زنبور ها اين قابليت را دارند كه با استفاده از اطلاعات ديگران ، راههاي بهتر حل مساله را پيدا كنند . بر اساس اطلاعات جديدي كه در مورد كيفيت راه حل به دست مي آيد ، زنبور مي تواند تصميم بگيرد كه :
الف : منبع راه حل خود را رها كرده و در سالن رقص به دنبال كسي بگردد كه منبعي با كيفيت بيشتر در اختيار دارد .


==================================================
طراحی وب سایت
پروژه های برنامه نویسی تجاری
دانلود پروژه های ASP.NET وب سایتهای آماده به همراه توضیحات
دانلود پروژه های سی شارپ و پایگاه داده SQL Server همراه توضیحات و مستندات
دانلود پروژه های UML نمودار Usecase نمودار class نمودرا activity نمودار state chart نمودار DFD و . . .
دانلود پروژه های حرفه ای پایگاه داده SQL Server به همراه مستندات و توضیحات
پروژه های حرفه ای پایگاه داده Microsoft access به همراه مستندات و توضیحات
دانلود پروژه های کارآفرینی
دانلود گزارشهای کارآموزی کارورزی تمامی رشته های دانشگاهی
قالب تمپلیت های آماده وب سایت ASP.NET به همراه Master page و دیتابیس
برنامه های ایجاد گالری عکس آنلاین با ASP.NET و JQuery و اسلایدشو به همراه کد و دیتابیس SQL کاملا Open Source واکنشگرا و ساده به همراه پایگاه داده
==================================================
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


پیام‌های داخل این موضوع
RE: تاریخچه هوش مصنوعی 66 صفحه فایل doc - ali - 01-29-2018 09:48 AM

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان