Laurea Magistrale in Cinema e Media Corso di Rappresentazione e Algoritmi Modulo I - 6 CFU

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Laurea Magistrale in Cinema e Media Corso di Rappresentazione e Algoritmi Modulo I - 6 CFU"

Transcript

1 Laurea Magistrale in Cinema e Media Corso di Rappresentazione e Algoritmi Modulo I - 6 CU mutuato da Laurea Magistrale in Scienze del Corpo e della Mente 6 CU Laurea Magistrale in Scienze della Mente Corso di Intelligenza artificiale Modulo I - 4 CU Vincenzo Lombardo Note per il corso Queste note per i corsi di Rappresentazione e algoritmi sono parte del programma d esame 2014/15. L idea di scrivere le note scaturisce dalla considerazione che, essendo frequentato il corso anche da studenti provenienti da altre sedi in Italia o all estero, spesso la preparazione di base dell informatica non è sufficiente per affrontare lo studio dei testi adottati (come da guida degli studi). Dopo una ricerca sul web di testi e dispense possibili, mi sono convinto che sono tutti pensati per scopi diversi da un corso nell ambito dei media o della psicologia. Gli esempi riportati, la presentazione degli argomenti, l obiettivo a cui è destinato lo studio non sono familiari agli studenti di Cinema e media e di Scienze del Corpo e della Mente. Capitolo 3 La logica proposizionale Commenti benvenuti! Aggiornamento: 31 ottobre 2017 (grazie ai commenti di Domenico Bruzzese, Roberta udisco, Beatrice Osella, Nicola Benvenuti) 1

2 Capitolo 3 La logica proposizionale Dopo aver compreso come si può scrivere un motore algoritmico comune che ricerca la soluzione di un problema, in questo capitolo ci occupiamo invece della rappresentazione della conoscenza. In questo modo, allarghiamo i nostri orizzonti, dalla conoscenza specifica di uno stato del mondo (ad esempio, lo stato iniziale del problema o altri stati che si possono raggiungere grazie alle azioni) alla conoscenza generica (il cosiddetto modello del mondo, che permette di comprendere il mondo nei termini che non sono compresi nella formulazione specifica di un problema). Ad esempio, la soluzione del problema dei missionari e dei cannibali, come codificato in precedenza, non codifica il fatto che la barca non possa viaggiare da sola; non succederà mai che la barca viaggi con 0 passeggeri solo perché non vi sono azioni che lo consentano, ma manca la consapevolezza su questa conoscenza, in modo da poterla utilizzare in altre occasioni (le barche non viaggiano mai da sole). La conoscenza generica sul mondo rende espliciti quegli stati, regole, vincoli, - a seconda del tipo di conoscenza avranno nomi diversi -, che non sono già rappresentati dagli stati e dalle azioni di un problema. Un agente che possiede la conoscenza del mondo sa comportarsi in un ambiente noto solo parzialmente (come avviene per gli esseri umani, del resto); colma la mancanza di riscontri immediati (quelli ottenuti dalla percezione) con le inferenze che è in grado di compiere grazie alla conoscenza. Per fare questo salto concettuale, non possiamo escogitare, per ogni problema, una formalizzazione ad hoc. La rappresentazione della conoscenza necessita di un linguaggio di rappresentazione adeguato: da un lato, deve essere sufficientemente espressivo da rappresentare la conoscenza del mondo, dall altro deve consentire forme di ragionamento automatico, che si realizzano applicando gli algoritmi di ricerca nello spazio degli stati alle frasi espresse nel linguaggio formale. Il linguaggio formale che si è dimostrato efficace, ancorché con dei limiti nel potere espressivo e nell applicazione degli algoritmi per il ragionamento, è la logica. Vedremo due formalismi logici, che hanno un diverso potere espressivo: la più semplice logica proposizionale e la più articolata ed espressiva logica dei predicati. Cominciamo dalla logica proposizionale. Indice 1. La base di conoscenza 2. Introduzione alla logica 3. Logica proposizionale 4. Inferenza per enumerazione dei modelli 5. Inferenze mediante applicazione di regole 2

3 1. La base di conoscenza Riprendiamo il programma che abbiamo considerato nel capitolo precedente, che calcola la prossima azione da eseguire sulla base della conoscenza o modello del mondo e delle sue azioni, tenendo presente il suo obiettivo. Abbiamo compreso che la quadrupla <S 0, G, A, C> codifica la conoscenza dichiarativa: in particolare, lo stato iniziale e la funzione di costo codificano il modello del mondo, il goal test codifica gli obiettivi, l insieme A codifica tutte le azioni possibili. In qualche modo, la quadrupla compila tutta la conoscenza dichiarativa in una modalità funzionale al raggiungimento della soluzione mediante una ricerca nello spazio degli stati. Questo capitolo rende ancora più esplicito l uso della conoscenza allo scopo di trovare una soluzione. Si introduce una modalità unica, che permette di rappresentare la conoscenza in modo dichiarativo e codificare in tale modalità tutti gli elementi necessari alla risoluzione di un problema. Questa prospettiva utilizza le cosiddette basi di conoscenza (o Knowledge Base KB). La KB rappresenta la conoscenza generale sul mondo ( Il giorno si alterna alla notte., anche nella forma La erra compie una rotazione sul proprio asse in 24 ore. ), sulle azioni ( Prendere un oggetto con una mano produce come risultato di avere l oggetto in mano. ), eventualmente sull agente stesso ( L agente può spostarsi su un piano. ) e la conoscenza dei fatti contingenti sul mondo e sull agente ( Sebastian Vettel è un pilota di ormula 1, L agente ha in mano una lancia ). La KB è un insieme di enunciati (frasi, affermazioni), scritti in un linguaggio formale. La KB viene consultata (letta) e ampliata (scritta) dal Motore Inferenziale, una componente algoritmica invariante dell agente (cioè non cambia con il contenuto della KB), che è in grado di inferire nuova conoscenza a partire dalla conoscenza contenuta nella KB. Il Motore Inferenziale funziona come un algoritmo di ricerca nello spazio degli stati, solo che stavolta gli stati e le azioni sono insieme alla conoscenza generale del mondo e dell agente nella KB; quindi, il Motore è indipendente dalla conoscenza specifica e funziona sempre nello stesso modo sia per un agente che sa muoversi in autonomia sul pianeta Marte e inviare fotografie e video di ciò che incontra sia per un agente che gioca a scacchi. KB e Motore Inferenziale costituiscono il pensiero dell agente; il resto è il processo decisionale e la 3

4 comunicazione con l esterno, ad esempio mediante sensori e attuatori. In particolare, il programma deve 1) scrivere ciò che sa nella KB (ad esempio, un enunciato che rappresenta i percetti acquisiti dai sensori) - si usa una funzione primitiva che chiamiamo tell, cioè dire alla KB ciò che si sa; 2) leggere ciò che deve fare (ad esempio, l azione da eseguire, che è stata inferita) - si usa una funzione primitiva che chiamiamo ask, cioè chiedere alla KB qualcosa che essa sa (o che può inferire dalla conoscenza). Questo nuovo agente, si può realizzare secondo il seguente algoritmo: sequenza_azioni agente_basato_su_kb (input p) static KB (una base di conoscenza) t (contatore, inizialmente 0, indica il tempo) tell(kb, input_to_sentence(p, t)) sequenza_azioni ask(kb, action_sequence_query(t)) tell(kb, actions_to_sentence(sequenza_azioni, t)) t t + 1 return sequenza_azioni; L agente basato su KB è una funzione che prende un input p e restituisce una sequenza di azioni da eseguire (eventualmente nulla, se non si trova la soluzione si trascurano qui i dettagli di questi aspetti). La KB, dove si legge e si scrive la conoscenza è una memoria permanente, che viene mantenuta anche nel tempo tra due chiamate della funzione; la variabile t è un contatore (0, 1, 2, ), posto inizialmente a 0, che tiene conto del passare del tempo. Si noti che non si lavora con nessuna unità di misura (secondi, minuti, ), ma l aumento del contatore indica che è passata un unità temporale significativa (anche un decennio, si pensi al racconto in un film). Per prima cosa, il programma scrive nella KB un enunciato, nel linguaggio formale della KB, che corrisponde all acquisizione dell input (ad esempio nel caso di un sensore visivo, si acquisisce la distribuzione spaziale degli oggetti intorno alla posizione): in questo modo il programma può prendere in considerazione anche il nuovo input nel fare le inferenze che lo portano a determinare l azione da eseguire; la subroutine (che noi assumiamo come primitiva) è la input_to_sentence(p, t), che costruisce l enunciato a partire dall input e dal tempo attuale; si potrebbe dire che l enunciato sia qualcosa del tipo ho acquisito l input p a tempo t (il tempo è necessario per distinguere input uguali a tempi diversi); la funzione tell prende l enunciato elaborato dalla input_to_sentence e lo aggiunge alla KB. A questo punto, il programma chiede alla KB l azione da eseguire: la primitiva action_sequence_query(t) si occupa proprio di impacchettare una richiesta alla KB per una sequenza di azioni (una query, come nel linguaggio delle basi di dati). Con l aiuto del motore inferenziale, la KB restituisce la sequenza di azioni da eseguire. L agente inserisce anche questa azione, o meglio un enunciato che ne rappresenta l esecuzione a tempo t (elaborato dalla primitiva actions_to_sentence(sequenza_azioni, t)) nella KB. Infine, si aggiorna il contatore del tempo e si restituisce l azione, che viene inviata agli attuatori per l esecuzione. La KB, corredata del motore inferenziale, deve essere in grado, da un lato (quello statico, la KB vera e propria) di rappresentare tutta la conoscenza di interesse, generale (ad esempio, proprietà del mondo) e specifica (stati del mondo, percetti e azioni), e dall altro (quello dinamico, il motore inferenziale) la capacità di aggiornare lo stato del mondo, dedurre le azioni da eseguire, dedurre proprietà nascoste del 4

