Sistema Esperto per il Consiglio di vini data una portata

Documenti analoghi
Esercitazione CLIPS. Realizzazione di un Sistema a Regole per la Risoluzione del Problema dell'agricoltore

Obiettivo. Costruzione di un sistema esperto per la diagnosi di malattie

Esercitazione CLIPS (I)

Università degli Studi di Bari Dipartimento di Informatica. Laboratorio di ICSE. CLIPS - Parte 3 - Claudia d'amato claudia.damato@di.uniba.

Corso di Laurea in INFORMATICA

Regione Toscana Giunta Regionale DIREZIONE GENERALE ORGANIZZAZIONE E RISORSE. Area di Coordinamento Risorse Finanziarie.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Manuale utente Soggetto Promotore Erogatore Politiche Attive

Per poter interagire con un database in rete mediante uno script php bisogna. innanzitutto cerare una connessione. Ciò si ottiene mediante la funzione

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Si considerino le seguenti specifiche per la realizzazione di un sito web per la gestione di abbonamenti a riviste di vario genere..

Manuale cliente finale portale accertamenti delibera 40

Soluzione dei sistemi lineari con metodo grafico classe 2H

CONTROLLO PRESTITI E INVIO SOLLECITI TRAMITE SOL

Italian Fine Wines by Dino Torti

INDAGINE sul COMPORTAMENTO del CONSUMATORE di VINI ROSATI

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

Premio tesi di laurea

Note_Batch_Application 04/02/2011

MANUALE UTENTE PROCEDURA PLANET WEB INTERPRISE (II edizione)

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.

AUTOMAZIONE RILEVAZIONE DELLE PRESENZE ALLA REFEZIONE SCOLASTICA PRESSO LE SCUOLE STATALI

Comune di Zero Branco Provincia di Treviso

Il termine, di origine anglosassone (letteralmente ufficio fronte), indica l insieme di quei reparti, o unità operative, che svolgono un attività di

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

1. ACCESSO AL REGISTRO DI CLASSE

Disconnessione Utente

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste

ELENCHI DEL PERSONALE

1 IL LINGUAGGIO MATEMATICO

Parte 6 Esercitazione sull accesso ai file

STEP 1. Selezionare il tipo di casella PEC che si desidera attivare

C.C.I.A.A. DI TERNI - COMMISSIONE PROVINCIALE PER L'ARTIGIANATO DI TERNI. indirizzo

RISTORANTI E PIZZERIE 2015

Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1

Modellazione Poligonale Avanzata

Il Teorema di Kakutani

Specifiche tecniche e di formato Presentazione comunicazione unica per la nascita d impresa

SCUOLA PRIMARIA DI MAGGIATE Classe terza

ANAGRAFE NAZIONALE CREDITI FORMATIVI. Manuale utente

UNIWEB- GUIDA STUDENTE INSERIMENTO PIANO DEGLI STUDI ON LINE

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

La Certificazione dei moduli per l accesso al Conto Energia

SISTEMI LINEARI MATRICI E SISTEMI 1

RICHIESTA DI RISCATTO DELLA POSIZIONE INDIVIDUALE Mod. RISCFP

Allegato 2 tracciato record privata

Sistemi di equazioni lineari

ELEMENTI DI EUCLIDE, LIBRO VI: Le figure simili e le proporzioni in geometria

Esercitazione 4. Comandi iterativi for, while, do-while

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.

