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