10 pagrindinių algoritmų tipų



Tarp skirtingų algoritmų tipai Yra tokių, kurie klasifikuojami pagal jų ženklų sistemą ir pagal jų funkcijas. Algoritmas yra žingsnių serija, atliekama problemai išspręsti, atlikti užduotį arba atlikti skaičiavimus.

Pagal apibrėžimą jie paprastai yra griežti ir logiški projektai, pavyzdžiui, matematinės operacijos, kurios pasirodė esančios optimalios sprendžiant tam tikrus sunkumus.

Iš esmės algoritmas yra geriausiai žinomas sprendimas konkrečiai problemai. Pagal savo strategiją ir funkciją yra daug algoritmų tipų.

Kai kurie iš šių tipų yra: dinaminiai algoritmai, atvirkštiniai algoritmai, brutalinės jėgos algoritmai, oportunistiniai algoritmai, ženklinimo algoritmai ir atsitiktiniai algoritmai..

Algoritmai naudoja skirtingas sritis daugelyje sričių. Iš kompiuterio srities, per matematiką iki rinkodara. Kiekvienoje srityje yra tūkstančiai tinkamų algoritmų problemoms spręsti.

Algoritmų tipų klasifikavimas

Pagal jos ženklų sistemą

Kokybiniai algoritmai 

Šie algoritmai yra tie, kuriuose pateikiami žodiniai elementai. Šio tipo algoritmų pavyzdys yra instrukcijos arba „žingsnis po žingsnio“, pateikiamos žodžiu.

Tokie yra atvejai, kai receptai ar instrukcijos yra skirtos DIY darbui atlikti.

Kiekybiniai algoritmai

Jie yra priešingi kokybiniams algoritmams, nes pateikiami skaitmeniniai elementai. Šie algoritmai naudojami matematikoje skaičiavimams atlikti. Pavyzdžiui, norėdami rasti kvadratinę šaknį arba išspręsti lygtį.

Skaičiavimo algoritmas

Tai yra algoritmai, atlikti su kompiuteriu; Daugelis šių algoritmų yra sudėtingesni, todėl juos reikia atlikti per mašiną. Jie taip pat gali būti kiekybiniai algoritmai, kurie yra optimizuoti.

Ne skaičiavimo algoritmas  

Šie algoritmai yra tie, kurių negalima atlikti su kompiuteriu; pavyzdžiui, televizijos programavimas.

Pagal savo funkciją

Ženklinimo algoritmas

Šis algoritmas naudoja automatizavimą dinamiškai nustatyti kainas, remdamasis tokiais veiksniais kaip klientų elgsena.

Tai yra praktika automatiškai nustatyti parduodamų prekių kainą, kad būtų maksimaliai padidintas pardavėjo pelnas. Nuo praėjusio amžiaus dešimtojo dešimtmečio pradžios tai buvo įprasta oro transporto pramonės praktika.

Žymėjimo algoritmas yra įprasta praktika labai konkurencingose ​​pramonės šakose, tokiose kaip kelionės ir internetinė prekyba.

Šis algoritmas gali būti labai sudėtingas arba gana paprastas. Daugeliu atvejų jie gali būti savarankiškai mokomi arba gali būti nuolat optimizuojami atliekant testus.

Žymėjimo algoritmas su klientais gali būti nepopuliarus, nes žmonės linkę vertinti stabilumą ir nešališkumą.

Atikimybiniai algoritmai 

Tai algoritmas, kurio rezultatas arba būdas, kuriuo gaunamas rezultatas, priklauso nuo tikimybės. Kartais jie taip pat vadinami atsitiktiniais algoritmais.

Kai kuriose programose tokio tipo algoritmas yra natūralus, pavyzdžiui, kai imituojamas tam tikros esamos ar planuojamos sistemos elgesys laikui bėgant. Šiuo atveju rezultatas yra atsitiktinis.

Kitais atvejais problema, kurią reikia išspręsti, yra deterministinė, tačiau ją galima paversti atsitiktine, ir ją galima išspręsti taikant tikimybės algoritmą.

