slides intelligenza artificiale, vincenzo cutello 1 risoluzione di problemi e ricerca

39
Slides Intelligenza Artif Slides Intelligenza Artif iciale, Vincenzo Cutello iciale, Vincenzo Cutello 1 Risoluzione di Risoluzione di problemi e ricerca problemi e ricerca

Upload: enzio-porcu

Post on 02-May-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

11

Risoluzione di problemi e Risoluzione di problemi e ricercaricerca

Page 2: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

22

OutlineOutline

Agenti risolutori di problemiAgenti risolutori di problemi Tipi di problemaTipi di problema Formulazione del problemaFormulazione del problema Esempi di problemiEsempi di problemi Algoritmi di base per la ricerca Algoritmi di base per la ricerca

Page 3: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

33

Agenti risolutori di problemiAgenti risolutori di problemiForma ristretta di un agente generale

function SIMPLE-PROBLEM-SOLVING-AGENT(p)

returns un azione

Inputs: p, una percezione

Static: s, una sequenza di azioni, inizialmente vuota

state, una qualche descrizione dello stato corrente del mondo

g, un obiettivo, inizialmente nullo

problem, una formulazione del problema

state UPDATE-STATE(state,p)

if s è vuota then

g FORMULATE-GOAL(state)

problem FORMULATE-PROBLEM(state,g)

s SEARCH(problem)

action RECOMMENDATION(s,state)

s REMAINDER(s,state)

Return action

Nota: questa è una risoluzione di problema offlineLa risoluzione di problemi online implica azioni senza una completa conoscenza del problema e della soluzione

Page 4: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

44

Esempio: CanadaEsempio: Canada

Montreal

Edmonton

Dawson

Quèbec

Vancouver

Whitehorse

Calgary

Regina

St. John’s

Churchill

Winnipeg

Toronto

HalifaxOttawa

Page 5: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

55

Esempio: CanadaEsempio: Canada

Vacanza in Canada; attualmente a Whitehorse. Il volo parte domani da Ottawa Formulazione dell’obiettivo:

essere ad Ottawa Formulazione del problema:

stati: la varie cittàoperatori: guidare da una città all’altra

Trovare la soluzione: sequenza di città, cioè, Whitehorse, Edmonton, Winnipeg, Ottawa

Page 6: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

66

Tipi di problemaTipi di problema

Deterministico, accessibile problema a stato singolo

Deterministico, inaccessibile problema a stato multiplo

Nondeterministico, inaccessibile problema di contingenza– è necessario l’uso di sensori durante l’esecuzione– la soluzione è un albero – spesso ricerca interleave, esecuzione

Spazio degli stati sconosciuto problema di esplorazione

(“online”)

Page 7: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

77

Esempio: il mondo dell’aspirapolvereEsempio: il mondo dell’aspirapolvere

Stato singoloStato singolo, inizia al #5, inizia al #5Soluzione ??Soluzione ??Stato multiploStato multiplo, inizia al, inizia al{1,2,3,4,5,6,7,8}{1,2,3,4,5,6,7,8}Cioè, Destra va al {2,4,6,8}Cioè, Destra va al {2,4,6,8}Soluzione ??Soluzione ??ContingenzaContingenza, inizia al #5, inizia al #5Legge di Murphy: si può sporcare Legge di Murphy: si può sporcare

un tappeto pulitoun tappeto pulitoSensori locali: presenza e Sensori locali: presenza e

posizione della polvere.posizione della polvere.SoluzioneSoluzione ????

11 22

33 44

55 66

77 88

Page 8: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

88

Formulazione del problema a stato singoloFormulazione del problema a stato singoloUn problema è definito da quattro elementi: Stato iniziale cioè, “a Whitehorse” Operatori (o funzione successore S(x))

cioè, Whitehorse Dawson Whitehorse Vancouver etc.

Verifica dell’obiettivo, può essereesplicito, cioè, x = “a Ottawa”implicito, cioè, Non_Sporco(x)

Costo del cammino (additivo)cioè, somma delle distanze, numero di operatori eseguiti, etc.

Una soluzione è una sequenza di operatori che conduce dallo stato iniziale allo stato obiettivo

Page 9: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

99

Selezionando uno spazio degli statiSelezionando uno spazio degli stati

Il mondo reale è assurdamente complesso quindi lo spazio degli stati deve essere astratto per la risoluzione del problema

(Astratto) stato = insieme di stati reali (Astratto) operatore = combinazione complessa di stati reali cioè,

“Whitehorse Dawson” rappresenta un insieme complesso di rotte, fermate, etc.

Per garantire la realizzabilità, a un qualsiasi stato reale “a Whitehorse” deve corrispondere un qualche stato reale “a Dawson”

