ברוכים הבאים לשיעור בנושא "חיפוש מושכל" בקורס "מבוא לבינה מלאכותית". יחידה זו מתמקדת בשיטות חיפוש המנצלות ידע ספציפי לבעיה כדי למצוא פתרונות בצורה יעילה יותר משיטות חיפוש בלתי מושכלות. נלמד כיצד היוריסטיקות ופונקציות הערכה מאפשרות לאלגוריתמים כמו A* וחיפוש חמדן לנווט במרחב המצבים ביעילות, תוך הבנת התכונות הקריטיות שלהן והשפעתן על אופטימליות ושלמות הפתרון.
יסודות החיפוש המושכל
בניגוד לחיפוש בלתי מושכל (כמו BFS או DFS) שבוחן מצבים באופן "עיוור", חיפוש מושכל משתמש בידע נוסף על הבעיה כדי להנחות את תהליך החיפוש. ידע זה מתבטא לרוב באמצעות היוריסטיקות.
היוריסטיקות הן הליבה של חיפוש מושכל, ומאפשרות לאלגוריתמים להתמקד בנתיבים מבטיחים ולהימנע מבדיקה מיותרת של נתיבים פחות סבירים.
אלגוריתמי חיפוש מרכזיים
נכיר שני אלגוריתמי חיפוש מושכלים בולטים המשתמשים בהיוריסטיקות:
חיפוש חמדן (Greedy Best-First Search)
אלגוריתם זה מרחיב תמיד את הצומת שנראה "הקרוב ביותר" למטרה, כפי שמוערך על ידי הפונקציה ההיוריסטית h(n). הוא מתמקד בהקטנת המרחק המשוער למטרה בכל צעד, ללא התחשבות בעלות שהצטברה עד כה. הוא מהיר ויעיל במקרים רבים, אך אינו מבטיח מציאת הפתרון האופטימלי או אפילו שלמות (מציאת פתרון אם קיים).
אלגוריתם A* (A* Search)
A* נחשב לאחד מאלגוריתמי החיפוש המושכלים היעילים והנפוצים ביותר. הוא משלב את העלות שהצטברה עד כה (g(n)) עם הערכה היוריסטית של העלות הנותרת למטרה (h(n)). פונקציית ההערכה שלו היא f(n) = g(n) + h(n). A* מבטיח למצוא את הפתרון האופטימלי (הזול ביותר) אם ההיוריסטיקה שלו מקיימת תנאים מסוימים.
היוריסטיקות ועקרונות אופטימליות
האיכות והתכונות של ההיוריסטיקה קריטיות לביצועי אלגוריתם A*.
שאלות לדיון
- הסבירו את ההבדל בין חיפוש חמדן לאלגוריתם A* מבחינת פונקציית ההערכה, שלמות ואופטימליות.
- תארו מצב שבו היוריסטיקה קבילה אינה עקבית. האם A* עדיין ימצא פתרון אופטימלי במקרה כזה? נמקו.
- כיצד עקרון האופטימליות בא לידי ביטוי באלגוריתם A*, ומדוע הוא חשוב להבטחת אופטימליות הפתרון?
- תנו דוגמה להיוריסטיקה עבור בעיית "שמונה המלכות" (Eight Queens) והסבירו האם היא קבילה.
נקודות לתשובת מודל
- הגדרות מדויקות של היוריסטיקה, פונקציית הערכה, חיפוש חמדן, A*, קבילות, עקביות ועקרון האופטימליות.
- השוואה ברורה בין חיפוש חמדן ל-A* תוך התייחסות ל-f(n), g(n), h(n), שלמות ואופטימליות.
- הסבר על הקשר בין קבילות/עקביות היוריסטיקה לאופטימליות של A*.
- הבנת המשמעות של עקרון האופטימליות בהקשר של חיפוש והשפעתו על A*.
- יכולת לנתח היוריסטיקה נתונה ולקבוע את תכונותיה (קבילה/עקבית).