10 pagrindinių algoritmų tipų

Tarp skirtingų egzistuojančių algoritmų tipų išsiskiria tie, 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 visus aptariamus 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, matematikos ir rinkodaros srities . 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 algoritmo pavyzdys yra žodžiu pateiktos instrukcijos arba „žingsnis po žingsnio“.

Tokia yra maisto ruošimo receptų arba instrukcijų, kaip atlikti DIY darbą, atvejis.

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 kompiuterio algoritmai; 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 aviacijos 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 mokomi savarankiškai arba juos galima nuolat optimizuoti atliekant testus.

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

Tikimybiniai 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 ji gali būti transformuota į atsitiktinį ir gali būti išspręsta 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 skiriasi nuo Las Vegaso algoritmų.

Galiausiai, Las Vegaso algoritmai apibūdinami, nes rezultatas visada bus teisingas, tačiau sistema gali naudoti daugiau numatomų išteklių ar daugiau laiko.

Kitaip tariant, šie algoritmai daro tam tikrą statymą naudojant išteklius, bet visada duoda tikslią rezultatą.

Dinaminis programavimas

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

Todėl, norint išspręsti problemą, tos pačios vertės turi būti skaičiuojamos vėl ir vėl, 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, kuris yra sukonstruotas tokiems tikslams kaip konkursas ar studijos, apytikslis.

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. Šio tipo algoritmai taikomi optimizavimo problemoms.

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

Tačiau nepamirškite, kad priėmus sprendimą, ateityje jo negalima ištaisyti ar keisti.

Labai svarbu išbandyti nevaisingo algoritmo tikrumą, nes ne visi tokio pobūdžio algoritmai lemia optimalų pasaulinį sprendimą.