41-48 4 (پياپي (31 تحقيق در عمليات و كاربردهاي آن مجله 2251-7286 شاپا سال هشتم شماره زمستان 90 ص ص پيشنهاد شيوهاي مبتني بر الگوريتم PSO چند هدفه جهت استخراج قوانين انجمني در داده كاوي * مهدي نصيري احمد اسمعيلي بهروز مينايي ناصر مزيني دانشكده مهندسي كامپيوتر دانشگاه علم و صنعت ايران رسيد مقاله: سيزدهم تيرماه 1390 پذيرش مقاله: بيست و پنجم ا بان ماه 1390 چكيده استخراج قوانين انجمني يا همان استخراج روابط ممكن مابين داده هاي يك پايگاه داده بزرگ يكي از وظايف مهم و بسيار زمان بري در داده كاوي به شمار ميا يد. بدين كيفيت جوابها با هم متفاوت مي باشند. در اين منظور الگوريتمه يا روش سريع و با كيفيتي مناسب جهت استخراج اين قوانين ارايه شود. اين متنوعي پيشنهاد شدهاند كه از نظر سرعت اجرا و مقاله سعي شده است با استفاده از الگوريتم تكاملي PSO چند هدفه يك الگوريتم پيشنهادي روي يك مجموعه داده از نوع تراكنشي و با اندازه چهل هزار ركورد ا زمايش شده است كه نتايج حاصل حاكي از كارا مدي اين روش پيشنهادي است. كلمات كليدي: قوانين انجمني داده كاوي الگوريتم.PSO چند هدفه. 1 مقدمه با رشد سريع در اندازه و تعداد پايگاه دادهها كاوش دانش قواعد يا اطلاعات سطح بالا از دادهها به منظور پشتيباني از تصميمگيريها و پيش بيني رفتارهاي ا تي ضروري به نظر ميرسد. روشهاي داده كاوي در جهت دستيابي به اهداف بالا به چندين گروه دسته بندي ميشوند كه عبارتند از: ردهبندي خوشه بندي كاوش قواعد انجمني تحليل الگوهاي ترتيبي پيش بيني به تصوير كشيدن دادهها و غيره [1-2]. كاوش قوانين انجمني يكي از وظايف مهم در داده كاوي روند يافتن روابطي ما بين خصيصهها يا ما بين مقادير ا ن ها در يك پايگاه داده بزرگ است كه در جهت امر تصميم گيري كمك ساز باشند. يافتن چنين روابطي داخل يك مجموعه وسيعي از دادهها به علت ماهيت نمايي ا ن كار ساده اي نيست. 41 * عهده دار مكاتبات ا درس الكترونيكي: Nasiri_m@iust.ac.ir
نصيري و همكاران پیشنهاد شیوهای مبتنی بر الگوریتم PSO چند هدفه جهت استخراج قوانین انجمنی در داده کاوی اين روابط را ميتوان به صورت عبارات IF-THEN نمايش داد. به شرط بررسي شده در قسمت IF مقدم و به ا نچه كه در قسمت THEN ميا يد نتيجه گفته ميشود كه در اين مقاله ا ن ها را به ترتيب با A و C نشان ميدهيم. بنابراين مي توان يك رابطه را به صورت A C نشان داد و يك چنين رابطهاي كه ما بين خصيصههاي داخل ركوردهاي يك پايگاه داده با پيروي از ملاكهاي خاصي برقرار باشد قانون انجمني گوييم. نوع ديگري از قوانين كه قوانين رده بندي ناميده ميشوند را نيز ميتوان با ساختار مشابهي نمايش داد ولي كاملا با قوانين انجمني متفاوت هستند. در چنين قوانيني قسمت نتيجه تنها شامل مقاديري از يك خصيصه از پيش تعيين شده به نام رده است حال ا نكه چنين محدوديتي در مورد قوانين انجمني برقرار نيست. يعني هر خصيصه و هر تعداد خصيصهاي ميتوان در هر دو قسمت قانون داشت. تنها محدوديتي كه در مورد قوانين انجمني بايد برقرار باشد اين است كه دو طرف رابطه نبايد داراي خصيصه مشتركي باشد يعني. A C = φ الگوريتمهاي مختلفي به منظور جستجوي اين قوانين پيشنهاد شدهاند [3-5]. در بخش بعدي مقدمه مختصري در رابطه با اين الگوريتم ها اري ه ميكنيم. همانطور كه خواهيم ديد اين الگوريتمها محدوديتهاي مربوط به خود را دارند. در اين مقاله سعي گرديده است با ارايه روشي بر مبناي يك الگوريتم تكاملي سريع و كارا مدي به نام 42 PSO برخي از اين محدوديتها مرتفع شوند. در ادامه اين مقاله ابتدا در بخش 2 كليتي از روشهاي موجود كاوش قوانين انجمني ارايه ميكنيم. در بخش 3 توضيحي در مورد الگوريتم تكاملي PSO ميدهيم. در بخش 4 به جزي يات روش پيشنهادي خواهيم پرداخت. سپس تحليل نتايج بدست ا مده از اجراي اين روش را در بخش 5 ارايه كرده و در نهايت در بخش 6 نتيجهگيري اين مقاله ارايه خواهد شد. 2 الگوريتمهاي كاوش قوانين انجمني الگوريتمهاي موجود براي جستجوي قوانين انجمني به طور كلي بر مبناي رويكرد پيشنهادي Agrawal ميباشند[ 6 3 ]. به عنوان نمونه و DIC Pincer جستجوي AIS SETM Apriori تعدادي از الگوريتمهاي متداول بر مبناي اين رويكرد ميباشند[ 6-9 ]. اين الگوريتمها روي يك پايگاه داده باينري كه پايگاه داده سبد خريد basket) (market ناميده ميشود بكار ميروند. به منظور ا ماده سازي پايگاه داده سبد خريد هر ركورد از پايگاه داده اصلي به صورت يك ركورد باينري نشان داده ميشود كه در ا ن فيلدها كه ا يتم ناميده ميشوند با استفاده از مقداري يكتا از هر پايگاه داده اصلي تعريف ميشوند. براي يك پايگاه داده با تعداد بسيار زيادي از خصيصهها كه هر كدام داراي مقادير متمايزي ميباشند تعداد كل اين ا يتمها بسيار بزرگ ميشود. در نتيجه ذخيره اين پايگاه داده باينري مورد استفاده در الگوريتمهاي قانون كاوي يكي از محدوديتهاي الگوريتمهاي حاضر است. اين الگوريتمها در دو مرحله كار ميكنند [3]. مرحله اول براي توليد مجموعه ا يتمهاي مكرر است كه از تمامي مجموعه ا يتمهاي ممكن با استفاده از سنجشي با نام تعداد پشتيبان count) (support و پارامتري به نام پشتيبان
41-48 (1390) مجله تحقيق در عمليات و كاربردهاي آن 31 (SUP) كمينه support) (minimum كه توسط كاربر تعيين ميشود به دست ميا يد. تعداد پشتيبان يك مجموعه ا يتم عبارت است از تعداد ركوردهايي از پايگاه داده كه تمامي عناصر ا ن مجموعه باشد. اگر ارزش پشتيبان كمينه خيلي بالا باشد تعداد مجموعههاي ا يتم مكرر توليد شده كمتر خواهد بود و در نتيجه منجر به توليد قوانين كمتري ميشود. به طريق مشابه اگر اين مقدار خيلي پايين باشد تقريبا تمامي مجموعه ا يتمهاي ممكن مكرر شده و در نتيجه تعداد قوانين نهايي توليد شده زياد خواهد گرديد. حال انتخاب قوانين بهتر از ميان ا ن ها مشكل ديگري خواهد بود. بعد از يافتن مجموعه ا يتمهاي مكرر در مرحله اول شروع به توليد قوانين با استفاده از يك پارامتر ديگري به نام اطمينان كمينه confidence) (minimum كه توسط كاربر تعريف ميشود ميكنيم. ضريب اطمينان يا دقت پيش بيني يك قانون A C به صورت رابطه (1) تعريف ميشود. SUP ( A C) Confidence = SUP ( A) ( 1) محدوديت ديگر اين الگوريتمها در نحوهي كد كردن است كه در ا ن ها نمادهاي مجزايي براي هر مقدار ممكن خصيصهها استفاده ميشود. اين شماي كد كردن ممكن است براي خصيصههاي با مقادير اسمي مفيد باشد ولي براي خصيصههاي عددي مناسب نيست. زيرا ميتوانند مقادير مختلفي داخل هر ركورد بگيرند. غير از اين محدوديتها مشكل ديگري كه اين الگوريتمها دارند اين است كه در توليد قوانين ترتيب ا يتمها نقش مهمي در ا ن ها بازي ميكند[ 3 ]. حال ا نكه روش پيشنهادي در اين مقاله داراي اين محدوديت نيست. در روشي كه در اين مقاله معرفي ميشود سعي ميكنيم تا قوانين انجمني را بر اساس درجه اطمينان پشتيبان ا ن ها با استفاده از الگوريتم بهينه سازي جمعي ذرات (PSO) و با يك كدينگ بسيار ساده و سريع استخراج كنيم به گونهاي كه قوانين توليد شده داراي طول مناسبي نيز باشند. به همين منظور در بخش بعدي مقدمهاي كوتاه از الگوريتم PSO ارايه ميكنيم. 3 الگوريتم بهينهسازي جمعي ذرات (PSO) الگوريتم PSO كه توسط Kennedy و Eberhart پيشنهاد شده است[ 10 ] يك تكنيك بهينه سازي تصادفي بر مبناي جمعيت ميباشد كه از رفتارهاي اجتماعي دسته پرندگان و ماهيها الهام ميگيرد. در الگوريتم PSO ابتدا سيستم با يك جمعيتي از جوابهاي تصادفي مقدار دهي اوليه ميشود و سپس با به روز رساني نسلها جواب بهينه جستجو ميشود. بر خلاف روش مشابه الگوريتم ژنتيك اين الگوريتم هيچ عملگر تكاملي مانند ادغام و جهش ندارد و از سرعت همگرايي بالاتري نسبت به ا ن برخوردار است. در PSO جوابهاي بالقوه كه ذره ناميده ميشوند در كل فضاي مسي له با دنبال كردن بهينهترين ذره كنوني به حركت در ميا يند. اگر يكي از ذرات مسير خوبي را بيابد, ساير ذرات به دنبال ا ن ذره حركت ميكنند هرچند كه از ا ن خيلي دور باشند. رفتار جمعي با استفاده از ذرات داخل فضاي چندبعدي كه داراي دو مشخصهي مكان و سرعت هستند مدل ميشود. 43
PRgR and xrir cr1r rr2r rr1r vrir نصيري و همكاران پیشنهاد شیوهای مبتنی بر الگوریتم PSO چند هدفه جهت استخراج قوانین انجمنی در داده کاوی اين ذرات در كل اين فضا حركت ميكنند و بهترين مكاني را كه تاكنون ملاقات كردهاند را به خاطر ميسپارند. ا ن ها اين موقعيتهاي خوب را به اطلاع يكديگر رسانده و موقعيت و سرعت حركت خود را براساس اين موقعيتهاي خوب تنظيم ميكنند. اگر بخواهيم اين روند را به صورت دقيقتر بيان كنيم مراحل زير را خواهيم داشت: جمعيت ذرات در ابتدا با جمعيتي تصادفي از جوابها مقداردهي اوليه ميشوند. اين جمعيت اوليه ب ه صورت تكراري در كل فضاي جستجو d- بعدي حركت ميكنند و به دنبال جوابهاي جديد ميگردند. براي هر ذره تابع برازندگي f به منظور اندازه گيري كيفيت جواب محاسبه ميشود تا بهترين ذره مشخص گردد. هر ذره داراي يك مكان و يك سرعت است كه به ترتيب توسط بردارهاي مكان سرعت (كه i انديس ذره ميباشد) و نشان داده ميشوند. هر ذره بهترين مكان خود تا لحظه كنوني را در بردار( pridr PRiR=(pRi1R, pri2r,, و مقدار j -امين بعد خود را در prijr ميشود كه مقدار j -امين بعد ا ن در نگهداري ميكند. بهترين بردار در ميان همهي ذرات در بردار prgjr ذخيره قرار دارد. در طول زمان تكرار t بروزرساني سرعت از سرعت قبلي به مقدار جديد توسط رابطهي( 2 ) و مقدار جديد براي مكان از رابطهي( 3 ) محاسبه ميشوند. (2) v ( t + 1) = wv () t + c r( p () t x ()) t + c r ( p () t x ()) t ij ij 11 ij ij 2 2 gj ij xij ( t + 1) = xij ( t) + vij ( t + 1) (3) كه در ا ن w ضريب اينرسي ناميده ميشود. به صورت يكنواخت در بازهي [1-2] و توزيع شدهاند. و اعداد تصادفي هستند كه براي حفظ چگالي جمعيت بوده و cr2r ثابتهايي مثبت ميباشند كه به ترتيب ضرايب اجزاي خود تشخيصي و اجتماعي ناميده ميشوند. شبه كد زير مراحل فوق را به صورت خلاصه نشان ميدهد: Initialize(); for t =1 to the limit of iterations for i =1:N (t) (t) Fitness i = EvaluationFitness ( X i ) ; ( t+1) UpdateVelocity ( Vi ) according to formula (2); ( t+1) LimitVelocity ( V i ) ; ( t+1) UpdatePosition ( X i ) according to formula(3); if needed, update PRiR PRgR; End Terminate if PRgR End meets problem requirements; 44 4 روش پيشنهادي 1-4 پيكربندي يك ذره در اين مقاله ما سعي ميكنيم قوانين انجمني را با استفاده از الگوريتم PSO بيابيم. بدين منظور اولين كاري كه بايد انجام گيرد نمايش دادن يا به عبارت بهتر كد كردن قوانين انجمني داخل يك ذره است. در كدينگ به كار رفته در اين مقاله هر ذره شامل متغييرهاي تصميمي (DV) است كه نماينده ا يتمها ميباشند. به اين ترتيب
41-48 (1390) مجله تحقيق در عمليات و كاربردهاي آن 31 كه ا يتم i i -ام در مكان ا- م ذره قرار دارد. حال متغيير تصميم i -ام در اين ذره مشخص خواهد كرد كه ا يا خصيصه i -ام جزء خصيصه هاي قانون نمايش داده شده توسط اين ذره است يا خير و اينكه اين خصيصه جزء بخش مقدم قانون است يا جزء نتيجه قانون. به اين صورت كه اگر اين متغيير مقداري در بازهي 0.00 DVi 0.33 بازهي 0.33 < DVi 0.66 بگيرد به اين معني است كه متغير i -ام در بخش مقدم قانون خواهد ا مد. و اگر مقداري در بگيرد يعني متغيير i -ام جزء قسمت نتيجه است و در نهايت اگر 0.66 < DVi 1.00 باشد ا ن متغيير در ا ن قانون ظاهر نخواهد شد. در نتيجه تمامي متغيرهاي تصميمي كه در بازه مابين 0/00 و 0/33 مقدار بگيرند قسمت مقدم قانون را خواهند ساخت در حالي كه متغييرهاي داراي مقداري بين 0/33 و 0/66 قسمت نتيجه را ميسازند. در شكل (1) پيكربندي يك ذره جهت نمايش يك قانون را ميبينيم و شكل (2) مثالي از نحوه تبديل كدينگ يك ذره به يك قانون را نشان ميدهد. DV 1 DV 2 DV n-1 DV n شكل 1. پيكربندي يك ذره جهت نمايش يك قانون A B C D E 0 /27 0 / 82 0 / 53 0 / 19 0 / 41 AD CE شكل 2. مثالي از نحوه تبديل يك ذره به يك قانون همان طور كه مشاهده ميشود در اين روش نمايش طول ذره برابر خواهد بود با تعداد خصيصههاي موجود در پايگاه داده. 2-4 طراحي تابع برازندگي هدايتگر ذرات داخل جمعيت به سمت يك جواب بهينه با استفاده از تابع برازنگي ميباشد. در اينجا به طور معمول فرض ميشود كه ذره با بزرگترين مقدار برازندگي بهترين ذره ميباشد. در روش پيشنهادي اگر فرض كنيم A و C به ترتيب مجموعه خصيصههاي شركت كننده در قسمت مقدم و نتيجه قانون باشند كه با استفاده از ديكد كردن ذره متناظر طبق روش بخش قبل به دست ا مدهاند تابع برازندگي را به صورت زير تعريف ميكنيم: Num( AUC) Num( AUC) Fitness = α1 + α 2 DS Num( A) α 3 NA ( 4) كه در اين رابطه Num(X) تابعي است كه تعداد ركوردهاي شامل تمامي خصيصههاي مجموعه X را بر 45
αr3r αr2r نصيري و همكاران پیشنهاد شیوهای مبتنی بر الگوریتم PSO چند هدفه جهت استخراج قوانین انجمنی در داده کاوی ميگرداند DS اندازه مجموعه داده است NA تعداد خصيصه هاي شركت كننده در قانون توليد شده بوده و ضرايب α به منظور كنترل تاثير هريك از پارامترهاي داخل تابع برازندگي ميباشند و بنابر نياز كاربر ميتوانند به دلخواه تنظيم شوند. همانگونه كه ديده ميشود قسمتهاي اول و دوم اين تابع به ترتيب مربوط است به محاسبهي مقدار پشتيبان و درجه اطمينان قانون توليد شده. در نظر گيري اين دو مولفه با هم در محاسبه برازندگي قانون توليد شده ضروري به نظر ميرسد زيرا درجه اطمينان و يا پشتيبان به تنهايي نمي توانند معياري براي قضاوت روي كيفيت قانون توليد شده باشند. بديهي است قانوني از درجه كيفيت بالايي برخوردار است كه اين دو فاكتور باهم در ا ن از مقدار بالايي برخوردار باشند. از سويي ديگر ميدانيم كه در قوانين با طول زياد احتمال وجود خصيصههاي زاي د كه باعث كاهش كيفيت جواب توليد شده ميشوند زياد است. در نتيجه در قسمت سوم سعي ميكنيم قوانين با طول نسبتا كوتاه و در نتيجه با قابليت خوانايي درك و كيفيت بالاتر كه در داده كاوي از اهميت ويژهاي برخوردار است توليد نماييم. 5 نتايج شبيه سازي ما روش پيشنهادي خود را روي چند مجموعه داده پياده سازي و ا زمايش كرديم كه نتايج حاصل از ا ن ها بسيار راضي كننده بود. در اين مقاله براي نمونه نتيجه كار روي يك مجموعه داده با 40000 ركورد از نوع تراكنشي كه داراي 29 خصيصه ميباشد نشان ميدهيم. در پياده سازي روش پيشنهادي پارامترهاي الگوريتم PSO را به صورت جدول (1) ميگيريم. جدول 1. پارامترهاي الگوريتم PSO تابع اينرسي نرخهاي يادگيريc2,c1 تعداد تكرارها اندازه جمعيت پارامترها 25 مقادير 500 2 0/9-0/4 VRmax 0/5 ضرايب αr1r و مربوط به تابع برازندگي در اين ا زمايش نيز به ترتيب مقادير 0/8 0/8 و 0/05 گرفتهاند. به علت بزرگي مجموعه داده براي بارگذاري در حافظه ما در هر مرحله نمونهاي با اندازه مشخص را به صورت تصادفي انتخاب كرده و الگوريتم پيشنهاد شده در اين مقاله را روي ا ن اجرا ميكنيم. در هر اجرا ما شرط خاتمه را بر اساس بيشينه مقدار تعداد قوانين انجمني توليد شده كلي در حين اجرا ميگيريم. از ميان قوانين توليد شده قوانين تكراري و قوانين با درجه اطمينان زير %85 و پشتيبان زير %20 را حذف كرده و باقي ماندهها را به عنوان قوانين نهايي معرفي ميكنيم. نتايج حاصل در جدول (2) ا مده است. در دو ستون ا خر اين جدول علاوه بر پارامترها و نتايج گفته شده ميانگين درجه اطمينان و مقدار پشتيبان قوانين نهايي داخل هر زير گروه را نيز ا وردهايم. از روي مجموعه قوانين توليد شده براي نمونههاي مختلف و با بيشينه قوانين مختلف ميتوان مشاهده كرد كه بعد از حداكثر 200 قانون بدون محدوديت توليد شده الگوريتم قوانين چندان زيادي توليد نميكند. به عبارت ديگر 46
41-48 (1390) مجله تحقيق در عمليات و كاربردهاي آن 31 بعد از اين تعداد الگوريتم تقريبا همگرا ميشود. به عنوان مثال در مورد نمونه سوم تنها 1 قانون بيشتر با قيمت سنگين بار اجراي اضافي توليد ميشود. قابل ذكر است كه به علت نرمال شدن دادههاي اين مجموعه داده و وجود مقادير زياد صفر در ا ن مقدار پشتيبان نسبتا پاييني بدست ا مده است زيرا همانگونه كه ميدانيم اين مولفه شديدا وابسته به نوع مجموعه دادهها ميباشد. در حالي كه روي يكسري دادههاي دست ساز اين الگوريتم قوانيني با تقريبا حداكثر مقدار پشتيبان ممكن توليد كرده است كه نشانگر كارايي بسيار بالاي ا ن در استخراج اين نوع قوانين ميباشد. جدول 2. نتايج حاصل از ا زمايش ميانگين طول قوانين 14/2 ميانگين مقدار پشتيبان 23 ميانگين درجه اطمينان 91 تعداد قوانين توليد شده 39 حداكثر تعداد قوانين اندازه نمونه 0 200 48 93 23 13/ 6 51 41 0 200 52 94 24 15/ 5 54 46 0 200 67 95 25 13/ 3 68 61 2000 200 72 97 33 11/ 8 74 65 2000 200 71 99 34 11/ 9 71 97 94 96 94 98 96 99 96 99 26 22 25 22 27 30 35 29 36 11/7 15/1 14/6 12/9 11/8 12/3 10/1 12/8 11 6 نتيجهگيري كشف قوانين انجمني در يك مجموعه داده بزرگ يك عمل زمان بر و در عين حال بسيار مهم با كاربردهاي متنوع و وسيع است. ما در اين مقاله سعي كرديم از ويژگيهاي الگوريتمهاي تكاملي به خصوص سرعت همگرايي بالاي الگوريتم PSO براي كاوش قوانين انجمني استفاده كنيم و راهكاري را بر اين اساس پيشنهاد داديم. الگوريتم پيشنهادي را روي چند مجموعه داده ا زمايش كرديم كه نتايج حاصل حاكي از موفقيت خوب روش پيشنهادي در عمل بود. ما در اين مقاله از درجه اطمينان مقدار پشتيبان و طول قانون توليد شده به عنوان برازندگي الگوريتم PSO استفاده كرديم حال ا نكه استفاده از پارامترهاي ديگر مانند درجه جالبي و استفاده از الگوريتم PSO از نوع پارتو ميتواند بهتر عمل كرده و قوانين قويتري توليد نمايد. از سوي ديگر ما در قسمت ا زمايش از نمونههاي به تصادف انتخاب شده از مجموعه داده اصلي استفاده كرديم ولي از ا نجايي كه استفاده از 47
نصيري و همكاران پیشنهاد شیوهای مبتنی بر الگوریتم PSO چند هدفه جهت استخراج قوانین انجمنی در داده کاوی نمونه خوب صحت قوانين توليد شده را افزايش ميدهد ميتوان از روشهايي مانند خوشهبندي جهت انتخاب نمونه استفاده كرد. ما اين ايده ها را به عنوان موضوعي براي كارهاي ا تي در اين زمينه پيشنهاد ميكنيم. منابع [1] 0TPang-Ning, Tan,. Steinbach, Michael., Vipin Kumar,. ( 2005). Introduction to Data Mining.Addison Wesley, [2] Adamo, J.M., (2001). Data Mining for Association Rules and Sequential Patterns, Springer-Verlag, New York. [3] Agrawal, R., Srikant, R., Fast algorithms for mining association rules, in: Proceedings of the 20th International Conference on Very Large Databases, Santiago, Chile, 1994. [4] Ayad, A. M., (2000). A new algorithm for incremental mining of constrained association rules. Master Thesis, Department of Computer Sciences and Automatic Control, Alexandria University. [5] Hipp. J., et al., (2000). Algorithms for association rule mining-a general survey and comparison, SIGKDD Explorations 2. [6] Agrawal, R. T., Imielinski, Swami, A., (1993). Mining association rules between sets of items in large databases, Proc. of ACM SIGMOD Conf. on Management of Data, pp.207 216. [7] Freitas, A. A., (2001). Understanding the crucial role of attribute interaction in data mining, Artificial Intelligence Review 16 pp.177 199. [8] Lin D. I., Kedem, Z.M., (1998). Pincer-search: an efficient algorithm for discovering the maximal frequent set, Proc. of 6th European Conf. on Extending Database Technology. [9] Brin, S., et al., (1997). Dynamic itemset counting and implication rules for market basket data, Proc. of ACM SIGMOD International Conf. on Management of Data. Tucson, AZ. [10] Kennedy, J., Eberhart, R.C., (1995). Particle Swarm Optimization, Proc. of IEEE In Int. Conf. on Neural Networks, pp. 1942-1948, Piscataway, NJ,. 48