Geras dalykas dėl šio tipo algoritmo yra tas, kad jo taikymui nereikia sudėtingų ar matematinių žinių. Yra trys pagrindiniai tipai: skaitmeninis, Monte Carlo ir Las Vegasas.

Skaitmeniniame algoritme matematinės analizės problemoms spręsti naudojamas vietoj simbolinių manipuliacijų. Jie gali būti taikomi visose inžinerijos ir fizikos mokslų srityse.

Kita vertus, Monte Karlo algoritmai pateikia atsakymus, pagrįstus tikimybe. Dėl šios priežasties šiame algoritme pateikti sprendimai gali būti netikslūs, nes jie turi tam tikrą paklaidos ribą.

Ją naudoja kūrėjai, matematikai ir mokslininkai. Jie yra kontrastuojami su Las Vegaso algoritmais.

Galiausiai, Las Vegaso algoritmai yra apibūdinami, nes rezultatas visada bus teisingas, tačiau sistema gali naudoti daugiau nei numatyti ištekliai arba daugiau laiko nei numatyta.

Kitaip tariant, šie algoritmai daro tam tikrą statymą naudodami išteklius, bet visada duoda tikslų rezultatą.

Dinaminis programavimas

Žodis „dinamika“ reiškia metodą, kuriuo algoritmas apskaičiuoja rezultatą. Kartais problemos elemento sprendimas priklauso nuo mažesnių problemų sprendimo.

Todėl, norint išspręsti šią problemą, tos pačios vertės turi būti skaičiuojamos dar kartą, kad būtų išspręstos mažesnės problemos. Tačiau tai sukelia ciklų švaistymą.

Norėdami tai ištaisyti, galima naudoti dinaminį programavimą. Šiuo atveju iš esmės prisimenamas kiekvieno subproblemos rezultatas; jei reikia, ši vertė naudojama vietoj to, kad ji būtų skaičiuojama iš naujo ir vėl.

Heuristiniai algoritmai

Šie algoritmai yra tie, kurie suranda sprendimus tarp visų galimų, tačiau jie negarantuoja, kad bus rasti geriausi iš jų. Dėl šios priežasties jie laikomi apytiksliais arba netiksliais algoritmais.

Paprastai jie suranda sprendimą, kuris yra artimas geriausiam, ir greitai ir lengvai suranda. Paprastai šis algoritmas naudojamas, kai neįmanoma rasti sprendimo įprastu būdu.

Atgal algoritmai

Tai algoritmai, kurie buvo atšaukti stebint jų elgesį. Paprastai tai yra pirminio algoritmo apytikslis, sukonstruotas tokiems tikslams kaip konkursas ar studijos.

Algoritmai gali būti atšaukti, siekiant ištirti jų poveikį rinkoms, ekonomikai, kainų žymėjimui, operacijoms ir visuomenei.

Raveninis algoritmas

Daugeliu problemų kilusių sprendimų priėmimas lemia optimalius sprendimus. Šis algoritmas taikomas optimizavimo problemoms.

Kiekviename keistojo algoritmo etape priimamas logiškas ir optimalus sprendimas, kad galiausiai būtų pasiektas geriausias pasaulinis sprendimas.

Bet jūs turite nepamiršti, kad priėmus sprendimą, ateityje jo negalima ištaisyti ar keisti.

Labai svarbu išbandyti nevaisingo algoritmo tikrumą, nes ne visi tokie algoritmai lemia optimalų pasaulinį sprendimą.

Nuorodos

  1. Algoritmas: tipai ir klasifikacija. Atkurta iš gonitsora.com
  2. Heuristiniai algoritmai. Gauta iš studentų.cei.upatras.gr
  3. Kas yra algoritminė kainodara (2016). Atkurta iš simplicable.com
  4. Skaitmeninė analizė. Gauta iš wikipedia.org
  5. Tikimybiniai algoritmai (2001). Gauta iš naudotojų.abo.fi
  6. Kas yra algoritmai (2015). Atkurta iš simplicable.com
  7. Monte carlo algoritmas. Susigrąžinta iš technopedia.com
  8. Algoritmų tipai. Susigrąžinta iš lostipos.com
  9. Kas yra atvirkštiniai algoritmai? Atkurta iš simplicable.com