Heuristika
Heuristika je praktický způsob řešení problému. Je lepší než náhoda, ale ne vždy funguje. Člověk si heuristiku vytvoří pomocí inteligence, zkušeností a zdravého rozumu. Pokus a omyl je nejjednodušší heuristika, ale jedna z nejslabších. Pravidlo palce a "kvalifikovaný odhad" jsou další názvy pro jednoduché heuristiky. Protože u heuristiky není jisté, že se dobereme nějakého výsledku, vždy existují výjimky.
Někdy jsou heuristiky poněkud vágní: "podívej se, než skočíš" je návodem k chování, ale "přemýšlej o důsledcích" je o něco jasnější. Někdy je heuristika celým souborem fází. Když lékaři vyšetřují pacienta, procházejí celou řadou testů a pozorování. Možná nezjistí, co je špatně, ale dávají si nejlepší šanci na úspěch. Tomu se říká diagnóza.
V informatice je "heuristika" druh algoritmu. Algoritmy se píší tak, aby se dosáhlo dobrého řešení problému. Heuristický algoritmus může obvykle najít docela dobré řešení, ale neexistuje žádná záruka nebo důkaz, že řešení je správné. Dalším faktorem je čas potřebný k provedení algoritmu.
Pozadí
Heuristika je umění najít vhodné řešení problému s využitím omezených znalostí a malého množství času. Formálněji řečeno, heuristika vychází ze zkušeností; může urychlit hledání řešení pomocí jednoduchých pravidel. Úplné hledání může trvat příliš dlouho nebo může být příliš obtížné.
Přesněji řečeno, heuristiky jsou strategie využívající snadno dostupné, i když volně použitelné informace k řízení řešení problémů u lidí a strojů.
Heuristiku lze použít v některých vědních oborech, ale ne v jiných: V ekonomii je často přijatelné řešení, které se liší o jedno procento; dalekohled, který má chybu jednoho stupně, je pravděpodobně nepoužitelný, pokud je zaměřen na vzdálený objekt. Stejný dalekohled namířený na okno přes ulici tuto chybu pravděpodobně toleruje; chybějící jeden stupeň nebude mít na krátkou vzdálenost velký vliv.
Heuristika může být použita k odhadu odpovědi, která je pak zpřesněna provedením přesného řešení ve velmi malém měřítku, třeba aby se ušetřil čas, peníze nebo práce na projektu - například heuristický odhad, jakou hmotnost má most unést, může být použit k určení, zda má být most vyroben ze dřeva, kamene nebo oceli, a může být nakoupeno odpovídající množství potřebného materiálu, zatímco se dokončuje přesný návrh mostu.
Používání heuristiky v některých velmi technických oborech však může být škodlivé - příkladem je informatika. Naprogramování počítače tak, aby prováděl více či méně požadované činnosti, může vést k závažným chybám. Proto musí být počítačové úlohy obecně poměrně přesné. Existují však určité oblasti, ve kterých mohou počítače bezpečně vypočítávat heuristická řešení - například vyhledávací technologie společnosti Google se do značné míry spoléhá na heuristiku a vytváří "téměř chybějící" shody vyhledávacího dotazu, pokud nelze najít přesnou shodu. To umožňuje uživateli opravit případné chyby, které vyhledávání vyprodukuje. Příklad: Při hledání jména "Peter Smith" a nemožnosti najít toto přesné jméno vyhledávač místo toho heuristicky porovná "Pete Smith" a osoba používající vyhledávač se musí rozhodnout, zda jsou Pete a Peter stejná osoba.
Příklady
Polya
Zde je několik dalších běžně používaných heuristik z Polyovy knihy How to Solve It z roku 1945:
- Pokud máte potíže s pochopením problému, zkuste si nakreslit obrázek.
- Pokud nemůžete najít řešení, zkuste předpokládat, že řešení máte, a zjistit, co z něj můžete odvodit ("pracovat zpětně").
- Pokud je problém abstraktní, zkuste prozkoumat konkrétní příklad.
- Zkuste nejprve vyřešit obecnější problém: "paradox vynálezce": ambicióznější plán může mít větší šanci na úspěch.
Problém s balením
Jedním z příkladů, kde jsou heuristiky užitečné, je druh problému balení. Problém spočívá v zabalení určitého počtu položek. Existují pravidla, která je třeba dodržet. Například každá položka má svou hodnotu a váhu. Problémem je nyní získat co nejhodnotnější položky s co nejmenší hmotností. Jiným příkladem je umístění řady různě velkých předmětů do omezeného prostoru, například do kufru auta.
Abyste získali dokonalé řešení problému, je třeba vyzkoušet všechny možnosti. To často není dobrá volba, protože jejich zkoušení trvá dlouho a v průměru je třeba vyzkoušet polovinu možností, dokud se nenajde řešení. Většina lidí tedy začne s největší položkou, umístí ji a pak se kolem ní pokusí uspořádat ostatní položky. To většinou poskytne dobré řešení. Jsou však případy, kdy je takové řešení velmi špatné a je třeba použít jinou techniku.
Jedná se tedy o heuristické řešení.
Příklad problému s balením. Jedná se o jednorozměrný (omezený) problém typu Knapsack: Jaké krabice zvolit, aby se maximalizovala částka a celková hmotnost nepřekročila 15 kg? Vícerozměrný problém by mohl zohledňovat hustotu nebo rozměry krabic, přičemž ten druhý je typickým balicím problémem. (Řešením v tomto případě je vybrat všechny krabice kromě zelené).
Otázky a odpovědi
Otázka: Co je to heuristika?
Odpověď: Heuristika je praktický způsob řešení problému, který je lepší než náhoda, ale ne vždy funguje.
Otázka: Jak se heuristika vyvíjí?
Odpověď: Člověk si vytvoří heuristiku pomocí inteligence, zkušeností a zdravého rozumu.
Otázka: Jaká je nejjednodušší heuristika?
Odpověď: Nejjednodušší heuristika je pokus a omyl.
Otázka: Jaké jsou další názvy pro jednoduché heuristiky?
Odpověď: Mezi další názvy jednoduchých heuristik patří pravidlo palce a "kvalifikovaný odhad".
Otázka: Existují vždy výjimky z heuristiky?
Odpověď: Ano, protože není jisté, že heuristika povede k výsledku, vždy existují výjimky.
Otázka: Co je to diagnóza v medicíně?
Odpověď: Diagnóza je celý soubor fází, kterými lékaři procházejí při vyšetření pacienta, aby měli co největší šanci na úspěch.
Otázka: Co je to "heuristika" v informatice?
Odpověď: V informatice je heuristika druh algoritmu, který může obvykle najít docela dobrá řešení, ale neexistuje žádná záruka nebo důkaz, že jsou správná.