Distributed Reasoning on Ontologies and Rules in Order-Sorted Logic

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

Intelligent agents are considered as significant means towards realizing the semantic web vision. On the Semantic Web, integrating ontologies and rules enables software agents to interoperate between them however, this leads to a problem, that no studies have focused on effective distributed reasoning for integrating ontologies and rules in multiple knowledge-bases. The methods that have been presented for distributed reasoning not only get a lot of times and memory, but also do not lead to a complete and sound reasoning. In this paper, to solve this problem, we present a distributed reasoning system that deals with the representation of the knowledge-base of order sorted logic. This logic is able to describe the hierarchy of predicates and inheritance of expressions that there are in our natural language. To have a distributed reasoning, our proposed method uses the expansion of rigid and valid-non-rigid properties between knowledge-bases. Furthermore, with considering time and the situation of properties for reasoning, the non-rigid properties have not been ignored in fact, in their valid time and situation, they are used. With this method, we achieve a complete reasoning and, moreover, the extracted knowledge is completely considered in the knowledge-bases and we have a distributed reasoning with high efficiency and sound without missing any information.

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]؛

  1. کاهش فضای جستجو با محدود کردن دامنه و محدوده‌های توابع، مسندها و متغیرها [10]؛
  2. ارائه دانش ساختاری به وسیله دسته‌های مرتب جزئی [11]؛
  3. تشخیص خطاهای دسته‌ها در فرمول‌های خوش ترتیب [12].

