پایان نامه داده¬کاوی پويا با استفاده از عامل
چکيده
امروزه با توجه به گسترش روز افزون اطلاعاتی که بشر با آنها سر و کار دارد، بهرهگيری از روشهايی همچون دادهکاوی برای استخراج دانش و اطلاعات نهفته در دادهها، امری غيرقابل اجتناب میباشد. بدليل حجم بسيار بالای دادهها در بسياری از کاربردها و اهميت بيشتر دادههای جديد، ذخيرهسازی اين دادهها امری مقرون به صرفه نيست، لذا دادههايی که بايد مورد پردازش قرار گيرند، همواره بصوت پويا در حال تغيير و تحول هستند. مساله ديگری که امروزه در بحث دادهکاوی وجود دارد، بحث توزيع شدگی ذاتی دادهها است. معمولا پايگاههايی که اين دادهها را ايجاد يا دريافت میکنند، متعلق به افراد حقيقی يا حقوقی هستند که هر کدام بدنبال اهداف و منافع خود میباشند و حاضر نيستند دانش خود را بطور رايگان در اختيار ديگران قرار دهند.
با توجه به قابليتهای عامل و سيستمهای چندعامله و مناسب بودن آنها برای محيطهای پويا و توزيع شده بنظر میرسد که بتوان از قابليتهای آنها برای دادهکاوی در محيطهای پويا و محيطهای توزيع شده بهره برد. اکثر کارهايی که تاکنون در زمينه بهرهگيری از عامل و سيستمهای چندعامله انجام شده است خصوصيتهايی همانند خودآغازی و بخصوص متحرک بودن عاملها را مورد بررسی قرار داده است و در آنها مواردی همچون هوشمندی، يادگيری، قابليت استدلال، هدفگرايی و قابليتهاي اجتماعی عاملها مورد بررسی قرار نگرفته است. در اين تحقيق ما قصد داريم تا ضمن بررسی کارهای موجود در زمينه کاربرد عامل و سيستمهای چندعامله در دادهکاوی، بحث طبقهبندی جريان دادهها را در يک محيط پويا مورد بررسی قرار دهيم. ما مساله خود را در دو فاز مورد بررسی قرار خواهيم داد. در فاز اول خصوصيتهای يک عامل تنها مورد بررسی قرار خواهد گرفت و در فاز دوم قابليتهای اجتماعی عاملها مانند مذاکره، دستيابی به توافق و … برای دادهکاوی در يک محيط پويا و توزيعشده رقابتی مورد استفاده قرار خواهد گرفت. بطور کلی دستاوردهای اصلی اين تحقيق عبارتند از 1) ارائه يک رويکرد مبتنی بر عامل برای مساله طبقهبندی جريان دادههای دارای تغيير مفهوم و پويا با استفاده از قابليتهای هدفگرايی، هوشمندی، يادگيری و استدلال 2) ارائه يک رويکرد مبتنی بر سيستمهای چندعامله برای طبقهبندی جريان دادههای توزيعشده در يک محيط رقابتی با استفاده از قابليتهای اجتماعی عاملها و دستيابی به توافق. نتايج حاصل از آزمايشات انجام شده در اين پاياننامه نشاندهنده برتری استفاده از عاملها و سيستمهای چندعامله برای بحث طبقهبندی و دادهکاوی در محيطهای پويا و توزيع شده میباشد.
کلمات کليدی:
دادهکاوی[1]، طبقهبندی[2]، جريان داده[3]، عامل[4].
فهرست مطالب
1-1- مقدمهای بر دادهکاوی.. 2
1-1-3-1- طبقهبندی مبتنی بر قواعد. 5
1-3- عاملها و سيستمهای چندعامله. 8
1-3-1-1- مقايسه عامل با شی.. 9
1-4- بهرهگيری از عامل برای دادهکاوی.. 19
1-4-1- سيستمهای چندعامله، بستری برای دادهکاوی توزيع شده 19
2-1- مقدمهای بر دادهکاوی پويا 24
3-2- دادهکاوی توزيعشده ايستا 35
3-2-2- روشهای مبتنی بر توزيع ذاتی دادهها 37
3-3- کارهای مهم انجام شده در زمينه دادهکاوی با استفاده از عامل. 38
3-4- کارهای انجام شده در زمينه طبقهبندی جريان دادهها 41
3-4-1- روشهای طبقهبندی Ensemble-based. 41
3-4-2- درختهای تصميم بسيار سريع. 43
3-4-3- طبقهبندی On-Demand. 46
3-4-5- الگوريتمهای LWClass. 49
3-4-8- طبقهبندی جريان دادهها با استفاده از يک روش Rule-based. 53
4-2- تعريف مساله برای فاز اول. 56
4-2-2- مفهوم يا مدل موجود در جريان داده 57
4-2-3- مساله طبقهبندی جريان دادههای دارای تغيير مفهوم. 57
4-3- تعريف مساله برای فاز دوم. 59
5-2- رويکرد پيشنهادی برای فاز اول پروژه 63
5-2-1- عامل و ويژگيهای آن در اين مساله. 64
5-2-3-3- تابع ارزيابی محيط.. 70
5-2-3-3-1- نحوه تشخيص اطلاعات و نگهداری الگوهای recur در جريان داده 70
5-2-3-3-2- نحوه استخراج الگوهای recur 70
5-2-3-3-3- نحوه بروزرسانی اطلاعات مربوط به الگوهای recur 73
5-2-3-3-4- نحوه محاسبه وقوع احتمال وقوع يک الگوی خاص… 74
5-2-3-5- بخش تصميمگيری و Planning. 79
5-2-3-5-1- بخش تصميمگيری.. 79
5-3- رويکرد پيشنهادی برای فاز دوم مساله. 87
5-3-3-1- معماری عاملهای دادهکاو. 92
5-3-3-1-2- تابع Generate Options. 95
5-3-3-1-5- 1- Plan مربوط به طبقهبندی.. 97
5-3-3-1-5-2- Plan مربوط به تطبيق طبقهبند 98
5-3-3-1-5-3- Plan مربوط به خريد و فروش قواعد با استفاده از مذاکره 101
6-3- مجموعه دادههای مورد استفاده 116
6-3-1- مجموعه دادههای استاندارد. 116
6-3-2- مجموعه دادههای واقعی.. 117
6-4- معيارهای ارزيابی و روشهای مورد استفاده برای مقايسه. 117
6-5-1- آزمايشات مربوط به فاز اول. 119
6-5-2- آزمايشات مربوط به فاز دوم. 128
فهرست اشکال
- شکل 1-1- معماری BDI در عامل. 15
- شکل 3-1- درخت تحقيق مربوط به طبقهبندی در مبحث دادهکاوی.. 34
- شکل 3-2- طبقهبندی مبتنی بر Ensemble. .44
- شکل 3-3- چارچوب روش On-Demand. 47
- شکل 3-4- نمايی از سيستم OLIN.. 49
- شکل 3-5- پروسه SCALLOP. 53
- شکل 5-1- نمودار ترتيب عملکرد عامل پيشنهادی.. 66
- شکل 5-2- معماری عامل پيشنهادی.. 67
- شکل 5-3- پنجره نظاره بر روی جريان دادهها 68
- شکل 5-4- گراف ايجاد شده از روی رشته مفهومها 71
- شکل 5-5- محل تجمع الگوهای استخراج شده از رشته مفهومها 73
- شکل 5-6- ميزان محاسبه شده احتمالها به ازای مقادير مختلف K.. 81
- شکل 5-7- شبه کد Plan کلی عامل. 83
- شکل 5-8- نسبت واريانس به حاصلضرب 50 متغير دارای مجموع ثابت.. 85
- شکل 5-9- وزن دهی چند داده مختلف… 86
- شکل 5-10- نمايی کلی از سيستم چندعامله ايجاد شده 88
- شکل 5-11- معماری BDI عامل دادهکاو. 93
- شکل 5-12- بخشی از جريان داده و قواعد استخراج شده از آن. 99
- شکل 5-13- بخشی از جريان داده و قواعد استخراج شده از آن. 101
- شکل 6-1- کد نمونه برای استفاده از بسته نرم افزاری weka. 115
- شکل 6-2- زمان لازم بر حسب ميلی ثانيه برای دادههای Stagger 120
- شکل 6-3- زمان مصرف شده برای تطبيق طبقهبند. 120
- شکل 6-4- نمودار مربوط به زمان پردازش روشهای مختلف برای دادههای HyperPlan 121
- شکل 6-5- زمان مصرف شده برای تطبيق طبقهبند 121
- شکل 6-6- نمودار مربوط به زمان پردازش روشهای مختلف برای دادههای Nursery 122
- شکل 6-7- زمان مصرف شده برای تطبيق طبقهبند برای دادههای Nursery 122
- شکل 6-8- عملکرد روشهای مختلف بر روی مجموعه داده HyperPlan 124
- شکل 6-9- نمودار عملکرد روشهای مختلف بر روی مجموعه داده HyperPlan در يک بازه کوچکتر 124
- شکل 6-10- نمودار عملکرد روشهای مختلف بر روی مجموعه داده HyperPlan در يک بازه کوچکتر 125
- شکل 6-11- زمان مصرف شده برای تطبيق طبقهبند برای دادههای HyperPlan 125
- شکل 6-12- عملکرد روشهای مختلف بر روی مجموعه داده Stagger 126
- شکل 6-13- زمان مصرف شده برای تطبيق طبقهبند برای دادههای Stagger 126
- شکل 6-14- عملکرد روشهای مختلف بر روی مجموعه داده Nursery 127
- شکل 6-15- زمان مصرف شده برای تطبيق طبقهبند برای دادههای Nursery 127
- شکل 6-16- نمودار نتايج حاصل از طبقهبندی توزيع شده مجموعه داده Nursery 130
فهرست جدولها
- جدول 1-1- ويژگيهای يک عامل 11
- جدول 3-1- ماتريس حاصل از روش LWClass. 51
- جدول 3-2- مقايسه تکنيکهای ذکر شده 54
- جدول 5-1- ساختار اطلاعاتی ذخيره شده برای هر مفهوم و الگو. 69
- جدول 5-2- ساختار اطلاعاتی مربوط به وقوع الگوی “CFDA” 75
- جدول 5-3- نمونه ای از خروجی تابع سودمندی عامل. 81
- جدول 5-4- اطلاعات مورد استفاده برای تخمين سودمندی يک قاعده 105
- جدول 6-1- دقت طبقهبندی روشهای مختلف… 128
- جدول 6-2- نتايج حاصل از طبقهبندی توزيع شده مجموعه داده Nursery در سه مفهوم مختلف… 130
معرفی و آشنايی با مفاهيم اوليه
1-1- مقدمهای بر دادهکاوی
دادهکاوی به معنای يافتن نيمه خودکار الگوهای پنهان موجود در مجموعه دادههای[5] موجود میباشد[38]. دادهکاوی از مدلهای تحليلی ، کلاس بندی و تخمين و برآورد اطلاعات و ارائه نتايج با استفاده از ابزارهای مربوطه بهره می گيرد. میتوان گفت که داده کاوی در جهت کشف اطلاعات پنهان و روابط موجود در بين دادههای فعلی و پيشبينی موارد نامعلوم و يا مشاهده نشده عمل میکند. برای انجام عمليات دادهکاوی لازم است قبلا روی دادههای موجود پيشپردازشهايی انجام گيرد. عمل پيش پردازش اطلاعات خود از دو بخش کاهش اطلاعات و خلاصهسازی و کلیسازی دادهها تشکيل شده است. کاهش اطلاعات عبارت است از توليد يک مجموعه کوچکتر، از دادههای اوليه، که تحت عمليات دادهکاوی نتايج تقريبا يکسانی با نتايج دادهکاوی روی اطلاعات اوليه به دست دهد[38]. پس از انجام عمل کاهش اطلاعات و حذف خصايص غير مرتبط نوبت به خلاصهسازی و کلیسازی دادهها می رسد. دادههای موجود در بانکهای اطلاعاتی معمولا حاوی اطلاعات در سطوح پايينی هستند، بنابراين خلاصهسازی مجموعه بزرگی از دادهها و ارائه آن به صورت يک مفهوم کلی اهميت بسيار زيادی دارد. کلیسازی اطلاعات، فرآيندی است که تعداد زيادی از رکوردهای يک بانک اطلاعاتی را به صورت مفهومی در سطح بالاتر ارائه می نمايد. خود روشهای دادهکاوی به سه دسته کلی تقسيم میشوند که عبارتند از خوشهبندی، طبقهبندی و کشف قواعد وابستگی. در ادامه هر يک از اين روشها را بطور کلی معرفی مینماييم.
1-1-1- خوشهبندی
فرآيند خوشهبندی سعی دارد که يک مجموعه داده را به چندين خوشه تقسيم نمايد بطوريکه دادههای قرار گرفته در يک خوشه با يکديگر شبيه بوده و با دادههای خوشههای ديگر متفاوت باشند. در حال حاضر روشهای متعددی برای خوشهبندی دادهها وجود دارد که بر اساس نوع دادهها، شکل خوشهها، فاصله دادهها و غيره عمل خوشهبندی را انجام میدهند. مهمترين روشهای خوشهبندی در زير معرفی شدهاند:
- روشهای تقسيمبندی : روشهای خوشهبندی که بروش تقسيم بندی عمل میکنند، دادههای موجود در يک مجموعه داده را به k خوشه تقسيم میکنند، بطوريکه هر خوشه دو خصوصيت زير را داراست :
- هر خوشه يا گروه حداقل شامل يک داده میباشد.
- هر داده موجود در مجموعه داده دقيقا به يک گروه يا خوشه تعلق دارد.
معيار اصلی در چنين مجموعه دادههايی ميزان شباهت دادههای قرار گرفته در هر خوشه میباشد. در حاليکه دادههای قرار گرفته در دو خوشه مختلف از نظر شباهت با يکديگر فاصله زيادی دارند. مقدار k که بعنوان پارامتر استفاده میگردد، هم میتواند بصورت پويا تعيين گردد و هم اينکه قبل از شروع الگوريتم خوشهبندی مقدار آن مشخص گردد.
- روشهای سلسله مراتبی : روشهای سلسله مراتبی به دو دسته کلی روشهای bottom-up و روشهای top-down تقسيم میگردند. روشهای سلسله مراتبی bottom-up به اين صورت عمل میکنند که در شروع هر کدام از دادهها را در يک خوشه جداگانه قرار میدهد و در طول اجرا سعی میکند تا خوشههايی نزديک به يکديگر را با هم ادغام نمايد. اين عمل ادغام تا زمانی که يا تنها يک خوشه داشته باشيم و يا اينکه شرط خاتمه برقرار گردد، ادامه میيابد. روشهای top-down دقيقا بطريقه عکس عمل میکنند، به اين طريق که ابتدا تمام دادهها را در يک خوشه قرار میدهد و در هر تکرار از الگوريتم، هر خوشه به خوشههای کوچکتر شکسته میشود و اينکار تا زمانی ادامه میيابد که يا هر کدام از خوشهها تنها شامل يک داده باشند و يا شرط خاتمه الگوريتم برقرار گردد. شرط خاتمه معمولا تعداد کلاستر يا خوشه میباشد.
- روشهای مبتنی بر چگالی : اکثر روشهای خوشهبندی که بروش تقسيمبندی عمل میکنند معمولا از تابع فاصله بعنوان تابع معيار خود بهره میبرند. استفاده از چنين معياری باعث میگردد که الگوريتم خوشهبندی تنها قادر به ايجاد خوشههايی با اشکال منظم باشد. در صورتيکه اگر خوشههای واقعی در دادهها دارای اشکال غيرمنظمی باشند، اين الگوريتمها در خوشهبندی آنها با مشکل مواجه میگردند. برای حل اينگونه مشکلات يکسری از روشها برای خوشهبندی پيشنهاد گرديدهاند که عمل خوشهبندی را بر مبنای چگالی دادهها انجام میدهند. ايده اصلی در اين روشها بر اين اساس است که خوشهها تا زمانی که دادههای قرار گرفته همسايگی خوشهها از حد معينی بيشتر باشد، رشد میکنند و بزرگ میشوند. چنين روشهايی قادرند خوشههايی با شکلهای نامنظم نيز ايجاد نمايند.
البته دسته ديگری از روشهای خوشهبندی مانند روشهای مبتنی بر گريد، روشهای مبتنی بر مدل و … وجود دارند که میتوانيد آنها را در ]38[ مطالعه نماييد.
1-1-2- کشف قواعد وابستگی
بحث قواعد وابستگی به مقوله کشف عناصری يا المانهايی در يک مجموعه داده میپردازد که معمولا با يکديگر اتفاق میافتند و بعبارتی رخداد آنها بنوعی با يکديگر ارتباط دارد. بطور کلی هر قاعده يا rule که از اين مجموعه داده بدست میآيد، دارای شکل کلی بصورت میباشد که نشان میدهد چنانچه الگوی X اتفاق بيفتد، با احتمال بالايی الگوی Y نيز اتفاق خواهد افتاد. برای مطالعه بيشتر در مورد مقوله کشف قواعد وابستگی میتوانيد به ]38[ مراجعه نماييد.
1-1-3- طبقهبندی
فرايند طبقهبندی در واقع نوعی يادگيری با ناظر میباشد که در طی دو مرحله انجام میگردد. در مرحله اول مجموعهای از دادهها که در آن هر داده شامل تعدادی خصوصيت دارای مقدار و يک خصوصيت بنام خصوصيت کلاس میباشد، برای ايجاد يک مدل داده بکار میروند که اين مدل داده در واقع توصيف کننده مفهوم و خصوصيات مجموعه دادههايی است که اين مدل از روی آنها ايجاد شده است. مرحله دوم فرآيند طبقهبندی اعمال يا بکارگيری مدل داده ايجاد شده بر روی دادههايی است که شامل تمام خصوصيات دادههايی که برای ايجاد مدل داده بکار گرفته شدهاند، میباشد، بجز خصوصيت کلاس اين مقادير که هدف از عمل طبقهبندی نيز تخمين مقدار اين خصوصيت میباشد.
الگوريتمها و روشهای مختلفی برای طبقهبندی تاکنون پيشنهاد شدهاند که برای مثال میتوان از روشهای طبقهبندی با استفاده از درخت تصميم، طبقهبندی بيزين، SVM ، طبقهبندی با استفاده از شبکههای عصبی، طبقهبندی مبتنی بر قواعد و … ]56[ نام برد. در اينجا ما قصد نداريم وارد مباحث مربوط به الگوريتمها و روشهای طبقهبندی شويم و تنها روش طبقهبندی مبتنی بر قواعد را بدليل استفاده از آن در فاز دوم پروژه در اينجا معرفی خواهيم نمود. در صورت نياز به مطالعه بيشتر میتوانيد به فصل ششم مرجع ]38[ مراجعه نماييد.
1-1-3-1- طبقهبندی مبتنی بر قواعد
در اين قسمت قصد داريم نگاهی به بحث طبقهبندی مبتنی بر قواعد داشته باشيم. دراين روش مدل ايجاد شده از روی دادهها بصورت مجموعهای از قواعد میباشد. میتوان گفت که هر قاعده بصورت يک قاعده IF P THEN C میباشد که در آن P مجموعهای از شرايط بوده و C نيز مشخص کننده برچسب يک کلاس يا طبقه خاص میباشد. يک قاعده بدست آمده از مجموعه دادههای آموزشی با استفاده از دو معيار coverage و accuracy میتواند ارزيابی گردد. اين دو معيار بصورت زير تعريف میگردند:
(1-1)
(1-2)
که در تعاريف مذکور تعداد دادههايی در مجموعه داده D است که توسط قاعده پوشش داده میشوند. تعداد دادههايی است که توسط قاعده بدرستی طبقهبندی شدهاند. تعداد دادههای موجود در D میباشد.
نکته مهمی بايد اينجا به آن اشاره کرد اين بحث است که چگونه دادهها توسط اين قواعد طبقهبندی میگردند. همانطور که اشاره گرديد اين قواعد دارای يک قسمت شرط (P) و يک قسمت C هستند. P يک الگو بصورت () میباشد که هر کدام از ها بيان کننده يک محدوديت برای يکی از خصوصيات هستند. اگر خصوصيات دادهای محدوديتهای مذکور قاعدهای را برآورده سازد آنگاه کلاس يا طبقهبند آن داده، کلاس يا طبقهای است که آن قاعده (C) بيان میکند. اما مساله مهمی که اينجا پيش میآيد، اين مساله است که اگر يک داده در قسمت شرط (P) بيش از يک قاعده صدق کند، آنگاه کدام قاعده را بايد انتخاب کرد. بسته به استراتژیهای مختلف اين مشکل جوابهای مختلفی میتواند داشته باشد. دو نمونه از مهمترين استراتژیهايی که معمولا برای حل اين مشکل بکار میروند، استراتژیهای size ordering و rule ordering میباشند.
در استراتژی size ordering چنانچه يک داده در بيش از يک قاعده صدق کند، قاعدهای برای طبقهبندی داده انتخاب میشود که خصوصيات بيشتری را برای مشخص نمودن کلاس داده تست کرده باشد. در استراتژی rule ordering از پيش قواعد اولويت دهی میشوند و هنگام طبقهبندی قاعده با اولويت بالاتر، مشخص کننده کلاس داده خواهد بود. اولويت دهی به قواعد هم به طرق مختلفی ممکن است انجام گردد. برای مثال ممکن است که ابتدا کلاسها اولويتدهی شوند و قواعد مربوط به هر کلاس نيز با تاثير پذيری از اين اولويت دهی، اولويت بگيرند. اولويت کلاسها نيز ممکن است بر اساس اهميت کلاس يا تعداد دادههای متعلق به آن کلاس و يا … مشخص گردد. استراتژیهای ديگری نيز در اين زمينه وجود دارند که ما در اينجا درباره آنها صحبت نمیکنيم. مساله ديگری که ممکن پيش بيايد اين است که يک داده با هيچکدام از قواعد همخوانی نداشته باشد. برای اين مساله هم میتوان راهحلهايی ارائه نمود. معمولترين راهحل اين است که چنانچه دادهای با هيچيک از قواعد همخوانی نداشت، کلاسی بعنوان کلاس آن داده انتخاب گردد که بيشترين تعداد داده در بين دادهها به آن کلاس تعلق دارد.
مورد ديگری هم که اينجا قابل ذکر است اين مطلب است که قواعدی که برای طبقهبندی استفاده میشوند، چگونه ايجاد میگردند. البته ما نمیخواهيم در اينجا وارد جزئيات مربوط به استخراج قواعد از دادهها آموزشی شويم. برای استخراج قواعد از مجموعه دادههای آموزشی معمولا از دستهای از الگوريتمها بنام الگوريتمهای SCA (sequential covering algorithm) استفاده میگردد که اين الگوريتمها در هر مرحله يک قاعده را از دادههای آموزشی يادگرفته و دادههايی را که از آن قاعده پيروی میکنند را از مجموعه دادههای آموزشی خود حذف میکنند و با دادههای باقيمانده، کار خود را ادامه میدهند. از نمونه الگوريتمهای معروف SCA میتوان به AQ، CN2 و RIPPER اشاره نمود. البته قابل ذکر است که برای کشف قواعد میتوان از روشهای ايجاد درخت تصميم و يا کشف قواعد وابستگی نيز استفاده نمود. در درخت تصميم هر مسير از ريشه تا يک برگ را میتوان بعنوان قسمت P قاعده در نظر گرفت و کلاسی که برگ مشخص میکند، قسمت C خواهد بود. در مورد نحوه استفاده از روشهای کشف قواعد وابستگی و استفاده از آنها برای طبقهبندی نيز میتوانيد به ]10،11[ مراجعه کنيد.
1-2- دادهکاوی توزيع شده
دادهکاوی توزيع شده عبارت است از کشف نيمه خودکار الگوهای پنهان موجود در دادهها، در حالتی که دادهها و يا مکانيزمهای استنتاج، به صورت توزيع شده باشند. غيرمتمرکز بودن دادهها بدان معناست که دادهها به صورت توزيع شده بين دو يا چند سايت بوده و هزينه انتقال تمام يا بخشی از دادهها به يک سايت مرکزی، قابل صرفنظر نباشد. توزيع شده بودن مکانيزمهای استنتاج، به معنای لزوم لحاظ کردن هزينه ارتباط بين مکانيزمهای مختلف در حال استخراج دانش میباشد. اين توزيع شدگی ممکن است به دلايل مختلفی از جمله ارائه شدن مکانيزم استخراج دانش در قالب يک سرويس اينترنتی و يا صرفا ناشی از توزيع شدگی دادهها باشد. چنين رويکردی به دادهکاوی، برخلاف جهت کلی تحقيقات انجام شده است که به طور عمده به تکنيکهای متمرکز پرداخته و نه فقط بر تمرکز، که بر همگونی و ساختار مسطح (در مقابل ساختار رابطهای) دادههای هدف متکی میباشند. مسائلی نظير استخراج دانش در حالت عدم دسترسی به تمام دادههای موجود، برقراری ارتباط موثر و بهينه با ساير مکانيزمهای در حال استخراج دانش و نيز تبادل دانش يا اطلاعات ميانی به جای اطلاعات خام، فقط تعدادی از مسائل اوليه دادهکاوی توزيع شده با توجه به تعريف آن میباشند. بنابراين، دادهکاوی توزيع شده در عين حال که به عنوان راه حلی کليدی برای مشکلات اصلی پيش روی دادهکاوی مطرح میباشد، خود سرمنشاء چالشها و مسائل متعددی گرديده است؛ حل مؤثر اين مشکلات منجر به استفاده هرچه بيشتر از دادهکاوی و ايجاد امکانات جديد و بهرهبرداری از پتانسيلهای موجود در قلمروهائی خواهد شد که عليرغم نياز مبرم به دادهکاوی، استفاده بسيار محدودی از آن به عمل میآورند.
بحث دادهکاوی توزيع شده بطور کلی از دو جهت قابل بررسی میباشد. اول حالتی که در آن دادهها بصورت همسان بين پايگاههای مختلف توزيع شدهاند و دادههای هر پايگاه تمام خصوصيات را دارا هستند. در اينحالت دادهها ممکن است ذاتا توزيع شده باشند و يا اينکه دادهها متمرکز بدلايل امنيتی يا … بين پايگاههای مختلف تقسيم شده باشند. اصطلاحا به اين حالت تقسيم شدن، تقسيم شده بصورت افقی (Horizontally Partitioned) ]47[ نيز گفته میشود که ما نيز در فاز دوم پروژه گونهای از اين نوع توزيع شدگی را خواهيم ديد. حالت دوم حالتی است که در آن دادههای موجود در هر پايگاه داده دارای خصوصيتهای مختلف میباشند. معمولا در اين موارد دادهها خود بين پايگاههای مختلف تقسيم گرديدهاند و ذاتا توزيع شده نيستند. از اينرو به اينحالت تقسيم شده عمودی (Vertically Partitioned) ]47[ نيز گفته میشود. برای ايجاد ارتباط بين خصوصيتهای مختلفی که در پايگاههای مختلف نگهداری میشوند اما متعلق به يک داده هستند، معمولا يک خصوصيت مشترک که بعنوان شناسه مورد استفاده قرار میگيرد، بين تمام پايگاههای مختلف نگهداری میشود که رکوردهای مختلف را بهم ارتباط میدهد.
در دادهکاوی توزيع شده نيز مساله کشف و استخراج دانش مشابه دادهکاوی عادی در زمينههای خوشهبندی توزيع شده، کشف قواعد وابستگی بصورت توزيع شده و طبقهبندی توزيع شده (که با نام يادگيری توزيع شده طبقهبند هم از آن نام برده میشود) مورد تحقيق و بررسی قرار دارد،. ضمن اينکه در بحث دادهکاوی توزيع شده، مساله مربوط به محرمانگی دادهها (Privacy Preserving) حتما بايد مدنظر قرار گيرد. برای مطالعه بيشتر در مورد دادهکاوی توزيع شده میتوانيد به مرجع]47[ مراجعه نماييد.
1-3- عاملها و سيستمهای چندعامله
از آنجا که در طول اين پايان نامه با مفهوم عامل و سيستمهای چندعامله سرو کار خواهيم داشت، لذا بنظر میرسد ضروری است تا ابتدا با مفهوم عامل و سيستمهای چندعامله بيشتر آشنا شويم و برخی از خصوصيات عامل و سيستمهای چندعامله را که در طول پايان نامه از آنها استفاده خواهيم کرد، را بيان نماييم.
1-3-1- عامل
با توجه به آنکه از اين به بعد به طور گستردهای با عاملها سروکار خواهيم داشت، داشتن تعريفی يکنواخت از عامل در طول گزارش ضروری به نظر میرسد. تعاريف متعددی برای عامل وجود دارد که هيچيک ديگری را نقض نمیکند، بلکه رابطه تعاريف موجود با يکديگر را میتوان يک رابطه مکمل دانست. به بيان ديگر، تعاريف موجود در مورد عامل، تکميلکننده يکديگر میباشند.
يک تعريف مختصر و در عين حال نسبتا کامل و در بردارنده خصوصيات مورد نظر ما از عامل به شرح زير میباشد:
يک سيستم (نرمافزار) کامپيوتری که خودکار بوده و دارای قابليتهای اجتماعی، توانائی واکنش و برنامهريزی برای آينده میباشد ]69[.
در تعريف فوق، خودکار بودن به معنای انجام عمليات بدون دخالت مستقيم کاربر (انسان)
میباشد. توانائی واکنش، عبارت است از توانائی پاسخ به محيط. بديهی است که اين پاسخ به محيط بايد به موقع انجام شود. توانائی برنامهريزی برای آينده، به معنای داشتن هدف است. هدفدار بودن نه يک مفهوم انتزاعی، بلکه به معنای مشاهده رفتار هدفدار از سوی عامل است. در اينجا قصد نداريم يک بحث طولانی را در مورد نکات بسيار زيادی که در تعريف فوق وجود دارد آغاز کنيم اما چند نکته را به ضرورت بيان میکنيم.
اولين مسئلهای که در تعريف فوق حائز اهميت فراوان میباشد، مسئله رفتار هوشمند است. همانگونه که مشاهده میشود، اثری از مفهوم هوشمندی در تعريف ارائه شده از عامل وجود ندارد؛ حال آنکه در مطالعات و بررسیهای انجام شده روی عامل، هوشمندی از نکات کليدی است. سوال مطرح در اينجا آن است که آيا ما قصد داريم بدون در نظر گرفتن هوشمندی به بررسی و استفاده از عامل بپردازيم؟ پاسخ اين سوال در تعريف ارائه شده وجود دارد: ترکيب صفات خودکار بودن، قابليت واکنش و برنامهريزی برای آينده، میتواند از يک منظر به عنوان وجود هوش تلقی شود. اين امر با توجه به اين نکته مهم بيشتر تجلی میيابد که پيادهسازی هيچ يک از سه مورد فوق، به تنهائی، در يک سيستم کامپيوتری، چندان مشکل نيست. در حقيقت سيستمهای کامپيوتری زيادی وجود دارند که خودکار بودن و رفتار صرفا واکنشی، يا خودکار بودن و رفتار برنامهريزی برای آينده را به صورت همزمان دارا میباشند؛ آنچه که میتواند مسئله را پيچيده ساخته و نمادی از هوش باشد، ترکيب صحيح رفتار واکنشی و برنامهريزی برای آينده است؛ کاری که حتی برای انسانها نيز چندان ساده نيست. انتخاب نوع رفتار واکنشی و مقطع زمانی صحيح برای واکنش به محيط، ضروری است. از سوی ديگر، برنامهريزی برای آينده، اقدامی لازم برای پيشرفت و بهبود میباشد. حال يک مسئله مهم، نحوه ترکيب اين دو رفتار کليدی با يکديگر و دستيابی به يک حالت تعادل مناسب است که در آن، عامل ضمن واکنش مناسب به تغييرات محيط، هدف يا اهداف خود را نيز دنبال مینمايد. برای پيادهسازی اين رفتار هوشمند، راهحلها و معماریهای مختلفی ارائه شده است، اگرچه تمام اين راهحلها، چنين تعريفی را از هوشمندی ندارند.
1-3-1-1- مقايسه عامل با شی]1[
اشياء در محيط بصورت مجموعهای از صفات و قابليتها در نظر گرفته میشوند. قابليت در اشياء بصورت مجموعهای از اشياء پايه که توسط اشياء در همان محيط صورت میگيرند و باعث تغيير وضعيت محيط میگردند تعريف میشود. شی بر روی وضعيت داخلی خودش کنترل دارد و میتوان گفت شی نوعی خود مختاری بر روی وضعيت خودش به نمايش میگذارد. عاملها در واقع اشياء فعال هستند، يعنی هر عامل دارای يک موجوديت فعال و دارای رشته کنترلی مختص خود است. به عبارت ديگر عامل مستقل از ديگران و بدون نياز به کنترل توسط عاملهای ديگر و يا انسان قادر به حيات است. اگر عامل بتواند عملی را انجام دهد و عامل ديگری از اين عامل بخواهد که اين عمل را برايش انجام دهد، عامل در انجام اين عمل خود مختار است. شی بر خلاف عامل بر روی رفتار خودش کنترلی ندارد. يعنی اگر شی متد m را برای فراخوانی در اختيار اشياء ديگر بگذارد ، آنگاه در صورتی که متد از نظر دسترسی عمومی باشد، ديگر شی بر روی اجرای متد کنترلی ندارد. واضح است که متد شیء بايد برای اغلب شیء های ديگر در دسترس باشد، زيرا در يک سيستم شیگرا، شیهای تشکيل دهنده سيستم از طريق همکاری با يکديگر و فراخوانی متدهای يکديگر باعث انجام اعمال مختلف سيستم میشوند، بنابراين در سيستمهای شیگرا، مرکز تصميمگيری در ارتباط با انجام يک عمل در شی، فراخوانی کننده متد شی ديگر است، اما در سيستمهای چندعامله اين مرکز تصميمگيری، در عامل دريافت کننده درخواست، برای انجام عمل بخصوص میباشد. همچنين عاملها دارای اشياء دارای هدف میباشند. در راستای هدفگرا بودن عامل، نياز به خودمختاری نيز اهميت دارد بطوری که عاملها با توجه به هدف تعريف شده بدون دخالت عاملهای ديگر به انجام اعمال خود میپردازند. ارتباطات بين اشياء از طريق فراخوانی توابع که بصورت مجموعه ای از مسئوليتهای از پيش تعريف شده هستند صورت می گيرد، در حاليکه در عاملها ارتباطات از طريق زبانهای ارتباطی است که هيچ مجموعه ای از پيامها و يا موجوديتهای از پيش تعريف شده ای وجود ندارد.
[1] Data Mining
[2] Classification
[3] Data Stream
[4] Agent
[5] Dataset
نقد و بررسیها
هنوز بررسیای ثبت نشده است.