Hevristika
Hevristika je praktičen način reševanja problema. Je boljši od naključja, vendar ne deluje vedno. Človek razvije hevristiko s pomočjo inteligence, izkušenj in zdrave pameti. Poskus in napaka je najpreprostejša hevristika, vendar ena najšibkejših. Pravilo palca in "izobraženo ugibanje" sta drugi imeni za preproste hevristike. Ker hevristika ne daje gotovega rezultata, vedno obstajajo izjeme.
Včasih je hevristika precej nejasna: "poglej, preden skočiš" je vodilo za ravnanje, "premisli o posledicah" pa je nekoliko bolj jasno. Včasih je hevristika celoten sklop stopenj. Ko zdravnik pregleda bolnika, opravi cel niz testov in opazovanj. Morda ne bodo ugotovili, kaj je narobe, vendar si zagotovijo najboljše možnosti za uspeh. To se imenuje diagnoza.
V računalništvu je "hevristika" vrsta algoritma. Algoritmi so napisani, da bi dobili dobro rešitev problema. Hevristični algoritem lahko običajno najde precej dobre rešitve, vendar ni nobenega zagotovila ali dokaza, da so rešitve pravilne. Drugi dejavnik je čas, ki je potreben za izvajanje algoritma.
Ozadje
Hevristika je umetnost iskanja ustrezne rešitve problema z uporabo omejenega znanja in malo časa. Bolj formalno hevristika temelji na izkušnjah; z uporabo preprostih pravil lahko pospeši iskanje rešitve. Popolno iskanje lahko traja predolgo ali pa je lahko pretežko izvedljivo.
Natančneje rečeno, hevristika je strategija, ki za nadzor reševanja problemov pri ljudeh in strojih uporablja lahko dostopne, čeprav ohlapno uporabne informacije.
Hevristika se lahko uporablja na nekaterih področjih znanosti, na drugih pa ne: V ekonomiji je rešitev, ki je za en odstotek napačna, pogosto sprejemljiva; teleskop, ki ima napako ene stopinje, je verjetno neuporaben, če je usmerjen v oddaljen predmet. Isti teleskop, ki je usmerjen v okno na drugi strani ulice, pa bo to napako verjetno dopuščal; pogrešek za eno stopinjo ne bo imel velikega vpliva na majhno razdaljo.
Hevristika se lahko uporablja za oceno odgovora, ki je nato jasnejši z izvedbo natančne rešitve v zelo majhnem merilu, morda zaradi prihranka časa, denarja ali dela pri projektu - na primer hevristično ugibanje o tem, koliko teže naj bi prenesel most, se lahko uporabi za določitev, ali naj bo most narejen iz lesa, kamna ali jekla, in se lahko kupijo ustrezne količine potrebnega materiala, medtem ko se dokonča natančna zasnova mostu.
Vendar je uporaba hevristike na nekaterih zelo tehničnih področjih lahko škodljiva - primer je računalništvo. Programiranje računalnika za izvajanje bolj ali manj želenih dejanj lahko povzroči hude napake. Zato morajo biti računalniške naloge na splošno precej natančne. Vendar pa obstajajo nekatera področja, na katerih lahko računalniki varno izračunavajo hevristične rešitve - na primer Googlova iskalna tehnologija se v veliki meri zanaša na hevristiko, saj pri iskalni poizvedbi, ko ni mogoče najti natančnega ujemanja, pripravi "skorajšnje ujemanje". Tako lahko uporabnik popravi morebitne napake, ki jih povzroči iskanje. Primer: Pri iskanju imena "Peter Smith", ko iskalnik ne more najti točno tega imena, se namesto tega hevristično ujema z imenom "Pete Smith", oseba, ki uporablja iskalnik, pa se mora odločiti, ali sta Pete in Peter ista oseba.
Primeri
Polya
Tukaj je še nekaj drugih pogosto uporabljenih hevristik iz Polyeve knjige How to Solve It iz leta 1945:
- Če težko razumete težavo, poskusite narisati sliko.
- Če ne najdete rešitve, poskusite predpostaviti, da imate rešitev, in ugotovite, kaj lahko iz nje izpeljete ("delo za nazaj").
- Če je problem abstrakten, poskusite preučiti konkreten primer.
- Najprej poskusite rešiti splošnejši problem: "izumiteljev paradoks": bolj ambiciozen načrt ima morda več možnosti za uspeh.
Težava pri pakiranju
Eden od primerov, kjer so hevristike uporabne, je problem pakiranja. Problem je sestavljen iz pakiranja več predmetov. Pri tem je treba upoštevati določena pravila. Vsak predmet ima na primer vrednost in težo. Zdaj je problem, da bi dobili najbolj dragocene predmete z najmanjšo možno težo. Drug primer je nameščanje več različno velikih predmetov v omejen prostor, na primer v prtljažnik avtomobila.
Za popolno rešitev problema je treba preizkusiti vse možnosti. To pogosto ni dobra možnost, saj je njihovo preizkušanje dolgotrajno, v povprečju pa je treba preizkusiti polovico možnosti, dokler ne najdemo rešitve. Zato večina ljudi začne z največjim predmetom, ga vgradi in nato poskuša okoli njega razporediti druge predmete. To bo večinoma prineslo dobro rešitev. V nekaterih primerih pa je takšna rešitev zelo slaba in je treba uporabiti drugo tehniko.
Zato je to hevristična rešitev.
Primer problema pakiranja. To je enodimenzionalni (omejeni) problem Knapsack: katere škatle je treba izbrati, da bo količina denarja čim večja, skupna teža pa manjša od 15 kg? Večdimenzionalni problem bi lahko upošteval gostoto ali dimenzije škatel, pri čemer je slednji tipičen problem pakiranja. (Rešitev v tem primeru je, da izberemo vse škatle razen zelene.)
Vprašanja in odgovori
V: Kaj je hevristika?
O: Hevristika je praktičen način reševanja problema, ki je boljši od naključja, vendar ne deluje vedno.
V: Kako se hevristika razvija?
O: Človek razvije hevristiko s pomočjo inteligence, izkušenj in zdrave pameti.
V: Katera je najpreprostejša hevristika?
O: Najpreprostejša hevristika je poskus in napaka.
V: Kako drugače imenujemo preproste hevristike?
O: Druga imena za preproste hevristične metode so pravilo palca in "izobraženo ugibanje".
V: Ali pri hevristiki vedno obstajajo izjeme?
O: Da, ker hevristika ne daje gotovega rezultata, vedno obstajajo izjeme.
V: Kaj je diagnoza na medicinskem področju?
O: Diagnoza je cel niz stopenj, ki jih zdravniki opravijo pri pregledu pacienta, da bi si zagotovili najboljše možnosti za uspeh.
V: Kaj je "hevristika" v računalništvu?
O: V računalništvu je hevristika vrsta algoritma, ki lahko običajno najde precej dobre rešitve, vendar ni nobenega zagotovila ali dokaza, da so rešitve pravilne.