SISTEMI A RETI SEMANTICHE

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SISTEMI A RETI SEMANTICHE"

Transcript

1 SISTEMI A RETI SEMANTICHE Cronologia delle notazioni: 1889: Logica del Primo Ordine (Peano) 1896: Grafi Esistenziali (Peirce) la logica del futuro ~1961: Reti Semantiche introdotte in AI Quale formalismo è migliore? Fin dall inizio si è avuto un dibattito fra i vari sostenitori ma: ogni rete semantica o sistema a frame è facilmente esprimibile tramite formule della logica del prim ordine (gestendo opportunamente le eccezioni con qualche accortezza) ogni formula della logica del prim ordine si può esprimere tramite reti semantiche Motivi del successo delle reti semantiche: formalismo grafico (usano diagrammi) modello esecutivo molto semplice (cf. Prolog vs. dimostratori di teoremi in logica del prim ordine) Pur programmando una rete molto vasta, è facile capire quali interrogazioni saranno efficienti: facilità di visualizzazione dei passi attraversati dalla procedura di inferenza semplicità del linguaggio di interrogazione, che non consente interrogazioni troppo complesse Per questo motivo, le reti semantiche furono usate dai primi ricercatori sull ontologia del buon senso per sviluppare le loro teorie.

2 SINTASSI E SEMANTICA I linguaggi di rappresentazione hanno 2 componenti: sintassi - marginale Utile dal punto di vista della chiarezza e comprensibilità per un lettore umano: alcune cose sono più semplici da comprendere in notazione grafica, altre come stringhe di caratteri. Traduzione semplice ed automatizzabile semantica (& teoria della dimostrazione) - fondamentale Qualunque sia il formalismo usato dal linguaggio (stringhe o nodi) e il suo nome (rete semantica o logica), il suo significato o la sua implementazione non variano. Le reti semantiche si concentrano su categorie di oggetti relazioni fra di loro Esprimiamo nei due formalismi il fatto che I gatti sono mammiferi : Gatti sottoinsieme Mammiferi Gatti Mammiferi o, più formalmente, x gatto(x) mammifero(x) L idea comune è che una formula logica non ammetta eccezioni e che una rete semantica abbia un significato più blando Alcuni sistemi usavano frecce IsA per indicare sia l essere sottoinsieme ( un gatto è un mammifero ) che l appartenenza ( Tom è un gatto ), il che può portare ad incoerenze. (McDermott, 1976: Artificial Intelligence Meets Natural Stupidity ) Alcuni sistemi falliscono nella distinzione fra proprietà dei membri di una categoria e della categoria nel suo insieme.

3 RETI SEMANTICHE & LOGICA Una rete semantica con la corrispondente traduzione in logica del prim ordine. rel(vivo, animali, true). rel(vola, animali, false). uccelli animali mammiferi animali rel(vola, uccelli, true). rel(zampe, uccelli, 2). rel(zampe, mammiferi, 4). Sottoinsieme Uccelli Zampe: 2 Vola: T Animali Vivo: T Vola: F Sottoinsieme Mammiferi Zampe: 4 pinguini uccelli gatti mammiferi pipistrelli mammiferi Sottoinsieme Sottoinsieme Sottoinsieme rel(vola, pinguini, false). rel(zampe, pipistrelli, 2). rel(vola, pipistrelli, true). opus pinguini tom gatti pat pipistrelli Pinguini Vola: F Gatti Pipistrelli Zampe: 2 Vola: T nome(opus, Opus ). nome(tom, Tom ). amico(opus, tom). amico(tom, opus). nome(pat, Pat ). Membro Opus Nome: Opus Amico: Membro Tom Nome: Tom Amico: Pat Nome: Membro Pat Per rispondere alla domanda: quante zampe ha Opus? bisogna seguire la catena di legami Membro e Sottoinsieme da Opus ai pinguini fino agli uccelli, che hanno 2 zampe (Ereditarietà). E se ci sono più catene che portano a quantità differenti di zampe?

4 EREDITARIETA L ereditarietà consente di risalire alle proprietà di un oggetto senza doverle esplicitamente elencare tutte per ogni singolo oggetto, ma facendo in modo che: ogni oggetto assuma implicitamente tutte le proprietà della classe a cui appartiene immediatamente; ogni classe a sua volta assuma implicitamente tutte le proprietà delle classi più ampie di cui fa parte. Questo meccanismo, sebbene comodo, non assicura di per sé che, qualora un oggetto o una classe appartenga a sovraclassi diverse, queste non gli attribuiscano valori differenti per una stessa proprietà. La semantica del linguaggio, ossia cosa succede in caso di proprietà con valori diversi a seconda del percorso di ereditarietà seguito, non è chiara: bisogna indurla basandosi sul comportamento del programma che lo implementa. Questo ha fatto sì che gli utenti delle reti semantiche pensino ad esse al livello implementativo piuttosto che a quello logico o di conoscenza. La semantica di semplici reti semantiche si può definire tramite gli equivalenti in logica del primo ordine per le asserzioni nel linguaggio della rete Iniziamo con una versione in cui le eccezioni non sono ammesse

