Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a. 2000-2001.

Slides:



Advertisements
Presentazioni simili
Ricorsione in SQL-99.
Advertisements

© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Procedure e funzioni A. Ferrari.
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
L’Informatica dal Problema alla Soluzione
Specifiche Algebriche Modello Iniziale Versione 1.0 Gianna Reggio
Generazione di Piani attraverso Grafi di Pianificazione
Hash Tables Indirizzamento diretto Tabelle Hash Risoluzioni di collisioni Indirizzamento aperto.
Il computer ragiona? Problemi e algoritmi.
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Gestione dei dati e della conoscenza (agenti intelligenti) M.T. PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 7 Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 5 Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 8
Sistemi basati su conoscenza Ricerca di soluzioni a problemi Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Computational Learning Theory and PAC learning
Algoritmi e Strutture Dati
Corso di Informatica (Programmazione)
CORSO DI PROGRAMMAZIONE II Introduzione alla ricorsione
Introduzione alla programmazione ll
I DSS – Decision Support System
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Qualche esempio di tableaux
Unità Didattica 1 Algoritmi
Unità Didattica 2 I Linguaggi di Programmazione
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi e ricerca.
Programmazione logica
Fondamenti di Informatica Algoritmi
Progettazione di una base di dati
Intelligenza Artificiale - AA 2001/2002 Logica formale (Parte 2) - 1 Intelligenza Artificiale Breve introduzione alla logica classica (Parte 2) Marco Piastra.
Problemi e algoritmi. I problemi È un quesito che attende una risposta detta soluzione Ma come trovare la soluzione? Spesso si ricorre a tentativi fino.
L’ingegneria del software
Algoritmi e Strutture Dati
Un esempio: Calcolo della potenza n-esima di un numero reale
Pensiero, Ragionamento & Intelligenza
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Gestione della conoscenza Prof. M.T. PAZIENZA a.a
Ricerca di soluzioni a problemi Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale Apprendimento automatico Prof. M.T. PAZIENZA a.a
Gli Algoritmi L’algoritmo è un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si.
Intelligenza Artificiale 1 Gestione della conoscenza lezione 19 Prof. M.T. PAZIENZA a.a
Rappresentazione dell’informazione nel calcolatore.
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
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
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Algoritmi.
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale Risoluzione di Problemi
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
Sistemi basati su conoscenza Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 14 Prof. M.T. PAZIENZA a.a
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
Il computer ragiona? Problemi e algoritmi. Paola Pianegonda2 Cos’è un problema?  Problema è qualsiasi situazione della quale non conosciamo la soluzione.
Cloud informatica V anno.
Algoritmi e Strutture Dati Luciano Gualà
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Logica Lezione 11, Annuncio Non si terrà la lezione di Lunedì 16 Marzo.
Transcript della presentazione:

Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a

Pianificazione Cercare un linguaggio: abbastanza espressivo per i problemi che si vogliono risolvere che ammetta un algoritmo ragionevolmente efficiente

Agente pianificatore Guarda al futuro per cercare azioni che contribuiscono al raggiungimento dell’obiettivo. Un agente pianificatore genera un obiettivo da raggiungere, quindi formula dei piani di azione per raggiungerlo dallo stato corrente e poi li esegue. Una volta che ha un piano continua ad eseguirlo finché il piano è finito, poi ricomincia con un nuovo obiettivo. L’uso di esplicite rappresentazioni logiche permette al pianificatore di indirizzare le sue deliberazioni razionalmente.

Agente pianificatore Quando lo stato del mondo è accessibile, un agente può usare le percezioni fornite dall’ambiente esterno per costruire un modello completo e corretto dello stato corrente del mondo. L’agente deve anche occuparsi del caso in cui l’obiettivo sia irrealizzabile, o sia già vero nello stato iniziale (quindi piano completo vuoto). L’agente interagisce con l’ambiente in modo minimo, utilizza le percezioni per definire lo stato iniziale (e l’obiettivo iniziale), quindi segue i passi del piano che ha costruito.

Risoluz. di problemi->pianificazione Differiscono per quanto concerne: Rappresentazione di obiettivi, stati ed azioni Rappresentazione e costruzione di sequenze di azioni

Risolutore di problemi (ricerca) Rappresentazione di azioni (descrizioni di stati successori) Rappresentazione di stati (descrizione completa dello stato iniziale e delle azioni per raggiungere gli stati successori; valutazione della funzione euristica e verifica degli obiettivi) Rappresentazione degli obiettivi (descritti dal test obiettivo e dalla funzione euristica; vengono usati a scatola chiusa per decidere la desiderabilità dell’obiettivo) Rappresentazione di piani (sequenze ininterrotte per andare dallo stato iniziale a quello finale)

Problema della spesa

L’agente fa dei tentativi considerando le azioni possibili (cosa comprare), che sono classificate dalla funzione di valutazione (giusto/sbagliato). Finita una azione non sa cosa cercare successivamente e ricomincia il processo per tentativi. Avrebbe bisogno di strutturare le sue deliberazioni per lavorare allo stesso modo sia nello stato iniziale che in quello corrente, date le informazioni correnti. Un cammino attraverso questo spazio dallo stato iniziale a quello obiettivo costituisce un piano per il problema della spesa

Pianificazione 1. Il pianificatore deve essere in grado di fare connessioni dirette tra stati ed azioni. Gli algoritmi di panificazione utilizzano descrizioni in linguaggi formali (logica del primo ordine), per cui gli stati e gli obiettivi sono rappresentati da insiemi di formule mentre le azioni sono rappresentate da descrizioni logiche di precondizioni ed effetti (le azioni modificano gli stati).