5 mondo. La KB deve essere espressa in un linguaggio formale sufficientemente espressivo da riuscire a rappresentare la conoscenza di interesse e manipolabile da un motore inferenziale (un algoritmo), che lavora sul linguaggio stesso, in grado di dedurre nuova conoscenza e aggiornare lo stato del mondo. Esempio: il mondo del wumpus [Russell, Norvig] Prima di introdurre il linguaggio, introduciamo un esempio, in modo da comprendere la conoscenza e le capacità da formalizzare. L esempio è il mondo del wumpus. E un gioco al computer, un tempo realizzato mediante linea di comando: sulle linee si leggevano i risultati della percezione e sulle linee si scrivevano le azioni dell agente, impersonato dal giocatore. L ambiente del gioco è il seguente. L ambiente è suddiviso in celle in una struttura a matrice. L obiettivo per l utente, che parte da una cella di ingresso ([1,1]) è trovare l oro (il lingotto con la G di gold in figura), che si trova in una delle celle, ma deve affrontare alcuni pericoli: in alcune celle ci possono essere pozzi profondi (P pit, cerchi neri in figura), in cui si può precipitare, senza possibilità di uscita; in una cella si trova il wumpus (W), un mostro che divora coloro che capitano nella sua cella. Per fortuna dell utente, i pericoli sono annunciati nelle celle adiacenti (destra, sinistra, sopra, sotto, non in diagonale) da alcuni segnali: i pozzi producono correnti d aria (B breeze) e il wumpus fa sentire la sua puzza (S stench). L utente può girarsi verso destra (R right turn), andare in avanti ( forward), prendere l oro (G grab): cioè, l utente ha una direzione di marcia (UP, DOWN, RIGH, LE), che cambia ruotando verso destra (R), mentre fa avanzare in una cella adiacente nella direzione di marcia. Riassumendo, abbiamo il seguente mondo: Input: Percetti (dai Sensori): puzza (S stench), corrente d aria (B breeze); Output: Azioni (agli Attuatori): gira verso destra (R right turn), avanti ( forward), prendi (G grab); Regole del gioco: Celle adiacenti al Wumpus sono puzzolenti (S stench); 5

6 Celle adiacenti ai Pozzi (P pit) sono ventose (B breeze); Prendere (G grab) preleva l oro se si è nella stessa cella. Ora esploriamo un po il mondo del wumpus, con l obiettivo di muoverci sempre in celle sicure; assumiamo cioè di riuscire a ragionare sul mondo per capire quali sono le celle sicure. Percetti, azioni, posizione attuale, la direzione di marcia e lo stato del mondo (cella sicura: ok[i,j], sospetto pozzo: P?[i,j], sicuro pozzo: P[i,j], sospetto wumpus: W?[i,j], sicuro wumpus: W[i,j], oro afferrato: O) finiscono anch essi nella KB. Introduciamo il tempo nei passi successivi. empo t = 0 (stato iniziale) Posizione attuale agente s = <[1,1], 0>; Direzione di marcia d = <UP, 0>; Percetto p = <NULL, 0> KB = {<ok[1,1], 0>, <ok[2,1], 0>, <ok[1,2], 0>} Sequenza azioni = <, 0> All inizio (tempo 0), l agente si trova in [1,1], con direzione di marcia verso l alto (UP), non percepisce nulla (NULL) e deduce che la cella stessa e le due celle adiacenti siano sicure (ok[i,j]). Decide che l azione da eseguire sia andare avanti (), portandosi nella cella sicura [2,1]. empo t = 1 Posizione attuale agente s = <[2,1], 1>; Direzione di marcia d = <UP, 1>; Percetto p = <B, 1>; KB = KB {<P?[3,1], 1>, <P?[2,2], 1>} Sequenza azioni = <R, 1>, <R, 1>, <, 1>, <R, 1>, <R, 1> <R, 1>, <, 1> Nella cella [2,1], l agente percepisce una corrente d aria (B), sospetta (facendo una deduzione) pozzi nelle celle adiacenti (potrebbero esserci entrambi o solo uno dei due) e decide che l azione migliore sia tentare un altra strada, tornando indietro verso l altra cella sicura trovata prima ([1,2]). Per far questo, deve girarsi due volte verso destra (R), andare avanti (), ancora tre volte verso destra e ancora avanti. empo t = 2 Posizione attuale agente s = <[1,2], 2>; Direzione di marcia d = <RIGH, 2>; Percetto p = <S, 2>; KB = KB {<ok[2,2], 2>, <P[3,1], 2>, <W[1,3], 2>} Sequenza azioni = <R, 2>, <R, 2>, <R, 2>, <, 2> In [1,2] si percepisce puzza (S) e si deduce immediatamente che ci deve essere il wumpus in [1,3] (se fosse stato in [2,2], avrebbe già sentito la puzza in [2,1]); deduce anche che dei pozzi sospetti, è sicuro quello in [3,1], perché sicuramente non c è in 6

7 [2,2] (altrimenti avrebbe sentito la puzza in [1,2] anche); infine, deduce che [2,2] è una cella sicura. Decide di andare verso la nuova cella sicura [2,2], facendo tre giri verso destra e un avanti. empo t = 3 Posizione attuale agente s = <[2,2], 3>; Direzione di marcia d = <UP, 3>; Percetto p = <NULL, 3>; KB = KB {<ok[3,2], 3>, <ok[2,3], 3>} Sequenza azioni = <R, 3>, <, 3> In [2,2], non percependo nulla, deduce che anche [3,2] e [2,3] sono sicure, e decide di proseguire verso una delle due, la [2,3]. empo t = 4 Posizione attuale agente s = <[2,3], 4>; Direzione di marcia d = <RIGH, 4>; Percetto p = <B, 4>, <S, 4>; KB = KB {<P?[2,4], 4>, <P?[3,3], 4>} Sequenza azioni = <R, 4>, <R, 4>, <, 4>, <R, 4>, <, 4> Nella cella [2,3] percepisce, ovviamente, la puzza del wumpus che si trova in [1,3] (avrebbe potuto prevederlo, ma non l ha fatto), e una corrente d aria (B), sospettando quindi pozzi in [3,3] e [2,4]. Si noti che, anche se la cella [3,2] è sicura per essere visitata, non è detto che non ci sia una brezza; anzi, la brezza ci sarà di sicuro perché provocata almeno dal pozzo in [3,1]. Decide quindi di visitare la cella sicura in [3,2], girandosi due volte verso destra, andando avanti, girandosi una volta a destra e ancora avanti. empo t = 5 Posizione attuale agente s = <[3,2], 5>; Direzione di marcia d = <UP, 5>; Percetto p = <B, 5>, <G, 5>; KB = KB {} Sequenza azioni = <G, 5> In [3,2], l agente percepisce una corrente d aria, sicuramente per la presenza del pozzo in [3,1], ma possibilmente anche per la sospetta presenza di un pozzo in [3,3], e anche un luccichio (G), che segnala la presenza dell oro nella cella. L agente decide (anch essa una deduzione) di eseguire l azione di prendere (G grab), entrando così in possesso dell oro. 7

