Johdatus ahneaseen algoritmiin

Strategia, jota käytetään ongelmien ratkaisemiseen. Ahneita algoritmeja pidetään yhtenä ongelmien ratkaisemiseksi käytetyistä lähestymistavoista. Tämä ongelmanratkaisu-harhaoppinen liittyy valinnan tekemiseen, joka näyttää parhaalta tuolloin. Tätä lähestymistapaa käytetään parhaiten optimointiongelmien ratkaisemiseksi. Optimointiongelmat voidaan määritellä ongelmiksi, jotka vaativat joko vähimmäis- tai maksimituloksen. Ahne algoritmi on yksinkertaisin ja selkein lähestymistapa, jota voidaan käyttää optimaalisen ratkaisun saavuttamiseen.

Mikä on ahne algoritmi?

Ahne algoritmi on algoritminen strategia, jota käytetään parhaan valinnaisen valinnan tekemiseen hyvin pienessä vaiheessa lopulta tuotettaessa maailmanlaajuisesti optimaalinen ratkaisu. Tämä algoritmi valitsee parhaan ratkaisun, joka on silloin mahdollista, ottamatta huomioon mahdollisia seurauksia. Ahne menetelmä väittää, että ongelma tulisi ratkaista vaiheittain, jolloin jokaisen tulon katsotaan olevan ottaen huomioon, että tämä syöttö on mahdollista. Koska tämä lähestymistapa keskittyy vain välittömään tulokseen ottamatta huomioon suurempaa kuvaa, sitä pidetään ahneana.

Ydinkonseptin määritteleminen

Tähän mennessä tiedämme, mikä on ahne algoritmi ja miksi sitä nimitetään niin. Alla olevat osoittimet auttavat sinua ymmärtämään ahne algoritmin paremmin. Tähän mennessä on ollut hyvin selvää, että ahne algoritmi toimii vain ongelman ilmetessä; tätä lähestymistapaa voidaan kuitenkin käyttää vain, jos meillä on ehto tai rajoitus tähän ongelmaan.

Ongelmatyypit

  1. Minimointi Ongelma: Ratkaisun löytäminen ongelmaan on helppoa, koska kaikki ehdot täyttyvät. Kuitenkin, kun tämä ongelma vaatii vähimmäistuloksen, sitä kutsutaan sitten pienennysongelmaksi.
  2. Maksimointitehtävä: Maksimitulosta vaativa ongelma tunnetaan maksimointiongelmana.
  3. Optimointitehtävä: Ongelmaa kutsutaan optimointitehtäväksi, kun se vaatii joko minimi- tai maksimitulokset.

Tyypit ratkaisuja

  1. Mahdollinen ratkaisu: Nyt kun ilmenee ongelma, meillä on monia uskottavia ratkaisuja tähän ongelmaan. Silti ottaen huomioon kyseiseen ongelmaan asetetun ehdon, valitsemme ratkaisut, jotka täyttävät annetun edellytyksen. Sellaisia ​​ratkaisuja, jotka auttavat meitä saavuttamaan annetut ehdot täyttäviä tuloksia, kutsutaan toteuttamiskelpoiseksi ratkaisuksi .
  2. Optimaalinen ratkaisu: Ratkaisua kutsutaan optimaaliseksi, kun se on jo mahdollista ja saavuttaa ongelman tavoitteen; paras tulos. Tämä tavoite voi olla joko vähimmäis- tai enimmäistulos. Tässä on huomattava, että jokaisella ongelmalla on vain yksi optimaalinen ratkaisu.

Seuraava esimerkki auttaa sinua ymmärtämään ahne menetelmän helposti. Sanotaan, että halutaan ostaa markkinoiden paras auto. Yksi tapa valita tämä auto on analysoimalla kaikki markkinoilla olevat autot. Nyt, koska tämä on aikaa vievää, auton valitsemiseksi tietyistä tuotemerkeistä, joihin he ovat kiinnostuneita investoimaan. Tätä luokittelemalla voitaisiin valita halutut mallit sen ominaisuuksien perusteella. Siksi tässä käytetty lähestymistapa on ahne, koska tämä ratkaisu oli sinulle optimaalinen ratkaisu ottaen huomioon kaikki tekijät, jotka olivat sinulle edullisia.

