אלגוריתם בלמן-פורד

אלגוריתם בלמן-פורד
סיבוכיות זמן \Theta (|V| |E|) עריכת הנתון בוויקינתונים
סיבוכיות מקום \Theta (|V|) עריכת הנתון בוויקינתונים
ממציא ריצ'רד בלמן (1958), L. R. Ford, Jr. (1956), Edward F. Moore (1957) עריכת הנתון בוויקינתונים
נקרא על שם ריצ'רד בלמן, L. R. Ford, Jr. עריכת הנתון בוויקינתונים
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

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

תיאור אינטואיטיבי

האלגוריתם משתמש בטכניקה המכונה "הקלה" (Relaxation), ומתבסס על הפעלת הקלה על כל קשתות הגרף עד אשר בוודאות נמצאו המסלולים הקלים ביותר.

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

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

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

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

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

תיאור פורמלי

קטע הקוד הבא הוא פסאודו קוד.

// Define datatypes for a graph
record vertex {
    list edges
    real distance
    vertex predecessor
}
record edge {
    node source
    node destination
    real weight
}

function BellmanFord(list vertices, list edges, vertex source)
   // This implementation takes in a graph, represented as lists of vertices
   // and edges, and modifies the vertices so that their distance and
   // predecessor attributes store the shortest paths.

   // Step 1: Initialize graph
   for each vertex v in vertices:
       if v is source then v.distance = 0
       else v.distance = infinity
       v.predecessor = null
   
   // Step 2: relax edges repeatedly
   for i from 1 to size(vertices) - 1:       
       for each edge uv in edges:
           u := uv.source
           v := uv.destination             // uv is the edge from u to v
           if v.distance > u.distance + uv.weight
               v.distance := u.distance + uv.weight
               v.predecessor := u

   // Step 3: check for negative-weight cycles
   for each edge uv in u.edges:
       u := uv.source
       v := uv.destination
       if v.distance > u.distance + uv.weight
           error "Graph contains a negative-weight cycle"

אפשרויות שיפור

ניתן לשפר את זמן הריצה של האלג' על ידי ביצוע מיון טופולוגי לגרף, מדובר בבדיקה פשוטה על ידי הרצת אלג' DFS על הגרף וסידור הקודקודים לפי זמני היציאה שלהם.

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

קישורים חיצוניים

ויקישיתוף מדיה וקבצים בנושא אלגוריתם בלמן-פורד בוויקישיתוף

Read other articles:

قرية بني ناصر  - قرية -  تقسيم إداري البلد  اليمن المحافظة محافظة حجة المديرية مديرية المحابشة العزلة عزلة حجر السكان التعداد السكاني 2004 السكان 120   • الذكور 58   • الإناث 62   • عدد الأسر 10   • عدد المساكن 6 معلومات أخرى التوقيت توقيت اليمن (+3 غرينيتش) تعد...

 

Drug formerly in development MardepodectClinical dataOther namesPDF-2545920ATC codeNoneLegal statusLegal status Investigational Identifiers IUPAC name 2-(4-(1-Methyl-4-pyridin-4-yl-1H-pyrazol-3-yl)phenoxymethyl)quinoline CAS Number898562-94-2 NPubChem CID11581936DrugBankDB08387 NChemSpider9756702 NUNIIR9Y8EY0G42KEGGD11171ChEMBLChEMBL1642569 NChemical and physical dataFormulaC25H20N4OMolar mass392.462 g·mol−13D model (JSmol)Interactive image SMILES n3c1ccccc1ccc3COc...

 

Emergence of religious behavior discussed in terms of natural evolution Origin of religion redirects here. For other uses, see Origin of religion (disambiguation). This article's lead section may be too short to adequately summarize the key points. Please consider expanding the lead to provide an accessible overview of all important aspects of the article. (September 2015) This article needs additional citations for verification. Please help improve this article by adding citations to reliabl...

