एक सबसे छोटा रास्ता देने के बजाय, येन का k- सबसे छोटा पथ एल्गोरिथम k . देता है सबसे छोटा रास्ता ताकि हम दूसरा सबसे छोटा रास्ता और तीसरा सबसे छोटा रास्ता आदि प्राप्त कर सकें।
आइए एक परिदृश्य पर विचार करें कि हमें स्थान A से स्थान B तक यात्रा करनी है और स्थान A और स्थान B के बीच कई मार्ग उपलब्ध हैं, लेकिन हमें सबसे छोटा रास्ता खोजना होगा और उन सभी रास्तों की उपेक्षा करनी होगी जो इसके संदर्भ में कम माने जाते हैं। गंतव्य तक पहुंचने के लिए समय की जटिलता।
आइए एक उदाहरण से समझते हैं-
दिए गए उदाहरण पर विचार करें कि जिस पुल का शिखर B है। यदि कोई A से C तक के पुल को पार करना चाहता है, तो कोई भी पुल को पार करने के लिए चोटी पर नहीं जाएगा। तो यह A से C तक का रास्ता थोड़ा लंबा होगा।
सबसे छोटा रास्ता पाने के कई तरीके हैं। लेकिन हमें (k-1) तक का सबसे छोटा रास्ता खोजना होगा।
k-सबसे छोटे पथ के लिए एल्गोरिदम
query= “”” MATCH(start: place{id:source}),*end: Place {Id:destination}) Call algo.kshortestPaths.stream(start,end,10, “distance”) Yield nodeIDs, path costs, index Return index. [node in algo.getNodeByID(nodeId[1…..-1]) | node.id] aS, Reduce (acc=0.0, cost in costs | acc+cost ) as total cost “”” params= {“source”: Alex,Destination: “US”} With driver.selection() as session: Row session.run(query, params) df = pd.DataFrame[dict(record) for record in rows]) pd.set_option(‘max_colwidth’, 100) display(df)