Rappresentazione della Conoscenza. Lezione 6. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 0

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Rappresentazione della Conoscenza. Lezione 6. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 0"

Transcript

1 Rappresentazione della Conoscenza Lezione 6 Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 0

2 Sommario La rappresentazione della conoscenza Logica come formalismo di rappresentazione (RN 8.3/7.3) Ingegneria della conoscenza (RN 8.4/ ) Sistemi a regole (RN 9.4,9.3/10.3,10.5) Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 1

3 Sviluppo della rappresentazione della conoscenza ipotesi del sistema simbolico logica sì, logica no teoria della conoscenza ingegneria della conoscenza base di conoscenza motore inferenziale Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 2

4 Ipotesi del sistema simbolico Il calcolatore fa parte di una importante classe di sistemi artificiali, quella dei sistemi simbolici... Un sistema simbolico consiste di entità, detti simboli. Questi possono comparire come componenti di strutture.... Nel caso dei calcolatori, un sistema di simboli possiede anche un insieme di semplici processi che elaborano (creano, modificano, copiano,... ) simboli H. Simon, The Sciences of the Artificial, 1969, 1994 Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 3

5 Linguaggio e rappresentazione Frasi diverse con lo stesso significato presuppongono una memoria con una rappresentazione delle informazioni. Sapir-Whorf: Linguaggio influenza il modo di pensare e prendere decisioni. Vocabolari diversi a seconda del modello del mondo. Linguaggio = strumento di comunicazione. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 4

6 Proprietà di una buona rappresentazione I tre criteri di adeguatezza proposti da McCarthy & Hayes Adeguatezza metafisica Adeguatezza epistemologica Adeguatezza euristica identificazione del linguaggio identificazione del livello di astrazione principi di buona progettazione Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 5

7 Logica e rappresentazione della conoscenza Logica si: chiara sintassi semantica apparati deduttivi Dichiarativa vs Procedurale Logica no: mancanza di principi di strutturazione inadeguata a cogliere tutti gli aspetti di interesse dell AI Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 6

8 Base di conoscenza Una base di conoscenza è una rappresentazione delle conoscenze sul mondo (problema). conoscenza intensionale esprime delle leggi generali sul dominio di interesse (regole) conoscenza estensionale esprime la conoscenza sul particolare caso (situazione) in esame (fatti) La costruzione della base di conoscenza si effettua tramite l asserzione delle frasi che tappresentano la conoscenza intensionale ed estensionale (Tell). Il linguaggio usato per esprimere la conoscenza si chiama linguaggio di rappresentazione della conoscenza. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 7

9 Motore inferenziale Le implicazioni (conseguenze) della base della conoscenza vengono calcolate da un meccanismo di inferenza (motore inferenziale). Ask è l operatore usato per caratterizzare le inferenze (risposte) ottenibili da un base di conoscenze. La caratterizzazione di un sistema di rappresentazione della conoscenza tramite Tell&Ask si definisce dichiarativa: non occorre conoscere il meccanismo di inferenza per sapere cosa è implicato dalla base di conoscenza. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 8

10 Sistemi di rappresentazione della conoscenza formule algoritmo che manipola formule BASE DI CONOSCENZA MOTORE INFEREN- ZIALE Esempio: rappresentazione della conoscenza in logica proposizionale linguaggio: formule proposizionali semantica: = inferenza: metodi deduttivi per il calcolo proposizionale Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 9

11 Sistemi Esperti Applicazioni in grado di svolgere un compito tipico di un esperto umano (es. medico, geologo, esperto di configurazioni, analista finanziario...). Sistemi basati sulla conoscenza specifica per il problema da risolvere Sistemi di decisione (probabilistici, fuzzy,) Sistemi a scatola nera (reti neurali, algoritmi genetici) Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 10

12 Ontologie Teorie sulla natura dell essere: teorie generali che possono essere applicate in qualsiasi dominio applicativo. Diversi progetti di costruzione di ontologie generali, ma il problema è aperto. Un agente (autonomo) che fa acquisti su Internet ha bisogno di una quantità enorme di conoscenza di tipo generale Web semantico. Si parla di ontologia anche in relazione ad aspetti della rappresentazione che permettono delle forme di ragionamento specializzate (azioni, situazioni, eventi, tempo, spazio, conoscenza e credenze,...) Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 11

