Filter: یک تابع فیلتر که ورودی آن، عقاید، باورها و قصدهای عامل بوده و خروجی آن بر اساس فرایند تبادل نظر (قیاس) اهداف (قصد) جدید عامل است:

مجموعه ­ای از قصدهای، جاری که کانون فعالیت عامل را تعیین می­ کند.
Execute : تابع انتخاب عمل بر پایه قصد و اهداف فعلی که عملی را که باید انجام شود، تعیین می‌کند:

۲-۴-۲- سیستم­های چندعامله
سیستم‌های چندعامله، زیر حوزه­ای در حال رشد از هوش ­مصنوعی است که هدفش فراهم ساختن اصول ساخت سیستم‌های پیچیده­ای است که شامل چند عامل و ساز و کارهایی برای هماهنگ سازی رفتارهای این عامل‌ها می­باشد. چگونگی هماهنگ سازی دانش، اهداف، مهارت‌ها و برنامه­ ریزی­های عامل‌ها برای حل مسائل در این مقوله می­گنجد. عامل‌ها در محیط ممکن است در راستای هدفی خاص و مشترک و یا در راستای اهداف خاص و جداگانه­ ای که در تعامل با یکدیگر می­باشند، کار کنند. بحث هماهنگی در سیستم‌های چندعامله از مباحث اساسی بوده و بدون آن مزایای تعامل و رفتارهای اجتماعی عامل‌ها محو می­گردد. از دیدگاه هوش مصنوعی توزیع شده، سیستم چندعامله، اجتماعی از عامل‌های مستقل برای حل مسأله است که هر عامل کلیه خصوصیات مطرح شده را داراست. سیستم­های چندعامله دارای مشخصات زیر هستند[۲۲] :

( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )

دانش کافی و لازم برای حل یک مسأله در یک عامل وجود ندارد.
کنترل سیستم توزیع شده است. (یک سیستم کنترل کلی وجود ندارد.)
داده‌ها غیر متمرکز می‌باشند.
محاسبات به صورت غیر هم‌زمان صورت می‌گیرند.
شکل ۲- ۱: معماری BDI در عامل
سیستم‌های چندعامله راه­حل‌هایی را برای مسائل توزیع­شده در محیط­های محاسباتی باز و پویا فراهم می­آورند. راه حل چنین مسائلی می ­تواند بر مبنای چندین عامل که توزیع­شدگی مسأله، وجود چندین نقطه کنترل، چندین دیدگاه یا علائق در حالت رقابت را پوشش دهند، ارائه گردد. علاوه بر این، عامل‌ها برای رسیدن به اهداف خود نیاز به تعامل با یکدیگر خواهند داشت. این تعاملات که در سطح دانش صورت می­پذیرد، می ­تواند یک تبادل عقاید ساده، تمایلات، یا قصدها برای درخواست انجام عمل باشد که لازم است از طریق هماهنگی، همکاری و یا مذاکره برای مدیریت اعمال وابسته بهم صورت گیرد[۲۳]. این تعامل با تعامل در سایر سیستم‌های محاسباتی دو تفاوت عمده دارد: اول آنکه تعامل میان عامل‌ها در سطح دانش صورت می­گیرد [۲۳, ۲۴]. یعنی این تعاملات بر حسب اینکه چه هدفی باید در چه زمانی، توسط چه افرادی دنبال شود بیان می­شوند و دوم اینکه چون عامل‌ها موجودیت‌هایی انعطاف پذیر هستند که در محیطی که تنها بر روی بخشی از آن کنترل دارند عمل می­ کنند، تعاملات بین آن‌ها نیز باید انعطاف­پذیرتر باشد. لذا عامل‌ها باید بتوانند درباره محدوده تعاملات خود در زمان اجرا تصمیم ­گیری داشته و تعاملاتی را که در زمان طراحی نیز دیده­ نشده­اند، آغاز کنند و یا به آن‌ها پاسخ دهند. تعامل اجتماعی در عامل‌ها بدین معنی است که روابط موجود میان عامل‌ها در حال تکامل می­باشد و روابط جدیدی ایجاد می­گردد. بدین منظور لازم است تا قوانینی به منظور شکل دهی به روابط سازمانی و مکانیزم‌هایی به منظور تضمین انسجام گروهی و ساختارهایی برای مشخص کردن رفتار کلان مجموعه­ها در نظر گرفته شود. به عبارتی عامل‌ها، تعاملات سطح بالا و روابط سازمانی، مفاهیم اساسی در سیستم‌های چندعامله را به وجود می­آورند. یک سیستم چندعامله، از اجزای زیر تشکیل شده است:
یک محیط که در بر گیرنده اجزاء تأثیرگذار در سیستم چندعامله می­باشد. اما لزوماً تمام عوامل تأثیرگذار در حالت سیستم چندعامله، درون آن قرار ندارند.
تعدادی عامل. به طور معمول هیچ­گونه پیش­فرضی در مورد نوع، معماری و تعداد عامل­ها در یک سیستم چندعامله وجود ندارد. از این جهت می­توان یک سیستم چندعامله را به یک جامعه انسانی تشبیه نمود.
مجموعه ­ای از اشیاء درون محیط. هیچ پیش­فرض اولیه­ای در مورد این اشیاء نیز وجود ندارد.
مجموعه ­ای از روابط. این روابط، که می­توان آن­ها را به قوانین نیز تعبیر نمود، ارتباطات میان اشیاء با اشیاء دیگر و نیز ارتباطات بین عامل­ها با اشیاء را مشخص می­نمایند.
مجموعه­ عملیات قابل انجام توسط عامل­ها. این مجموعه شامل دو دسته کلی از عملیات می­باشد. عملیات حس (دریافت اطلاعات) از محیط و عملیات تأثیرگذار بر محیط.
البته به طور رسمی و دقیق سیستم چندعامله به صورت یک چهارتایی  است که در آن Ag = {Ag1, Ag2, …, Agn} مجموعه عامل‌های تشکیل دهنده سیستم­ چندعامله می‌باشد. Env محیطی است که سیستم چندعامله در آن عمل می­ کند. Org سازمان سیستم چندعامله و D قلمروی آن سیستم چندعامله است.
در ادامه، ما مذاکره که یکی از مباحث مهم موجود در بحث سیستم­های چندعامله است را معرفی خواهیم نمود. برای مطالعه بیشتر در مورد سیستم‌های چندعامله می­توانید به [۱۰] مراجعه کنید.
۲-۴-۲-۱- مذاکره
بیان شد که هماهنگی، صفت سیستمی از عامل‌ها می­باشد که هر کدام فعالیتی را در محیطی مشترک انجام می­ دهند. همکاری، هماهنگی میان عامل‌های غیر خودخواه است در حالیکه مذاکره، هماهنگی میان عامل‌های رقابتی یا منفعت طلب می­باشد.
مذاکره نوعی تعامل است که میان عامل‌هایی با اهداف یا مقاصد متفاوت صورت می­گیرد. مذاکره راه­حلی برای بعضی از مسائل مطرح در هوش مصنوعی توزیع شده مانند تجزیه و تخصیص مسئله، یکپارچگی و حل تضاد می­باشد. اهمیت و استفاده از سیستم‌های خودکار شده در حال افزایش است. یک دلیل برای این اهمیت ایجاد و رشد زیرساختار ارتباطی و محیط‌های ساخت و تولید استاندارد شده – اینترنت، وب، KQML، FIPA، محیط‌های ساخت سیستم‌های مبتنی بر عامل و زبان‌های برنامه­نویسی- می­باشد. دلیل دوم، نیاز به استفاده از مذاکره خودکار شده، در ایجاد برنامه ­های کاربردی که در سطح تصمیم ­گیری عمل می­ کنند، می­باشد. به عنوان مثال می­توان به سیستم‌های تجارت الکترونیکی برای خرید و فروش کالاها، اطلاعات و پهنای باند ارتباطی بر روی اینترنت، سازمان‌های مجازی، مدیریت شبکه ­های مخابراتی، سیستم‌های مبتنی بر وب و مدیریت فرآیندهای سازمانی اشاره نمود. تکنولوژی عامل، مذاکره در سطح تصمیم ­گیری عملیاتی را در این کاربردها تسهیل می­ کند. مذاکره خودکار شده در این کاربردها می‌تواند باعث صرفه­جویی در زمان مذاکره کنندگان انسانی شود. علاوه بر این چون عامل‌های محاسباتی در موقعیت‌های استراتژیک و پیچیده در یافتن قراردادهای کوتاه مدت از مذاکره کنندگان انسانی کاراتر هستند، می­توان به مزایای دیگری نیز دست یافت. محققین حوزه سیستم‌های چندعامله، مذاکره را راهی برای به اشتراک گذاشتن کارهای لازم برای انجام یک طرح مشترک یا مکانیزمی برای برطرف نمودن تضادهای پیش آمده بین عامل‌ها می­دانند. بسیاری از تکنیک‌هایی که برای هماهنگی استفاده می­شوند، شامل نوعی مذاکره هستند. Bussman و Muller تعریفی ابتدایی از مذاکره را به شکل زیر ارائه می­ دهند [۲۵] :
“… مذاکره فرایند ارتباطی گروهی از عامل‌ها به منظور رسیدن به اتفاق نظر بر روی موضوعی خاص می­باشد …".
اگر عامل‌ها بخواهند به شکلی موثر مذاکره کنند، باید درباره باورها، تمایلات و قصدهای سایر عامل‌ها استدلال نمایند و این مسأله باعث به وجود آمدن تکنیک‌هایی برای نمایش و نگهداری مدل‌هایی از باورها، استدلال درباره عقاید سایر عامل‌ها و تأثیرگذاری بر روی مقاصد و باورهای سایر عامل‌ها شده است. اجازه دهید تا فرایند مذاکره را از یک دیدگاه رسمی­ تعریف نماییم [۲۶]. هر فرایند مذاکره شامل چهار مؤلفه اصلی می‌باشد:
مجموعه مذاکره: فضای نمونه‌ای که پیشنهادات ممکن عامل‌ها را در بر می‌گیرد.
پروتکل مذاکره: مجموعه پیشنهادات قانونی را که یک عامل در یک مرحله از مذاکره می‌تواند ارائه دهد را تعریف می‌کند.
مجموعه استراتژی­ها: در یک مذاکره ممکن است دو یا چندین عامل شرکت داشته باشند که هر یک دارای استراتژی خاص خود بوده و این استراتژی هر عامل است که مشخص می‌کند آن عامل چه پیشنهاداتی را ارائه خواهد کرد. مسلماً استراتژی یک عامل شرکت کننده در یک مذاکره از دید بقیه عامل‌های موجود در مذاکره پنهان خواهد بود.
یک قاعده یا قانون که مشخص می‌کند، چه هنگام توافق بین مذاکره کنندگان حاصل گردیده است.
پیشنهادهایی که در فضای نمونه ­ای که توسط مجموعه مذاکره مشخص می­گردد، وجود دارند همگی شامل دو شرط مهم هستند. شرط اول این است که هیچ‌کدام از پیشنهادات به گونه‌ای نباشد که قبول آن برای عامل مقابل بدتر از حالت Conflict deal باشد. حالت Conflict deal حالتی است که در آن عامل پیشنهادات را قبول نکرده و خود تنها کار می­ کند. شرط مهم دیگری که باید وجود داشته باشد، شرط pareto optimal بودن پیشنهادات است به این معنی که پیشنهادات به گونه‌ای باشند که هیچ‌یک از عامل‌های درگیر در مذاکره نتوانند سودمندی بیشتری داشته باشد، مگر اینکه عامل دیگری در قبال این سود بیشتر متحمل ضرر گردد.
پروتکل مذاکره مشخص کننده تعداد تکرارهای مذاکره، نحوه شروع مذاکره، قوانین لازم برای انجام مذاکره و مواردی از این قبیل خواهد بود.
استراتژی یک عامل در مذاکره باید پاسخ سوالات زیر را مشخص کند:
اولین پیشنهاد چگونه باید باشد؟
چه هنگام باید در مورد کاهش یا افزایش سودمندی پیشنهادی انعطاف به خرج داد؟
اگر تصمیم به کاهش یا افزایش سودمندی گرفته شد، مقدار این کاهش یا افزایش چقدر باید باشد؟
پس از معرفی عامل و سیستم‌های چندعامله در این بخش، حال قصد داریم تا مبحث بهره‌گیری از عامل برای داده ­کاوی را مطرح نماییم. بخش آتی به بررسی این موضوع می ­پردازد.
۲-۵- بهره­ گیری از عامل برای داده ­کاوی
در این قسمت قصد داریم تا دلایل استفاده از عامل و سیستم‌های چندعامله را برای عمل داده ­کاوی بیان نماییم. سیستم‌های چندعامله را می­توان به عنوان یکی از انواع سیستم‌های باز در نظر گرفت که امکان همکاری یا رقابت تحت قواعد محیطی مشخص را برای دست‌یابی به هدف مشترک یا هدف خاص هر عامل فراهم می­سازند. هر عامل، بدون توجه به معماری آن، می ­تواند در محیط فعالیت کرده و سود خود یا محیط (که می ­تواند به هر صورتی تعریف شود) را به حداکثر برساند. سیستم‌های چندعامله به صورت ذاتی با یک محیط داده کاوی توزیع شده تطبیق دارند و همین امر موجب گستردگی کاربرد آن‌ها در این قلمرو شده است.
۲-۵-۱- سیستم­های چندعامله، بستری برای داده ­کاوی توزیع شده
چرا تعاملات و یکپارچه کردن عامل‌ها و داده‌کاوی (به طور مخفف، کاوش عامل[۲۷-۳۰]) اهمیت دارد؟ برای درک بهتر این بحث، در اینجا، موارد شباهت سیستم­های چندعامله و داده ­کاوی توزیع شده را مطرح کرده و به توضیح هر یک می­پردازیم.
توزیع‌شدگی منابع اطلاعاتی
با توجه به عدم امکان تجمیع داده ­ها جهت اجرای فرایند داده ­کاوی، می­توان منابع اطلاعاتی یا همان پایگاه داده ­ها را به دو صورت در نظر گرفت. یک راه آن است که هر منبع اطلاعاتی را به صورت یک شیء در نظر بگیریم. چنین رویکردی می ­تواند اجازه بهره ­برداری از منبع اطلاعاتی را به عامل­های موجود بدهد. اما هیچ­گونه خاصیت خود آغازی و یا خواص دیگری از عامل را به منبع اطلاعاتی نخواهد داد. راه دوم، در نظر گرفتن یک عامل مسئول به ­ازای هر منبع اطلاعاتی است. چنین عاملی می ­تواند ضمن بر عهده داشتن نقش­های متداول یک سیستم مدیریت بانک اطلاعاتی رابطه­ای، وظایفی نظیر اعلام موجودیت (مثلاً به یک دایرکتوری مرکزی یا به صورت آگهی در منابع خاص)، انجام پیش‌پردازش­های لازم و اعلام توانائی­ها و سرفصل­های منبع اطلاعاتی ذی‌ربط را بر عهده بگیرد. چنین عاملی می ­تواند در صورت لزوم، آمادگی خود را برای انجام یک وظیفه خاص که توسط یک عامل دیگر (کارفرما) تعریف می­ شود اعلام نموده و در صورت توافق، پس از اجرای وظیفه و ارائه نتایج، هزینه­ های مربوطه را از عامل کارفرما دریافت دارد. در مجموع، ارائه هر منبع اطلاعاتی به صورت یک عامل، ضمن آنکه با توجه به منفعت­گرا بودن عامل مربوطه، منجر به افزایش احتمال کشف وجود آن منبع اطلاعاتی توسط عامل­های دیگر می­ شود، می ­تواند بسیاری از وظایف مفید دیگر را نیز بر عهده عامل مربوطه قرار داده و منجر به افزایش منفعت برای آن (از طریق انجام فعالیت­های مورد درخواست سایر عامل­ها و ارائه نتایج) شود.
توزیع‌شدگی و تنوع روش­ها و سیستم­های داده ­کاوی
رویکردها و روش­های بسیار متنوعی در داده ­کاوی وجود داشته و هر روشی برای کاربرد خاصی مناسب بوده و نوع مشخصی از دانش را از اطلاعات استخراج می­نماید. این تعدد و تکثر روش­ها، اگرچه منجر به کاربرد بیشتر داده ­کاوی در مسائل عملی گردیده، اما از سوی دیگر، موجب مشکلی به نام انتخاب روش یا سیستم داده ­کاوی مناسب یک کاربرد یا مسئله خاص، برای کاربران و سازمان­ها گردیده­ است. سیستم­های داده ­کاوی تجاری، به پیاده­سازی روش­های معمول داده ­کاوی می‌پردازند؛ حال آنکه الگوریتم­های مجزا، معمولاً آخرین دستاوردها در زمینه داده ­کاوی را به نمایش می­گذارند. به کارگیری یک ابزار یا الگوریتم داده ­کاوی نیز خود می ­تواند یک مسئله نه چندان ساده باشد. یک راه برای غلبه بر چنین مشکلی، توسعه عامل­هائی است که در داده ­کاوی تخصص دارند. این تخصص می ­تواند از دو بعد مطرح باشد، از جنبه روش داده ­کاوی و از جنبه کاربرد. به عنوان مثال می‌توان عامل­های متخصصی داشت که در کشف موارد نامتعارف موجود در منابع اطلاعاتی که با الگوهای عادی آن­ها سازگار نیست (نظیر سوء استفاده از کارت­های اعتباری و یا ادعاهای غیرواقعی خسارت توسط بیمه­شدگان) مهارت دارند. چنین تخصصی می ­تواند مورد استفاده بسیاری از سازمان­ها قرار گیرد. با در اختیار داشتن عامل­های نماینده منابع اطلاعاتی مختلف، می­توان عامل متخصصی داشت که ضمن فاش نکردن منابع اطلاعاتی دیگر، خود بتواند به عنوان مثال، احتمال واهی بودن یک ادعای خسارت را مشخص نماید.
در نظر گرفتن عامل­های داده ­کاوی متخصص در یک کاربرد خاص نیز چشم­انداز امیدبخشی دارد. می­توان عامل­هائی را در نظر گرفت که در تشخیص نوع خاصی از یک بیماری مهارت دارند. این عامل­ها ممکن است به نوبه خود، بخشی از وظایف را از طریق مکانیزم­ های پیمانکار-کارفرما، به عامل‌های متخصص در یک فرایند داده ­کاوی خاص واگذار نموده و دقت پیش ­بینی­های خود را به صورت قابل ملاحظه­ای افزایش دهند. در نظر گرفتن عامل­های متخصص داده ­کاوی، نه تنها منجر به مزایائی که ذکر گردید می­ شود، بلکه راه را برای فعالیت­های پیچیده­تر و مفیدتر نیز باز می­ کند.
بکارگیری مکانیزم­ های مناسب برای حل مسائل پیچیده
فرایند حل مسئله، از دیگر مواردی است که می ­تواند در چارچوب پیشنهادی مورد بررسی قرار بگیرد. مکانیزم­ های متعددی برای حل مسئله از طریق همکاری عامل­ها، در سیستم­های چندعامله وجود دارد. از آن جمله می­توان مکانیزم تخته­سیاه را نام برد. توضیح تفصیلی این مکانیزم­ ها، خارج از محدوده این گزارش است؛ صرفاً به عنوان یک مثال، مکانیزم تخته­سیاه را مورد بررسی اجمالی قرار می­دهیم. در روش تخته­سیاه، یک عامل وظیفه نظارت را بر عهده داشته و سایر عامل­ها که نماینده متخصصین هستند، برای حل مسئله با یکدیگر همکاری می­ کنند. هر عامل (متخصص)، در صورتی که بر اساس محتوای تخته سیاه تشخیص دهد که می ­تواند به پیشرفت راه­حل مسئله کمک کند، این اقدام را از طریق افزودن مطالبی به راه­حل موجود (تخته سیاه) انجام می­دهد. ناظر، وظیفه دادن نوبت به عامل­ها برای افزودن به راه­حل موجود یا کاستن از آن را بر عهده دارد. این فرایند تا حل کامل مسئله مورد نظر ادامه خواهد یافت.
داده ­کاوی توزیعی به عنوان یک اتحاد موقت و مسئله مذاکره
همان­گونه که در بخش‌های قبل نیز بیان شد، یکی از دلائل رشد و توسعه داده ­کاوی توزیع شده، وجود رقابت بین سازمان‌های مرتبط و عدم تمایل آن­ها به اشتراک گذاری اطلاعات خام می­باشد. می­توان مکانیزم­هائی را در نظر گرفت (نظیر مکانیزم مزایده) که بتوانند بستر مناسب برای این نوع از داده ­کاوی را فراهم نمایند. مکانیزم باید به هر عامل (نماینده سازمان ذی‌ربط) امکان برآورد منافع و خطرات موجود در شرکت در فرایند داده ­کاوی مشترک را ارائه نماید. همچنین نحوه مبادله اطلاعات و مذاکره در مورد اطلاعات قابل مبادله نیز می ­تواند موضوعی برای تحقیق باشد.
۲-۶- مروری بر کارهای انجام شده

موضوعات: بدون موضوع  لینک ثابت