8 empo t = 6 Posizione attuale agente s = <[3,2], 6>; Direzione di marcia d = <UP, 6>; Percetto p = <B, 6>; KB = KB {<O, 6>} Sequenza azioni = <R, 6>, <R, 6>, <, 6> Il possesso dell oro è rappresentato dallo stato O; ora l unico percetto in [3,2] è la corrente d aria; l agente decide di tornare verso l uscita, in particolare verso la cella sicura già visitata [2,2]. empo t = 7 Posizione attuale agente s = <[2,2], 7>; Direzione di marcia d = <DOWN, 7>; Percetto p = <NULL, 7>; KB = KB {} Sequenza azioni = <, 7> Si torna quindi ancora indietro verso [1,2]. empo t = 8 Posizione attuale agente s = <[1,2], 8>; Direzione di marcia d = <DOWN, 8>; Percetto p = <S, 8>; KB = KB {} Sequenza azioni = <R, 8>, <, 8> Con un ultima azione di giro verso destra e avanzata si arriva a [1,1]. empo t = 9 Posizione attuale agente s = <[1,1], 9>; Direzione di marcia d = <LE, 8>; Percetto p = <NULL, 9>; KB = KB {} Sequenza azioni = <SOP, 9> In questa simulazione, abbiamo eseguito alcune delle possibili deduzioni e azioni dell agente. Il lettore potrebbe eseguire una simulazione più accurata, deducendo tutto il possibile (abbiamo già fatto notare che alcuni risultati della percezione si sarebbero potuti anticipare, anche se il tipo di enunciato sarebbe dovuto essere distinto da quello della percezione vera e propria). Ora introduciamo un linguaggio formale che permette di rappresentare la conoscenza insieme con un meccanismo di inferenza che permetta di eseguire le deduzioni che abbiamo qui compiuto. In realtà, introduciamo due linguaggi formali, due cosiddette logiche, di diverso potere espressivo e inferenziale. 8

9 2. Introduzione alla logica La logica, o meglio le logiche (dato che ce ne sono tante), sono linguaggi formali che rappresentano la conoscenza in modo tale che si possano trarre delle inferenze, cioè conoscenze nuove deducibili in modo sicuro dalle conoscenze in possesso dell agente. Come tutti i linguaggi, anche per una logica, si definiscono sintassi e semantica. La sintassi, con le sue regole, definisce quali sono le frasi ben formate del linguaggio, cioè le frasi che è possibile interpretare, alle quali cioè si può assegnare un significato; la semantica definisce il significato delle frasi ben formate. La semantica delle logiche che prenderemo in considerazione si dice basata sul valore di verità degli enunciati (truth-value based) rispetto a un mondo di riferimento, cioè a ogni enunciato (o frase del linguaggio) si assegna il valore vero o falso. Ad esempio, nel linguaggio implicito utilizzato per definire gli stati del problema dei missionari e dei cannibali (capitolo 2), l enunciato (cioè lo stato) <3, 3, 1> è corretto sintatticamente; l enunciato <3, 3, 1, 0> è scorretto sintatticamente, per numero di componenti nel secondo caso; nello stato iniziale, l enunciato <M, 3, 1> è vero se e solo se M=3 è vero; A differenza dei linguaggi naturali, i linguaggi formali devono consentire le deduzioni automatiche, cioè dei meccanismi che permettono di dedurre nuova conoscenza a partire da quella già in nostro possesso. A tale scopo, introduciamo alcune nozioni rilevanti. Per conseguenza logica si intende che un enunciato segue da un altro enunciato o da un insieme di enunciati. Con l espressione KB α si intende che la base di conoscenza KB ha come conseguenza logica l enunciato α. Si afferma inoltre che KB ha come conseguenza logica se e solo se α è vera in tutti i mondi in cui è vera KB. Ad esempio, la KB che contiene gli enunciati Giorgio ha preso il coltello La cucina è al buio ha come conseguenza logica che Giorgio ha preso il coltello e la cucina è al buio (la cosiddetta congiunzione dei due enunciati, vedi dopo). Allo stesso modo, nel linguaggio del problema dei missionari e dei cannibali la KB data dallo stato <2, 3, 1> ha come conseguenza logica <1, 0, 0> La conseguenza logica è una relazione tra gli enunciati che è basata sulla semantica. inora abbiamo parlato genericamente di mondi per definire la semantica. uttavia, per definire la semantica dei linguaggi logici ci si riferisce in generale alle astrazioni dei mondi, dette modelli. Un modello rappresenta solo una parte della conoscenza su un mondo, in generale la conoscenza che è di interesse per la soluzione di un 9

10 problema. Il modello è strutturato in modo formale da consentire la valutazione del valore di verità. Si dice che m è un modello per l enunciato α se α è vera nel modello m. e indichiamo con M(α) l insieme di tutti i modelli di α. Riprendendo la definizione precedente, si può dire che KB ha come conseguenza logica l enunciato α se e solo se α è vera in tutti i modelli in cui è vera KB, cioè se tutti i modelli di KB sono anche modelli di α. Si scrive KB α sse M(KB) M(α) dove sse sta per se e solo se. Questa espressione indica delle condizioni necessarie e sufficienti: cioè si intende che se KB ha come conseguenza logica α, allora i modelli di KB sono necessariamente modelli di α, e anche che se i modelli di KB sono anche modelli di α, allora KB ha come conseguenza logica α. Graficamente, si indica nel modo seguente: Ad esempio, tutti i modelli che rendono vera la KB costituita dall enunciato Giorgio ha preso il coltello e la cucina è al buio rendono vero anche l enunciato Giorgio ha preso il coltello. Connessa alla nozione di conseguenza logica è la nozione di inferenza. Con l espressione KB i α si intende che l enunciato a possa essere derivato da KB mediante la procedura i- esima. Mentre la conseguenza logica stabilisce il cosa, cioè una relazione tra enunciati, la procedura di inferenza stabilisce il come, cioè una procedura effettiva per derivare una conseguenza logica a partire da una KB. Di procedure di inferenza ne possono esistere molte; ecco perché si usa l indice i per indicarne una. Una procedura di inferenza, per essere di interesse, deve essere corretta e completa. Per correttezza, si intende la seguente proprietà: La procedura di inferenza i-esima è corretta se ogni enunciato a, derivato dalla KB mediante la procedura i-esima, cioè KB 0 α, è conseguenza logica di KB, cioè KB α. In altre parole, la procedura di inferenza i- 10

11 esima è corretta se per tutti i casi in cui KB 0 α, è anche vero che KB α. Per completezza, si intende la seguente proprietà: La procedura di inferenza i-esima è completa se ogni enunciato a, è conseguenza logica di KB, cioè tale per cui KB α, è derivato dalla KB mediante la procedura i-esima, cioè KB 0 α. In altre parole, la procedura di inferenza i-esima è completa se per tutti i casi in cui KB α, è anche vero che KB 0 α. Per comprendere come si possa costruire un modello e quindi comprendere le nozioni di conseguenza logica e inferenza, si pensi alle possibilità vero/falso che produce una certa caratteristica. acciamo un esempio tratto dal mondo del wumpus, limitandoci a parlare solo della presenza di pozzi nelle celle. Un pozzo in una cella può esserci o non esserci e pensiamo ai possibili modelli che generano tre celle non visitate dall agente: dall alto in basso, [3,1], [2,2], [1,2]. Prima di applicare la conoscenza che abbiamo nella KB, consideriamo tutti i modelli possibili. Avendo considerato solo tre celle, ci sono 8 (=2 3 ) modelli possibili: il 3 all esponente rappresenta le tre celle, il 2 alla base rappresenta le possibilità per ogni cella (assenza o presenza di pozzo). Come si vede sono contemplate tutte le possibilità teoriche per le tre celle, limitandoci al caso dei pozzi (si trascurano cioè presenza di wumpus e di oro e le eventuali percezioni). Consideriamo ora l enunciato a 1 =P[2,2], cioè C è un pozzo in [2,2].. Si ha che quattro modelli rendono vera a 1, come si vede nella figura seguente (confrontare con la figura precedente, con tutti i modelli possibili). I quattro modelli sono detti M(a 1 ). 11

