Ricerca Non Informata Flashcards

1
Q

Cos’è un algoritmo di ricerca

A

Un algoritmo di ricerca riceve in input un problema di ricerca e restituisce una soluzione o un’indicazione di fallimento

Questi algoritmi sovrappongono un albero di ricerca al grafo dello spazio degli stati:
-un nodo corrisponde ad uno stato
-i rami corrispondono alle azioni
-la radice è lo stato iniziale
Lo spazio degli stati descrive l’insieme degli stati del mondo e le azioni. L’albero descrive i cammini tra questi stati.

Gli algoritmi di ricerca aiutano nella scelta di QUALI nodi figli bisogna considerare

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Algoritmo di ricerca best-first

A

Ad ogni nodo del nostro albero attribuiamo una funzione di valutazione f(n), che corrisponderà a 0 nel nostro stato iniziale.
L’algoritmo espanderà il nodo che avrà la funzione di valutazione minore e restituirà il valore se è uno stato obiettivo, altrimenti continuerà l’espansione scegliendo sempre f(n) minore

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Caratteristiche di un nodo

A

Un nodo è rappresentato da:
-n.stato: stato del nodo
-n.padre: nodo che lo ha generato
-n.azione: l’azione applicata allo stato del padre per generare il nodo corrente
-n.COSTO-CAMMINO: costo totale del cammino che va dallo stato iniziale al nodo corrente

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cos’è la frontiera e come viene gestita

A

Nodi di frontiera: Nodi raggiunti ma non espansi

La struttura dati per la frontiera è una coda che può avere più tipi di gestione:
-A priorità (Ricerca best first)
-FIFO (Ricerca in Ampiezza)
-LIFO (Ricerca in Profondità)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quali sono gli indici di prestazione di un algoritmo di ricerca

A

Completezza: deve essere in grado di esplorare ogni stato che sia raggiungibile a partire dallo stato iniziale e quindi trovare sempre una soluzione (se esiste)
Ottimalità rispetto al costo: soluzione a costo minimo
Complessità temporale: tempo impegato per la soluzione
Complessotà Spaziale: memoria necessaria per operare

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cos’è un algoritmo di ricerca non informata

A

Un algoritmo di ricerca non informata non riceve alcuna informazione su quanto uno stato sia vicino all’obiettivo

Opera in ambienti episodici, a singolo agente, completamente osservabili, deterministici, statici, discreti e noti

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Ricerca in Ampiezza

A

Si espande prima il nodo radice, poi tutti i suoi successori, poi i successori di questi ultimi, e così via. Si tratta di una ricerca sistematica, quindi completa anche su spazi degli stati infiniti
La ricerca in ampiezza trova sempre una soluzione con un numero minimo di azioni, ciò significa che è ottimale e completa in ogni caso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Ricerca a costo uniforme

A

La ricerca a costo uniforme è completa e ottima rispetto al costo, perché la prima soluzione che trova avrà un costo basso almeno quanto quello di ogni altro nodo sulla frontiera.
Questa ricerca esamina sistematicamente tutti i cammini in ordine di costo crescente, quindi non entra mai in un cammino infinito

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Ricerca in Profondità

A

La ricerca in profondità espande sempre per primo il nodo a profondità maggiore nella frontiera
La ricerca in profondità non è ottima rispetto al costo, infatti restituisce sempre la prima soluzione che trova
Per spazi degli stati finiti che sono alberi, la ricerca in profondità è efficiente e completa, mentre in spazi di stati ciclici può trovarsi bloccato all’interno di un ciclo

Variante: Ricerca a profondità limitata
Per evitare che la ricerca in profondità si perda in un cammino infinito possiamo usare la ricerca a profondità limitata, in cui forniamo un limite di profondità, l, e consideriamo tutti i nodi a profondità l come se non avessero successori

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Ricerca ad approfondimento iterativo

A

La ricerca ad approfondimento iterativo risolve il problema di trovare un buon valore di l provando tutti i valori: prima 0, poi 1, poi 2, e così via fino a quando si trova una soluzione
La ricerca ad approfondimento iterativo è ottima per problemi in cui tutte le azioni hanno lo stesso costo, ed è completa su spazi degli stati aciclici finiti

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Ricerca bidirezionale

A

Gli algoritmi che abbiamo trattato finora partono da uno stato iniziale e possono raggiungere ognuno dei possibili stati obiettivo. Un approccio alternativo è quello della ricerca bidirezionale, che ricerca procedendo simultaneamente in avanti a partire dallo stato iniziale e all’indietro a partire dallo stato obiettivo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly