شبیهسازی مبتنی بر عامل روشی است که طی سالهای گذشته در حوزه علوم اجتماعی مورد توجه قرار گرفته است. در این کاربرد، عاملها افراد موجود در یک جامعه با ویژگیهای مورد نظر را مدلسازی میکنند. سپس فاکتورهایی وارد سیستم شده و تاثیر آنها در رفتارهای عاملها و یا رفتار سطح کلان جامعه بررسی میشود.
امروزه عامل های هوشمند بطور وسیعی در پروژه های عملیاتی و تحقیقاتی مورد استفاده قرار می گیرند. موسسات و شرکت هایی مانند IBM، دایملر کراسلر، وزارت دفاع آمریکا و ناسا بطور موفقیت آمیزی از سیستم های مبتنی بر عامل استفاده می کنند و بکارگیری عامل ها رفته رفته به یک موضوع حیاتی در فرآیندهای توزیع شده و غیر متمرکز تبدیل شده است. تمامی این تلاش ها را می توان به ۴ گروه زیر طبقه بندی کرد.
- حل گروهی مسائل و هوش مصنوعی توزیع شده(Distributed Artificial Intelligent):
هوش مصنوعی توزیع شده بیشتر بر جنبه اجتماعی عامل ها متمرکز است و علاقمند است تا بتواند از طریق همکای مؤثر گروهی از عامل ها مسائل را حل کند و فعالیت های آنها را با یکدیگر هماهنگ نماید. برخی از این کاربرد ها عبارتند از: کنترل ترافیک هوایی، مدیریت شبکه های ارتباطی، سفینه های فضایی، مدیریت حمل و نقل و کنترل خط تولید.
- واسط کاربر(User Interface):
عامل ها به عنوان برنامه های کامپیوتری که از تکنیک های هوش مصنوعی استفاده می کنند، به کاربران در برقراری ارتباط با برنامه های کاربردی کمک کرده و این ارتباط را تسهیل می کند. به عبارت دیگر واسط کاربر حالت شهودی و ادراکی خواهد داشت و به دور از هر گونه پیچیدگی قابلیت های خود را به روشنی به کار بر معرفی می کند و همچنین به راحتی روش استفاده از خود را به کاربر برنامه نمایان می کند.
- عامل های اطلاعاتی و سیستم های اطلاعاتی جمعی(Cooperative Information System):
عامل اطلاعاتی به یک یا چند منبع اطلاعاتی دسترسی دارد و می توانداطلاعات موجود در این منابع را جهت پاسخگویی به سؤالات دیگر کاربران و یا عامل های اطلاعاتی دیگر، جمع آوری و دست کاری نماید. یک شبکه اطلاعاتی جمعی، از منابع سنتی مانند فایل و پایگاه داده و یا سایر عامل های اطلاعاتی تشکیل می شود.
- عامل های واقع نما(Believable Agent):
میتوان از عامل ها در سینما، بازیهای کامپیوتری،واقعیت مجازی و شبیه سازی واقعی استفاده کرد. بدین منظور عامل باید دارای حس باشد و بصورت مسطح و بدون شخصیت توصیف نشود، بلکه به گونه ای عمل کند که با درک ما مطابقت داشته وبتواند رفتارهای انسانی را درک کند. عامل ها همچنین در اواسطدهه ۱۹۹۰ واردصنعت و تجارتشدند. مثل: بهینه سازی زنجیره تولید، مدیریت منابع،مدل کردن رفتار مصرف کننده، پردازش توزیع شده، مدیریت نیرو، مدیریت سرمایه گذاری تحلیل پیامدها، تأثیرات مخرب سلاح های میکروبی و سیستم ایمنی.
تعریف عامل(Agent):
یک Agent نوع سادۀ دیگری ازانتزاع (Abstraction) نرم افزاریست. یک شیئ یک انتزاع سطح بالاست که متد ها و شناسه هایی از یک جزء نرم افزاری را توصیف می کند.
به هر حال یک Agent یک انتزاع نرم افزاری بسیار بالا تر است که روشی قوی و راحت برای توصیف یک موجودیت نرم افزاری پیچیده را فراهم می کند. Agent یک سیستم کامپیوتری مبتنی بر نرم افزار است که در یک محیط قرار گرفته (Situated) و قادر به فعالیت های خود مختار (Autonomous) در آن محیط برای رسیدن به اهدافش است.
واقع شده (Situated): یعنی عامل ها کاملاً درون محیط خاصی موجود هستند، آنرا درک می کنند و بر روی محیط اثر گذاشته و محیط نیز بر روی آنها اثر میگذارد.
خود مختاری (Autonomy): یعنی توانایی عمل کردن بدون مداخله انسان یا سیستم های دیگر. به عبارت دیگر خود بر روی رفتارهایشان تصمیم میگیرند.
سایر خصوصیات عامل ها:
کنش گرایی (Proactive): یعنی عامل می تواند بدون هیچ تحریک خارجی عمل نماید.
واکنش پذیری ( Reactive): یعنی عامل قادر است به تغییرات محیط پاسخ دهد.
توانایی جمعی(Social Ability): یعنی عامل ها می توانند در یک سیستم MAS با دیگر عامل ها ارتباط بر قرار کرده و مذاکره کنند.
یادگیری (Learning): یعنی عامل ها قادر به یادگیری اند.
با این تعاریف می توان گفت که یک عامل یک ربات نرم افزاریست که دردنیای کامپیوتر زندگی و فعالیت می کند.
محتویات
[نهفتن]
مفاهیم[ویرایش]
سیستمهای چندعاملی چیست؟[ویرایش]
سیستم چندعاملی (Multi Agent Systems) یا به اختصار MAS روش نوینی برای حل مسائل و پیادهسازی پروژههای نرمافزاری رایانهای است.
سیستمهای مبتنی بر عامل[ویرایش]
سیستمهای مبتنی بر عامل، پردازش موازی را آسان کرده و به راحتی موازی میشوند. منظور از پردازش موازی این است که به جای انجام یک پروژه با محاسبات زیاد و پردازشهای سنگین توسط یک پردازشگر، همان پروژه را به پردازشهای کوچکتر با حجم محاسبات کمتر شکسته و آن را توسط چندین عامل انجام دهیم. مثلاً میزی را تصور کنید که برای بلند کردنش به 100 نیوتن نیرو احتیاج داریم، حال میتوانیم آن را توسط یک نفر که توانایی اعمال 100 نیوتن نیرو را دارد، بلند کنیم و هم میتوانیم این کار را به کمک چهار نفر که هر کدام 25 نیوتن نیرو به اشتراک میگذارند، انجام دهیم. در نتیجه، هزینهها در چنین سیستمی پایین میآید و نیازی به صرف هزینه های کلان جهت ایجاد امکان پردازش سنگین برای یک عامل نیست. در این صورت، چندین عامل با قدرت پردازشی کمتر همان کار را حتی سریعتر انجام میدهند.
البته این نوع سیستمها به نوبه خود معایبی نیز دارند که استفاده از آنها را محدود میکند. مهمترین عیب این سیستمها، کندی در کار طراحی و موازیسازی آنهااست که به نتیجه رساندن پروژه را به تعویق میاندازد.
تعریف سیستم چندعاملی[ویرایش]
قبل از تعریف سیستم مبتنی بر چندعامل، لازم است ابتدا خود عامل را معرفی کنیم. عامل یا agent یک سیستم کامپیوتری است که قادر به انجام اعمال مستقل و خودکار از طرف کاربر یا صاحب خود است. نکته اصلی در مورد عاملها، خودمختاری آنهاست، به این معنا که عاملها قادرند به طور مستقل عمل کنند و کنترلی روی حالات داخلی خود داشته باشند.
بدین ترتیب تعریف دیگری که برای عامل میتوان داشت این است که یک عامل یک برنامه کامپیوتری است که در بعضی محیطها قادر به انجام کارهای خودمختار یا به اصطلاح autonomous است.
در دستهبندی سادهای از عاملها میتوان به دو نوع عامل اشاره کرد، یکی عاملهای ساده و کماهمیت تر (Trivial Agents) که مثال ساده آن، ترموستات است و دوم عامل هوشمند (Intelligent Agents ) که در واقع همان برنامه کامپیوتری است که در بعضی محیطها قادر به انجام اعمال خودمختار و انعطافپذیر است.
تعریف (Etzioni and Wel
جزوه-مدل سازی مبتنی بر عامل-در قالب word- در 40 ص