INTERVENTI DI TIPO c) (Allegato A.5 dell Ordinanza Commissariale n. 12 del 14 aprile 2014 come modificato dall ordinanza n.

PLIDA Progetto Lingua Italiana Dante Alighieri Certificazione di competenza in lingua italiana

La buona cucina romana e non

Algebra di Boole Algebra di Boole

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

1. di essere disoccupati o inoccupati iscritti negli elenchi della L.68/99 dei Centri per l Impiego della Provincia di Pistoia residenti nel comune di

Progetto VACANZE CON GUSTO INCONTRO 29 APRILE

FSM: Macchine a Stati Finiti

TPL - Indagini di frequentazione: sistema di rilevamento. FAQ Frequently Asked Questions

Il buffet in hotel è sempre bello, ma il vostro era un sogno!

MODIFICA RELE' per il COLLINS KWM-2/2A. Mauro Ruzzante IV3UVW

EPOD.com MAGAZZINO RICAMBI MANUALE D USO. Aggiornamento 01/05/2010 pag.1

MINISTERO DELLO SVILUPPO ECONOMICO DIREZIONE GENERALE PER IL MERCATO, LA CONCORRENZA, IL CONSUMATORE, LA VIGILANZA ELA NORMATIVA TECNICA

Passo dopo passo risolvere i problemi - Matri

Matematica con il foglio di calcolo

EQUAZIONI DI PRIMO GRADO

FESTIVAL DELL'ETÀ LIBERA

Fattura Elettronica e Piattaforma Certificazione dei Crediti (PCC).

Introduzione a Visual Basic Lezione 2 Cicli e anomalie

Manuale Sito Videotrend

Planet School Guida per l utente GENERIC (GENITORE) - GUIDA PER L UTENTE GENITORE

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Metodi per la risoluzione di sistemi lineari

18/05/2016 MANUALE UTENTE

Esonero del corso di Programmazione a Oggetti

SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n

3. Qual è l equazione della retta rappresentata nel piano cartesiano?

SISTEMI LINEARI. x 2y 2z = 0. Svolgimento. Procediamo con operazioni elementari di riga sulla matrice del primo sistema: R 2 R 2 3R

nome: classe: data: delle quattro figure sottostanti non risulta in ogni caso congruente a quella sopra?

COMUNE DI MONTEPULCIANO (PROVINCIA DI SIENA)

Guida alla compilazione on-line delle domande di Dote Scuola A.S per le Famiglie INDICE

E-Shop : Gestione Fidelizzazione Clienti

SPORTELLO DIPENDENTE. - Personale amministrativo tecnico ausiliario (A.T.A.);

le Salse Le Salse Professionali in secchiello

Brescia, Spett. ORDINE DEGLI INGEGNERI DELLA PROVINCIA DI BRESCIA

Metodo alternativo per il calcolo delle divisioni.

MODULO WEBGENITORI. Versione 1.2

Manuale di gestione scheda su sito

Progettazione logica

Progettazione di Algoritmi

Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 10

MANUALE DI UTILIZZO DEL PORTALE WEB

Utilizzo firma digitale all interno della procedura protocollo informatico per l invio delle in partenza

ESAME DI STATO. SIMULAZIONE PROVA NAZIONALE Scuola Secondaria di I grado Classe Terza. Prova 3. Anno Scolastico Classe:... Data:...

Metodi matematici 2 9 giugno 2011

Jabra SPEAK 450 Cisco

LA CIRCONFERENZA La circonferenza è il luogo geometrico dei punti equidistanti da un punto C, detto centro.

Perché andare dallo psicologo?

SOMMARIO 1. INTRODUZIONE E ACCESSO. 1.a ACCESSO AL SITO 2. DISDETTA DELLE PRENOTAZIONI. 2.a DISDETTA TRAMITE SMS. 2.

ESEMPI DI ETICHETTATURA DEI VINI

Transcript:

Sistema Esperto per il Consiglio di vini data una portata

Struttura della conoscenza Template per i vini Template per la generalizzazione della carne Template per il pesce Template per i primi Eventuale template per i formaggi

Struttura dei Template (deftemplate vino (slot nome) (slot colore) (slot gusto) (slot prezzo) (slot annata) (multislot abbinamenti) )

Struttura dei Template (deftemplate carne (slot tipo_carne) %si generalizza solo sul tipo (multislot modo_cottura) (multislot istanza_tipo_carne)) (deftemplate pesce (multislot istanze_pesce)) (deftemplate primi_piatti (multislot istanze_primi))

Regole... Regola per la scelta della portata (primo, secondo..) (defrule scelta_pasto (not (scelto pasto?)) (bind?pasto (Domanda "Pasto scelto: " antipasto carne pesce formaggio) ) (assert (scelto pasto?pasto)))

Regole Carne... Regola che consiglia il vino per la carne, incluso quelli indicati solo per un certo tipo di carne o per un piatto (defrule risposta_vino_su_carne (scelto pasto carne) (carne (tipo_carne?tipo_carne) (modo_cottura $?modo_cottura) (istanza_tipo_carne $?istanza_tipo_carne) ) (vino (abbinamenti $?abb &: (or (member$ carne?abb) (member$?tipo_carne?abb) (Appartiene?abb?modo_cottura)(Appartiene? abb?istanza_tipo_carne))))) (nome? nome_vino)) (printout t "Vini ADEGUATI per la carne: "? nome_vino crlf))

