هوش ازدحامی
هوش ازدحامی یا هوش گروهی (Swarm Intelligence) نوعی روش هوش مصنوعی است که استوار بر رفتارهای گروهی در سامانههای نامتمرکز و خودسامانده بنیان شده است. این سامانهها معمولاً از جمعیتی از کنشگران ساده تشکیل شده است که بطور محلی با یکدیگر و با پیرامون خود در همکنشی هستند. با وجود اینکه معمولاً هیچ کنترل تمرکزیافتهای، چگونگی رفتار کنشگران را به آنها تحمیل نمیکند، همکنشیهای محلی آنها به پیدایش رفتاری عمومی میانجامد. نمونه هایی از چنین سامانه ها را میتوان در طبیعت مشاهده کرد؛ گروههای مورچهها، دستهٔ پرندگان، گلههای حیوانات، انبوه باکتریها و دستههای ماهی.
روباتیک گروهی، کاربردی از اصول هوش مصنوعی گروهی در شمار زیادی از روباتهای ارزان قیمت است.
محتویات |
مقدمه [ویرایش]
فرض کنید شما و گروهی از دوستانتان به دنبال گنج میگردید. هر یک از اعضای گروه یک فلزیاب و یک بیسیم دارد که میتواند مکان و وضعیت کار خود را به همسایگان نزدیک خود اطلاع بدهد. بنابراین شما میدانید آیا همسایگانتان از شما به گنج نزدیکترند یا نه؟ پس اگر همسایهای به گنج نزدیکتر بود شما میتوانید به طرف او حرکت کنید. با چنین کاری شانس شما برای رسیدن به گنج بیشتر میشود و همچنین گنج زودتر از زمانی که شما تنها باشید، پیدا میشود.
این یک نمونه ساده از رفتار جمعی و گروهی یا Swarm behavior است که افراد برای رسیدن به یک هدف نهایی همکاری میکنند. این روش کاراتر از زمانی است که افراد جداگانه کنش کنند. Swarm را میتوان به صورت مجموعهای سازمان یافته از گماشته (agent) ها یا موجوداتی تعریف کرد که با یکدیگر همکاری میکنند. در کاربردهای محاسباتی هوش ازدحامی و گروهی (Swarm Intelligence) از موجودات یا گماشته هایی مانند مورچهها، زنبورها، موریانهها، ماهی ها، پرندگان، و یا حتی چکه های آب در رودخانه الگو برداری میشود. در این نوع اجتماعات هر یک از موجودات یا گماشته ها ساختار نستباً سادهای دارند ولی رفتار گروهی آنها پیچیده به نظر میرسد. برای نمونه، در کولونی مورچهها، هر یک از مورچهها یک کار سادهی ویژه ای را انجام میدهد ولی به طور گروهی، کردار و رفتار مورچهها؛ ساختن لانه، نگهبانی از ملکه و نوزادان، پاکداری لانه، یافتن بهترین منابع خوراکی و بهینهسازی راهبرد جنگی را تضمین میکند. رفتار کلی یک Swarm به گونه ی غیر خطی از همآمیختگی رفتارهای تک تک اجتماع بدست میآید. یا به زبانی دیگر، یک رابطهی بسیار پیچیده میان رفتار گروهی و رفتار فردی یک اجتماع وجود دارد. رفتار گروهی، تنها وابسته به رفتار فردی گماشته ها و افراد اجتماع نیست بلکه به چگونگی همکنشی (interaction) و تعامل میان افراد نیز وابسته است. همکنشی بین افراد، تجربهی افراد دربارهی پیرامون (environment) را افزایش میدهد و مایه پیشرفت اجتماع میشود. ساختار اجتماعی Swarm بین افراد مجموعه کانالهای ارتباطی ایجاد میکند که طی آن افراد میتوانند به داد و ستد تجربههای شخصی بپردازند. مدلسازی محاسباتی Swarmها کاربردهای امیدبخش و بسیاری را به ویژه در زمینه بهینه سازی (optimization) در پی داشته است. الگوریتهای فزاینده ای از بررسی Swarmهای گوناگون پیشنهاد شده اند. از این رده، میتوان به کولونی مورچهها (Ant Colony) و دستهی پرندگان (Bird Flocks) اشاره نمود. با اینکه دانش Swarm intelligence ، دانشی نو میباشد؛ هم اکنون، کاربردهای رو به گسترشی از آن شناخته شده است. با این رشد روزافزون، Swarm intelligence میتواند نقش ارزنده ای را در دانشهای گوناگون بر دوش بگیرد. [۱]
الگوریتمهای هوش گروهی [ویرایش]
الگوریتم مورچهها [ویرایش]
روش بهینهسازی گروه مورچهها(Ant Colony Optimization)یکی از زیر شاخه های هوش گروهی است که در آن از رفتار مورچههای واقعی برای یافتن کوناهترین گذرگاه میان لانه و چشمه خوراکی (food source) الگوبرداری شده است. هر مورچه برای یافتن خوراک در گرداگرد لانه به گونه تصادفی حرکت و در طی راه با بهره گیری از ماده شیمیایی به نام فرومن، از خود ردی بر جای میگذارد.هر چه شمار مورچههای گذر کرده از یک گذرگاه بیشتر باشد، میزان فرومن انباشته روی آن گذرگاه نیز افزایش مییابد. مورچههای دیگر نیز برای گزینش گذرگاه، به میزان فرومن آن می نگرند و به احتمال زیاد گذرگاهی را که دارای بیشترین فرومن است بر می گزینند. به این شیوه، حلقه بازخور مثبت پدید میآید. گذرگاه هرچه کوتاهتر باشد، زمان رفت و برگشت کاهش و مورچه بیشتری در یک زمان مشخص از آن میگذرد. از این رو، انباشت فرومن آن افزایش مییابد. شایان یادآوری است که گزینش گذرگاه دارای بیشترین فرومن، قطعی نیست و احتمالی است. به همین سبب، امکان یافتن بهترین گشایش (solution) وجود دارد. روش ACO، نوعی فرااکتشافی است که برای یافتن گشایشهای تقریبی برای مسائل بهینهسازی آمیختاری (Combinatiorial Optimization) سودمند است. روش ACO، مورچههای ساختگی بهوسیلهٔ حرکت بر روی گرافِ مساله و با وانهادن (deposit) نشانههایی بر روی گراف، همچون مورچههای واقعی که در گذرگاه خود نشانههای به جا میگذارند، سبب میشوند که مورچههای ساختگی بعدی بتوانند گشایشهای بهتری را برای مساله فراهم نمایند.
بهینه سازی گروهی ذره [ویرایش]
روش بهینهسازی ازدحام ذرات (Particle swarm optimization) یک الگوریتم جستجوی اجتماعی است که از روی رفتار اجتماعی دستههای پرندگان مدل شده است. در ابتدا این الگوریتم به منظور کشف الگوهای حاکم بر پرواز همزمان پرندگان و تغییر ناگهانی مسیر آنها و تغییر شکل بهینهی دسته به کار گرفته شد. در PSO، particleها در فضای جستجو جاری میشوند. تغییر مکان particleها در فضای جستجو تحت تأثیر تجربه و دانایی خودشان و همسایگانشان است. بنابراین موقعیت دیگر particleهای Swarm روی چگونگی جستجوی یک particle اثر میگذارد. نتیجهی مدلسازی این رفتار اجتماعی فرایند جستجویی است که particleها به سمت نواحی موفق میل میکنند. Particleها در Swarm از یکدیگر میآموزند و بر مبنای دانایی بدست آمده به سمت بهترین همسایگان خود میروند. Particle swarm Optimization Algorithm اساس کار PSO بر این اصل استوار است که در هر لحظه هر particle مکان خود را در فضای جستجو با توجه به بهترین مکانی که تاکنون در آن قرار گرفته است و بهترین مکانی که در کل همسایگیاش وجود دارد، تنظیم میکند. فرض کنید میخواهیم زوج مرتب [x،y] را طوری بدست آوریم که تابع F(x،y)=x۲+y۲، مینیمم شود. ابتدا نقاطی را به صورت تصادفی در فضای جستجو، روی صفحهی x-y انتخاب میکنیم. فرض کنید این Swarm را به ۳ همسایگی تقسیم کنیم که در هر همسایگی نقاط موجود با یکدیگر تعامل دارند. در هر همسایگی هر یک از نقاط به سمت بهترین نقطه در آن همسایگی و بهترین مکانی که آن نقطه تاکنون در آن قرار داشته است، حرکت میکند. برای حل یک مسئله چند متغیر بهینهسازی میتوان از چند Swarm استفاده کرد که هر یک از Swarmها کار مخصوصی را انجام میدهند. این همان ایدهای است که Ant colony از آن ریشه میگیرد. روش PSO یک الگوریتم روش جستجوی سراسری (global search algorithm) است که با بهری گیری از آن میتوان با مسائلی که پاسخ آنها یک نقطه یا سطح در فضای n بعدی میباشد، برخورد نمود. در اینچنین فضایی، فرضیاتی مطرح میشود و یک سرعت ابتدایی به آنها اختصاص داده میشود، همچنین کانالهای ارتباطی بین ذرات درنظر گرفته میشود. سپس این ذرات در فضای پاسخ حرکت میکنند، و نتایج حاصله بر مبنای یک «ملاک شایستگی» پس از هر بازهٔ زمانی محاسبه میشود. با گذشت زمان، ذره ها به سمت ذره هایی که دارای سنجه شایستگی بالاتری هستند و در گروه ارتباطی یکسانی قرار دارند، شتاب میگیرند. مزیت اصلی این روش بر راهبردهای بهینهسازی دیگر، این است که شمار فراوان ذرات ازدحام کننده، سبب نرمش پذیری و انعطاف روش در برابر مشکل پاسخ بهینه محلی (local optimum) میگردد.
سامانه ایمنی ساختگی (هُنردادار) [ویرایش]
این روش (به انگلیسی: Artificial Immune System) از سامانه ایمنی پرهامی (طبیعی) برگرفته شده و با مدل کردن برخی یاخته های این سامانه میکوشد تا از اینگونه سامانه ها در راستای بهینه سازی و یا یادگیری دستگاه (Machine Learning) بهره بگیرد.
الگوریتمهای بر پایه زنبور [ویرایش]
چندین الگوریتم در زمینه الگوبرداری از رفتار گروهی زنبورها در کندو و یا بیرون آن به ویژه رفتار آنها در خوراکجویی (foraging) برای بهینه سازی پیوسته (continuous optimization) پیشنهاد شده اند.
الگوریتم چکه آب های هوشمند [ویرایش]
الگوریتم چکه آبهای هوشمند بر پایه بررسی رفتار گروهی چکه های آب در رودخانه ها برای بهینه سازی پیشنهاد شده است. این الگوریتم با گسیل کردن چکه های هوشمند آب بر روی گراف مساله (پرسمان) ، میکوشد راه های بهینه تر را برای گذر چکه های یاد شده هموارتر گرداند.
کاربردها [ویرایش]
گیرایی هوش گروهی در فناوری اطلاعات [ویرایش]
همگونیهایی بین مسائل متفاوت در حوزهٔ فناوری اطلاعات و رفتارهای حشرات اجتماعی وجود دارد :
- سامانهای توزیع شده از کنشگرهای مستقل و تعامل کننده.
- اهداف: بهینه سازی کارآیی و توان.
- خود تنظیم بودن در روشهای کنترل و همکاری به شکل نامتمرکز.
- توزیع کار و اختصاص وظایف به شکل توزیع شده.
- تعاملات غیر مستقیم.
گامهای طراحی یک سامانه [ویرایش]
گامهای طراحی یک سامانه با کاربردهای فناوری اطلاعات بر پایه هوش مصنوعی گروهی فرآیندی در سه گام است :
- شناسایی همسانیها: در سامانههای IT و طبیعت.
- فهم: مدلسازی رایانهای روش گروهی طبیعی به شکل واقعگرا.
- مهندسی: سادهسازی مدل و تنظیم آن برای کاربردهای IT.
کاربردهای کنونی و آینده [ویرایش]
- مسیریابی در شبکه.
- سامانههای توزیعشدهٔ رایانامهای.
- اختصاص منابع به شکل بهینه.
- زمانبندی وظایف.
- بهینهسازی ترکیبیاتی.
- روباتیک:
- بررسی سیستمهای لولهکشی.
- تعمیرات و نگهداری ماهوارهها و کشتیها.
- روبوتهای خود-مونتاژ.
منابع [ویرایش]
- http://artificial.ir/intelligence/thread22.html
- Swarm Intelligence. در دانشنامهٔ ویکیپدیای انگلیسی.