در آنتولوژی رسمی، موجودیت‌ها اصولا به خواص، رویدادها، فرآیند ها، اشیا و قسمت‌ها تقسیم می‌شوند [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) داریم:

  • مشخصه ذاتی مشخصه­ای است که دسته­ای و دائمی باشد؛ یعنی موجودیت‌ها همیشه این مشخصه را دارند، مانند person(john).
  • مشخصه غیرذاتی مشخصه­ای است که دسته­ای و غیردائمی باشد؛ یعنی بعضی از موجودیت­ها ممکن است این مشخصه را در زمان‌ها یا موقعیت‌های مختلفی از دست بدهند به عبارتی دیگر، موجودیت‌ها این مشخصه‌ها را به عنوان نقش برای مدتی می‌گیرند، مانند student(john).
  • مشخصه عمومی مشخصه­ای است که غیر دسته‌ای و دائمی باشد؛ یعنی هر قسمت از موجودیت برای همیشه آن مشخصه را دارد، مانند water (w1).
  • مشخصه توصیفی مشخصه­ای است که غیردسته‌ای وغیردائمی باشد؛ یعنی هر قسمت از موجودیت آن مشخصه را دارد، اما ممکن است این مشخصه را در زمان‌ها یا موقعیت‌های مختلفی از دست بدهد، مانند مشخصه (red( r1.

در این مقاله ما یک سیستم استنتاج چند عاملی توزیع شده ارائه می‌دهیم که بر منطق OS مبتنی بوده، قابلیت استنتاج کارا و دقیق را دارد. این سیستم استنتاج توزیع شده پیشنهادی، سیستمی متشکل از ماژول‌های مجزا (به نام عامل‌ها) و مجموعه‌ای از مسیرهای ارتباطی بین آنهاست. در این سیستم هر عامل به طور خود مختار به عنوان یک موجودیت مستقل حل مسأله عمل می‌کند. سیستم استنتاج توزیع شده پیشنهادی کاراست، چون هماهنگی مناسب بین عامل‌ها ایجاد نموده، ساختار ارتباطی مناسبی دارد و نیز تکنیک‌های استنتاج توزیع شده را بخوبی اجرا می‌نماید. در این صورت این سیستم استنتاج توزیع شده بسیار مؤثرتر و با کیفیت تر از سیستم متمرکز مشابه خود عمل استنتاج را انجام می­دهد. در این سیستم پیشنهادی، اطلاعات و دانش موجود در پایگاه‌های دانش توزیع شده، در صورت معتبر بودن، به طور مؤثری در فرآیند استنتاج به کار می‌روند. در اینجا ما وابستگی‌های موقعیت و زمان مربوط به بعضی مشخصه‌های غیر دائمی را نیز در نظر گرفته، از این مشخصه‌ها تنها در بازه‌های زمانی و موقعیتی معتبرشان استفاده می‌کنیم. با این روش، بدون از دست دادن دانش مجاز و با حداکثر دقت به استنتاجی کامل و دقیقتر نسبت به سیستم­های پیشین دست می­یابیم.

این مقاله از بخش­های زیر تشکیل شده است: در بخش 2 دسته­بندی مشخصه‌ها از لحاظ مفهومی و آنتولوژیک را بیان می‌کنیم و سپس مفاهیم دائمی بودن و وابستگی‌های زمان و موقعیت بیان می­شوند. در بخش 3 نحوه استنتاج در منطق OS با ویژگی‌های دائمی و غیر دائمی بیان می‌شود. در بخش 4 نیز به ارائه الگوریتم پیشنهادی مان می­پردازیم. بخش 5 نیز به تعریف نحوه استخراج ویژگی‌های معتبر از پایگاه­های دانش در الگوریتم پیشنهادی مان می­پردازد. در بخش 6 معماری سیستم و نحوه پیاده سازی آن به طور مختصر بیان می­شود. درانتها نیز به نتیجه­گیری و جمع­بندی می‌پردازیم.

1- دسته بندی مشخصه‌ها از لحاظ مفهومی و آنتولوژیک.

 

در این بخش ما از مفاهیم ویژه­ای استفاده می­کنیم تا وابستگی­های مربوط به زمان، موقعیت یا موقعیت - زمان مربوط به مشخصه­ها را براساس وجود مفهوم دائمی بودن [14] مشخص کنیم.

در این تحقیق، ما بر رفتارهای وابسته به موقعیت و گذرای مشخصه­ها تاکید می‌کنیم. وابستگی‌های مربوط به زمان، موقعیت یا موقعیت-زمان مربوط به مشخصه­ها، از لحاظ مفهومی با محدود کردن یک کلاس با ساختار ∑ دسته­ای   تعریف می‌شود. یعنی شرایط آنتولوژیک به تفسیر مشخصه­ها، تحت ضرب کارتزین W=WTim×WSit اضافه می‌شود؛ به طور خاص، دو مجموعه WTim و WSit از زمان‌ها و موقعیت‌ها و سه رابطه موجود R، Rtim و Rsit برروی W×W برای تعریف وجود دائمی بودن و وابستگی‌های زمان یا موقعیت مربوط به مشخصه‌ها به کار می‌رود. در مفاهیم ویژه‌ای، فرمول­های وابسته به موقعیت- گذرا توسط سه نوع از عملگرهای کیفیتی با نمادهای ■ و ♦ (وابسته به موقعیت-گذرا) و Tim□ و Tim◊ (گذرا) و Sit□ و Sit◊ (وابسته به موقعیت) بخوبی توصیف می­شوند. ما نیز برای بیان مفاهیم دائمی بودن و وابستگی به زمان و موقعیت از این عملگرهای وابسته به موقعیت، گذرا و وابسته به موقعیت- گذرا استفاده می­کنیم تا نشان دهیم که فرمول F برای هر زمان، موقعیت یا جهان در دسترس و معتبر برقرار است. برای مثال، فرمول وابسته به موقعیت – گذرای زیر را در نظر بگیرید:

 

فرمول فوق بیان می‌کند که برای هر زمان در دسترس در جهان، Bob تا زمانی که زنده است، یک male person است.

 

1-1- دائمی بودن

از لحاظ مفهومی ما دائمی بودن مشخصه­ها را که توسط دسته­ها در ساختاردسته­ای بیان می­شود، تعریف می­کنیم. فرض کنید یک نوع (یعنی دسته ذاتی) باشد، در این صورت دائمی بودن مربوط به انواع به صورت زیر تعریف می‌شود:

  • برای همه جهان­های ممکن  داریم: .

این تعریف برای دائمی بودن مربوط به ثوابت و تابع هاست. حال فرض کنید c یک ثابت و f یک تابع باشد، لذا عبارت زیر برقرار است:

  • برای هر جهان ممکن  داریم:  و

به هر حال، دامنه­های ثابت واقع گرایانه نیست، چون ممکن است موجودیت­های مختلفی در هر جهان ممکن وجود داشته باشند، اما وجودشان دائمی نیست، چون بالاخره روزی بر اثر عوامل طبیعی، مانند مرگ و … از بین می‌روند. برای مثال: هر نمونه از مشخصه person روزی دیگر وجود نخواهد داشت، چون هر انسانی روزی خواهد مرد. به همین علت، ما از دامنه‌های متغیری استفاده می­کنیم مانند  که مجموعه­ای از موجودیت­هاست که در یک جهان ممکن  وجود دارند. دامنه‌های متغیر ما را قادر می­سازند که حالتی را در نظر بگیریم که در آن  و  برای برخی جهان­های ممکن  بر هم منطبق نشوند.

دائمی بودن مربوط به دسته ها، ثوابت و توابع با تامین شرایط وجود موجودیت‌ها مجدداً در زیر تعریف می­شود:

تعریف: (وجود دائمی بودن)

فرض کنید  یک ساختار å دسته­ای باشد، در این صورت شرایط زیر برقرار است:

1)      برای هر ثابت c اگر ,  برقرار باشد، در این صورت =

2)         به ازای هر تابع n تایی f، اگر داشته باشیم  و نیز اگر عبارت زیر درست باشد،