12 Se invece consideriamo i modelli che rendono vero l enunciato a 2 =ok[1,2], cioè Non c è un pozzo in [1,2]., si hanno di nuovo quattro modelli, non gli stessi di prima (vedi figura seguente e confronta con le figure precedenti), M(a 2 ). Infine, si considerino i modelli che rendono vera la KB, la quale, tenendo conto del fatto che non si percepisce corrente d aria in [1,1], quindi non può esserci pozzo in [1,2]; si percepisce corrente d aria in [2,1], quindi c è pozzo in [1,2], [3,1], entrambi. I modelli della KB (cioè M(KB)) sono i seguenti tre. 12

13 Come si può notare, si ha che tutti i modelli di KB sono anche modelli di a 2 (M(KB) M(α 3 )), ma questo contenimento non succede per a 1 (M(KB) M(α 5 )); si ha quindi che a 2 sia una conseguenza logica di KB, mentre a 1 non lo è. Occorre introdurre un linguaggio logico che sia espressivo a sufficienza da rappresentare la conoscenza di interesse e per la quale esista una procedura di inferenza corretta e completa, cioè, una procedura di inferenza che deriva tutti i possibili enunciati che sono conseguenza logica di una KB. Cominciamo dalla logica proposizionale. 3. Logica proposizionale La logica proposizionale è la logica più semplice, e rappresenta la base per logiche più sofisticate che hanno un potere espressivo sufficiente per rappresentare la conoscenza. Cominciamo dalla sintassi. Sintassi della logica proposizionale I simboli proposizionali P 1, P 2,, sono proposizioni, dette proposizioni (o enunciati o formule) atomiche. Inoltre, ricorsivamente, si definiscono le proposizioni composte: Se S è una proposizione, S è una proposizione (negazione); Se S 1 e S 2 sono proposizioni, S 1 S 2 è una proposizione (congiunzione); Se S 1 e S 2 sono proposizioni, S 1 S 2 è una proposizione (disgiunzione); Se S 1 e S 2 sono proposizioni, S 1 S 2 è una proposizione (implicazione); Se S 1 e S 2 sono proposizioni, S 1 S 2 è una proposizione (bi-condizionale). Ad esempio, chiamiamo P 1,1 la proposizione che rappresenta la presenza di un pozzo in [1,1], B 1,2 la proposizione che rappresenta la presenza di una corrente d aria in [1,2], S 2,1 la proposizione che rappresenta la presenza di puzza in [2,1], W 3,1 la proposizione che rappresenta la presenza del wumpus in [3,1]. Inoltre, possiamo scrivere che la presenza di una corrente d aria in [1,1] dipende dalla presenza di un pozzo in [1,2], in [2,1], o in entrambi. Questo si può scrivere nel modo seguente: B 1,1 (P 1,2 P 2,1 ) Semantica della logica proposizionale Ogni modello attribuisce il valore vero ( true) o il valore falso ( alse) ai simboli proposizionali. Ad esempio, B 1,1 ha il valore falso () nel modello considerato in precedenza, mentre P 3,1 ha il valore vero (). Uno dei pregi della logica proposizionale è che presenta una semantica di tipo composizionale, cioè il valore di verità delle proposizioni composte si può calcolare a partire dalle proposizioni che le costituiscono. Ecco le regole per valutare il valore di verità di una proposizione composta, rispetto a un modello m: S è vero () se e solo se S è falso; S 1 S 2 è vero () se e solo se S 1 è vero () and S 2 è vero (); 13

14 S 1 S 2 è vero () se e solo se S 1 è vero () oppure S 2 è vero (); S 1 S 2 è vero () se e solo se S 1 è falso () oppure S 2 è vero (), cioè a dire è falso () se e solo se S 1 è vero e S 2 è falso; S 1 S 2 è vero () se e solo se S 1 S 2 è vero () e S 2 S 1 è vero (). Ad esempio, il valore di verità di P 1,2 (P 2,2 P 3,1 ) è dato da ( ) = = E comodo compilare una tabella di verità per tutti i connettivi: P Q P PÙQ PÚQ PÞQ PÛQ Ogni riga di una tabella di verità contiene un modello: infatti, ogni simbolo proposizionale può essere valutato vero o falso; le righe sono quindi 2 n, dove n è il numero totale di simboli proposizionali. Se vogliamo calcolare il valore di verità di un espressione costruiamo un adatta tabella di verità. Ad esempio, supponiamo di voler calcolare il valore di verità della proposizione (P 5 P 3 ) (P 5 P 3 ) Costruiamo la tabella di verità corrispondente. P 1 P 2 P 5 P 3 P 5 P 3 (P 5 P 3 ) (P 5 P 3 ) (P 5 P 3 ) Nelle prime due colonne troviamo tutti i simboli proposizionali; nelle colonne intermedie si trovano i valori di verità di proposizioni composte preparatorie; nell ultima colonna si trovano i valori finali dell espressione iniziale. Come si vede, la formula rappresenta il comportamento dell OR esclusivo, che è vero solo nel caso in cui o è vero l uno o è vero l altro enunciato, ma è falso quando sono falsi entrambi o sono veri entrambi. 4. Inferenza per enumerazione dei modelli Le tabelle di verità si possono utilizzare per calcolare le inferenze di una KB; si ha un metodo che è corretto e completo per la logica proposizionale. Il metodo implementa direttamente la definizione di conseguenza logica, per cui tutti i modelli di KB devono essere anche modelli per le proposizioni che sono conseguenze logiche. In pratica, si 14

15 calcolano tutte le righe (i modelli possibili) di una KB, date da tutte le disposizioni dei valori / per tutti i simboli proposizionali atomici che compaiono nella KB; quindi, si cercano le righe (cioè i modelli) che rendono vera la KB (M(KB)) e si controlla se in questi modelli è vera anche la proposizione a che si vuol dimostrare essere una conseguenza logica. Il metodo è corretto e completo perché applica direttamente la definizione di conseguenza logica. Applichiamo subito questa procedura di inferenza definita in modo informale all esempio del mondo del wumpus. Sia P i,j vero se c è un pozzo nella cella [i, j]; sia B i,j vero se c è una brezza in [i, j]. Consideriamo tutto ciò che sappiamo e che costituisce la KB (ci limitiamo al caso di brezze e pozzi nei primi due passi illustrati prima con i modelli). Non c è un pozzo in [1,1], R1: P 1,1 "I pozzi causano brezze nelle celle adiacenti R2: B 1,1 (P 1,2 P 2,1 ) e R3: B 2,1 (P 1,1 P 2,2 P 3,1 ) Non c è brezza in [1,1], R4: B 1,1 C è brezza in [2,1], R5: B 2,1 In totale, la nostra KB è la seguente: R1: P 1,1 R2: B 1,1 (P 1,2 P 2,1 ) R3: B 2,1 (P 1,1 P 2,2 P 3,1 ) R4: B 1,1 R5: B 2,1 a è l enunciato Non c è un pozzo in [1,2], quindi a: P 1,2. B 1,1 B 2,1 P 1,1 P 1,2 P 2,1 P 2,2 P 3,1 R1 R2 R3 R4 R5 KB a Spieghiamo il contenuto della tabella. La prima colonna a sinistra rappresenta il numero progressivo del modello. Poiché esistono 7 simboli proposizionali, ci sono

