Ancora sulle applicazioni della logica booleana
Nell’ottobre dello scorso anno iniziai la mia partecipazione a questo Forum proponendo
una serie di problemi logici come esempi di applicazione dell’Algebra Booleana.
Lo scopo era quello di diffondere l’utilizzazione “pratica” di questa particolare
algebra, mostrando come si poteva utilizzarla per la soluzioni di problemi
di pura deduzione logica, invece che affrontarli con ragionamenti piu’ o meno
complicati.
La scuola, specialmente quella italiana, non aiuta molto in questo senso perche’
non mette in risalto questo aspetto, che invece ha molta importanza in molti campi
scientifici ed industriali.
Ritengo quindi utile tornare su questo argomento per stimolarne la conoscenza
da parte soprattutto dei nuovi partecipanti a questo Forum.
Il semplice problema proposto e’ questo:
Trovare quante e quali sono le situazioni permesse dalle seguenti affermazioni
1) Se Anna non gioca, Bice gioca
2) Quando Anna gioca, Carla non gioca e viceversa
3) Bice e Carla non giocano mai contemporaneamente
A chi fosse interessato alla soluzione con metodo algebrico, consiglio di riferirsi
ai seguenti articoli (ottenibili direttamente con un clik del mouse)
- Impiego del calcolatore nella soluzione di problemi logici
- Esempi applicativi della logica booleana
Attendo le vostre risposte, e naturalmente sono disponibile per qualsiasi chiarimento.
G.Schgör
una serie di problemi logici come esempi di applicazione dell’Algebra Booleana.
Lo scopo era quello di diffondere l’utilizzazione “pratica” di questa particolare
algebra, mostrando come si poteva utilizzarla per la soluzioni di problemi
di pura deduzione logica, invece che affrontarli con ragionamenti piu’ o meno
complicati.
La scuola, specialmente quella italiana, non aiuta molto in questo senso perche’
non mette in risalto questo aspetto, che invece ha molta importanza in molti campi
scientifici ed industriali.
Ritengo quindi utile tornare su questo argomento per stimolarne la conoscenza
da parte soprattutto dei nuovi partecipanti a questo Forum.
Il semplice problema proposto e’ questo:
Trovare quante e quali sono le situazioni permesse dalle seguenti affermazioni
1) Se Anna non gioca, Bice gioca
2) Quando Anna gioca, Carla non gioca e viceversa
3) Bice e Carla non giocano mai contemporaneamente
A chi fosse interessato alla soluzione con metodo algebrico, consiglio di riferirsi
ai seguenti articoli (ottenibili direttamente con un clik del mouse)
- Impiego del calcolatore nella soluzione di problemi logici
- Esempi applicativi della logica booleana
Attendo le vostre risposte, e naturalmente sono disponibile per qualsiasi chiarimento.
G.Schgör
Risposte
L'assoluta mancanza di risposte sembra confermare la mia tesi:
gli studenti italiani non sanno utilizzare l'algebra booleana.
(scusami ancora Bemipefe, ma la storia della mancanza di tempo
non l'ho bevuta. Applicando quest'algebra, il problema e' risolvibile
in pochi minuti!).
Ed ecco allora come procedere.
Per semplificare lo svolgimento consiglio innanzitutto di adottare
le convenzioni proposte negli articoli citati nel mio primo post.
Essenzialmente si esprimono le singole variabili logiche con lettere
maiuscole (A per Anna gioca) e le stesse lettere ma minuscole per
la condizione opposta (a per Anna non gioca, quindi a=NOT(A)).
Cosi' B per Bice e C per Carla.
Nelle espressioni booleane e' poi consuetudine usare il segno + per la
somma logica (OR) , quindi A+B = A OR B, e sottintendere
il prodotto logico (AND) fra variabili scritte di seguito ( AB = A AND B).
Fatte queste necessarie premesse, affrontiamo ora la "traduzione" delle condizioni
in equivalenti espressioni logiche.
Questo e' simile a quanto si deve fare nei problemi numerici per passare
dall'enunciato alle formule algebriche risolventi, ed e' la fase concettualmente
piu' importante ed impegnativa.
Allora, leggiamo la prima condizione: 1) Se Anna non gioca, Bice gioca
Qui sono coinvolte 2 variabili booleane, quindi vi sono 4 combinazioni,
di cui solo una viene resa "falsa", cioe' impossibile, dalla condizione precedente.
Questa e' evidentemente esprimibile come NOT(ab), cioe' e'
inammissibile che quando Anna non gioca (a) anche Bice con giochi (b).
Le altre 3 combinazioni sono "vere", cioe' ammesse, e sono: aB+Ab+AB
(lascio a voi la facile interpretazione).
Una minima conoscenza delle proprieta' dell'algebra booleana, porta a semplificare
l'espressione delle combinazioni vere in A+B.
Questa e' quindi la "traduzione" della prima condizione.
Non mi dilungo sulle altre due, dandone solo le espressioni equivalenti.
2) Quando Anna gioca, Carla non gioca e viceversa --> Ac + aC
3) Bice e Carla non giocano mai contemporaneamente --> b + c
Ed ora?
Ora la soluzione non e' altro che il prodotto logico delle 3 espressioni,
quindi: (A+B)(Ac+aC)(b+c), che da' come risultato le 2 sole
combinazioni ammissibili (su 8): Abc+ABc.
L'esecuzione di quest'ultimo passaggio e' una pura applicazione di regole
algebriche. Richiede ovviamente attenzione per non commettere errori,
ma non richiede alcun "ragionamento".
E' la parte che puo' essere svolta egregiamente da un calcolatore
(rapidamente e senza errori).
Se la cosa interessa qualcuno, posso illustrare queste possibilita' in una
prossima puntata.
Ma invito soprattutto a riflettere sull'importanza della "pratica" della
logica booleana, in special modo per i futuri ingegneri.
O credete che la progettazione delle catene di produzione automatizzate
(di qualsiasi prodotto, dalle automobili ai gelati) si faccia con le chiacchere?
gli studenti italiani non sanno utilizzare l'algebra booleana.
(scusami ancora Bemipefe, ma la storia della mancanza di tempo
non l'ho bevuta. Applicando quest'algebra, il problema e' risolvibile
in pochi minuti!).
Ed ecco allora come procedere.
Per semplificare lo svolgimento consiglio innanzitutto di adottare
le convenzioni proposte negli articoli citati nel mio primo post.
Essenzialmente si esprimono le singole variabili logiche con lettere
maiuscole (A per Anna gioca) e le stesse lettere ma minuscole per
la condizione opposta (a per Anna non gioca, quindi a=NOT(A)).
Cosi' B per Bice e C per Carla.
Nelle espressioni booleane e' poi consuetudine usare il segno + per la
somma logica (OR) , quindi A+B = A OR B, e sottintendere
il prodotto logico (AND) fra variabili scritte di seguito ( AB = A AND B).
Fatte queste necessarie premesse, affrontiamo ora la "traduzione" delle condizioni
in equivalenti espressioni logiche.
Questo e' simile a quanto si deve fare nei problemi numerici per passare
dall'enunciato alle formule algebriche risolventi, ed e' la fase concettualmente
piu' importante ed impegnativa.
Allora, leggiamo la prima condizione: 1) Se Anna non gioca, Bice gioca
Qui sono coinvolte 2 variabili booleane, quindi vi sono 4 combinazioni,
di cui solo una viene resa "falsa", cioe' impossibile, dalla condizione precedente.
Questa e' evidentemente esprimibile come NOT(ab), cioe' e'
inammissibile che quando Anna non gioca (a) anche Bice con giochi (b).
Le altre 3 combinazioni sono "vere", cioe' ammesse, e sono: aB+Ab+AB
(lascio a voi la facile interpretazione).
Una minima conoscenza delle proprieta' dell'algebra booleana, porta a semplificare
l'espressione delle combinazioni vere in A+B.
Questa e' quindi la "traduzione" della prima condizione.
Non mi dilungo sulle altre due, dandone solo le espressioni equivalenti.
2) Quando Anna gioca, Carla non gioca e viceversa --> Ac + aC
3) Bice e Carla non giocano mai contemporaneamente --> b + c
Ed ora?
Ora la soluzione non e' altro che il prodotto logico delle 3 espressioni,
quindi: (A+B)(Ac+aC)(b+c), che da' come risultato le 2 sole
combinazioni ammissibili (su 8): Abc+ABc.
L'esecuzione di quest'ultimo passaggio e' una pura applicazione di regole
algebriche. Richiede ovviamente attenzione per non commettere errori,
ma non richiede alcun "ragionamento".
E' la parte che puo' essere svolta egregiamente da un calcolatore
(rapidamente e senza errori).
Se la cosa interessa qualcuno, posso illustrare queste possibilita' in una
prossima puntata.
Ma invito soprattutto a riflettere sull'importanza della "pratica" della
logica booleana, in special modo per i futuri ingegneri.
O credete che la progettazione delle catene di produzione automatizzate
(di qualsiasi prodotto, dalle automobili ai gelati) si faccia con le chiacchere?
Ok "g.schgor"!
Lo sò che chiedevi soluzioni...... ma visto che era nel tuo intento divulgare l'argomento sull'Algebra Booleana, ti ho dato una mano per far capire che cosè e come funziona e come serve.
.....scusami ma adesso non ho tempo per rispondere ai quesiti.
CIAO!
Bemipefe
Lo sò che chiedevi soluzioni...... ma visto che era nel tuo intento divulgare l'argomento sull'Algebra Booleana, ti ho dato una mano per far capire che cosè e come funziona e come serve.
.....scusami ma adesso non ho tempo per rispondere ai quesiti.
CIAO!
Bemipefe
Scusami Bemipefe, ma io non ho chiesto di spiegare
cos'e' un elemento logico.
Ho chiesto la soluzione di un problema con 3 condizioni,
e tu ti fermi alla prima!
Questo, e la mancanza di risposte, mi convince sempre piu'
che la scuola non insegna ad "applicare" la logica booleana.
Pero' io insisto!
E attendo ancora prima di dare la soluzione.
cos'e' un elemento logico.
Ho chiesto la soluzione di un problema con 3 condizioni,
e tu ti fermi alla prima!
Questo, e la mancanza di risposte, mi convince sempre piu'
che la scuola non insegna ad "applicare" la logica booleana.
Pero' io insisto!
E attendo ancora prima di dare la soluzione.
Si hanno 2^n combinazioni di valori di verità.
Due rappresenta il numero di possibili valori attribuibili a gli elementi, numerosi "n"
Abbiamo 2 elementi quindi 2_n= 4 combinazioni.
In Generale tutti gli enunciati possono assumere solo due valori di verità ....V o F ossia True o False, Vero o Falso, 0 o 1 nella logica circuitale.
Si potrebbe costruire un circuito logico che calcola la verità o falsità dell'enunciato
NOT[NOT(A)] OR B.
Un circuito logico è composto da componenti che eseguono operazioni logiche, poi a livello elettronico tutto viene tradotto in altri componenti "reali" .