در این صورت داریم:

.

3)      به ازای هر نوع τ و به ازای هر جهان ، اگر داشته باشیم  و ، در این صورت خواهیم داشت که .

4)      به ازای هر دسته غیر دائمیσ و به ازای هر جهان ، اگر  باشد، در این صورت  با شرایط  وجود خواهد داشت که در آن داریم:  و .

دقت شود ساختارهای دسته‌ای å تضمین می­کنند که هر  یک مجموعه­ی غیر تهی از موجودیت‌هاست.

 

1-2- وابستگی‌های زمان و موقعیت

مفاهیم مربوط به وابستگی‌های زمان و موقعیت را به صورت زیر بیان می‌کنیم، در اینجا ما از کیفیت دو بعدی زمان و موقعیت برای تشخیص میان دسته­های غیردائمی (به عنوان مشخصه­های غیرذاتی) استفاده می­کنیم. ما در اینجا چند نمونه از وابستگی­های زمان، موقعیت و موقعیت- زمان را نشان می‌دهیم که در آن دسته‌های غیردائمی به صورت زیر دسته بندی می‌شوند:

  • وابسته به زمان: elderly، adult، youth، child و baby
  • وابسته به موقعیت: nurse، student و teacher
  • وابسته به موقعیت - زمان: novice teacher

در شکل (2) این مفاهیم به مشخصه‌های غیر ذاتی در دسته­بندی آنتولوژیک مشخصه­ها اضافه شده است. وابستگی به زمان بیان می­کند که معنی یک مشخصه فقط بستگی به زمان آن دارد و یا ضرورتاً توسط زمان آن تعیین می­شود. به عنوان مثال، مشخصه baby، وابسته به زمان است. لذا هر نمونه آن مشخصه مد نظر را فقط در زمان یا بازه خاصی دارد.

 

 

شکل (2): وابستگی‌های زمان- موقعیت در دسته بندی آنتولوژیک مشخصه ها

 

وابستگی به موقعیت نشان می­دهد که یک مشخصه برقرار می­شود اگر یک موقعیت برقرار باشد، اما لزوما به برقراری زمان آن نیازی نیست.

