هوش مصنوعی ازدحامی (Swarm Intelligence) چیست؟
هوش ازدحامی (Swarm Intelligence)، زمینه‌ای از هوش محاسباتی (Computational Intelligence – CI) است که برای ساخت و توسعه سیستم‌های هوشمند چند عاملی الهام گرفته از طبیعت، استفاده می‌شود. در پیاده‌سازی هوش ازدحامی از رفتار تجمعی عامل‌های طبیعی مثل پرندگان، ماهی‌ها، مورچه‌ها و زنبورها الگوبرداری می‌شود. آمارها نشان می‌دهند که این الگوریتم‌ها در حل مسائل جهان واقعی کارایی بهتری نسبت به نمونه‌های ثابت دارند. از جمله مسائلی که با استفاده از الگوریتم‌های هوش ازدحامی قابل حل هستند باید به خوشه‌بندی، نگاشت سیاره‌ای، کنترل نانو ربات‌ها و گستره‌ای از مسائل داده‌کاوی مانند انتخاب ویژگی و دسته‌بندی اشاره کرد. مواردی که اشاره شد تنها برخی از کاربردهای قدرتمند هوش ازدحامی هستند. این روش کارآمدتر از زمانی است که الگوریتم‌های ایستایی برای حل مشکلات طراحی می‌شوند.

ثبثبثب.gif

هوش ازدحامی را می‌توان به صورت مجموعه‌ای سازمان یافته از عامل‌ها تعریف کرد که با یکدیگر همکاری می‌کنند. در کاربردهای محاسباتی هوش ازدحامی و گروهی (Swarm Intelligence) از عامل‌هایی مثل مورچه‌ها، زنبورها، موریانه‌ها، ماهی‌ها، پرندگان یا حتی الگو آب‌های روان الگو برداری می‌شود. در این نوع هوش هر یک از عامل‌ها ساختار ساده‌ای دارند، اما رفتار گروهی آن‌ها پیچیده است. به‌طور مثال، در کولونی مورچه‌ها هر یک از مورچه‌ها یک کار ساده ویژه‌ای را انجام می‌دهد، اما به‌طور گروهی، رفتار مورچه‌ها ساختن لانه، نگهبانی از ملکه و نوزادان، پاکداری لانه، یافتن بهترین منابع خوراکی و بهینه‌سازی راهبرد جنگی است. رفتار کلی یک هوش ازدحامی به گونه غیر خطی از هم‌آمیختگی رفتارهای تک تک اجتماع به‌دست می‌آید یا به زبانی دیگر، یک رابطه بسیار پیچیده میان رفتار گروهی و رفتار فردی یک اجتماع وجود دارد. رفتار گروهی، تنها وابسته به رفتار فردی گماشته‌ها و افراد اجتماع نیست بلکه به چگونگی همکنشی (interaction) و تعامل میان افراد نیز وابسته است. همکنشی بین افراد، تجربه افراد درباره محیط پیرامون را افزایش می‌دهد و باعث پیشرفت می‌شود. ساختار اجتماعی ازدحامی بین افراد مجموعه کانال‌های ارتباطی ایجاد می‌کند که طی آن افراد می‌توانند به داد و ستد تجربه‌های شخصی بپردازند. مدل‌سازی محاسباتی ازدحامی کاربردهای امیدبخش و بسیاری را به ویژه در زمینه بهینه‌سازی داشته‌است. الگوریتم‌های فزاینده‌ای از بررسی ازدحامی‌های گوناگون پیشنهاد شده‌اند. از این رده، می‌توان به کولونی مورچه‌ها و دسته پرندگان (Bird Flocks) اشاره کرد. با اینکه دانش هوش ازدحامی دانشی نو است؛ هم‌اکنون، کاربردهای رو به گسترشی از آن شناخته شده‌است. با این رشد روزافزون، هوش ازدحامی می‌تواند نقش تاثیرگذاری در دانش‌های مختلف داشته باشد.

حل مشکلات واقعی به زبان ریاضیات و طبیعت

به بیان ریاضی، برای حل مسائل بهینه‌سازی جهان واقعی با استفاده از الگوریتم‌های محاسباتی هوشمند، نیاز به یک ارائه ریاضی‌وار از مساله وجود دارد که به آن تابع هدف (Objective Function) گفته می‌شود. تابع هدف در واقع قواعد ریاضی است که مساله و همه متغیرهای تصمیم آن را تشریح می‌کند. به‌طور خلاصه، یک مساله بهینه‌سازی در فضای جست‌وجو تعریف می‌شود. این فضا در واقع ناحیه‌ای است که در آن به‌دنبال راهکار گشته می‌شود و شامل یک مجموعه از متغیرهای تصمیم است که خود حاوی همه پارامترهایی هستند که مساله و به‌ویژه تابع هدف را تحت تاثیر قرار می‌دهند. تابع هدف، با ریاضیات مساله را قاعده‌گذاری کرده و حجم خوبی از راهکارهای کاندید برای آن را ارائه می‌کند. هدف یک مساله بهینه‌سازی، پیدا کردن بهترین راهکار از میان کلیه راه حل‌های امکان‌پذیر است. این یعنی در مساله بهینه‌سازی هدف یافتن کمینه یا بیشینه برای تابع هدف است. به عبارت دیگر، هدف پیدا کردن یک مجموعه از متغیرهای تصمیم ورودی محسوب می‌شود که برابر با کمینه یا بیشینه مقدار تابع هدف است و به آن «مقدار تناسب» نیز می‌گویند.

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

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

