1 / 50

תכנות לוגי פרולוג

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

Download Presentation

תכנות לוגי פרולוג

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. תכנות לוגיפרולוג מרצה : עמי ברלר חוג להוראת המחשבים מכללת "אחווה" 2003

  2. מטרות הקורס • היכרות עם תורת היגיון - לוגיקה • היכרות עם עקרונות של תכנות לוגי. • היכרות עם שפת פרולוג, עקרונותיה ויתרונותיה. • כתיבת יישומים מתחומים שונים. • להציג נתונים בצורה מופשטת. • היכרות עם תוכנית הלימודים בפרולוג.

  3. קצת היסטוריה • עקרונות המחשב כתפיסה, כפי הוא מוכר היום, התגבשו בשנות ה-40. • כיצד לבנות מחשב  כיצד להשתמש במחשב. • התפתחות השפות. • שפה  מבנה המחשב. • תכנות לוגי.

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

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

  6. תכנות לוגי • מבוסס על תורת ההיגיון. • ההיגיון מספק שפה מדויקת.

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

  8. קשר השלילה : לא (NOT)

  9. קשר השלילה : לא (NOT)

  10. קשר השלילה : לא (NOT)

  11. קשר השלילה : לא (NOT)

  12. קשר הגימום : גם (AND)

  13. קשר הגימום : גם (AND)

  14. קשר הגימום : גם (AND)

  15. קשר הגימום : גם (AND)

  16. קשר הגימום : גם (AND)

  17. קשר האיווי: או (OR)

  18. קשר האיווי: או (OR)

  19. קשר האיווי: או (OR)

  20. קשר האיווי: או (OR)

  21. קשר האימוז . הטענות "אם ברונו חולם אז ברונו ישן" ו- "ברנו ישן אם ברונו חולם" הן שתי טענות מורכבות (זהות) המורכבות משתי טענות פשוטות וקשר האימוז ביניהם. כל טענות האימוז מורכבות מראש וגוף באופן הבא: גוף ראש ברונו ישן ברונו חולם הגוף מציין את ה- אם והראש מציין את ה- אז. טבלת האמת הבאה מציגה את הקשר בין הטענות הפשוטות "ברונו ישן" ו- "ברונו חולם", לבין הטענה המורכבת "ברונו ישן אם ברונו חולם".

  22. קשר האימוז: גרירה לוגית

  23. קשר האימוז: גרירה לוגית

  24. קשר האימוז: גרירה לוגית

  25. קשר האימוז: גרירה לוגית

  26. קשר האימוז: גרירה לוגית

  27. קשר האימוז: גרירה לוגית

  28. קשר האימוז: גרירה לוגית

  29. הרעיון של תכנות לוגי תאור הבעיה מנגנון ההסקה תשובה שאילתא המשתמש

  30. שימור האמת- היסק תקף או בטל • הנחות: משה יתקלח אם הוא הזיע משה הזיע אם הוא רץ משה רץ אם הוא התאמן משה התאמן • מסקנה משה יתקלח

  31. הצרנה הנחות q  p r  q s  r s מסקנה p מילון משה יתקלח - p משה הזיע - q משה רץ - r משה התאמן – s

  32. r s  r s "עץ הוכחה"

  33. p q q p r r  q s  r s

  34. הרעיון של תכנות לוגי תאור הבעיה מנגנון ההסקה תשובה שאילתא המשתמש

  35. כללי היסק • כלל ההחזרה • כלל הוספת גימום • כלל מודוס פננס – Modus Ponens • כלל מודוס טולנס – Modus Tolens • כלל שרשרת • כלל הוספת איווי • כלל החלטה - Resolution

  36. כלל ההחזרה p1∧ p3∧ …∧ pn=> pi

  37. כלל הוספת גימוםAnd- introduction אם : ,…,p2 , p1,pn אז : p1∧ p2 ∧…∧ pn

  38. כלל מודוס פננס Modus Ponens אם מתקיימים : p => q , p אז q

  39. כלל מודוס טולנס Modus Tolens אם ∨ q , not qp אז p

  40. כלל שרשרת אם p => q , q => t אז p => t

  41. כלל הוספת איוויor-introduction אם כל pi אז p1 ∨ p2 ∨…∨ pn

  42. כלל החלטהResolution אם p ∨ q , not q ∨ t אז p ∨ t

  43. % תוכנית המשפחה התנכית  % עובדות % המתאר אב(_אדם,_מישהו) % מתאר ש _אדם הוא אבא של _מישהו. אב( אברהם,יצחק). אב (אברהם,ישמעאל). אב(יצחק,יעקב). אב(יצחק,עשו). אב(יעקב,ראובן). אב(יעקב,שמעון).

  44. % המתאר אם(_אדם,_מישהו) % מתאר ש _אדם הוא אימא של _מישהו. אם(שרה,יצחק). אם (הגר,ישמעאל). אם(רבקה,יעקב). אם(רבקה,עשו). אם(לאה,ראובן). אם(לאה,שמעון).

  45. % המתאר זכר(_אדם) % מתאר ש _אדם הוא ממין זכר. זכר(אברהם). זכר(ישמעאל). זכר(יצחק). זכר(יעקב). זכר(עשו). זכר(ראובן). זכר(שמעון).

  46. % המתאר נקבה(_אדם) % מתאר ש _אדם הוא ממין נקבה. נקבה(שרה). נקבה(הגר). נקבה(רבקה). נקבה(לאה).

  47. % חוקים: % המתאר הורה(_אדם,_מישהו) % מתאר ש _אדם הוא הורה של _מישהו.  הורה(_אדם,_מישהו) :- אב(_אדם,_מישהו). הורה(_אדם,_מישהו) :- אם(_אדם,_מישהו). % המתאר בן/בת (_מישהו,_אדם) % מתאר ש _מישהו הוא בנו/בתו של _אדם.  בן( _מישהו,_אדם) :- הורה( _אדם,_מישהו) , זכר( _מישהו). בת(_מישהו,_אדם) :- הורה(_אדם,_מישהו), נקבה( _מישהו).

  48. % המתאר אב(_אדם) % מתאר ש _אדם הוא אב. אב(_אדם) :- אב(_אדם,_מישהו). % המתאר אם(_אישה) % מתאר ש _אישה היא אימא  אם(_ אישה) :- אם(_אישה,_מישהו).

  49. % המתאר אח(_אח1,_אח2) % מתאר ש _אח1 ו _אח2 הם אחים.  אח( _אח1,_אח2):- הורה( _הורה,_אח1), הורה( _הורה,_אח2), זכר( _אח1), _אח1 \= _אח2. % כאשר _אח1 הוא ממין נקבה (אחות).  אחות( _אח1,_אח2):- הורה( _הורה,_אח1), הורה( _הורה,_אח2), נקבה( _אח1), _אח1 \= _אח2.

  50. % המתאר אח_או_אחות(_אח1,_אח2) % מתאר ש _אח1 ו _אח2 הם אחים. אח_או_אחות(_אח1,_אח2) :- הורה(_הורה, _אח1), הורה(_הורה, _אח2). % המתאר בן-דוד(_בן-דוד1,_בן-דוד2) % מתאר ש_בו-דוד1 ו- _בן-דוד2 הם בני דודים. בן_דוד( _בן_דוד1, _בן_דוד2):- הורה(_הורה1,_בן_דוד1), הורה(_הורה2,_בן_דוד2), אח_או_אחות(_הורה1,_הורה2), _בן_דוד1 \= _בן_דוד2.

More Related