در اینجا ما تعریف این وابستگی­ها را از لحاظ مفهومی در جهان­های ممکن بر روی ضرب کارتزین  و  بیان می‌کنیم. نکته اساسی در تفسیر وابستگی به زمان این است که برای مشخصه وابسته به زمان p و هر موجودیت ، اگر  با شرایط  درست باشد، در این صورت زمان دیگری به نام  وجود دارد، به گونه‌ای که .

این تعریف ساده بر مبنای دامنه‌های ثابت است که می‌توانند با در نظر گرفتن وجود موجودیت‌ها در هر جهان، تصحیح شود. در ادامه وابستگی‌های زمان، موقعیت، و موقعیت - زمان، موجودیت‌ها تحت رابطه  تعریف می‌شوند.

 

1-2-1- وابستگی به زمان

تعریف: فرض کنید  یک ساختار å دسته­ای باشد. مسند یکانی p وابسته به زمان است اگر عبارت‌های زیر برقرار باشد:

1)         (وجود غیردائمی بودن گذرا)

به ازای همه مقادیر  و همه مقادیر  داریم:

اگر  باشد، ‌لذا  با شرایط  وجود خواهد داشت به صورتی که  با شرایط .

2)         (وجود دائمی بودن وابسته به موقعیت در یک زمان)

به ازای همه مقادیر  و همه مقادیر  داریم:

اگر  با شرایط  باشد، در این صورت برای همه موقعیت‌ها  با شرایط  و  بیانگر  است.

وجود غیردائمی بودن گذرا بیان می‌کند که برای هر زمان tm در دسترس از جهان  اگر یک موجودیت d مشخصه p را در زمان tm داشته باشد، می‌توان زمان tmj که از tm در دسترس است، یافت که موجودیت آن مشخصه را ندارد.

وجود دائمی بودن وابسته به موقعیت در یک زمان بیان می‌کند که بازای هر زمان tm در دسترس از جهان ، اگر یک موجودیت d، مشخصه p را در زمان tm داشته باشد، در این صورت موجودیت این مشخصه را در هر موقعیت st که از زمان tm ( در طول مدت حیات موجودیت) در دسترس است، داراست.

به صورت مشابه با وابستگی به زمان، وابستگی به موقعیت به شکل زیر تعریف می‌شود.

 

1-2-2- وابستگی به موقعیت

تعریف

فرض کنید  یک ساختار å دسته‌ای باشد. مسند یکانی p وابسته به موقعیت است اگر عبارت‌های زیر برقرار باشد:

1)         (وجود غیردائمی بودن وابسته به موقعیت)

به ازای همه مقادیر  و همه مقادیر  داریم:

اگر  باشد، ‌لذا  با شرایط  وجود خواهد داشت به صورتی که  با شرایط .

2)         (وجود دائمی بودن گذرا در یک موقعیت)

به ازای همه مقادیر  و همه مقادیر  داریم:

  • اگر  با شرایط  باشد، در این صورت برای همه موقعیت‌ها  با شرایط  و  بیانگر  است.

علاوه بر آن، وابستگی‌های موقعیت - زمان به این صورت تعریف می‌شوند که معنا و مفهوم یک مشخصه به هر دوی زمان و موقعیت بستگی دارد. به عنوان مثال، مشخصه novice teacher یک مشخصه وابسته به موقعیت - زمان است لذا هر novice teacher پس از چند سال مشخص یک معلم کارآزموده خواهد شد لذا مشخصه novice teacher فقط در یک زمان مشخص و در موقعیت معینی برقرار است. به عبارت دیگر، وابستگی موقعیت - زمان بیانگر وابستگی زمان تحت یک شرایط و موقعیت خاصی است، در حالی که موقعیت آن هیچ ارتباطی با زمان آن ندارد. از لحاظ مفهومی با تغییرات دامنه ها، وابستگی موقعیت - زمان می‌تواند به عنوان یک وابستگی پیچیده به صورت زیر تعریف می‌شود.

 

1-2-3- وابستگی به موقعیت - زمان

تعریف

 

 

