
مقدمه:
نگاهی به تعاریف رایج در مورد عامل ها (Agents)
امروزه بکارگیری هوش مصنوعی (AI:Artificial Intelligence) در سیستمهای تجاری امری مرسوم و پرکاربرد است (هر چند در ایران هنوز این مساله به شکلی جدی مطرح نشده ، اما نمونه هایی مشاهده می شود). عاملهای هوشمند (IA:Inteligent Agent) نیز به عنوان یک جزء از هوش مصنوعی توزیع شده، باعث شده است که در شبکه ها و یا رویداد های مربوط به گروه های افراد، استفاده از عاملها و عاملهای هوشمند رواج بیشتری نسبت به سایر موارد داشته باشد، به شکلی که امروزه بحث مهندسی نرم افزاری مبتنی بر عامل ها (Agent Based Software Engineering) و روشهای تجزیه تحلیل، چارچوب های برنامه سازی و محیط های توسعه آن بیشتر مورد توجه قرار گرفته است.
در فرهنگ لغات Agent چنین معنی می شود :"فاعل ، نماینده ، گماشته ، وکیل ، مامور ، عامل ، مباشر، واسطه ، پیشکار ، امین و کارگزار ". بدین ترتیب به عنوان یک تعریف پایه می توان Agent را کسی دانست که به جای شخص یا چیز دیگری عمل می کند.
یک عامل دارای خصوصیات مختلفی است ؛ داشتن برخی از این خصوصیات برای یک عامل اجباری و بقیه اختیاری است. از جمله خصوصیات اجباری می توان به خواص autonomous (خودمختار بودن) ، interactive (دارای عمل متقابل بودن) و reactive (واکنش دار بودن )اشاره کرد.ازجمله خصوصیات اختیاری میتوان به خواص mobility (متحرک بودن ) ، ntelligence (هوش )وtrustworthiness (قابلیت اعتماد)اشاره کرد.این خصوصیات عبارتند از :
-خودمختار بودن (Autonomous) : بتواند بدون دخالت یک محرک خارجی کارکند و تاحدی با استفاده از تجربه های شخصی بر حالات درونی و رفتارهای خود کنترل داشته باشد.
- دارای عمل متقابل بودن (Interactive) : با محیط و سایر عامل ها رابطه داشته باشد.
- سازگاری (Adaptive) : قابلیت پاسخگویی به محیط یا سایر عامل ها در درجات مختلف (بیشترین سازگاری زمانی است که عامل اجازه داشته باشد رفتار خود را بر اساس تجربیاتش تغییر دهد).
- اجتماعی بودن (Sociable) : با سایر عامل های دوست یا همکار تعامل خوب، دوستانه و اجتماعی داشته باشد.
- متحرک بودن (Mobile) : بتواند از یک محیط به یک محیط دیگر برود.
- وکالت (Proxy) : بتواند به عنوان وکیل شخص یا چیز دیگر عمل کند. بدین شکل که مطابق میل آن رفتار کند. یا مسئولیت های آن را قبول کند و یا برای بدست آوردن منافع او تلاش کند.
-کنشگرا(Proactive): هدفمند وبا قصدمشخص،به عبارت دیگرصرفا درمقابل محیط واکنش های ساده نمی کند.
- هوشمند(Intelligent) :حالتها با دانشهایی شکل رسمی گرفته (مانند اعتقادات ، اهداف ، برنامه ها و فرضیات) و عامل با سایر عاملها با یک زبان سمبولیک تعامل می کند.
-منطقی (Rational) : قابلیت عام را داشته باشد که کاری را بر اساس اهداف داخلی خود انجام دهد که وی را به این اهداف نزدیک سازد.
-غیرقابل پیش بینی (Unpredictable) : بتواند به نوعی رفتار کند که کاملا قابل پیش بینی نباشد حتی اگر شرایط آغازین کار کاملا شناخته شده باشد. به عبارت دیگر بتواند به طور غیرقطعی رفتار کند.
-پیوسته زمانی (Temporally Continuous) : فرآیند اجرای پیوسته ای داشته باشد.
-شخصیت (Character) : شخصیت و احساس قابل باوری داشته باشد.
-شفاف و قابل حساب (Transparent and Accountable) : به اندازه کافی شفاف باشد و درموقع نیازگزارش فعالیت های خود را ثبت کند .
- هماهنگ (Coordinative) : بتواند فعالیتهایی را با سایر عاملها دریک محیط مشترک انجام دهد.این فعالیت ها اغلب در قالب یک برنامه، جریان کار و یا یک مکانیسم دیگر مدیریت پردازش ها هماهنگ شده اند.
- همکاری(Cooperative) :بتواندباسایرعاملها برای رسیدن به یک هدف مشخص هماهنگ عمل کند بطوری که شکست یاموفقیت عامل به این رابطه وابسته باشد.(مفهموم Collaboration نیزمفهومی نزدیک به این رابطه دارد.)
-رقابت (Competitive) : با سایر عاملهای دیگر چنان هماهنگ باشد که موفقیت یک عامل سبب شکست دیگری باشد . (مخالف همکاری)
-نیرومند (Rugged) : بتواند با خطاها و یا اطلاعات ناقص رفتار محکم و درستی داشته باشد.
-تقابل اعتماد (Trustworthy) : به قوانین موجود وفادار بوده، راستگو باشد.
در منابع مختلف بسته به دیدگاه نویسنده تعاریف مختلفی برای عامل ارائه شده است در زیر به برخی از این تعاریف اشاره می کنم:
عامل Mubot : "لغت عامل برای نشان دادن دو مفهوم متعامد به کار می رود. اولین مفهوم قابلیت اجرای خودکار عامل می باشد و دومین مفهوم قابلیت انجام دادن تصمیم گیری های مبتی بر دامنه است ."
عامل AIMA : "یک عامل چیزی است که می تواند محیط را از طریق حسگر هایش درک کند و با کمک عملگرهایش بر روی محیط تاثیر بگذارد."
عامل Maes : "عامل خودکار یک سیستم محاسباتی است که در یک محیط پیچیده پویا ساکن است. در این محیط به صورت خودکار حس می کند و بر اساس آن عمل می کند و بدین ترتیب اهدافی که بر اساس آن طراحی شده است را محقق می سازد."
عامل KidSim : "عامل بدین صورت تعریف می شود : یک موجودیت نرم افزار پایدار که برای یک هدف خاص در نظر گرفته شده است. پایداری عامل را از زیربرنامه ها متمایز می سازد؛ عاملها نظرات خاص خود را در مورد انجام یک عمل دارند . هدف خاص آنها را از سایر برنامه های چند کاره جدا می سازد؛ عاملها بسیار کوچک ترند. "
عامل Hayes-Roth : "عاملهای هوشمند به طور پیوسته سه عمل را انجام می دهند: استنباط شرایط پویا در محیط ، استدلال برای تفسیر این استنباط ها، حل مساله، ترسیم نتیجه گیری ها و تعیین اعمال ."
عامل IBM : "عاملهای هوشمند موجودیت های نرم افزاری هستند که یک سری عملیات را به عنوان نماینده یک کاربر یا یک برنامه دیگر و با درجه خاصی از استقلال یا خودمختاری برعهده دارند و برای انجام چنین کاری بخشی از دانش و یا نمایش اهداف و امیال کاربر را به کار می گیرند."
عامل Wooldridge : " سیستم کامپیوتری مبتنی بر سخت افزار و یا به طور معمول تر نرم افزاری که مشخصات زیر را داشته باشد :
• خودمختاری : عامل بدون دخالت مستقیم انسان و یا دیگران عمل می کند و تا حدودی بر عملکرد و حالات درونی خود کنترل دارد.
•قابلیت اجتماعی : عاملها با سایرعاملها (وحتی انسانها) بوسیله انواع زبانهای ارتباطی عاملها در تعامل می باشند.
•واکنش پذیری : عامل محیط خود را درک می کند (ممکن است یک کلمه باشد ، یک کاربر از طریق یک واسط کاربری باشد، مجموعه ای از عاملهای دیگر باشد ویا ترکیبی از همه اینها ) و به موقع در مقابل تغییرات اعمال شده در آن واکنش نشان می دهد.
•Pro-activeness: عاملها تنها به واسطه پاسخ به محیط عمل نمی کنند بلکه خود می توانند به واسطه اهداف خود آغاز گر یک عمل باشند. "
عامل SodaBot :"عامل های نرم افزاری ،برنامه هایی هستند که دریک گفتگو شرکت می کنند، مذاکره می کنند و تبادل اطلاعات را هماهنگ می کنند. "
عامل Brustoloni : "عاملهای خودمختار سیستمهایی هستند که می توانند در دنیای واقعی خودمختار و هدفمند عمل کند. "
عامل Jennings : "یک عامل یک سیستم کامپیوتری کپسوله است که در یک محیط قرار دارد و قادر به انجام عملیات خودکار و قابل انعطاف در این محیط برای رسیدن به اهداف طراحی آن می باشد."
تعریف اخیر تعریفی است که در عین سادگی به نظر می رسد نمایانگر مشخصات اصلی یک عامل است.
با طرح تعاریفی درموردعاملها(Agents)می خواهیم نگاهی به سیستمهای چند عامله،Multi Agent System، داشته باشیم.بسیاری ازسیستم های تجاری اولیه عامل رابرای هدف جستجومورداستفاده قراردادند.دراین سیستم ها عاملهای منفرد به مراکزمعینی متصل می شدند،اطلاعات لازم راجمع آوری میکردندودرنهایت به نزدکاربردرخواست کننده برمی گشتند.به عبارت دیگرعاملها یک کار انفرادی داشتندودرمقیاس بسیار کمی (اگر بود) با عاملهای دیگرتعامل داشتند.این روش باوجودیکه کاربردهای زیاد خاص خود را داردنمی تواند به تنهایی یک اجتماع یا یک سازمان ایجادکندکه بتواند نیازهای دیگرکاربران رابرآورده سازد.درعوض درمحیط های انسانی ما یک شبکه از افرادرا داریم که برای منظورهای مختلف بایکدیگردرتعامل می باشند.بدین ترتیب برای ایجاد یک جامعه از عاملها نه تنها نیازاست که بین آنها ارتباط برقرارکردبلکه عاملها باید بتوانند با یکدیگرهماهنگ هم باشند.این هماهنگی می تواند جنبه های مختلف همکاری و یا رقابتی داشته باشد.این جوامع، سیستمهای چند عامله (MAS) نامیده می شوند.
به عبارت دیگر "یک سیستم چند عامله یک پیاده سازی با تاکید بر همکاری از برنامه ها (عاملها) است که با یکدیگر هماهنگ شده اند برای رسیدن به همگرایی روی پاسخ یک یا چند وظیفه".
سیستم های چندعامله،سیستم هایی هستندکه ازجمع شدن عاملهای هماهنگ شده با هم و روابط بین آنها تشکیل شده اند.دراین سیستم هرکس وظیفه خود را می داندومیجداندکه چه زمانی بادیگری بایدارتباط برقرار کند.
شامل 11 صفحه word
دانلود تحقیق هوش مصنوعی - عامل ها