Sistemi a Regole Ettore Colombo 13 Dicembre 2006 Ingegneria della Conoscenza e Sistemi Esperti.

Slides:



Advertisements
Presentazioni simili
Analizzatori Lessicali con JLex
Advertisements

Intelligenza Artificiale
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
La Rappresentazione della Conoscenza
DOCUMENTAZIONE DI SCHEMI E/R
4 – Progettazione – Introduzione e Modello E-R
RB-alberi (Red-Black trees)
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Reaching Definitions. Tino CortesiTecniche di Analisi di Programmi 2 Reaching definitions Dato un punto del programma, quali sono i comandi di assegnamento.
Semantiche dei linguaggi di programmazione
Esercitazioni su circuiti combinatori
Gestione dei dati e della conoscenza (agenti intelligenti) M.T. PAZIENZA a.a
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
1 Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3Y=10 Ma il dominio qui sotto e consistente sui limiti: Confrontare.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Algoritmi e strutture Dati - Lezione 7
Interrogazioni su un albero binario di ricerca Search(S,k) – dato un insieme S ed un valore chiave k restituisce un puntatore x ad un elemento in S tale.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
Corso di Informatica (Basi di Dati)
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Corso di Laurea in Biotecnologie Informatica (Programmazione)
eliana minicozzi linguaggi1a.a lezione2
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
I Thread.
Procedure e funzioni nei linguaggi di alto livello Lab Programmazione - turno /2006.
Cercare informazioni sul Web. 5-2 Organizzazione dellinformazione tramite gerarchie Classificazione gerarchica Linformazione è raggruppata in un piccolo.
Unità Didattica 1 Algoritmi
Laboratorio di Calcolo I 1) Introduzione Università Roma Tre Corso di Studi in Fisica AA 2002/03.
MINISTERO DELL'ISTRUZIONE, DELL'UNIVERSITÀ E DELLA RICERCA MIUR-PRIN Progetto di ricerca Conoscenze scientifiche, sperimentali e tacite.
Intelligenza Artificiale
Fondamenti di Informatica Algoritmi
Espressioni condizionali
Intelligenza Artificiale
AOT Lab Dipartimento di Ingegneria dellInformazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
Intelligenza Artificiale
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Elementi di Informatica
Rappresentazione della Conoscenza
Introduzione all’ICSE
Case Based Reasoning
JESS: Esercizi Ettore Colombo Dicembre 2006 Ingegneria della Conoscenza e Sistemi Esperti.
INGEGNERIA DELLA CONOSCENZA E SISTEMI ESPERTI Prof
Linguaggi e Modelli Computazionali LS - Prof E.Denti
Elementi di Informatica di base
INFORMATICA MATTEO CRISTANI.
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Unità Didattica 3 Linguaggio C
Pippo.
Sistemi basati su conoscenza Gestione della conoscenza Prof. M.T. PAZIENZA a.a
Il linguaggio Fortran 90: 3. Procedure e Funzioni
DAL WEB AL SEMANTIC WEB Aspetti teorici e tecnologici Carmagnola Francesca Dipartimento Informatica C.so Svizzera 185, Torino
Programmazione ad oggetti
Programmazione ad oggetti
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Paola Disisto, Erika Griffini, Yris Noriega.  Insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce.
1 Interpretazione astratta: un approccio sistematico all’analisi statica.
Sistemi a regole [di produzione]
Introduzione a JESS Ettore Colombo 13 Dicembre 2006 Ingegneria della Conoscenza e Sistemi Esperti.
Java & JESS Ettore Colombo 10 Gennaio 2007 Ingegneria della Conoscenza e Sistemi Esperti.
Ingegneria della Conoscenza e Sistemi Esperti: Introduzione Sara Manzoni 08/10/2003.
1 Macchine astratte, linguaggi, interpretazione, compilazione.
Esercizi.
Informatica e Informatica di Base
Progetti 2015/2016. Proj1: Traduzione di regole snort in regole iptables Snort: – analizza i pacchetti che transitano in rete, confrontandoli con un database.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Transcript della presentazione:

