سامانه چندعاملی

یک **سامانهٔ چندعاملی** ، سامانه‌ای است که از چندین عامل هوشمند تعاملی تشکیل شده باشد. از سامانه‌های چندعاملی می‌توان برای حل مسئله‌هایی استفاده کرد که حل آن برای یک عامل منفرد یا یک سامانهٔ یکپارچه مشکل یا غیرممکن است. هوشمندی می‌تواند شامل رویکردهای جستجو، یافتن و پردازش روش‌مند، کاربردی، رویه‌ای، یا الگوریتمی باشد.

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

سامانه‌های چندعاملی روش‌های نوینی برای حل مسایل محاسباتی و پیاده‌سازی پروژه‌های نرم‌افزاری رایانه‌ای ارائه می‌دهند. از آنجا که در این گونه سامانه‌ها‌ مجموعه‌ای متشکّل از چندین عامل سیستم را به وجود می‌آورد، دست‌یابی و نیل به اهدافی امکان‌پذیر می‌گردد که به وسیله سیستم‌های تک عاملی میسّر نیست.

## مزایا
# این سیستم در اکثر شرایط کار می‌کند. به این معنا که چون مغز متفکر واحد ندارد و تصمیم‌گیری توزیع‌شده است، چنانچه حتی بخشی از سیستم نیز از کار بیفتد، باز هم سیستم به کار خود ادامه می‌دهد.
# این سیستم برای محیط‌هایی با مقیاس وسیع (Large Scale) و محیط‌های ناشناخته (Unknown) نیز گزینهٔ مناسبی نسبت به سیستم‌های تک عاملی به‌شمار می‌آید. زیرا محیط سریع‌تر و بهتر پویش می‌شود.
# این سیستم به راحتی موازی می‌شود و پردازش موازی را آسان می‌کند.
# این سیستم قابلیت تزاید در خود دارد بدین معنا که ۱+۱ = ۳. به‌طور مثال ما میزی را که ۱۱۰ نیوتن نیرو برای بلند کردن لازم دارد با چهار نفر که هر کدام ۲۵ نیوتن نیرو می‌گذارند بلند می‌کنیم.
# هزینه‌ها در این سیستم پایین می‌آید. نیازی نیست تا با صرف هزینهٔ کلان امکان پردازش سنگینی برای یک عامل فراهم کنیم. بلکه می‌شود چندین عامل با قدرت پردازشی کمتر همان کار را حتی سریع‌تر انجام دهند.

## معایب
البته این سیستم معایبی هم دارد که استفاده از آن را محدود می‌کند. مهم‌ترین آنها کندی اندک در کار است (به‌طور کلی). به هر حال می‌توان بر حسب مورد نیاز، از این سیستم استفاده کرد.

## ایده عامل ها
ایده عامل از طرف جان مک‌کارتی در اواسط 1950 مطرح شد و سالها بعد به این نام خوانده شد.
او سیستمی را تصور کرد که:
1- وقتی به آن هدفی داده می شد -> دانستن جزئیات عملیات کامپیوتری مناسب
2- وقتی با مشکلی برخورد می کرد -> از کاربران نظرخواهی یا پرسش

## تعریف عامل ها
معروفترین تعریف از عامل مربوط به تعریف وولدریج (Wooldridge):
یک عامل یک سیستم کامپیوتری است که در یک محیط قرار گرفته و قادر به انجام فعالیت های خود مختار در آن محیط برای رسیدن به اهداف مورد نظرش است.
یک عامل یک روبات نرم افزاری است که در دنیای کامپیوتری زندگی و فعالیت می کند.

## روبوکاپ
پژوهشگر آمریکایی،پیتر استون، در دهه ۹۰ در پایان‌نامه دکترایش این مسئله را عنوان کرد که فوتبال زمینه تحقیقاتی بسیار مناسبی برای سامانه‌های چند عاملی است.
این مسئله در طی چند سال موجب پدید آمدن مسابقات بین‌المللی و موفق روبوکاپ شد که در آن تیم‌های دانشجویی و حتی دانش آموزی بسیاری از سراسر جهان با طراحی و شبیه‌سازی روبوت‌های فوتبالیست با هم رقابت می‌کنند.
این مسابقات از سال ۹۷ همه ساله در یکی از کشورهای جهان، توسط فدراسیون جهانی روبوکاپ برگزار می‌گردد.
البته لازم است ذکر شود که مسابقات کوچک‌تری نیز همه ساله در سطح کوچک‌تری به صورت آزاد برگزار می‌گردند مانند Iran open , German open , US open, German open و ….
این زمینه تحقیقاتی در دانشگاه‌های ایران و حتی برخی دبیرستان‌های خاص طرفداران بسیاری دارد و معمولاً تیم‌های ایرانی رتبه‌های شایسته‌ای در این مسابقات کسب می‌کنند.

## خصوصیات عامل ها
#خودمختاری (Autonomy)
#یادگیری (Learning)
#همکاری (Cooperation)
* خودمختاری: می تواند بدون نیاز به راهنمایی انسانها فعالیت کند، هر چند می تواند هزینه بر باشد.
* یادگیری: برای اینکه واقعاً عامل باهوش باشد باید توسط واکنش نشان دادن (React) و/یا متقابلاً عمل کردن (Interact) با محیط خارجی خود یاد بگیرند.
* همکاری: برای انجام یک کار، داشتن چندین عامل به جای یک عامل مطلوب تر است. توانایی اجتماعی، یعنی توانایی برقرار کردن ارتباط.

## تعریف سیستم های چند عاملی
سیستم چند عاملی، سیستمی است شامل تعدادی عامل که عامل ها با هم از طریق رد و بدل کردن پیام در یک ساختار شبکه ای ارتباط دارند.

## اجزاء سیستم های چند عاملی
# یک محیط (E)
# تعدادی از اشیاء  (O)
# مجموعه ای از عامل ها (A)
# مجموعه ای از روابط (R)
# مجموعه ای از اعمال (OP)

## چارچوب برنامه نویسی
# JADE 
بندانگشتی|معماری JADE - محمد مشایخ

## نمونه کاربردها
# شبیه‌سازی کامپیوتری مدیریت زنجیره تأمین توسط سیستمهای چند عاملی
# جستجوی اینترنت توسط سیستم‌های چند عاملی

## منابع

*[//en.wikipedia.org/w/index.php?title=Multi-agent_system&oldid=476354634 Multi-agent system]، مشارکت‌کنندگان ویکی‌پدیای انگلیسی، برداشت‌شده در ۳ مارس ۲۰۱۲.

رده:روش‌های جامعه‌شناسی
رده:سامانه‌های چندرباتی
رده:سامانه‌های چندعامله
رده:ویکی‌سازی رباتیک
رده:نظریه مدیریت