Curtiss NC NC-1 after completion, in three-engine configuration, 3 October 1918. Role Long-range patrolType of aircraft National origin United States Manufacturer Curtiss Aeroplane and Motor Company First flight 4 October 1918[1] Primary user United States Navy Number built 10 Variants NC-4 The Curtiss NC (Curtiss Navy Curtiss, nicknamed Nancy boat or Nancy) was a flying boat built by Curtiss Aeroplane and Motor Company and used by the United States Navy from 1918 through the ea...

 

Japanese anime series Rurouni KenshinKey visual of the series, featuring Himura Kenshin (left) and Kamiya Kaoru (right)るろうに剣心 -明治剣客浪漫譚-(Rurōni Kenshin -Meiji Kenkaku Roman Tan-) Anime television seriesDirected byHideyo YamamotoWritten byHideyuki Kurata Storyboarded byHideyo Yamamoto Music byYū TakamiStudioLiden FilmsLicensed byNA: Aniplex of AmericaOriginal networkFuji TV (Noitamina)Original run July 7, 2023 – presentEpisodes24 Rurouni Kenshin...

 

Village in Illinois, United StatesOrionVillageCountryUnited StatesStateIllinoisCountyHenryArea[1] • Total0.95 sq mi (2.45 km2) • Land0.95 sq mi (2.45 km2) • Water0.00 sq mi (0.00 km2)Population (2020) • Total1,754 • Density1,852.16/sq mi (714.80/km2)Time zoneUTC-6 (CST) • Summer (DST)UTC-5 (CDT)Postal code61273Area code309FIPS code17-56601Websiteorionil.org O...

Winter capital of Himachal Pradesh, India This article is about the town in Himachal Pradesh. For other uses, see Dharamshala (disambiguation). City in Himachal Pradesh, IndiaDharamshala DharamsalaCity From top, left to right: Skyline of Dharamsala, Mcleodganj during winter, Triund, Bhagsunag Temple, Kalachakra Temple, HPCA StadiumNickname: DhasaDharamshalaLocation within the Indian state of Himachal PradeshShow map of Himachal PradeshDharamshalaLocation within IndiaShow map of IndiaCoor...

 

Village in Powys, Wales The Oswestry Road through Llansilin Llansilin (Welsh pronunciationⓘ) is a village and local government community in Montgomeryshire, Powys, Wales, 5 miles (8 km) west of Oswestry.[1] The community, which includes Llansilin village, a large rural area and the hamlets of Moelfre and Rhiwlas as well as the remote parish of Llangadwaladr, had a population of 648 at the 2001 census,[2] increasing to 698 at the 2011 Census.[3] There is also an ...

 

1994–1998 famine in North Korea Arduous MarchCountryNorth KoreaLocationNationwidePeriod1994–1998Total deaths240,000 to 3.5 millionCausesEconomic mismanagement,[1] natural disasters,[2] international sanctions,[3] collapse of the Soviet blocReliefFood and humanitarian aid (1994–2002)[4]ConsequencesMilitarization of economy; spread of limited market activity; food aid from various countries[5] The Arduous MarchChosŏn'gŭl고난의 행군Hancha苦�...

1983 1987 Élections fédérales australiennes de 1984 Renouvellement des 148 députés et de 46 sénateurs 1er décembre 1984 Travaillistes – Bob Hawke 51,77 %  Sièges obtenus 82  7 Coalition Libéraux/Nationaux – Andrew Peacock 48,23 %  Sièges obtenus 66  16 Premier ministre Sortant Élu Bob Hawke Travailliste Bob Hawke Travailliste modifier - modifier le code - voir Wikidata  v · m Élections en Australie Fédérales 1...

 

Державний комітет телебачення і радіомовлення України (Держкомтелерадіо) Приміщення комітетуЗагальна інформаціяКраїна  УкраїнаДата створення 2003Керівне відомство Кабінет Міністрів УкраїниРічний бюджет 1 964 898 500 ₴[1]Голова Олег НаливайкоПідвідомчі ор...

 

