Heuristika (eiristika) ir praktisks noteikumu kopums vai pieeja problēmu risināšanai, kas balstās uz vienkāršiem principiem, pieredzi un veselā saprāta. Tā parasti sniedz ātru, pragmatisku risinājumu, ja nav laika vai resursu meklēt formāli optimālu atbildi. Heuristika ir bieži noderīgāka nekā tīra nejaušība, taču nebūt nav garantija panākumiem: rezultāts var būt pietiekami labs, bet ne pareizākais vai optimālais.

Heuristikas cilvēks izstrādā, izmantojot intelektu, pieredzi un veselo saprātu. Vienkāršākās heuristikas piemērs ir Mēģinājums un kļūda, kas reizēm palīdz atrast risinājumu, bet var būt laikietilpīga un neefektīva. Citi pazīstami nosaukumi ir noteikums par īkšķi (rule of thumb) un "izglītoti minējumi" — ātras vadlīnijas, kas palīdz rīkoties nezināmā situācijā.

Dažkārt heuristikas ir ļoti neskaidras vai vispārīgas — piemēram, padoms "paskaties, pirms lec" sniedz virzienu rīcībai, savukārt "padomā par sekām" ir konkrētāks. Citreiz heuristikas veido virkni soļu vai testu. Piemēram, kad ārsti izmeklē pacientu, tie veic sēriju novērojumu un testu; iespējams, ka viņi neatklās problēmas izcelsmi 100% drošībā, taču šāda pieeja dod vislabākās iespējas nonākt pie pareizas diagnozi.

Datorzinātnē heuristika parasti nozīmē algoritmu vai algoritmisku stratēģiju, kas meklē labus, bet ne obligāti optimālus risinājumus. Heuristiski algoritmi ir īpaši noderīgi sarežģītās vai NP-grūtos problēmjautājumos, kur precīzs risinājums būtu pārāk laikietilpīgs. Tipiski piemēri no prakses:

  • A* meklēšanas algoritma heuristiska funkcija, kas novērtē atlikušo ceļa garumu;
  • greedy algoritmi, kas pieņem lokāli labākos lēmumus;
  • lokālās meklēšanas metodes (local search), piemēram, hill-climbing;
  • metaheuristikas, piemēram, ģenētiskie algoritmi vai simulēta anelēšana (simulated annealing), kas mēģina atrast labas pieejas globālājā meklējumā.

Heuristisku algoritmu galvenās priekšrocības ir vienkāršība, ātrums un spējas darboties ar nepilnīgu informāciju. To trūkumi — nav garantijas par risinājuma kvalitāti vai pareizību, var rasties lokālie maksimumi, kā arī atkarība no labi izvēlētas heuristikas funkcijas. Tāpēc datorzinātnē bieži salīdzina laiku, kas nepieciešams algoritma izpildei, ar iegūstamā risinājuma kvalitāti.

Psiholoģijā heuristikas apraksta kā domāšanas īsceļus, kas ļauj pieņemt lēmumus ātri, bet reizēm noved pie sistemātiskām kļūdām jeb kognitīvajām novirzēm. Piemēri: pieejamības heuristika (novērtējums pēc viegli aizdomājamas informācijas), pārstāvniecības heuristika (vispārināšana pēc atbilstības kādam prototipam) un enkurošanas efekts (lēmumi ietekmējas no sākotnējiem skaitļiem vai informācijas).

Lai heuristikas izmantotu drošāk un efektīvāk, ieteicams:

  • saprast, kādas pieņēmumu kļūdas konkrētā heuristika var radīt;
  • testēt heuristikas uz dažādiem datiem vai gadījumiem (verificēt rezultātus);
  • apvienot vairākas heuristikas vai lietot hibrīdas metodes, kur iespējams — salīdzināt ar eksakto risinājumu;
  • lietot heuristikas, kad ir ierobežots laiks, dati ir nepilnīgi vai problēma ir pārāk sarežģīta precīzai analīzei.

Kopsavilkumā: heuristika nav brīnumlīdzeklis, bet ļoti praktisks instruments gan ikdienas lēmumu pieņemšanā, gan tehniskās problēmu risināšanā. Saprātīga heuristiku izmantošana, kopā ar izpratni par to ierobežojumiem, ļauj ātri nonākt pie pietiekami labiem risinājumiem situācijās, kur formāli optimāls risinājums nav pieejams.