Professional Documents
Culture Documents
Tema-3 It
Tema-3 It
Tema-3 It
1
Introduzione
Strategie di rappresentazione dello spazio di stato
Ricerca disinformata o cieca
• Introduzione
• Ricerca di alberi
• Strategie
• Evitare gli stati ripetuti - Ricerca sulle reti
Ricerca euristica
• Introduzione
• Strategie
Strategie sulla rappresentazione per riduzione
Ricerca disinformata o cieca
• Introduzione
• Ricerca di alberi
• Strategie
Ricerca euristica
• Introduzione
• Caratteristiche delle funzioni di valutazione nelle reti YO
• Strategia YO*
Funzioni euristiche
L'effetto dell'accuratezza euristica sulle prestazioni
Progettazione di funzioni euristiche ammissibili
Laurea in Ingegneria Sistemi intelligenti Anno accademico 2023-
INTRODUZIONE
Un metodo di ricerca utilizza come input un problema e restituisce come output una
sequenza di azioni che portano a un obiettivo finale.
Studieremo:
1. Il processo di formulazione del problema.
Laurea in Ingegneria Sistemi intelligenti Anno accademico 2023-
Presuppone
• Ambiente statico 🡺 in quanto la formulazione e la ricerca del
problema
viene effettuata senza prestare attenzione ai cambiamenti che
possono verificarsi nell'ambiente.
• Lo stato iniziale o del problema è noto.
• Ambiente discreto 🡺 elenco di ''corsi d'azione alternativi''.
• Ambiente deterministico 🡺 Le soluzioni sono sequenze di azioni
e vengono eseguite senza prestare attenzione alla
percezioni.
Confine
La strategia di ricerca è una funzione che seleziona dal confine il nodo successivo da
espandere.
Si supponga che la collezione di nodi sia implementata come una coda con le
operazioni seguenti:
EMPTY(coda), restituisce true se la coda è vuota. DELETE(coda,criterio),
elimina dalla coda i nodi che verificano il criterio. DELETE-FIRST(coda),
restituisce il primo elemento e lo elimina dalla coda.
INSERT(elemento,coda), inserisce un elemento e restituisce la coda.
INSERT-ALL(elementi,coda), inserisce gli elementi e restituisce la coda.
Laurea in Ingegneria Sistemi intelligenti Anno accademico 2023-
Introduzione
Larghezza
disinformato o
Costo uniforme
cieco
Profondità
Metodi di
ricerca
Prima il miglior avara A
con informazioni
BPMR
o euristiche
Complessità. Si supponga:
b=10
1 milione di nodi generati al secondo. 1000 byte
di memoria per ogni nodo. il nodo di
destinazione è il primo nodo del livello d.
Laurea in Ingegneria Informatica Sistemi intelligenti
Anno accademico 2023-2024
Strategie su uno spazio di stati che rappresenta.
Ricerca disinformata o cieca
Ricerca del costo dell'uniforme
Implementiamo SEARCH-TREE(problema,border_O()) dove border_O
è ordinato per g (costo del percorso) dal più basso al più alto.
• Completa se costo_individuale ≥ ε (piccola costante positiva).
• Questa condizione è anche sufficiente a garantire l'ottimalità.
• Complessità in tempo e spazio: O(b[C*/ε]), dove C* costa la soluzione ottimale.
L'albero di ricerca è infinito (compaiono cicli). Il metodo di ricerca ad albero non è
molto efficiente in questi casi. In caso di costo uniforme, il problema non sussiste.
Passare da S a G Confine
S(0)
10 B(2), A(10), C(15)
Soluzione = [S, B, G]
S 2 5 G
S(4), G(7), A(10), C(15)
B Costo del percorso: g
B(6), G(7), A(10), A(14), C(15), C(19)
15
G(7), S(8), A(10), G(11), A(14), C(15), C(19) =7
C
S(8), A(10), G(11), A(14), C(15), C(19)
Soluzione ottimale
Laurea in Ingegneria Sistemi intelligenti Anno accademico 2023-
costo
minimo
Limite=0
Limite=1
Limite=2
dove:
b è il fattore di ramificazione;
d è la profondità del nodo di soluzione più superficiale (target);
m è la lunghezza massima di qualsiasi percorso nello spazio di ricerca; l
è il limite di profondità.
1 completo se b è finito;
2 si completa se i costi sono ≥ ε, per ε positivo;
Confine Chiuso
S
1 10 S(0)
A B
A(1), B(10) S(0)
S(2), B(10), C(16) S(0), A(1)
15
C C(12), C(16), S(20) S(0), A(1), B(10)
G(13), B(14), C(16), S(20), A(27) S(0), A(1), B(10), C(12)
1
G
B(14), C(16), S(20), A(27) S(0), A(1), B(10), C(12),G(13)
RICERCA EURISTICA
• Introduzione
Le strategie di ricerca non informate trovano soluzioni generando sistematicamente
nuovi stati e testandoli rispetto al test oggettivo.
Le euristiche (come già detto), in senso generale, sono criteri, regole, punteggi o
metodi che aiutano a decidere quale sia l'alternativa migliore o più promettente, tra
le varie alternative possibili, per raggiungere un determinato obiettivo.
Questo meccanismo richiede la conoscenza del problema.
Può essere implementato all'interno del nostro framework di ricerca generale con
una coda prioritaria (ordine crescente dei valori di f).
Esiste una famiglia di metodi Best First Search che utilizzano diverse funzioni di
valutazione.
Laurea in Ingegneria Sistemi intelligenti Anno accademico 2023-
Strategie su uno spazio di stati che rappresenta.
Ricerca euristica 25
Una componente fondamentale è il calcolo di una funzione euristica, h:
• h(n) è il costo stimato del percorso più economico dal nodo n al nodo di
destinazione, e
• se n è un nodo obiettivo, allora h(n)=0.
Le funzioni euristiche sono il modo più comune per trasmettere al metodo di ricerca
una conoscenza aggiuntiva del problema.
Percorso da A a B
utilizzando h(n)=hDLR (n)
Ottimale?
Ricerca euristica
n G
h*(n): costo reale da n a G
La possibilità 2 (che assicura che il percorso ottimale verso qualsiasi stato ripetuto
sia sempre il primo che seguiamo) è valida se imponiamo una nuova condizione su
h(n): la condizione di coerenza.
h*(n), ∀n).
h*(n')
h coerente ⇒ h ammissibile
Dimostrazione:
Costo della strada
Sia n un nodo qualsiasi e G l'obiettivo più vicino.
che collega n a G
Poiché h è coerente, si ha che h(n) ≤ K(n,as ,G) + h(G). E
poiché h(G) = 0 e K(n,as ,G) = h*(n), concludiamo che: Costo
effettivo
h(n) ≤ h*(n), ∀n della strada
Allora h è ammissibile.
euristica ammissibile
euristica coerente
Laurea in Ingegneria Informatica Sistemi intelligenti Anno accademico 2023-2024
Strategie su una rappresentazione dello spazio di stato
Ricerca euristica
I risultati più importanti della condizione di coerenza sono:
Il fatto che il costo f non diminuisca lungo nessun percorso significa che
possiamo tracciare delle curve di livello nello spazio degli stati, come le curve di
livello su una mappa topografica.
Esistono metodi successivi che hanno superato il problema dello spazio senza
sacrificare l'ottimalità o la completezza, con un piccolo costo in termini di tempo di
esecuzione.
• Utilizza una variabile limite per ricordare il valore f del miglior percorso alternativo
da qualsiasi antenato del nodo corrente.
• Se il nodo corrente supera questo limite, la ricorsione torna al percorso alternativo,
scaricare il sottoalbero corrente.
• Durante il backtracking, il metodo sostituisce il valore f di ogni nodo lungo il
percorso con un valore di riserva: il miglior valore f dei suoi figli.
Pertanto, BPMR:
• utilizza uno spazio lineare, perché tiene in memoria un solo albero.
• richiede molto tempo perché deve riespandere gli stessi nodi più volte.
Se fosse disponibile più memoria, avrebbe più senso applicare un metodo che
utilizza tutta la memoria disponibile in cambio di una minore complessità temporale.
Diversi metodi: uno di questi è A*MS (A* con memoria vincolata semplificata).
A*MS avanza come A*, espandendo la foglia migliore finché la memoria non è
piena. A questo punto, non è possibile aggiungere un nuovo nodo all'albero di
ricerca senza rimuoverne uno vecchio. A*MS rimuove sempre il nodo fogliare
peggiore (quello con il valore f più alto).
Come nella sezione precedente, lo studio di questa nuova sezione si svolge secondo il
seguente schema:
disinformato o Larghezza
cieco Profondità
Metodi di
ricerca
con informazioni
YO*.
o euristiche
5, 6, 8, 9, 10 e 11 nodi terminali
8 9 10 11
5 5
8 9 10
RICERCA EURISTICA
• Introduzione
Passiamo ora al problema della ricerca euristica in una rete AND. La
presenza di nodi AND aggiunge complicazioni concettuali.
Grafi E 🡪 Ipergrafi.
Archi che collegano coppie di nodi 🡪 iperarchi che collegano un nodo
antenato a un insieme di nodi successori.
Connettori 🡪 iperarchi (connettore k indirizzato da a
nodo a un insieme di k nodi successori).
Soluzioni da n0
a {n7 , n }8
• Se n è un elemento di N, K(n,N)=0
• altrimenti,
• se n ha un connettore che conduce da esso a un insieme di nodi successori
{n1 ,...,nk }, nella rete di soluzioni; sia cn il costo di quel connettore, allora
K(n,N)=cn +K(n1 ,N)+.... +K(nk ,N)
NOTA: questa definizione del costo di un grafo soluzione può contare più di una volta i costi
di alcuni dei suoi connettori. Per esempio, assumendo che il costo di ogni k-connettore sia
k, i costi dei grafi soluzione nelle figure sono, rispettivamente, 8 e 7.
AVANTI:
• Attraversare la rete partendo dal nodo iniziale e seguendo il miglior percorso
attuale, accumulando l'insieme dei nodi che si trovano su quel percorso e che
non si sono ancora espansi.
• Scegliere uno di questi nodi non espansi ed espanderlo. Aggiungete i suoi
successori al grafo e calcolate h per ciascuno di essi.
INDIETRO:
• Modificare la stima di h del nodo appena espanso per riflettere le nuove
informazioni fornite dai suoi successori. Propagare questa modifica a ritroso
attraverso la rete.
• Per ogni nodo visitato durante lo spostamento all'indietro nella rete, dobbiamo
decidere quale dei suoi connettori è più promettente e contrassegnarlo come
parte dell'attuale rete di soluzioni parziali migliori. Questa operazione può
Sempre, al nodo radice della struttura (problema principale) apparirà il costo della
rete di soluzioni corrente e un segno di spunta, che indica l'operatore che produce
questa rete di soluzioni.
Una condizione importante, come nel caso dello spazio degli stati, è la condizione di
monotonicità della funzione euristica h in una struttura AND.
se actual è stato etichettato come risolto o il suo costo è stato modificato, allora
propaga questa informazione all'inizio della rete e �🡨������� i predecessori di
actual tali che actual è uno dei suoi successori tramite connettori etichettati}
Laurea in Ingegneria Informatica Sistemi intelligenti Anno accademico 2023-2024
Strategie di rappresentazione per riduzione
Ricerca euristica 65
Grafico YO con euristica non
monotonica.
28996687X
A
X 677 9 7 1 BC 8 8 8 5 5 5 8
X12 3533
D X F 14
E
522X
O 0X H G 3
K
11 X
I
J 0X
1
5 5
8 1 8
Esiste una lunga storia di euristiche per il puzzle a 8, il puzzle a 15, il puzzle a
24, ecc. Le due candidate comunemente utilizzate sono:
8-puzzle 🡪 costo medio delle soluzioni (prob. generato casualmente): circa 22 passi
Fattore di ramificazione medio: (4+3+3+3+3+3+3+2+2+2+2)/9=2.67
Ricerca esaustiva: 2,6722 ≈ 2,4×109 stati Verifica degli stati
ripetuti: 9!/2=181.440 stati
Puzzle da 15 🡪
Fattore di ramificazione medio: (4+4+4+4+4+3+3+3+3+3+3+3+2+2+2+2)/16=3
Controllo di stati ripetuti: 16!/2=10.461.394.944.000 ≈ 1013 stati
Laurea in Ingegneria Sistemi intelligenti Anno accademico 2023-
Funzioni euristiche
L'effetto dell'accuratezza euristica sulle prestazioni 69
Trovare una buona funzione euristica che riduca questi valori.
Dalle definizioni delle due euristiche, h1 e h2 , è facile dimostrare che per qualsiasi
nodo n, h2 (n) ≥ h1 (n), ∀n
h2 domina h1
• Le funzioni h1 , h2 sono stime della lunghezza del percorso rimanente per l'n-
puzzle, ma sono anche lunghezze di percorso esatte per versioni
semplificate.