רקע תיאורטי

פרולוג על קצה המזלג

שפת פרולוג הינה שפה לתכנות לוגי (ProLog: PROgrammation en LOGique) אשר פותחה בשנות השבעים של המאה העשרים על ידי קבוצות חוקרים בבריטניה ובצרפת. פרולוג הפכה לכלי יעיל לפיתוח יישומים לאחר שנכתב לה מהדר (קומפיילר) יעיל. מאז נכתבו בעזרתה יישומים שונים לתחומים רבים, בראשם בינה מלאכותית ועיבוד שפה טבעית.

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

אם אינכם מתמצאים בלוגיקה קלאסית, והיסקים לוגיים אינם מוכרים לכם – אל חשש! פרק זה יצייד אתכם ברקע התיאורטי הנדרש כדי להבין את אופייה הלוגי של פרולוג. נציין רק שבשל היותה שפת תכנות לוגי, פרולוג מתאימה במיוחד לכתיבת יישומים בתחומים בהם עיקר העניין הוא בניתוח "טקסטים" סימבוליים והסקת מסקנות מהם, כגון: ממשקים למסדי נתונים, מערכות מומחה, מערכות הוכחה מתמטיות ועוד.

נוסף על היותה שייכת לשפות התכנות הלוגי, פרולוג מתאפיינית גם בהיותה שפה הצהרתית. ככלל, שפות תכנות מתחלקות לשפות הצהרתיות (דקלרטיביות) ולשפות תהליכיות (פרוצדורליות).

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

לאור כל זאת, לא קשה לנחש שתכנות בפרולוג שונה מאוד מתכנות בשפות תהליכיות מוכרות כגון C, Java ושכמותן. ואכן, בניגוד לתכניות בשפות אלה, תכנית פרולוג היא פשוט אוסף של הנחות (עובדות וחוקים). תפקידו של המתכנת בפרולוג להגדיר את אוסף ההנחות, ולאחר מכן להציג עליהן שאילתות. בעת הצגת שאילתא, פרולוג בודק הטענה המובעת בשאילתא נובעת מההנחות על סמך כללי ההיסק הלוגיים הידועים, ומחזיר את תשובתו בסיום הבדיקה. במובן מסוים, זוהי ה"ריצה" של התכנית.

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

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

מבוא

נושאים בסיסיים

נושאים מתקדמים

סיכום

© כל הזכויות שמורות למערכת המידע איתן