Logica Booleana Circuiti Logici Logica Booleana Circuiti Logici Valori Proposizionali Connettivi, Formule e Tavole di Verità Mappe di Karnaugh Logica Booleana Logica Booleana e Circuiti Variabili Proposizionali – Sono degli oggetti che possono assumere uno e uno solo tra i due valori di verità VERO (o True, o 1) e FALSO (o False, o 0). Walter Cazzola – Nel seguito le indicheremo usando le lettere minuscole dell'alfabeto latino, mentre useremo i simboli “1” e “0” per indicare i valori di verità. Dipartimento di Informatica e Comunicazione Università degli Studi di Milano Walter Cazzola Logica Booleana e Circuiti Logica Booleana Circuiti Logici Slide 1 of 12 Valori Proposizionali Connettivi, Formule e Tavole di Verità Mappe di Karnaugh Logica Booleana e Circuiti Logica Booleana Circuiti Logici Logica Booleana Slide 2 of 12 Valori Proposizionali Connettivi, Formule e Tavole di Verità Mappe di Karnaugh Logica Booleana Connettivi e Formule – I connettivi indicano operazioni logiche tra variabili proposizionali: – congiunzione (e, and, ∧) – disgiunzione (o, or, ∨) – negazione (non, not, :) – Utilizzando variabili e connettivi (e rispettando opportune regole di sintassi) è possibile costruire formule booleane. Walter Cazzola Walter Cazzola Logica Booleana e Circuiti Slide 3 of 12 Tavole di Verità – Sintetizzano i valori assunti da una formula booleana al variare dei possibili assegnamenti di valori di verità per le variabili proposizionali che compaiono nella formula stessa. – Hanno tante righe quanti sono i possibili assegnamenti (2 elevato al numero di variabili), mentre il numero di colonne dipende dalla complessità della formula. Walter Cazzola Logica Booleana e Circuiti Slide 4 of 12 Logica Booleana Circuiti Logici Valori Proposizionali Connettivi, Formule e Tavole di Verità Mappe di Karnaugh Logica Booleana Circuiti Logici Logica Booleana Valori Proposizionali Connettivi, Formule e Tavole di Verità Mappe di Karnaugh Logica Booleana Tavole di Verità Implicazione Congiunzione a 0 0 1 1 b 0 1 0 1 Disgiunzione a∧b 0 0 0 1 a 0 0 1 1 b 0 1 0 1 Negazione a∨b 0 1 1 1 a 0 1 Chiamiamo implicazione tra a e b il risultato della formula (:a ∨ b ). :a 1 0 Per brevità la formula è associata ad un connettivo rappresentato dal simbolo →. a 0 0 1 1 b 0 1 0 1 :a 1 1 0 0 :a∨b 1 1 0 1 a→b è vera a meno che a sia vero e b sia falso. Nota. True = 1, False = 0. Walter Cazzola Logica Booleana e Circuiti Logica Booleana Circuiti Logici Slide 5 of 12 Logica Booleana Circuiti Logici a→b 1 1 0 1 b→a 1 0 1 1 Valori Proposizionali Connettivi, Formule e Tavole di Verità Mappe di Karnaugh Un Esercizio. Tavola di Verità per (a∧b)∨:c. f = ((a→ b)∧ a)→ b. f 1 0 0 1 a 0 0 1 1 b 0 1 0 1 a→b 1 1 0 1 (a→b)∧a 0 0 0 1 f 1 1 1 1 Nota. f è una tautologia. Walter Cazzola Slide 6 of 12 Logica Booleana f = (a→ b)∧ (b→ a). b 0 1 0 1 Logica Booleana e Circuiti Valori Proposizionali Connettivi, Formule e Tavole di Verità Mappe di Karnaugh Logica Booleana a 0 0 1 1 Walter Cazzola Logica Booleana e Circuiti Slide 7 of 12 a 0 0 0 0 1 1 1 1 Walter Cazzola b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 :c 1 0 1 0 1 0 1 0 a∧b 0 0 0 0 0 0 1 1 (a∧b)∨:c 1 0 1 0 1 0 1 1 Logica Booleana e Circuiti Slide 8 of 12 Logica Booleana Circuiti Logici Valori Proposizionali Connettivi, Formule e Tavole di Verità Mappe di Karnaugh Logica Booleana Circuiti Logici Circuiti Logici Logica Booleana Sono particolari rappresentazioni di formule booleane, tramite le seguenti porte logiche: Dalla Tavola di Verità alla Formula. a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 f 1 0 0 0 1 0 0 1 Algoritmo di Karnaugh AND: Per ogni riga i per cui f vale 1: – per ogni variabile v la considero: OR: a b – fi è la congiunzione (∧) degli input: f è la disgiunzione (∨) degli fi costruiti. Logica Booleana e Circuiti Logica Booleana Circuiti Logici c Slide 9 of 12 (a∧b)∨:c : Logica Booleana e Circuiti Logica Booleana Circuiti Logici Slide 10 of 12 Nozioni Generali Circuiti Logici Tavola di Verità per :(a∧b)∧(:b∨c). a∧b :(a∧b) :(a∧b)∧(:b∨c) :b Walter Cazzola Walter Cazzola Nozioni Generali Un altro esempio di circuito. c ∧ ∨ Circuiti Logici a b NOT: Esempio di circuito. – negata se l'input è 0; – non negata altrimenti; Quale formula calcola f? (:a∧:b∧:c) ∨ (a ∧:b∧:c) ∨ (a ∧b ∧c) Walter Cazzola Nozioni Generali :b∨c Logica Booleana e Circuiti Slide 11 of 12 a 0 0 0 0 1 1 1 1 Walter Cazzola b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 a∧b 0 0 0 0 0 0 1 1 :(a∧b) 1 1 1 1 1 1 0 0 :b 1 1 0 0 1 1 0 0 :b∨c 1 1 0 1 1 1 0 1 Logica Booleana e Circuiti :(a∧b)∧(:b∨c) 1 1 0 1 1 1 0 0 Slide 12 of 12