Questo per dire che i computer "ragionano" o meglio funzionano secondo la logica booleana in cui sono stati tradotti i valori Veri in 1 e i valori Falsi in 0.
1 poi in elettronica rappresenta una "tensione" che va da 2V a 5 V
0 invece rappresenta una "tensione" nulla o pressochè nulla che và da 0 a 0,8 V.
Questo tipo di segnale, che assume sono due valori di "tensione" viene detto "Digitale" , mentre il segnale "Analogico" assume più valori di tensione all'interno del suo intervallo di alimentazione. Un esempio :
il "modem" traduce il segnale "Digitale" in "Analogico e viceversa.
Il Digitale è un segnale rappresentabile con "onde quadre".
L'Analogico è un segnale rappresentabile con "onde curve".
Bemipefe
Due rappresenta il numero di possibili valori attribuibili a gli elementi, numerosi "n"
Abbiamo 2 elementi quindi 2_n= 4 combinazioni.
In Generale tutti gli enunciati possono assumere solo due valori di verità ....V o F ossia True o False, Vero o Falso, 0 o 1 nella logica circuitale.
Si potrebbe costruire un circuito logico che calcola la verità o falsità dell'enunciato
NOT[NOT(A)] OR B.
Un circuito logico è composto da componenti che eseguono operazioni logiche, poi a livello elettronico tutto viene tradotto in altri componenti "reali" .

