Algoritmi di Ricerca Flashcards
BFS - Ricerca in ampiezza
- che significa ampiezza
- quale logica viene usata
- quindi se abbiamo una stack quale pop si fa?
- orizzontale e poi verticale.
- logica della coda (First in First Out)
- popleft (prendo prima gli elementi più vecchi)
DFS- Ricerca in profondità
- che significa profondità
- quale logica viene usata
- quindi se abbiamo una lista quale pop si fa?
- prima verticale e poi orizzontale
- logica della stack (Last In First Out)
- pop (prendo prima gli elementi più recenti)
LDFS- Ricerca in profondità limitata
- simile a…
- quando si ferma?
Simile per tutto alla DFS ma termina quando i cammini raggiungono una profondità predefinita.
UCS Uniform Cost Search
- che logica viene usata
- heap e heap pop
- quale è il procedimento?
- logica della coda prioritaria (priorità a chi ha un peso minore)
- heap è la coda prioritaria, pop leva elemento con peso minore.
Procedimento:
- nodo radice in coda
- rimuovo elemento dalla cosa:
-if è il destination allora FINE
- else if vedo se è gia nei visitati
- else metto in coda tutti i figli insieme al peso del path dal nodo radice. Metto il nodo nei visitati.
Algo Greedy-
- Idea (+ esempio percorso più breve)
- Con quale struttura viene implementato?
- Con la speranza di raggiungere una soluzione globale, ad ogni step effettua scelta localmente ottimale.
- sempre coda prioritaria ma rispetto all’euristica.
Algo A*
- Idea
- Come viene strutturato
- Unisce UCS e Greedy
- sempre coda prioritaria ma rispetto al Costo+Euristica