(Astratto) soluzione = l’insieme dei percorsi reali che sono soluzione nel mondo reale

Ogni azione astratta dovrebbe essere più facile rispetto al problema originale

Page 10: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

1010

Esempio: Il puzzle a 8Esempio: Il puzzle a 8

StatiStati ??: Posizioni intere delle tessere (ignoriamo le posizioni intermedie) ??: Posizioni intere delle tessere (ignoriamo le posizioni intermedie) OperatoriOperatori ??: Muovi il bianco a sinistra, destra, sopra, sotto ??: Muovi il bianco a sinistra, destra, sopra, sotto Verifica dell’obiettivoVerifica dell’obiettivo ??: = stato obiettivo (dato) ??: = stato obiettivo (dato) Costo del camminoCosto del cammino ??: 1 per mossa ??: 1 per mossa

Nota: La soluzione ottima per la famiglia dei puzzle a n è NP-hardNota: La soluzione ottima per la famiglia dei puzzle a n è NP-hard

11 22 33

8 8 44

77 66 55

55 44

66 11 88

77 33 22

Stato iniziale Stato finale

Page 11: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

1111

Grafo dello spazio degli stati per il mondo Grafo dello spazio degli stati per il mondo dell’aspirapolveredell’aspirapolvere

StatiStati ??: Locazione dello sporco e del robot (ignoriamo la ??: Locazione dello sporco e del robot (ignoriamo la quantità quantità di sporco)di sporco) OperatoriOperatori ??: ??: Sinistra, Destra, AspiraSinistra, Destra, Aspira Verifica dell’obiettivoVerifica dell’obiettivo ??: assenza di sporco ??: assenza di sporco Costo del camminoCosto del cammino ??: 1 per operatore ??: 1 per operatore

S D

SS

S

A A

D DD

AA

SA

S D

A

D

S

SA

R

D

A

Page 12: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

1212

Esempi:Esempi:

Il problema delle 8 regine;Il problema delle 8 regine;

Per ognuno:Per ognuno:

Stati – Operatori – Obiettivo - Stati – Operatori – Obiettivo - CostoCosto

Criptoaritmetica Criptoaritmetica undici + dieci = ventunoundici + dieci = ventuno;;

Missionari e cannibali (capre e cavoli);Missionari e cannibali (capre e cavoli);

Page 13: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

1313

Esempio:Esempio:

Il problema delle 8 regine;Il problema delle 8 regine;

Stati ??Stati ??

Operatori ??Operatori ??

Obiettivo ??Obiettivo ??

Costo ??Costo ??

Page 14: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

1414

Esempi:Esempi:

Per ognuno:Per ognuno:

Stati – Operatori – Obiettivo - CostoStati – Operatori – Obiettivo - Costo

Criptoaritmetica Criptoaritmetica undici + dieci = ventunoundici + dieci = ventuno;;

Missionari e cannibali (capre e cavoli);Missionari e cannibali (capre e cavoli);

Page 15: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

1515

Esempio:Esempio:

SOKOBAN;SOKOBAN;

Stati ??Stati ??

Operatori ??Operatori ??

Obiettivo ??Obiettivo ??

Costo ??Costo ??

Page 16: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

1616

Algoritmi di ricercaAlgoritmi di ricercaIdea di base:

offline, esplorazione simulata dello spazio degli stati tramite la generazione di successori di stati già esplorati

function GENERAL-SEARCH(problem,strategy)

returns una soluzione, o un fallimento

inizializza l’albero di ricerca usando lo stato iniziale del problema

loop do

if non ci sono candidati per l’espansione

then return fallimento

scegli una foglia per l’espansione in accordo alla strategia

if il nodo contiene uno stato obiettivo

then return la soluzione corrispondente

else espandi il nodo, aggiungendo i nodi risultanti all’albero di ricerca

end

Page 17: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

1717

Esempio di ricerca generaleEsempio di ricerca generaleWhitehorse

Dawson Vancouver Edmonton

Whitehorse Winnipeg Calgary Churchill

Regina Churchill Ottawa Toronto

Page 18: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

1818

Implementazione di algoritmi di Implementazione di algoritmi di ricercaricerca

function GENERAL-SEARCH(p:problem, QUEUING-FN)

returns una soluzione o fallimento

nodi MAKE-QUEUE(MAKE-NODE(INITIAL-STATE[p]))

loop do

if nodi è vuoto

then return fallimento

nodo REMOVE-FRONT(nodi)

if GOAL-TEST[p] applicato a STATE(nodo) si verifica

then return nodo

nodi QUEUING-FN(nodi, EXPAND(nodo,OPERATORS[p]))