2016年美國總統選舉 ← 2012 2016年11月8日 2020 → 538個選舉人團席位獲勝需270票民意調查投票率55.7%[1][2] ▲ 0.8 %   获提名人 唐納·川普 希拉莉·克林頓 政党 共和黨 民主党 家鄉州 紐約州 紐約州 竞选搭档 迈克·彭斯 蒂姆·凱恩 选举人票 304[3][4][註 1] 227[5] 胜出州/省 30 + 緬-2 20 + DC 民選得票 62,984,828[6] 65,853,514[6]...

جائزة غولدن غلوب لأفضل فيلم - موسيقي أو كوميديمعلومات عامةالبلد دولي مقدمة من رابطة هوليوود للصحافة الأجنبية المكان الولايات المتحدة أول جائزة 1951 موقع الويب goldenglobes.com تعديل - تعديل مصدري - تعديل ويكي بيانات جائزة الغولدن غلوب لأفضل فيلم - موسيقي أو كوميدي هي جائزة تمنح منذ ا...

 

† Большая гавайская древесница Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:За...

 

Sacramento mayoral election, 2024 ← 2020 March 5, 2024 (primary)November 5, 2024 (general) 2028 →   Candidate Flojaune Cofer Kevin McCarty Primary election 26,28728.3% 20,26921.8% General election TBD TBD   Candidate Richard Pan Steve Hansen Primary election 20,10721.6% 19,73821.2% General election Eliminated Eliminated Incumbent Mayor Darrell Steinberg Elections in California Federal government U.S. President 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 ...

CDJ

Line of CD players from Pioneer This article is about the CD playing device. For the automotive manufacturer, see Chrysler. This list is incomplete; you can help by adding missing items. (December 2021) A DJ setup in a nightclub, consisting of three CDJs (top), three turntables for vinyl records and a DJ mixer A CDJ is a specialized digital music player for DJing. Originally designed to play music from compact discs, many CDJs can play digital music files stored on USB flash drives or SD card...

 

Athletics at the1999 Summer UniversiadeTrack events100 mmenwomen200 mmenwomen400 mmenwomen800 mmenwomen1500 mmenwomen5000 mmenwomen10,000 mmenwomen100 m hurdleswomen110 m hurdlesmen400 m hurdlesmenwomen3000 msteeplechasemen4×100 m relaymenwomen4×400 m relaymenwomenRoad eventsHalf marathonmenwomen10 km walkwomen20 km walkmenField eventsHigh jumpmenwomenPole vaultmenwomenLong jumpmenwomenTriple jumpmenwomenShot putmenwomenDiscus throwmenwomenHammer throwmenwomenJavelin throwmenwomenCombined ...

 

For the uterine condition, see Adenomyosis. Medical conditionAdenomyomatosisMicrograph showing Rokitansky–Aschoff sinus. H&E stain. Adenomyomatosis is a benign condition characterized by hyperplastic changes of unknown cause involving the wall of the gallbladder.[1] Pathophysiology Adenomyomatosis of the gallbladder as seen on ultrasound[2] Non-contrast abdominal ultrasound and contrast-enhanced ultrasound (CEUS) of adenomyomatosis of the gallbladder:[3] a The fu...

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (يناير 2016) آي أوبنالشعارمعلومات عامةالبلد  تايوان التأسيس 1996 النوع عمل تجاري — شركة عامة المقر الرئيسي تايبيه موقع الويب aopen.com المنظومة الاقتصاديةالصناعة صناعة ال�...

 

برايتلينجسي ريجنت تأسس عام 2005  البلد المملكة المتحدة  الموقع الرسمي الموقع الرسمي  تعديل مصدري - تعديل   نادي برايتلينجسي ريجنت (بالإنجليزية: .Brightlingsea Regent F.C)‏ هو نادي كرة قدم إنجليزي مقره في برايتلينجسي، إسكس. تشكلت من خلال اندماج برايتلينجسي يونايتد وريجنت بارك ...