16 (=128) modelli possibili. Nelle successive 7 colonne, abbiamo inserito i simboli proposizionali, che con il loro valore di verità ( o ), realizzano i 128 modelli. Le successive 5 colonne rappresentano ciascuna il valore di verità di una proposizione della KB (da R1 a R5); la penultima colonna rappresenta il valore di verità della KB intera (che sarebbe la congiunzione di tutte le proposizioni); l ultima colonna rappresenta il valore di verità di a, che poi sarebbe il valore negato del valore del quarto simbolo proposizionale P 1,2. L enumerazione dei 128 modelli parte da <,,,,,,> e finisce a <,,,,,,>, sistematicamente, come avviene nell enumerazione binaria, alternando tra e : l ultimo simbolo (il settimo, nel nostro caso, P 3,1 ) ogni riga (cioè il valore rimane fisso solo per una riga); il penultimo simbolo (cioè il sesto, P 2,2 ) ogni 2 righe (2 1 ); il terzultimo simbolo (il quinto, P 2,1 ) ogni 4 righe (2 2 ); il quartultimo simbolo (anche il quarto, nel nostro caso, P 1,2 ) ogni 8 righe (2 3 ); il quintultimo simbolo (il terzo, P 1,1 ) ogni 16 righe (2 4 ); il sestultimo simbolo (il secondo, B 2,1 ) ogni 32 righe (2 5 ); il primo simbolo (B 1,1 ) ogni 64 righe (2 6 ). Un algoritmo (che vedremo tra un attimo) farebbe un enumerazione sistematica dei modelli, calcolando il valore di verità di ogni proposizione della KB e quindi verificando se il valore di a è nei casi in cui KB (cioè la congiunzione di tutte le sue proposizioni) sia. Infatti, data la definizione, per stabilire una conseguenza logica tra KB e a, ci interessa considerare quei modelli per i quali KB è vera e anche la proposizione a è vera. uttavia, essendo noi umani, proviamo a fare qualche considerazione qualitativa sulla tabella, provando a interpretare i modelli e i risultati del calcolo dei valori di verità della KB. I primi 64 modelli, poiché hanno in comune il fatto che B 1,1 sia vero (cioè che esiste una brezza in [1,1]), rendono sempre falsa l intera KB, perché rendono falso la proposizione R4 ( B 1,1 ) di KB, che stabilisce che B 1,1 sia falso; quindi, ci spostiamo subito sui modelli numerati da 65 a 128; I modelli dal 65 all 80 sono caratterizzati dal valore del simbolo proposizionale P 1,1 che è richiesto negato dalla proposizione R1 ( P 1,1 ) della KB; quindi questi modelli rendono falsa la KB; I 12 modelli dall 81 al 92, falsificano la regola R2 (B 1,1 (P 1,2 P 2,1 )) in quanto B 1,1 è, e quindi si richiede che anche P 1,2 P 2,1 sia, cioè entrambi P 1,2 e P 2,1 siano, e non è il caso in questi 12 modelli; I tre modelli dal 93 al 95 sono gli unici a rendere vera () la KB: per questi tre modelli anche a è vera. Per cui a è conseguenza logica di KB. Il modello 96 rende falsa R3, e quindi la KB; Dal modello 97 al modello 128 la proposizione B 2,1 è, mentre la regola R5 della KB prevede che sia. Nella tabella le celle con i indicano che il valore in alto nella colonna si ripete per tutti i modelli non rappresentati. Questo metodo di inferenza, che abbiamo appena illustrato con un esempio, è detto inferenza per enumerazione, in quanto si tratta di enumerare tutti i modelli. Per n 16

17 simboli, si generano (enumerano) 2 n modelli (complessità temporale esponenziale, complessità spaziale lineare si tiene un solo modello per volta), e si verificano le condizioni previste dalla definizione di conseguenza logica, cioè modelli veri della proposizione inferenza a fronte di modelli veri della KB. La seguente funzione realizza questo tipo di procedura di inferenza. boolean _entails?(kb,alpha) symbols tutti i simboli proposizionali in KB e alpha return _check_all (KB, alpha, symbols, []) boolean _check_all(kb,alpha,symbols,model) if symbols è l insieme vuoto then if PL_true(KB,modello) then return PL_true(alpha, modello) else return true else P first(symbols); rest rest(symbols) return _check_all (KB,alpha,rest,extend(<P,>, modello)) and _check_all (KB,alpha,rest,extend(<P,>, modello)) La procedura estrae tutti i simboli proposizionali dalle formule di KB e a. Quindi, una subroutine ricorsiva, _check_all, che compie una ricerca in profondità, enumera tutti i modelli, aggiungendo una coppia <simbolo proposizionale, valore di verità> a ogni chiamata ricorsiva. A ogni chiamata, infatti, viene estratto un simbolo (parte else della funzione), a cui viene assegnato un valore di verità (<P, > o <P, >). La coppia simbolo-valore è utilizzata per estendere un modello, che parte dal modello vuoto ([], prima chiamata di _check_all) e si amplia di una coppia a ogni chiamata ricorsiva. Quando il modello è completo di tutti i simboli (parte then, la lista dei simboli è vuota), si calcola il valore di verità della KB (PL_true) e, se questo risulta vero, si calcola anche il valore di verità della proposizione a. Nel caso quest ultimo risulti falso, si ha che a non può essere conseguenza logica, si restituisce falso e la procedura termina; nel caso il valore di verità della proposizione a risulti vero allora si restituisce vero per proseguire la ricerca. Notare che si restituisce vero anche quando il valore per la KB è falso questi casi non ci interessano, infatti, per il calcolo della conseguenza logica). Poiché la ricerca per enumerazione è molto lunga, ci sono soluzioni alternative che si basano su una classe di procedure di inferenza basate su regole (di inferenza). 5. Inferenze mediante applicazione di regole Le procedure di inferenza per applicazione di regole (dette regole di inferenza) sono un alternativa all inferenza per enumerazione, che ha tempi esponenziali rispetto al numero di simboli proposizionali presenti. L inferenza per model checking si basa su alcune nozioni che dobbiamo prima definire. Equivalenza logica Due enunciati si dicono logicamente equivalenti se e solo se sono veri negli stessi modelli. 17

18 α β se e solo se α β e β α Poiché richiediamo che una sia conseguenza logica dell altra, e viceversa, i modelli in cui sono veri i due enunciati saranno esattamente gli stessi. Le equivalenze logiche si dimostrano mediante le tabelle di verità; a seconda della pertinenza si possono raggruppare in classi. Eccone alcune note. Commutatività di AND e OR: (α β) (β α) (α β) (β α) Associatività di AND e OR: ((α β) γ) (α (β γ)) ((α β) γ) (α (β γ)) Doppia negazione: una proposizione è logicamente equivalente alla negazione della sua negazione (una doppia negazione annulla). ( α) α Implicazione Contrapposizione: (α β) ( β α) Eliminazione dell implicazione: (α β) ( α β) Eliminazione del bi-condizionale: (α β) ((α β) (β α)) De Morgan (α β) ( α β) (α β) ( α β) Distributività dell AND sull OR e viceversa (α (β γ)) ((α β) (α γ)) (α (β γ)) ((α β) (α γ)) Identità Negazione Idempotenza Limiti superiore e inferiore α α α α α α α α α α α α α α α α Grazie alle tabelle si possono dimostrare queste e molte altre equivalenze logiche. Quindi, se vogliamo dimostrare la verità di un certo enunciato possiamo utilizzare indifferentemente uno o l altro di due enunciati logicamente equivalenti. Vediamo ora altri due concetti utili. 18

19 [Esercizio. Dimostrare le equivalenze logiche mediante tabella di verità. Suggerimento: il numero di modelli è dato dal calcolo combinatorio (disposizioni) dei simboli proposizionali presenti.] Validità Un enunciato è valido se è vero in tutti i modelli. Ad esempio, il valore di verità (vero), cioè la proposizione che vale sempre vero, è sicuramente un enunciato valido. Altri esempi: 1. α α 2. α α 3. (α (α β)) β (Modus Ponens) 4. ( β (α β)) α (Modus ollens) 5. ((α β) (β γ)) (α γ) (ransitività) 6. ((α β) β) α, ((α β) α) β (Eliminazione della disgiunzione) 7. (α β) β, (α β) α (Eliminazione della congiunzione) La validità è connessa all inferenza mediante il eorema della Deduzione, che afferma: Quindi, nel caso di KB α se e solo se KB α è valido. (α (α β)) β si ha che una KB che contiene le proposizioni α e α β ha come conseguenza logica β. [Esercizio. Dimostrare la validità dell enunciato, calcolando la sua tabella di verità e verificando che tutti i modelli sono modelli dell enunciato.] Abbiamo quindi trovato due modi per calcolare che un enunciato sia conseguenza logica di una base di conoscenza. Nel primo caso, la nozione di equivalenza logica implica la nozione di conseguenza logica, per cui se un certo enunciato è equivalente a un altro, si può anche dire che uno sia conseguenza logica dell altro (è indifferente la direzione di applicazione). Nel secondo caso, se siamo in presenza di un enunciato valido, come negli esempi 3 e 4 in precedenza, il secondo termine dell implicazione sarà conseguenza logica dei congiunti del primo termine: operativamente, si tratta di una regola di inferenza, cioè dai congiunti del primo termine, che sono detti premesse, si può concludere il secondo termine, che è detto conclusione. L equivalenza logica e la validità sono entrambe operative come regole di inferenza, che producono nuovi enunciati a partire dalla KB; i nuovi enunciati si possono aggiungere alla KB, che arriverà a includere l enunciato α, se questo è conseguenza logica. La nuova dimostrazione procederà dalla KB iniziale, producendo nuovi enunciati alla ricerca di α, un esplorazione dello spazio degli stati delle KB possibili. Applichiamo ora le regole di inferenza per dimostrare che non esiste un pozzo in [1,2], nel caso del mondo del wumpus (a: P 1,2 ). Ricordiamo che la KB è la seguente: 19

