Transcript Python
Slide 1
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 2
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 3
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 4
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 5
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 6
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 7
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 8
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 9
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 10
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 11
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 12
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 13
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 14
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 15
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 16
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 17
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 18
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 19
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 20
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 21
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 22
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 23
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 2
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 3
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 4
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 5
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 6
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 7
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 8
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 9
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 10
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 11
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 12
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 13
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 14
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 15
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 16
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 17
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 18
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 19
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 20
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 21
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 22
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ
Slide 23
מרחבי חיפוש
מבוא לבינה מלאכותית ()236501
מדעי המחשב ,טכניון
עומר גייגר
חורף 2012
מרחב חיפוש -הגדרה
רביעייה )𝐺 .(𝑆,𝑂,𝐼,כאשר:
• 𝑺 קבוצת המצבים במרחב.
• 𝑶 קבוצת אופרטורים/פעולות ממצב למצב עוקב,
}.𝑜𝑖 ∶ 𝑆 → 𝑆 ∪ {ϕ
• 𝑆 ∈ 𝑰 מצב ההתחלתי.
• 𝑆 ⊆ 𝑮 קבוצת המצבים הסופים.
– יתכן ש 𝐺 -יוגדר ע"י פרדיקט }𝑒𝑠𝑙𝑎𝐹𝑃𝐺 : 𝑆 → {𝑇𝑟𝑢𝑒,
ואז }𝑒𝑢𝑟𝑇 = 𝐺 ≡ {s|PG s
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מרחב חיפוש – הגדרות עזר נוספות
• 𝑺 𝑷 → 𝑺 S𝒖𝒄𝒄:פונקציית עוקב ממצב לקבוצת המצבים העוקבים
• 𝑂 ∈ 𝑜.𝑠𝑢𝑐𝑐 𝑠 ≡ {𝑠 ′ |𝑜 𝑠 = 𝑠 ′ ,𝑠 ′ ≠ 𝜙,
• )𝑺(𝑷 → 𝑶 𝑫𝒐𝒎𝒂𝒊𝒏:פונקציית תחום המתאימה לכל אופרטור
את קבוצת המצבים שעליהם ניתן להפעיל את אותו.
• 𝟐𝑺 ⊆ 𝑬 קשתות הגרף E ≡ {< 𝑠1 ,𝑠2 > |∃𝑜 ∈ 𝑂 𝑠.𝑡. 𝑠1
}) ∈ 𝐷𝑜𝑚𝑎𝑖𝑛 𝑜 ∧ 𝑠2 = 𝑜(𝑠1
כך מקבלים ש (𝑆,𝐸)-הינו גרף המצבים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
גרף חיפוש לעומת גרף מצבים
גרף החיפוש וגרף המצבים דומים אך שונים! מדוע?...
גרף החיפוש הינו ) (𝑉,𝐸 ′כאשר 𝑉~𝑆,𝐸~𝐸 ′דומים אבל שונים מהותית!
• מצב 𝑠 ∈ Sהינו צומת בגרף המצבים ,קונפיגורציה מסוימת אליה ניתן
אולי להגיע בחיפוש כלשהו.
• צומת 𝑉 ∈ 𝑣 בגרף חיפוש מסוים מייצג מצב בתוספת הקשר (המיקום
ביחס לצמתים אחרים) במהלך ריצת חיפוש ספציפית.
דוגמה לגרף מצבים (חלקי):
בגרף החיפוש יתכנו כמה
מופעים של כל מצב
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
מה מחפשים במרחב חיפוש?
בדרך כלל:
.1מצב סופי 𝐺 ∈ 𝑔𝑠 (מצב העומד בקריטריון מסוים).
או
.2מסלול שלם ממצב ההתחלה למצב סופי:
ייצוג למקרה :2
.I
.II
𝑛𝑖𝑠 → ⋯ → si0 → si1 → 𝑠𝑖2
𝐺 ∈ 𝑛𝑖𝑠 si0 = 𝐼,
) 𝑘𝑖𝑠(𝑜 = ∃𝑜 𝑠. 𝑡. 𝑠𝑖𝑘+1
וקטור המצבים > 𝑛𝑖𝑠.< si0 ,si1 ,𝑠𝑖2 ,..,
או
וקטור האופרטורים שהופעלו במעברים.
מבוא לבינה מלאכותית ( )236501מדעי המחשב -טכניון.
עומר גייגר חורף 2013
שאלה לדיון
למה זה מעניין אותנו להגדיר מרחבי מצבים?
רעיונות? ...
• ניתן להגדיר מרחבי מצבים לבעיות אמיתיות.
• יותר קל לשכנע\להוכיח טענות לגבי מרחב הבעיה
כאשר הוא מוגדר היטב.
• יותר קל לכתוב אלגוריתמים גנריים (בלתי תלויים
בפלטפורמה ובמימוש) ברמת הפשטה גבוהה
כשהבעיה מוגדרת היטב.
מרחבי חיפוש ( )AIלעומת גרפים ()Algo 1
בדרך כלל:
.1מרחב המצבים עצום ,אקספוננציאלי בקלט או יותר ,אולי אפילו
אינסופי.
.2לא נשמור את כל הגרף בזיכרון אלא נבנה חלקים ממנו
בהדרגה.
.3במימוש ,נבנה מנגנון לייצור מצבים עוקבים לפי האופרטורים.
.4נעדיף לסייר במרחב בצורה חכמה ,ע"י שימוש בהיוריסטיקות
(כללי אצבע).
– זהו חיפוש מיודע ,בניגוד לחיפושים עיוורים ,שאינם מיודעים .חיפוש
מיודע הינו חיפוש שמשתמש בידע נוסף על העולם או ידע ספציפי על
מרחב הבעיה.
• הבדלים נוספים?...
הערכת אלגוריתם חיפוש במרחב
בהינתן מרחב מצבים ואלגוריתם חיפוש נרצה להעריך
את האלגוריתם לפי שתי קבוצות מדדים מרכזיות.
משאבי חיפוש יכולים להימדד ע"י:
• זמן אבסולוטי\ אסימפטותי.
• מספר צמתים שפותחו.
• מספר צמתים שנוצרו.
• מספר קריאות לפונקציות.
• צריכת זיכרון אבסולוטי\אסימפטותי.
רעיונות נוספים? ...
טיב הפתרון יכול להימדד ע"י:
• אורך מסלול.
• סך מחירי האופרטורים.
• ערך תועלת לפי פונקציה.
מהו אלגוריתם אופטימלי?
הגישה בקורס זה ובתחום של בינה מלאכותית בכלל,
שונה מהמקובל בתחומים התיאורטיים של מדעי
המחשב!
לא נחפש אלגוריתם אופטימלי במובן אבסולוטי כי...(א) לרוב לא נוכל לדעת כלל אם קיים כזה.
(ב) אין מדד אחד לאיכות אלגוריתם.
לפיכך ,נאלץ למצוא פשרה מסוימת בין המשאבים
המוקצים לאלגוריתם לבין טיב הפתרונות שהוא מניב.
דוגמה להמחשה
ביחס לבעיית המבוך :בהינתן gridעם חסימות כלשהן בחלק מהמעברים ,נקודת
התחלה ונקודת סיום ,יש למצוא מסלול מצומת ההתחלה לצומת הסיום.
ניתן למדוד את...
– טיב הפתרון:
לפי אורך המסלול.
– יעילות האלג':
לפי מספר הצמתים שפותחו\נוצרו.
לפי הגדרות אלו:
אלג' אופטימלי הוא כזה שמבטיח פלט של מסלול קצר ביותר. אלג' יעיל הוא כזה שמפתח "מעט" צמתים:• ביחס לחסמים אבסולוטיים\אסימפטותיים.
• ביחס לאלגוריתמים אחרים על פני בעיות .Benchmark
• סטטיסטית ביחס לקלטים אקראיים מהתפלגות מסוימת.
ווריאציות להגדרת מרחבי חיפוש
רעיונות?
• הוספת פונקציית עלות (בעיות תכנון)
.𝐶𝑜𝑠𝑡: < 𝑠1 ,𝑠2 > 𝑠1 ∈ 𝑆,𝑠2 ∈ 𝑆𝑢𝑐𝑐 𝑠1 → R
• חלק או כל הקבוצות 𝐺 𝑆,𝑂,אינסופיות.
• מצב סופי יחיד או רבים.
• הגדרת קבוצת מצבים התחלתיים אפשריים מהם נבחר:
– באקראי עפ"י התפלגות ידועה\לא ידועה.
– ע"י אלגוריתם החיפוש.
– ע"י יריב (.)adversary, rival
• פונקציית מעברים המעבירה למספר מצבים ,מהם נבחר למשל
באחת מ 3-הדרכים שבשקף הקודם.
ווריאציות נוספות
• במקום "מצבים סופיים" ,נגדיר פונקציית ערך ונחפש
מצב (או מסלול למצב) בעל ערך אופטימלי ,אלה הן
בעיות אופטימיזציה .בהן ,ניתן:
א -להגדיר ערך סף שכל ערך טוב ממנו ייחשב מצב סופי.
ב -להגדיר אלגוריתם חיפוש anytimeשמשפר את
הפתרונות שהוא מוצא כאשר מאפשרים לו לרוץ יותר זמן.
• בעיות בהן מחפשים מספר מצבים\מסלולים ,לפי
דרישות שונות\זהות ,עם\ללא דרישה לסדר מסוים.
דוגמאות למרחבי חיפוש
)(תזכורת מההרצאה
.http://en.wikipedia.org/wiki/Missionaries_and_cannibals_problem ,בעיית הקניבלים
.http://en.wikipedia.org/wiki/Fifteen_puzzle ,15-puzzle חידת
.http://en.wikipedia.org/wiki/Knight%27s_tour ,חידת מסלול הפרש
,)"חידת המכלים (מהסרט "מת לחיות
http://geekexplains.blogspot.co.il/2008/05/3-litres-and-5-litres-containers-puzzle.html
http://www.highiqpro.com/iq-brainteasers-puzzles-iq-tests/3-jugs-problem
.חיפוש ברשת האינטרנט
.GPS ניווט עירוני עם
•
•
•
•
•
•
פעילות על הלוח...
תודה רבה! שאלות?
התרגול מבוסס על חומרים באדיבותם של:
– פרופ' שאול מרקוביץ'
– מר' עומר לוי
– ד"ר סאהר אסמיר
– גב' נלה גורביץ