سؤال

ما هي التطبيقات (العملية) توحيدب حيث يتم استخدامه في الواقع في العالم الحقيقي؟

لم أستطع أن أفهم فكرة كل ما حول ما هو عليه في الحقيقة ولماذا يعتبر جزءا من الذكاء الاصطناعي.

هل كانت مفيدة؟

المحلول

التوحيد هو أساسا عملية من الاستبدال. وبعد لقد رأيت أنها تسمى "مطابقة في اتجاهين".

في ProLolog، في لغات البرمجة المنطقية الأخرى وفي لغات القائمة مباشرة على إعادة كتابة المنطق (maude., إيلان, ، إلخ ...) هي الآلية التي تربطها المتغيرات المجانية (المنطقية) بالشروط / القيم. في Prologent المتزامنة، يتم تفسير هذه المتغيرات كقنوات اتصال.

المنظمة البحرية الدولية، وهي أفضل طريقة لفهمها هي مع بعض الأمثلة من الرياضيات (تم توحيد / هي آلية رئيسية أساسية، على سبيل المثال، في سياق أبحاث نظرية نظرية الآلي، وهو مجال فرعي من منظمة العفو الدولية؛ استخدام آخر في اكتب خوارزميات الاستدلال). الأمثلة التي تتبع تؤخذ من سياق أنظمة الجبر الكمبيوتر (CAS):

المثال الأول:

بالنظر إلى مجموعة سؤالين واثنين من العمليات الثنائية * و + على ذلك، ثم يتم توزيعها على اليسار عبر + إذا:

X * (Y + Z)   =   (X * Y) + (X * Z)   |1|

هذا ال إعادة كتابة القاعدة (مجموعة من قواعد إعادة الكتابة هي إعادة كتابة النظام).

إذا أردنا تطبيق قاعدة إعادة الكتابة هذه لحالة معينة، قل:

a * (1 + b)   |2|

نحن توحيد (عبر خوارزمية التوحيد) هذا المصطلح، | 2 |، مع الجانب الأيسر (LHS.) من | 1 | ولدينا هذا (تافهة عن قصد) استبدال معظم الوفيات العامة, ميج):

{X/a, Y/1, Z/b}   |3|

الآن، تطبيق | 3 | إلى الجانب الأيمن (أجر) من | 1 |، لدينا، أخيرا:

(a * 1) + (a * b)

كان هذا بسيطا ويقدر ما يمكن أن يقوم التوحيد بإظهار مثال أكثر تعقيدا قليلا.

المثال الثاني:

بالنظر إلى قاعدة إعادة الكتابة هذه:

log(X,Y) + log(X,Z)   =>   log(X,Y*Z)   |4|

نطبقها على هذه المعادلة:

log(e,(x+1)) + log(e,(x-1)) = k   |5|

(LHS. من | 5 | توحيد LHS. من | 4 |)، لذلك لدينا هذا ميج:

{X/e, Y/(x+1), Z/(x-1)}   |6|

لاحظ أن X و X متغيران مختلفان. هنا لدينا اثنين من المتغيرات، x و y، التي تطابق اثنين مصطلحات مركبة, (X + 1) و (×-1)، وليس القيم أو المتغيرات البسيطة.

نحن نطبق هذا ميج, ، | 6 | أجر من | 4 | ثم ونحن نعود هذا في | 5 |؛ اذا لدينا:

log(e,(x+1)*(x-1)) = k   |7|

وما إلى ذلك وهلم جرا.

(على أمل أنني لم أفعل أي خطأ أو هذا قد يخلط بين الأيوبية أكثر من ذلك.)

نصائح أخرى

التوحيد هو آلية رئيسية في اكتب الاستدلال. وبعد من الناحية العملية، فإن التوحيد في هذا السياق سوف يقلل بشكل كبير من ارتداء أصابعك.

مقدور, على سبيل المثال، يستخدم التوحيد للعثور على قيم للمتغيرات التي تلبي القواعد - انظر هذا التفسير مثال. أتوقع أن تكون تقنية نموذجية لغات البرمجة المنطقية بشكل عام، على الرغم من أنني لا أملك تجربة مع أي أشخاص آخرين.

توحيد هو مثل مطابقة النمط، حيث تفرك هياكلتين، حيث يسمح للمتغيرات في المرء بمطابقة القيم في الآخر.

يحدث أبسط أشكال التوحيد كلما قمت باستدعاء وظيفة بلغة طبيعية. المتصل لديه حجج، والاليه معلمات. المعلمات "ملزمة" للحجج، والتي تنتج إنشاء مثيل للعمل.

شكل آخر بسيط من التوحيد هو عند استخدام تعبير منتظم للمطابقة، على سبيل المثال في موجه الأوامر قد تقوله dir x*y*.z* مما سيتطابق البعض ولكن ليس كل أسماء الملفات.

يحب الذكاء الاصطناعي الاستفادة من محركات الاستدلال، لمحاولة محاكاة التفكير من كائن من المعرفة، وعادة ما يكون في شكل بيانات في منطق. لاختيار مثال غبي، قد "تعرف" أن "جميع الرجال مميتون"، كما هو الحال في forall(x)(man(x) implies mortal(x)). وبعد ثم إذا طرحت سؤالا "هو سام بشر" كما mortal(Sam)?, ، يمكنك توحيد ذلك مع القاعدة للحصول على سؤال جديد "هو سام رجل" man(Sam)?

امل ان يساعد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top