szép kerek számok mindent. Ez azt is jelenti, hogy az átlós mozgások olcsóbbak, mint két nem átlós mozgás ugyanazon a téren (10 + 10 > 14) heurisztika
úgy érzem, hogy ezeket nehéz meghatároznom, ezért a Wikipedia nyitó sorával kezdem a témát:
a számítástechnikában, a mesterséges intelligenciában és a matematikai optimalizálásban a heurisztika (görögül:” megtalálom, felfedezem”) egy olyan technika, amelyet egy probléma gyorsabb megoldására terveztek, ha a klasszikus módszerek túl lassúak, vagy hozzávetőleges megoldás megtalálására, ha a klasszikus módszerek nem találnak pontos megoldást. Ezt úgy érjük el, kereskedési optimalitás, teljesség, pontosság, vagy pontosság sebesség. Bizonyos értelemben ez egy parancsikonnak tekinthető.
hasznos ez? Érted már? Mert nem értem. Értem, és ez egy pontos leírás, de ha ez lenne az első, amit heurisztikáról hallottál, nem vagyok biztos benne, hogy ebből teljes képet kapnál arról, hogy mi a heurisztika. Talán ha mesélnék neked egy útkereső heurisztikáról, jobban megértenéd.
Dijkstra algoritmusával a hangsúly egy értékre összpontosult: a kezdő Indextől a legrövidebb távolságra. Ami, ha belegondolsz, elég furcsa. Ez az algoritmus megpróbál új, rövidebb utakat találni valamilyen célállomáshoz, de a hangsúly mindig arra irányul, hogy hol kezdődött. Képzelje el, hogy valaki elmegy élelmiszerért, de egész úton hátrafelé sétál, megpróbálja szemmel tartani az otthonát, amíg el nem ér a boltba. A való életben, ez valószínűleg nem működne, de talán ha időt adna nekik, hogy bejárják a várost, végül működhet.
ezt az ostoba analógiát követve az a* eltér a Dijkstra-tól, mert azt sugallja, hogy megfordul és előre halad. A*, mint a Dijkstra, azt is nyomon követi, hogy milyen messze van az otthontól, de egyedülálló tulajdonsága, hogy nyomon követi, hogy milyen messze van a rendeltetési helyétől is. A következő lépés megtételekor a Dijkstra megvizsgálja, hogy melyik út jelenleg a legrövidebb, de A* egy lépéssel tovább megy, és azt is megvizsgálja, hogy ez a lépés közelebb hozza-e a céljához. Egyszerűbben: az A* – nak van egy durva becslése a céltól való hátralévő távolságáról, és amikor ez a becslés közelebb kerül a nullához, tudja, hogy a helyes irányba halad. Ezt a heurisztikát fogjuk használni a példáinkban.
az algoritmus átlépése
Ez egy meglehetősen egyszerű példa lesz, de meg kell mutatnia az algoritmus alapvető áramlását és ismétlését. Gondoskodom arról, hogy hivatkozásaimban hivatkozásokat nyújtsak másokra, bonyolultabb példák, de ennek jó alapozónak kell lennie azok számára.