5 EREDITARIETA Sono necessari 5 tipi di legami (ossia di relazioni): 1. Sottoinsieme A Sottoinsieme B Gatti Mammiferi A B 2. Membro A Membro B Tom Gatti A B 3. R vale fra due oggetti A e B A R B R(A,B) Tom Età 12 Età(Tom,12) 4. R vale fra ogni elemento della classe A e un oggetto B A R B x x A R(x,B) Essendo questo tipo molto comune, conveniamo di indicarlo con rel(r,a,b) Uccelli Zampe 2 rel(zampe, Uccelli, 2) 5. R vale per ogni elemento di A e qualche elemento di B A R B x y x A y B R(x,y) Uccelli Genitore Uccelli N.B.: Un linguaggio di programmazione logica può usare la normale inferenza logica per implementare l ereditarietà a partire dalle traduzioni logiche dei legami. Un sistema a rete semantica usa algoritmi dedicati per i legami e quindi può risultare più veloce dell inferenza logica (che è generale).

6 EREDITARIETA CON ECCEZIONI I tipi naturali sono ricchi di eccezioni. I mammiferi hanno 4 zampe, ma i pipistrelli (che sono mammiferi) solo 2. Gli uccelli volano, ma i pinguini (che sono uccelli) no. Secondo la semantica logica diretta, queste sono contraddizioni. E necessario cambiare la traduzione semantica dei legami R da A a B, per indicare che ogni membro di A deve avere una relazione R verso B a meno che non vi sia qualche A per cui rel(r,a,b ). In tal modo, nell esempio degli animali, non c è più ambiguità sul fatto che i pipistrelli hanno solo 2 zampe. rel(r,a,b) non significa più che ogni A è legata da R a B, ma che B è un valore di default della relazione R per i membri di A, e che quindi può essere sovrascritto da altra informazione. Sebbene sia intuitivo pensare di gestire l ereditarietà con eccezioni seguendo le frecce nel diagramma, è anche possibile definire la semantica in logica del primo ordine. 1. Reificare le relazioni (che diventano oggetti invece che predicati). Quindi rel(r,a,b) è una frase atomica, non un abbreviazione di una formula. Poiché R ora è un oggetto, non possiamo più usare R(x,B). Usiamo: vale(r,x,b) per indicare che l equivalente di una relazione R(x,B) è asserito esplicitamente nella rete semantica; valido(r,x,b) per indicare che R(x,B) può essere inferito.

7 EREDITARIETA CON ECCEZIONI 2. Dobbiamo quindi definire questi nuovi predicati: r, x, b valido(r,x,b) vale(r,x,b) ( p x p rel(r,p,b) rel_intermedia(x,p,r)) x, p, r rel_intermedia(x,p,r) i intermedia(x,i,p) b rel(r,i,b ) a, i, p intermedia(x,i,p) (x i) (i p) cioè valido è definito dicendo che una relazione r vale fra x e b se vi è un predicato esplicito vale, o se vi è una r su qualche classe genitrice p di cui x è un elemento, e non vi è una r in nessuna classe intermedia i (ossia un sottoinsieme di p di cui x è un elemento). N.B.: il simbolo indica un sottoinsieme proprio, ossia diverso da p stesso. 3. Infine, oltre a sapere quando valgono, vogliamo sapere anche quando le relazioni rel e vale non valgono. Se la base di conoscenza contiene solo atomi positivi rel, possiamo usare l Ipotesi del Mondo Chiuso. A tal fine, la traduzione di una rete semantica deve esprimere il fatto che solo le relazioni rel e vale esplicitamente asserite sono vere: r, a, b rel(r,a,b) [r,a,b] {[,, ],[,, ], } r, a, b vale(r,a,b) [r,a,b] {[,, ],[,, ], } Cerchiamo un n che soddisfi valido(zampe, Opus, n). Sappiamo che rel(zampe,uccelli,2) e che Opus uccelli, ma la definizione di valido non ci consente di inferire nulla a meno che dimostriamo che non esista rel(zampe,i,b) per i = Pinguini o per alcuna categoria intermedia. La base di conoscenza contiene solo atomi positivi rel(zampe, uccelli, 2) rel(vola, uccelli, true) per cui senza queste ultime regole saremmo bloccati.

