אלגוריתמים המבצעים שיפור איטרטיבי Hill climbing Simulated annealing

Slides:



Advertisements
Similar presentations
Constraint Satisfaction Problems Russell and Norvig: Chapter
Advertisements

Local Search Algorithms Chapter 4. Outline Hill-climbing search Simulated annealing search Local beam search Genetic algorithms Ant Colony Optimization.
1 Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides)
1 Backdoor Sets in SAT Instances Ryan Williams Carnegie Mellon University Joint work in IJCAI03 with: Carla Gomes and Bart Selman Cornell University.
Local search algorithms
Local search algorithms
Two types of search problems
Iterative improvement algorithms Prof. Tuomas Sandholm Carnegie Mellon University Computer Science Department.
Local Search Algorithms
CS482/682 Artificial Intelligence Lecture 7: Genetic Algorithms and Constraint Satisfaction Problems 15 September 2009 Instructor: Kostas Bekris Computer.
1 Backdoors To Typical Case Complexity Ryan Williams Carnegie Mellon University Joint work with: Carla Gomes and Bart Selman Cornell University.
Introduction to Artificial Intelligence Heuristic Search Ruth Bergman Fall 2002.
Review Best-first search uses an evaluation function f(n) to select the next node for expansion. Greedy best-first search uses f(n) = h(n). Greedy best.
Beyond Classical Search (Local Search) R&N III: Chapter 4
CSCI 5582 Fall 2006 CSCI 5582 Artificial Intelligence Lecture 5 Jim Martin.
Distributed Scheduling. What is Distributed Scheduling? Scheduling: –A resource allocation problem –Often very complex set of constraints –Tied directly.
Informed Search Next time: Search Application Reading: Machine Translation paper under Links Username and password will be mailed to class.
Introduction to Simulated Annealing 22c:145 Simulated Annealing  Motivated by the physical annealing process  Material is heated and slowly cooled.
1 CS 2710, ISSP 2610 R&N Chapter 4.1 Local Search and Optimization.
Crossword Puzzle Solver Michael Keefe. Solver structure.
Local Search and Optimization
1 Local search and optimization Local search= use single current state and move to neighboring states. Advantages: –Use very little memory –Find often.
CS 484 – Artificial Intelligence1 Announcements Homework 2 due today Lab 1 due Thursday, 9/20 Homework 3 has been posted Autumn – Current Event Tuesday.
Constraint Satisfaction Problems Chapter 6. Review Agent, Environment, State Agent as search problem Uninformed search strategies Informed (heuristic.
Escaping Local Optima. Where are we? Optimization methods Complete solutions Partial solutions Exhaustive search Hill climbing Random restart General.
Constraint Satisfaction CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
1 CS 2710, ISSP 2610 Chapter 4, Part 2 Heuristic Search.
Iterative Improvement Algorithm 2012/03/20. Outline Local Search Algorithms Hill-Climbing Search Simulated Annealing Search Local Beam Search Genetic.
Local Search Algorithms
G5BAIM Artificial Intelligence Methods Graham Kendall Hill Climbing.
Chapter 5 Constraint Satisfaction Problems
Lecture 5-1CS250: Intro to AI/Lisp “If I Only had a Brain” Search Lecture 5-1 October 26 th, 1999 CS250.
When A* doesn’t work CIS 391 – Intro to Artificial Intelligence A few slides adapted from CS 471, Fall 2004, UBMC (which were adapted from notes by Charles.
Maintaining Arc Consistency (MAC) MAC is the same as Back-tracking, but with calls to AC-3 interleaved... function Backtracking-Search(csp) returns.
Local search algorithms In many optimization problems, the state space is the space of all possible complete solutions We have an objective function that.
Iterative Improvement Search Including Hill Climbing, Simulated Annealing, WALKsat and more....
Chapter 4 (Section 4.3, …) 2 nd Edition or Chapter 4 (3 rd Edition) Local Search and Optimization.
Lecture 6 – Local Search Dr. Muhammad Adnan Hashmi 1 24 February 2016.
Local Search Algorithms and Optimization Problems
Escaping Local Optima. Where are we? Optimization methods Complete solutions Partial solutions Exhaustive search Hill climbing Exhaustive search Hill.
Local Search and Optimization Chapter 4 Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld…) 1.
CMPT 463. What will be covered A* search Local search Game tree Constraint satisfaction problems (CSP)
Artificial Intelligence Chapter 11 Alternative Search Formulations and Applications.
Local search algorithms In many optimization problems, the path to the goal is irrelevant; the goal state itself is the solution State space = set of "complete"
1 Intro to AI Local Search. 2 Intro to AI Local search and optimization Local search: –use single current state & move to neighboring states Idea: –start.
Alternative Search Formulations and Applications
Cse 150, Fall 2012Gary Cottrell: Many slides borrowed from David Kriegman! Constraint Satisfaction Problems Introduction to Artificial Intelligence CSE.
Last time: Problem-Solving
Title: Suggestion Strategies for Constraint- Based Matchmaker Agents
Parallel Cooperative Optimization Research Group
Instructor: Vincent Conitzer
“If I Only had a Brain” Search II
G5BAIM Artificial Intelligence Methods
Biointelligence Lab School of Computer Sci. & Eng.
Course Outline 4.2 Searching with Problem-specific Knowledge
Week 4 Jan 29th 2016.
Chapter 3: Finite Constraint Domains
Constraint Satisfaction Problems
ALGORITHMS.
Constraint Satisfaction Problems
Biointelligence Lab School of Computer Sci. & Eng.
Constraint Satisfaction Problems. A Quick Overview
Artificial Intelligence
More on HW 2 (due Jan 26) Again, it must be in Python 2.7.
More on HW 2 (due Jan 26) Again, it must be in Python 2.7.
Heuristic Search Generate and Test Hill Climbing Best First Search
CS 188: Artificial Intelligence Fall 2007
CS 8520: Artificial Intelligence
CSC 380: Design and Analysis of Algorithms
Constraint Satisfaction Problems
Presentation transcript:

אלגוריתמים המבצעים שיפור איטרטיבי Hill climbing Simulated annealing

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

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

אסטרטגית "טיפוס הרים" - Hill climbing מפעיל את הפעולה שמגדילה את הערך של המצב הנוכחי באופן מירבי states f-value f-value = evaluation(state) while f-value(state) <= f-value(next-best(state)) state := next-best(state)

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

אלגוריתם Hill climbing function Hill-Climbing(problem) returns a solution state current  Make-Node(Initial-State[problem]) loop do next  a highest-valued successor of current if Value[next] < Value[current] then return current current next end

אלגוריתם Random restart hill climbing אם הפתרון שמצאת טוב יותר מהפתרון הטוב ביותר שנמצא עד כה – שמור אותו. חזור ל-1. מתי נסיים? – לאחר מספר קבוע של איטרציות. – לאחר מספר קבוע של איטרציות שבהן לא נמצא שיפור לפתרון הטוב ביותר שנמצא עד כה.

Random restart hill climbing states f-value f-value = evaluation(state)

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

אלגוריתם Simulated annealing פונקצית ההסתברות: eE/T - T פונקציה של מספר הצעדים - E כמות הגידול בכל צעד, הפרש ערכי f.

אלגוריתם Simulated annealing function Simulated-Annealing(problem, schedule) returns solution state current  Make-Node(Initial-State[problem]) for t  1 to infinity T  schedule[t] if T = 0 then return current next  Random-Successor(current) E  f-Value[next] - f-Value[current] if E > 0 then current  next else current next with probability eE/T end

f-value = evaluation(state) Simulated annealing states f-value f-value = evaluation(state)

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

בעיות עם תנאים לסיפוק Constraint Satisfaction Problems

CSP - Constraint Satisfaction Problems הגדרות ודוגמאות תכונות של בעיות CS היוריסטיקות אלגוריתם איטרטיבי עבור בעיות CS

CSP - Constraint Satisfaction Problems בעיות הניתנות לניסוח האופן הבא: מצא פתרון (יתכן אופטימלי) שמספק מספר אילוצים. דוגמאות: - בנה מערכת שעות עם כמה שפחות סתירות. - שבץ טייסים לטיסות כך שלא יעברו מכסת שעות טיסה, הפסקה סבירה בין הטיסות, ועוד. - מצא השמת ערכי אמת לסיפוק נוסחה לוגית. - בעית 8 המלכות. - בעית תרגיל מוצפן.

ניסוח פורמלי של בעיית CS מצבים: - קבוצה של משתנים:x1, x2, …,xn - תחומי המשתנים: D1, D2 …Dn - וקטור מצב : (x1, c2, x3, c4,… ,cn) - וקטור של משתנים וערכים מוצבים. מבחן מטרה: אילוצים על המשתנים. דוגמא: xi  xj מצב התחלתי: וקטור של משתנים ללא ערכים. מצב מטרה: וקטור של ערכים בלבד שמספקים את כל האילוצים.

ניסוח פורמלי של בעיית CS - דוגמאות בעיית תרגיל מוצפן S E N D M O R E M O N E Y + משתנים D, E, M, N, O, R, S, Y : תחומים: לכולם {0,1,2,3,4,5,6,7,8,9{ אילוצים: M  0, S  0 D  R , D  N , D  M , D  E . . . Y = D+E או Y = D+E10 , . . .

ניסוח פורמלי של בעיית CS - דוגמאות בעיית 4 המלכות נניח שבמצב ההתחלתי כל מלכה ממוקמת בעמודה נפרדת. יש למצוא באיזו שורה למקם כל מלכה. משתניםQ1 , Q2 ,Q3 ,Q4 : תחומים: לכולם {1,2,3,4} אילוצים : Qi  Qj (לא באותה שורה) )  Qi  Qj   i j  לא באותו אלכסון)

ניסוח פורמלי של בעיית CS - דוגמאות בעיית צביעת מפה יש לצבוע את המשטחים כך שכל שני משטחים נושקים יהיו בצבעים שונים C4 C2 C1 C6 C5 C3 C4 C2 C1 C6 C5 C3 משתנים:C1 , C2 ,C3 ,C4 , C5 ,C6 תחומים: לכולם }אדום, כחול, צהוב{ אילוצים : C1  C3 ,C1  C2 C1  C5, . . .

חיפוש עבור בעיית CS אסטרטגית החיפוש: 1. בחר משתנה, בחר ערך מתוך התחום שלו, בדוק אם כל האילוצים מסופקים. 2. אם האילוצים מסופקים המשך באופן רקורסיבי. 3. אחרת, חזור אחורה לבחירה האחרונה ובצע בחירה אחרת. גודל עץ החיפוש:bd מספר המשתנים - d=n בכל שלב בוחרים רק משתנה אחד - b=maxDi ניתן לפתור n-מלכות עבור n15

חיפוש עבור בעיית CS S E N D + M O R E M O N E Y S 3 2 D 1 0 R 3 +  S E N D M O R E M O N E Y + C1 C2 C3 C4 M = 1 O = 0 O = 3 O = 2 N = 2 סתירה לאילוץ S 3 2 D 1 0 R 3 1 0 2 3 Y + E = 3

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

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

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

היוריסטיקה עבור בעיית CS - דוגמא צביעת מפה - בדיקה קדימה C3 C2 C5 C4 C1 אדום כחול ירוק  C1 C5 C3 C2 C4 C1  C2 C4    C3  ניתן לפתור n-מלכות עבור n  30

היוריסטיקה 2 עבור בעיית CS השמה עקבית: לכל משתנה יש ערך בתחום שלו שאם נציב אותו המצב לא יגרום לסתירה באילוצים. (אם אין כזה לא ממשיכים)

היוריסטיקה עבור בעיית CS - דוגמא השמה עיקבית  S E N D M O R E M O N E Y + C1 C2 C3 C4 M = 1 C1 = 1 C2 + S + 1 = O O = 0 O = 3 O = 2 C2 + S + 1 = 0 C3 + E + 0 = N C4 + N + R = E N = 2 . S ? 2 D 1 0 R ? 1 0 2 ? Y + לא קיימת השמה עיקבית

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

היוריסטיקה עבור בעיית CS - דוגמא צביעת מפה: - בחירת המשתנה הבא להשמה (מאולץ ביותר) - בחירת ערך למשתנה (מאלץ מינימלי) C4 C6 C2 C5 C1 C3 C6 C2 C5 C1 C3 בהינתן אדוםC1=, ירוקC2= . מי המשתנה הבא ?? C3 ?? בהינתן אדוםC1=, ירוקC2 = . בחר ?? = C3 C5 ירוק = C3 ניתן לפתור n-מלכות עבור n1000

אלגוריתמים איטרטיבים לבעיות CS כדי ליישם את האלגוריתמים Hill climbing ו- Simulated annealing עבור בעיות CS נבצע את השינויים: בכל מצב יש השמה לכל המשתנים (גם במצב ההתחלתי). מרשים מצבים עם תנאים לא מסופקים (כלומר, השמות הגורמות לסתירות בתנאים). הפעולות: שינוי ערך למשתנה. בחר באופן אקראי איזשהו משתנה הגורם לסתירה. http://www.cs.cornell.edu/gomes/new-demos.htm

היוריסטיקה עבור בעיית CS מינימום סתירות באילוצים: בחר בערך שיגרום להכי מעט סתירות באילוצים. Hill climbing עם h(n) =מספר הסתירות ניתן לפתור n-מלכות עבור n  10000000 בזמן כמעט קבוע עם הסתברות גבוהה.

היוריסטיקה - מינימום סתירות - דוגמא בעיית 4 המלכות פונקצית הערכה:h(n) = מספר המלכות המאוימות מצבים: 4 מלכות ב-4 עמודות פעולות: הזזת מלכה בעמודה מבחן מטרה: אין מלכות מאוימות h(n)=5 h(n)=2 מצב מטרה

דוגמא: בעית 8 המלכות 1 3 2 2 3 3

Motivation: Significant progress in SAT From 100 variables, 200 constraints (early 90’s) to 1,000,000 vars. and 5,000,000 clauses. Applications: Hardware and Software Verification, Planning, Scheduling, Optimal Control, Protocol Design, Routing, Multi-agent systems, E-Commerce (E-auctions and electronic trading agents), etc.