MAS مخفف عبارت Multi Agent System و به معنای سیستمهای چندعاملی است و برای اینکه بتوانیم به دیدگاه مناسبی نسبت به سیستمهای چندعاملی برسیم بایستی به دو سؤال مهم در ارتباط با آنها پاسخ دهیم:
- مزیت و برتری این تکنولوژی نسبت به تکنولوژیهای مشابه و قبلی چیست؟
- در چه کاربردهایی میتوان از آن استفاده کرد؟
مسلماً باور این مطلب که برای طراحی تمامی سیستمهای پیچیده بایستی از سیستمهای چندعاملی استفاده کرد، نمیتواند تفکری منطقی باشد و مانند تمامی تکنولوژیهای موجود این تکنولوژی هم برای برخی کاربردها به عنوان یک سولوشن مناسب شناخته میشود و برای برخی دیگر کاملاً غیرمفید است. در این مقاله قصد داریم تا به بررسی چند مورد از کاربردها و دلایل نیاز به سیستمهای چندعاملی بپردازیم.
در بسیاری از موارد برای طراحی سیستمها نیازمند سیستمهای چندعاملی هستیم و به عنوان مثال در برای مدلسازی افراد یا سازمانهایی که اهداف مختلف و احتمالاً متناقض دارند و برای نشان دادن تعاملات و ارتباطات آنها نیازمند استفاده از سیستمهای چندعاملی هستیم.
یکی از نمونههای چنین کاربردهایی را میتوان در طراحی سیستمی برای مدیریت دو سازمان همکار (حتی رقیب!) با اهداف و اطلاعات سازمانی متفاوت بیان کرد. مسلماً برای طراحی این سیستم مدیریت هیچکدام از دو سازمان مایل نخواهند بود که اطلاعات خود را در اختیار طراح سیستم سازمان همکار (رقیب) قرار دهند با این حال شاید بتوان برای طراحی چنین سیستمی (که شامل تنها دو سازمان است) یکسری قرارداد تنظیم کرد اما با افزایش تعداد سازمانها، بهترین سولوشن برای مدلسازی چنین سیستمهایی استفاده از سیستمهای چندعاملی است.
کاربرد دیگری که برای به اصطلاح Multi Agent System میتوان نام برد در مواردی است که سیستم قابلیت تقسیم به یکسری اصطلاحاً Sub System مستقل را دارا است در چنین مواردی میتوان به ازای هر یک از سیستمهای زیرشاخه یک به اصطلاح Agent (عامل) در نظر گرفت که عاملها با هم و به صورت موازی کار مدنظر را پیش برند.
از جمله قابلیتهای سیستمهای چندعاملی که موجب گسترش رشد روزافزون استفاده از آنها در دنیای مجازی شده است میتوان موارد زیر را نام برد:
- افزایش قابلیت اصطلاحاً Tolerance یا مقاومت سیستم در برابر خطا و همچنین قابلیت اعتماد سیستم به دلیل تعدد عاملها و موازی کار کردن آنها
- افزایش قابلیت انعطاف و توانایی گسترش سیستم به دلیل سادگی در اضافه کردن عاملهای جدید به سیستم
- کاهش هزینه پیادهسازی سیستم
- قابلیت استفاده مجدد از عاملها در کاربردهای مشابه
علاوه بر این شاید بتوان اینترنت را به عنوان اصلیترین مکان برای بهکارگیری عاملها و سیستمهای چندعاملی دانست؛ البته دلایل متعددی برای این ادعا وجود دارد که مهمترین آنها تغییرات ساختاری مداوم و حجم وسیع و محل قرارگیری دیتا در اینترنت است. در چنین سیستمی میتوان از تکنولوژی سیستمهای چندعاملی برای طراحی و بهکارگیری عاملهایی که از طرف افراد، مامور انجام وظایف محول شده به آنها هستند، استفاده کرد.
در واقع کاربر تعیین میکند تا این عاملها با سایر عاملها ارتباط برقرار کرده و مذاکره کنند بهعلاوه هر یک از عاملها میتوانند در صورت نیاز و به منظور انجام وظایف خود به دیتابیسهای مختلفی دسترسی پیدا کنند.
علاوه بر استفاده در اینترنت، کاربرد دیگری که برای سیستمهای چندعاملی میتوان عنوان کرد، سیستم کنترل ترافیک است که سیستمهای چندعاملی به دلیل ویژگیهایی که دارند، برای مدیریت ترافیک گزینه مناسبی به شمار میروند. از مهمترین مشخصات سیستم کنترل ترافیک میتوان به موارد زیر اشاره نمود:
- توزیع جغرافیایی گستردۀ مسئله
- پویا بودن سیستم ترافیک
- نیاز به برقراری ارتباط بین سیستمهای زیرشاخۀ مختلف
تمام این ویژگیها منجر بدین شده است تا سیستمهای به اصطلاح Multi Agent گزینهای مناسب برای کنترل ترافیک در سطح شهرها باشند که انشاءالله در مقالات آینده بیشتر به این موضوع خواهیم پرداخت.