Sistemi a Regole Ettore Colombo 13 Dicembre 2006 Ingegneria della Conoscenza e Sistemi Esperti

Esercitazioni a.a. 2006/2007 Mercoledì 13 dicembre 2006 dalle alle in aula U2-02 KBS e Sistemi a Regole JESS Esercizi da fare in lab Giovedì 14 dicembre 2006 dalle alle in U7-Lab 721 Esercitazioni Mercoledì 10 gennaio 2007 dalle alle in alula U2-02 Esempio Mezzi di Trasporto Collegamento JESS-Java e uso delle user-defined function Esercizi da fare in lab Giovedì 11 gennaio 2007 dalle alle in U7-Lab 721 Esercitazioni Mercoledì 17 gennaio 2007 dalle alle in U7-Lab 721 Esercitazioni Giovedì 18 gennaio 2007 dalle alle in U7-Lab 721 Esercitazioni

KBS e Sistemi a Regole Knowledge-based System (KBS): Sistemi Rule-based (a regole) Sistemi Model-based Sistemi CBR-based Sistemi ibridi Sistemi a Regole: applicazione ciclica di regole che operano su una memoria di lavoro contenente i fatti al fine di derivare fatti nuovi da fatti noti Un sistema a regole contiene un insieme di regole che specificano delle condizioni di attivazione e degli effetti In particolare, ciascuna regola ha la forma => talvolta anche descritte come => Esempi di regole: madre(x) = madre(y)madre(x) = madre(y) padre(x) = padre(y)padre(x) = padre(y) Maschio(x) Femmina(x) => => Fratello(x, y)Sorella(x, y)

Architettura generale Inference Engine Agenda Working Memory [facts] Knowledge Base [rules and initial facts] User Interface

Inference Engine Architettura generale Agenda Working Memory [facts] Knowledge Base [rules and initial facts] User Interface I Fatti sono asserzioni su proprietà, relazioni, proposizioni etc. nella forma di stringhe Servono a descrivere gli stati della computazione, compreso lo stato iniziale Sono statici e inattivi rispetto al valore pragmatico e allutilizzazione dinamica della conoscenza che contengono Memoria di lavoro Femmina(Amelia) Femmina(Alba) (madre(Amelia) = Paola) (madre(Alba) = Paola) (padre(Amelia) = Mario) (padre(Alba) = Mario) Memoria di lavoro Femmina(Amelia) Femmina(Alba) (madre(Amelia) = Paola) (madre(Alba) = Paola) (padre(Amelia) = Mario) (padre(Alba) = Mario) La Working Memory (Memoria di Lavoro) è un dispositivo utilizzato per trattenere asserzioni temporanee (informazioni sullo stato del problema da risolvere)

Knowledge Base [rules and initial facts] Architettura generale Le Regole corrispondono a dati strutturati in forma IF-THEN impiegati dal motore inferenziale per inferire una soluzione al problema proposto. Si possono vedere come le unità base dellinferenza che porta dalla descrizione dello stato iniziale alla soluzione del problema. Sono costrutti condizionali composti da due parti: LHS e RHS Inference Engine Agenda Working Memory [facts] User Interface Regola madre(x) = madre(y) padre(x) = padre(y) Femmina(x) => Sorella(x, y)

Architettura generale L Agenda è un dispositivo utilizzato per trattenere lelenco delle regole attivate dai fatti presenti attualmente nella memoria di lavoro. Il suo contenuto varia dinamicamente durante lesecuzione (Firing) delle regole stesse. Una regole si dice Attivata se la condizione da essa espressa è verificata. Una regola si dire Fired se le operazioni in essa indicate sono state eseguite Un sistema termina la computazione quando non si hanno più regole attive in agenda Inference Engine Agenda Working Memory [facts] Knowledge Base [rules and initial facts] User Interface Memoria di lavoro Femmina(Amelia) Femmina(Alba) (madre(Amelia) = Paola) (madre(Alba) = Paola) (padre(Amelia) = Mario) (padre(Alba) = Mario) Memoria di lavoro Femmina(Amelia) Femmina(Alba) (madre(Amelia) = Paola) (madre(Alba) = Paola) (padre(Amelia) = Mario) (padre(Alba) = Mario) Regola madre(x) = madre(y) padre(x) = padre(y) Femmina(x) => Sorella(x, y)

Interprete delle regole Pattern MatchingRisoluzione dei conflittiEsecuzione Stop Pattern Matching [costruzione dellAgenda]: 1) linterprete considera ciascuna regola rispetto alla situazione corrente 2) compara i valori che compaiono nella LHS con gli elementi di memoria corrispondenti per identificare quelle per le quali sono soddisfatte le LHS Algoritmo RETE: complessità nella costruzione del conflict set da esponenziale a polinomiale "Rete: A Fast Algorithm for the Many Pattern/ Many Object Pattern Match Problem", Charles L. Forgy, Artificial Intelligence 19 (1982), Risoluzione dei conflitti: se vengono individuate più corrispondenze, linterprete le immette nel CONFLICT SET e le tiene in considerazione come possibili candidati per lesecuzione. Il processo di RISOLUZIONE DEI CONFLITTI seleziona lESEMPLARE DOMINANTE di regola basandosi su una STRATEGIA DI RISOLUZIONE DEI CONFLITTI, ad esempio dando precedenza a: - Regole più specifiche (con più pattern nella LHS) o più generiche (meno fatti nella LHS) - Regole attivate da fatti asseriti più di recente Esecuzione [Firing delle regole]: esegue le azioni descritte dal membro di destra dellESEMPLARE DOMINANTE selezionato dal CONFRONTO (o eventualmente dal RISOLUTORE DEI CONFLITTI)

Esecuzione delle regole Memoria di lavoro Femmina(Amelia) Femmina(Alba) (madre(Amelia) = Paola) (madre(Alba) = Paola) (padre(Amelia) = Mario) (padre(Alba) = Mario) Memoria di lavoro Femmina(Amelia) Femmina(Alba) (madre(Amelia) = Paola) (madre(Alba) = Paola) (padre(Amelia) = Mario) (padre(Alba) = Mario) Memoria di lavoro Femmina(Amelia) Femmina(Alba) (madre(Amelia) = Paola) (madre(Alba) = Paola) (padre(Amelia) = Mario) (padre(Alba) = Mario) Sorella(Alba, Amelia) Memoria di lavoro Femmina(Amelia) Femmina(Alba) (madre(Amelia) = Paola) (madre(Alba) = Paola) (padre(Amelia) = Mario) (padre(Alba) = Mario) Sorella(Alba, Amelia) Regola madre(x) = madre(y) padre(x) = padre(y) Femmina(x) => Sorella(x, y)

if x is a dog then x is an animal if stain is grapos then organism is strep if temp > 300° then stop boiler Regole IF-THEN: alcuni esempi SituazioneAzione PremessaConclusione AntecedenteConseguente LHSRHS Ogni Left-Hand Side (LHS) contiene Elementi condizione: condizioni che devono essere verificate affinchè la regola sia appilcata Ogni LHS è una Clausola logica e condizione sufficiente per eseguire lazione indicata nella RHS Queste condizioni vengono assegnate descrivendo delle configurazioni (di solito di parti) della memoria globale: vengono specificati gli identificatori degli elementi di memoria insieme agli attributi ad essi associati e ai valori richiesti nella condizione Ogni Right-Hand Side (RHS) contiene la descrizione di Azioni: azioni che bisogna condurre a effetto quando la regola viene eseguita Le azioni possibili includono attività come: - inserire nuove descrizioni di stato nella memoria globale - modificare descrizioni di stato già esistenti - eseguire azioni definite dallutente per una produzione particolare