Hyppää sisältöön
    • Suomeksi
    • In English
Trepo
  • Suomeksi
  • In English
  • Kirjaudu
Näytä viite 
  •   Etusivu
  • Trepo
  • Kandidaatintutkielmat
  • Näytä viite
  •   Etusivu
  • Trepo
  • Kandidaatintutkielmat
  • Näytä viite
JavaScript is disabled for your browser. Some features of this site may not work without it.

Lyhimmän polun löytäminen graafissa

Hetemaa, Aapo (2022)

 
Avaa tiedosto
HetemaaAapo.pdf (1.107Mt)
Lataukset: 



Hetemaa, Aapo
2022

Tekniikan ja luonnontieteiden kandidaattiohjelma - Bachelor's Programme in Engineering and Natural Sciences
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2022-05-19
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202205175031
Tiivistelmä
Lyhimmän polun ongelma on graafimatematiikan keskeisimpiin kuuluva tutkimuskohde. Sille on valtava määrä eri sovelluskohteita, kuten navigointi tiekartalla kaupungista toiseen. Usein sovelluskohteissa graafi on hyvin suuri, ja ratkaisu vaaditaan saada sekunneissa. Tässä työssä luodaan katsaus ongelman perinteiseen ratkaisualgoritmiin ja joihinkin sen tehostamismenetelmiin.
Klassinen ratkaisu ongelmaan on Dijkstran algoritmi. Se käy graafin solmuja yksi kerrallaan läpi edeten aina halvimpaan mahdolliseen ja löytää lopulta kohteeseen. Algoritmi ei kuitenkaan ole käytännössä riittävän nopea suurilla graafeilla, sillä sen asymptoottinen tehokkuus on yleisessä tapauksessa neliöllinen. Dijkstran algoritmia voidaan tehostaa muun muassa muuntamalla haku kaksisuuntaiseksi eli aloittamalla etsiminen samanaikaisesti myös toisesta suunnasta. Tämä jopa puolittaa algoritmin suoritusajan. Toinen yksinkertainen tehostustapa on käyttää heuristiikkafunktion tarjoamaa graafin ulkopuolelta tulevaa lisäinformaatiota, jolloin Dijkstran algoritmi muuttuu tehokkaammaksi A*-algoritmiksi.
Tuoreimpia lyhimmän polun ongelman ratkaisuun pyrkiviä algoritmeja ovat erilaiset hierarkiamenetelmät, joiden tehostamisvaikutus on hyvin suuri. Hierarkiamenetelmät pyrkivät tunnistamaan graafista sille ominaisia hierarkisia rakenteita ja hyödyntämään niitä. Hierarkiamenetelmissä graafi ensin esikäsittellään, minkä jälkeen graafissa voidaan suorittaa hakuja. Tehokkuus perustuu siihen, että vaikka esikäsittelyyn kuluu aikaa ja muistia, sen jälkeen voidaan suorittaa useampia hakuja tarvitsematta tehdä esikäsittelyä uudelleen.
Työssä esitellään kaksi sovelluskohteissa käytössä olevaa hierarkiamenetelmää. Valtatiehierarkiassa graafi jaetaan esikäsittelyssä solmujen tärkeyden mukaan eri kerroksiin. Tämä aiheuttaa sen, että tutkittavien solmujen määrä vähenee, kun alempien hierarkiatasojen solmuja ei tarvitse aina tutkia. Kontraktiohierarkiassa taas jokainen solmu muodostaa oman hierarkiatasonsa. Graafiin luodaan oikoteitä, jolloin lyhimmän polun löytäminen tehostuu. Hierarkiamenetelmät ovat tavallista Dijkstran algoritmia jopa tuhat kertaa tehokkaampia.
Kokoelmat
  • Kandidaatintutkielmat [9041]
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste
 

 

Selaa kokoelmaa

TekijätNimekkeetTiedekunta (2019 -)Tiedekunta (- 2018)Tutkinto-ohjelmat ja opintosuunnatAvainsanatJulkaisuajatKokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste