Algebra di Boole ed elementi di logica
|
|
|
- Rosalinda Giovannini
- 9 anni fa
- Visualizzazioni
Transcript
1 Algebra di Boole ed elementi di logica Marco D. Santambrogio Ver. aggiornata al 10 O0obre 2013
2 Obiettivi Algebra di Boole Algebra di boole a due valori: algebra di commutazione Operazioni logiche Espressioni logiche Assiomi e proprietà dell algebra di commutazione 2
3 Cenni all algebra di Boole L algebra di Boole (inventata da G. Boole, britannico, seconda metà 800), o algebra della logica, si basa su operazioni logiche Le operazioni logiche sono applicabili a operandi logici, cioè a operandi in grado di assumere solo i valori vero e falso Si può rappresentare vero con il bit 1 e falso con il bit 0 (convenzione di logica positiva) 3
4 Algebra Booleana: definizione Algebra Booleana B è un sistema algebrico identificato dalla sestupla (B,+,*,,0,1) dove: B è l'insieme su cui vengono definite le operazioni (supporto) +,*, sono le operazioni binarie OR e AND e l operazione unaria NOT 0,1 sono elementi speciali di B. 0 è l elemento neutro rispetto a + 1 è l elemento neutro rispetto a * Assiomi - 4 -
5 Algebra Booleana a due valori: Algebra di Commutazione Tra tutte le algebre booleane, l'algebra booleana a due valori...è la più utile. Essa è la base matematica della analisi e progetto di circuiti di commutazione che realizzano i sistemi digitali. [Lee, S.C., Digital Circuit And Logic Design. Englewood Cliffs, NJ: Prentice-Hall, 1976] - 5 -
6 Operazioni logiche fondamentali Operatori logici binari (con 2 operandi logici) Operatore OR, o somma logica Operatore AND, o prodotto logico Operatore logico unario (con 1 operando) Operatore NOT, o negazione, o inversione Poiché gli operandi logici ammettono due soli valori, si può definire compiutamente ogni operatore logico tramite una tabella di associazione operandi-risultato 6
7 Operazioni logiche fondamentali Le variabili dell algebra booleana a due valori possono assumere solo i due valori 0 e 1 precisamente, se x indica una variabile, è x = 0 se e solo se x 1 x = 1 se e solo se x 0 Algebra Booleana a due valori: ({0,1},+,*,,0,1) dove + (OR) e * (AND) sono definiti come Mentre l operazione a un solo elemento (unary operation) detta complementazione o negazione (NOT) è definita come * Nota: il simbolo associato al NOT è spesso indicato come (esempio x ),!(esempio!x) o sopra segnando la variabile.
8 Operatori logici di base e loro tabelle di verità A B A or B (somma logica) A B A and B (prodotto logico) A not A (negazione) Le tabelle elencano tutte le possibili combinazioni in ingresso e il risultato associato a ciascuna combinazione 8
9 Espressioni logiche (o Booleane) Come le espressioni algebriche, costruite con: Variabili logiche (letterali): p. es. A, B, C = 0 oppure 1 Operatori logici: and, or, not Esempi: A or (B and C) (A and (not B)) or (B and C) Precedenza: l operatore not precede l operatore and, che a sua volta precede l operatore or A and not B or B and C = (A and (not B)) or (B and C) Per ricordarlo, si pensi OR come + (più), AND come (per) e NOT come - (cambia segno) 9
10 Tabella di verità di un espressione logica A and B or not C A B C X = A and B Y = not C X or Y and 0 = 0 not 0 = 1 0 or 1 = and 0 = 0 not 1 = 0 0 or 0 = and 1 = 0 not 0 = 1 0 or 1 = and 1 = 0 not 1 = 0 0 or 0 = and 0 = 0 not 0 = 1 0 or 1 = and 0 = 0 not 1 = 0 0 or 0 = and 1 = 1 not 0 = 1 1 or 1 = and 1 = 1 not 1 = 0 1 or 0 = 1
11 Due esercizi A B NOT ((A OR B) AND (NOT A)) A B C ( B OR NOT C) AND (A OR NOT C)
12 Pausa 5 George Boole 12
13 Vero e falso in C In C non esiste un tipo di dato specifico per rappresentare i concetti vero e falso Una condizione assume un valore intero pari a 0 se la condizione è falsa 1 se la condizione è vera In generale, ogni valore diverso da zero è considerato vero ( 3 ) VERO ( 1 ) VERO ( a a ) FALSO 13
14 Problema Si scriva un programma in C che, dato un numero, dica se questo è positivo o negativo 14
15 Soluzione 1. Si inserisca N 2. N è maggiore di 0? Vero: N è positivo Falso: N non è positivo 15
16 In C: positivo int main() { int n; printf ( Inserisci un numero\n"); scanf ("%d", &n ); if ( n > 0 ) printf ("Un numero positivo! \n"); else condizione printf ("Un numero negativo o nullo\n"); printf ("Fine del programma\n"); return 0; } 16
17 Problema: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l equivalente maiuscolo 17
18 Maiuscolo: esecuzione 18
19 HELP: errori sull input 19
20 Problema: errori sull input Problema Preso un dato inserito da tastiera Per potervi applicare la trasformazione di nostro interesse Dobbiamo prima verificare che il dato sia coerente con quanto ci aspettiamo Soluzione Definire l insieme dei caratteri validi Verificare l appartenenza del carattere inserito, all insieme dei caratterei validi 20
21 Pseudocodice Dati L insieme dei caratteri ammissibili {a, b, c,, z} 1. Richiedere l inserimento di un carattere 2. Se carattere inserito corretto 3. Allora stampa a video carattere Altrimenti stampa a video un messaggio di errore 21
22 Condizione da verificare Dati L insieme dei caratteri ammissibili {a, b, c,, z} Il carattere inserito deve essere =>a <= z 22
23 Maiuscolo: solo if 23
24 Condizione da verificare Il carattere inserito deve essere X: =>a Y: <= z X e Y devono essere entrambe vere X Y X and Y (prodotto logico) 24
25 Maiuscolo: AND 25
26 Maiuscolo: codice ottimizzato 26
27 Maiuscolo: esecuzione 27
28 A che cosa servono le espressioni logiche? A modellare alcune (non tutte) forme di ragionamento A = è vero che 1 è maggiore di 2? (sì o no, qui è no) = 0 B = è vero che 2 più 2 fa 4? (sì o no, qui è sì) = 1 A and B = è vero che 1 sia maggiore di 2 e che 2 più 2 faccia 4? Si ha che A and B = 0 and 1 = 0, dunque no A or B = è vero che 1 sia maggiore di 2 o che 2 più 2 faccia 4? Si ha che A or B = 0 and 1 = 1, dunque sì OR, AND e NOT vengono anche chiamati connettivi logici, perché funzionano come le congiunzioni coordinanti o ed e, e come la negazione non, del linguaggio naturale Si modellano ragionamenti (o deduzioni) basati solo sull uso di o, e e non (non è molto, ma è utile) 28
29 Che cosa non si può modellare tramite espressioni logiche? Le espressioni logiche (booleane) non modellano: Domande esistenziali: c è almeno un numero reale x tale che il suo quadrato valga -1? x x 2 = -1 è falso (si sa bene che non c è) Domande universali: ogni numero naturale è la somma di quattro quadrati di numeri naturali? x x = a 2 +b 2 +c 2 +d 2` è vero ( teorema dei 4 quadrati ) Più esattamente andrebbe scritto: x a,b,c,d x = a2+b2+c2+d2 e sono chiamati operatori di quantificazione, e sono ben diversi da or, and e not La parte della logica che tratta solo degli operatori or, and e not si chiama calcolo proposizionale Aggiungendo gli operatori di quantificazione, si ha il calcolo dei predicati (che è molto più complesso) 29
30 Tautologie e Contraddizioni Tautologia Una espressione logica che è sempre vera, per qualunque combinazione di valori delle variabili Esempio: principio del terzo escluso : A or not A (tertium non datur, non si dà un terzo caso tra l evento A e la sua negazione) Contraddizione Una espressione logica che è sempre falsa, per qualunque combinazione di valori delle variabili Esempio: principio di non contraddizione : A and not A (l evento A e la sua negazione non possono essere entrambi veri) 30
31 Equivalenza tra espressioni Due espressioni logiche si dicono equivalenti (e si indica con ) se hanno la medesima tabella di verità. La verifica è algoritmica. Per esempio: A B not A and not B not (A or B) and 1 = 1 not 0 = and 0 = 0 not 1 = and 1 = 0 not 1 = and 0 = 0 not 1 = 0 Espressioni logiche equivalenti modellano gli stessi stati di verità a fronte delle medesime variabili 31
32 Proprietà dell algebra di Boole L algebra di Boole gode di svariate proprietà, formulabili sotto specie di identità cioè formulabili come equivalenze tra espressioni logiche, valide per qualunque combinazione di valori delle variabili 32
33 Vale per la somma rispetto al prodotto come per il prodotto rispetto alla somma non esiste precedenza fra le due operazioni, occorre sempre immaginare le parentesi sottintese intorno a ogni applicazione di un operazione. Algebra Booleana a due valori: Assiomi Gli operatori descritti godono delle proprietà definite dai seguenti assiomi (postulati di Huntington): Le operazioni di disgiunzione (+) e congiunzione ( ) sono commutative, cioè per ogni elemento a,b B a+b = b+a a b = b a Esiste un elemento neutro (o identità) rispetto a + (indicato con 0) e un elemento neutro rispetto a (indicato con 1), cioè: a+0=a a 1=a Le due operazioni sono distributive rispetto all altra, cioè per ogni a,b,c B, risulta: a+(b c)=(a+b) (a+c) a (b+c)=(a b)+(a c) Per ogni a B esiste l elemento a B, detto negazione logica o complemento di a, tale che: a+a =1 a a =0
34 Algebra di Commutazione: Proprietà 1 1: associativa a+(b+c)=(a+b)+c a*(b*c)=(a*b)*c 2: idempotenza a+a=a a*a=a 3: elemento nullo a+1=1 a*0=0 4: unicità elemento inverso: il complemento di a, a, è unico 5: assorbimento a+(a*b)=a a*(a+b)=a
35 Algebra di Commutazione: Proprietà 2 6: Semplificazione a+a b = a+b a*(a +b) = a*b 7: involuzione ((a) ) = a 8: Leggi di De Morgan (a+b) = a *b (a*b) = a +b 9: consenso a*b+a *c+b*c = a*b + a *c (a+b)*(a +c)*(b+c)=(a+b)*(a +c)
36 Uso delle proprietà Trasformare un espressione logica in un altra, differente per aspetto ma equivalente: not A and B or A = (assorbimento) = not A and B or (A or A and B) =(togli le parentesi) = not A and B or A or A and B = (commutativa) = not A and B or A and B or A = (distributiva) = (not A or A) and B or A = (legge dell elemento 1) = true and B or A = (vero and B à B) = B or Aè più semplice dell espressione originale Si può verificare l equivalenza con le tabelle di verità Occorre conoscere un ampia lista di proprietà e si deve riuscire a vederle nell espressione (talvolta è difficile) 36
37 Problemi di fine giornata Si scriva un programma in C che richiede l inserimento di un numero intero positivo, se l inserimento e errato ritorna un messaggio di errore Si scriva un programma in C che, dati due caratteri, li ordina in ordine alfabetico inverso 37
38 Fonti per lo studio + Credits Fonti per lo studio Introduzione ai sistemi informatici, D. Sciuto, G. Buonanno, L. Mari, 4a Ed, McGrawHill Capitolo 2 Credits Daniele Braga Cristiana Bolchini retilogichea/index.htm
Algebra di Boole, elementi di logica e Mappe di Karnaugh
Algebra di Boole, elementi di logica e Mappe di Karnaugh Marco D. Santambrogio [email protected] Ver. aggiornata al 8 Marzo 206 Progetti Meeting Quando: 22 Marzo @2pm Dove: Sala Conferenze @DEIB
Algebra di Boole Cenni all Algebra di Boole. Algebra Booleana: definizione
Algebra Booleana: operazioni e sistema algebrico Algebra di Boole Cenni all Algebra di Boole Introduzione Rappresentazione di una funzione combinatoria Proprietà dell algebra di commutazione Forme canoniche
Prof. Pagani Corrado ALGEBRA BOOLEANA
Prof. Pagani Corrado ALGEBRA BOOLEANA INTRODUZIONE L'algebra di Boole è definita da G. Boole, britannico, seconda metà 8 E un modello matematico che rappresenta le leggi della logica utilizzando variabili
I.2 Logica. Elisabetta Ronchieri. Ottobre 13, Università di Ferrara Dipartimento di Economia e Management. Insegnamento di Informatica
I.2 Logica Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Logica 1 Logica 2 3 Logica Si occupa dello studio delle strutture e delle regole
4. Logica. Insegnamento di Informatica. Elisabetta Ronchieri. I semestre, anno Corso di Laurea di Economia, Universitá di Ferrara
4. Logica Insegnamento di Informatica Elisabetta Ronchieri Corso di Laurea di Economia, Universitá di Ferrara I semestre, anno 2014-2015 Elisabetta Ronchieri (Universitá) Insegnamento di Informatica I
Algebra di Boole Cenni all Algebra di Boole
Algebra di Boole Cenni all Algebra di Boole Introduzione Rappresentazione di una funzione combinatoria Proprietà dell algebra di commutazione Forme canoniche Teorema di espansione di Shannon Versione del
Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA
Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA Introduzione George Boole (1815-1864) nel 1854 elaborò una algebra basata su predicati logici. Valori
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
Reti logiche: introduzione
Corso di Calcolatori Elettronici I Reti logiche: introduzione ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Circuiti e porte logiche Esempio di rete di commutazione: Circuiti e porte
Le variabili logiche possono essere combinate per mezzo di operatori detti connettivi logici. I principali sono:
Variabili logiche Una variabile logica (o booleana) è una variable che può assumere solo uno di due valori: Connettivi logici True (vero identificato con 1) False (falso identificato con 0) Le variabili
Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole
Andrea Passerini [email protected] Informatica Variabili logiche Una variabile logica (o booleana) è una variable che può assumere solo uno di due valori: True (vero identificato con 1) False (falso
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
Algebra di Boole ed Elementi di Logica
Algebra di Boole ed Elementi di Logica 53 Cenni all algebra di Boole L algebra di Boole (inventata da G. Boole, britannico, seconda metà 8), o algebra della logica, si basa su operazioni logiche Le operazioni
Algebra di Boole. Tavole di verità. Fondamenti di Informatica Algebra di Boole. Si basa su tre operazioni logiche: AND (*) OR (+) NOT (!
Fondamenti di Informatica Algebra di Boole Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a. 2-22 Algebra di Boole Si basa su tre operazioni logiche: AND (*) OR () NOT (!) Gli operandi
Corso di Calcolatori Elettronici I A.A Algebra di Boole Lezione 4
Corso di Calcolatori Elettronici I A.A. 2010-2011 Algebra di Boole Lezione 4 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Segnali in circuiti elettronici digitali da: G. Bucci. Calcolatori
Fondamenti dell Informatica Algebra di Boole. Prof.ssa Enrica Gentile
Fondamenti dell Informatica Algebra di Boole Prof.ssa Enrica Gentile Algebra di Boole Si basa su tre operazioni logiche: AND (*) OR (+) NOT (!) Gli operandi possono avere solo due valori: Vero () Falso
Algebra di Boole X Y Z V. Algebra di Boole
L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole che
Fondamenti di Informatica
Fondamenti di Informatica Algebra di Boole e Circuiti Logici Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Algebra di Boole e Circuiti Logici L Algebra
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
Richiami di Algebra di Commutazione
LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n Prof. Rosario Cerbone [email protected] http://digilander.libero.it/rosario.cerbone a.a. 6-7 Richiami di Algebra di Commutazione In questa
Corso di Elementi di Informatica Anno accademico 2015/16
Corso di Laurea triennale in Ingegneria Navale in condivisione con Corso di Laurea triennale in Ingegneria Chimica (matr. P-Z) Corso di Elementi di Informatica Anno accademico 2015/16 Docente: Ing. Alessandra
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
1 Minimizzazione di espressioni logiche con le proprietà dell algebra
1 Minimizzazione di espressioni logiche con le proprietà dell algebra di Boole 1.1 Esercizi con soluzione Esercizio 1.1 - Data la seguente funzione F: F = a bcd + abcd + ab cd + a bc d 1. Utilizzando le
Informatica. Logica e Algebra di Boole
Informatica Logica e Algebra di Boole La logica è la scienza del corretto ragionamento e consiste nello studio dei principi e dei metodi che consentono di individuare il corretto ragionamento. Lo studioso
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
I circuiti digitali: dalle funzioni logiche ai circuiti
Architettura dei calcolatori e delle Reti Lezione 4 I circuiti digitali: dalle funzioni logiche ai circuiti Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi
Algebra di Boole Algebra di Boole
1 L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole
Circuiti digitali. Operazioni Logiche: Algebra di Boole. Esempio di circuito. Porte Logiche. Fondamenti di Informatica A Ingegneria Gestionale
Operazioni Logiche: lgebra di oole Fondamenti di Informatica Ingegneria Gestionale Università degli Studi di rescia Docente: Prof. lfonso Gerevini Circuiti digitali Il calcolatore può essere visto come
Esercitazioni di Reti Logiche. Algebra Booleana e Porte Logiche
Esercitazioni di Reti Logiche Algebra Booleana e Porte Logiche Zeynep KIZILTAN Dipartimento di Scienze dell Informazione Universita degli Studi di Bologna Anno Academico 2007/2008 Notizie Il primo parziale
PORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.
PORTE LOGICHE Premessa Le principali parti elettroniche dei computer sono costituite da circuiti digitali che, come è noto, elaborano segnali logici basati sullo 0 e sull 1. I mattoni fondamentali dei
I circuiti digitali: dalle funzioni logiche ai circuiti (le SOP)
I circuiti digitali: dalle funzioni logiche ai circuiti (le SOP) Prof. Alberto Borghese Dipartimento di Informatica [email protected] Università degli Studi di Milano Riferimento al testo: Sezione C.3;
Algebra di Boole. Modulo 2. Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)
Algebra di Boole Modulo 2 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Algebra di Boole L algebra di Boole o della commutazione è lo strumento
Cenni di logica e calcolo proposizionale
Cenni di logica e calcolo proposizionale Corso di Laurea in Informatica Università degli Studi di Bari (sede Brindisi) Analisi Matematica S.Milella ([email protected]) Cenni di logica 1 / 10 Proposizioni
La codifica binaria. Informatica B. Daniele Loiacono
La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria ( e ) per rappresentare: i dati da elaborare le istruzioni dei programmi eseguibili Fondamenti di codifica
Proposizioni Algebra di Boole Condizioni Operatori di relazione
Proposizioni Algebra di Boole Condizioni Operatori di relazione Proposizione ( o Asserzione) Una frase con valore di verità Mario è andato al cinema I pinguini volano Oggi è domenica Una proposizione può
Calcolo numerico e programmazione Elementi di logica
Calcolo numerico e programmazione Elementi di logica Tullio Facchinetti 23 marzo 2012 10:50 http://robot.unipv.it/toolleeo Algebra booleana (George Boole (1815-1864)) è definita
Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test
Espressioni logiche Espressioni Logiche e Istruzione di Test Fondamenti di Informatica 1 Massimo Di Nanni Gennaio, 2001 Espressioni logiche nelle Istruzioni di Test e di Iterazione Calcolo del massimo
ELEMENTI DI ALGEBRA BOOLEANA
ELEMENTI DI ALGEBRA BOOLEANA CONCETTO DI LOGICA: elemento essenziale del pensiero umano. La logica permette all uomo di formulare ragionamenti e di elaborare informazioni. La logica è esprimibile con il
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
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
Sommario. 1 Algebra di Boole. 2 Algebra di commutazione. 4 Calcolo delle proposizioni
Sommario, funzioni booleane e calcolo delle proposizioni 1 M. Favalli 2 Algebra di commutazione Engineering Department in Ferrara 3 4 Sommario (ENDIF) Fondamenti teorici Reti logiche 1 / 54 (ENDIF) Fondamenti
Reti Logiche Combinatorie
Testo di riferimento: [Congiu] - 2.4 (pagg. 37 57) Reti Logiche Combinatorie 00.b Analisi Minimizzazione booleana Sintesi Rete logica combinatoria: definizione 2 Una rete logica combinatoria èuna rete
L algebra di Boole. Cenni Corso di Reti Logiche B. Mariagiovanna Sami
L algebra di Boole Cenni Corso di Reti Logiche B Mariagiovanna Sami Algebra Booleana: sistema algebrico Operazione: Operazione α sull'insieme S={s1,s2,...} = funzione che da SxS (prodotto cartesiano S
Elementi di informatica
Elementi di informatica Algebra di Boole Algebra di Boole I circuiti logici sono componenti hardware che manipolano informazione binaria. I circuiti di base sono detti PORTE LOGICHE (logical gate). Allo
