يحتوي Prolog الكلاسيكي على العديد من الميزات، وأكثر في تجسيداته الحديثة. العديد من هذه الميزات تتماشى بشكل جيد مع رؤية البرمجة المنطقية النقية كأداة لتحديد المواصفات ولغة برمجة. ومع ذلك، فإن بعض جوانب Prolog الأخرى تنحرف عن هذه الرؤية. الأمثلة الكلاسيكية التي حصلت على الكثير من الاهتمام هي assert/retract أو cut. ومع ذلك، فإن تركيزنا هنا هو على قاعدة البحث العمق أولاً. بينما يتم تبريرها بشكل جيد من خلال الاعتبارات العملية، فإن استخدام العمق أولاً فقط من البداية يقدم أيضًا الحاجة إلى التفكير في إنهاء العمليات، و可能需要 استخدام ميزات غير نقية لجعل الأوضاع المختلفة تنتج إجابات في وقت محدود. إن موضوع الإنهاء بالطبع يجب أن يواجهه أي مبرمج عاجلاً أم آجلاً، لكن الاضطرار للقيام بذلك بشكل صحيح منذ البداية قد يعيق القدرة على نقل رؤية Prolog كلغة إعلانية حيث يمكن للمرء أن يركز أولاً على تحديد المشكلة و/أو تمثيل المعرفة ثم يقلق لاحقًا بشأن الكفاءة. نستعرض عددًا من الطرق التي يمكن من خلالها معالجة بعض هذه القضايا عند تعليم Prolog، بينما لا يزال يتم استخدام نظام Prolog طوال الوقت. الهدف هو تعليمي، على أمل أن تساعد هذه الأفكار مدرسين آخرين يقومون بتعليم Prolog أو يخططون لذلك. نحن نعتقد أن بعض هذه الاعتبارات قد تكون مفيدة أيضًا عند دمج Prolog مع منهجيات برمجة حديثة مدعومة بالذكاء الاصطناعي.
Building similarity graph...
Analyzing shared references across papers
Loading...
Manuel V. Hermenegildo
José Francisco Morales Caballero
Pedro López
Universitat Rovira i Virgili
Building similarity graph...
Analyzing shared references across papers
Loading...
دراسة هيرمينجليدو وآخرون (الثلاثاء) هذا السؤال.