یک مثال خوب در ارتباط با الگوریتم‌های هوش گروهی، الگوریتم مورچه‌ها و زنبور عسل است. روش بهینه‌سازی کلونی مورچه‌ها یکی از زیر شاخه‌های هوش ازدحامی است که در آن از رفتار مورچه‌های واقعی برای یافتن کوناه‌ترین گذرگاه میان لانه و چشمه خوراکی (food source)  الگوبرداری شده‌است. هر مورچه برای یافتن خوراک در گرداگرد لانه به گونه تصادفی حرکت و در طی راه با بهره‌گیری از ماده شیمیایی به نام فرومن، از خود ردی بر جای می‌گذارد. هر چه شمار مورچه‌های گذر کرده از یک گذرگاه بیشتر باشد، میزان فرومن انباشته روی آن گذرگاه نیز افزایش می‌یابد. مورچه‌های دیگر نیز برای گزینش گذرگاه، به میزان فرومن آن می‌نگرند و به احتمال زیاد گذرگاهی را که دارای بیشترین فرومن است برمی‌گزینند. به این شیوه، حلقه بازخور مثبت پدید می‌آید. گذرگاه هرچه کوتاه‌تر باشد، زمان رفت و برگشت کاهش و مورچه بیشتری در یک زمان مشخص از آن می‌گذرد. از این رو، انباشت فرومن آن افزایش می‌یابد. شایان یادآوری است که گزینش گذرگاه دارای بیشترین فرومن، قطعی نیست و احتمالی است. به همین سبب، امکان یافتن بهترین گشایش (solution) وجود دارد. روش ACO، نوعی فرااکتشافی است که برای یافتن گشایش‌های تقریبی برای مسائل بهینه‌سازی آمیختاری (Combinatiorial Optimization) سودمند است. روش ACO، مورچه‌های ساختگی به‌وسیلهٔ حرکت بر روی گرافِ مسئله و با وانهادن (deposit) نشانه‌هایی بر روی گراف، همچون مورچه‌های واقعی که در گذرگاه خود نشانه‌های به جا می‌گذارند، سبب می‌شوند که مورچه‌های ساختگی بعدی بتوانند گشایش‌های بهتری را برای مسئله فراهم نمایند.

الگوریتم کلونی زنبور عسل مصنوعی

الگوریتم کلونی زنبور عسل (Artificial bee colony algorithm)  یک الگوریتم بهینه‌سازی بر مبنای هوش جمعی و رفتار هوشمندانه جمعیت زنبور عسل است. الگوریتم کلونی زنبور عسل مصنوعی (ABC)، راه‌حل بهینه‌سازی است که رفتار یک کلونی زنبور عسل را شبیه‌سازی می‌کند و اولین مرتبه در سال ۲۰۰۵ توسط کارابوگا برای بهینه‌سازی پارامتر واقعی ارائه شد. در این مدل ریاضی، کلونی زنبور عسل مصنوعی شامل سه نوع زنبور است. زنبورهای کارگر که وظیفه جمع‌آوری غذا و آوردن آن به کندو از یک منبع غذایی خاص را دارند. گروه دوم، زنبورهای ناظر هستند که میان کارگرها گشت می‌زنند تا تشخیص دهند یک منبع غذایی همچنان ارزش استفاده دارد یا خیر و زنبورهای دیده‌بان که به‌دنبال کشف منابع غذایی جدید هستند. در الگوریتم ABC، یک منبع غذایی به عنوان حالتی در فضای جست‌و‌جو تعریف می‌شود (یک راهکار برای مساله بهینه‌سازی) و تعداد منابع غذایی در ابتدا برابر با تعداد زنبورهای موجود در کندو است. کیفیت منابع غذایی توسط مقدار تابع هدف در آن موقعیت (مقدار تناسب) تعیین می‌شود.

رفتار طبیعی زنبورهای عسل به چه صورتی است؟

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

به‌طور کلی، رفتار هوشمند ناپایدار زنبورهای عسل در چند مرحله زیر خلاصه کرد:

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

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

الگوریتم کلونی زنبور عسل چه کاربردهایی دارد؟

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

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