8 EREDITARIETA MULTIPLA L ereditarietà multipla, supportata da alcuni sistemi a reti semantiche, consente che un oggetto possa appartenere a più di una categoria e che quindi erediti proprietà lungo percorsi differenti. Spesso questo non causa problemi, in quanto le proprietà ereditate lungo percorsi differenti non sono in conflitto. Se una persona appartiene sia alla categoria dei miliardari che a quella dei tassisti, si può inferire che è ricca e sa guidare un automobile. Ci sono tuttavia casi in cui le risposte date da due cammini di ereditarietà differenti sono in conflitto. (Diamante di Nixon) Richard Nixon era un quacchero, dunque un pacifista, ma era anche un repubblicano, dunque non pacifista. Sfruttando le traduzioni logiche date in precedenza si possono quindi inferire entrambe le conclusioni, che disponendo di una sufficiente conoscenza di fondo si rivelerebbero in contraddizione. Essere Umano Sottoinsieme Sottoinsieme Non Pacifista Ideale Repubblicano Quacchero Ideale Pacifista Membro Membro Richard Nixon Tali conflitti non possono essere risolti se non sfruttando informazione aggiuntiva che espliciti un criterio di preferenza per uno dei percorsi in conflitto.

9 EREDITARIETA E CAMBIAMENTO L utilità fondamentale di una base di conoscenza consiste nella possibilità di essere espansa aggiungendo nuova informazione. Nei sistemi basati sulla logica del prim ordine, si usa la funzione assert(kb,a) per indicare che la base di conoscenza KB viene aumentata con l affermazione A. La proprietà di monotonicità assicura che, se una conclusione C segue logicamente da KB, allora continuerà a seguire anche dopo aver aumentato KB con la nuova informazione A: if KB C then (KB A) C L ereditarietà con eccezioni è non monotona. Se aggiungessimo l affermazione che i gatti hanno 3 zampe: rel(zampe, Gatti, 3) seguirebbe che Tom ha 3 zampe, e non più 4 come in precedenza.

10 EREDITARIETA E CAMBIAMENTO Ci sono 2 modi per risolvere questo problema 1. passare dalla logica del prim ordine ad una logica non monotona che tratta esplicitamente i valori di default. Le logiche non monotone permettono di dire che una proposizione P dovrebbe essere considerata vera fino a quando qualche informazione aggiuntiva non consenta di dimostrare che P è falsa. C è stato un grande lavoro teorico su questo punto, ma con un impatto minore sulle applicazioni. 2. trattare l aggiunta di enunciati facendo precedere la assert da una retract, il che è possibile per come abbiamo definito rel. Invece di fare molte affermazioni della forma assert(kb,rel(r,a,b)), facciamo una grossa enunciazione di equivalenza della forma assert(kb, r,a,b rel(r,a,b) ) dove indicano tutte le possibili rel. Dunque, per aggiungere rel(zampe, Gatti, 3) dovremmo prima rimuovere il vecchio enunciato di equivalenza sostituendolo con uno nuovo. Una volta alterata la base di conoscenza eliminando da essa una frase (oltre che aggiungendone una nuova) la non monotonicità dovrebbe essere facilmente comprensibile.

11 IMPLEMENTAZIONE DELLE RETI SEMANTICHE Definita la semantica, si può pensare a come realizzare effettivamente la rete: dimostratore di teoremi linguaggio di programmazione logica (spesso scelta migliore) struttura dati (più diretta, per reti di piccole dimensioni) Un nodo si può rappresentare come una struttura dati con campi per le connessioni tassonomiche di base: categorie di cui è membro: appartenenza elementi che ne fanno parte: elementi sovrainsiemi e sottoinsiemi diretti: sovrains, sottoins e altri campi per altre relazioni in cui partecipa: riferimenti ordinari (R): rel_in, rel_out riferimenti R e R: tutte_rel_in e tutte_rel_out Risulta la seguente definizione del tipo di dati per i nodi: TipoDato nodo_rete_sem Componenti nome, appartenenza, elementi, sovrains, sottoins, rel_in, rel_out, tutte_rel_in, tutte_rel_out Ciascun campo rel è organizzato come una tavola indicizzata dalla relazione. Una funzione lookup(chiave, tabella) consente di trovare il valore associato ad una chiave in una tavola. Dati due riferimenti Opus Amico Tom e Opus Amico Steve, lookup(amico, rel_out(opus)) = {Tom, Steve}.

12 IMPLEMENTAZIONE DELLE RETI SEMANTICHE L interrogazione (ask) ad una rete circa quale relazione (Sottoinsieme, Membro, ) vale fra due oggetti è realizzata dal seguente codice: function Membro?(elemento, categoria) returns boolean for each c in appartenenza(elemento) do if Sottoinsieme?(c, categoria) then return T return F function Sottoinsieme?(sotto, sovra) returns boolean if sotto = sovra then return T for each c in sovrains(sotto) do if Sottoinsieme?(c, sovra) then return T return F function Legate?(sorgente, relazione, destinazione) returns boolean if relazione appare in rel_out(sorgente) then return Membro([relazione, destinazione], rel_out(sorgente)) else for each c in appartenenza(sorgente) do if Tutte_legate?(c, relazione, destinazione) then return T end return F function Tutte_legate?(sorgente, relazione, destinazione) returns boolean if relazione appare in tutte_rel_out(sorgente) then return Membro([relazione, destinazione], tutte_rel_out(sorgente)) else for each c in sovrains(categoria) do if Tutte_legate?(c, relazione, destinazione) then return T end return F N.B.: Membro? è una funzione che opera sui nodi della rete semantica; Membro è un utilità che opera su insiemi.

13 IMPLEMENTAZIONE DELLE RETI SEMANTICHE Ciascuna funzione segue semplicemente i riferimenti appropriati fino a trovare la risposta o fino alla fine dei riferimenti. Il codice non gestisce i riferimenti R, né le eccezioni. Inoltre il codice che asserisce (assert) nuove informazioni nella rete è omesso, in quanto immediato. Si possono aggiungere funzioni per rispondere ad altre domande. Un problema di questo approccio è che è facile venire distratti dalle strutture di dati e dimenticare la semantica alla base. Definiamo una funzione numero_sottotipi che restituisce la lunghezza della lista contenuta nel campo sottoins. In base alla definizione precedente, numero_sottotipi(animale) = 2. Questa potrebbe essere la risposta che voleva l utente, ma la sua situazione logica è dubbia: è probabile che vi siano specie di animali che non sono rappresentate nella base di conoscenza può accadere che alcuni nodi denotino lo stesso oggetto. Magari Cane e Dog sono due nodi con un riferimento di uguaglianza fra di loro. Questi contano come uno o due? gatto_dalla_coda_nera o gatto_alla_stazione_stamattina sono tipi di animale? E facile rispondere a queste domande basandosi su ciò che è presente nella base di conoscenza, ma è meglio avere una semantica chiara in modo tale da poter dare una risposta che sia generale e non dipenda dallo stato corrente della rappresentazione interna.

14 ESPRESSIVITA DELLE RETI SEMANTICHE Le reti viste finora hanno un espressività estremamente limitata, non essendo in grado di esprimere costrutti che sono essenziali in qualunque dominio, quali: negazione disgiunzioni quantificazione Come viene risolta questa limitazione? Alcune reti semantiche estendono la notazione per consentire l utilizzo di tutti i costrutti della logica del prim ordine (è il caso dei grafi esistenziali originali). Un approccio più comune riempie i buchi tramite aggiunte procedurali, una tecnica per cui una funzione scritta in un linguaggio di programmazione può essere immagazzinata come valore di una qualche relazione ed utilizzata per rispondere a chiamate ask sulla relazione (e talvolta anche a chiamate assert). Qual è il vantaggio con cui le reti semantiche controbilanciano questi compromessi? possono catturare l informazione di eredità in maniera modulare sono facili da comprendere grazie alla loro semplicità sono efficienti: poiché l inferenza viene fatta seguendo riferimenti, piuttosto che recuperando frasi da una base di conoscenza tramite unificazioni, sono sufficienti pochi cicli di macchina per ogni passo In realtà, tuttavia, non vi è molta differenza col tipo di computazioni eseguite dai programmi Prolog. Un programma Prolog compilato per un insieme di relazioni di sottoinsieme e di appartenenza, combinate con proprietà generali di categoria, fa un numero di calcoli praticamente pari a quello di una rete semantica.

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

Rappresentazione della Conoscenza. Lezione 7. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 7 0 Rappresentazione della Conoscenza Lezione 7 Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 7 0 Sommario La rappresentazione della conoscenza tassonomica (RN 10.1, 10.2/8.4 fino a pag.248) Reti

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

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

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

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

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

Linguaggi. Claudio Sacerdoti Coen 29,?/10/ : La struttura dei numeri naturali. Universitá di Bologna

Linguaggi. Claudio Sacerdoti Coen 29,?/10/ : La struttura dei numeri naturali. Universitá di Bologna Linguaggi 5: La struttura dei numeri naturali Universitá di Bologna 29,?/10/2014 Outline La struttura dei numeri naturali 1 La struttura dei numeri naturali I numeri naturali La

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

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

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

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

Appunti di informatica. Lezione 7 anno accademico Mario Verdicchio

Appunti di informatica. Lezione 7 anno accademico Mario Verdicchio Appunti di informatica Lezione 7 anno accademico 2016-2017 Mario Verdicchio L algoritmo di Euclide per l MCD Dati due numeri A e B, per trovare il loro MCD procedere nel seguente modo: 1. dividere il maggiore

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Fondamenti di Informatica 2 Linguaggi e Complessità : Lezione 1 Corso Fondamenti di Informatica 2 Marco Schaerf, 2009-2010 Linguaggi e Complessità : Lezione 1 1 Logica proposizionale Linguaggio matematico

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

BREVE CENNO DI LOGICA CLASSICA La logica può essere definita come la scienza che studia le condizioni in base alle quali un ragionamento risulta

BREVE CENNO DI LOGICA CLASSICA La logica può essere definita come la scienza che studia le condizioni in base alle quali un ragionamento risulta BREVE CENNO DI LOGICA CLASSICA La logica può essere definita come la scienza che studia le condizioni in base alle quali un ragionamento risulta corretto e vero. Un ragionamento è corretto se segue uno

Dettagli

Richiami teorici ed esercizi di Logica

