Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

ELEMENTI DI ALGEBRA BOOLEANA by bln34863

VIEWS: 553 PAGES: 45

									             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, 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 B
sono vere, mentre C è falsa.
Ogni frase ha un valore di verità o falsità, nessuna ambiguità.



                         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.
                     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
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                              UTILIZZO DI AND e OR MULTIPLI
                 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.
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.
                                                                   altra nel risultato della
Si usa OR per unire due parole che devono essere presenti l’una o l'
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.

                         Si possono utilizzare delle parentesi per stabilire l’ordine nel quale il
                         motore di ricerca deve eseguire le operazioni.

          Esempio: (bmw OR mercedes) AND automobili
                                   RETE LOGICA
   L’ALGEBRA BOOLEANA trova applicazione nella progettazione di circuiti logici
                              digitali.
                CALCOLATORE COME RETE LOGICA
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.
                            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.

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.).
ESEMPI   PROGETTAZIONE DI CIRCUITI LOGICI DIGITALI
                                   Algebra booleana
Gli 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
                  NOT
                  Una variabile logica (o booleana) è una variabile che può assumere solo
                  uno di due valori (valori di verità):
                  VERO - simboli alternativi: true, 1, ON, SI
                  FALSO - 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 booleani
   Si 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à
                                                                ordine di
Una espressione complessa ha bisogno di parentesi per indicare l'
                               algebra booleana prevede delle priorità di
applicazione degli operatori. L'
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
               induzione perfetta. Questa regola prevede che due formule sono equivalenti se
              l'
              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à:

        x not(x)                   x not(x)
                       oppure
       V      F                    0     1                           Proprietà:

       F      V                    1     0                        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
                                                 xy

Rappresentazione dell’operazione x and y con la tavola della verità:

   x y x and y                       x y x and y
                         oppure
   0   0       0                     F   F      F                       Proprietà:
   0   1       0                     V   F      F
                                                                        x.0=0
   1   0       0                     F   V      F
   1   1       1                     V   V      V                       x.1=x
                                                                        x.x=x
                                           OR
                                     Somma 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à:

  x y     x or y                 x y      x or y
                      oppure
  0   0     0                    F   F      F                 Proprietà:
  0   1     1                    V   F      V                 x+0=x
  1   0     1                    F   V      V
                                                              x+1=1
  1   1     1                    V   V      V
                                                              x+x=x
                                    ELETTRONICA
                                                                           elettronica.
 algebra di Boole trova numerose applicazioni nel campo dei computer e dell'
L'
Esempio di applicazione alla teoria dei circuiti elettrici:
Siano x e y due proposizioni.
                              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.

1) x AND y                      x
                                                                  Corrente nel circuito
                                               y
                                    x

2) x OR y                                                    Corrente nel circuito

                                    y


Proposizioni più complicate danno luogo a circuiti interruttori più articolati.
                      Porte Logiche
Le porte logiche sono dispositivi elettronici capaci di eseguire
          operazioni logiche su variabili booleane.




 A AND B


                          A OR B



                                                 NOT A
                                   Porta AND
Alcune proprietà della porta AND
                                  Porta OR
Alcune proprietà della porta OR
                           Rete combinatoria
 Una rete combinatoria è un circuito che usa porte logiche per realizzare funzioni
                           booleane più complesse.




U1=X AND Y        U2=X AND Y OR NOT Y           X   Y U1=X*Y -Y U2=X*Y + -Y
                                                0   0      0      1         1
      Tale comportamento è dato dalla           0   1      0      0         0
      tabella:                                  1   0      0      1         1
                                                1   1      1      0         1
     Rete combinatoria




(X AND NOT Y) OR NOT (X OR Y)
                               Proprietà
                Proprietà degli operatori logici NOT, AND e OR

IDEMPOTENZA
x+x=x
x.x=x
        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
                                  Proposizioni
In 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 “-”
                                   Proposizioni
 Sostituendo 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


                   p q p and q not p               (p and q) or not p
                   V   V       V         F                   V
                   V   F       F         F                   F
                   F   V       F         V                   V
                   F   F       F         V                   V
                                            Esempio
