Heuristic Kërkimi është një qasje e fuqishme algoritmike e përdorur për të gjetur zgjidhje në hapësira komplekse problemore duke marrë vendime të informuara bazuar në heuristikë ose rregulla të gishtit. Është veçanërisht i dobishëm kur një kërkim shterues është jopraktik për shkak të hapësirës së madhe të kërkimit.
Si punon
- Heuristic Vlerësimi: Algoritmi vlerëson çdo gjendje në hapësirën e problemit duke përdorur një heuristic funksion. Ky funksion vlerëson "premtueshmërinë" e çdo shteti për sa i përket afërsisë së tij me gjendjen e qëllimit.
- Strategjia e Kërkimit: Algoritmi zgjedh gjendjen më premtuese bazuar në heuristic vlerësimin. Ai përdor një strategji kërkimi si Best-First Search, A* Search ose Greedy Search.
- Zgjerimi i Shtetit: Shteti i zgjedhur zgjerohet duke gjeneruar shtetet fqinje. Këta janë kandidatë potencialë për hapin tjetër.
- Përsëriteni: Procesi përsëritet në mënyrë të përsëritur, duke zgjedhur dhe zgjeruar gjendjet derisa të gjendet gjendja e qëllimit ose të plotësohet një kusht përfundimi.
Shembull: Problemi i shitësit udhëtues(TSP)
Merrni parasysh problemin e shitësit udhëtues, ku një shitës duhet të vizitojë një grup qytetesh dhe të kthehet në qytetin fillestar duke minimizuar distancën totale të përshkuar. Një heuristic qasje mund të jetë Algoritmi i fqinjit më të afërt:
- Filloni në një qytet të rastësishëm.
- Në çdo hap, zgjidhni qytetin më të afërt të pavizituar si destinacion tjetër.
- Përsëriteni derisa të vizitohen të gjitha qytetet, pastaj kthehuni në qytetin fillestar.
Shembull kodi në C++
Në këtë shembull, Algoritmi i fqinjit më të afërt përdoret për të zgjidhur problemin e shitësit udhëtues. Është një heuristic qasje që zgjedh qytetin më të afërt të pavizituar në çdo hap, duke rezultuar në një zgjidhje që shpesh është afër optimales.