Pianificazione 2. Il pianificatore può aggiungere azioni al piano ove sia necessario e non attraverso una sequenza incrementale che comincia dallo stato iniziale. Non è necessaria alcuna connessione tra l’ordine di pianificazione e l’ordine di esecuzione; si può ridurre così il fattore di ramificazione e la necessità di tornare indietro a causa di decisioni arbitrarie.

Pianificazione 3. Molte parti del mondo sono indipendenti da molte altre parti del mondo. Adozione di obiettivi congiunti ed uso di algoritmi di divide-et-impera (efficienti perché portano a risolvere sottoproblemi di minore difficoltà e nel caso in cui l’effort per la ricomposizione dei risultati parziali non sia elevato).

Pianificazione nel calcolo delle situaz. Un problema di pianificazione è rappresentato da formule logiche che descrivono le tre parti del problema: Stato iniziale (una formula logica arbitraria che descrive una situazione S°) Stato obiettivo (un’interrogazione logica che cerca situazioni opportune) Operatori (un insieme di descrizioni di azioni che trasformano gli stati)

Pianificazione nel calcolo delle situaz. Il calcolo delle situazioni si basa sulla considerazione che le azioni trasformano gli stati. E’ importante gestire sequenze di azioni oltre ad azioni singole. Sequenza di azioni (definizione): una sequenza di azioni vuota non ha alcun effetto su una situazione ed il risultato di una sequenza di azioni non vuota è comparabile all’applicazione della prima azione e quindi all’applicazione delle azioni rimanenti nella situazione che si ottiene.

Pianificazione nel calcolo delle situaz Una soluzione è un piano p che, quando applicato allo stato iniziale S°, produce una situazione che soddisfa l’interrogazione dell’obiettivo. Con il linguaggio formale (logica del primo ordine) si esprimono obiettivi e piani e tramite il procedimento di inferenza si trovano i piani più opportuni. Però il procedimento di inferenza non fornisce alcuna garanzia sul piano risultante p a parte il fatto che raggiunga l’obiettivo.

Pianificazione nel calcolo delle situaz Per rendere fattibile la pianificazione occorre: Restringere il linguaggio con cui si pongono i problemi per ridurre il numero di soluzioni possibili da cercare Usare un sistema di ragionamento specializzato (pianificatore)

Linguaggio per pianificatori (STRIPS) Rappresentazione di stati Gli stati sono rappresentati da congiunzioni di letterali ground privi di funzioni, cioè predicati applicati a simboli costanti eventualmente negati. Una descrizione di stato non deve essere necessariamente completa (es. agente in un ambiente inaccessibile) e corrisponde ad un insieme di stati completi possibili per i quali l’agente vorrebbe ottenere un piano di successo.

Linguaggio per pianificatori (STRIPS) Rappresentazione di obiettivi Gli obiettivi sono rappresentati da congiunzioni di letterali. Gli obiettivi possono contenere anche variabili. Nel pianificatore si verifica l’esistenza di una sequenza di azioni che renda vero l’obiettivo.

Linguaggio per pianificatori (STRIPS) Rappresentazione per azioni Gli operatori STRIPS consistono di: Descrizione dell’azione (ciò che l’agente restituisce all’ambiente quando agisce) Precondizione (congiunzione di atomi –letterali positivi- che dice cosa deve essere vero prima che l’operatore possa essere applicato) Effetto (congiunzione di letterali –positivi o negativi- che descrivono come cambia la situazione quando è applicato l’operatore)

Linguaggio per pianificatori (STRIPS) Notazione grafica per rappresentare azioni Non esiste alcuna variabile di situazione esplicita Ogni cosa nella precondizione si riferisce alla situazione immediatamente prima dell’azione, ogni cosa nell’effetto si riferisce alla situazione che è il risultato dell’azione

Linguaggio per pianificatori (STRIPS) Un operatore con variabili si dice schema di operatori (non corrisponde ad una singola azione eseguibile, ma piuttosto ad una famiglia di azioni, una per ciascuna differente istanziazione delle variabili). Possono essere eseguiti solo operatori istanziati Un operatore op è applicabile in uno stato s se c’è qualche modo per istanziare le variabili di op in modo che ognuna delle precondizioni di op sia vera in s

Pianificatore Potremmo risolvere un problema dato (es. problema della spesa) cominciando dallo stato iniziale e applicando gli operatori uno alla volta finchè si raggiunge uno stato che includa tutti i letterali dell’obiettivo. Un algoritmo risolutore siffatto sarebbe un pianificatore nello spazio delle situazioni in quanto effettua una ricerca nello spazio delle situazioni possibili, e pianificatore di progressione in quanto cerca in avanti dalla situazione iniziale alla situazione obiettivo. Problema legato all’alto fattore di ramificazione

Pianificazione di regressione La pianificazione di regressione ricerca all’indietro riducendo il fattore di ramificazione

Pianificatore I nodi dell’albero di ricerca di un pianificatore in uno spazio di situazioni corrispondono a delle situazioni e il cammino attraverso l’albero di ricerca è il piano che viene restituito alla fine dal pianificatore. Ciascun punto di ramificazione aggiunge un altro passo all’inizio (regressione) o alla fine (progressione) del piano.

Pianificatore In domini complessi non è possibile effettuare una ricerca nel piano delle situazioni. Cercare attraverso lo spazio dei piani piuttosto che attraverso lo spazio delle situazioni. Partendo da un piano iniziale parziale lo si espande fino a trovare un piano completo che risolve il problema. Operatori su piani: aggiungere un passo, imporre un ordinamento tra piani, istanziare una variabile in precedenza non legata. La soluzione è il piano finale; il cammino seguito per raggiungerla è irrilevante.

bb

ccc

Ddd

Eee

Fff

Ggg

Hhh

Iii

Jjj