Consideriamo 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:
Proposizione                                               Variabile booleana associata
se l’auto attraversa il casello                            y=1 (Vero)
se l’auto non può attraversare il casello                  y=0 (Falso)
se l’operatore del casello alza la sbarra                  s=1
se il conducente ha pagato                                 p=1
se il conducente possiede la tessera autostradale          t=1
    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).
            Circuito (segue)
y=p.s+t.s
                                 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



p   q p AND q NOT p (p AND q) OR (NOT p)                     p q NOT p (NOT p) OR q
V   V      V          F                 V                    V      V   F        V
V   F      F          F                 F                    V      F   F        F
F   V      F          V                 V                    F      V   V        V
F   F      F          V                 V                    F      F   V        V
                                            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:

A AND (B OR C) ≡ (A AND B) OR (A AND C)
A OR (B AND C) ≡ (A OR B) AND (A OR C)




4) NEGAZIONE:
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 SPECIALI
 Mediante gli operatori logici di somma, prodotto e negazione, possiamo definire gli operatori
                             speciali descritti dalle seguenti tabelle.

                  Somma negata o NOR logico (OR Negato)
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.

               Tabella di verità         A B y=A+B                         A B y=A+B
                                         0   0       1                     F   F       V
Espressione logica: y = A + B            0   1       0       oppure        V   F       F
                                         1   0       0                     F   V       F
                                         1   1       0                     V   V       F



Simbolo della porta logica
                          OPERATORI SPECIALI
               Prodotto negato o NAND logico (AND Negato)
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.


                                           A B y=A.B                        A B y=A.B
 Espressione logica: y = A . B                                oppure
                                           0   0      1                     F   F      V
                                           0   1      1                     V   F      V
                 Tabella di verità         1   0      1                     F   V      V
                                           1   1      0                     V   V      F




 Simbolo della porta logica
                             Proprietà di NAND
L'operatore NAND ha una particolare importanza in quanto rende possibile realizzare
tutte le funzioni logiche possibili con una circuiteria decisamente semplice.
                                   operatore NAND e possibile ottenere le tabelle di
Si dimostra che, utilizzando solo l'
verità degli operatori NOT, OR e AND:

1. A NAND A = NOT A                   A A NAND A           A A NOT A
                                      F        V           F        V
                                      V        F           V        F



2. NOT(A NAND B) = A AND B                       A B A NAND B NOT(A NAND B)
                                                 0   0      1                0
                                                 0   1      1                0
                                                 1   0      1                0
                                                 1   1      0                1

3. (NOT A) NAND (NOT B) = A OR B
                       OPERATORI SPECIALI
Comparatore di disuguaglianza o EX-OR logico (OR esclusivo)
 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.
Espressione logica: y = A + B

                                Tabella di verità

               A B y=A+B                            A B y=A+B
                                      oppure
               0   0     0                          F   F   F
               0   1     1                          V   F   V
               1   0     1                          F   V   V
               1   1     0                          V   V   F


Simbolo della porta logica
                                          Esempio
Consideriamo la frase:

L’auto si blocca perché suona l’allarme E qualcuno sta forzando lo sportello, O
perché manca la benzina E non suona l’allarme .
Modello logico associato alla frase:
Proposizione                            Variabile booleana associata
                    l’auto si blocca Y=1 (Vero)
               l’auto non si blocca Y=0 (Falso)
                  suona l’allarme A = V
qualcuno sta forzando lo sportello S = V
                manca la benzina B = V

    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:


                  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à:
   ASB A AND S NOT A              B AND NOT A   (A AND S) OR (B AND NOT A)
   VVV         V          F              F                  V
   VVF         V          F              F                  V
   VFV         F          F              F                  F
   VFF         F          F              F                  F
   FVV         F          V              V                  V
   FVF         F          V              F                  F
   FFV         F          V              V                  V
   FFF         F          V              F                  F
                                   TEST
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)
                       T E S T (SEGUE)


(A OR (NOT B)) AND C
                           T E S T (SEGUE)
   Verificare tramite tavola di verità le proprietà degli operatori
                         AND, OR, NOT
1) RIFLESSIVI

2) ASSOCIATIVI

3) DISTRIBUTIVI RECIPROCAMENTE

4) NEGAZIONE

5) Leggi di DE MORGAN

								
To top