Richiami teorici ed esercizi di Logica Facoltà di ingegneria Università della Calabria Corsi di Potenziamento Matematica e Logica A. A. 2008-2009 Richiami teorici ed esercizi di Logica Proposizioni logiche: Ogni espressione matematica alla

Dettagli

Logica proposizionale

Logica proposizionale Definire un linguaggio formale Logica proposizionale Sandro Zucchi 2013-14 Definiamo un linguaggio formale LP (che appartiene a una classe di linguaggi detti linguaggi della logica proposizionale) Per

Dettagli

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) 12 Giugno 2014 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

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

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare

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

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

CALCOLO PROPOSIZIONALE

CALCOLO PROPOSIZIONALE CALCOLO PROPOSIZIONALE UN PROBLEMA DI DEDUZIONE LOGICA (da un test d ingresso) Tre amici, Antonio, Bruno e Corrado, sono incerti se andare al cinema. Si sa che: Se Corrado va al cinema, allora ci va anche

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

Note per la Lezione 6 Ugo Vaccaro

Note per la Lezione 6 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 6 Ugo Vaccaro Ancora sulla tecnica Programmazione Dinamica Nella lezione scorsa abbiamo appreso che la tecnica Divide-et-Impera,

Dettagli

Intelligenza Artificiale. A n n o A c c a d e m i c o La Rappresentazione della Conoscenza: Le Reti Semantiche

Intelligenza Artificiale. A n n o A c c a d e m i c o La Rappresentazione della Conoscenza: Le Reti Semantiche 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: Le Reti Semantiche Sommario Introduzione alle reti semantiche Le relazioni ISA e PARTOF Esempi

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

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

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

Il concetto di calcolatore e di algoritmo

Il concetto di calcolatore e di algoritmo Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica

Dettagli

METODI MATEMATICI PER L INFORMATICA

METODI MATEMATICI PER L INFORMATICA METODI MATEMATICI PER L INFORMATICA Tutorato Lezione 2 17/03/2016 Corso per matricole congrue a 1 Docente: Margherita Napoli Tutor: Amedeo Leo Applicazioni della logica proposizionale La logica ha una

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

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Esercizio 1.12 Per dimostrare che per ogni funzione esiste una formula in cui compaiono le variabili tale che la corrispondente

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

Problemi, algoritmi, calcolatore

Problemi, algoritmi, calcolatore Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

Introduzione alla logica matematica

Introduzione alla logica matematica Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 p.1/29 Introduzione alla logica matematica Silvana Badaloni Paolo Bison Fondamenti di Informatica 1 A.A. 2004/05 Università di

Dettagli

Un po di logica. Christian Ferrari. Laboratorio di matematica

Un po di logica. Christian Ferrari. Laboratorio di matematica Un po di logica Christian Ferrari Laboratorio di matematica 1 Introduzione La logica è la disciplina che studia le condizioni di correttezza del ragionamento. Il suo scopo è quindi quello di elaborare

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 Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada

Dettagli

Semantica proposizionale. Unit 2, Lez 3 e 4 Corso di Logica

Semantica proposizionale. Unit 2, Lez 3 e 4 Corso di Logica Semantica proposizionale Unit 2, Lez 3 e 4 Corso di Logica Sommario Semantica dei connettivi Costruzione delle tavole di verità Tautologie, contraddizioni e contingenze Semantica delle forme argomentative

Dettagli

Laboratorio di Python

Laboratorio di Python Problem solving, Ricorsione, Università di Bologna 13 e 15 marzo 2013 Sommario 1 2 3 4 Errore di semantica Esercizio def vocali(s): voc='' for c in s: if c in 'aeiou': voc=voc+c return voc Cerchiamo di

Dettagli

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Lez. 8 La Programmazione Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli

Dettagli

TRADUZIONE STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+

TRADUZIONE STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+ TRADUZIONE DI STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+ a cura di: Eleonora Antonelli Simone Maletta Stefano Novara INDICE 1. Grammatica di TLA+ a cura di Eleonora Antonelli

Dettagli

04 - Logica delle dimostrazioni

04 - Logica delle dimostrazioni Università degli Studi di Palermo Facoltà di Economia CdS Sviluppo Economico e Cooperazione Internazionale Appunti del corso di Matematica 04 - Logica delle dimostrazioni Anno Accademico 013/014 D. Provenzano,

Dettagli

George BOOLE ( ) L algebra booleana. (logica proposizionale)

George BOOLE ( ) L algebra booleana. (logica proposizionale) George BOOLE (1815-64) L algebra booleana. (logica proposizionale) La logica e George BOOLE George BOOLE nel 1847 pubblicò il libro Mathematical Analysis of Logic, nel quale presentava ciò che oggi si

Dettagli

Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela

Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Fondamenti di Informatica 2 Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Fondamenti di Informatica 2: Logica Indice degli argomenti Introduzione: Motivazioni, Prove,

Dettagli

Cosa si intende con stato

Cosa si intende con stato Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando

Dettagli

LOGICA DEL PRIMO ORDINE: PROOF SYSTEM. Corso di Logica per la Programmazione A.A. 2013/14 Andrea Corradini

LOGICA DEL PRIMO ORDINE: PROOF SYSTEM. Corso di Logica per la Programmazione A.A. 2013/14 Andrea Corradini LOGICA DEL PRIMO ORDINE: PROOF SYSTEM Corso di Logica per la Programmazione A.A. 2013/14 Andrea Corradini LOGICA DEL PRIMO ORDINE: RIASSUNTO Sintassi: grammatica libera da contesto (BNF), parametrica rispetto

Dettagli

Informatica, Algoritmi, Linguaggi

Informatica, Algoritmi, Linguaggi Elementi di Informatica e Applicazioni Numeriche T Informatica, Algoritmi, Linguaggi Cos'è l'informatica? Che cos'è l'informatica? Cos'è l'informatica? Che cos'è l'informatica? Dell'informatica possiamo

Dettagli

Logica per la Programmazione

Logica per la Programmazione Logica per la Programmazione Lezione 9 Logica del Primo Ordine con Insiemi ed Intervalli Formalizzazione di Enunciati: Array e Sequenze pag. 1 Rappresentazioni Intensionali ed Estensionali di Insiemi Assumiamo

Dettagli

Programmazione = decomposizione basata su astrazioni

Programmazione = decomposizione basata su astrazioni Programmazione = decomposizione basata su astrazioni 1 Decomposizione in moduli necessaria quando si devono sviluppare programmi abbastanza grandi decomporre il problema in sotto-problemi i moduli che

Dettagli

02 - Logica delle dimostrazioni

02 - Logica delle dimostrazioni Università degli Studi di Palermo Facoltà di Economia Dipartimento di Scienze Economiche, Aziendali e Statistiche Appunti del corso di Matematica 0 - Logica delle dimostrazioni Anno Accademico 015/016

Dettagli

osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1

osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1 Esempio: Leggere due interi positivi e calcolarne il massimo comun divisore. MCD(12, 8) = 4 MCD(12, 6) = 6 MCD(12, 7) = 1 Sfruttando direttamente la definizione di MCD osservazione: 1 MCD(m,n) min(m,n)

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

NOZIONI DI LOGICA PROPOSIZIONI.

NOZIONI DI LOGICA PROPOSIZIONI. NOZIONI DI LOGICA PROPOSIZIONI. Una proposizione è un affermazione che è vera o falsa, ma non può essere contemporaneamente vera e falsa. ESEMPI Sono proposizioni : 7 è maggiore di 2 Londra è la capitale

Dettagli

Marta Capiluppi Dipartimento di Informatica Università di Verona

Marta Capiluppi Dipartimento di Informatica Università di Verona Marta Capiluppi marta.capiluppi@univr.it Dipartimento di Informatica Università di Verona Algebra di Boole Opera con i soli valori di verità 0 o 1 (variabili booleane o logiche) L'algebra booleana risulta

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

Verifica di programmi

Verifica di programmi Verifica di programmi Informalmente, un programma è corretto se l output prodotto è quello atteso rispetto all input. La correttezza dei programmi può essere espressa mediante formule per la correttezza

Dettagli

Precorsi di matematica

Precorsi di matematica Precorsi di matematica Francesco Dinuzzo 12 settembre 2005 1 Insiemi Il concetto di base nella matematica moderna è l insieme. Un insieme è una collezione di elementi. Gli elementi di un insieme vengono

Dettagli

GIOVANNI FUSCHINO COMPLETEZZA E RAGIONAMENTO PER DEFAULT

GIOVANNI FUSCHINO COMPLETEZZA E RAGIONAMENTO PER DEFAULT GIOVANNI FUSCHINO COMPLETEZZA E RAGIONAMENTO PER DEFAULT La completezza logica si esprime nel modo seguente: M α M α che si legge: da M 1 segue logicamente ( ) α se e solo se ( ) da M si può dedurre (

Dettagli

INSIEMI. DEF. Un INSIEME è una qualsiasi collezione di oggetti.

INSIEMI. DEF. Un INSIEME è una qualsiasi collezione di oggetti. INSIEMI DEF. Un INSIEME è una qualsiasi collezione di oggetti. Esso è ben definito quando è chiaro se un oggetto appartiene o non appartiene all insieme stesso. Esempio. E possibile definire l insieme

Dettagli

Logica per la Programmazione

Logica per la Programmazione Logica del Primo Ordine: Motivazioni, Sintassi e Interpretazioni Logica per la Programmazione Lezione 7 Formule Valide, Conseguenza Logica Proof System per la Logica del Primo Ordine Leggi per i Quantificatori

Dettagli

LOGICA MATEMATICA PER INFORMATICA

LOGICA MATEMATICA PER INFORMATICA LOGICA MATEMATICA PER INFORMATICA A.A. 10/11, SETTIMANA N. 1 Sommario. Introduciamo il linguaggio e la sintassi e la semantica della Logica del I Ordine. Introduciamo i concetti di teoria, teoria completa,

Dettagli

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento

Dettagli

ALGEBRA I: ASSIOMI DI PEANO E PROPRIETÀ DEI NUMERI NATURALI

ALGEBRA I: ASSIOMI DI PEANO E PROPRIETÀ DEI NUMERI NATURALI ALGEBRA I: ASSIOMI DI PEANO E PROPRIETÀ DEI NUMERI NATURALI 1. GLI ASSIOMI DI PEANO Come puro esercizio di stile voglio offrire una derivazione delle proprietà elementari dei numeri naturali e delle operazioni

Dettagli

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la

Dettagli

Un esempio di if annidati

Un esempio di if annidati Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XIV, parte I ) Costrutto di selezione switch Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di