فرض کنید یک ساختار å دسته‌ای باشد. مسند یکانی p وابسته به موقعیت - زمان است اگر عبارت‌های زیر برقرار باشد:

1)         (وجود غیردائمی بودن وابسته به موقعیت)

به ازای همه مقادیر   و همه مقادیر   داریم:

اگر  باشد، ‌لذا  با شرایط  وجود خواهد داشت بصورتیکه  با شرایط .

2)         (وجود غیردائمی بودن گذرا در یک موقعیت)

به ازای همه مقادیر  و همه مقادیر  داریم:

اگر  با شرایط  باشد، در این صورت برخی از مقادیر  با شرایط  وجود دارند به قسمی که  و نیز  با شرایط .

علاوه بر غیر دائمی بودن وابسته به موقعیت، غیر دائمی بودن گذرا در یک موقعیت بیان می‌کند که به ازای هر موقعیت st در دسترس از یک جهان  اگر یک موجودیت d مشخصه p را در موقعیت st داشته باشد، در این صورت زمان‌های  و  در دسترس از st وجود دارد؛ به گونه‌ای که موجودیت، مشخصه p را در زمان  دارد، اما در زمان  این مشخصه را ندارد. وابستگی موقعیت- زمان در ارتباط با واقعیت هایی است که وابستگی زمان و وابستگی موقعیت هیچ یک نمی توانند مشخصه‌های با این وابستگی را توصیف کنند (مانند novice teacher )ه به همین دلیل است که وابستگی موقعیت- زمان با هر دو وابستگی زمان و وابستگی موقعیت متفاوت است.

 

2- استنتاج در منطق OS با ویژگی‌های دائمی و غیر دائمی

برای در نظرگرفتن عبارات دسته‌ای غیردائمی و دائمی در یک سیستم استنتاج با منطق OS، از قوانین جانشینی دسته‌ای و جانشینی غیردسته‌ای به صورت زیر استفاده می‌کنیم [17]:

جانشینی دسته ای: جانشینی دسته‌ای یک تابع جزئی  است به قسمی که داشته باشیم  و نیز  متناهی است.

مثال: عبارت  با شرایط  درست است.

جانشینی غیردسته ای: جانشینی غیردسته‌ای یک تابع جزئی  است به قسمی که داشته باشیم  و نیز  متناهی است.

مثال: عبارت  با شرایط  درست است.

 

2-1- حساب بند هورن دسته ای

ما در این تحقیق از حساب بند هورن دسته‌ای که برای مسندهای دسته‌ای و جانشینی‌های غیردسته‌ای توسعه یافته است [17] استفاده می‌کنیم.

در حساب بند هورن دسته­ای، بندهای هورن را با نماد Ci و واقعیت‌ها را به صورت  و قوانین را به صورت  نشان می‌دهند. پایگاه‌های دانش نیز مجموعه­ای معین از بندهای هورن بصورت  است.

قوانین استنتاج دسته‌ای استاندارد به صورت زیر است:

-        قانون جانشینی دسته ای: اگر  باشد، در این صورت داریم:

-        قانون برش: اگر  و  باشد، دراین صورت داریم

قوانین استنتاج دسته­ای برای زیردسته‌ها و مسند‌های دسته‌ای به صورت زیر است:

-        قانون زیردسته: اگر  و  باشد، در این صورت داریم

-        قانون مسند نوعی: اگر  باشد، دراینصورت داریم: . که در آن  بیانگر دسته t است.

مثال: پایگاه دانش  با شرایط  ، ،  ،  و  را در نظر بگیرید. در این صورت استنتاج­های زیر طبق قوانین فوق درست است.

 

 

 

قوانین استنتاج غیر دسته­ای نیز به صورت زیر است:

-        قانون مسند نوعی غیردسته ای: اگر داشته باشیم  و نیز عبارت زیر برقرار باشد:

   ، در این صورت داریم:

 

که در آن  برقرار است.

-        قانون جانشینی غیردسته­ای: اگر داشته باشیم  و  لذا داریم:

 

که در آن داریم:

  .

مثال: پایگاه دانش

 

که در آن داریم:

 ،  ،  و

 ، را در نظر بگیرید. استنتاج زیر برای این پایگاه دانش برقرار است:

 

که با جانشینی غیر دسته‌ای  می‌باشد.

 

3- الگوریتم پیشنهادی

استنتاج چند عامله­ای با چندین پایگاه دانش را که به چندین عامل نسبت داده شده­اند، مطابق شکل (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 منجر می‌شود، حال آنکه این واقعیت بر اساس سیستم‌های استنتاج قبلی بدست نمی آمد.

 

4- معماری و پیاده سازی سیستم پیشنهادی

هر چند 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

 

 

در شکل (7) نحوه ارتباط عامل JADE را با موتور استنتاج JESS نشان می‌دهد. همان طور که مشاهده می‌شود، تمامی عامل‌ها با یک JESS Agent در ارتباط هستند که به موتور استنتاج JESS متصل بوده، از این طریق فرآیند تصمیم گیری صورت می­گیرد.

 

نتیجه گیری

در این مقاله ما یک سیستم استنتاج توزیع شده ارائه دادیم که بر اساس منطق order-sorted به ارائه دانش می‌پرداخت. این منطق قادر به توصیف سلسله مراتب گزاره­ها و ارث­بری عباراتی است که در زبان طبیعی وجود دارند. این منطق مزایای زیادی از جمله کاهش فضای جستجو را دارد. سیستم استنتاج توزیع شده پیشنهادی بسیار مقیاس پذیر بوده، علاوه بر داشتن امکان استفاده از الگوریتم‌های استنتاج و زبان‌های گوناگون، امکان مخفی سازی و خود مختاری را نیز به عامل‌ها می‌دهد. طرح پیشنهادی برای استنتاج توزیع شده از انتشار صفات دائمی و غیردائمی معتبر بین پایگاه­های دانش استفاده می­کرد. همچنین، با در نظر گرفتن زمان و موقعیت صفات برای استنتاج، صفات غیردائمی معتبر بلا­استفاده نمی­ماند و از آنها در زمان و موقعیت معتبرشان برای استنتاج توزیع شده استفاده می‌شد. با این روش، علاوه بر استنتاج کامل، دانش به دست آمده در پایگاه­های دانش توزیع شده به طور کامل در نظر گرفته می‌شد و استنتاج توزیع شده‌ای با کارایی بالا، دقیق و بدون از دست دادن دانش خواهیم داشت.

نتایج آزمایش‌های تجربی نشان داد که سیستم پیشنهادی مان به بیش از 75% از پرس و جوهایی که در سیستم‌های پیشین از جمله سیستم ارائه شده در [17] پاسخ نمی دادند، پاسخ می‌دهد. آزمایشات مربوط به صحت عمل استنتاج نیز بر روی این سیستم صورت گرفت و در تمامی موارد سیستم به طور دقیق و بدون خطایی استنتاج را انجام داد. تنها عیوبی که در سیستم پیشنهادی مشاهده شد، این بود که اولا زمان اجرای این سیستم نسبت به سیستم قبلی [17] به طور متوسط 2 ثانیه بیشتر بود که البته این مسأله نسبت به دقت و کا رایی دقیق آن قابل اغماض است و ثانیا در سیستم پیشنهادی ما و نیز سیستم‌های پیشین مانند [17] هیچ گونه بررسی برای حالات تعارض احتمالی بین استنتاج پایگاه‌های دانش مختلف صورت نگرفته است.

در کارهای آینده تلاش می‌کنیم تا زمان اجرای سیستم را به حداقل رسانده، حالات تعارض احتمالی بین پایگاه‌های دانش را مورد بررسی کرده و نیز سیستم پیشنهادی مان را بر روی یک کاربرد پیاده­سازی نماییم.

 

 

[1]     Lassila, O. and Swick, R., "Resource description framework (rdf) model and syntax specification", 1998.
[2]     Patel-Schneider, P.F., Hayes, P. and Horrocks, I. "OWL Web Ontology Language Semantics and Abstract Syntax", W3C Recommendation.http://www.w3.org/tr/2004/rec-owl- semantics-20040210/.
[3]     Boley, H. and Tabet, S., “The Rule Markup Initiative” http://www.ruleml.org/.
[4]     Baader, F., Calvanese, D., McGuinness, D., Nardi, D. and Patel-Schneider P.F. (Eds.) "The Description Logic Handbook: Theory, Implementation, and Applications", Cambridge, 2nd ed. 2007.
[5]     Horrocks, I., Patel-Schneider, P.F., Boley, H., Tabet, S., Grosof, B. and Dean, M. "SWRL: A SemanticWeb Rule Language Combining OWL and Rule ML, W3C Recommendation" .http://www.w3.org/submission/swrl/
[6]     Horrocks, I. and Patel-Schneider, P.F. "A proposal for an owl rules language", Proceedings of the Thirteenth International World Wide Web Conference (WWW 2004), ACM, 2004, pp. 723–731.
[7]     Bouquet, P., Giunchiglia, F., Harmelen, F., Serafini, L. and Stuckenschmidt, H. "C-WL: contextualizing ontologies", Proceedings of the 2nd International Semantic Web Conference (ISWC 2003), 2003, pp. 164-179.
[8]     Kaneiwa, K. "The completeness of logic programming with sort predicates", Systems and Computers in Japan, 35: 37-46. DOI: 10.1002/scj.10409. 2004.
[9]     Beierle, C., Hedtsuck, U., Pletat, U., Schmitt, P.H., Siekmann, J. "An order-sorted logic for knowledge representation systems", Artificial Intelligence, 55:149–191, 1992.
[10] Walther, C. "A mechanical solution of Schubert’s steamroller by many-sorted resolution", Artificial Intelligence 26 (2) 217–224, 1985.
[11] Cohn, A.G., "Taxonomic reasoning with many sorted logics", Artificial Intelligence Review 3, 89–128, 1989.
[12] Oberschelp, A., "Order sorted predicate logic", Workshop on Sorts and Types in Artificial Intelligence, 1989.
[13] Smith, B., "The Basic Tools of Formal Ontology ", Formal Ontology in Information Systems, 19-28, 1998.
[14] Guarino, N. and Welty, C. "Ontological analysis of taxonomic relationships", Proceedings of ER-2000: The Conference on Conceptual Modeling, 210-224, 2000.
[15] Sera_ni, L. and Tamilin, A., "DRAGO: Distributed Reasoning Architecture for the Semantic Web", Proceedings of the European Semantic Web Conference (ESWC), 361-376. 2005.
[16] Schlicht, A. and Stuckenschmidt, H., "Towards Distributed Ontology Reasoning for the Web", Web Intelligence and Intelligent Agent Technology, vol 1, 536-539, 2007.
[17] Kaneiwa, K. and Riichiro, M., "Distributed reasoning with ontologies and rules in order-sorted logic programming", Web Semantics: Science, Services and Agents on the World Wide Web 7, 252–270, 2009.
[18] Guarino, N., Carrara, M. and Giaretta, P., "An ontology of meta-level categories", Proc. of the 4th Int. Conf. on the Principles of Knowledge Representation and Reasoning, 270–280, 1994.
[19] Bellifemine, F., Caire, G. and Greenwood, D., "Developing multi-agent systems with JADE" John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester , 2007.
[20] Bellifemine, F., Poggi, A. and Rimassa, G., "Developing Multi-agent Systems with JADE", Intelligent Agents VII, LNAI 1986, 89–103, 2001.
[21] Horstmann, S. and Cornell, G., "Core Java", Volume 1, Fundumental, eight edition, 2007.
[22] FRIEDMAN-HILL, E., "Jess in Action", Rule-Based Systems in Java, MANNING, 2003.