الفرق بين Prolog و Lisp

الفرق بين Prolog و Lisp
الفرق بين Prolog و Lisp

فيديو: الفرق بين Prolog و Lisp

فيديو: الفرق بين Prolog و Lisp
فيديو: الفرق بين Python و Node Js 2024, يوليو
Anonim

برولوج مقابل ليسب

Prolog و Lisp هما من أشهر لغات برمجة الكمبيوتر AI (الذكاء الاصطناعي) اليوم. لقد تم بناؤها باستخدام نموذجين مختلفين للبرمجة. Prolog هي لغة تعريفية ، بينما Lisp هي لغة وظيفية. كلاهما يستخدم لمشاكل الذكاء الإصطناعي المختلفة ولكن Prolog يستخدم في الغالب لمشاكل المنطق والاستدلال ، بينما يستخدم Lisp للمشاكل المتعلقة باحتياجات النماذج الأولية السريعة.

برولوج

Prolog هي لغة برمجة AI. إنه ينتمي إلى عائلة لغات البرمجة المنطقية. Prolog هي لغة تعريفية ، يتم فيها نقل الحسابات عن طريق تشغيل استعلامات على العلاقات (التي تمثل منطق البرنامج) ، والتي يتم تعريفها على أنها قواعد وحقيقة.تم تطوير Prolog في عام 1970 ، وهي واحدة من أقدم لغات البرمجة المنطقية وواحدة من أكثر لغات برمجة الذكاء الاصطناعي شيوعًا اليوم (جنبًا إلى جنب مع Lisp). إنها لغة مجانية ، ولكن هناك العديد من المتغيرات التجارية المتاحة. تم استخدامه لأول مرة لمعالجة اللغة الطبيعية ، ولكنه الآن يستخدم في مهام مختلفة مثل الأنظمة الخبيرة وأنظمة الرد الآلي والألعاب وأنظمة التحكم المتقدمة. يحتوي Prolog على نوع بيانات واحد فقط يسمى المصطلح. يمكن أن يكون المصطلح ذرة أو رقمًا أو متغيرًا أو مصطلحًا مركبًا. يمكن أن تكون الأرقام عائمة أو أعداد صحيحة. يدعم Prolog القوائم والسلسلة كمجموعة من العناصر. يعرّف Prolog العلاقات باستخدام الجمل. يمكن أن تكون البنود إما قواعد أو حقائق. يسمح Prolog بالتكرار شامل المسندات العودية.

Lisp

Lisp هي عائلة من لغات برمجة الكمبيوتر. وأشهر لهجات Lisp المستخدمة في البرمجة للأغراض العامة اليوم هما Common Lisp and Scheme. يأتي اسم LISP من "LISt Processing" وكما يلمح ، فإن بنية البيانات الرئيسية لـ Lisp هي القائمة المرتبطة.في الواقع ، تمت كتابة المصدر بالكامل باستخدام القوائم (باستخدام تدوين البادئة) ، أو القوائم المحاطة بين قوسين بشكل صحيح (تسمى تعبيرات s). على سبيل المثال ، تتم كتابة استدعاء دالة كـ (f a1 a2 a3) ، مما يعني أن الوظيفة f تسمى باستخدام a1 و a2 و a3 كوسائط إدخال للدالة. لذلك يطلق عليها لغة موجهة للتعبير ، حيث تتم كتابة جميع البيانات والكود كتعبيرات (لا يوجد تمييز بين التعبيرات والجمل في Lisp). هذه الميزة الرائعة خاصة جدًا لـ Lisp ، حيث يمكن استخدامها لتوسيع اللغة لتشمل المشكلة المطروحة عن طريق كتابة وحدات ماكرو مفيدة. على الرغم من أن المبرمجين يستخدمون تكرار الذيل للتعبير عن الحلقات ، إلا أن جميع لهجات Lisp التي يتم مشاهدتها بشكل متكرر تتضمن هياكل تحكم مثل الحلقة. علاوة على ذلك ، يحتوي Common Lisp والمخطط على mapcar وخريطة تعد أمثلة على الوظائف ، والتي توفر وظيفة التكرار من خلال تطبيق الوظيفة على التوالي على جميع عناصرها ثم تجمع النتائج في قائمة.

ما هو الفرق بين Prolog و Lisp؟

على الرغم من أن Prolog و Lisp هما من أكثر لغات برمجة الذكاء الاصطناعي شيوعًا ، إلا أن هناك اختلافات مختلفة بينهما. Lisp هي لغة وظيفية ، بينما Prolog هي لغة برمجة منطقية ولغات توضيحية. تتميز Lisp بمرونة كبيرة نظرًا لما تتميز به من نماذج أولية سريعة وميزات الماكرو ، لذا فهي تسمح بالفعل بتوسيع اللغة لتناسب المشكلة المطروحة. في مجالات الذكاء الاصطناعي والرسومات وواجهات المستخدم ، تم استخدام Lisp على نطاق واسع بسبب قدرة النماذج الأولية السريعة هذه. ومع ذلك ، نظرًا لقدرات البرمجة المنطقية المضمنة ، فإن Prolog مثالي لمشاكل الذكاء الاصطناعي مع التفكير الرمزي وتطبيقات تحليل قواعد البيانات واللغة. يعتمد اختيار أحدهما على الآخر تمامًا على نوع مشكلة الذكاء الاصطناعي التي يجب حلها.

موصى به: