Hakualgoritmit ovat yksi tekoälyn tärkeimmistä alueista. Tämä aihe selittää kaiken tekoälyn hakualgoritmeista.
Ongelmanratkaisuagentit:
Tekoälyssä hakutekniikat ovat universaaleja ongelmanratkaisumenetelmiä. Rationaaliset agentit tai Ongelmanratkaisuagentit AI käytti enimmäkseen näitä hakustrategioita tai -algoritmeja ratkaistakseen tietyn ongelman ja tarjotakseen parhaan tuloksen. Ongelmanratkaisuagentit ovat tavoitepohjaisia tekijöitä ja käyttävät atomiesitystä. Tässä aiheessa opimme erilaisia ongelmanratkaisuhakualgoritmeja.
Hakualgoritmien terminologiat:
Hakualgoritmien ominaisuudet:
Seuraavassa on hakualgoritmien neljä olennaista ominaisuutta, joiden avulla voidaan verrata algoritmien tehokkuutta:
Täydellisyys: Hakualgoritmin sanotaan olevan täydellinen, jos se takaa ratkaisun palauttamisen, jos ainakin mikä tahansa ratkaisu on olemassa jollekin satunnaiselle syötteelle.
Optimaalisuus: Jos algoritmille löydetty ratkaisu on taatusti paras ratkaisu (matalin polkukustannus) kaikkien muiden ratkaisujen joukossa, niin tällaisen ratkaisun sanotaan olevan optimaalinen ratkaisu.
Aika monimutkaisuus: Aika monimutkaisuus on ajan mitta, jonka algoritmi suorittaa tehtävänsä.
Tilan monimutkaisuus: Se on suurin tallennustila, joka vaaditaan missä tahansa vaiheessa haun aikana, koska ongelman monimutkaisuus.
Hakualgoritmien tyypit
Hakuongelmien perusteella voimme luokitella hakualgoritmit epätietoisiin (sokeahaku) ja tietoon hakuun (heuristinen haku) algoritmeihin.
Tietämätön/sokea haku:
Epätietoinen haku ei sisällä mitään aluetietoa, kuten läheisyys, tavoitteen sijainti. Se toimii raa'alla tavalla, koska se sisältää vain tietoa puun ylittämisestä sekä lehti- ja maalisolmujen tunnistamisesta. Tietoton haku käyttää tapaa, jolla hakupuuta etsitään ilman tietoa hakuavaruudesta, kuten alkutilan operaattorit ja tavoitteen testi, joten sitä kutsutaan myös sokeaksi hauksi. Se tutkii puun jokaista solmua, kunnes se saavuttaa tavoitesolmun.
Se voidaan jakaa viiteen päätyyppiin:
- Leveys ensin haku
- Yhtenäinen kustannushaku
- Syvyys ensimmäinen haku
- Iteratiivinen syventävä syvyyshaku
- Kaksisuuntainen haku
Tietoinen haku
Tietoiset hakualgoritmit käyttävät verkkotunnuksen tietoa. Tietoisessa haussa on saatavilla ongelmatietoa, joka voi ohjata hakua. Tietoisilla hakustrategioilla voidaan löytää ratkaisu tehokkaammin kuin epätietoisella hakustrategialla. Tietoista hakua kutsutaan myös heuristiseksi hauksi.
Heuristiikka on tapa, jolla ei välttämättä aina ole taattu parhaita ratkaisuja, mutta taatusti löytää hyvä ratkaisu kohtuullisessa ajassa.
Tietoinen haku voi ratkaista monia monimutkaisia ongelmia, joita ei voitaisi ratkaista muulla tavalla.
Esimerkki tietoisista hakualgoritmeista on matkustavan myyjän ongelma.
- Ahne haku
- Haku