حساب الأحداث
حساب الأحداث هو نظرية منطقية لتمثيل الأحداث والتحليل النفسي لها ، ولكيفية تأثيرها على حالة عالم حقيقي أو اصطناعي. وهو يتناول أحداث الفعل، التي يقوم بها الفاعلون، والأحداث الخارجية، التي تقع خارج سيطرة أي فاعل.
يمثل حساب الأحداث حالة العالم في أي وقت من خلال مجموعة جميع الحقائق (المسماة بالعوامل المؤثرة ) التي تسري في ذلك الوقت. تبدأ الأحداث العوامل المؤثرة وتنهيها.
يُعتبر الأمر سلساً في وقت ما إذا تم بدء الأمر السلس بواسطة حدث يحدث في وقت سابق ولم يتم إنهاء الأمر السلس بواسطة أي حدث يحدث في هذه الأثناء.
يختلف حساب الأحداث عن معظم المناهج الأخرى للتفكير في التغيير من خلال تجسيد الزمن، وربط الأحداث بالوقت الذي تحدث فيه، وربط المتغيرات بالأوقات التي تكون فيها صحيحة.
صِيغت النسخة الأصلية من حساب الأحداث، التي قدمها روبرت كوالسكي ومارك سيرجوت عام 1986، [ 1 ] كبرنامج منطقي وطُوِّرت لتمثيل السرديات وتحديثات قواعد البيانات. [ 2 ] أوضح كاف إشغي كيفية استخدام حساب الأحداث في التخطيط، [ 3 ] وذلك باستخدام الاستدلال الاستنباطي لتوليد إجراءات افتراضية لتحقيق حالة مرغوبة.
قام موراي شاناهان وروب ميلر بتوسيعها في التسعينيات [ 4 ] وأعيد صياغتها في منطق الرتبة الأولى مع التقييد . وقد استُخدمت هذه التوسعات والتوسعات اللاحقة لإضفاء الطابع الرسمي على الأفعال غير الحتمية، والأفعال المتزامنة، والأفعال ذات التأثيرات المتأخرة، والتغيرات التدريجية، والأفعال ذات المدة، والتغير المستمر، والتدفقات غير العطالية.
أظهر فان لامبالجن وهام كيف يمكن استخدام صياغة حساب الأحداث كبرنامج منطقي مقيد لإعطاء دلالات خوارزمية للزمن والجانب في اللغة الطبيعية. [ 5 ]
الطليقات والأحداث
في حساب الأحداث، تُجسّد المتغيرات . وهذا يعني أن المتغيرات تُمثَّل بمصطلحات . على سبيل المثال،يعبر عن أنموجود فيفي ذلك الوقت. هناهو مسند، بينماهو مصطلح. بشكل عام، الصيغة الذرية
- يعبر عن أنيعقد في
كما يتم تجسيد الأحداث وتمثيلها بمصطلحات. على سبيل المثال،يعبر عن أنيتم نقله إلىفي ذلك الوقت. على العموم:
- يعبر عن أنيحدث في
كما يتم تمثيل العلاقات بين الأحداث والعوامل التي تبدأها وتنهيها بواسطة الصيغ الذرية:
- يعبر عن ذلك إذا كانيحدث فيثميصبح ذلك صحيحاً بعد.
- يعبر عن ذلك إذا كانيحدث فيثميتوقف هذا عن كونه صحيحًا بعد.
بديهية مستقلة عن المجال
تم تطوير حساب الأحداث جزئيًا كبديل لحساب المواقف ، [ 6 ] [ 7 ] كحل لمشكلة الإطار ، لتمثيل والتفكير في الطريقة التي تغير بها الإجراءات والأحداث الأخرى حالة عالم ما.
توجد العديد من صيغ حساب الأحداث. لكن يمكن التعبير عن البديهية الأساسية لإحدى أبسط الصيغ وأكثرها فائدة كبديهية واحدة مستقلة عن المجال:
تنص البديهية على أن
- بطلاقة يحجز في وقت واحدلو
- حدثيحدث في وقتو
- المبادرونفيو
- قبل و
- ليس الأمر كما لو أن هناك حدثاً ماووقتبحيث
- يحدث فيو
- إنهاءفيو
- يكون ذلك قبل أو في نفس الوقتو
- قبل.
يحل حساب الأحداث مشكلة الإطار من خلال تفسير هذه البديهية في منطق غير رتيب ، مثل منطق الرتبة الأولى مع التقييد [ 8 ] أو، كبرنامج منطقي ، في منطق جملة هورن مع النفي كفشل . [ 1 ] في الواقع، التقييد هو أحد الدلالات العديدة التي يمكن إعطاؤها للنفي كفشل، [ 9 ] وهو يرتبط ارتباطًا وثيقًا بدلالات الإكمال للبرامج المنطقية [ 10 ] (التي تفسر if على أنها if and only if ).
تحدد بديهية حساب الأحداث الأساسية ما يلي: المسند من حيث،،،والمسندات. لتطبيق حساب الأحداث على مشكلة معينة، يجب تعريف هذه المسندات الأخرى أيضًا.
يتوافق حساب الأحداث مع تعريفات مختلفة للمسندات الزمنيةوفي معظم التطبيقات، يتم تمثيل الأوقات بشكل منفصل، بالأعداد الطبيعية، أو بشكل متصل، بالأعداد الحقيقية غير السالبة. ومع ذلك، يمكن أيضًا ترتيب الأوقات جزئيًا.
البديهيات المعتمدة على المجال
لتطبيق حساب الأحداث في مجال مشكلة معينة، من الضروري تحديدوالمسندات الخاصة بهذا المجال. على سبيل المثال، في مجال عالم المكعبات ، حدثإن نقل جسم إلى مكان ما يبدأ عملية الانسيابية، مما يعبر عن أن الشيء موجود في المكان وينهي اللغة السلسةوهذا يعبر عن أن الشيء موجود في مكان مختلف:
إذا أردنا أن نمثل حقيقة أنإذا كانت الحالة الابتدائية ثابتة، ولتكن عند الزمن 1، فمع البديهية الأساسية البسيطة المذكورة أعلاه، نحتاج إلى حدث، ولتكن، مما يبدأفي أي وقت:
البديهيات المعتمدة على المشكلة
لتطبيق حساب الأحداث، بالنظر إلى تعريفات،،،ومن الضروري تحديد المسنداتالمسندات التي تصف السياق المحدد للمشكلة.
على سبيل المثال، في مجال عالم المكعبات، قد نرغب في وصف حالة أولية يوجد فيها مكعبان، مكعب أحمر فوق مكعب أخضر على طاولة، مثل إشارة مرور لعبة، يليه نقل المكعب الأحمر إلى الطاولة في الوقت 1 ونقل المكعب الأخضر فوق المكعب الأحمر في الوقت 3، مما يؤدي إلى قلب إشارة المرور رأسًا على عقب:
تطبيق برولوج
يُمكن تطبيق حساب الأحداث بشكل طبيعي في لغة برولوج النقية (دون أي ميزات لا تُفسَّر منطقيًا). على سبيل المثال، يُمكن تطبيق سيناريو عالم المكعبات المذكور أعلاه (مع تعديلات طفيفة) بواسطة البرنامج التالي:
holdsAt ( Fluent , Time2 ) :- before ( Time1 , Time2 ), happensAt ( Event , Time1 ), initiates ( Event , Fluent , Time1 ), not ( clipped ( Fluent , Time1 , Time2 )).clipped ( Fluent , Time1 , Time2 ) :- terminates ( Event , Fluent , Time ), happensAt ( Event , Time ), before ( Time1 , Time ), before ( Time , Time2 ).يبدأ ( تهيئة ( Fluent )، Fluent ، الوقت ). يبدأ ( تحريك ( الكائن ، المكان )، على ( الكائن ، المكان )، الوقت ). ينهي ( تحريك ( الكائن ، المكان )، على ( الكائن ، المكان 1 )، الوقت ).يحدث عند ( تهيئة ( على ( الكتلة_الخضراء ، الجدول ))، 0 ). يحدث عند ( تهيئة ( على ( الكتلة_الحمراء ، الكتلة_الخضراء ))، 0 ). يحدث عند ( تحريك ( الكتلة_الحمراء ، الجدول )، 1 ). يحدث عند ( تحريك ( الكتلة_الخضراء ، الكتلة_الحمراء )، 3 ).يختلف برنامج Prolog عن الصيغة الرسمية السابقة في الطرق التالية:
- تمت إعادة كتابة البديهية الأساسية باستخدام مسند مساعد. تتيح إعادة الكتابة هذه التخلص من المحددات الوجودية، بما يتوافق مع اتفاقية Prolog التي تنص على أن جميع المتغيرات يتم تحديدها كميًا بشكل شامل.
clipped(Fact,Time1,Time2). - تم تغيير ترتيب الشروط في جسم البديهية الأساسية (البديهيات الأساسية) لتوليد إجابات على الاستفسارات بترتيب زمني.
- المساواة في الشرطتمت إزالة هذا الشرط من الشرط المقابل. وهذا يُنشئ افتراضًا مُبسطًا مفاده أن الأحداث لا تبدأ وتنهي نفس العملية في آنٍ واحد. ونتيجةً لذلك، فإن تعريف
before(Time1,Time).تم تبسيط المسند عن طريق حذف الشرط الذي.
بافتراض تعريف مناسب [ ملاحظة 1 ] للمسند، يقوم برنامج Prolog بتوليد جميع الإجابات على الاستعلام " ما الذي يتحقق متى؟" بالترتيب الزمني:before(Time1,Time2),
?- holdsAt ( Fluent , Time ). Fluent = on ( green_block , table ), Time = 1. Fluent = on ( red_block , green_block ), Time = 1. Fluent = on ( green_block , table ), Time = 2. Fluent = on ( red_block , table ), Time = 2. Fluent = on ( green_block , table ), Time = 3. Fluent = on ( red_block , table ), Time = 3. Fluent = on ( red_block , table ), Time = 4. Fluent = on ( green_block , red_block ), Time = 4. Fluent = on ( red_block , table ), Time = 5. Fluent = on ( green_block , red_block ), Time = 5.يستطيع البرنامج أيضًا الإجابة عن الاستفسارات السلبية، مثل: ما هي المتغيرات التي لا تنطبق في أي أوقات؟ ولكن لكي يعمل البرنامج بشكل صحيح، يجب أولًا تهيئة جميع المتغيرات في الشروط السلبية إلى مصطلحات لا تحتوي على متغيرات. على سبيل المثال:
timePoint ( 1 ). timePoint ( 2 ). timePoint ( 3 ). timePoint ( 4 ). timePoint ( 5 ).fluent ( on ( red_block , green_block )). fluent ( on ( green_block , red_block )). fluent ( on ( red_block , table )). fluent ( on ( green_block , table )).?- timePoint ( T ), fluent ( F ), not ( holdingAt ( F , T )). F = on ( green_block , red_block ), T = 1. F = on ( red_block , table ), T = 1. F = on ( red_block , green_block ), T = 2. F = on ( green_block , red_block ), T = 2. F = on ( red_block , green_block ), T = 3. F = on ( green_block , red_block ), T = 3. F = on ( red_block , green_block ), T = 4. F = on ( green_block , table ), T = 4. F = on ( red_block , green_block ), T = 5. F = on ( green_block , table ), T = 5.أدوات الاستدلال
بالإضافة إلى لغة برولوج ومتغيراتها، تتوفر أيضاً العديد من الأدوات الأخرى للاستدلال باستخدام حساب الأحداث:
الإضافات
تشمل التوسعات البارزة لحساب الأحداث المتغيرات القائمة على شبكات منطق ماركوف [ 12 ] ، والاحتمالية [ 13 ] ، والمعرفية [ 14 ] ، ومجموعاتها. [ 15 ]
انظر أيضاً
مراجع
- 1 2 كوالسكي، روبرت؛ سيرجوت، ماريك (1986-03-01). "حساب منطقي للأحداث" . الحوسبة من الجيل الجديد . 4 (1): 67-95 . doi : 10.1007/BF03037383 . ISSN 1882-7055 . S2CID 7584513 .
- ↑ كوالسكي، روبرت (1992-01-01). "تحديثات قواعد البيانات في حساب الأحداث" . مجلة البرمجة المنطقية . 12 (1): 121-146 . doi : 10.1016/0743-1066(92)90041-Z . ISSN 0743-1066 .
- ↑ إشغي، كيف (1988). "التخطيط الاستنباطي باستخدام حساب الأحداث" . Iclp/SLP : 562–579 .
- ↑ ميلر، روب؛ شاناهان، موراي (2002)، "بعض الصيغ البديلة لحساب الأحداث" ، في كاكاس، أنتونيس سي؛ صدري، فريبا (محرران)، المنطق الحسابي: البرمجة المنطقية وما بعدها: مقالات تكريمًا لروبرت أ. كوالسكي، الجزء الثاني ، سلسلة محاضرات في علوم الحاسوب، برلين، هايدلبرغ: سبرينغر، ص 452-490 ، doi : 10.1007/3-540-45632-5_17 ، ISBN 978-3-540-45632-2تم الاطلاع عليه بتاريخ 2020-10-05
- ↑ لامبالجن، هام (2005). المعالجة السليمة للأحداث . مالدن، ماساتشوستس: بلاكويل للنشر. ISBN 978-0-470-75925-7. OCLC 212129657 .
- ↑ ج. مكارثي وب. هايز (1969). بعض المشكلات الفلسفية من منظور الذكاء الاصطناعي . في ب. ميلتزر ود. ميتشي، محررين، ذكاء الآلة ، 4: 463-502. مطبعة جامعة إدنبرة، 1969.
- ↑ ر. رايتر (1991). مشكلة الإطار في حساب المواقف: حل بسيط (أحيانًا) ونتيجة اكتمال لانحدار الهدف. في: فلاديمير ليفشيتز (محرر)، الذكاء الاصطناعي والنظرية الرياضية للحوسبة: أوراق بحثية تكريمًا لجون مكارثي ، الصفحات 359-380، سان دييغو، كاليفورنيا، الولايات المتحدة الأمريكية. أكاديميك برس بروفيشنال، 1991.
- ↑ شاناهان، م. (1997) حل مشكلة الإطار: دراسة رياضية لقانون القصور الذاتي المنطقي . مطبعة معهد ماساتشوستس للتكنولوجيا.
- ↑ جيلفوند، م.؛ برزيموسينسكا، هـ.؛ برزيموسينسكي، ت. (1989). "حول العلاقة بين التحديد والنفي كفشل". الذكاء الاصطناعي . 38 (1): 75-94 . doi : 10.1016/0004-3702(89)90068-4 .
- ↑ كلارك، ك. ل. (1977). "النفي كفشل". المنطق وقواعد البيانات . بوسطن، ماساتشوستس: سبرينغر الولايات المتحدة. ص 293-322 . doi : 10.1007/978-1-4684-3384-5_11 . ISBN 978-1-4684-3386-9.
- ↑ داسارو، فابيو أوريليو؛ بيكاكس، أنتونيس؛ ديكنز، لوك؛ ميلر، روب (2024). "تطبيق قائم على برمجة مجموعة الإجابات لحساب الأحداث الاحتمالية المعرفية" . المجلة الدولية للاستدلال التقريبي . 165 109101. doi : 10.1016/j.ijar.2023.109101 . ISSN 0888-613X .
- ↑ سكارلاتيديس، أناستاسيوس؛ باليوراس، جورجيوس؛ أرتيكيس، ألكسندر؛ فوروس، جورج أ. (17 فبراير 2015). "حساب الأحداث الاحتمالي للتعرف على الأحداث" . معاملات ACM في المنطق الحسابي . 16 (2): 11:1–11:37. arXiv : 1207.3270 . doi : 10.1145/2699916 . ISSN 1529-3785 . S2CID 6389629 .
- ↑ سكارلاتيديس، أناستاسيوس؛ أرتيكيس، ألكسندر؛ فيليبو، جيسون؛ باليوراس، جورجيوس (مارس 2015). "حساب أحداث البرمجة المنطقية الاحتمالية" . نظرية وممارسة البرمجة المنطقية . 15 (2): 213-245 . arXiv : 1204.1851 . doi : 10.1017/S1471068413000690 . ISSN 1471-0684 . S2CID 5701272 .
- ↑ ما، جيفي؛ ميلر، روب؛ مورغنسترن، ليورا؛ باتكوس، ثيودور (28-07-2014). "حساب الأحداث المعرفي للاستدلال القائم على ASP حول معرفة الماضي والحاضر والمستقبل" . سلسلة EPiC في الحوسبة . 26. EasyChair: 75-87 . doi : 10.29007/zswj .
- ↑ داسارو، فابيو أوريليو؛ بيكاكس، أنتونيس؛ ديكنز، لوك؛ ميلر، روب (2020-10-01). "الاستدلال الاحتمالي حول سرديات الفعل المعرفي" . الذكاء الاصطناعي . 287 103352. doi : 10.1016/j.artint.2020.103352 . ISSN 0004-3702 . S2CID 221521535 .
للمزيد من القراءة
- براندانو، س. (2001) " تقييم حساب الأحداث "، ندوة IEEE TIME : 7-12.
- R. Kowalski and F. Sadri (1995) "Variants of the Event Calculus," ICLP: 67-81.
- Mueller, Erik T. (2015). Commonsense Reasoning: An Event Calculus Based Approach (2nd Ed.). Waltham, MA: Morgan Kaufmann/Elsevier. ISBN 978-0128014165. (Guide to using the event calculus)
- Shanahan, M. (1997) Solving the frame problem: A mathematical investigation of the common sense law of inertia. MIT Press.
- Shanahan, M. (1999) "The Event Calculus Explained" Springer Verlag, LNAI (1600): 409-30.
Notes
- ↑For example:
before(Time1,Time2):-timeline(Eternity),append(Before,[Time2|After],Eternity),member(Time1,Before).timeline([0,1,2,3,4,5]).
- 1986 introductions
- Logic in computer science
- Logic programming
- Knowledge representation
- Logical calculi