20 R 1 : P 1,1 R 2 : B 1,1 (P 1,2 P 2,1 ) R 3 : B 2,1 (P 1,1 P 2,2 P 3,1 ) R 4 : B 1,1 R 5 : B 2,1 Eliminando il bi-condizionale da R2 (vedi l equivalenza logica in precedenza), si ottiene R 6 : (B 5,5 P 5,3 P 3,5 ) (P 5,3 P 3,5 B 5,5 ) A questo punto si elimina la congiunzione mediante una conseguenza logica (la 4 dell elenco precedente): R 7 : (P 5,3 P 3,5 B 5,5 ) Mediante l applicazione dell equivalenza logica della contrapposizione, si ottiene R 8 : B 5,5 (P 5,3 P 3,5 ) A questo punto si può applicare il Modus Ponens tra R8 e R4, producendo R 9 : (P 5,3 P 3,5 ) che con l applicazione di De Morgan diventa R 10 : P 5,3 P 3,5 Eliminando infine la congiunzione, si ha R 11 : P 5,3 che è la proposizione cercata. Come si nota, l applicazione delle regole di inferenza è molto efficace se si riesce a identificare tutte le volte le proposizioni rilevanti per la soluzione del problema. Corrisponde a una ricerca nello spazio degli stati. Sfruttando le nozioni di equivalenza logica e di validità, si possono trovare le conseguenze logiche di una KB. L applicazione delle regole di inferenza però non sempre è corretta e completa. Il metodo universale di applicazione usa una sola regola, detta di risoluzione, che sfrutta la nozione di soddisfacibilità in un metodo detto di refutazione. In poche parole, una proposizione α è conseguenza logica di una KB quando la congiunzione di KB e α forma un insieme di proposizioni insoddisfacibile, per il quale cioè non esiste un modello. Non approfondiamo qui questo aspetto. Invece, dal punto di vista della rappresentazione della conoscenza, la logica proposizionale si rivela uno strumento povero, con poco potere espressivo. In 20

21 particolare, l impegno ontologico della logica proposizionale si limita alle proposizioni e non scende nel dettaglio della loro struttura. E così che la proposizione P1,2 non ha alcuna relazione con la proposizione P2,1, sebbene entrambe riguardino pozzi e celle del mondo del wumpus. Usiamo quindi un linguaggio logico più espressivo: la logica dei predicati. Esercizio di conseguenza logica: L arringa dell avvocato adattato da [ Arringa: Se il mio cliente è colpevole, allora il coltello era nel cassetto. Ma, o il coltello non era nel cassetto o ullio Malesano lo avrebbe visto, il coltello. uttavia, se il coltello non era lì il 10 ottobre, allora ullio Malesano non lo ha visto, il coltello. Inoltre, se il coltello fosse stato lì il 10 ottobre, allora non solo il coltello sarebbe stato nel cassetto ma anche il martello sarebbe stato nel ripostiglio. Ma tutti sappiamo che il martello non era nel ripostiglio. Per cui, signore e signori della giuria, il mio cliente è innocente. Si possono identificare le seguenti proposizioni atomiche (scorporando i connettivi analizzati nel linguaggio naturale e riportando le espressioni a una forma neutra al presente). P 1 : Il mio cliente è colpevole. P 2 : Il coltello è nel cassetto. P 3 : ullio Malesano vede il coltello. P 4 : Il coltello è lì il 10 ottobre. P 5 : Il martello è nel ripostiglio. Si ha quindi la seguente KB: R 1 : P 5 P 3 R 2 : ( P 3 P N ) ( P 3 P N ) R 3 : P O P N R 4 : P O (P 3 P P ) R 5 : P P Con a: P 5 Si dimostri che a è conseguenza logica di KB mediante tabella di verità (inferenza per enumerazione) e applicando equivalenza logica e validità (inferenza con regole). Suggerimento: Sull inferenza per enumerazione, solo un modello di KB e anche modello di a; sull inferenza con regole, per evitare inferenze che non conducono all obiettivo, conviene ricercare quelle portano velocemente a a (si tratta di 13 inferenze, di cui 4 modus ponens, 2 contrapposizioni, 2 introduzioni dell implicazione, 2 eliminazioni dell AND, 1 distributività, 1 commutatività dell OR, 1 eliminazione dell implicazione). 21

22 22

23 Bibliografia utile per questa sezione Stuart Russell, Peter Norvig, Intelligenza artificiale 3/Ed. - Vol. 1, Un approccio moderno, Pearson Education, 2010, pp Capitoli 7, 8,

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

Laurea Magistrale in Cinema e Media Corso di Rappresentazione e Algoritmi Modulo I - 6 CFU

Laurea Magistrale in Cinema e Media Corso di Rappresentazione e Algoritmi Modulo I - 6 CFU Laurea Magistrale in Cinema e Media Corso di Rappresentazione e Algoritmi Modulo I - 6 CFU Laurea Magistrale in Scienze della Mente Corso di Intelligenza artificiale Modulo I - 4 CFU Anno Accademico 2013/14

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

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

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

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

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

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

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

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

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

Inferenza nella logica proposizionale

Inferenza nella logica proposizionale Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A7_3 V1.7 Inferenza nella logica proposizionale Il contenuto del documento è liberamente utilizzabile dagli studenti,

Dettagli

Logica Proposizionale

Logica Proposizionale Intelligenza rtificiale I Logica Proposizionale Introduzione Marco Piastra Intelligenza rtificiale I -.. 28-29 29 Introduzione al corso ] lgebre di Boole Definizione Una collezione di oggetti X su cui

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

LOGICA FUZZY, I LOGICA DI GÖDEL

LOGICA FUZZY, I LOGICA DI GÖDEL LOICA FUZZY, I LOICA DI ÖDEL SINTASSI, SEMANTICA POLIVALENTE, COMPLETEZZA VINCENZO MARRA 1. Sintassi Si consideri nuovamente l alfabeto A = {(, ), X,, $,,,,, } impiegato per la logica proposizionale classica,

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

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

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

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

CALCOLO PROPOSIZIONALE: CENNI

CALCOLO PROPOSIZIONALE: CENNI CALCOLO PROPOSIZIONALE: CENNI Francesca Levi Dipartimento di Informatica February 26, 2016 F.Levi Dip.to Informatica Informatica per le Scienze Umane a.a. 15/16 pag. 1 La Logica La logica è la disciplina

Dettagli

Esercitazioni per il corso di Logica Matematica

Esercitazioni per il corso di Logica Matematica Esercitazioni per il corso di Logica Matematica Luca Motto Ros 02 marzo 2005 Nota importante. Queste pagine contengono appunti personali dell esercitatore e sono messe a disposizione nel caso possano risultare

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

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

Sistemi di inferenza Consentono di derivare formule da altre formule: formalizzazione del ragionamento. Un sistema di inferenza è costituito da: un

Sistemi di inferenza Consentono di derivare formule da altre formule: formalizzazione del ragionamento. Un sistema di inferenza è costituito da: un Sistemi di inferenza Consentono di derivare formule da altre formule: formalizzazione del ragionamento. Un sistema di inferenza è costituito da: un insieme di assiomi un insieme di regole di inferenza,

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

Dispensa su. Funzioni Booleane. Jianyi Lin Università degli Studi di Milano

Dispensa su. Funzioni Booleane. Jianyi Lin Università degli Studi di Milano Dispensa su Funzioni Booleane Jianyi Lin Università degli Studi di Milano jianyi.lin@unimi.it 18 novembre 2011 1 Operazioni booleane In questa sezione introduciamo il concetto di funzione booleana e accenniamo

Dettagli

Agenti logici: calcolo proposizionale. Maria Simi a.a. 2015/2016

Agenti logici: calcolo proposizionale. Maria Simi a.a. 2015/2016 Agenti logici: calcolo proposizionale Maria Simi a.a. 2015/2016 Sintassi La sintassi definisce quali sono le frasi legittime del linguaggio: formula formulaatomica simbolo formulacompless a formulaatomica

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

Introduzione alla logica proposizionale

Introduzione alla logica proposizionale Introduzione alla logica proposizionale Mauro Bianco Questa frase è falsa Contents 1 Proposizioni 1 2 Altri operatori 4 Nota : Le parti delimitate da *** sono da considerarsi facoltative. 1 Proposizioni

