(۲-۴)
حداقل اطمینان ( (s) پشتیبان / (L) پشتیبان)
پروسه استخراج قواعد انجمنی عبارت است از:
ابتدا همهی اقلام مکرر را که بیشتر یا مساوی با آستانهی پشتیبان هستند بیابید.
برای تمامی اقلام مکرر، همهی زیر مجموعههای آنها را استخراج کنید.
همهی قواعد ممکن را استخراج کنید.
قواعدی را بپذیرید که از بیشتر و یا آستانهی اطمینان برخوردار باشند.
در اینجا برای پیدا کردن این قواعد از الگوریتم ساده Apriori یا الگوریتم پیشنیاز استفاده میکنیم. فرض کنید که ابتدا باید تمام مجموعههای تک عضوی مکرر را پیدا کنید، سپس بر اساس آن مجموعههای دو عضوی مکرر را پیدا کنید و الی آخر. در هر مرحله باید کل فضا جستجو شود اما این الگوریتم از خصوصیت Apriori استفاده میکند به این صورت که “اگر مجموعهای از عناصر مکرر باشد، تمام زیرمجموعههای غیر تهی آن نیز مکرر خواهند بود".[۲۰]
هر زیر مجموعهی یک مجموعه مکرر، خود نیز مکرر است. این خصوصیت را اینگونه نیز میتوان توصیف کرد: اگر مجموعه I به تعداد مشخصی تکرار شده باشد و اگر ما A را به آن اضافه کنیم تعداد تکرار این مجموعه از مجموعه قبلی بیشتر نخواهد بود. پس اگر اولی مکرر نباشد دومی نیز مکرر نخواهد بود. این الگوریتم از این خصوصیت استفاده میکند و در اینجا عملکرد آن را شرح میدهیم: میدانیم که از یک زیرمجموعه ۱-k عضوی یا همان Lk-1 برای به دست آوردن Lk یعنی مجموعههای k عضوی استفاده میشود. این کار در دو مرحله صورت میگیرد، ابتدا باید مجموعهای از اعضا پیدا شود که با ترکیب LK-1 با آنها Lk به دست آید. این مجموعه از عناصر را Ck نامیده و مرحله به دست آوردن آنها را پیوست[۲۱] مینامیم. مرحله بعد اضافه کردن این عناصر به مجموعههای قبلی است که آن را مرحله هرس[۲۲] مینامیم. در زیر این دو مرحله شرح داده میشوند.
۲-۲-۳-۱-۲-۱- مرحله پیوست
ابتدا باید مطمئن شویم که عناصر بر مبنای ترتیب حروف الفبا مرتب شدهاند. دو مجموعه از Lk-1 با یکدیگر قابل پیوست هستند اگر ۲-k عنصر اول آنها با یکدیگر برابر باشند. یعنی: توجه کنید که دو عنصر آخر مرتب شدهاند و از وجود عناصر تکراری جلوگیری میکنند. با اجتماع دو مجموعه قابل پیوست، آن دو مجموعه ترکیب میشوند.
با این روش، مجموعه ترکیب شده حاصل k عضو خواهد داشت که البته عنصر آخر (از نظر ترتیبی) از مجموعه دوم خواهد بود. در مثال زیر دو مجموعه (۴، ۲، ۱) و (۳، ۲، ۱) را در نظر بگیرید: مجموعه اول و دوم مرتب هستند و داریم: ۴>3>2>1 پس میتوان مجموعه ترکیب شده زیر را به دست آورد.
(۳ ۲ ۱) = مجموعهی اول = LK-1
|| ||
(۴ ۳ ۲ ۱) = مجموعهی ترکیب شده = Ck
|| ||
(۴ ۲ ۱) = مجموعهی دوم = LK-1
۲-۲-۳-۱-۲-۲- مرحله هرس
Ck مجموعهای از Lkها است که هر عنصر آن یا مکرر است یا خیر، اما تمام عناصر مکرر در آن قرار دارند. حال تمام عناصر این مجموعه باید بررسی شوند تا مکرر بودن آنها مشخص شود اما چون ممکن است تعداد آنها زیاد باشد لذا برای کاهش حجم محاسبات از اصل Apriori استفاده میشود. به این صورت اگر یکی از زیرمجموعههای این مجموعه مکرر نباشد آن مجموعه نیز مکرر نخواهد بود. بنابراین برای پیدا کردن مجموعههای مکرر کافی است مجموعههای غیر مکرر را از آنها جدا کنیم به این صورت که اگر عضوی از Ck در Lk-1 نباشد مکرر نیز نخواهد بود.
۲-۲-۳-۱-۳- محاسبه اطمینان و استخراج قواعد نهایی
پس از آنکه مجموعههای قوی استخراج شدند حال نویت استخراج قواعد است:
(۲-۵)
اطمینان
برای هر مجموعه مکرر L تمام زیر مجموعههای غیرتهی را در نظر میگیریم. برای هر زیر مجموعهی s قواعد را به صورت زیر شکل میدهیم. “s ⇒ (L - s)” سپس اطمینان را حساب کرده و اگر بیشتر از حداقل قابل قبول بود آن را میپذیریم.
۲-۳- داده کاوی توزیع شده
دادهکاوی توزیع شده عبارت است از کشف نیمه خودکار الگوهای پنهان موجود در داده ها، در حالتی که داده ها و یا مکانیزمهای استنتاج، به صورت توزیع شده باشند. غیرمتمرکز بودن داده ها بدان معناست که دادهها به صورت توزیع شده بین دو یا چند سایت بوده و هزینه انتقال تمام یا بخشی از داده ها به یک سایت مرکزی، قابل صرفنظر نباشد. توزیع شده بودن مکانیزمهای استنتاج، به معنای لزوم لحاظ کردن هزینه ارتباط بین مکانیزمهای مختلف در حال استخراج دانش میباشد. این توزیعشدگی ممکن است به دلایل مختلفی از جمله ارائه شدن مکانیزم استخراج دانش در قالب یک سرویس اینترنتی و یا صرفاً ناشی از توزیعشدگی داده ها باشد. چنین رویکردی به داده کاوی، برخلاف جهت کلی تحقیقات انجام شده است که به طور عمده به تکنیکهای متمرکز پرداخته و نه فقط بر تمرکز، که بر همگونی و ساختار مسطح (در مقابل ساختار رابطهای) داده های هدف متکی میباشند. مسائلی نظیر استخراج دانش در حالت عدم دسترسی به تمام داده های موجود، برقراری ارتباط موثر و بهینه با سایر مکانیزمهای در حال استخراج دانش و نیز تبادل دانش یا اطلاعات میانی به جای اطلاعات خام، فقط تعدادی از مسائل اولیه داده کاوی توزیع شده با توجه به تعریف آن میباشند. بنابراین، داده کاوی توزیع شده در عین حال که به عنوان راه حلی کلیدی برای مشکلات اصلی پیش روی داده کاوی مطرح میباشد، خود سرمنشأ چالشها و مسائل متعددی گردیده است؛ حل مؤثر این مشکلات منجر به استفاده هرچه بیشتر از داده کاوی و ایجاد امکانات جدید و بهره برداری از پتانسیلهای موجود در قلمروهائی خواهد شد که علیرغم نیاز مبرم به داده کاوی، استفاده بسیار محدودی از آن به عمل میآورند.
بحث داده کاوی توزیع شده به طور کلی از دو جهت قابل بررسی میباشد. اول حالتی که در آن داده ها به صورت همسان بین پایگاههای مختلف توزیع شده اند و داده های هر پایگاه تمام خصوصیات را دارا هستند. در این حالت داده ها ممکن است ذاتاً توزیع شده باشند و یا اینکه داده های متمرکز به دلایل امنیتی یا غیره بین پایگاههای مختلف تقسیم شده باشند. اصطلاحاً به این حالت ، تقسیم شده به صورت افقی[۲۳] نیز گفته می شود.[۹] حالت دوم حالتی است که در آن داده های موجود در هر پایگاه داده دارای خصوصیتهای مختلف میباشند. معمولاً در این موارد داده ها خود بین پایگاههای مختلف تقسیم گردیدهاند و ذاتاً توزیع شده نیستند. از اینرو به این حالت تقسیم شده عمودی[۲۴] نیز گفته می شود.[۹] برای ایجاد ارتباط بین خصوصیتهای مختلفی که در پایگاههای مختلف نگهداری میشوند اما متعلق به یک داده هستند، معمولاً یک خصوصیت مشترک که به عنوان شناسه مورد استفاده قرار میگیرد، بین تمام پایگاههای مختلف نگهداری می شود که رکوردهای مختلف را بهم ارتباط میدهد.
در داده کاوی توزیع شده نیز مسأله کشف و استخراج دانش مشابه داده کاوی عادی در زمینه های خوشهبندی توزیع شده، کشف قواعد وابستگی به صورت توزیع شده و طبقه بندی توزیع شده (که با نام یادگیری توزیع شده طبقهبند هم از آن نام برده می شود) مورد تحقیق و بررسی قرار میگیرد. ضمن اینکه در بحث داده کاوی توزیع شده، مسأله مربوط به محرمانگی داده ها[۲۵] حتماً باید مدنظر قرار گیرد. برای مطالعه بیشتر در مورد داده کاوی توزیع شده میتوانید به مرجع [۹] مراجعه نمایید.
۲-۴- عاملها و سیستمهای چندعامله
از آنجا که در طول این پایان نامه با مفهوم عامل و سیستمهای چندعامله سرو کار خواهیم داشت، لذا به نظر میرسد ضروری است تا ابتدا با مفهوم عامل و سیستمهای چندعامله بیشتر آشنا شویم و برخی از خصوصیات آنها را که در طول پایان نامه استفاده خواهیم کرد، را بیان نماییم.
۲-۴-۱- عامل
با توجه به آنکه از این به بعد به طور گستردهای با عاملها سروکار خواهیم داشت، داشتن تعریفی یکنواخت از عامل در طول گزارش ضروری به نظر میرسد. تعاریف متعددی برای عامل وجود دارد که هیچیک دیگری را نقض نمیکنند، بلکه رابطه تعاریف موجود با یکدیگر را میتوان یک رابطه مکمل دانست. به بیان دیگر، تعاریف موجود در مورد عامل، تکمیلکننده یکدیگر میباشند.
یک تعریف مختصر و در عین حال نسبتاً کامل و دربردارنده خصوصیات مورد نظر ما از عامل به شرح زیر میباشد:
یک سیستم (نرمافزار) کامپیوتری که خودکار بوده و دارای قابلیت های اجتماعی، توانائی واکنش و برنامه ریزی برای آینده میباشد.[۱۰]
در تعریف فوق، خودکار بودن به معنای انجام عملیات بدون دخالت مستقیم کاربر (انسان) میباشد. توانائی واکنش، عبارت است از توانائی پاسخ به محیط. بدیهی است که این پاسخ به محیط باید به موقع انجام شود. توانائی برنامه ریزی برای آینده، به معنای داشتن هدف است. هدفدار بودن نه یک مفهوم انتزاعی، بلکه به معنای مشاهده رفتار هدفدار از سوی عامل است. در اینجا قصد نداریم یک بحث طولانی را در مورد نکات بسیار زیادی که در تعریف فوق وجود دارد آغاز کنیم اما چند نکته را به ضرورت بیان میکنیم.
اولین مسئلهای که در تعریف فوق حائز اهمیت فراوان میباشد، مسئله رفتار هوشمند است. همانگونه که مشاهده می شود، اثری از مفهوم هوشمندی در تعریف ارائه شده از عامل وجود ندارد؛ حال آنکه در مطالعات و بررسیهای انجام شده روی عامل، هوشمندی از نکات کلیدی است. سوال مطرح در اینجا آن است که آیا ما قصد داریم بدون در نظر گرفتن هوشمندی به بررسی و استفاده از عامل بپردازیم؟ پاسخ این سوال در تعریف ارائه شده وجود دارد: ترکیب صفات خودکار بودن، قابلیت واکنش و برنامه ریزی برای آینده، می تواند از یک منظر به عنوان وجود هوش تلقی شود. این امر با توجه به این نکته مهم، بیشتر تجلی مییابد که پیادهسازی هیچ یک از سه مورد فوق، به تنهایی، در یک سیستم کامپیوتری، چندان مشکل نیست. در حقیقت سیستمهای کامپیوتری زیادی وجود دارند که خودکار بودن و رفتار صرفاً واکنشی، یا خودکار بودن و رفتار برنامهریزی برای آینده را به صورت همزمان دارا میباشند؛ آنچه که می تواند مسئله را پیچیده ساخته و نمادی از هوش باشد، ترکیب صحیح رفتار واکنشی و برنامه ریزی برای آینده است؛ کاری که حتی برای انسانها نیز چندان ساده نیست. انتخاب نوع رفتار واکنشی و مقطع زمانی صحیح برای واکنش به محیط، ضروری است. از سوی دیگر، برنامه ریزی برای آینده، اقدامی لازم برای پیشرفت و بهبود میباشد. حال یک مسئله مهم، نحوه ترکیب این دو رفتار کلیدی با یکدیگر و دستیابی به یک حالت تعادل مناسب است که در آن، عامل ضمن واکنش مناسب به تغییرات محیط، هدف یا اهداف خود را نیز دنبال مینماید. برای پیادهسازی این رفتار هوشمند، راهحلها و معماریهای مختلفی ارائه شده است، اگرچه تمام این راهحلها، چنین تعریفی را از هوشمندی ندارند.
۲-۴-۱-۱- مقایسه عامل با شیء
اشیاء در محیط به صورت مجموعه ای از صفات و قابلیتها در نظر گرفته میشوند. شی بر روی وضعیت داخلی خودش کنترل دارد و میتوان گفت شی نوعی خود مختاری بر روی وضعیت خودش به نمایش میگذارد. عاملها در واقع اشیاء فعال هستند، یعنی هر عامل دارای یک موجودیت فعال و دارای رشته کنترلی مختص خود است. به عبارت دیگر عامل مستقل از دیگران و بدون نیاز به کنترل توسط عاملهای دیگر و یا انسان قادر به حیات است. اگر عامل بتواند عملی را انجام دهد و عامل دیگری از این عامل بخواهد که این عمل را برایش انجام دهد، عامل در انجام این عمل خود مختار است. شی بر خلاف عامل بر روی رفتار خودش کنترلی ندارد. یعنی اگر شی متد m را برای فراخوانی در اختیار اشیاء دیگر بگذارد، آنگاه در صورتی که متد از نظر دسترسی عمومی باشد، دیگر شی بر روی اجرای متد کنترلی ندارد. واضح است که متد شیء باید برای اغلب شیء های دیگر در دسترس باشد، زیرا در یک سیستم شیگرا، شیهای تشکیل دهنده سیستم از طریق همکاری با یکدیگر و فراخوانی متدهای یکدیگر باعث انجام اعمال مختلف سیستم میشوند، بنابراین در سیستمهای شیگرا، مرکز تصمیم گیری در ارتباط با انجام یک عمل در شی، فراخوانی کننده متد شی دیگر است، اما در سیستمهای چندعامله این مرکز تصمیم گیری، در عامل دریافت کننده درخواست، برای انجام عمل به خصوص میباشد. همچنین عاملها دارای اشیاء دارای هدف میباشند. در راستای هدفگرا بودن عامل، نیاز به خودمختاری نیز اهمیت دارد به طوری که عاملها با توجه به هدف تعریف شده بدون دخالت عاملهای دیگر به انجام اعمال خود میپردازند. ارتباطات بین اشیاء از طریق فراخوانی توابع که به صورت مجموعهای از مسئولیتهای از پیش تعریف شده هستند صورت میگیرد، در حالیکه در عاملها ارتباطات از طریق زبانهای ارتباطی است که هیچ مجموعهای از پیامها و یا موجودیتهای از پیش تعریف شده وجود ندارد.
به طور کلی تفاوت بین اشیاء و عاملها را میتوان به صورت زیر خلاصه کرد:
عاملها نسبت به اشیاء خود مختار هستند. عاملها خودشان نسبت به انجام درخواست عامل دیگر تصمیم میگیرند.
عاملها قابلیت رفتار انعطاف پذیر دارند. در مدل استاندارد شی گرا این قابلیتها در نظر گرفته نمیشود.