Politecnico di Torino INTELLIGENZA ARTIFICIALE 2012 Esempio: visita in profondità Carlo Prone

Slides:



Advertisements
Presentazioni simili
Andrea Zandatutoraggio strutture dati STRUTTURE DATI e LABORATORIO II ESERCITAZIONE N°14 albero di ricerca binario.
Advertisements

Premessa: si assume di aver risolto (correttamente
Depth-first search Visita in profondità di un grafo Algoritmo Esempio
Politecnico di Torino Tesi di Laurea
Estendere i linguaggi: i tipi di dato astratti
Ricerca euristica Maria Simi a.a. 2006/ /03/2017
Linguaggi di Programmazione (AA 2002/2003)
Intelligenza Artificiale Simbolica
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Depth-first search Visita in profondità di un grafo Algoritmo Esempio
Alberi binari di ricerca
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Teoria e Implementazione
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati.
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Strutture dati per.
Intelligenza Artificiale 1 Gestione della conoscenza lezione 5 Prof. M.T. PAZIENZA a.a
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Macchine non completamente specificate
Esercizi su alberi binari
Alberi binari Definizione della struttura dati: struct tree { };
Visite di grafi Algoritmi e Strutture Dati. Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Un albero è un grafo.
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e strutture dati
Algoritmi e Strutture Dati (Mod. B)
Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi e ricerca.
Intelligenza Artificiale Risoluzione di Problemi
Fondamenti di Informatica
Intelligenza Artificiale
Cielo antico:.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 K 4 è planare? Sì!
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Problemi con soddisfacimento dei vincoli
Grafi Rappresentazione mediante liste di adiacenza:
Applicazioni di intelligenza artificiale LS Manni Tiziano
Corso di Informatica 2 a.a. 2003/04 Lezione 6
Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare l’efficienza dell’algoritmo MiniMax.
Ricerca di soluzioni a problemi Prof. M.T. PAZIENZA a.a
Corso di Algoritmi e Strutture Dati con Laboratorio A.A. 2014/15 Alberi bilanciati (rif. Algoritmi in Java, di R. Sedgewick)
Alberi CORDA – Informatica A. Ferrari Testi da
Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano Reti Logiche A Macchine non completamente specificate.
PROGETTO E REALIZZAZIONE DI UN COMPONENTE SOFTWARE PROGRAMMABILE PER LA PIANIFICAZIONE DI COMMISSIONI DI LAUREA FACOLTA’ DI INGEGNERIA Corso di Laurea.
Ricerca euristica Maria Simi a.a. 2008/2009 Ricerca euristica  La ricerca esaustiva non è praticabile in problemi di complessità esponenziale  Noi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Strutture dati per.
Algoritmi e Strutture Dati Strutture Dati Elementari.
MODULO STRUTTURE DATI FONDAMENTALI: Strutture dinamiche
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Esecuzione di un Programma [P] Una computazione corrisponde al tentativo di dimostrare, tramite la regola di risoluzione, che una formula (goal) segue.
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Risoluzione dei Problemi (parte 2) Agostino Poggi.
Algoritmi elementari su grafi
Intelligenza Artificiale Risoluzione di Problemi
Capitolo 11 Visite di grafi Algoritmi e Strutture Dati.
Intelligenza Artificiale 1 Gestione della conoscenza lezione 4 Prof. M.T. PAZIENZA a.a
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Risoluzione dei Problemi Agostino Poggi Stefano Cagnoni.
Gli agenti per il problem solving Maria Simi a.a 2007/2008.
Ricerca euristica Maria Simi a.a. 2005/2006 Ricerca euristica  La ricerca esaustiva non è praticabile in problemi di complessità esponenziale  Noi.
Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA
Agenti risolutori di problemi Risolvere i problemi mediante ricerca Maria Simi a.a 2013/2014.
Ricerca euristica Maria Simi a.a. 2013/2014 Ricerca euristica  La ricerca esaustiva non è praticabile in problemi di complessità esponenziale  Noi.
ASD a.a.2010/2011- Lezione 12 Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi Backtracking/ Branch and Bound Lezione n°12.
PROBLEM SOLVING INTELLIGENZA ARTIFICIALE A.A. 2014/2015 FRANCESCO RUSSO – ALBERTO SAGLIMBENI
Transcript della presentazione:

Politecnico di Torino INTELLIGENZA ARTIFICIALE 2012 Esempio: visita in profondità Carlo Prone

Problema: da Arad a Bucarest

Problema Trovare un percorso dalla città di Arad alla città di Bucarest sul grafo appena visto Metodo risolutivo Visita in profondità del grafo

Visita in profondità – in breve Si visita il primo nodo di una lista di OPEN Tutti i suoi figli non ancora etichettati vengono segnati OPEN e inseriti IN TESTA ALLA LISTA con ordine arbitrario Il nodo diventa CLOSED Primo passo: il nodo di partenza (radice dell’albero) in OPEN

Visita in profondità – in breve Terminazione: – nodo goal raggiunto (successo) – OPEN vuota (fallimento) Possibile introdurre un limite di profondità: se il nodo attuale ha una distanza maggiore o uguale a un limite fissato e non è soluzione NON proseguo l’esplorazione sui suoi discendenti, ma altrove (BACKTRACKING) – non si hanno garanzie di trovare soluzione, se esiste – non adottato in questo esempio

Visita in profondità – in breve Stesso procedimento di una visita in ampiezza ma utilizzando una STACK (LIFO) piuttosto che una QUEUE (FIFO) per i nodi OPEN Si scende sull’albero piuttosto che esplorare esaustivamente un livello Inserimento dei nodi figli in OPEN con ordine ARBITRARIO – approccio greedy: figli con costo minore

Step 0 OPEN: – Arad Arad 0 Zerind 75 Sibiu 140 Timisoara 118 CLOSED: (empty)

Step 1 OPEN: – Zerind – Timisoara – Sibiu Arad 0 Zerind 75 Sibiu 140 Timisoara 118 CLOSED: – Arad

Step 2 OPEN: – Oradea – Timisoara – Sibiu Zerind 75 Oradea 71 CLOSED: – Arad – Zerind

Step 3 Oradea 146 Sibiu 151

Step 3 OPEN: – Timisoara – Sibiu Oradea 146 Sibiu 151 CLOSED: – Arad – Zerind – Oradea

Step 4 OPEN: – Lugoj – Sibiu Timisoara 118 Lugoj 111 CLOSED: – Arad – Zerind – Oradea – Timisoara

Step 5 OPEN: – Mehadia – Sibiu Lugoj 229 Mehadia 70 CLOSED: – Arad – Zerind – Oradea – Timisoara – Lugoj

Step 6 OPEN: – Dobreta – Sibiu Mehadia 299 Dobreta 75 CLOSED: – Arad– Mehadia – Zerind – Oradea – Timisoara – Lugoj

Step 7 OPEN: – Craiova – Sibiu Dobreta 374 Craiova 120 CLOSED: – Arad– Mehadia – Zerind– Dobreta – Oradea – Timisoara – Lugoj

Step 8 OPEN: – Pitesti – Rimnicu Vilcea – Sibiu Craiova 494 Pitesti 138 Rimnicu Vilcea 146 CLOSED: – Arad– Mehadia – Zerind– Dobreta – Oradea– Craiova – Timisoara – Lugoj

Step 9 OPEN: – Bucharest – Rimnicu Vilcea – Sibiu Pitesti 632 Bucharest 101 Rimnicu Vilcea 97 CLOSED: – Arad– Mehadia – Zerind– Dobreta – Oradea– Craiova – Timisoara – Lugoj – Pitesti

Albero finale Arad 0 Zerind 75 Oradea 71 Timisoara 118 Lugoj 111 Mehadia 70 Dobreta 75 Craiova 120 Pitesti 138 Bucharest 101 Rimnicu Vilcea 146 Sibiu 140

Percorso finale Arad 0 Zerind 75 Oradea 71 Timisoara 118 Lugoj 111 Mehadia 70 Dobreta 75 Craiova 120 Pitesti 138 Bucharest 101 Rimnicu Vilcea 146 Sibiu 140

Soluzione trovata NON ottima Costo percorso finale Arad 0 Timisoara 118 Lugoj 111 Mehadia 70 Dobreta 75 Craiova 120 Pitesti 138 Bucharest 101 TOTALE 733 Costo percorso ottimo Arad 0 Sibiu 140 Rimnicu Vilcea 80 Pitesti 97 Bucharest 101 TOTALE 418

Considerazioni finali

Euristiche È possibile introdurre delle valutazioni di tipo euristico con l’intento di migliorare le prestazioni dell’algoritmo Valutazione euristica dei nodi: – espandere il figlio "più promettente" anziché uno a caso – abbandonare un nodo senza esplorare tutta la sua discendenza e ripartire da un predecessore su un altro figlio (leap-frogging)

Euristiche Possibili criteri euristici per valutare se un nodo è subversive (ovvero non porterà mai a una soluzione e non ha senso esplorarne la discendenza) – distanza finora compiuta maggiore del risultato che mi aspetto – direzione errata (so che devo andare verso sud, il nodo è a nord, necessita di informazioni aggiuntive)