Dettagli

4 Agenti Logici e Pianificazione

4 Agenti Logici e Pianificazione Esercizio 4.1 Supponiamo di essere nella seguente situazione: 1. Mostrare tutti i possibili stati delle tre possibili posizioni che vorremmo esplorare, ovvero [1, 3], [2, 2] e [3, 1]; 2. Verificare tramite

Dettagli

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) DISPENSA N. 4 Sommario. Dimostriamo il Teorema di Completezza per il Calcolo dei Predicati del I ordine. 1. Teorema di Completezza Dimostriamo il Teorema

Dettagli

Logica proposizionale

Logica proposizionale Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A7_2 V1.1 Logica proposizionale Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale

Dettagli

Ragionamenti e metodi di dimostrazione. Liceo Scientifico Statale S. Cannizzaro Prof.re E. Modica

Ragionamenti e metodi di dimostrazione. Liceo Scientifico Statale S. Cannizzaro Prof.re E. Modica Ragionamenti e metodi di dimostrazione Liceo Scientifico Statale S. Cannizzaro Prof.re E. Modica Proposizioni Si definisce proposizione una frase alla quale è possibile attribuire uno e un solo valore

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

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

Intelligenza Artificiale I

Intelligenza Artificiale I Intelligenza rtificiale I Logica formale Primi elementi Marco Piastra Logica formale - Primi elementi - Sottoinsiemi e operatori Sottoinsiemi U Insieme di riferimento (insieme sostegno) {,, C, } Collezione

Dettagli

Intelligenza Artificiale I

Intelligenza Artificiale I Intelligenza Artificiale I Logica formale Calcolo simbolico Marco Piastra Logica formale - Calcolo simbolico - 1 Conseguenza, decidibilità Una fbf è conseguenza logica di un insieme di fbf sse qualsiasi

Dettagli

Intelligenza Artificiale. Logica Prime definizioni

Intelligenza Artificiale. Logica Prime definizioni Intelligenza rtificiale Logica Prime definizioni Marco Piastra Logica formale (Parte ) - Parte Sottoinsiemi lgebra di oole Linguaggio proposizionale Soddisfacibilità Conseguenza logica Logica formale (Parte

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

4 La Logica come base di ogni scienza. 5 Alla ricerca della forma logica. logica

4 La Logica come base di ogni scienza. 5 Alla ricerca della forma logica. logica 4 La Logica come base di ogni scienza La Logica è alla base di ogni scienza (o teoria) in quanto è fondamento di ogni scienza non tanto per i contenuti specifici ma per la loro articolazione deduttiva.

Dettagli

Logica: nozioni di base

Logica: nozioni di base Fondamenti di Informatica Sistemi di Elaborazione delle Informazioni Informatica Applicata Logica: nozioni di base Antonella Poggi Anno Accademico 2012-2013 DIPARTIMENTO DI SCIENZE DOCUMENTARIE LINGUISTICO

Dettagli

UNIVERSITÀ DEGLI STUDI LA SAPIENZA CORSO DI STUDI IN INFORMATICA ESERCITAZIONI AL CORSO DI LOGICA MATEMATICA LOGICA PROPOSIZIONALE

UNIVERSITÀ DEGLI STUDI LA SAPIENZA CORSO DI STUDI IN INFORMATICA ESERCITAZIONI AL CORSO DI LOGICA MATEMATICA LOGICA PROPOSIZIONALE UNIVERSITÀ DEGLI STUDI LA SAPIENZA CORSO DI STUDI IN INFORMATICA ESERCITAZIONI AL CORSO DI LOGICA MATEMATICA LOGICA PROPOSIZIONALE TAVOLE DI VERITÀ, COLETEZZA VERO-FUNZIONALE Esercizio 1. Calcola le tavole

Dettagli

Introduzione ad alcuni sistemi di logica modale

Introduzione ad alcuni sistemi di logica modale Introduzione ad alcuni sistemi di logica modale Laura Porro 16 maggio 2008 1 Il calcolo proposizionale Prendiamo come primitivi i simboli del Calcolo Proposizionale (PC) tradizionale a due valori 1 : un

Dettagli

Linguaggi. Claudio Sacerdoti Coen 13/12/ : I connettivi della logica proposizionale classica. Universitá di Bologna

Linguaggi. Claudio Sacerdoti Coen 13/12/ : I connettivi della logica proposizionale classica. Universitá di Bologna Linguaggi 8: I connettivi della logica proposizionale classica Universitá di Bologna 13/12/2017 Outline I connettivi della logica proposizionale classica 1 I connettivi della logica

Dettagli

marina/did/mdis03/ marina/did/mdis03/ marina/did/mdis03/

marina/did/mdis03/   marina/did/mdis03/   marina/did/mdis03/ Matematica Discreta (elementi) E-O CdL Informatica Elementi di logica formale 8 ottobre 2003 Marina Cazzola (marina@matapp.unimib.it) Dipartimento di Matematica e Applicazioni Università di Milano Bicocca

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

Sesto modulo: Logica Obiettivi 1. individuare dei "calcoli logici" che consentano di meccanizzare l attività deduttiva

Sesto modulo: Logica Obiettivi 1. individuare dei calcoli logici che consentano di meccanizzare l attività deduttiva Sesto modulo: Logica Obiettivi 1. individuare dei "calcoli logici" che consentano di meccanizzare l attività deduttiva 2. stabilire quali ragionamenti sono corretti e quali no 3. distinguere tra condizione

Dettagli

Sintassi. Linguaggi. 4: Sintassi. Claudio Sacerdoti Coen. Universitá di Bologna 24/02/2011. Claudio Sacerdoti Coen

Sintassi. Linguaggi. 4: Sintassi. Claudio Sacerdoti Coen. Universitá di Bologna 24/02/2011. Claudio Sacerdoti Coen Linguaggi 4: Universitá di Bologna 24/02/2011 Outline 1 Wikipedia: La sintassi è la branca della linguistica che studia i diversi modi in cui le parole si uniscono tra loro per formare

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

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

Macchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29

Macchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29 Macchine di Turing Francesco Paoli Istituzioni di logica, 2016-17 Francesco Paoli (Istituzioni di logica, 2016-17) Macchine di Turing 1 / 29 Alan M. Turing (1912-1954) Francesco Paoli (Istituzioni di logica,

Dettagli

Intelligenza Artificiale I

Intelligenza Artificiale I Intelligenza Artificiale I Logica formale Calcolo simbolico Marco Piastra Logica formale - Calcolo simbolico - 1 Calcolo simbolico? Una fbf è conseguenza logica di un insieme di fbf sse qualsiasi modello

Dettagli

Logica per la Programmazione

Logica per la Programmazione Logica per la Programmazione Lezione 4 Dimostrazione di Implicazioni Tautologiche Principio di sostituzione per l implicazione Occorrenze positive e negative Altre tecniche di dimostrazione Forme Normali

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi di Informatica A. A. 2016/2017 Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Algebra di Boole Elementi di

Dettagli

e Algoritmi Marco Piastra Intelligenza Artificiale I Soddisfacibilità

e Algoritmi Marco Piastra Intelligenza Artificiale I Soddisfacibilità Intelligenza Artificiale I Soddisfacibilità e Algoritmi Marco Piastra Intelligenza Artificiale I - A.A. 2010- Soddisfacibilità e Semantic Tableau [1] Problemi e decidibilità (automatica) Problema Un problema

Dettagli

Esercitazioni per il corso di Logica Matematica

Esercitazioni per il corso di Logica Matematica Esercitazioni per il corso di Logica Matematica Luca Motto Ros 27 febbraio 2005 Nota importante. Queste pagine contengono appunti personali dell esercitatore e sono messe a disposizione nel caso possano

Dettagli

9 Calcolo dei sequenti LC p

9 Calcolo dei sequenti LC p 9 Calcolo dei sequenti LC p In questa sezione mostriamo un metodo più elegante, semplice e soprattutto AUTOMATICO per mostrare se una proposizione è valida o meno e soddisfacibile o meno. Tale metodo è

Dettagli

Elementi di Logica matematica. Elementi di logica matematica

Elementi di Logica matematica. Elementi di logica matematica 1 Elementi di logica matematica Molte grammatiche definiscono la proposizione come un giudizio della mente espresso con parole, cioè da un punto di vista grammaticale la parola proposizione sta ad indicare

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

Logica per la Programmazione

Logica per la Programmazione Logica per la Programmazione Lezione 2 Dimostrazione di Tautologie Tabelle di Verità Dimostrazioni per sostituzione Leggi del Calcolo Proposizionale A. Corradini e F.Levi Dip.to Informatica Logica per

Dettagli

Logica degli enunciati; Operazioni con le proposizioni; Proprietà delle operazioni logiche; Tautologie; Regole di deduzione; Logica dei predicati;

Logica degli enunciati; Operazioni con le proposizioni; Proprietà delle operazioni logiche; Tautologie; Regole di deduzione; Logica dei predicati; Logica degli enunciati; Operazioni con le proposizioni; Proprietà delle operazioni logiche; Tautologie; Regole di deduzione; Logica dei predicati; Implicazione logica. Equivalenza logica; Condizione necessaria,

Dettagli

Intelligenza Artificiale. Logica proposizionale classica (Parte 1)

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

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

LOGICA FUZZY, I LOGICA PROPOSIZIONALE CLASSICA VINCENZO MARRA

LOGICA FUZZY, I LOGICA PROPOSIZIONALE CLASSICA VINCENZO MARRA LOGICA FUZZY, I LOGICA PROPOSIZIONALE CLASSICA VINCENZO MARRA 1. Sintassi L insieme dei numeri naturali è N = 1, 2,...}. Si consideri l alfabeto A = (, ), X,, $,,,,, }, e sia A l insieme delle stringhe

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

