מדריך שלב-על-ידי-שלב ליישום חיפוש * Algorithm עם דוגמא Calculations

אלגוריתם החיפוש A* הוא טכניקה פופולרית של רצף וגרף המשמש יישומים שונים כגון רובוטים, פיתוח משחק, ורשת routing.זה משלב את התכונות של חיפוש אחיד עלות חיפוש וחיפוש מיטבי חמדני ראשון כדי למצוא ביעילות את הנתיב הקצר ביותר מההתחלה עד לאד מטרה.מדריך זה מספק תהליך שלב אחר שלב כדי ליישם את האלגוריתם * עם חישובים לדוגמה כדי להמחיש כל שלב.

להבין את A * Algorithm

אלגוריתם A* משתמש בפונקציה עלות, f(n)= g(n) + h(n), שבו:

האלגוריתם חוקר את נקודות עם הערך הנמוך ביותר f(n), איזון עלויות בפועל ומוערך כדי למצוא את הדרך האופטימלית ביעילות.

שלב-בי-שלב

עקבו אחרי השלבים האלה כדי ליישם את האלגוריתם A *:

1.הקודם לרשימות הפתוחות והסגורות

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

2.בחר את הצומת עם ה- f(n הנמוך ביותר)

הסר את הצומת הזה מהרשימה הפתוחה ולהוסיף אותו לרשימה סגורה.

3.הכנת צומת שכנים

חישוב g(n) ו h(n) עבור כל שכנה, אם שכנה אינה ברשימה הפתוחה או יש לו g(n נמוך), לעדכן את ערכיה ולהגדיר את ההורה שלה לצומת הנוכחי.

חזור עד להשגת מטרה

המשך התהליך עד שהמשימה נוספה לרשימה סגורה, מה שמעיד על הדרך הקצרה ביותר נמצאה.

דוגמה: Calculations

שקול רשת פשוטה עם תחילת Node A והמטרה Node G.The Heuristic (n) הוא המרחק קו ישר.

החל מ- Node A, g(A)=0, h(A)=4.The f(A)=4.הצבה B ו- C מוערכת:

עבור node B: g(B) = g(A) + Cost(A, B)=0 + 1= 1, h(B)= 3, f(B)=4.

עבור node C: g(C) = 1, h(C) = 2, f(C) = 3. Node C יש את ה f(n הנמוך ביותר, כך הוא נבחר הבא.

תהליך זה ממשיך, עדכון g, h ו- f ערכים, עד המטרה node G מגיע עם הנתיב הקצר ביותר מזוהה.