برولوغ
قبل الخوض في التفاصيل، البرولوغ (Prolog) هي لغة برمجة منطقية. الاسم مأخوذ من الفرنسية programmation en logique (برمجة المنطق)، تم اختراع اللغة بواسطة ألين كولميرايور قرابة العام 1972. كانت محاولة لجعل لغة البرمجة قادرة على استخدام عبارات منطقية بدل أن تكون تعليمات محددة تلقن إلى الحاسوب. صممت اللغة أساسًا لتستعمل في عمل برامج معالجة اللغات الطبيعية. وفيما يلي تفاصيل أوسع عن ذلك.
في هذا الإطار، تستعمل لغة البرولوغ في الكثير من برامج الذكاء الاصطناعي وبرامج معالجة اللغات الطبيعية. عبارات وقواعد اللغة تعتبر بسيطة جداً وواضحة (يتم كتابة البرنامج بالكامل باستخدام الحقائق والقواعد). الكثير من الباحثين الذين يقودون تطبيقات حديثة للبرولوغ التي جاءت نتيجة استخدام نسخات مختلفة من البرولوغ كنواة في مشاريع أنظمة حاسوب الجيل الخامس (fifth generation computer systems اختصارًا FGCS).
الأرقام
ومن ناحية أخرى، أغلب نسخ البرلوغ لاتميز بين الأعداد الصحيحة والأعداد الحقيقية.
أنواع المعلومات Data types
كذلك، لا تحتوي لغة البرولوغ على أنواع معلومات (Data types) تقليدية كلغات البرمجة التقليدية الأخرى. ولكن على عناصر تركيبية (lexical elements).
الذرات Atoms
علاوةً على ذلك، يعرف النص الثابت في برولوغ بمعنى الذرات Atoms. الذرة عبارة عن سلسلة من الحروف، الأرقام ورمز الشارحة-السفلية (_) (underscores) على أن يبدأ النص بحرف إنجليزي صغير (lower-case). عادة، إذا كان هناك رمز ليس بحرف أو رقم فأنه يوضع بين (علامة التنصيص الأحادية) (مثال '+' يعتبر ذرة، في حين + يعتبر معامل)asxaxascsadcvsdcddddd
المتغيرات Variables
من جانب آخر، يعبر المتغيرات Variables عن نص يتكون من الحروف، الأرقام ورمز شرطة-السفلية (_) على أن يبدأ النص بحرف إنجليزي كبير (upper-case). على عكس اللغات القولية (imperative programming languages) في بيئة البرولوغ المتغير ليس مكان في الذاكرة (مستوعب) يمكن تخزين القيم فيه. تصرف المتغيرات يتبع النمط لإيجاد القيمة.
الحقائق Facts
من جهة ثانية، في هذا المثال نقول ببساطة أن هناك توم 'tom' وهو قط 'cat'،بتعبير أدق 'cat' هو رأس (head) السند و'tom' هو وسيطة (argument). هنا عدد من الإستفسارات التي يمكن سؤالها بناء على هذه الحقيقة:
وفي هذا السياق، تختلف طريقة البرمجة في برولوغ عن اللغات التقليدية. في بورلوغ يتم كتابة الحقائق (Facts) والقواعد (Rules) في قاعدة بيانات، ثم يتم كتابة إستفسارت queries من قاعدة البيانات. الحقية عبارة عن سند (predicate) (الوحدة الأساسية للبرولوغ). يتكون السند من رأس (head) وعدد من الوسائط (arguments). مثال
cat(tom).
- هل توم قط (is tom a cat)؟
- ?- cat(tom).
- yes.
- ببساطة هنا نسأل إذا توم قط ويجيبنا برولوغ بنعم (yes).
- ما هي الأشياء التي هي قط (what things are cats)؟
- ?- cat(X).
- X = tom;
- non
القواعد Rules
father(X,Y) :- parent(X,Y),male(X).
أن النوع الثاني من العبارت في برلوغ هي القواعد:
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