![]() |
سیستم های چند عامله
سلام هر چی که در مورد سیستمهای چند عامله باشه می تونه به دردم بخوره.
|
با عرض سلا م من هم دنبال مقاله همراه با برنامه آن در مورد سیستم های چند عمله می باشم اگر کمکم کنید ممنون می شم
|
یه کم جزئی تر کنید سوالتونو !!!
|
سیستمهای چندعاملی چیست؟(Multi Agent Systems)
سیستم چندعاملی (Multi Agent Systems) یا به اختصار MAS روش نوینی برای حل مسائل و پیادهسازی پروژههای نرمافزاری رایانهای است. با اینکه زمان زیادی از پیدایش این گونه سیستمها نمیگذرد ولی استفاده از روشهای طراحی بر اساس عامل یکی از موفقترین راهحلهای موجود بوده و حاصل این شیوه طراحی یعنی سیستم حل مسائل به صورت توزیعشده از بهترین سیستمها به شمار میآید و به عنوان ابزار جدیدی برای حل انواع فرآیندهای انسانی شناخته میشود. این نوع سیستمها نسبت به سیستمهای معمولی و تکعاملی، مزایای زیادی دارند؛ از جمله اینکه در اکثر شرایط کار میکنند. به این معنا که چون مغز متفکر واحد ندارند و تصمیمگیری در آنها به صورت توزیعشده است، چنانچه حتی بخشی از آنها نیز از کار بیفتد باز هم به کار خود ادامه میدهند. همچنین این نوع سیستمها برای محیطهایی با مقیاس وسیع(Large Scale) و محیطهای ناشناخته نیز گزینه مناسبی نسبت به سیستمهای تکعاملی به شمار میآیند. سیستمهای مبتنی بر عامل، پردازش موازی را آسان کرده و به راحتی موازی میشوند. منظور از پردازش موازی این است که به جای انجام یک پروژه با محاسبات زیاد و پردازشهای سنگین توسط یک پردازشگر، همان پروژه را به پردازشهای کوچکتر با حجم محاسبات کمتر شکسته و آن را توسط چندین عامل انجام دهیم. مثلاً میزی را تصور کنید که برای بلند کردنش به 100 نیوتن نیرو احتیاج داریم، حال هم میتوانیم آن را توسط یک نفر که توانایی اعمال 100 نیوتن نیرو را دارد، بلند کنیم و هم این کار را به کمک چهار نفر که هر کدام 25 نیوتن نیرو به اشتراک میگذارند، انجام دهیم. در نتیجه، هزینهها در چنین سیستمی پایین میآید و نیازی به صرف هزینه کلان جهت ایجاد امکان پردازش سنگین برای یک عامل نیست. در این صورت، چندین عامل با قدرت پردازشی کمتر همان کار را حتی سریعتر انجام میدهند. البته این نوع سیستمها به نوبه خود معایبی نیز دارند که استفاده از آنها را محدود میکند. مهمترین عیب این سیستمها، کندی اندک در کار طراحی آنها و موازیسازی است که به نتیجه رساندن پروژه را به تعویق میاندازد. تعریف سیستم چندعاملی قبل از تعریف سیستم مبتنی بر چندعامل، لازم است ابتدا خود عامل را معرفی کنیم. عامل یا agent یک سیستم کامپیوتری است که قادر به انجام اعمال مستقل و خودکار از طرف کاربر یا صاحب خود است. نکته اصلی در مورد عاملها، خودمختاری آنهاست، به این معنا که عاملها قادرند به طور مستقل عمل کنند و کنترلی روی حالات داخلی خود داشته باشند. بدین ترتیب تعریف دیگری که برای عامل میتوان داشت این است که یک عامل یک برنامه کامپیوتری است که در بعضی محیطها قادر به انجام کارهای خودمختار یا به اصطلاح autonomous است. در دستهبندی سادهای از عاملها میتوان به دو نوع عامل اشاره کرد، یکی عاملهای ساده و کماهمیتتر (Trivial Agents) که مثال ساده آن، ترموستاتها هستند و دوم عاملهای هوشمند (Intelligent Agents ) که در واقع همان برنامه کامپیوتری است که در بعضی محیطها قادر به انجام اعمال خودمختار و انعطافپذیر است. در اینجا منظور از انعطافپذیر، انجام اعمال واکنشدار (دارای عکسالعمل) و پیشبینی یک واکنش و انجام زودتر عمل مناسب است. به عنوان اولین تعریف برای یک سیستم چندعاملی میتوان گفت: سیستم چندعاملی به سیستمی گفته میشود که از تعدادی عامل (agent) تشکیلشده است. این عاملها هر کدام به نوبه خود فعل و انفعالات داخلی داشته و در محیط خارج نیز با یکدیگر ارتباط دارند. در بیشتر موارد، عامل، با داشتن اطلاعات خاص و محرکهای مختلف، از طرف کاربر عمل میکند و در واقع یک عامل، میتواند نمایندهای از طرف انسان باشد که در محیطهای مجازی مانند او به تصمیمگیری و انجام کارهای مختلف میپردازد. برای داشتن ارتباطات داخلی موفق بین عاملها، آنها نیاز دارند که با یکدیگر همکاری کنند، هماهنگ باشند و مذاکره دوطرفه داشته باشند. درست به همان اندازه که انسانها در ارتباطات روزانه خود با هم ارتباط دارند و به مذاکره و داد و ستد میپردازند. دو مسئله کلیدی در طراحی سیستم چندعاملی دو مسئله کلیدی که در طراحی سیستمهای چندعاملی مطرح است: اول طراحی عامل و دوم طراحی محیطی برای عملکرد و ارتباط میان عاملها. در طراحی عامل، چگونگی ساخت عاملی که قادر به انجام کارهای مستقل و اعمال خودمختار باشد مدنظر است. به گونهای که بتواند کارهایی که بر عمدهاش گذاشتهایم را با موفقیت انجام دهد. در طراحی اجتماع یا محیط عاملها، نکته اساسی این است که چگونه عاملهایی طراحی کنیم که قادر به برقراری ارتباط با یکدیگر باشند. منظور از این ارتباط همان همکاری، هماهنگی و مذاکره بین عاملهاست. این کار برای انجام موفقیتآمیز وظایفی که بر عهده آنها گذاشتهایم، ضروری است؛ چرا که همه عاملها اهداف مشترک ندارند یا نمیتوانند با علایق یکسان ساخته شوند. منبع |
سلام
من نیاز به کد حل برنامه فیلسوفان دارم (مسئله ای که 5تا فیلسوف کنار هم نشستند و هرکدام میخوان غذا بخورن باید حتما 2تا چنگال داشته باشن) بچه ها این سوال پایان ترمم هست لطفا کمک کنید میخوام با init نوشته شده باشه و بدون state با waitc ممنون میشم اگر کمک کنید اگر با زبان سی شارپ هم باشه مشکلی نداره مرسی |
|
با سلام خدمت همه.
من نمی خواستم از اینترنت کپی پیست کنم واسه همین ۲ ، ۳ خط مینویسم. MAS یا همون Multi Agent System یک سیستم توزیع شده است که agent های تشکیل دهنده سیستم از ۳ جز یا بگیم قانون مهم پیروی میکنن: - Cognition: For addressing individual intelligence - Coordination: For pointing out how to create collective behavior - Collaboration: For clarification of what information to share and exchange همونطور که مشخصه باید agent ها رفتار collective با هم داشته باشن که منتهی میشه به رابطه Collaborative. پس برای همشون تعریف شده که برای کدوم قسمت از حل ریز مساله از هوش مصنوعی استفاده کنن و برای کدوم قسمت از حل مشکل باید با هم همکاری داشته باشن و همکاریشون باید باتوجه با دامنه سیستم هماهنگی اونا باشه. همونطور که گفتم این یه سیستم توزیع شده است که از تکنولوژی انتقال پیام یا همون Massage Passing برای پیاده سازی رفتار جمعی استفاده میکنه. اونائی که برنامه نویسی میکنن باید حتما از MPI استفاده کنن. خیلی سخت نیست با C# راحته . فقط طراحی سیستم خیلی مشکله. باید حواستون به Deadlock های Commonication ها باشه. ولی در کل MAS برای حل مسائل بزرگ در سیستم های کوچیک استفاده میشه که در اون، سیستم ها، یک سری اطلاعاتی رو که بر اساس هوش خودشون از مساله بدست میارن با دیگر سیستم ها به اشتراک میذارن تا حل مشکل بصورت موازی یا همگون پیش بره، که خوب زمان حل مساله رو خیلی کاهش میده . منظورم از سیستم های کوچک همون Agent ها هستن که نسبت به مساله کوچیکن. حتی میتونن موبایل دستی خودمون هم باشن فقط حداقل باید یه وسیله ارتباطی با بقیه داشته باشن. |
سلام
من نیاز به یک نمونه کد برای سیستم های چند عامله با عامل های هوشمند در متلب دارم جوری که بشه ازش یاد گرفت. اگه کسی میتونه کمک کنه بگه تا ایمیلم رو بزارم. ممنون. |
سلام
لطفا اگر در زمینه پلت فرم jade که برای سیستم های چند عامله استفاده می شود منبع اطلاعاتی دارید در اختیار من بگذارید. |
سلام
لطفا در مورد multi agent راهنمایی بفرمایید |
زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۱۲:۵۸ قبل از ظهر ميباشد. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.