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