La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Metodi di Ricerca Teoria e Implementazione. Introduzione ai metodi di Ricerca Problem Solving Metodi Deboli di Risoluzione dei Problemi (Weak Methods)

Presentazioni simili


Presentazione sul tema: "Metodi di Ricerca Teoria e Implementazione. Introduzione ai metodi di Ricerca Problem Solving Metodi Deboli di Risoluzione dei Problemi (Weak Methods)"— Transcript della presentazione:

1 Metodi di Ricerca Teoria e Implementazione

2 Introduzione ai metodi di Ricerca Problem Solving Metodi Deboli di Risoluzione dei Problemi (Weak Methods) Definizione di Problema : ho un obiettivo da raggiungere e non so come fare per conseguirlo. Problemi logici vs. problemi di buon senso.

3 I Problemi Giocattolo Studio di quei fenomeni che non potrebbero essere esaminati nella complessità con cui si manifestano in natura Condizioni sperimentali semplificate e strettamente controllate Uso di Giochi (il gioco dellOtto, gli Scacchi, il Tris, etc.)

4 Lo Spazio degli Stati – Il problema della Rappresentazione E linsieme di tutti gli stati possibili che il sistema può assumere Es: Gioco dellOtto: 9! = configurazioni possibili Lo Spazio Problemico è un sottoinsieme dello Spazio degli Stati, ed è linsieme degli stati con cui ci si deve effettivamente confrontare per risolvere un problema.

5 Applicazione di operatori OPERATORI STATO FINALE STATO INIZIALE

6 Applicazione di operatori Intuitivamente, un operatore è unazione che ci permette di trasformare uno stato del problema in un nuovo stato. Nelle simulazioni che vedremo, la macchina mantiene una rappresentazione astratta dello stato del sistema attraverso un grafo.

7 Cosè un Grafo? Un grafo è una struttura algebrica. E composto da nodi uniti tra loro da archi. Deve rispondere a caratteristiche strutturali ben precise per poter essere definito un grafo

8 Cosè un Grafo? Questo è un grafo

9 Cosè un Grafo? Questo non è un grafo

10 In sostanza Abbiamo visto tre concetti legati tra loro da una relazione di inclusione

11 Metodi di Ricerca Ricerca in avanti = Forward Search = Data Driven Search. Si parte dallo stato iniziale, si applicano gli operatori applicabili generando nuovi stati fino al raggiungimento di uno stato finale, coincidente con un obiettivo.

12 Metodi di Ricerca Ricerca allindietro = Goal Driven Search. Ricerca bidirezionale N.B. La ricerca è un problema non banale. (vedi le applicazioni informatiche)

13 Metodi di Ricerca Il problema della ricerca è un problema esteso. Es. : Ricercare un elemento in un vettore Es.2 : Verificare se due elementi appartenenti a una rete (grafo) sono collegati : aumentando il numero di elementi aumenta esponenzialmente il costo della ricerca. Applicazioni pratiche.

14 Bontà della soluzione in termini di costo Due tipi di costo a) Il costo della ricerca = (Quanto ci metto a trovare un parcheggio?); b) Il costo della soluzione = (Quanto è lontano dalla mia destinazione il parcheggio che ho trovato? Utilizziamo delle particolari funzioni di costo.

15 Ricerca di una soluzione attraverso un percorso: il pathfinding STRATEGIE DI RICERCA BRUTE FORCE (Ricerca cieca) STRATEGIE DI RICERCA EURISTICA

16 Strategie di Ricerca Cieca Ricerca in profondità (Depth First ) Ricerca in ampiezza (Breadth First)

17 Problema: Dato un punto di partenza costituito da una città, esiste un percorso che congiunge questa con unaltra definita come punto darrivo? Lo spazio degli stati è rappresentabile con una struttura dati a grafo, dove i nodi rappresentano le città gli archi le strade principali che le connettono.

18 Lo Spazio degli Stati:

19 Ricerca in Profondità Lalgoritmo depth first search segue una singola ramificazione dellalbero di ricerca dal punto di partenza fino al punto di arrivo o fino a una dead end (vicolo cieco) Nel caso di dead end lalgoritmo torna indietro sui suoi passi e prova unaltra strada.

20 Ricerca in Profondità Rochester Wasau

21 Ricerca in Profondità Rochester Wasau

22 Ricerca in Profondità Rochester Wasau START GOAL

23 Ricerca in Profondità Rochester Wasau START GOAL

24 Ricerca in Profondità Rochester Wasau START GOAL

25 Ricerca Depth First : Algoritmo a) Crea una coda ed inserisci nella coda il primo nodo. b) Loop: b1) Se la coda è vuota, esci altrimenti b2) Rimuovi il primo nodo della coda b3) Se il nodo in questione è il goal, esci, il nodo trovato è la soluzione altrimenti espandi i figli del nodo e aggiungili in cima alla coda.

