برولوغ: الفرق بين النسختين

من ويكيبيديا، الموسوعة الحرة
[نسخة منشورة][نسخة منشورة]
تم حذف المحتوى تمت إضافة المحتوى
JarBot (نقاش | مساهمات)
ط بوت:إزالة تصنيف عام لوجود تصنيف فرعي
JarBot (نقاش | مساهمات)
ط بوت:إضافة مصدر من ويكي الإنجليزية أو الفرنسية (تجريبي)
سطر 1: سطر 1:
'''البرولوغ''' (Prolog) هي لغة [[برمجة منطقية]].<ref>{{cite book
{{مصدر|تاريخ=فبراير 2016}}
|title=Computational Logic: Logic Programming and Beyond
'''البرولوغ''' (Prolog) هي لغة [[برمجة منطقية]]. الاسم مأخوذ من [[لغة فرنسية|الفرنسية]] '''''pro'''grammation en '''log'''ique'' (برمجة المنطق)، تم اختراع اللغة بواسطة [[ألين كولميرايور]] حوالي العام [[1972]]. كانت محاولة لجعل [[لغة برمجة|لغة البرمجة]] قادرة على استخدام عبارات منطقية بدل أن تكون تعليمات محددة تلقن إلى [[حاسوب|الحاسوب]]. صممت اللغة أساسًا لتستخدم في عمل برامج [[معالجة اللغات الطبيعية]].
|first=Leon
|last=Sterling
|year=2002
|volume=2407
|pages=17–26
|doi=10.1007/3-540-45628-7_15
|chapter=Patterns for Prolog Programming
|series=Lecture Notes in Computer Science / Lecture Notes in Artificial Intelligence
|isbn=978-3-540-43959-2
}}</ref><ref>{{Cite book | last1 = Clocksin | first1 = William F. | last2 = Mellish | first2 = Christopher S. | title = Programming in Prolog | year = 2003 | publisher = Springer-Verlag | location = Berlin ; New York | isbn = 978-3-540-00678-7 | pages = }}</ref><ref>[http://www.ai.sri.com/pubs/files/641.pdf "An abstract Prolog instruction set"]. Technical Note 309, [[SRI International]], Menlo Park, CA, October 1983.</ref> الاسم مأخوذ من [[لغة فرنسية|الفرنسية]] '''''pro'''grammation en '''log'''ique'' (برمجة المنطق)، تم اختراع اللغة بواسطة [[ألين كولميرايور]] حوالي العام [[1972]]. كانت محاولة لجعل [[لغة برمجة|لغة البرمجة]] قادرة على استخدام عبارات منطقية بدل أن تكون تعليمات محددة تلقن إلى [[حاسوب|الحاسوب]]. صممت اللغة أساسًا لتستخدم في عمل برامج [[معالجة اللغات الطبيعية]].


تستخدم لغة البرولوغ في العديد من برامج [[ذكاء اصطناعي|الذكاء الاصطناعي]] وبرامج [[معالجة اللغات الطبيعية]]. عبارات وقواعد اللغة تعتبر بسيطة جداً وواضحة (يتم كتابة البرنامج بالكامل باستخدام الحقائق والقواعد). العديد من الباحثين الذين يقودون تطبيقات حديثة للبرولوغ التي جاءت نتيجة استخدام نسخات مختلفة من البرولوغ كنواة في مشاريع [[أنظمة حاسوب الجيل الخامس]] (fifth generation computer systems اختصارًا FGCS).
تستخدم لغة البرولوغ في العديد من برامج [[ذكاء اصطناعي|الذكاء الاصطناعي]] وبرامج [[معالجة اللغات الطبيعية]]. عبارات وقواعد اللغة تعتبر بسيطة جداً وواضحة (يتم كتابة البرنامج بالكامل باستخدام الحقائق والقواعد). العديد من الباحثين الذين يقودون تطبيقات حديثة للبرولوغ التي جاءت نتيجة استخدام نسخات مختلفة من البرولوغ كنواة في مشاريع [[أنظمة حاسوب الجيل الخامس]] (fifth generation computer systems اختصارًا FGCS).
سطر 45: سطر 55:
=== المتغيرات Variables ===
=== المتغيرات Variables ===
يعبر المتغيرات Variables عن نص يتكون من الحروف، الأرقام ورمز شرطة-السفلية (_) على أن يبدأ النص بحرف إنجليزي كبير (upper-case). على عكس اللغات القولية (imperative programming languages) في بيئة البرولوغ المتغير ليس مكان في الذاكرة (مستوعب) يمكن تخزين القيم فيه. تصرف المتغيرات يتبع النمط لإيجاد القيمة.
يعبر المتغيرات Variables عن نص يتكون من الحروف، الأرقام ورمز شرطة-السفلية (_) على أن يبدأ النص بحرف إنجليزي كبير (upper-case). على عكس اللغات القولية (imperative programming languages) في بيئة البرولوغ المتغير ليس مكان في الذاكرة (مستوعب) يمكن تخزين القيم فيه. تصرف المتغيرات يتبع النمط لإيجاد القيمة.
== مراجع ==
{{مراجع}}

<!--===المصطلحات Terms===
<!--===المصطلحات Terms===
=== القوائم Lists ===
=== القوائم Lists ===

نسخة 14:54، 18 ديسمبر 2017

البرولوغ (Prolog) هي لغة برمجة منطقية.[1][2][3] الاسم مأخوذ من الفرنسية programmation en logique (برمجة المنطق)، تم اختراع اللغة بواسطة ألين كولميرايور حوالي العام 1972. كانت محاولة لجعل لغة البرمجة قادرة على استخدام عبارات منطقية بدل أن تكون تعليمات محددة تلقن إلى الحاسوب. صممت اللغة أساسًا لتستخدم في عمل برامج معالجة اللغات الطبيعية.

تستخدم لغة البرولوغ في العديد من برامج الذكاء الاصطناعي وبرامج معالجة اللغات الطبيعية. عبارات وقواعد اللغة تعتبر بسيطة جداً وواضحة (يتم كتابة البرنامج بالكامل باستخدام الحقائق والقواعد). العديد من الباحثين الذين يقودون تطبيقات حديثة للبرولوغ التي جاءت نتيجة استخدام نسخات مختلفة من البرولوغ كنواة في مشاريع أنظمة حاسوب الجيل الخامس (fifth generation computer systems اختصارًا FGCS).

الحقائق Facts

تختلف طريقة البرمجة في برولوغ عن اللغات التقليدية. في بورلوغ يتم كتابة الحقائق (Facts) والقواعد (Rules) في قاعدة بيانات، ثم يتم كتابة إستفسارت queries من قاعدة البيانات. الحقية عبارة عن سند (predicate) (الوحدة الأساسية للبرولوغ). يتكون السند من رأس (head) وعدد من الوسائط (arguments). مثال


cat(tom).

في هذا المثال نقول ببساطة أن هناك توم 'tom' وهو قط 'cat'،بتعبير أدق 'cat' هو رأس (head) السند و'tom' هو وسيطة (argument). هنا عدد من الإستفسارات التي يمكن سؤالها بناء على هذه الحقيقة:

هل توم قط (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).

أنواع المعلومات Data types

لا تحتوي لغة البرولوغ على أنواع معلومات (Data types) تقليدية كلغات البرمجة التقليدية الأخرى. ولكن على عناصر تركيبية (lexical elements).

الذرات Atoms

يعرف النص الثابت في برولوغ بمعنى الذرات Atoms. الذرة عبارة عن سلسلة من الحروف ، الأرقام ورمز الشارحة-السفلية (_) (underscores) على أن يبدأ النص بحرف إنجليزي صغير (lower-case). عادة، إذا كان هناك رمز ليس بحرف أو رقم فأنه يوضع بين (علامة التنصيص الأحادية) (مثال '+' يعتبر ذرة، في حين + يعتبر معامل)asxaxascsadcvsdcddddd

الأرقام

معظم نسخ البرلوغ لاتميز بين الأعداد الصحيحة والأعداد الحقيقية.

المتغيرات Variables

يعبر المتغيرات Variables عن نص يتكون من الحروف، الأرقام ورمز شرطة-السفلية (_) على أن يبدأ النص بحرف إنجليزي كبير (upper-case). على عكس اللغات القولية (imperative programming languages) في بيئة البرولوغ المتغير ليس مكان في الذاكرة (مستوعب) يمكن تخزين القيم فيه. تصرف المتغيرات يتبع النمط لإيجاد القيمة.

مراجع

  1. ^ Sterling، Leon (2002). "Patterns for Prolog Programming". Computational Logic: Logic Programming and Beyond. Lecture Notes in Computer Science / Lecture Notes in Artificial Intelligence. ج. 2407. ص. 17–26. DOI:10.1007/3-540-45628-7_15. ISBN:978-3-540-43959-2.
  2. ^ Clocksin، William F.؛ Mellish، Christopher S. (2003). Programming in Prolog. Berlin ; New York: Springer-Verlag. ISBN:978-3-540-00678-7.
  3. ^ "An abstract Prolog instruction set". Technical Note 309, SRI International, Menlo Park, CA, October 1983.