Questo per dire che i computer "ragionano" o meglio funzionano secondo la logica booleana in cui sono stati tradotti i valori Veri in 1 e i valori Falsi in 0.
1 poi in elettronica rappresenta una "tensione" che va da 2V a 5 V
0 invece rappresenta una "tensione" nulla o pressochè nulla che và da 0 a 0,8 V.
Questo tipo di segnale, che assume sono due valori di "tensione" viene detto "Digitale" , mentre il segnale "Analogico" assume più valori di tensione all'interno del suo intervallo di alimentazione. Un esempio :
il "modem" traduce il segnale "Digitale" in "Analogico e viceversa.
Il Digitale è un segnale rappresentabile con "onde quadre".
L'Analogico è un segnale rappresentabile con "onde curve".
Bemipefe
L'approccio e' questo, ma occorre arrivare alle soluzioni.
Quante e quali sono le situazioni ammesse dagli enunciati?
Quante e quali sono le situazioni ammesse dagli enunciati?
...vediamo se mi ricordo qualcosa sull'algebra booleana....
....aiutandomi con i "link" mi viene fuori:
NOT (anna gioca) ----> (bice gioca).
....visto che l'algebra boleana lavora solo con l'OR e l'AND, che rappresentano poi nel calcolo le operazioni "+" e "*". riconduco l'enunciato a questi due connettivi logici comparando la tabella di verità.
NOT[NOT(anna gioca)] OR (bice gioca)
Questo è ottenibile anche con la deduzione attraverso il metodo di Tableau Predicativi.
Cioè prendo l'ennciato NOT (anna gioca) ----> (bice gioca) che per semplicità trasformo in NOT(A) ----> B....
...e vedo se per rendere vero l'enunciato occorra che siano vere tutte e due le ocndizioni poste per A e B , e quindi le condizioni sono separate da un AND (Alfa regola in Logica)
oppure se per rendere vero l'enunciato basta rispettare una condizione o un altra, come in questo caso, separo le due condioni con un OR (Beta regola in Logica).
Le condizioni che rendono vero NOT(A) ----> B sono :
NOT[NOT(A)] OR B.
Cioè per rendere vero l'enunciato o deve essere falsa la premessa, oppure deve essere vera l'implicazione..... questo lo si deduce dalla tabella dei valori di verità del connettivo "---->".
Se avevamo semplicemente A---> B allora le condizioni erano....
NOT(A) OR B .....falsa la premessa o vera l'implicazione.
...e così si può fare anche con gli altri enunciati formalizzati.
CIAO!
Bemipefe
....aiutandomi con i "link" mi viene fuori:
NOT (anna gioca) ----> (bice gioca).
....visto che l'algebra boleana lavora solo con l'OR e l'AND, che rappresentano poi nel calcolo le operazioni "+" e "*". riconduco l'enunciato a questi due connettivi logici comparando la tabella di verità.
NOT[NOT(anna gioca)] OR (bice gioca)
Questo è ottenibile anche con la deduzione attraverso il metodo di Tableau Predicativi.
Cioè prendo l'ennciato NOT (anna gioca) ----> (bice gioca) che per semplicità trasformo in NOT(A) ----> B....
...e vedo se per rendere vero l'enunciato occorra che siano vere tutte e due le ocndizioni poste per A e B , e quindi le condizioni sono separate da un AND (Alfa regola in Logica)
oppure se per rendere vero l'enunciato basta rispettare una condizione o un altra, come in questo caso, separo le due condioni con un OR (Beta regola in Logica).
Le condizioni che rendono vero NOT(A) ----> B sono :
NOT[NOT(A)] OR B.
Cioè per rendere vero l'enunciato o deve essere falsa la premessa, oppure deve essere vera l'implicazione..... questo lo si deduce dalla tabella dei valori di verità del connettivo "---->".
Se avevamo semplicemente A---> B allora le condizioni erano....
NOT(A) OR B .....falsa la premessa o vera l'implicazione.
...e così si può fare anche con gli altri enunciati formalizzati.
CIAO!
Bemipefe