13 Costruzione di sistemi basati sulla conoscenza Ingegneria della Conoscenza: il processo che porta alla costruzione di un sistema basato sulla conoscenza. 1. Identificare il compito 2. Raccogliere la conoscenza necessaria (Acquisizione della conoscenza) Knowledge Elicitation ( 3. Definire il vocabolario: predicati, funzioni e costanti, (ontologia del dominio) Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 12

14 Costruzione di sistemi basati sulla conoscenza 4. Codificare la conoscenza generale sul dominio 5. Codificare la descrizione di un particolare problema 6. Interrogare la base di conoscenza 7. Debuggare la base di conoscenza Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 13

15 Ambienti di sviluppo Sistemi di rappresentazione della conoscenza, oltre all interfaccia Tell&Ask: interfaccia grafica (sia per l utente finale che per il progettista) strumenti di gestione della base di conoscenza: consistenza, aggiornamento, revisione generazione di spiegazioni strumenti per l acquisizione di conoscenza interfaccia middleware e tutte le caratteristiche di un ambiente di programmazione Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 14

16 Classificazione linguaggi di RC derivati dalla logica (a regole) derivati da modelli cognitivi (a strutture) Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 15

17 Rappresentazione della conoscenza tramite regole Basi di dati deduttive Programmazione logica Regole di produzione Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 16

18 Basi di dati deduttive linguaggio: clausole senza simboli di funzione (+ negazione come fallimento) semantica: = inferenza: metodi deduttivi per il calcolo proposizionale e metodi deduttivi ad hoc (computazione punto fisso etc.) Con l ipotesi di dominio finito e costituito dai simboli di costante che compaiono nella base di conoscenza le basi di dati deduttive corrispondono a teorie proposizionali. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 17

19 Basi di dati Horn Basi di dati Horn (HDB) o vivide, solo clausole Horn: 1. A(x) 2. A 1 (x)... A n (x) B(x) 3. A 1 (x)... A n (x) 1. Fatti 2. Regole 3. Interrogazioni 3. possono anche essere letti come vincoli di integrità Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 18

20 Inferenza nelle basi di dati Horn MP è una regola di inferenza corretta e completa per HDB Per HDB vale la proprietà dell intersezione di modelli: quindi HDB hanno un modello minimo. Se non ci sono simboli di funzione n d dove n è il numero massimo di premesse delle regole e d è la dimensione del HDB (data complexity) HDB è un esempio di come, restringendo il linguaggio si abbatte la complessità della deduzione. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 19

21 Basi di dati Deduttive DATALOG: linguaggio usato per le Basi di Dati Deduttive che corrisponde a HDB. Per un HDB è facile costruire la chiusura deduttiva: applicando MP in tutti i modi possibili e aggiungendo le conclusioni, se non ci sono già. Per DATALOG Sono stati sviluppati metodi di inferenza efficienti in avanti e all indietro. Estensioni di DATALOG per trattare la negazione nel corpo delle clausole secondo la semantica dei modelli stabili. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 20

22 Basi di dati disgiuntive (DDB) Non tutte le formule della logica del primo ordine possono essere messe in forma di clausole Horn, e.g. piove (ombrello giaccavento) Basi di dati disgiuntive (DDB): A(x) A 1 (x)... A n (x) B 1 (x)... B n (x) Tutte le formule della logica del primo ordine possono essere messe in questa forma. DLP è un sistema per BDD con la negazione. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 21

23 Programmazione Logica linguaggio: clausole di Horn con simboli di funzione (+ negazione come fallimento) semantica: Dichiarativa ( =, puntofisso) inferenza: modello operazionale del PROLOG (non dichiarativo per la dipendenza dall ordine di scrittura delle clausole e degli atomi nel corpo delle clausole) Sono state realizzate diverse estensioni del PROLOG... programmazione logica con vincoli (CLP), dove l unificazione viene fatta in presenza di vincoli più deboli dell uguaglianza extended logic programs clausole non-horn e negazione vera Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 22

24 Controllo dell inferenza Qual è il reddito della moglie del presidente degli Stati Uniti? Reddito(s, i) Sposati(s, p) Lavoro(p, P residentestatiu niti) metaragionamento per decidere quale ordine degli atomi è più vantaggioso backtracking guidato dalle dipendenze invece del backtracking cronologico intelligent backtracking che ricorda le derivazioni già fatte evitando di ripeterle Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 23

25 REGOLE linguaggio: regole IF-THEN (strutturalmente simile HDB) semantica: ( = per la parte Horn pura, altrimenti procedurale) inferenza: concatenazione in avanti per la parte Horn pura, più modello procedurale match-select-execute (risoluzione e tableau) KB ha una rappresentazione del tipo: A(x) IF A 1 (x)... A n (x) T HEN B(x) Sistemi: OPS5 Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 24

26 REGOLE di produzione Ma nei sistemi a regole di produzione (esempio più famoso OPS5, sviluppato a CMU per applicazioni Digital) - ricerca di soluzione forward (data driven) - decisione se regola applicabile: semiunificazione, cioè pattern matching su memoria di lavoro - decisione su quale regola applicare: algoritmo di scheduling delle regole Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 25

27 OPS5 per sommi capi Struttura: Data Base di Regole Memoria di lavoro Ciclo: Riconosci-Seleziona-Agisci Memoria di lavoro: memorizza stato iniziale, risultati parziali, conclusione Riconosci: pattern matching tra parte sinistra regole e memoria di lavoro, creazione dell insieme dei conflitti Insieme dei conflitti: legami per le variabili lista di regole applicabili, con relativi Agisci: side effect nella memoria di lavoro, o sul mondo esterno Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 26

28 Rappresentazione RETE Opppure, si usa l approccio RETE (Forgy 83). Le regole vengono compilate in una rete, cioè una struttura ad albero in cui condividono quanto più possibile della parte sinistra: if f elino carnivoro maculato then giaguaro if felino carnivoro rigato then tigre Poi, le regole cambiano la working memory di poco: Se una regola non applicava in un ciclo, è ragionevole che non applichi nel successivo. RETE non fa un matching completo su tutte le regole, ma mantiene una rete di condizioni e fa un matching completo solo sulle regole le cui condizioni sono state influenzate dagli ultimi cambiamenti Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 27

29 Vantaggi dei sistemi a regole PATTERN DIRECTED PROCEDURE INVOCATION il controllo passa dal programmatore all algoritmo di scheduling, quindi programmazione più dichiarativa, più incrementale Spiegabilità delle conclusioni e delle linee di ragionamento seguite SVANTAGGI: inefficienza si possono costruire DB di regole errate, contraddittorie... e.g. sia KB: if piovuto then pratobagnato if pratobagnato then impiantoirrigazioneacceso piovuto Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 28

30 Dimostratori di teoremi Non sono veri e propri sistemi di rappresentazione della conoscenza, spesso consentono di fare le dimostrazioni, interattivamente. specifica del controllo verifica/deduzione automatica OTTER, PTTP, Boyer-Moore,... Applicazioni: dimostrazione di teoremi matematici sintesi automatica di programmi verifica e sintesi di circuiti Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 6 29

Rappresentazione della Conoscenza. Lezione 1. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 1 0

Rappresentazione della Conoscenza. Lezione 1. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 1 0 Rappresentazione della Conoscenza Lezione 1 Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 1 0 Sommario La rappresentazione della conoscenza (BL 1) Sistemi basati sulla conoscenza (BL 1)

Dettagli

Intelligenza Artificiale. Lezione 11. Intelligenza Artificiale Daniele Nardi, 2003 Lezione 11 0

Intelligenza Artificiale. Lezione 11. Intelligenza Artificiale Daniele Nardi, 2003 Lezione 11 0 Intelligenza Artificiale Lezione 11 Intelligenza Artificiale Daniele Nardi, 2003 Lezione 11 0 Sommario La rappresentazione della conoscenza Proprietà di una buona rappresentazione Logica come formalismo

Dettagli

Che cosa abbiamo fatto fin ora

Che cosa abbiamo fatto fin ora Che cosa abbiamo fatto fin ora Abbiamo trattato: agenti con stato e con obiettivo, più razionali rispetto ad agenti reattivi enfasi sul processo di ricerca stati e azioni descrivibili in maniera semplice

Dettagli

Un metodo di rappresentazione della Conoscenza e un insieme di CONVENZIONI e FORMALISMI per esprimere la conoscenza.

Un metodo di rappresentazione della Conoscenza e un insieme di CONVENZIONI e FORMALISMI per esprimere la conoscenza. RAPPRESENTAZIONE DELLA CONOSCENZA e Ragionamento Un metodo di rappresentazione della Conoscenza e un insieme di CONVENZIONI e FORMALISMI per esprimere la conoscenza. Una buona Rappresentazione della Conoscenza

Dettagli

Università di Bergamo Facoltà di Ingegneria. Intelligenza Artificiale. Paolo Salvaneschi B1_1 V1.3. Sistemi a regole

Università di Bergamo Facoltà di Ingegneria. Intelligenza Artificiale. Paolo Salvaneschi B1_1 V1.3. Sistemi a regole Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi B1_1 V1.3 Sistemi a regole Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale

Dettagli

C1: L C1 C2: L C2 C: C1 C2

C1: L C1 C2: L C2 C: C1 C2 Abbiamo visto Gli agenti logici applicano inferenze a una base di conoscenza per derivare nuove informazioni. Concetti base della logica: sintassi: struttura formale delle sentenze semantica: verita` di

Dettagli

RAPPRESENTAZIONE DELLA CONOSCENZA. È un insieme di CONVENZIONI e FORMALISMI per esprimere la conoscenza;

RAPPRESENTAZIONE DELLA CONOSCENZA. È un insieme di CONVENZIONI e FORMALISMI per esprimere la conoscenza; RAPPRESENTAZIONE DELLA CONOSCENZA È un insieme di CONVENZIONI e FORMALISMI per esprimere la conoscenza; Una buona Rappresentazione della Conoscenza può FACILITARE la SOLUZIONE di un Problema riducendone

Dettagli

MATRICE TUNING competenze versus unità didattiche, Corso di Laurea in Informatica (classe L-31), Università degli Studi di Cagliari

MATRICE TUNING competenze versus unità didattiche, Corso di Laurea in Informatica (classe L-31), Università degli Studi di Cagliari A: CONOSCENZA E CAPACITA DI COMPRENSIONE Conoscere e saper comprendere i fondamenti della matematica discreta (insiemi, interi, relazioni e funzioni, calcolo combinatorio) Conoscere e saper comprendere

Dettagli

Introduzione alla Programmazione Logica ed al linguaggio PROLOG

Introduzione alla Programmazione Logica ed al linguaggio PROLOG Introduzione alla Programmazione Logica ed al linguaggio PROLOG Esercitazioni per il corso di Logica ed Intelligenza Artificiale a.a. 2014/15 Paolo Tomeo http://sisinflab.poliba.it/tomeo Programmazione

Dettagli

RAPPRESENTAZIONE DELLA CONOSCENZA (1)

RAPPRESENTAZIONE DELLA CONOSCENZA (1) RAPPRESENTAZIONE DELLA CONOSCENZA (1) Ci sono 30 caselle NERE e 32 caselle BIANCHE (a) (b) È un insieme di CONVENZIONI e FORMALISMI per esprimere la conoscenza; Una buona Rappresentazione della Conoscenza

Dettagli

Intelligenza Artificiale basata sulla logica Lezione 1. Scopo delle lezioni

Intelligenza Artificiale basata sulla logica Lezione 1. Scopo delle lezioni Intelligenza Artificiale basata sulla logica Lezione 1 1 Scopo delle lezioni Presentare l approccio logico all AI. Il corso di Intelligenza Artificiale sviluppa tale approccio. 2 1 1. Breve inquadramento

Dettagli

INTELLIGENZA ARTIFICIALE (elementi) 6 cfu

INTELLIGENZA ARTIFICIALE (elementi) 6 cfu INTELLIGENZA ARTIFICIALE (elementi) 6 cfu Docente: prof.ssa Stefania Bandini Esercitatore: dr. Matteo Palmonari Dipartimento di Informatica, Sistemistica e Comunicazione Università di Milano-Bicocca www.lintar.disco.unimib.it

Dettagli

INTELLIGENZA ARTIFICIALE: INTRODUZIONE

INTELLIGENZA ARTIFICIALE: INTRODUZIONE INTELLIGENZA ARTIFICIALE: INTRODUZIONE 1 AI: Preistoria Filosofia Logica, metodi di ragionamento,, la mente, l apprendimento,, la razionalità Matematica rappresentazione formale,dimostrazioni, computazioni,

Dettagli

Introduzione alla rappresentazione della conoscenza

Introduzione alla rappresentazione della conoscenza Introduzione alla rappresentazione della conoscenza ovvero Come costruire agenti basati su conoscenza e dotati di capacità di ragionamento Maria Simi, 2015/2016 Che cosa abbiamo fatto fin ora Abbiamo trattato:

Dettagli

Introduzione alla logica

Introduzione alla logica Corso di Intelligenza Artificiale 2011/12 Introduzione alla logica iola Schiaffonati Dipartimento di Elettronica e Informazione Sommario 2 Logica proposizionale (logica di Boole) Logica del primo ordine

Dettagli

Intelligenza Artificiale I

Intelligenza Artificiale I Intelligenza Artificiale I Risoluzione e clausole di Horn Marco Piastra Risoluzione e clausole di Horn [1] Sistemi deduttivi e automazione Il problema è decidibile? La definizione di derivabilità a la

Dettagli

Il linguaggio di programmazione Python

Il linguaggio di programmazione Python Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione!paradigmi linguistici, costrutti!semantica!implementazione, strutture a tempo di esecuzione 1 Linguaggi di programmazione e astrazione! i linguaggi di programmazione ad alto

Dettagli

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi Istruzioni variabili e tipi Sottoprogrammi Strutture di controllo Ricorsione 1 2 Obiettivo Ciclo di sviluppo di programmi Risoluzione

Dettagli

INTELLIGENZA ARTIFICIALE (elementi) 6 cfu

INTELLIGENZA ARTIFICIALE (elementi) 6 cfu INTELLIGENZA ARTIFICIALE (elementi) 6 cfu Prof.ssa Stefania Bandini Dott. Alessandro Mosca Dipartimento di Informatica, Sistemistica e Comunicazione Università di Milano-Bicocca www.lintar.disco.unimib.it

Dettagli

Linguaggi di programmazione. Paradigmi di programmazione

Linguaggi di programmazione. Paradigmi di programmazione Linguaggi di programmazione Paradigmi di programmazione Linguaggi: un po di storia Albori: Macchine a programma memorizzato, Programmi come dati Linguaggio Macchina Assemblatore FORTRAN (calcolo scientifico)

Dettagli

Che cosa abbiamo fatto fin ora. Perché? Agente basato su conoscenza. Introduzione alla rappresentazione della conoscenza

Che cosa abbiamo fatto fin ora. Perché? Agente basato su conoscenza. Introduzione alla rappresentazione della conoscenza Che cosa abbiamo fatto fin ora Introduzione alla rappresentazione della conoscenza ovvero Come costruire agenti basati su conoscenza e dotati di capacità di ragionamento Maria Simi, 2010/2011 Abbiamo trattato:

Dettagli

Tecniche avanzate per la progettazione e la gestione dei sistemi produttivi

Tecniche avanzate per la progettazione e la gestione dei sistemi produttivi Tecniche avanzate per la progettazione e la gestione dei sistemi produttivi 1 Panoramica generale Dalle Scienze naturali Dalla matematica Knowledge Based systems Artificial Neural Networks Simulation Chaos

Dettagli

Agenti Basati su Logica

Agenti Basati su Logica Agenti Basati su Logica Corso di Intelligenza Artificiale, a.a. 2017-2018 Prof. Francesco Trovò 09/04/2018 Agenti basati sulla logica Generico agente logico Il mondo del Wumpus Logica proposizionale Inferenza

Dettagli

Intelligenza Artificiale. Logica proposizionale: calcolo automatico

Intelligenza Artificiale. Logica proposizionale: calcolo automatico Intelligenza Artificiale Logica proposizionale: calcolo automatico Marco Piastra Logica formale (Parte 3) - Parte 3 Calcolo automatico Forme normali ed a clausole Risoluzione e refutazione Forward chaining

Dettagli

Rappresentazione della conoscenza. Lezione 5. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 5 0

Rappresentazione della conoscenza. Lezione 5. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 5 0 Rappresentazione della conoscenza Lezione 5 Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 5 0 Sommario Logiche non monotone Ipotesi di mondo chiuso Negazione come fallimento Semantica dei

Dettagli

Sistemi a Regole. Fabio Sartori 3 dicembre L algoritmo RETE Forward e Backward Chaining

Sistemi a Regole. Fabio Sartori 3 dicembre L algoritmo RETE Forward e Backward Chaining Sistemi a Regole Fabio Sartori sartori@disco.unimib.it 3 dicembre 2008 L algoritmo RETE Forward e Backward Chaining 1 Sistemi di Produzioni (1) Un sistema di produzioni consiste in un insieme non ordinato

Dettagli

Corso di Programmazione Dati e Istruzioni. Comunicazione dell algoritmo all elaboratore. Programmazione. Dott. Pasquale Lops

Corso di Programmazione Dati e Istruzioni. Comunicazione dell algoritmo all elaboratore. Programmazione. Dott. Pasquale Lops Materiale didattico preparato dal dott. Stefano Ferilli Corso di Programmazione Dati e Istruzioni Dott. Pasquale Lops lops@di.uniba.it Corso di Programmazione - DIB 1/28 Comunicazione dell algoritmo all

Dettagli

Logica: materiale didattico

Logica: materiale didattico Logica: materiale didattico M. Cialdea Mayer. Logica (dispense): http://cialdea.dia.uniroma3.it/teaching/logica/materiale/dispense-logica.pdf Logica dei Predicati (Logica per l Informatica) 01: Logica

Dettagli

Ragionamento Automatico Richiami di tableaux proposizionali

Ragionamento Automatico Richiami di tableaux proposizionali Richiami di logica e deduzione proposizionale Ragionamento Automatico Richiami di tableaux proposizionali (L. Carlucci Aiello & F. Pirri: SLL, Cap. 5) La logica proposizionale I tableau proposizionali

Dettagli

Programmazione Dichiarativa. Programmazione Logica. SICStus PROLOG PROLOG. http://www.sics.se/sicstus/ Bob Kowalski: "Algoritmo = Logica + Controllo"

Programmazione Dichiarativa. Programmazione Logica. SICStus PROLOG PROLOG. http://www.sics.se/sicstus/ Bob Kowalski: Algoritmo = Logica + Controllo Programmazione Logica Bob Kowalski: "Algoritmo = Logica + Controllo" nella programmazione tradizionale: il programmatore deve occuparsi di entrambi gli aspetti nella programmazione dichiarativa: il programmatore

Dettagli

Intelligenza Artificiale. Introduzione. Intelligenza Artificiale Daniele Nardi, 2004 Introduzione 0

Intelligenza Artificiale. Introduzione. Intelligenza Artificiale Daniele Nardi, 2004 Introduzione 0 Intelligenza Artificiale Introduzione Intelligenza Artificiale Daniele Nardi, 2004 Introduzione 0 Sommario Cosa è l AI? Una breve storia Intelligenza Artificiale Daniele Nardi, 2004 Introduzione 1 Cosa

Dettagli

Intelligenza Artificiale. Breve introduzione alla logica classica (Parte 2)

Intelligenza Artificiale. Breve introduzione alla logica classica (Parte 2) Intelligenza Artificiale Breve introduzione alla logica classica (Parte 2) Marco Piastra Logica formale (Parte 2) - Introduzione alla logica formale Parte. Preambolo: algebra di Boole, proposizioni, conseguenza

Dettagli

Basi di conoscenza nella logica del primo ordine

Basi di conoscenza nella logica del primo ordine Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A7_5 V1.3 Basi di conoscenza nella logica del primo ordine Il contenuto del documento è liberamente utilizzabile dagli

Dettagli

Intelligenza Artificiale. Sistemi a regole Sistemi esperti

Intelligenza Artificiale. Sistemi a regole Sistemi esperti Intelligenza Artificiale Sistemi a regole Sistemi esperti Marco Piastra Sistemi a regole - 1 Sistemi a regole Sistemi esperti 1. Introduzione al calcolo dei predicati 2. Sistemi a regole 3. Jess 4. Fox,

Dettagli

Intelligenza Artificiale e Ingegneria della Conoscenza. Introduzione

Intelligenza Artificiale e Ingegneria della Conoscenza. Introduzione Intelligenza Artificiale e Ingegneria della Conoscenza Introduzione Rappresentazione della conoscenza Conoscenze servono per: interpretare la realtà: capire che cosa è successo (ad es. le cause di un evento

Dettagli

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione Informatica 3 LEZIONE 1: Introduzione Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Informatica 3 Lezione 1- Modulo 1 Introduzione al corso Introduzione Corso di Informatica 3

Dettagli

Logica proposizionale

Logica proposizionale Logica proposizionale Proposizione: frase compiuta che è sempre o vera o falsa. Connettivi Posti in ordine di precedenza: not, and, or, implica, doppia implicazione Sintassi Le proposizioni sono costituite

Dettagli

Programmazione logica e PROLOG. Esercitazione 1. AI - Carlucci Aiello & Nardi, 2007 Esercitazione 1 0

Programmazione logica e PROLOG. Esercitazione 1. AI - Carlucci Aiello & Nardi, 2007 Esercitazione 1 0 Programmazione logica e PROLOG Esercitazione 1 AI - Carlucci Aiello & Nardi, 2007 Esercitazione 1 0 Sommario Programmazione logica Base delle conoscenze Interrogazioni Regole Ricorsive Esecuzione dei programmi

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Intelligenza Artificiale. A n n o A c c a d e m i c o La Rappresentazione della Conoscenza: I Sistemi di Produzione

Intelligenza Artificiale. A n n o A c c a d e m i c o La Rappresentazione della Conoscenza: I Sistemi di Produzione Intelligenza Artificiale A n n o A c c a d e m i c o 2 0 0 8-2 0 0 9 La Rappresentazione della Conoscenza: I Sistemi di Produzione 1 Sommario Formalismi dichiarativi e procedurali Le regole di produzione

Dettagli

Intelligenza Artificiale

Intelligenza Artificiale Intelligenza Artificiale A n n o A c c a d e m i c o 2 0 0 8-2 0 0 9 La Rappresentazione della Conoscenza: I Sistemi di Produzione Sommario Formalismi dichiarativi e procedurali Le regole di produzione

Dettagli

Fondamenti Logici dell Informatica

Fondamenti Logici dell Informatica Fondamenti Logici dell Informatica Corso di Laurea Magistrale in Informatica Introduzione al Corso Ugo Dal Lago Anno Accademico 2017-2018 Sezione 1 Introduzione al Corso Questo Corso Questo è un corso

Dettagli

PROLOG E SISTEMI ESPERTI Prolog può essere utilizzato in almeno due modi differenti nella costruzione di sistemi esperti: come semplice linguaggio di

PROLOG E SISTEMI ESPERTI Prolog può essere utilizzato in almeno due modi differenti nella costruzione di sistemi esperti: come semplice linguaggio di PROLOG E SISTEMI ESPERTI Prolog può essere utilizzato in almeno due modi differenti nella costruzione di sistemi esperti: come semplice linguaggio di realizzazione. sfruttando le caratteristiche del Prolog

Dettagli

Logica proposizionale

Logica proposizionale Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Logica proposizionale Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università degli

Dettagli

Richiami di Prolog. Marco Pennacchiotti. Tel Ing.dell Informazione, stanza 1035 (primo piano)

Richiami di Prolog. Marco Pennacchiotti. Tel Ing.dell Informazione, stanza 1035 (primo piano) Intelligenza Artificiale A.A. 2004-2005 20 Maggio 2005 Richiami di Prolog Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza 1035 (primo piano) 1 Riferimenti

Dettagli

Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2016/17

Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2016/17 Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2016/17 Andrea Corradini e Francesca Levi Dipartimento di Informatica E-mail: andrea@di.unipi.it, francesca.levi@unipi.it A. Corradini e

Dettagli

Linguaggi di Programmazione dall assembler ai linguaggi di alto livello

Linguaggi di Programmazione dall assembler ai linguaggi di alto livello Linguaggi di Programmazione dall assembler ai linguaggi di alto livello LINGUAGGIO MACCHINA 0 READ 8 READ 9 LOADA 8 3 LOADB 9 4 MUL 5 STOREA 8 6 WRITE 8 7 HALT 8 DATO INTERO 9 DATO INTERO Rappresentazione

Dettagli

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione Informatica 3 Informatica 3 LEZIONE 1: Introduzione Lezione 1- Modulo 1 Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Introduzione al corso Politecnico di Milano - Prof. Sara Comai

Dettagli

Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2015/16

Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2015/16 Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2015/16 Andrea Corradini e Francesca Levi Dipartimento di Informatica E-mail: andrea@di.unipi.it, francesca.levi@unipi.it A. Corradini e

Dettagli

Intelligenza Artificiale. Logica proposizionale classica (Parte 2)

Intelligenza Artificiale. Logica proposizionale classica (Parte 2) Intelligenza Artificiale Logica proposizionale classica (Parte 2) Marco Piastra Logica formale (Parte 2) - Introduzione alla logica formale Parte. Preambolo: algebra di Boole, proposizioni, conseguenza

Dettagli

Ragionamento formalei. Ragionamento formale

Ragionamento formalei. Ragionamento formale Ragionamento formale La necessità e l importanza di comprendere le basi del ragionamento formale, utilizzato in matematica per dimostrare teoremi all interno di teorie, è in generale un argomento piuttosto

Dettagli

Programmazione logica e PROLOG. Esercitazione 1. Sommario. Programmazione logica. Applicazioni della Programmazione Logica

Programmazione logica e PROLOG. Esercitazione 1. Sommario. Programmazione logica. Applicazioni della Programmazione Logica Sommario Programmazione logica e PROLOG Esercitazione 1 Programmazione logica Base delle conoscenze Interrogazione del sistema Regole Ricorsive Esecuzione dei programmi Modello operazionale Rappresentazione

Dettagli

La Rappresentazione della Conoscenza Emiliano Giovannetti. rappresentazione. Importanza della conoscenza. Conoscenza e intelligenza artificiale

La Rappresentazione della Conoscenza Emiliano Giovannetti. rappresentazione. Importanza della conoscenza. Conoscenza e intelligenza artificiale La Rappresentazione della Conoscenza Emiliano Giovannetti memorie di una mente artificiale Importanza della conoscenza - per l uomo (se non sa come aprire il frigorifero resta a stomaco vuoto) - per il

Dettagli

La Rappresentazione della Conoscenza

La Rappresentazione della Conoscenza La Rappresentazione della Conoscenza Emiliano Giovannetti memorie di una mente artificiale Importanza della conoscenza - per l uomo (se non sa come aprire il frigorifero resta a stomaco vuoto) - per il

Dettagli

PROLOG: PROgramming in LOGic Linguaggio usato per risolvere problemi che coinvolgono oggetti e relazioni tra oggetti.

PROLOG: PROgramming in LOGic Linguaggio usato per risolvere problemi che coinvolgono oggetti e relazioni tra oggetti. Paradigmi di programmazione Imperativo: orientato alla soluzione algoritmica del problema (Assembler, C, Pascal, Ada,...) Dichiarativo: si concentra sulla descrizione del problema. Il programmatore specifica

Dettagli

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) 29 Gennaio 2015 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (6 punti) Si esprimano in logica dei predicati del I ordine le seguenti frasi:

Dettagli

Linguaggi di Programmazione Prolog (1) Prolog. Processo di dimostrazione (limiti) Linguaggio: Utile per:

Linguaggi di Programmazione Prolog (1) Prolog. Processo di dimostrazione (limiti) Linguaggio: Utile per: Linguaggi di Programmazione Prolog (1) Prolog Linguaggio: basato su una restrizione della logica del primo ordine dichiarativo Utile per: Prototipizzazione radipa (di alcuni problemi) Applicazioni di Intelligenza

Dettagli

Logica per la Programmazione

Logica per la Programmazione Logica del Primo Ordine: Motivazioni, Sintassi e Interpretazioni Logica per la Programmazione Lezione 1 Calcolo Proposizionale: sintassi e semantica Tautologie Esempi di Formalizzazione di Enunciati pag.

Dettagli

UNIFICAZIONE E PATTERN MATCHING

UNIFICAZIONE E PATTERN MATCHING UNIFICAZIONE E PATTERN MATCHING In Intelligenza Artificiale (IA), la maggior parte dei sistemi basati su conoscenza poggia sul confronto di descrizioni (simboliche), nella forma di Unificazione o di Matching.

Dettagli

L Intelligenza Artificiale

L Intelligenza Artificiale L Intelligenza Artificiale F orse tra non molti anni la programmazione intuitiva sarà la regola; potrebbe essere normale operare in un laboratorio di informatica costituito di stazioni intelligenti, dotate

Dettagli

Indice Prefazione 1 Il diritto e la società dell informazione La società dell informazione Un nuovo paradigma soc

Indice Prefazione 1 Il diritto e la società dell informazione La società dell informazione Un nuovo paradigma soc Indice Prefazione 1 Il diritto e la società dell informazione 1 1.1 La società dell informazione....................... 1 1.1.1 Un nuovo paradigma socio-tecnologico............. 2 1.1.2 Realtà e rappresentazione

Dettagli

Intelligenza Artificiale. Introduzione. Intelligenza Artificiale Daniele Nardi, 2003 Introduzione 0

Intelligenza Artificiale. Introduzione. Intelligenza Artificiale Daniele Nardi, 2003 Introduzione 0 Intelligenza Artificiale Introduzione Intelligenza Artificiale Daniele Nardi, 2003 Introduzione 0 Sommario Cosa è l AI? Una breve storia Intelligenza Artificiale Daniele Nardi, 2003 Introduzione 1 Cosa

Dettagli

Rappresentazione della conoscenza. Lezione 4. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 4 0

Rappresentazione della conoscenza. Lezione 4. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 4 0 Rappresentazione della conoscenza Lezione 4 Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 4 0 Efficienza nei programmi PROLOG Controllo dell inferenza Meta-predicati Termini e loro rappresentazione

Dettagli

IL PROBLEMA DELLA NEGAZIONE IPOTESI DI MONDO CHIUSO IPOTESI DI MONDO CHIUSO IPOTESI DI MONDO CHIUSO

IL PROBLEMA DELLA NEGAZIONE IPOTESI DI MONDO CHIUSO IPOTESI DI MONDO CHIUSO IPOTESI DI MONDO CHIUSO IL PROBLEMA DELLA NEGAZIONE Finora non abbiamo preso in esame il trattamento di informazioni negative Solo programmi logici costituiti da clausole definite e che quindi non possono contenere atomi negati.

Dettagli

Interpreti, compilatori e semantica operazionale

Interpreti, compilatori e semantica operazionale Interpreti, compilatori e semantica operazionale 1 Linguaggi di programmazione Come si comprendono le caratteristiche di un linguaggio di programmazione? Molte risposte diverse manuali, documentazione

Dettagli

Maiuscole e minuscole

Maiuscole e minuscole Maiuscole e minuscole Abilità interessate Distinguere tra processi induttivi e processi deduttivi. Comprendere il ruolo e le caratteristiche di un sistema assiomatico. Riconoscere aspetti sintattici e

Dettagli

IL PROBLEMA DELLA NEGAZIONE

IL PROBLEMA DELLA NEGAZIONE IL PROBLEMA DELLA NEGAZIONE Finora non abbiamo preso in esame il trattamento di informazioni negative Solo programmi logici costituiti da clausole definite e che quindi non possono contenere atomi negati.

Dettagli

Intelligenza Artificiale. Ragionamento non monotono. Intelligenza Artificiale Daniele Nardi, 2003 Ragionamento non monotono 0

Intelligenza Artificiale. Ragionamento non monotono. Intelligenza Artificiale Daniele Nardi, 2003 Ragionamento non monotono 0 Intelligenza Artificiale Ragionamento non monotono Intelligenza Artificiale Daniele Nardi, 2003 Ragionamento non monotono 0 Sommario Ragionamento non monotono Dispense Cap. 10.1 Revisione delle Conoscenze

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI Linguaggi di alto livello Barriera di astrazione C Fortran Cobol Modula-2 Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI C Fortran Modula-2

Dettagli

Linguaggi di alto livello. Barriera di astrazione. Pascal. Cobol. Fortran. Basic. Modula-2. Lisp. Simula67 Scheme. Smalltalk C++ Prolog AN

Linguaggi di alto livello. Barriera di astrazione. Pascal. Cobol. Fortran. Basic. Modula-2. Lisp. Simula67 Scheme. Smalltalk C++ Prolog AN Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI Fortran Cobol

Dettagli

Intelligenza Artificiale. Logica proposizionale: calcolo simbolico

Intelligenza Artificiale. Logica proposizionale: calcolo simbolico Intelligenza Artificiale Logica proposizionale: calcolo simbolico Marco Piastra Logica formale (Parte 2) - 1 Parte 2 Calcolo logico Assiomi Derivazioni Derivazioni e conseguenza logica Completezza Logica

Dettagli

Esempio compito 11 Sett 2008

Esempio compito 11 Sett 2008 Esempio compito 11 Sett 2008 no_dupl([], []). no_dupl([x Xs], Ys):- member(x, Xs), no_dupl(xs, Ys). no_dupl([x Xs], [X Ys]):- nonmember(x, Xs), no_dupl(xs, Ys). nonmember(_, []). nonmember(x, [Y Ys]):-X

Dettagli

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori Programma del corso o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori o Elementi di Programmazione Algoritmi e programmi o Algoritmo

Dettagli

Sistemi Deduttivi. Marco Piastra. Intelligenza Artificiale I. Intelligenza Artificiale I - A.A Sistemi Deduttivi[1]

Sistemi Deduttivi. Marco Piastra. Intelligenza Artificiale I. Intelligenza Artificiale I - A.A Sistemi Deduttivi[1] Intelligenza Artificiale I Sistemi Deduttivi Marco Piastra Intelligenza Artificiale I - A.A. 2010- Sistemi Deduttivi[1] Calcolo simbolico? Una fbf è conseguenza logica di un insieme di fbf sse qualsiasi

Dettagli

Fondamenti teorici e programmazione

Fondamenti teorici e programmazione Fondamenti teorici e programmazione FTP(A) - modb Lezione 8 F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 1 Ragionamento formale Comprendere le basi del ragionamento

Dettagli

Intelligenza artificiale e dintorni

Intelligenza artificiale e dintorni Intelligenza artificiale e dintorni Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico dell Informatica Udine, 7 novembre,

Dettagli

Informatica per le Scienze Umane. Introduzione al corso: programma

Informatica per le Scienze Umane. Introduzione al corso: programma Informatica per le Scienze Umane Introduzione al corso: programma 1 Obiettivi del corso Fornire le conoscenze e le competenze necessarie alla rappresentazione e al trattamento consapevole delle informazioni

Dettagli

Linguaggi di programmazione e astrazione

Linguaggi di programmazione e astrazione Linguaggi di programmazione e astrazione i linguaggi di programmazione ad alto livello moderni sono il più potente strumento di astrazione messo a disposizione dei programmatori che possono, con un solo

Dettagli

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione Fortran Cobol Basic Pascal Python C

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic

Dettagli

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio (1) Linguaggio (2)

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio (1) Linguaggio (2) Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio (1) Linguaggio (2) Insieme di sequenze di simboli,

Dettagli

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI ELEMENTI DI PROGRAMMAZIONE a.a. 22/3 MACCHINE, ALGORITMI, PROGRAMMI Andrea Prevete, UNINA2 23 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a stati finiti)... macchine di

Dettagli

Planning deduttivo in Prolog Planning in Prolog (come ricerca forward) (il 18 Gennaio, in Lab)

Planning deduttivo in Prolog Planning in Prolog (come ricerca forward) (il 18 Gennaio, in Lab) APPLICAZIONI DI INTELLIGENZA ARTIFICIALE A.A. 2010/2011 Docenti: Prof. Fabrizio Riguzzi, Evelina Lamma, Marco Gavanelli Ricevimento studenti: vedi pagine docenti e-mail: nome.cognome@unife.it it Tel: 0532

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 7 Alberto Ceselli alberto.ceselli@unimi.it Università degli Studi di Milano 19 Marzo 2013 Programmazione dichiarativa Programmi = Algoritmi + Strutture Dati

Dettagli

CALCOLO PROPOSIZIONALE. Corso di Logica per la Programmazione Andrea Corradini

CALCOLO PROPOSIZIONALE. Corso di Logica per la Programmazione Andrea Corradini CALCOLO PROPOSIZIONALE Corso di Logica per la Programmazione Andrea Corradini andrea@di.unipi.it UN PROBLEMA DI DEDUZIONE LOGICA (da un test d ingresso) Tre amici, Antonio, Bruno e Corrado, sono incerti

Dettagli

Supporti computerizzati alle decisioni diagnostiche

Supporti computerizzati alle decisioni diagnostiche Un. di Roma "La Sapienza" - A.A. 2009-2010 Supporti computerizzati alle decisioni diagnostiche Introduzione Lo sviluppo teorico e tecnologico della Informatica e di numerose altre discipline, fra cui la

Dettagli

Elementi di programmazione

Elementi di programmazione Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Elementi di programmazione Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università

Dettagli

Elementi di programmazione

Elementi di programmazione Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Elementi di programmazione Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università

Dettagli