Dettagli

LOGICA MATEMATICA PER INFORMATICA

LOGICA MATEMATICA PER INFORMATICA LOGICA MATEMATICA PER INFORMATICA A.A. 10/11, DISPENSA N. 2 Sommario. Assiomi dell identità, modelli normali. Forma normale negativa, forma normale prenessa, forma normale di Skolem. 1. L identità Esistono

Dettagli

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi Informatica Generale Andrea Corradini 12 - Gli algoritmi e la risoluzione di problemi Sommario Che significa risolvere un problema? Algoritmi e programmi Rappresentazione di algoritmi Lo pseudocodice Primitive

Dettagli

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza

Dettagli

LOGICA DEL PRIMO ORDINE CON INSIEMI E INTERVALLI. Corso di Logica per la Programmazione

LOGICA DEL PRIMO ORDINE CON INSIEMI E INTERVALLI. Corso di Logica per la Programmazione LOGICA DEL PRIMO ORDINE CON INSIEMI E INTERVALLI Corso di Logica per la Programmazione RAPPRESENTAZIONI INTENSIONALI ED ESTENSIONALI DI INSIEMI Assumiamo come universo i naturali e i sottoinsiemi di naturali

Dettagli

Codice Gray. (versione Marzo 2007)

Codice Gray. (versione Marzo 2007) Codice Gray (versione Marzo 27) Data una formula booleana con n variabili, per costruire una tavola di verità per questa formula è necessario generare tutte le combinazioni di valori per le n variabili.

Dettagli

RISOLUZIONE IN LOGICA PROPOSIZIONALE. Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine

