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

(تغییرمسیر از سامانه‌های چندعامله)

یک سامانهٔ چندعاملی (به انگلیسی: Multi-agent system)، سامانه‌ای است که از چندین عامل هوشمند تعاملی تشکیل شده باشد. از سامانه‌های چندعاملی می‌توان برای حل مسئله‌هایی استفاده کرد که حل آن برای یک عامل منفرد یا یک سامانهٔ یکپارچه مشکل یا غیرممکن است. هوشمندی می‌تواند شامل رویکردهای جستجو، یافتن و پردازش روش‌مند، کاربردی، رویه‌ای، یا الگوریتمی باشد.

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

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

مزایاویرایش

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

معایبویرایش

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

ایده عامل هاویرایش

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

تعریف عامل هاویرایش

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

روبوکاپویرایش

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

خصوصیات عامل هاویرایش

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

تعریف سیستم های چند عاملیویرایش

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

اجزاء سیستم های چند عاملیویرایش

  1. یک محیط (E)
  2. تعدادی از اشیاء (O)
  3. مجموعه ای از عامل ها (A)
  4. مجموعه ای از روابط (R)
  5. مجموعه ای از اعمال (OP)

چارچوب برنامه نویسیویرایش

  1. JADE [۳]
 
معماری JADE - محمد مشایخ

نمونه کاربردهاویرایش

  1. شبیه‌سازی کامپیوتری مدیریت زنجیره تأمین توسط سیستمهای چند عاملی[۴]
  2. جستجوی اینترنت توسط سیستم‌های چند عاملی

منابعویرایش

  1. «پاورپوینت ارتقاء مدیریت زنجیره عرضه در یک کارخانه توسط سیستمهای چند عاملی، محمد مشایخ». بایگانی‌شده از اصلی در ۸ مه ۲۰۱۹. دریافت‌شده در ۸ مه ۲۰۱۹.
  2. محمد, مشایخ (2008-09-29). "شبیه سازی کامپیوتری مدیریت زنجیره تامین توسط سیستمهای چند عاملی". 06.
  3. چارچوب برنامه نویسی
  4. شبیه‌سازی کامپیوتری مدیریت زنجیره تأمین توسط سیستمهای چند عاملی، محمد مشایخ
  • Multi-agent system، مشارکت‌کنندگان ویکی‌پدیای انگلیسی، برداشت‌شده در ۳ مارس ۲۰۱۲.