elementi di algebra booleana - nicola bruno 3 - elementi di algebra...applicazioni dell’algebra...
Post on 17-Jan-2020
33 Views
Preview:
TRANSCRIPT
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 linguaggio binario.
Le frasi del linguaggio della logica prendono il nome di proposizioni logiche o, più semplicemente, proposizioni.In logica si chiama proposizione ogni frase per la quale ha senso dire che è “vera”, o è “falsa”.La logica delle proposizioni è anche detta logica bivalente proprio perché ogni proposizione può avere uno solo dei due valori: vero o falso.
Esempi
Per esempio, la frase:D) che bella l’Informatica;non è una proposizione logica perché non possiamo dire se è vera o falsa. Può essere una proposizione vera solo per chi ama l’Informatica, ma non per tutti. La verità o la falsità della frase dipendono solo dalle emozioni soggettive.
Per esempio, le frasi:A) Potenza si trova in Basilicata;B) 5 è un numero dispari;C) Matera si trova in Puglia;sono proposizioni logiche, perché posiamo dire con certezza che le frasi A e Bsono vere, mentre C è falsa.Ogni frase ha un valore di verità o falsità, nessuna ambiguità.
Applicazioni dell’algebra booleana
L’algebra delle proposizioni è detta anche ALGEBRA BOOLEANA (matematico inglese,George Boole, 1854).
In Informatica, l’algebra di Boole trova applicazioni in diversi settori:
1. è la logica di cui si avvalgono i calcolatori per interpretare ed eseguire le istruzioni dei
programmi;
2. è la logica usata nella progettazione e per il funzionamento dei circuiti elettronici;
3. è utilizzata nello studio dei sistemi elettronici digitali che fanno parte di un computer;
4. nei linguaggi di programmazione, per esprimere scelte in base a dei criteri di selezione, nella
sequenza di esecuzione delle istruzioni di un programma;
5. rappresenta uno strumento matematico su cui si basano i sistemi digitali, che utilizzano
variabili che possono avere solo uno di due valori: 1 (Vero) o 0 (Falso).
INTRODUZIONE UTILIZZO DI AND E OR NELLE QUERY
Operatore logico Descrizione
AND Restringe il campo d’azione della query
OR Amplia il campo d’azione della query, aumentando il numero di record che soddisfano le condizioni
UTILIZZO DI AND – Questo metodo serve per limitare l’elenco dei record in base alle condizioni comprese tra due valori.
Esempio: Vogliamo creare una query di selezione per visualizzare tutti i libri prestati dopo il 01.01.2002 e prima del 31.12.2002.
INTRODUZIONE
Questo metodo serve per individuare gruppi diversi di record:una parte che implica la riduzione dei gruppi (con AND) e le altre parti che richiedono
l’ampliamento (con OR).- I criteri AND vanno tutti sulla stessa riga e vengono valutati assieme.
- I criteri OR vanno su righe separate e ogni riga e valutata separatamente.
UTILIZZO DI AND e OR MULTIPLI
ESEMPIO 1: Visualizza tutti i libri che costano tra 10.000 e 50.000. Per trovare questi libri si utilizza AND.ESEMPIO 2: Visualizza tutti i libri che costano <= 10.000 OPPURE >=50.000. Per trovare questi libri si utilizza OR.ESEMPIO 3: Se vogliamo solo i libri di una casa editrice MONDADORI, allora dobbiamo ripetere le informazioni della casa editrice su ogni riga OPPURE.
INTRODUZIONE MOTORE DI RICERCA – USO DI AND, OR
Con la modalità Avanzata:Si usa AND per unire due parole che devono essere entrambe necessariamente presenti nel risultato della ricerca. Si usa OR per unire due parole che devono essere presenti l’una o l'altra nel risultato della ricerca.
Esempio: automobili AND bmw AND mercedes
Non è indispensabile scrivere in maiuscolo gli operatori AND e OR, ma può essere utile per distinguere le parole della ricerca dalle istruzioni date al motore.
Esempio: (bmw OR mercedes) AND automobili
Si possono utilizzare delle parentesi per stabilire l’ordine nel quale il motore di ricerca deve eseguire le operazioni.
L’ALGEBRA BOOLEANA trova applicazione nella progettazione di circuiti logici digitali.
RETE LOGICA
I segnali binari sono livelli di tensione. Il valore esatto della tensione del segnale non è significativo: conta l’appartenenza ad un livello contrassegnato alto e ad un livello contrassegnato basso.
I componenti di un computer comunicano tra loro mediante segnali elettrici ai quali sono assegnati solo due stati diversi. L’algebra booleana quindi diventa lo strumento più opportuno per descrivere il loro funzionamento.
CALCOLATORE COME RETE LOGICA
In generale, il computer può essere considerato come una rete logica, cioè come un insieme di dispositivi chiamati porte logiche, opportunamente connessi.
Le porte logiche sono dispositivi capaci di eseguire operazioni logiche su segnali binari.
Questi segnali sono identificati tramite una coppia di simboli, per esempio: 0-1; Vero-Falso; Aperto-Chiuso; ecc.
Allo stato attuale della tecnologia, è possibile integrare in un unico componente di pochi cm2, diversi milioni di porte logiche (CPU, RAM, ecc.).
Algebra booleanaGli elementi di un'algebra booleana possono essere astratti o concreti; ad esempio possono essere numeri, proposizioni, insiemi o reti elettriche.Di solito, gli elementi considerati sono proposizioni, o semplici dichiarazioni, aventi la caratteristica di poter essere o vere o false, con la completa esclusione di casi ambigui.
La logica booleana consiste di tre operatori logici di base:OR AND NOTUna variabile logica (o booleana) è una variabile che può assumere solo uno di due valori (valori di verità):VERO - simboli alternativi: true, 1, ON, SIFALSO - simboli alternativi: false, 0, OFF, NO
Concetti
Vengono definiti i seguenti concetti:
•variabili booleane
•operatori booleani
•porte logiche
Variabili booleane
Una variabile booleana è una variabile binaria che può assumere esclusivamente due valori logici che saranno denotati con 0 e 1, oppure V e F.
Se x è una variabile booleana, vale quindi la seguente definizione:
x = 0 se x ≠≠≠≠ 1
x = 1 se x ≠≠≠≠ 0
Operatori booleaniSi definiscono gli operatori booleani o logici fondamentali:
NOT Negazione Logica, o COMPLEMENTAZIONE
AND Prodotto Logico, o CONGIUNZIONE
OR Somma Logica, o DISGIUNZIONE
La verità o la falsità di una variabile booleana sono dette VALORI DI VERITA’: una variabile può essere vera o falsa, ma non entrambe le cose.
Le operazioni sono rappresentate da opportune tabelle di verità.
Esempio di proposizione semplice:A: Potenza è una città;B: Basilicata è una regione.Esempio di proposizione composta:C: Potenza è una città AND Basilicata è una regione.Proposizione composta, ottenuta operando sulle proposizioni A e B per mezzo dell’operatore AND. Il valore di verità di C dipende dai valori delle due proposizioni.L’operazione binaria che da come risultato il valore di verità C si chiama congiunzione.
Tavola di veritàUna espressione complessa ha bisogno di parentesi per indicare l'ordine di applicazione degli operatori. L'algebra booleana prevede delle priorità di applicazione: prima si applica l'operatore NOT, poi AND e infine OR.
L’espressione A OR NOT B AND C equivale all’espressione
A OR ((NOT B) AND C).
L'espressione (A OR (NOT B)) AND C non rappresenta la stessa funzione della precedente. Come si può dimostrare questo fatto? Un metodo e quello di applicare l'induzione perfetta. Questa regola prevede che due formule sono equivalenti se hanno lo stesso valore di verità per qualsiasi valore di verità associato alle variabili che le costituiscono.
Per verificare che due espressioni A e B sono equivalenti (A B) si devono quindi esaminare tutti i possibili valori di verità delle variabili costituenti A e B e controllare che i valori di verità delle proposizioni A e B coincidano in ogni circostanza.
Questo viene fatto con le cosiddette tabelle di verità. Le tabelle di veritàassociano a ogni combinazione dei valori di verità delle variabili di una espressione, i valori di verità dell’espressione stessa.
NOT
Negazione o Complementazione
Operazione unaria che restituisce il valore logico opposto a quello della variabile di ingresso.
Per rappresentare il complemento di una variabile x vengono usate varie notazioni:
not(x)
x
Rappresentazione dell’operazione not(x) con la tavola della verità:
FV
VF
not(x)x
10
01
not(x)xoppure Proprietà:
not(not(x)) = x
Le tavole di verità sono tabelle matematiche utilizzate come principale rappresentazione di una funzione booleana, per determinare se, attribuiti i valori di verità alle proposizioni che la
compongono, una determinata proposizione è VERA o FALSA.
AND
Prodotto Logico (AND)L’operazione di prodotto logico fra due (o più) variabili fornisce il valore logico 1 se e solo se
tutte le variabili assumono valore logico 1.
Per rappresentare il prodotto logico di due variabili x e y si usa la notazione:
x and y
x . y
x y
Rappresentazione dell’operazione x and y con la tavola della verità:
0001
x and y0101
0011
yx oppureFFFV
x and yFFVV
FVFV
yx
Proprietà:
x . 0 = 0
x . 1 = x
x . x = x
ORSomma Logica (OR)
L’operazione di somma logica fra due (o più) variabili fornisce il valore logico 1 se e solo
se almeno una delle variabili assume valore logico 1.
Per rappresentare la somma logica di due variabili x e y si usa la notazione:
x or y
x + y
Rappresentazione dell’operazione x or y con la tavola della verità:
0111
x or y0101
0011
yx oppureFVVV
x or yFFVV
FVFV
yxProprietà:
x + 0 = x
x + 1 = 1
x + x = x
ELETTRONICA
Esempio di applicazione alla teoria dei circuiti elettrici:
L'algebra di Boole trova numerose applicazioni nel campo dei computer e dell'elettronica.
Proposizioni più complicate danno luogo a circuiti interruttori più articolati.
Associamo un interruttore a ognuna delle due proposizioni x e y: l’interruttore si chiude se la proposizione è vera, e si apre se la proposizione è falsa.In questo caso, l'espressione x AND y si può associare a due interruttori collegati in serie: c’è corrente nel circuito se e solo se entrambi gli interruttori sono chiusi, cioè se e solo se entrambe le proposizioni x e y sono vere.
x yx
Siano x e y due proposizioni.
Corrente nel circuito1) x AND y
2) x OR y Corrente nel circuito
x
y
Porte LogicheLe porte logiche sono dispositivi elettronici capaci di eseguire
operazioni logiche su variabili booleane.
A AND B
A OR B
NOT A
Rete combinatoria
Tale comportamento è dato dalla tabella:
1011
1010
0001
0101
0011
U2=X*Y + -Y-YU1=X*YYX
Una rete combinatoria è un circuito che usa porte logiche per realizzare funzionibooleane più complesse.
U1=X AND Y U2=X AND Y OR NOT Y
Proprietà
IDEMPOTENZA
x + x = x
x . x = x
Proprietà degli operatori logici NOT, AND e OR
ELEMENTO NULLO
x + 1 = 1
x . 0 = 0 PROPRIETÀ COMMUTATIVA
x + y = y + x
x . y = y . x
PROPRIETÀ ASSOCIATIVA
x + (y + z) = (x + y) + z = x + y + z
x . (y . z) = (x . y) . z = x . y . z
ProposizioniIn generale, l’obiettivo della logica proposizionale è quello di associare ad una frase del nostro linguaggio una espressione booleana, che ne rappresenta un modello logico.
Una proposizione è un qualunque asserto che può assumere solo il valore Vero o Falso.Ad una proposizione è possibile associare una variabile booleana, detta in questo caso proposizionale, il cui valore (1 per Vero e 0 per Falso) coincide con quello della proposizione stessa.
Una frase del nostro ragionamento è considerata come un insieme di proposizioni elementari collegate tra loro mediante alcuni elementi del linguaggio, tra cui i più frequenti sono: “o”, “e” e “non”.
Nel modello logico, a questi elementi dobbiamo sostituire gli operatori logici:
“o” (“oppure”) alternativa (o disgiunzione) logica (OR) somma “+”
“e” congiunzione logica (AND) prodotto “·“
“non” negazione logica (NOT) negazione “-”
ProposizioniSostituendo nella frase:
1. alle proposizioni le variabili logiche;
2. agli elementi di collegamento gli operatori;
si ottiene una espressione booleana che rappresenta il modello logico della frase stessa.
Proposizioni: p, q, t, …
PrioritàPer calcolare una espressione booleana, si costruisce la corrispondente tabella di verità con le
seguenti regole:
1. la tabella avrà tante righe quante sono le possibili combinazioni delle variabili: con 2
variabili, 4 righe; con 3 variabili, 8 righe; in generale, con n variabili, 2n righe;
2. la tabella avrà tante colonne quante sono le operazioni indicate nell’espresione;
3. la priorità delle operazioni è data dalle parentesi, procedendo da quelle più interne verso l’esterno, oppure mediante l’ordine di esecuzione degli operatori: not, and, or.
Esempio: calcolare la seguente espressione: (p and q) or not p
VFVV
FFVV
VFFF
VFVF
VVFF
(p and q) or not pnot pp and qqp
EsempioConsideriamo la frase:
L’auto può attraversare il casello autostradale se il conducente ha pagato e l’operatore alza la sbarra oppure se il conducente possiede una tessera autostradale e l’operatore alza la sbarra.
Il modello logico associato alla frase può essere costruito individuando le seguenti proposizioni
elementari:
y=1 (Vero)
y=0 (Falso)
se l’auto attraversa il casello
se l’auto non può attraversare il casello
s=1
p=1
t=1
se l’operatore del casello alza la sbarra
se il conducente ha pagato
se il conducente possiede la tessera autostradale
Variabile booleana associataProposizione
La variabile di uscita è in questo caso y, mentre s, p e t sono quelle di ingresso. Sostituendo
nella frase agli elementi del linguaggio E e OPPURE i rispettivi operatori logici prodotto e somma, si ottiene l’espressione booleana:
p . s + t . s
Esempio (segue)
L’espressione booleana y = p . s + t . s ha la seguente tabella della verità:
Nel modello logico del nostro esempio, la condizione per cui il conducente attraversa il casello (y=1) si ha, per esempio, quando possiede la tessera (t=1) e si alza la sbarra (s=1).
Equivalenza logica
Due espressioni si dicono equivalenti quando hanno la stessa tavola di verità.
Esempio: verificare che le seguenti espressioni sono equivalenti:
(p AND q) or (NOT p) (NOT p) OR q
VFVV
FFVV
VFVF
VVFF
(NOT p) OR qNOT pqp
FFVV
NOT p
VFVV
(p AND q) OR (NOT p)
VFFF
VFVF
VVFF
p AND qqp
Esercizi
Esercizio 1: calcolare la tavola di verità delle seguenti espressioni:
p and not q or p
not p or not q or t
Esercizio 2: calcolare le seguenti espressioni per i valori assegnati:
p or not q or p and not t
per p = Vero, q = Falso, t = Vero
Esercizio 3: calcolare le seguenti espressioni per i valori assegnati:
not p and not q or t
per p = Falso, q = Falso, t = Falso
Proprietà
Proprietà degli operatori AND, OR, NOT:
1) RIFLESSIVI:
A AND B ≡ B AND A
A OR B ≡ B OR A
2) ASSOCIATIVI:
A AND B AND C ≡ (A AND B) AND C ≡ A AND (B AND C)
A OR B OR C ≡ (A OR B) OR C ≡ A OR (B OR C)
Esempio alla fine
Proprietà
3) DISTRIBUTIVI RECIPROCAMENTE:
4) NEGAZIONE:
A AND (B OR C) ≡ (A AND B) OR (A AND C)
A OR (B AND C) ≡ (A OR B) AND (A OR C)
NOT NOT A ≡ A
Esempio alla fine
Proprietà
5) Leggi di DE MORGAN:
NOT (A AND B) ≡ (NOT A) OR (NOT B)
NOT (A OR B) ≡ (NOT A) AND (NOT B)
Esempio alla fine
OPERATORI SPECIALIMediante gli operatori logici di somma, prodotto e negazione, possiamo definire gli operatori
speciali descritti dalle seguenti tabelle.
Somma negata o NOR logico (OR Negato)
1000
y = A + B0101
0011
BA
oppureVFFF
y = A + BFFVV
FVFV
BA
Espressione logica: y = A + B
Tabella di verità
Simbolo della porta logica
L’operazione di NOR logico è l’operazione negata dell’operazione OR.
Il simbolo NOR è una contrazione di NOT OR.
Quindi l’operazione di NOR logico fra due (o più) variabili fornisce il valore logico 1 se nessuna delle variabili assume il valore logico 1.
OPERATORI SPECIALIProdotto negato o NAND logico (AND Negato)
1110
y = A . B
0101
0011
BA oppureVVVF
y = A . B
FFVV
FVFV
BAEspressione logica: y = A . B
Tabella di verità
Simbolo della porta logica
L’operazione di NAND logico è l’operazione negata dell’operazione AND.
Il simbolo NAND è una contrazione di NOT AND.
Quindi l’operazione di NAND logico fra due (o più) variabili fornisce il valore logico 1 se almeno una delle variabili assume il valore logico 0.
Proprietà di NANDL'operatore NAND ha una particolare importanza in quanto rende possibile realizzare tutte le funzioni logiche possibili con una circuiteria decisamente semplice.
Si dimostra che, utilizzando solo l'operatore NAND e possibile ottenere le tabelle di verità degli operatori NOT, OR e AND:
1. A NAND A = NOT A
VF
A NAND AFV
AVF
A NOT AFV
A
2. NOT(A NAND B) = A AND B
3. (NOT A) NAND (NOT B) = A OR B
0001
NOT(A NAND B)
1110
A NAND B
0101
0011
BA
OPERATORI SPECIALI
Comparatore di disuguaglianza o EX-OR logico (OR esclusivo)
0110
y = A + B
0101
0011
BA oppureFVVF
y = A + B
FFVV
FVFV
BA
Espressione logica: y = A + B
Tabella di verità
Simbolo della porta logica
L’operazione di or esclusivo EX-OR fra due (o più) variabili fornisce il valore logico 1 se il numero delle variabili che assumono valore logico 1 è dispari.
EsempioConsideriamo la frase:
L’auto si blocca perché suona l’allarme E qualcuno sta forzando lo sportello, Operché manca la benzina E non suona l’allarme .
Y=1 (Vero)Y=0 (Falso)
l’auto si bloccal’auto non si blocca
A = VS = V B = V
suona l’allarmequalcuno sta forzando lo sportello
manca la benzina
Variabile booleana associataProposizione
La variabile di uscita è Y, mentre A, S, B sono quelle di ingresso. Sostituendo nella
frase agli elementi del linguaggio E e O i rispettivi operatori logici prodotto e somma, si ottiene la seguente espressione booleana:
Modello logico associato alla frase:
Y = (A AND S) OR (B AND NOT A)
Esempio (segue)
L’espressione booleana Y = (A AND S) OR (B AND NOT A)ha la seguente tabella della verità:
F
F
F
F
V
F
V
F
B AND NOT A
F
F
F
F
V
V
V
V
NOT A
V
V
F
F
V
F
V
F
(A AND S) OR (B AND NOT A)
V
V
F
F
F
F
F
F
VVV
VVF
VFV
VFF
FVV
FVF
FFV
FFF
A AND SASB
T E S T
1. Perché una operazione logica si dice binaria? E in quale caso si dice unaria?
2. Qual è la definizione di somma logica?
3. In quale caso l’AND logico di due variabili può assumere il valore 1?
4. Quante sono le righe della tabella di verità che rappresenta una funzione con N variabili di ingresso?
5. Qual è la combinazione degli ingressi per cui l’operatore NOR assume il valore di uscita 1?
6. Qual è il legame tra la porta NAND e quelle elementari OR, AND o NOT?
7. Quando due espressioni si dicono equivalenti?
8. Cosa si intende per rete combinatoria?
9. Quali sono le proprietà degli operatori logici OR, AND, NOT?
10. Sistema le parentesi relative alla priorità: NOT p AND q OR NOT p
T E S T (SEGUE)
Dimostriamo, tramite la tabella di verità (induzione perfetta) che le espressioni:
A OR ((NOT B) AND C)(A OR (NOT B)) AND C
non sono equivalenti
A OR ((NOT B) AND C)
top related