A*-algoritmi

testwikistä
Versio hetkellä 5. kesäkuuta 2024 kello 13.17 – tehnyt imported>Ipr1
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun
Esimerkki A*-algoritmista.

A*-algoritmi (lausutaan A tähti) on polunetsintäalgoritmi, joka etsii lyhyimmän reitin kahden pisteen välillä. Algoritmia voidaan käyttää myös tekoälyssä ratkaisun etsimiseen hakupuusta. Algoritmia voidaan hyödyntää muun muassa verkkojen reitityksessä ja GPS-paikannuksessa

Algoritmin julkaisivat Peter E. Hart, Nils J. Nilsson ja Bertram Raphael vuonna 1968.[1] A*-algoritmi on samankaltainen kuin toinen yleisesti polunetsintään käytetty Dijkstran algoritmi.[2] A* kehitettiin yhdistämällä heuristiikkaa ja formaali Dijkstran algoritmi.[3]

Kuvaus

Algoritmin tarkoituksena on evaluoida lehtisolmuja funktion f(n)=g(n)+h(n) avulla, missä g(n) kuvaa kustannusta saavuttaa tietty solmu ja h(n) on kustannusarvio solmusta maalitilaan. Tällöin f approksimoi kustannusta lähtösolmusta maalisolmuun. A*-algoritmi on optimaalinen jos h on luvallinen. Tämä tarkoittaa sitä, että h ei koskaan yliarvioi kustannusta saavuttaa maalisolmu.[4]

Lähteet

Malline:Viitteet

Malline:Tynkä/Tietotekniikka

  1. Malline:Verkkoviite
  2. Malline:Verkkoviite
  3. Malline:Verkkoviite
  4. Viittausvirhe: Virheellinen <ref>-elementti; viitettä mnems ei löytynyt