130 likes | 371 Views
אלגוריתמי חיפוש לא מיודעים. מבוא לבינה מלאכותית (236501) מדעי המחשב, טכניון עומר גייגר חורף 2012. הגדרות (מההרצאה). אלגוריתמי חיפוש לא מיודעים (תזכורת). BFS : חיפוש לרוחב. הצומת הבא לפיתוח הוא הצומת הרדוד ביותר. DFS : חיפוש לעומק. הצומת הבא לפיתוח הוא הצומת העמוק ביותר.
E N D
אלגוריתמי חיפוש לא מיודעים מבוא לבינה מלאכותית (236501) מדעי המחשב, טכניון עומר גייגר חורף 2012
הגדרות (מההרצאה) מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013
אלגוריתמי חיפוש לא מיודעים (תזכורת) BFS: חיפוש לרוחב. הצומת הבא לפיתוח הוא הצומת הרדוד ביותר. DFS: חיפוש לעומק. הצומת הבא לפיתוח הוא הצומת העמוק ביותר. Bounded - DFS: DFS מוגבל רק עד עומק מסוים. ID - DFS: מבצע Bounded DFSבאיטרציה על פרמטר העומק. Bounded - ID - DFS: מבצע איטרציות על פרמטר העומק עד לעומק קבוע מראש. Backtracking: מאוד דומה ל-DFS, אך יוצר צמתים עוקבים רק לפני פיתוח שלהם. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013
השוואת אלגוריתמי חיפוש לא-מיודעים * BFS, ID-DFS שלמים בהנחה שמספר האופרטורים חסום (). ** DFS בהנחה שמספר האופרטורים חסום () ועומק החיפוש חסום () (== העץ חסום). מקרים בעייתיים לאופטימליות של DFS\Backtracking - מעגל, ענף אינסופי. *** Bounded DFS/Bounded ID-DFS בהנחה שהחסם המגביל גדול מ(). b = #Ops Maximal branching factorD = Maximal search depth Depth of solution ( מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013
BFS Optimize -“closed” מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013
DFS Limited version מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013
Uniform Cost Search • אלגוריתם חיפוש אחיד: • מתאים לבעיות עם מחיר על הקשתות (האופרטורים). • דומה ל-BFS אך מתייחס לעומק לפי מחיר הקשתות ולא לפי אורך המסלול בגרף בקשתות. • BFS הינו מקרה פרטי של UniformCost כאשר משקל כל הקשתות הוא 1. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013
Generic Search מתוך רשמים של גב' ענת עציון, מהתרגול של מר' עומר לוי חורף 11-12 מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013
Bidirectional -BFS "טריק" הכפלת עומק החיפוש נניח שבבעיית LightzOut (מהשיעור שעבר) אי אפשר לחפש מעבר לעומק 6, בגלל אילוצי זמן. אולם, הפתרון האופטימלי נמצא בעומק 10. מה נעשה?... נחפש לרוחב מההתחלה לסוף ומהסוף להתחלה "במקביל" ! • "נכפיל" את העומק בלי עלות אסימפטותית בזמן או בזיכרון. • נצטרך להחזיק "חזית" כפולה (פקטור של פי 2 זיכרון). • נשתמש במבנה נתונים חכם על מנת להקטין את מספר ההשוואות בין החזיתות • (HashTable, עץ חיפוש). סיבוכיות? מתבסס על רשמים של גב' ענת עציון, מהתרגול של מר' עומר לוי חורף 11-12 מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013
HW0 and OpenPyAI יצירתיות היא מילת המפתח! סיימנו מבוא למדעי המחשב, מת"מ, מבני נתונים, אלגוריתמים - אנחנו מהנדסי תוכנה! אתם יודעים לתכנת וללמוד שפה חדשה בקלות. לפיכך, הדגש בתרגיל הינו על רעיונות יצירתיים בעיקר במובן האלגוריתמי ופחות במובן התכנותי. הגדרת התרגיל הינה פתוחה לאינטרפרטציה אישית ונתונה להרחבה כרצונכם... בקיצור- תתפרעו חופשי! מי שביצע את מינימום הדרישות – יקבל נקודה בונוס לציון הסופי. מי שהציג יצירתיות – יקבל 2 נק' (כמחצית המגישים עד כה עומדים בקריטריון זה). מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013
OpenPyAI CS Technion Win 2012-13 מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013
תודה רבה! שאלות? התרגול מבוסס על חומרים באדיבותם של: • פרופ' שאול מרקוביץ' • מר' עומר לוי • גב' ענת עציון - ויקיפדיה והלינקים המשולבים