Prolog ببساطة ..
[تساؤلات و إجابات]
تمكنك من معرفة هذه اللغة بشكلِ عام
تطرحها عليكم فردوس
^_^
س: ما معنى prolog ؟
ج: إحدى لغات الذكاء الاصطناعي ، يمكنك الإطلاع هنا لموضوع كتبته أختنا شاطئ الإبداع للتعرف على الذكاء الاصطناعي بشكل أوسع .
هي اختصار للعبارة التالية : programming in logic
و تعني البرمجة حسب المنطق .
س: هل هي لغة برمجة لها كومبايلر خاص و محرر يتم تثبيته على الجهاز؟
ج: نعم هي لغة متكاملة يمكن تثبيتها على الجهاز لبرمجة أي المهام . و توجد إصدارات منها :
· الإصدار : LAP prolog : يسمح ببرمجة النوافذ و اختيار الألوان و بناء تطبيقات احترافية ، و هذا الإصدار under dos يعمل تحت نظام الدوس.
· الإصدار : Windows prolog : يعمل تحت نظام الويندوز.
· أيضاً هناك نسخة مرتبطة بـ oracle.
بالنسبة للمحررات :
إذا استخدمنا برنامج Word فإنه يتم حفظ العمل بصيغة ASCII
و إذا استخدمت LAP prolog يحفظ بامتداد .doc
و إذا استخدمنا PD prolog يحفظ العمل بامتداد .Pro
س: هل بإمكاننا إنتاج برامج بواسطة هذه اللغة ؟
ج: يعتبر البعض أن لغة prolog لغة مقيّدة تستخدم مهام برمجية غريبة و هذا غير صحيح لأنه يمكن استخدامها في كتابة أي برنامج فهي لغة كاملة . و تستخدم في التعليم العالي و الأبحاث ، و في صناعة الأنظمة ، مثل : أنظمة قواعد المعرفة ، و أنظمة الخبرة .
كما أنها تستخدم في المسائل المعتمدة على البحث .
س: ما هي مميزات هذه اللغة عن لغات البرمجة الأخرى ؟
يبقى هذا السؤال الذي يفرض نفسه .. و لتوضيح المفهوم أكثر .. ينبغي أن تعلم عزيزي القارئ
أن لغات البرمجة المتعارف عليها مثل : الجافا و الفيجوال بيسيك و السي و الدلفي و غيرها
تسمى بـ (اللغات الإجرائية ) بمعنى أنها لغات تفسيرية تعطي لائحة التعليمات للحاسب و إعطاء المهام المراد تنفيذها .. بعكس لغة prolog فهي (لغة تصريحية) يتم التصريح عن المعطيات و الحقائق في قاعدة معطيات .
و أيضاً فإن لغة prolog :
* توجه للمبرمج .و لا توجه للحاسب مباشرة .
* و آلية البحث فيها مبرمجة داخل اللغة بعكس اللغات الإجرائية فإنه يتم برمجة آلية البحث لكل عملية بحث مختلفة .
* أيضاً إن هذه اللغة تعمل على اختصار و تسجيل البرمجة بعكس اللغات الإجرائية التي تجبر المبرمج على كتابة كل تعليمة لتنفيذ المهام .
س: مثال يوضح آلية عمل هذه اللغة ؟
في هذه اللغة . لا يتم التصريح عن المتغيرات في بداية البرنامج أو إنشاء كلاس يتم استدعاؤه وقت البرنامج .. أيضاً لا تحوي على الشروط .. و لا تحوي على الحلقات بكافة أشكالها و صورها ، ولا تحوي على مصفوفات ..
فيتم وضع كافة معطيات البرنامج داخل قاعدة معطيات ، و بعد ذلك يتم إجراء المعالجة عليها
من ناحية الاستعلام و البحث .
نأخذ مثال بسيط :
لو نفرض أن لدينا قاعدة باسم (furniture)
و تحوي المعطيات التالية :
Furniture(chair,kichen,5).
Furniture(chair,bedroom,2).
Furniture(ded,bedroom,1).
Furniture(sofa,lounge,3).
Furniture(table,kitchen,1).
Furniture(cooker,kitchen,1).
نلاحظ أن القاعدة باسم (المفروشات) و تحوي على 3 أصناف :
في كل مرة نكتب اسم القطعة و مكان تواجدها و عددها .
فمثلا : الكرسي موجود بالمطبخ و يوجد منه 5 .
طبعاً مثال توضيحي .. لتتبين لكم الفكرة ... فقط
نرجع للمثال ثاني مرة :
لو أردت الاستفسار عن الكراسي و أماكن تواجدها و عددها : كيف سأصيغه ؟
من اللازم أن تتضح لديكم فكرة .. أننا عندما نريد ان نستعلم عن شئ مجهول أو غير معروف نضعه كمتغير .. كيف يعني متغير ؟
إليك أنواع الوسائط المستخدمة في هذه اللغة :
1: integer : عدد صحيح لا يحتوي فواصل عشرية .
2:real : عدد عشري يحتوي فواصل عشرية .
3:atoms :معناه ذرات تبدأ بحرف صغير ثم تختوي على أرقام و أحرف كبيرة أو –
4:string : نصوص تحوي : حروف و أرقام رموز أو فراغات .
5: variables : متغيرات و متحولات تبدأ بحرف كبير .
نرجع للمثال : و نقوم بتفصيله ،
الاستفسار كان عن الكراسي : إذن الكراسي شئ معلوم ،
و عددها : إذن عددها هو مجهول .
و أماكن تواجدها : أيضاً أماكنها مجهولة .
بكدا يكون عندنا مجهولين بصيغة الاستفسار و معلوم واحد .. صح ؟
فيكون الاستفسار كالتالي :
?- furniture (chair, Room, Number ).
نأخذ مثال 2:
الاستفسار عن جميع الأثاث الموجود في غرفة النوم :
المكان معلوم ، و نوع القطع و عددها مجهول ، يسكون الجواب كالتالي :
?- furniture (F , bedroom , N).
س : هل هناك ثمة مشاريع أنتجت بهذه اللغة ؟
من المشاريع التي أنتجت بهذه اللغة :
· مشروع الجينات البشرية العالمية .
· مشروع ICCARUS لبرمجة نظام تدريب متعدد الوسائط التفاعلي لرجال الإطفاء .
· منظمة ALP منظمة البرمجة المنطقية .
س: كتب و مراجع تتحدث عن هذه اللغة ؟
1: كتاب Prolog A Tutorial Introductionتحميل الكتاب من هنا
2: كتاب Introduction to Prologتحميل الكتاب من هنا
3: كتاب Logic Programming and Prolog تحميل الكتاب من هنا
4: كتاب ! Learn Prolog Now تحميل الكتاب من هنا
قراءة ممتعة أتمناها لكم
و إضافة برمجية هادفة









09 ذو الحجة, 1429 04:56 ص