end

Page 19: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

1919

Implementazione: stati vs. nodiImplementazione: stati vs. nodi Uno stato è una (rappresentazione di) una configurazione fisica Un nodo è una struttura dati che costituisce una parte dell’albero di

ricerca Include genitore, figli, profondità o costo del cammino g(x) Gli stati non hanno genitori, figli, profondità, o costo del cammino !

La funzione EXPAND crea nuovi nodi, riempendo i vari campi e usando OPERATORS (o SuccessorsFn) del problema per creare gli stati corrispondenti.

55 44

66 11 88

77 33 22figli

genitori

stato

profondità = 6g = 6

Page 20: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

2020

Strategie di ricercaStrategie di ricerca

Una strategia è definita stabilendo l’ordine di espansione dei nodi. Le strategie sono valutate mediante i seguenti criteri:

completezza – la soluzione viene sempre trovata se questa esiste ?

complessità temporale – numero di nodi generati/espansi

complessità spaziale – massimo numero di nodi in memoria

ottimalità – viene sempre trovata la soluzione meno costosa ? La complessità spaziale e temporale sono misurate in termini di

b – massimo fattore di ramificazione dell’albero di ricerca

d – profondità della soluzione meno costosa

m – massima profondità dello spazio degli stati (potrebbe essere infinito)

Page 21: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

2121

Strategie di ricerca non informataStrategie di ricerca non informata

Le strategie non informate usano soltanto l’informazione disponibile nella definizione del problema

Ricerca breadth-first Ricerca a costo uniforme Ricerca depth-first Ricerca depth-first limitata Ricerca iterativa

Page 22: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

2222

Ricerca breadth-firstRicerca breadth-first

Espandi il nodo meno profondo non espansoEspandi il nodo meno profondo non espanso

Implementazione:Implementazione:

QUEUEINGFN = metti i nodi successori alla QUEUEINGFN = metti i nodi successori alla fine della codafine della coda

Page 23: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

2323

Ricerca breadth-firstRicerca breadth-first

Edmonton

Whitehorse

VancouverDawson

WhitehorseChurchillWhitehorse Calgary CalgaryWhitehorse Churchill Winnipeg

Page 24: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

2424

Proprietà della ricerca breadth-firstProprietà della ricerca breadth-firstCompletaCompleta ?? ?? Si (se b è finita)Si (se b è finita)Tempo Tempo ?? ?? 1+b+b1+b+b22+b+b33+…+b+…+bd d =O(b=O(bdd),), cioè, esponenziale in cioè, esponenziale in ddSpazioSpazio ?? ?? O(bO(bdd) (mantiene ogni nodo in memoria)) (mantiene ogni nodo in memoria)OttimalitàOttimalità ?? ?? Si (se il costo = 1 ad ogni passo); non ottimale in Si (se il costo = 1 ad ogni passo); non ottimale in

generalegeneraleLo spazio è il grande problema; si possono facilmente Lo spazio è il grande problema; si possono facilmente

generare nodi a 1MB/sec così 24hrs = 86GB generare nodi a 1MB/sec così 24hrs = 86GB

Page 25: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

2525

Canada con costi in KmCanada con costi in Km

Montreal

Edmonton

Dawson

Quèbec

Vancouver

Whitehorse

Calgary

Regina

St. John’s

Churchill

Winnipeg

Toronto

HalifaxOttawa

450

1650

2650

750

450

1600

1350

1250

850

500

1100

1800

1600400

950

1500

250

175

Page 26: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

2626

Ricerca a costo uniformeRicerca a costo uniforme

Espandi il nodo meno costoso non ancora Espandi il nodo meno costoso non ancora

espansoespanso

Implementazione:Implementazione:

QUEUEINGFN = inserisce i nodi in ordine QUEUEINGFN = inserisce i nodi in ordine crescente rispetto al costo del camminocrescente rispetto al costo del cammino

Page 27: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

2727

Ricerca a costo uniformeRicerca a costo uniformeWhitehorse

EdmontonDawson

WhitehorseChurchillWinnipegCalgaryChurchillWhitehorse

Vancouver

450 16501600

450 2650 1600 450 1350 1250

Page 28: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

2828

Proprietà della ricerca a costo uniformeProprietà della ricerca a costo uniforme

CompletaCompleta ?? ?? Si, se il costo di ogni passo è Si, se il costo di ogni passo è ≥ ≥ εε

Tempo Tempo ?? ?? # di nodi con g ≤ costo della soluzione ottima# di nodi con g ≤ costo della soluzione ottima

SpazioSpazio ?? ?? # di nodi con g ≤ costo della soluzione ottima# di nodi con g ≤ costo della soluzione ottima

