- آسمونی
- مجله اینترنتی
- فناوری
- دانستنی فناوری
- مفهوم سیستمهای چندعاملی
مفهوم سیستمهای چندعاملی
سیستم چند عاملی چیست؟
سیستم چندعاملی (Multi Agent Systems) یا به اختصار MAS روش نوینی برای حل مسائل و پیادهسازی پروژههای نرمافزاری رایانهای است.با اینکه زمان زیادی از پیدایش این گونه سیستمها نمیگذرد ولی استفاده از روشهای طراحی بر اساس عامل یکی از موفقترین راهحلهای موجود بوده و حاصل این شیوه طراحی یعنی سیستم حل مسائل به صورت توزیعشده از بهترین سیستمها به شمار میآید و به عنوان ابزار جدیدی برای حل انواع فرآیندهای انسانی شناخته میشود.این نوع سیستمها نسبت به سیستمهای معمولی و تکعاملی، مزایای زیادی دارند؛ از جمله اینکه در اکثر شرایط کار میکنند. به این معنا که چون مغز متفکر واحد ندارند و تصمیمگیری در آنها به صورت توزیعشده است، چنانچه حتی بخشی از آنها نیز از کار بیفتد باز هم به کار خود ادامه میدهند.
همچنین این نوع سیستمها برای محیطهایی با مقیاس وسیع(Large Scale) و محیطهای ناشناخته نیز گزینه مناسبی نسبت به سیستمهای تکعاملی به شمار میآیند.سیستمهای مبتنی بر عامل، پردازش موازی را آسان کرده و به راحتی موازی میشوند. منظور از پردازش موازی این است که به جای انجام یک پروژه با محاسبات زیاد و پردازشهای سنگین توسط یک پردازشگر، همان پروژه را به پردازشهای کوچکتر با حجم محاسبات کمتر شکسته و آن را توسط چندین عامل انجام دهیم. مثلاً میزی را تصور کنید که برای بلند کردنش به 100 نیوتن نیرو احتیاج داریم،حال هم میتوانیم آن را توسط یک نفر که توانایی اعمال 100 نیوتن نیرو را دارد، بلند کنیم و هم این کار را به کمک چهار نفر که هر کدام 25 نیوتن نیرو به اشتراک میگذارند، انجام دهیم. در نتیجه، هزینهها در چنین سیستمی پایین میآید و نیازی به صرف هزینه کلان جهت ایجاد امکان پردازش سنگین برای یک عامل نیست.
طراحی سیستم چندعاملی
دو مسئله کلیدی که در طراحی سیستمهای چندعاملی مطرح است اول طراحی عامل و دوم طراحی محیطی برای عملکرد و ارتباط میان عاملها. در طراحی عامل، چگونگی ساخت عاملی که قادر به انجام کارهای مستقل و اعمال خودمختار باشد مدنظر است.به گونهای که بتواند کارهایی که بر عمدهاش گذاشتهایم را با موفقیت انجام دهد. در طراحی اجتماع یا محیط عاملها، نکته اساسی این است که چگونه عاملهایی طراحی کنیم که قادر به برقراری ارتباط با یکدیگر باشند.منظور از این ارتباط همان همکاری، هماهنگی و مذاکره بین عاملهاست. این کار برای انجام موفقیتآمیز وظایفی که بر عهده آنها گذاشتهایم، ضروری است؛ چرا که همه عاملها اهداف مشترک ندارند یا نمیتوانند با علایق یکسان ساخته شوند.
کاربرد سیستمهای چندعاملی
مثالی از کاربرد عاملها کنترل سفینه فضایی (Aircraft control) است. وقتی یک کاوشگر فضایی (سفینه فضایی) برای انجام کارهای تحقیقاتی به فضا یا به کرات دیگر عزیمت میکند، یک سفر طولانیمدت در پیش دارد.از زمانی که این سفینه و گروه تحقیقاتی، پرواز خود را از سطح کره زمین آغاز میکند یک تیم زمینی با تعداد افراد زیاد لازم است تا به طور مدام مراحل پیشرفت و حرکت سفینه را دنبال و بررسی کنند و در مورد حوادث غیرمنتظره که ممکن است برای سفینه پیشآید تصمیم بگیرند.
این امر بسیار پرهزینه است و اگر نیاز به تصمیمگیری فوری و ضروری داشته باشد کارایی چندانی ندارد. به همین دلیل سازمانهای هوایی و فضایی مانند NASA به طور جدی مشغول تحقیق و بررسی روی امکان ساخت کاوشگری فضایی هستند که بیشتر خودکار باشد تا بتوانند تنها در مواقع ضروری تصمیمات فوری را به صورت بهینه بگیرند و به نظارت کنترلی و مراقبت 24ساعته از روی زمین نیاز نداشته باشند.این امر یک افسانه یا داستان نیست و مهندسین NASA مشغول بررسی و ساخت چنین سفینهای بر اساس سیستم چندعاملی هستند. طبق اطلاعات موجود و خواص سیستمهای چندعاملی، برای دستیابی به این هدف عاملها ابزار بسیار مناسبی شناخته شدهاند.
تفاوت سیستمهای خبره با سیستمهای چندعاملی
1- عاملها در محیطی قرار میگیرند که میتوانند روی آن تاثیرگذار باشند و از آن تاثیر بپذیرند؛ در حالی که عملکرد سیستمهای خبره مانند MYCIN کاملاً مستقل از محیط بوده و از دنیای اطراف آگاه نیست و اطلاعات به دست آمده از سیستم خبره مبتنی بر پایگاه دانشاش و سئوالاتی است که از کاربر میپرسد.
2- عامل به عنوان نمایندهای از طرف کاربر، عملی را انجام میدهد ولی سیستم خبره مانند MYCIN هیچ عملی در محیط یا روی بیمار انجام نمیدهد.
3- یک سیستم خبره به جای انجام عملیات ریاضی و استدلال، بر پایه دانش انسانی تعقل میکند. در حالی که عامل یک سیستم کامپیوتری است که قادر به انجام اعمال مستقل و اتوماتیک از طرف کاربر یا صاحب خود است.