RISOLUZIONE IN LOGICA PROPOSIZIONALE. Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine RISOLUZIONE IN LOGICA PROPOSIZIONALE Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine 1. Risoluzione Definitione 1.1. Un letterale l è una variabile proposizionale (letterale

Dettagli

Riconoscere e formalizzare le dipendenze funzionali

Riconoscere e formalizzare le dipendenze funzionali Riconoscere e formalizzare le dipendenze funzionali Giorgio Ghelli 25 ottobre 2007 1 Riconoscere e formalizzare le dipendenze funzionali Non sempre è facile indiduare le dipendenze funzionali espresse

Dettagli

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Lez. 5 La Programmazione. Prof. Salvatore CUOMO Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente

Dettagli

Strutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05

Strutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 Strutture dati Il che cosa e il come Il che cosa ed il come Struttura dati: descrive come sono organizzati i dati e come sono realizzate le operazioni su di essi (cioe come si accede ai dati) Specifica

Dettagli

Logica per la Programmazione

Logica per la Programmazione Logica per la Programmazione Lezione 2 Dimostrazione di tautologie Proof System pag. 1 Un Problema di Deduzione Logica [da un test di ingresso] Tre amici, Antonio, Bruno e Corrado, sono incerti se andare

Dettagli

Linguaggio della Matematica

Linguaggio della Matematica Linguaggio della Matematica concetti primitivi: elementi fondamentali di natura intuitiva (punto, retta, insieme, elemento di un insieme,...). assiomi: enunciati, proposizioni vere a priori (gli assiomi

Dettagli

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

Rappresentazione della Conoscenza. Lezione 4. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 4 0 Rappresentazione della Conoscenza Lezione 4 Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 4 0 Sommario Ragionamento non monotono Dispense Cap. 10.1 Revisione delle Conoscenze (RN 10.7-10.8/??)

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

ISTITUTO TECNICO STATALE COMMERCIALE E PER GEOMETRI A. MARTINI Castelfranco Veneto (TV) Elementi di Logica

ISTITUTO TECNICO STATALE COMMERCIALE E PER GEOMETRI A. MARTINI Castelfranco Veneto (TV) Elementi di Logica settembre 008 Elementi di Logica 1. Nozioni preliminari La logica studia come funziona il pensiero e il ragionamento espresso attraverso degli enunciati Il ragionamento è un sistema di enunciati che permette

Dettagli

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria. Capitolo 2 Campi 2.1 Introduzione Studiamo ora i campi. Essi sono una generalizzazione dell insieme R dei numeri reali con le operazioni di addizione e di moltiplicazione. Nel secondo paragrafo ricordiamo

Dettagli

n n 1 n = > Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita

n n 1 n = > Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita n! = 1 n( n 1)! se se n n = > 0 0 dove n è un numero intero non negativo Il calcolo del fattoriale

Dettagli

Linguaggio della Matematica

Linguaggio della Matematica Linguaggio della Matematica concetti primitivi: elementi fondamentali di natura intuitiva (punto, retta, insieme, elemento di un insieme,...). assiomi: enunciati, proposizioni vere a priori (gli assiomi

Dettagli

1. equivalenze e implicazioni logiche. Esercizio 1.2. Trovare le implicazioni che legano i seguenti enunciati (x, y R):

1. equivalenze e implicazioni logiche. Esercizio 1.2. Trovare le implicazioni che legano i seguenti enunciati (x, y R): . equivalenze e implicazioni logiche Esercizio.. Trovare le implicazioni che legano i seguenti enunciati (x, y R): () x < y, () x = y, () x y, () x y, () (x y) > 0. Osserviamo subito che (x y) > 0 equivale

Dettagli

Algebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Algebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Algebra Relazionale 1 Linguaggi di interrogazione relazionale Linguaggi di interrogazione: permettono la manipolazione e il reperimento di dati da una base di dati Il modello relazionale supporta LI semplici

Dettagli

Algoritmi e strutture dati

Algoritmi e strutture dati Algoritmi e strutture dati Roberto Cordone A. A. 2015-16 Capitolo 4 Implementazioni delle partizioni Nota: queste dispense sono un rapido riassunto delle lezioni svolte nel dicembre 2015 e gennaio 2016.

Dettagli

L'algebra Booleana. Generalità. Definizioni

L'algebra Booleana. Generalità. Definizioni L'algebra Booleana Generalità L algebra booleana è stata sviluppata da George Boole nel 1854, ed è diventata famosa intorno al 1938 poiché permette l analisi delle reti di commutazione, i cui soli stati

Dettagli

NOZIONI DI LOGICA. Premessa

NOZIONI DI LOGICA. Premessa NOZIONI DI LOGICA Premessa Il compito principale della logica è quello di studiare il nesso di conseguenza logica tra proposizioni, predisponendo delle tecniche per determinare quando la verità di una

Dettagli

La logica matematica. Si ringraziano per il loro contributo gli alunni della classe IB Lic. Sc. A.S

La logica matematica. Si ringraziano per il loro contributo gli alunni della classe IB Lic. Sc. A.S La logica matematica Si ringraziano per il loro contributo gli alunni della classe IB Lic. Sc. A.S. 2010-2011 La logica studia le proposizioni logiche e le relazioni tra esse. Una proposizione logica è

Dettagli

Corso di Fondamenti di Informatica Linguaggi di Programmazione

Corso di Fondamenti di Informatica Linguaggi di Programmazione Corso di Fondamenti di Informatica Linguaggi di Programmazione Anno Accademico Francesco Tortorella Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di

Dettagli

8. Completamento di uno spazio di misura.

8. Completamento di uno spazio di misura. 8. Completamento di uno spazio di misura. 8.1. Spazi di misura. Spazi di misura completi. Definizione 8.1.1. (Spazio misurabile). Si chiama spazio misurabile ogni coppia ordinata (Ω, A), dove Ω è un insieme

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 1 Introduzione G. Mecca M. Samela Università della Basilicata Tipi Strutturati: Introduzione >> Sommario Sommario Panoramica Alcuni Esempi

Dettagli

1 Giochi di Ehrenfeucht-Fraissé e Logica del Prim ordine

1 Giochi di Ehrenfeucht-Fraissé e Logica del Prim ordine 1 Giochi di Ehrenfeucht-Fraissé e Logica del Prim ordine In questo tipo di giochi l arena è costituita da due grafi orientati G = (V, E), G = (V, E ). Lo scopo del I giocatore è di mostrare, in un numero

Dettagli

4. I moduli in Access 2000/2003

4. I moduli in Access 2000/2003 LIBRERIA WEB 4. I moduli in Access 2000/2003 Il modulo è uno degli oggetti del database di Access e rappresenta un insieme di dichiarazioni e routine scritte con il linguaggio Visual Basic, memorizzate

Dettagli

LE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI

LE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI LE BASI DI DATI Prima parte Premesse introduttive I MODELLI DEI DATI MODELLAZIONE DEI DATI Un modello dei dati è un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la natura

Dettagli

Corso di Fondamenti di Informatica. La ricorsione

Corso di Fondamenti di Informatica. La ricorsione Corso di Fondamenti di Informatica La ricorsione La ricorsione Si dice che un oggetto (una struttura dati, una funzione matematica, un concetto ) è ricorsivo se è possibile darne una definizione in termini

Dettagli

Rappresentazione con i diagrammi di flusso (Flow - chart)

Rappresentazione con i diagrammi di flusso (Flow - chart) Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo

Dettagli