Document Type : Research Article
Authors
1 Department of electrical engineering, Faculty of Engineering, Islamic Azad University Mashhad Branch, Mashhad, Iran
2 Department of electrical engineering, Faculty of Engineering, Ferdowsi University of Mashhad, Mashhad, Iran
Abstract
Keywords
هدف وب معنایی گسترده نمودن شبکه ارتباطی جهانی وب، با معناست تا از این طریق انسانها و ماشینها بتوانند بهتر محتوای وب را درک کنند و به نیازمندیهایشان بهتر پاسخ داده شود. عاملهای هوشمند به عنوان ابزار برجستهای در راستای تحقق بخشیدن به نگرش وب معنایی در نظر گرفته میشوند. با به کارگیری عاملهای هوشمند، برنامهها قادر خواهند بود که بهتر، کاراتر و با حداقل مداخله بیشتر کارشان را انجام دهند. یکپارچه سازی تدریجی سیستمهای چند عامله با تکنولوژی وب معنایی بر استفاده از وب در آینده تاثیر گذار خواهد بود ؛ نسل بعدی وب شامل گروههایی از عاملهای مرتبط با هم است که کارهای بسیار پیچیدهای را برای کاربرانشان انجام میدهند. عاملهای هوشمند به علت قابلیت تعامل و همکاری با یکدیگر بسیار با تکنولوژیهای معنایی سازگاری دارند. این عاملها میتوانند با یکپارچهسازی آنتولوژیها و قوانین در وب معنایی، با یکدیگر همکاری و ارتباط داشته باشند زبانهای نشانهگذاری مانندRDF [1] ، OWL [2] و RuleML [3] برای مدلسازی آنتولوژیها و قوانین در وب معنایی توسعه یافتهاند.
منطقهای توصیفی [4] و Datalog مفاهیم رسمی و خدمات استنتاج تصمیم پذیری را برای OWL و RuleML فراهم کردند. در سال 2005 Horrocks و Petel-Schneider به طور خاص SWRL [5] را که ترکیبی از OWL و RuleML بود، به منظور قادر ساختن عاملهای نرم افزاری برای تعامل بین آنتولوژیها و قوانین پیشنهاد کردند، اما به علت قدرت گویای SWRL، خدمات استنتاج آن تصمیم ناپذیر بودند و این یک مشکل بزرگ تلقی میشد [6].
در سال 2003 برای اداره کردن آنتولوژیهای توزیع شده،C-OWL استفاده شد [7]. C-OWL آنتولوژیها را محلی کرده، امکان نگاشت صریح بین دوآنتولوژی را میدهد، اما همان طور که میدانیم با اینکه عاملهای نرم افزاری حقایق و قوانین خاص خود را در پایگاههای دانششان دارند، اما خدمات استنتاج توزیع شده برای یکپارچه سازی آنتولوژیها و قوانین تاکنون توسعه نیافته است. برای برخورد با این مشکلات، مطالعه سرویسهای استنتاج توزیع شده برای آنتولوژیها و قوانین به منظور دستیابی به استنتاج تصمیم پذیر از طریق محاسبات موثر و کارا امری ضروری به نظر میرسد. به عبارت دیگر، با وجود توسعه استنتاج برای آنتولوژیها و قوانین یکپارچه به استنتاج توزیع شده، تصمیم پذیری آن باید باقی بماند[8]، در این تحقیق یک سیستم چند عاملی توزیع شده با قابلیت استنتاج توزیع شده با منطق order-sorted ارائه میدهیم که قابلیت کار بر روی آنتولوژیها و قوانین را دارد و قادر به استنتاج توزیع شده بر روی آنهاست.
منطق order-sorted که بسطی از منطق مسندی مرتبه اول است، شامل چندین دسته و سلسله مراتبشان بوده که به آنها سلسله مراتب دسته گفته میشود. منطق order-sorted دارای سه مزیت اصلی است [9]؛
در آنتولوژی رسمی، موجودیتها اصولا به خواص، رویدادها، فرآیند ها، اشیا و قسمتها تقسیم میشوند [13]. روابط موجودیتها نیز به صورت رسمی تعریف میشوند. آنتولوژیهای سطح بالاتر که خواص را بر اساس دستهای و دائمی بودن دسته بندی میکنند، توسط Guarino و [14] Welty ارائه شده است.
در [15] Serani، مشکل استنتاج با چندین آنتولوژی که با نگاشت مفهومی با هم ارتباط دارند، بررسی شده است. در این مقاله شیوه استنتاج توزیع شدهای ارائه شده است که استنتاج را از طریق ترکیب قطعات اسنتتاج محلی انجام میدهد، اما این روش استنتاج بسیار زمانبر و حافظه بر است. در [16] Schlicht، یک شیوه تحلیل توزیع شده ارائه میکند که در آن مسأله را با تحلیل محلی و سپس انتشار تمام واقعیتها بین استنتاج گرها حل میکند. این سیستم به هیچ وجه واقعیتها را اعتبارسنجی نمی کند، لذا ممکن است دادهای که اعتبار خود را از دست داده نیز در استنتاج لحاظ شود و به استنتاج نادرستی منجر شود. در [17] Kaneiwa، یک چهارچوب برای برنامه نویسی چندگانه منطق order-sorted ارائه کرده است که در آن یک سلسله-مراتب دسته در ارتباط با یک آنتولوژی است و از دسته بندی خواص برای تشخیص خواص دائمی از میان پایگاههای دانش استفاده شده است. در چندین پایگاه دانش هر پایگاه دانش میتواند اطلاعات خواص دائمی را از سایر پایگاههای دانش استخراج کند. این سیستم به علت نادیده گرفتن بسیاری از اطلاعات معتبر، استنتاج کامل و دقیقی ندارد.
در حوزه آنتولوژی مجرد در مقاله [18] دستهبندی خواص بسیار با معنی ارائه شده است که در آن خواص موجودیتها براساس فرمولهسازی منطقی به دستههای دائمی/غیردائمی و دستهای/غیردستهای تقسیم میشوند. بر اساس تعریف فوق، یک مشخصه را دستهای نامند اگر هر قسمت از موجودیت، آن مشخصه را نداشته باشد، بلکه کل موجودیت مشخصه فوق را دارا باشد. مانند مشخصه person(john) که در آن john به عنوان یک موجودیت دارای ویژگی person است، ولی هر قسمت از john این مشخصه را ندارد. و نیز یک مشخصه را غیر دستهای نامند، اگر هر قسمت از موجودیت نیز آن مشخصه را داشته باشد، مانند مشخصه water(w1) که در آن هر قسمت از water نیز مشخصه water را دارد. یک مشخصه را دائمی نامند اگر موجودیت آن برای همیشه آن مشخصه را داشته باشد و آن مشخصه برای تمام نمونه هایش صادق باشد. بر اساس این تعریف، مربوط به دستهای و دائمی بودن، دسته بندی مشخصههای آنتولوژیک در شکل (1) نشان داده شده است.
شکل (1): دسته بندی مشخصههای آنتولوژیک [18]
بر اساس شکل (1) داریم:
در این مقاله ما یک سیستم استنتاج چند عاملی توزیع شده ارائه میدهیم که بر منطق OS مبتنی بوده، قابلیت استنتاج کارا و دقیق را دارد. این سیستم استنتاج توزیع شده پیشنهادی، سیستمی متشکل از ماژولهای مجزا (به نام عاملها) و مجموعهای از مسیرهای ارتباطی بین آنهاست. در این سیستم هر عامل به طور خود مختار به عنوان یک موجودیت مستقل حل مسأله عمل میکند. سیستم استنتاج توزیع شده پیشنهادی کاراست، چون هماهنگی مناسب بین عاملها ایجاد نموده، ساختار ارتباطی مناسبی دارد و نیز تکنیکهای استنتاج توزیع شده را بخوبی اجرا مینماید. در این صورت این سیستم استنتاج توزیع شده بسیار مؤثرتر و با کیفیت تر از سیستم متمرکز مشابه خود عمل استنتاج را انجام میدهد. در این سیستم پیشنهادی، اطلاعات و دانش موجود در پایگاههای دانش توزیع شده، در صورت معتبر بودن، به طور مؤثری در فرآیند استنتاج به کار میروند. در اینجا ما وابستگیهای موقعیت و زمان مربوط به بعضی مشخصههای غیر دائمی را نیز در نظر گرفته، از این مشخصهها تنها در بازههای زمانی و موقعیتی معتبرشان استفاده میکنیم. با این روش، بدون از دست دادن دانش مجاز و با حداکثر دقت به استنتاجی کامل و دقیقتر نسبت به سیستمهای پیشین دست مییابیم.
این مقاله از بخشهای زیر تشکیل شده است: در بخش 2 دستهبندی مشخصهها از لحاظ مفهومی و آنتولوژیک را بیان میکنیم و سپس مفاهیم دائمی بودن و وابستگیهای زمان و موقعیت بیان میشوند. در بخش 3 نحوه استنتاج در منطق OS با ویژگیهای دائمی و غیر دائمی بیان میشود. در بخش 4 نیز به ارائه الگوریتم پیشنهادی مان میپردازیم. بخش 5 نیز به تعریف نحوه استخراج ویژگیهای معتبر از پایگاههای دانش در الگوریتم پیشنهادی مان میپردازد. در بخش 6 معماری سیستم و نحوه پیاده سازی آن به طور مختصر بیان میشود. درانتها نیز به نتیجهگیری و جمعبندی میپردازیم.
در این بخش ما از مفاهیم ویژهای استفاده میکنیم تا وابستگیهای مربوط به زمان، موقعیت یا موقعیت - زمان مربوط به مشخصهها را براساس وجود مفهوم دائمی بودن [14] مشخص کنیم.
در این تحقیق، ما بر رفتارهای وابسته به موقعیت و گذرای مشخصهها تاکید میکنیم. وابستگیهای مربوط به زمان، موقعیت یا موقعیت-زمان مربوط به مشخصهها، از لحاظ مفهومی با محدود کردن یک کلاس با ساختار ∑ دستهای تعریف میشود. یعنی شرایط آنتولوژیک به تفسیر مشخصهها، تحت ضرب کارتزین W=WTim×WSit اضافه میشود؛ به طور خاص، دو مجموعه WTim و WSit از زمانها و موقعیتها و سه رابطه موجود R، Rtim و Rsit برروی W×W برای تعریف وجود دائمی بودن و وابستگیهای زمان یا موقعیت مربوط به مشخصهها به کار میرود. در مفاهیم ویژهای، فرمولهای وابسته به موقعیت- گذرا توسط سه نوع از عملگرهای کیفیتی با نمادهای ■ و ♦ (وابسته به موقعیت-گذرا) و Tim□ و Tim◊ (گذرا) و Sit□ و Sit◊ (وابسته به موقعیت) بخوبی توصیف میشوند. ما نیز برای بیان مفاهیم دائمی بودن و وابستگی به زمان و موقعیت از این عملگرهای وابسته به موقعیت، گذرا و وابسته به موقعیت- گذرا استفاده میکنیم تا نشان دهیم که فرمول F برای هر زمان، موقعیت یا جهان در دسترس و معتبر برقرار است. برای مثال، فرمول وابسته به موقعیت – گذرای زیر را در نظر بگیرید:
فرمول فوق بیان میکند که برای هر زمان در دسترس در جهان، Bob تا زمانی که زنده است، یک male person است.
از لحاظ مفهومی ما دائمی بودن مشخصهها را که توسط دستهها در ساختاردستهای بیان میشود، تعریف میکنیم. فرض کنید یک نوع (یعنی دسته ذاتی) باشد، در این صورت دائمی بودن مربوط به انواع به صورت زیر تعریف میشود:
این تعریف برای دائمی بودن مربوط به ثوابت و تابع هاست. حال فرض کنید c یک ثابت و f یک تابع باشد، لذا عبارت زیر برقرار است:
به هر حال، دامنههای ثابت واقع گرایانه نیست، چون ممکن است موجودیتهای مختلفی در هر جهان ممکن وجود داشته باشند، اما وجودشان دائمی نیست، چون بالاخره روزی بر اثر عوامل طبیعی، مانند مرگ و … از بین میروند. برای مثال: هر نمونه از مشخصه person روزی دیگر وجود نخواهد داشت، چون هر انسانی روزی خواهد مرد. به همین علت، ما از دامنههای متغیری استفاده میکنیم مانند که مجموعهای از موجودیتهاست که در یک جهان ممکن وجود دارند. دامنههای متغیر ما را قادر میسازند که حالتی را در نظر بگیریم که در آن و برای برخی جهانهای ممکن بر هم منطبق نشوند.
دائمی بودن مربوط به دسته ها، ثوابت و توابع با تامین شرایط وجود موجودیتها مجدداً در زیر تعریف میشود:
تعریف: (وجود دائمی بودن)
فرض کنید یک ساختار å دستهای باشد، در این صورت شرایط زیر برقرار است:
1) برای هر ثابت c اگر , برقرار باشد، در این صورت =
2) به ازای هر تابع n تایی f، اگر داشته باشیم و نیز اگر عبارت زیر درست باشد،
در این صورت داریم:
.
3) به ازای هر نوع τ و به ازای هر جهان ، اگر داشته باشیم و ، در این صورت خواهیم داشت که .
4) به ازای هر دسته غیر دائمیσ و به ازای هر جهان ، اگر باشد، در این صورت با شرایط وجود خواهد داشت که در آن داریم: و .
دقت شود ساختارهای دستهای å تضمین میکنند که هر یک مجموعهی غیر تهی از موجودیتهاست.
مفاهیم مربوط به وابستگیهای زمان و موقعیت را به صورت زیر بیان میکنیم، در اینجا ما از کیفیت دو بعدی زمان و موقعیت برای تشخیص میان دستههای غیردائمی (به عنوان مشخصههای غیرذاتی) استفاده میکنیم. ما در اینجا چند نمونه از وابستگیهای زمان، موقعیت و موقعیت- زمان را نشان میدهیم که در آن دستههای غیردائمی به صورت زیر دسته بندی میشوند:
در شکل (2) این مفاهیم به مشخصههای غیر ذاتی در دستهبندی آنتولوژیک مشخصهها اضافه شده است. وابستگی به زمان بیان میکند که معنی یک مشخصه فقط بستگی به زمان آن دارد و یا ضرورتاً توسط زمان آن تعیین میشود. به عنوان مثال، مشخصه baby، وابسته به زمان است. لذا هر نمونه آن مشخصه مد نظر را فقط در زمان یا بازه خاصی دارد.
شکل (2): وابستگیهای زمان- موقعیت در دسته بندی آنتولوژیک مشخصه ها
وابستگی به موقعیت نشان میدهد که یک مشخصه برقرار میشود اگر یک موقعیت برقرار باشد، اما لزوما به برقراری زمان آن نیازی نیست.
در اینجا ما تعریف این وابستگیها را از لحاظ مفهومی در جهانهای ممکن بر روی ضرب کارتزین و بیان میکنیم. نکته اساسی در تفسیر وابستگی به زمان این است که برای مشخصه وابسته به زمان p و هر موجودیت ، اگر با شرایط درست باشد، در این صورت زمان دیگری به نام وجود دارد، به گونهای که .
این تعریف ساده بر مبنای دامنههای ثابت است که میتوانند با در نظر گرفتن وجود موجودیتها در هر جهان، تصحیح شود. در ادامه وابستگیهای زمان، موقعیت، و موقعیت - زمان، موجودیتها تحت رابطه تعریف میشوند.
تعریف: فرض کنید یک ساختار å دستهای باشد. مسند یکانی p وابسته به زمان است اگر عبارتهای زیر برقرار باشد:
1) (وجود غیردائمی بودن گذرا)
به ازای همه مقادیر و همه مقادیر داریم:
اگر باشد، لذا با شرایط وجود خواهد داشت به صورتی که با شرایط .
2) (وجود دائمی بودن وابسته به موقعیت در یک زمان)
به ازای همه مقادیر و همه مقادیر داریم:
اگر با شرایط باشد، در این صورت برای همه موقعیتها با شرایط و بیانگر است.
وجود غیردائمی بودن گذرا بیان میکند که برای هر زمان tm در دسترس از جهان اگر یک موجودیت d مشخصه p را در زمان tm داشته باشد، میتوان زمان tmj که از tm در دسترس است، یافت که موجودیت آن مشخصه را ندارد.
وجود دائمی بودن وابسته به موقعیت در یک زمان بیان میکند که بازای هر زمان tm در دسترس از جهان ، اگر یک موجودیت d، مشخصه p را در زمان tm داشته باشد، در این صورت موجودیت این مشخصه را در هر موقعیت st که از زمان tm ( در طول مدت حیات موجودیت) در دسترس است، داراست.
به صورت مشابه با وابستگی به زمان، وابستگی به موقعیت به شکل زیر تعریف میشود.
تعریف
فرض کنید یک ساختار å دستهای باشد. مسند یکانی p وابسته به موقعیت است اگر عبارتهای زیر برقرار باشد:
1) (وجود غیردائمی بودن وابسته به موقعیت)
به ازای همه مقادیر و همه مقادیر داریم:
اگر باشد، لذا با شرایط وجود خواهد داشت به صورتی که با شرایط .
2) (وجود دائمی بودن گذرا در یک موقعیت)
به ازای همه مقادیر و همه مقادیر داریم:
علاوه بر آن، وابستگیهای موقعیت - زمان به این صورت تعریف میشوند که معنا و مفهوم یک مشخصه به هر دوی زمان و موقعیت بستگی دارد. به عنوان مثال، مشخصه novice teacher یک مشخصه وابسته به موقعیت - زمان است لذا هر novice teacher پس از چند سال مشخص یک معلم کارآزموده خواهد شد لذا مشخصه novice teacher فقط در یک زمان مشخص و در موقعیت معینی برقرار است. به عبارت دیگر، وابستگی موقعیت - زمان بیانگر وابستگی زمان تحت یک شرایط و موقعیت خاصی است، در حالی که موقعیت آن هیچ ارتباطی با زمان آن ندارد. از لحاظ مفهومی با تغییرات دامنه ها، وابستگی موقعیت - زمان میتواند به عنوان یک وابستگی پیچیده به صورت زیر تعریف میشود.
تعریف
فرض کنید یک ساختار å دستهای باشد. مسند یکانی p وابسته به موقعیت - زمان است اگر عبارتهای زیر برقرار باشد:
1) (وجود غیردائمی بودن وابسته به موقعیت)
به ازای همه مقادیر و همه مقادیر داریم:
اگر باشد، لذا با شرایط وجود خواهد داشت بصورتیکه با شرایط .
2) (وجود غیردائمی بودن گذرا در یک موقعیت)
به ازای همه مقادیر و همه مقادیر داریم:
اگر با شرایط باشد، در این صورت برخی از مقادیر با شرایط وجود دارند به قسمی که و نیز با شرایط .
علاوه بر غیر دائمی بودن وابسته به موقعیت، غیر دائمی بودن گذرا در یک موقعیت بیان میکند که به ازای هر موقعیت st در دسترس از یک جهان اگر یک موجودیت d مشخصه p را در موقعیت st داشته باشد، در این صورت زمانهای و در دسترس از st وجود دارد؛ به گونهای که موجودیت، مشخصه p را در زمان دارد، اما در زمان این مشخصه را ندارد. وابستگی موقعیت- زمان در ارتباط با واقعیت هایی است که وابستگی زمان و وابستگی موقعیت هیچ یک نمی توانند مشخصههای با این وابستگی را توصیف کنند (مانند novice teacher )ه به همین دلیل است که وابستگی موقعیت- زمان با هر دو وابستگی زمان و وابستگی موقعیت متفاوت است.
برای در نظرگرفتن عبارات دستهای غیردائمی و دائمی در یک سیستم استنتاج با منطق OS، از قوانین جانشینی دستهای و جانشینی غیردستهای به صورت زیر استفاده میکنیم [17]:
جانشینی دسته ای: جانشینی دستهای یک تابع جزئی است به قسمی که داشته باشیم و نیز متناهی است.
مثال: عبارت با شرایط درست است.
جانشینی غیردسته ای: جانشینی غیردستهای یک تابع جزئی است به قسمی که داشته باشیم و نیز متناهی است.
مثال: عبارت با شرایط درست است.
ما در این تحقیق از حساب بند هورن دستهای که برای مسندهای دستهای و جانشینیهای غیردستهای توسعه یافته است [17] استفاده میکنیم.
در حساب بند هورن دستهای، بندهای هورن را با نماد Ci و واقعیتها را به صورت و قوانین را به صورت نشان میدهند. پایگاههای دانش نیز مجموعهای معین از بندهای هورن بصورت است.
قوانین استنتاج دستهای استاندارد به صورت زیر است:
- قانون جانشینی دسته ای: اگر باشد، در این صورت داریم:
- قانون برش: اگر و باشد، دراین صورت داریم
قوانین استنتاج دستهای برای زیردستهها و مسندهای دستهای به صورت زیر است:
- قانون زیردسته: اگر و باشد، در این صورت داریم
- قانون مسند نوعی: اگر باشد، دراینصورت داریم: . که در آن بیانگر دسته t است.
مثال: پایگاه دانش با شرایط ، ، ، و را در نظر بگیرید. در این صورت استنتاجهای زیر طبق قوانین فوق درست است.
قوانین استنتاج غیر دستهای نیز به صورت زیر است:
- قانون مسند نوعی غیردسته ای: اگر داشته باشیم و نیز عبارت زیر برقرار باشد:
، در این صورت داریم:
که در آن برقرار است.
- قانون جانشینی غیردستهای: اگر داشته باشیم و لذا داریم:
که در آن داریم:
.
مثال: پایگاه دانش
که در آن داریم:
، ، و
، را در نظر بگیرید. استنتاج زیر برای این پایگاه دانش برقرار است:
که با جانشینی غیر دستهای میباشد.
استنتاج چند عاملهای با چندین پایگاه دانش را که به چندین عامل نسبت داده شدهاند، مطابق شکل (3) در نظر بگیرید.
شکل (3): نمای گرافیکی الگوریتم پیشنهادی
در این حالت هر عامل پایگاه دانش مخصوص به خود را دارد که با منطقOS بیان میشود. همچنین، همه عاملها به یک پایگاه دانش طبقهبندی شده اشتراکی که در حقیقت سلسله مراتبی مفهومی از دستههاست، دسترسی دارد؛ یعنی کلمات، واقعیتها و قوانین در هر پایگاه دانش بیانگر دانش اضافی در هر عامل هستند. به عبارت دیگر، یک سلسله مراتب دسته بیان کننده دانش سلسله مراتبی است که اغلب در وضعیتهای مختلف به کار میرود. در سیستم استنتاج چند عاملی پیشنهادی ما ابتدا عاملها به طور موازی بر روی پرس و جوی مورد نظر شروع به استنتاج بر اساس قوانین استنتاج معرفی شده در بخش قبل، میکنند وهر عامل بر روی پرس و جوی مورد نظر با استفاده از دانش موجود در پایگاه دانش خود و نیز دانش سلسله مراتبی که در سلسله مراتب دسته وجود دارد، عمل استنتاج را انجام داده، به واقعیتهای جدیدی دست مییابد. واقعیتهای به دست آمده پس از بررسی در صورت مجاز بودن از لحاظ زمان و موقعیت به سایر عاملها منتشر میشود. این روال استنتاج تا زمانی ادامه مییابد که سیستم استنتاج توزیع شده به پرس و جوی مورد نظر پاسخ گوید ویا اینکه تعداد مشخصی تکرار صورت گیرد، ولی برای پرس وجوی مورد نظر جوابی پیدا نگردد، در حالت دوم گفته میشود که پرس و جوی مورد نظر جوابی ندارد.
همان طور که در شکل (3) مشاهده میشود، در الگوریتم پیشنهادی ما هر عامل پس از هر مرحله استنتاج، اطلاعات و واقعیات به دست آمدهاش را بررسی نموده، اطلاعات ویژگیهای معتبر را برای سایر پایگاههای دانش منتشر میکند تا در مرحله بعدی استنتاج مورد استفاده آنها قرار گیرد؛ یعنی عاملها علاوه بر اطلاعات ویژگیهای دائمی، اطلاعات ویژگیهای غیردائمی و وابسته به زمان، موقعیت و حتی وابسته به موقعیت- زمان را بر اساس مفاهیم و اصولی که در بخش قبل ذکر گردید، اعتبارسنجی میکنند و در صورت معتبر و مجاز بودن، آنها را نیز برای سایر پایگاههای دانش ارسال میکنند. شایان ذکر است که این مراحل اعتبارسنجی در سمت سایر عاملها هنگام دریافت اطلاعات نیز صورت میگیرد و تنها در صورتی که هنوز اعتبار لازم را داشته باشند، در پایگاه دانششان ذخیره میگردند و در استنتاج توزیع شده استفاده میشود.
نحوه عملکرد سیستم پیشنهادی مان را بر روی یک مثال نشان داده، نحوه استنتاج آن را شرح میدهیم.
سیستم چند عاملهای با سلسله مراتب دسته و نوع مطابق با شکل (4) درنظر بگیرید.
شکل (4): سلسله مراتب دسته و نوع
این یک سیستم استنتاج توزیع شده با چهار عامل است که ارتباط عاملها با هم و با سلسله مراتب دسته همانند شکل (3) مربوط به الگوریتم پیشنهادی است. پایگاههای دانش مرتبط با عاملها در این سیستم استنتاج توزیع شده به صورت جدول (1): تعریف شدهاند.
جدول (1): پایگاههای دانش مرتبط با عاملها
Knowledge base 1 |
(1a) male customer(john: person), |
(1b) excellent(john: person), |
|
(1c) (∀x: customer)(excellent(x: customer) ⇒ obtaining a discount(x: customer)) |
|
Knowledge base 2: |
(2a) pet seller(mary: person), |
(2b) (∀x: customer)(cares about(mary: person, x: customer)), |
|
(2c) (∀x: bird)(cares about(mary: person, x: bird)) |
|
Knowledge base 3: |
(3a) canary(peter: animal) |
(3b) (∀x: animal)(bird(x: animal) ⇒ canfly(x: animal)) |
|
Knowledge base 4: |
(4a) father (tony: animal, peter: animal), |
(4b) (∀y : animal) (∀x: animal) (father (y : animal, x: animal) ∧ bird(x: animal) ⇒ bird(y : animal)) |
واقعیت (3a) فقط در پایگاه دانش 3 درست است و با فرض درست بودن canary<bird که در سلسله مراتب دسته موجود است، میتوان عبارت
bird(peter: animal) را در پایگاه دانش 3 استخراج کرد. براساس مفهوم دائمی بودن که قبلا شرح داده شد، این عبارت در هر پایگاه دانش دیگری نیز درست است، چون اعتبارسنجی نوع bird بستگی به موقعیت خاصی ندارد و اصولاً یک مشخصه دائمی است. به عبارت دیگر، عناصر نوع bird میتوانند به سایر پایگاههای دانش منتشر شوند (peter در هر صورت یک bird است). از این رو، ما استنتاج میکنیم که واقعیت bird(peter:animal) در پایگاههای دانش 1 و 2 و 4 نیز درست است. بر مبنای این اطلاعات اضافی، پایگاه دانش 2 یک واقعیت جدید cares-about(mary:person,peter:animal) را از (2c) استنتاج میکند که این واقعیت بدون انتشار اطلاعات مشخصههای دائمی به دست نمیآمد. علاوه بر آن، از واقعیت father(tony:animal,peter:animal) در پایگاه دانش 4 نمیتوان به صورت نرمال و عادی استنتاج کرد که tony یک bird است. با ارسال واقعیت bird(peter:animal) میتوان با استفاده از پایگاهدانش 4 واقعیت bird(tony:animal) (یعنی tony یک bird است) را از واقعیت (4a) و قانون (4b) استنتاج کرد. بنابراین، واقعیت دائمی bird(tony:animal) به صورت بازگشتی در canfly(tony,animal) از پایگاه دانش 3 و واقعیت cares-about(mary:person,tony:animal) از پایگاه دانش 2 اثر میگذارد.
بر اساس سیستم استنتاج توزیع شده معرفی شده در مقاله [17] داریم: زمانی که واقعیت (1a) و استلزام درست باشد، customer(john: person) فقط در پایگاه دانش 1 درست است، چون در این مقاله فرض شده که فقط اطلاعات ویژگیهای دائمی بین پایگاههای دانش منتشر میشوند و اطلاعات ویژگیهای غیر دائمی، حتی آنهایی که معتبر هستند، نادیده گرفته میشوند. از آنجایی که customer از دسته غیردائمی است، لذا واقعیت (2a) در پایگاه دانش 2 به واقعیت cares-about (mary: person,john: customer) در پایگاه دانش 3 منجر نمیشود، اما این یک استنتاج کامل و دقیق نیست، زیرا واقعیت customer ممکن است در زمان فعلی درست باشد، و نادیده گرفتن این واقعیت مهم به استنتاج ناکامل منجر میگردد.
برای رفع این مشکل بزرگ یعنی ناکامل و غیر دقیق بودن نتایج استنتاج توزیع شده در سیستمهای پیشین، الگوریتم فوق برای استنتاج توزیع شده درمیان چندین پایگاه دانش ارائه گردید. آزمایشها و نتایج تجربی به دست آمده نشان میدهند که سیستم پیشنهادی ما، بسیار دقیقتر و کاملتر از سیستمهای مشابه پیشین عمل میکند. حال مثال فوق را با سیستم پیشنهادی استنتاج میکنیم. در سیستم پیشنهادی زمانی که واقعیت (1a) و استلزام درست باشد، لذا واقعیت customer(john: person) در پایگاه دانش 1 از عمل استنتاج محلی در عامل 1 بدست میآید، حال چون این واقعیت ( customer بودن john:person ) یک ویژگی غیردائمی و وابسته به زمان است، عامل 1 بازه زمانی معتبر برای این ویژگی که در اطلاعات آن موجود است را بررسی نموده، در صورت معتبر و مجاز بودن، آن را نیز به پایگاههای دانش 1و 3 و4 میفرستد. در پایگاه دانش 2 نیز به محض دریافت این واقعیت، ابتدا آن را اعتبارسنجی کرده، سپس در صورت معتبر بودن آن را به پایگاه دانشش میافزاید. اگر واقعیت ارسالی معتبر باشد، در پایگاه دانش 2 به همراه واقعیت (2b) به واقعیت cares-about(mary:person,john:customer) در پایگاه دانش 3 منجر میشود، حال آنکه این واقعیت بر اساس سیستمهای استنتاج قبلی بدست نمی آمد.
هر چند JADE [11 و 12] یک ابزار توسعه سیستمهای توزیعشده چندعاملی است که باJava [21] پیادهسازی شده و منطبق با مشخصاتFIPA است، اما توانایی داشتن رفتار هوشمند برای هر یک از عاملهایش را ندارد. موتور استنتاج JESS [22] که یک محیط برنامهنویسی مبتنی بر قوانین و مبتنی بر Java است، ابزاری قدرتمند برای توسعه سیستمهایی با قابلیت استنتاج هوشمند دارد. در این تحقیق با یکپارچه سازی JADE و JESS بر مبنای پلتفرم Java ، سیستم توزیعشده چندعاملی هوشمندی را که مبتنی بر منطق Order-sorted است، طراحی و پیادهسازی کردهایم.
عاملهای طراحی شده برای این سیستم توزیع شده در شکل (5) به همراه اجزاء و عاملهای اصلی JADE در واسط کاربری گرافیکی RMA نشان داده شده است [19]. این عاملها هر یک دارای پایگاه دانش مخصوص به خود هستند. ارتباطات بین این عاملها بر اساس ویژگیهای FIPA از طریق پیام ACL صورت میگیرد [20].
شکل (5): واسط کاربری گرافیکی JADE برای چهار عامل طراحی شده
شکل (6) اجرای قوانین عامل JADE را با به کارگیری JESS نشان میدهد. همان طور که در شکل مشاهده میشود، ورودیهای سیستم که همان پرس و جوی مورد نظر است، از جهان خارج توسط عامل JADE دریافت میشود. این عامل از طریق موتور استنتاج JESS تصمیمگیری نموده، سپس خروجی به جهان خارج ارسال میگردد.
شکل (6): اجرای قوانین عامل JADE با به کارگیری JESS
شکل (7): نحوه ارتباط عامل JADE با موتور استنتاج JESS
در این مقاله ما یک سیستم استنتاج توزیع شده ارائه دادیم که بر اساس منطق order-sorted به ارائه دانش میپرداخت. این منطق قادر به توصیف سلسله مراتب گزارهها و ارثبری عباراتی است که در زبان طبیعی وجود دارند. این منطق مزایای زیادی از جمله کاهش فضای جستجو را دارد. سیستم استنتاج توزیع شده پیشنهادی بسیار مقیاس پذیر بوده، علاوه بر داشتن امکان استفاده از الگوریتمهای استنتاج و زبانهای گوناگون، امکان مخفی سازی و خود مختاری را نیز به عاملها میدهد. طرح پیشنهادی برای استنتاج توزیع شده از انتشار صفات دائمی و غیردائمی معتبر بین پایگاههای دانش استفاده میکرد. همچنین، با در نظر گرفتن زمان و موقعیت صفات برای استنتاج، صفات غیردائمی معتبر بلااستفاده نمیماند و از آنها در زمان و موقعیت معتبرشان برای استنتاج توزیع شده استفاده میشد. با این روش، علاوه بر استنتاج کامل، دانش به دست آمده در پایگاههای دانش توزیع شده به طور کامل در نظر گرفته میشد و استنتاج توزیع شدهای با کارایی بالا، دقیق و بدون از دست دادن دانش خواهیم داشت.
نتایج آزمایشهای تجربی نشان داد که سیستم پیشنهادی مان به بیش از 75% از پرس و جوهایی که در سیستمهای پیشین از جمله سیستم ارائه شده در [17] پاسخ نمی دادند، پاسخ میدهد. آزمایشات مربوط به صحت عمل استنتاج نیز بر روی این سیستم صورت گرفت و در تمامی موارد سیستم به طور دقیق و بدون خطایی استنتاج را انجام داد. تنها عیوبی که در سیستم پیشنهادی مشاهده شد، این بود که اولا زمان اجرای این سیستم نسبت به سیستم قبلی [17] به طور متوسط 2 ثانیه بیشتر بود که البته این مسأله نسبت به دقت و کا رایی دقیق آن قابل اغماض است و ثانیا در سیستم پیشنهادی ما و نیز سیستمهای پیشین مانند [17] هیچ گونه بررسی برای حالات تعارض احتمالی بین استنتاج پایگاههای دانش مختلف صورت نگرفته است.
در کارهای آینده تلاش میکنیم تا زمان اجرای سیستم را به حداقل رسانده، حالات تعارض احتمالی بین پایگاههای دانش را مورد بررسی کرده و نیز سیستم پیشنهادی مان را بر روی یک کاربرد پیادهسازی نماییم.