ההבדל בין פרולוג ליספ

Anonim

פרולוג לעומת ליספ

פרולוג ו Lisp הן שתי שפות הפופולריות ביותר AI (בינה מלאכותית) שפות תכנות היום. הם בנויים עם שני פרדיגמות תכנות שונות. פרולוג היא שפה הצהרתית, ואילו ליספ היא שפה תפקודית. שניהם משמשים בעיות שונות AI אבל פרולוג משמש ביותר עבור בעיות לוגיקה והגיון, בעוד Lisp משמש לבעיות עם הצרכים prototyping מהיר.

פרולוג

פרולוג היא שפת תכנות AI. הוא שייך למשפחה של שפות תכנות לוגי. פרולוג היא שפה הצהרתית, שבה מתבצעים חישובים על ידי שאילתות ריצה על היחסים (המייצגים לוגיקה של תוכניות), המוגדרים כחוקים ועובדות. שפותחה בשנת 1970, פרולוג הוא אחד השפות תכנות ההיגיון העתיק ביותר של שפות תכנות AI הפופולריים ביותר היום (יחד עם Lisp). זוהי שפה חופשית, אבל גרסאות מסחריות רבות זמינות. זה היה הראשון המשמש לעיבוד שפה טבעית, אבל עכשיו זה שימש עבור משימות שונות כגון מערכות מומחה, מערכות מענה אוטומטי, משחקים ומערכות בקרה מתקדמות. לפרולוג יש רק סוג נתונים אחד הנקרא המונח. מונח יכול להיות אטום, מספר, משתנה או מונח מורכב. מספרים יכולים להיות צפים או מספרים שלמים. Prolog תומך רשימות מחרוזת כמו אוסף של פריטים. פרולוג מגדיר יחסים באמצעות סעיפים. סעיפים יכולים להיות כללים או עובדות. Prolog מאפשר איטרציה יסודית predicates רקורסיבית שלה.

Lisp

Lisp היא משפחה של שפות תכנות מחשבים. ואת הדיאלקטים המפורסם ביותר Lisp המשמשים למטרות תכנות כללי היום הם נפוצים Lisp ו Scheme. השם LISP מגיע מ "עיבוד LIST" וככל שהוא מרמז, מבנה הנתונים העיקרי של ליספ הוא הרשימה המקושרת. למעשה כל המקור נכתב באמצעות רשימות (באמצעות קידומת קידומת), או רשימות מסודרות יותר נכון (נקרא s-expressions). לדוגמה, קריאה לפונקציה נכתבת כ- (f a1 a2 a3), כלומר פונקציה f נקראת באמצעות a1, a2 ו- a3 כארגומנטים של קלט עבור הפונקציה. לכן היא נקראת שפה מכוונת ביטוי, שבה כל הנתונים והקוד נכתבים כביטויים (אין הבדל בין ביטויים לבין הצהרות בליספ). זה תכונה נחמדה מאוד מיוחד Lisp, שם ניתן להשתמש בו כדי להרחיב את השפה לבעיה בהישג יד על ידי כתיבת פקודות מאקרו מועילות. למרות הזנב recursion משמש על ידי מתכנתים להביע לולאות, כל ניבים ליספ לעתים קרובות לראות לכלול מבנים שליטה כמו לולאה. יתר על כן, Common Lisp ו ערכת יש Mapcar ומפה כי הם דוגמאות של פונקציות, המספקים פונקציונליות looping על ידי יישום הפונקציה ברצף על כל האלמנטים שלה ולאחר מכן אוספת את התוצאות לרשימה.

-> ->

מה ההבדל בין פרולוג ו Lisp?

למרות, פרולוג ו Lisp הן שתי שפות תכנות הפופולרי ביותר AI, יש להם הבדלים שונים. ליספ היא שפה פונקציונלית, ואילו פרולוג היא תכנות לוגי ושפות הצהרתיות. Lisp היא מאוד גמישה בגלל prototyping מהירה שלה תכונות מאקרו, כך שהוא מאפשר למעשה להרחיב את השפה כדי להתאים את הבעיה בהישג יד. באזורים של AI, גרפיקה ממשקי משתמש, Lisp כבר בשימוש נרחב בגלל יכולת זו prototyping מהירה. עם זאת, בשל היכולות שלה מובנה ההיגיון תכנות, פרולוג הוא אידיאלי עבור בעיות AI עם חשיבה סימבולית, מסד נתונים ויישומים ניתוח שפה. בחירה של אחד על השני לחלוטין תלוי בסוג של בעיה AI כי צריך להיפתר.