3. Logica. Obiettivi di apprendimento: Relazioni, dati e previsioni 6T, 7T, 8T, 10Q. La logica nel linguaggio comune...

3. Logica. Obiettivi di apprendimento: Relazioni, dati e previsioni 6T, 7T, 8T, 10Q. La logica nel linguaggio comune... Capitolo 3. Logica 3. Logica Obiettivi di apprendimento: Relazioni, dati e previsioni 6T, 7T, 8T, 10Q. La logica nel linguaggio comune... sei una persona priva di logica è logico comportarsi cosí fai l

Dettagli

1 I Tipi nei Linguaggi Funzionali

1 I Tipi nei Linguaggi Funzionali 1 I Tipi nei Linguaggi Funzionali Nel capitolo precedente abbiamo affrontato il problema della correttezza dei programmi dal punto di vista delle specifiche di ingresso/uscita. In particolare, abbiamo

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

FUNZIONI BOOLEANE. Vero Falso

FUNZIONI BOOLEANE. Vero Falso FUNZIONI BOOLEANE Le funzioni booleane prendono il nome da Boole, un matematico che introdusse un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono

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 Elementi di Programmazione Architettura del calcolatore Reti di Calcolatori Calcolo proposizionale Algebra Booleana Contempla

Dettagli

P : gli iscritti all università di Bari sono più di 1000

P : gli iscritti all università di Bari sono più di 1000 BREVE CENNO DI LOGICA CLASSICA La logica può essere definita come la scienza che studia il ragionamento deduttivo, ovvero le condizioni in base alle quali un ragionamento risulta corretto e vero. Un ragionamento

Dettagli

API. Ripasso di logica. Davide Martinenghi. Politecnico di Milano. API Davide Martinenghi (1/30)

API. Ripasso di logica. Davide Martinenghi. Politecnico di Milano. API Davide Martinenghi (1/30) API Ripasso di logica Davide Martinenghi Politecnico di Milano API Davide Martinenghi (1/30) Logica proposizionale - sintassi L è un linguaggio della logica proposizionale L alfabeto di L è composto da

Dettagli

Università degli Studi di Palermo Facoltà di Economia Dipartimento di Scienze Economiche, Aziendali e Statistiche. Appunti del corso di Matematica

Università degli Studi di Palermo Facoltà di Economia Dipartimento di Scienze Economiche, Aziendali e Statistiche. Appunti del corso di Matematica Università degli Studi di Palermo Facoltà di Economia Dipartimento di Scienze Economiche, Aziendali e Statistiche Appunti del corso di Matematica 2 - Rango Anno Accademico 215/216 M. Tumminello, V. Lacagnina,

Dettagli

1 Il linguaggio matematico

1 Il linguaggio matematico 1 Il linguaggio matematico 1.1 La logica delle proposizioni La matematica è un linguaggio; a differenza del linguaggio letterario che utilizza una logica soggettiva, la matematica si serve di una logica

Dettagli

La logica della finzione

La logica della finzione Formalizzazione Nella lezione precedente, abbiamo visto qual è l idea di fondo della teoria di Lewis: La logica della finzione Sandro Zucchi 2013-14 Un enunciato della forma Nell opera di finzione f, p

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo Sviluppo di programmi Per la costruzione di un programma

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

METODI MATEMATICI PER L INFORMATICA

METODI MATEMATICI PER L INFORMATICA METODI MATEMATICI PER L INFORMATICA ANNO ACCADEMICO 2011/2012 Sommario. Sintassi e semantica della Logica dei predicati. Proprietà fondamentali dei quantificatori. Strutture, soddisfacibilità e verità

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

Esercitazioni Informatica A. M. M. Bersani

Esercitazioni Informatica A. M. M. Bersani Esercitazioni Informatica A M. M. Bersani A.A. 2012/2013 Codifiche Scriviamo n b per intendere il numero n rappresentato in base 2, se b = 2, in base 10, se b = 10, e C2 se b = C2. L operatore mod è un

Dettagli

Logica booleana. Bogdan Maris ( )

Logica booleana. Bogdan Maris ( ) Logica booleana 1 Algebra di Boole Opera con i soli valori di verità 0 o 1 (variabili booleane o logiche) La struttura algebrica studiata dall'algebra booleana è finalizzata all'elaborazione di espressioni

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

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

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

Proposizioni e verità

Proposizioni e verità Proposizioni e verità Claudia Casadio Logica e Psicologia del Pensiero Laurea Triennale - Parte Istituzionale A.A. 2007-08 Contents 1 Proposizione.......................................... 3 2 Verità...............................................

Dettagli

Logica Proposizionale

Logica Proposizionale Logica Proposizionale Domenico Cantone Dipartimento di Matematica e Informatica Università di Catania Logica Computazionale, A.A. 2006/07 Outline 1 Sintassi e Semantica Sintassi Semantica 2 Tableaux semantici

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

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) DISPENSA N. 3 Sommario. Introduciamo il Calcolo dei Predicati del I ordine e ne dimostriamo le proprietà fondamentali. Discutiamo il trattamento dell identità

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

Operatori di relazione

Operatori di relazione Condizioni Negli algoritmi compaiono passi decisionali che contengono una proposizione (o predicato) dal cui valore di verità dipende la sequenza dinamica Chiamiamo condizioni tali proposizioni Nei casi

Dettagli

Verità, tautologia e implicazione logica

Verità, tautologia e implicazione logica Condizioni di verità delle frasi di LP erità, tautologia e implicazione logica Sandro Zucchi Passiamo ora alla terza parte del compito di descrivere il linguaggio LP: Come vengono calcolate le condizioni

Dettagli

Intelligenza Artificiale I

Intelligenza Artificiale I Intelligenza Artificiale I - AA 27/28 Intelligenza Artificiale I Logica formale Introduzione Marco Piastra Logica formale - Introduzione - Intelligenza Artificiale I - AA 27/28 Sistematicità del linguaggio

Dettagli

Circuiti Logici. Pagina web del corso:

Circuiti Logici. Pagina web del corso: Circuiti Logici Pagina web del corso: http://www.math.unipd.it/~aceccato Macchina hardware e macchina software Agli albori il computer era essenzialmente una CPU collegata ad una piccola RAM Ogni istruzione

Dettagli

I predicati cut e not

I predicati cut e not Operatore Informatico Giuridico Informatica Giuridica Avanzata A.A. 2006/2007 I Semestre I predicati cut e not Ing. Rossella Rubino CIRSFID rrubino@cirsfid.unibo.it 31 Ottobre 2006 Il cut Il predicato

Dettagli

2.6 Calcolo degli equilibri di Nash

2.6 Calcolo degli equilibri di Nash 92 2 Giochi non Cooperativi Per queste estensioni di giochi non finiti si possono provare risultati analoghi a quelli visti per i giochi finiti. Rimandiamo alla bibliografia per uno studio più approfondito

Dettagli

14. Nozione di modello e verità di un predicato

14. Nozione di modello e verità di un predicato 14. Nozione di modello e verità di un predicato Per definire la validità di un predicato facciamo uso della nozione di modello. Intuitivamente un modello definisce in modo primitivo l interpretazione delle

Dettagli