26 Ricerca in Ampiezza Lalgoritmo Breadth First opera una ricerca nello spazio degli stati costruendo una struttura gerarchica ad albero cosistente di un insieme di nodi e di legami. Lalgoritmo si muove attraverso la struttura ad albero esaminando i valori dei nodi in modo sistematico, così da trovare, prima o poi, il/un nodo obiettivo.

27 Ricerca in Ampiezza Rochester Wasau START GOAL

28 Ricerca in Ampiezza Rochester Wasau START GOAL

29 Ricerca Breadth First : Algoritmo a) Crea una coda ed inserisci nella coda il primo nodo. b) Loop: b1) Se la coda è vuota, esci altrimenti b2) Rimuovi il primo nodo della coda b3) Se il nodo in questione è il goal, esci, il nodo trovato è la soluzione altrimenti espandi i figli del nodo e aggiungili in fondo alla coda.

30 Limiti dei metodi Brute Force(Ricerca Cieca) Depth First : con un po di fortuna può trovare una soluzione subito, ma può anche visitare molte dead end prima di arrivare al goal. Breadth First : trova sicuramente una soluzione, se cè, ma impiega molto tempo a controllare tutti i nodi di ciascun livello.

31 Ricerche Euristiche Ci sono problemi intrattabili attraverso i metodi di ricerca cieca. Ad esempio il gioco degli scacchi è soggetto allesplosione combinatoria della numerosità dello spazio del problema. Conviene sfruttare delle strategie di ottimizzazione per raggiungere il goal.

32 Ricerche Euristiche Le euristiche sono criteri per decidere quale opzione, fra diverse possibili, risulta più promettente per raggiungere un determinato obiettivo. In qualche modo si tratta di una formalizzazione del concetto di intuito, conoscenza derivante dallesperienza.

33 Ricerche Euristiche Le R.E. rappresentano un compromesso fra lesigenza di avere dei criteri facili da applicare e, contemporaneamente, efficaci. Leuristica funziona bene nella maggior parte dei casi.

34 Ricerche Euristiche Rivestono un ruolo essenziale nel processo di risoluzione in quanto permettono di limitare in modo drastico il numero delle possibili alternative. Uso di una funzione euristica che mi da una misura della bontà di una soluzione.

35 Esempi di funzioni euristiche Distanza in linea daria The more, the better Gioco dellotto: f(n) = numero di tessere che devono cambiare posizione Hill Climbing

36 Implementazione: La Ricerca Best First Prende in considerazione tutti i nodi che sono stati esaminati fino a un dato momento ed estende il nodo che sembra più promettente. Ne risulta la scelta del cammino che sembra il migliore in relazione alle valutazioni fornite dalla funzione euristica In sostanza abbiamo una buona soluzione.

37 Implementazione: La Ricerca Best First In sintesi si tratta di una strategia sistematica di controllo Combina la forza della breadth first con quella della best first Tornando al problema del percorso per raggiungere una città…

38 Ricerca in Profondità Grand Forks Rochester

39 Ricerca in Best First GrandForks Rochester

40 Ricerca in Profondità International Falls Rochester

41 Ricerca in Best First International Falls Rochester

42 Conclusioni Al giorno doggi, nei problemi reali, sono necessarie ottimizzazioni dei tradizionali algoritmi di ricerca, anche se per alcune classi di problemi i good old fashioned search methods si rivelano ancora la scelta migliore La ricerca è andata avanti rispetto a best first, vedi ad esempio lalgoritmo A*.


Scaricare ppt "Metodi di Ricerca Teoria e Implementazione. Introduzione ai metodi di Ricerca Problem Solving Metodi Deboli di Risoluzione dei Problemi (Weak Methods)"

Presentazioni simili


Annunci Google