-
Notifications
You must be signed in to change notification settings - Fork 0
L'algoritmo A* combina gli algoritmi di ricerca su grafo LCF e BFS, dove per ogni percorso p considera la stima f(p) del suo costo totale (dal nodo di partenza fino al goal), con f(p) = cost(p) + h(p). Dove h(p) è una stima del costo minimale dall’ultimo nodo di p fino a un goal.
Si è pensato di utilizzare A* perchè i fattori di soddisfacibilità sono rispettati ovvero:
- il fattore di ramificazione è finito
- costi archi > 0
- h(n) è ammissibile
Classe di riferimento: AStarGraph
Classe correlata: Graph
Per applicare A* si è pensato di creare un grafo come struttura dati, dove i nodi sono le strade e gli archi gli incroci (strada a strada) ed i vertici hanno come proprietà il peso del nodo, anche gli archi riportano il peso del nodo utile nel calcolo del percorso.
Per la costruzione del grafo, in particolare i vertici, si interroga la KB e si costruiscono le strade con le proprietà (nome,lunghezza,peso,x,y).
Per la costruzione del grafo, in particolare gli archi, si interroga la KB e si costruiscono gli incroci attraverso la procedura collega che determina il collegamento di due incroci attraverso una strada.