Ahnean algoritmin ydinkomponentit

Nyt kun meillä on parempi käsitys tästä mekanismista, tutkitaan ahnean algoritmin ydinkomponentteja, jotka erottavat sen muista prosesseista:

  • Ehdokasjoukko: Tästä sarjasta luodaan vastaus.
  • Valintatoiminto: Se valitsee parhaan ehdokkaan, joka sisällytetään ratkaisuun.
  • Toteutettavuusfunktio: Tämä osa laskee, voidaanko ehdokasta käyttää osallistumaan ratkaisuun.
  • Objektiivifunktio: Se antaa arvon kokonaiselle tai osittaiselle ratkaisulle.
  • Ratkaisutoiminto: Tätä käytetään osoittamaan, onko oikea ratkaisu saavutettu.

Missä ahne algoritmi toimii parhaiten?

Ahneutta algoritmia voidaan soveltaa alla mainittuihin ongelmiin.

  • Greedy-lähestymistapaa voidaan käyttää pienimmän ulottuvan puurakenteen löytämiseen Primin tai Kruskalin algoritmin avulla
  • Lyhyimman reitin löytäminen kahden kärkipisteen välillä on jälleen yksi ongelma, joka voidaan ratkaista ahnealla algoritmilla. Dijkstra-algoritmin soveltaminen ahnean algoritmin kanssa antaa sinulle optimaalisen ratkaisun.
  • Huffman-koodaus

edut

Suurin etu, joka Greedy-algoritmilla on muihin verrattuna, on, että se on helppo toteuttaa ja erittäin tehokas useimmissa tapauksissa.

haitat

Ahne algoritmi rakentaa pohjimmiltaan ratkaisun osittain ja valitsemalla seuraavan osan siten, että se tarjoaa parhaan ratkaisun esillä olevaan ongelmaan heti. Tämän seurauksena nykyisen päätöksen seurauksista ei ole mitään huomiota. Älä koskaan harkitse uudelleen aiemmin tehtyjä valintoja, Greedy Algorithm ei tuota optimaalista ratkaisua, vaikka se antaa lähes optimaalisen ratkaisun . Reput ja matkamatkailijoiden ongelmat ovat esimerkkejä ongelmista, joissa ahne algoritmi ei tuota optimaalista ratkaisua.

  • Rinnakkaisongelma: Yleisimmin nimellä reppu ongelma, on jokapäiväinen ongelma, jonka kohtaavat monet ihmiset. Sano, että olemme asettaneet esineitä ja jokaisella on erilainen paino ja arvo (voitto) täytettäväksi astiaan tai se olisi kerättävä siten, että kokonaispaino on pienempi tai yhtä suuri kuin kontin, kun taas kokonaistuotto on maksimoitu .

johtopäätös

Ahne algoritmi soveltuu parhaiten, kun tarvitaan ratkaisua reaaliajassa ja likimääräiset vastaukset ovat ”tarpeeksi hyviä”. On selvää, että ahne algoritmi minimoi ajan ja varmistaa samalla optimaalisen ratkaisun tuottamisen, joten sitä voidaan soveltaa paremmin tilanteeseen, jossa tarvitaan vähemmän aikaa. Tämän artikkelin lukemisen jälkeen voi olla reilu idea ahneista algoritmeista. Lisäksi tämä viesti selittää, miksi sitä pidetään parhaimpana kehyksenä, joka vastaa melkein kaikkiin ohjelmoinnin haasteisiin, ja auttaa sinua päättämään optimaalisimmasta ratkaisusta tiettyyn ajankohtaan.

Karkealta puolelta ahnean algoritmin teorian soveltamiseksi on kuitenkin tehtävä enemmän työtä oikeiden asioiden tuntemiseksi. Vaikka se on tieteellinen konsepti, jolla on logiikkaa, sillä on myös olemus luovuutta.

Suositellut artikkelit

Tämä on opas Mikä on ahne algoritmi. Tässä keskustelimme ahnean algoritmin ydinkonseptista, komponenteista, eduista ja haitoista. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Algoritmi ohjelmoinnissa
  2. Mikä on Perl?
  3. Johdanto algoritmiin
  4. Mikä on ketterä sprintti?