OttimalitàOttimalità ?? ?? SiSi

Page 29: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

2929

Ricerca depth-firstRicerca depth-first

Espandi il nodo più profondo non ancora Espandi il nodo più profondo non ancora

espansoespanso

Implementazione:Implementazione:

QUEUEINGFN = inserisce i nodi all’inizio QUEUEINGFN = inserisce i nodi all’inizio della codadella coda

Page 30: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

3030

Ricerca depth-firstRicerca depth-firstWhitehorse

Dawson Edmonton Vancouver

Whitehorse Churchill

Dawson VancouverEdmonton

Page 31: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

3131

La ricerca depth-first può eseguire percorsi La ricerca depth-first può eseguire percorsi con infiniti ciclicon infiniti cicli

Necessitiamo di uno spazio di ricerca finito e Necessitiamo di uno spazio di ricerca finito e non ciclico (o un controllo sulla ripetizione non ciclico (o un controllo sulla ripetizione degli stati)degli stati)

Ricerca Depth-first: ProblemiRicerca Depth-first: Problemi

Page 32: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

3232

Proprietà della ricerca depth-firstProprietà della ricerca depth-firstCompletezzaCompletezza ?? ?? No: fallisce in spazi con profondità infinita, spazi con cicli No: fallisce in spazi con profondità infinita, spazi con cicli Evitando la ripetizione degli stati attraverso il cammino Evitando la ripetizione degli stati attraverso il cammino

completezza in spazi finiticompletezza in spazi finitiTempoTempo ?? ?? O(bO(bmm):): terribile se terribile se mm è molto più grande di è molto più grande di d d ma se le ma se le

soluzioni sono dense, potrebbe essere più veloce della soluzioni sono dense, potrebbe essere più veloce della breadth-firstbreadth-first

SpazioSpazio ?? ?? O(bm),O(bm), cioè, spazio lineare ! cioè, spazio lineare !OttimalitàOttimalità ?? ?? NoNo

Page 33: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

3333

Ricerca a profondità limitataRicerca a profondità limitata

= ricerca depth-first con limite di profondità= ricerca depth-first con limite di profondità l

Implementazione:Implementazione:

I nodi a profondità I nodi a profondità h non hanno successorinon hanno successori

Page 34: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

3434

Ricerca iterativaRicerca iterativa

functionfunction ITERATIVE-DEEPENING-SEARCH( ITERATIVE-DEEPENING-SEARCH(problemaproblema))returnsreturns una soluzione una soluzione

input: input: problemaproblema, un problema, un problemaforfor hh 0 0 toto ∞ ∞ dodo

risultatorisultato DEPTH-LIMITED-SEARCH( DEPTH-LIMITED-SEARCH(problemproblem, , hh)) ifif P( P(risultato) risultato)

then returnthen return risultatorisultatoendend

Page 35: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

3535

Ricerca iterativa Ricerca iterativa hh=0=0Whitehorse

Page 36: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

3636

Ricerca iterativa Ricerca iterativa hh=1=1Whitehorse

EdmontonDawson Vancouver

Page 37: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

3737

Ricerca iterativa Ricerca iterativa hh=2=2Whitehorse

EdmontonDawson Vancouver

Whitehorse Churchill Whitehorse Calgary Churchill Winnipeg Whitehorse Calgary

Page 38: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

3838

Proprietà della ricerca iterativaProprietà della ricerca iterativaCompletezzaCompletezza ?? ?? SiSiTempoTempo ?? ?? (d+1)b(d+1)b00+db+db11+(d-1)b+(d-1)b22+…+b+…+bdd=O(b=O(bdd))SpazioSpazio ?? ?? O(bd)O(bd)OttimalitàOttimalità ?? ?? Si, se il costo di un passo = 1Si, se il costo di un passo = 1 Può essere modificata per esplorare alberi a costo Può essere modificata per esplorare alberi a costo

uniformeuniforme

Page 39: Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

Slides Intelligenza Artificiale, VincenSlides Intelligenza Artificiale, Vincenzo Cutellozo Cutello

3939

RiassuntoRiassunto Solitamente la formulazione del problema Solitamente la formulazione del problema

richiede astrazione dai dettagli del mondo richiede astrazione dai dettagli del mondo reale per definire uno stato degli spazi che reale per definire uno stato degli spazi che può essere facilmente esploratopuò essere facilmente esplorato

Varietà di strategie di ricerca non informataVarietà di strategie di ricerca non informata La ricerca iterativa usa spazio lineare e La ricerca iterativa usa spazio lineare e

non molto più tempo degli altri algoritmi di non molto più tempo degli altri algoritmi di ricerca non informataricerca non informata