Regole... Funzione appartiene: restituisce vero se almeno un elemento del 1 multislot appartiene al 2, falso altrimenti (deffunction Appartiene (?multislot_elementi?multislot_insieme_origine) (bind?length (length$?multislot_elementi)) ( if (<>?length 0) then (while (<>?length 0) do (bind?slot (nth$?length?multislot_elementi)) (if (member$?slot?multislot_insieme_origine) then (bind?appartenenza (member$?slot?multislot_insieme_origine)) (bind?length 0) else (bind?appartenenza FALSE) (bind?length (-?length 1)))) else (bind?appartenenza FALSE))?appartenenza ;valore restituito dalla funzione)

Regole Carne... Regola per la scelta del tipo di carne (bianca/rossa) (defrule scelta_tipo_carne (not (scelto carne?)) (scelto pasto carne) (bind?tipo_carne (Domanda "Che tipo di carne vuoi?" rossa bianca)) (assert (scelto carne (sym-cat carne_?tipo_carne)))) La regola per il consiglio del vino sarà la stessa del caso precedente con in meno la condizione su carne Analoga alla regola di cui sopra sarà invece la regola per la domanda sul modo di cottura della carne

Regole Carne... (defrule risposta_vino_su_scelta_cottura_carne (scelto carne?tipo_carne) (scelto carne?tipo_carne?modo_cottura) (carne (tipo_carne?tipo_carne) (modo_cottura?modo_cottura) (istanza_tipo_carne $?istanza_tipo_carne)) (vino (abbinamenti $?abb &: (or (member$?modo_cottura?abb)(appartiene?abb?istanza_tipo_carne))) (nome?nome_vino) ) (printout t "Vino adeguati per la "? modo_cottura ": "?nome_vino crlf)) Si noti che ora?modo_cottura non è più un multislot ma un semplice slot perché è stato scelto

Regole Carne... La regola per la domanda sull istanza della carne da scegliere. La regola per il consiglio del vino sull istanza scelta sarà: (defrule risposta_vino_su_scelta_istanza_carne (scelto carne?tipo?cottura?istanza) (vino (abbinamenti $?abb &: (member$?istanza? abb)) (nome?nome_vino) ) (printout t "Vino adeguati per la "?modo_cottura ": "?nome_vino crlf)) Si noti che ora si verifica solo l appartenenza dell elemento più specifico, non c è generalizzazione

Regole Pesce... Le regole per le domande relativamente al pesce hanno la stessa struttura della carne; una volta scelto il pesce si passa direttamente a scegliere l istanza (defrule scelta_vino_pesce (scelto pasto pesce) (pesce (istanze_pesce $?istanze)) (vino (abbinamenti $?abb&: (or (member$ pesce?abb)(appartiene?abb?istanze))) (nome?nome)) (printout t "Vini ADEGUATI per il pesce: "?nome crlf))

Regole Pesce... (defrule scelta_vino_istanza_pesce (scelto pesce?istanza_pesce) (vino (abbinamenti $?abb&: (member$?istanza_pesce?abb)) (nome?nome)) (printout t "Vini ADEGUATI per il pesce: "?nome)) Le regole per la scelta del primo (sia per le domande che per le risposte sono del tutto analoghe a quelle per la scelta del pesce)