Applicazioni della Logica Booleana
Sono un appassionato di Logica Booleana, avendola applicata per
quarant'anni di vita professionale come progettista di Automazione
Industriale, e realizzo inoltre per hobby programmi di simulazione
finalizzati all'insegnamento dell'elettronica.
Vorrei quindi proporre nell'ambito dei Forums di Matematicamente, una
discussione sugli aspetti applicativi della logica booleana, che mi sembrano
ancora troppo poco diffusi nelle scuole italiane.
Come contributo iniziale, segnalo un mio articolo su:
Impiego del calcolatore per la soluzione di problemi logici
(http://www.schgor.com/artic/ICSPL.htm)
Attendo contatti.
g.schgor
quarant'anni di vita professionale come progettista di Automazione
Industriale, e realizzo inoltre per hobby programmi di simulazione
finalizzati all'insegnamento dell'elettronica.
Vorrei quindi proporre nell'ambito dei Forums di Matematicamente, una
discussione sugli aspetti applicativi della logica booleana, che mi sembrano
ancora troppo poco diffusi nelle scuole italiane.
Come contributo iniziale, segnalo un mio articolo su:
Impiego del calcolatore per la soluzione di problemi logici
(http://www.schgor.com/artic/ICSPL.htm)
Attendo contatti.
g.schgor
Risposte
Il programma SPL.exe e' un eseguibile di VisualBasic3.
quindi per la sua esecuzione e' richiesto che nella
directory System di Windows sia presente il programma
interprete VBRUN300.dll (che normalmente dovrebbe
gia' esserci nelle libreria del computer).
Se non c'e', posso inviatene copia, allegandolo ad una e-mail
(ma mi dovresti dare un indirizzo a cui inviarlo,
utilizzando l'indirizzo nel mio profile).
quindi per la sua esecuzione e' richiesto che nella
directory System di Windows sia presente il programma
interprete VBRUN300.dll (che normalmente dovrebbe
gia' esserci nelle libreria del computer).
Se non c'e', posso inviatene copia, allegandolo ad una e-mail
(ma mi dovresti dare un indirizzo a cui inviarlo,
utilizzando l'indirizzo nel mio profile).
ho provato a scaricare il programma spl,purtroppo però non sono riuscito a farlo partire perchè il computer mi dice che c'è un "error file", quindi per ora sono costretto a fare le operazioni con la fedele penna...come posso fare per avviare il programma?
P.S.
mi scuso per la svista jack.
Nella mia risposta la soluzione deve essere letta:
Questo termine e': ABc, e che significa cha A e B prendono l'aperitivo, ma non C
In effetti e' cio' che si ricava dal prodotto logico,
ma nello scrivere la risposta sono "andato a memoria".....
e mi e' scappato l'invio del post prima di rileggerlo.
G.Schgör
mi scuso per la svista jack.
Nella mia risposta la soluzione deve essere letta:
Questo termine e': ABc, e che significa cha A e B prendono l'aperitivo, ma non C
In effetti e' cio' che si ricava dal prodotto logico,
ma nello scrivere la risposta sono "andato a memoria".....
e mi e' scappato l'invio del post prima di rileggerlo.
G.Schgör
Molto bene jack, la soluzione del problema degli aperitivi e’ esatta,
ma volendo dimostrare la possibilita’ di utilizzo “pratico” dell’algebra booleana,
permettimi di insistere sul metodo.
Ecco quello che suggerisco:
Come primo passo occorre “tradurre” le singole condizioni del problema in altrettante
espressioni booleane, in termini di operazioni primarie (not, and, or).
1) Se A prende l'aperitivo, allora lo prende anche B.....(not A) or B
2) B e C prendono l'aperitivo, ma non assieme
.............................................(B and (not C)) or (C and (not B))
3) A o C prendono l'aperitivo...................................A or C
4) Se C prende l'aperitivo, allora lo prende anche A.......(not C) or A
(si osservi che non e’ sempre semplice interpretare l’effettivo
significato logico delle frasi, come ad es. la 2, che pur usando una “e”,
in realta’ comporta un or esclusivo).
Si sottolinea che questa e’ l’unica fase concettualmente impegnativa,
paragonabile all’impostazione delle equazioni in un problema numerico.
Il resto e’ una pura applicazione di regole, e puo’ essere quindi
risolto, come vedremo, dal calcolatore.
La soluzione si ricava infatti facendo il prodotto logico (and) di
tutte le condizioni imposte.
Cioe’, ricorrendo alle convenzioni proposte, si devono eseguire
i prodotti logici: (a+B)(Bc+bC)(A+C)(c+A)
Applicando le propieta’ dell’algebra booleana, si ricavano 16 termini,di cui pero’,
in questo problema, solo uno risulta diverso da zero (cioe’ non e’ un insieme vuoto).
Questo termine e’: AbC , e significa che A e C prendono l’aperitivo e non B.
Come si vede, il procedimento e’ elementare e fornisce con sicurezza
tutte le possibili soluzioni, (se non si commettono errori nello sviluppo algebrico!).
Per evitare questi possibili errori, si puo’ ricorrere al calcolatore, per es. al programma SPL gia’ citato.
Scrivendo le singole espressioni logiche negli appositi riquadri (R1…..R4) si ottengono le relative tabelle di verita’ per ciascuna condizione, quindi il risultato in corrispondenza della riga in cui tutte queste tabelle sono =1.
Nella speranza che qualcuno provi ad utilizzare il programma,
attendo commenti.
ma volendo dimostrare la possibilita’ di utilizzo “pratico” dell’algebra booleana,
permettimi di insistere sul metodo.
Ecco quello che suggerisco:
Come primo passo occorre “tradurre” le singole condizioni del problema in altrettante
espressioni booleane, in termini di operazioni primarie (not, and, or).
1) Se A prende l'aperitivo, allora lo prende anche B.....(not A) or B
2) B e C prendono l'aperitivo, ma non assieme
.............................................(B and (not C)) or (C and (not B))
3) A o C prendono l'aperitivo...................................A or C
4) Se C prende l'aperitivo, allora lo prende anche A.......(not C) or A
(si osservi che non e’ sempre semplice interpretare l’effettivo
significato logico delle frasi, come ad es. la 2, che pur usando una “e”,
in realta’ comporta un or esclusivo).
Si sottolinea che questa e’ l’unica fase concettualmente impegnativa,
paragonabile all’impostazione delle equazioni in un problema numerico.
Il resto e’ una pura applicazione di regole, e puo’ essere quindi
risolto, come vedremo, dal calcolatore.
La soluzione si ricava infatti facendo il prodotto logico (and) di
tutte le condizioni imposte.
Cioe’, ricorrendo alle convenzioni proposte, si devono eseguire
i prodotti logici: (a+B)(Bc+bC)(A+C)(c+A)
Applicando le propieta’ dell’algebra booleana, si ricavano 16 termini,di cui pero’,
in questo problema, solo uno risulta diverso da zero (cioe’ non e’ un insieme vuoto).
Questo termine e’: AbC , e significa che A e C prendono l’aperitivo e non B.
Come si vede, il procedimento e’ elementare e fornisce con sicurezza
tutte le possibili soluzioni, (se non si commettono errori nello sviluppo algebrico!).
Per evitare questi possibili errori, si puo’ ricorrere al calcolatore, per es. al programma SPL gia’ citato.
Scrivendo le singole espressioni logiche negli appositi riquadri (R1…..R4) si ottengono le relative tabelle di verita’ per ciascuna condizione, quindi il risultato in corrispondenza della riga in cui tutte queste tabelle sono =1.
Nella speranza che qualcuno provi ad utilizzare il programma,
attendo commenti.
allora, ho provato a usare un po' di logica booleana per ri-risolvere il problema degli aperitivi, e sono giunto a riformulare, attraverso la legge di DeMorgan, le quattro ipotesi nel modo seguente:
1)not(A and(notB))
2)not(B and C)
3)not(C and(notA))
4)not((notA) and(notC)
ho analizzato prima di tutto la 3) e la 4), e facendone la somma logica, sempre applicando la regola di De Morgan, ottieni:
not(((notA)and C) and ((notA)and(notC))), da cui si ricava che necessariamente A è vera, cioè A prende l' aperitivo;
adesso per la 1) anche B è vera, quindi anche B prende l' aperitivo(infatti la 1) la possiamo anche scrivere come (notA) or B, e siccome notA è falsa, poichè A è vera, allora B è vera);
infine dalla 2), sappiamo che (notB) or (notC), e siccome notB è falsa, allora notC è vera, quindi alla fine otteniamo che A e B prendono l' aperitivo, C non lo prende...
1)not(A and(notB))
2)not(B and C)
3)not(C and(notA))
4)not((notA) and(notC)
ho analizzato prima di tutto la 3) e la 4), e facendone la somma logica, sempre applicando la regola di De Morgan, ottieni:
not(((notA)and C) and ((notA)and(notC))), da cui si ricava che necessariamente A è vera, cioè A prende l' aperitivo;
adesso per la 1) anche B è vera, quindi anche B prende l' aperitivo(infatti la 1) la possiamo anche scrivere come (notA) or B, e siccome notA è falsa, poichè A è vera, allora B è vera);
infine dalla 2), sappiamo che (notB) or (notC), e siccome notB è falsa, allora notC è vera, quindi alla fine otteniamo che A e B prendono l' aperitivo, C non lo prende...
(risposta a jack)
Mi accorgo ora che la mia precedente risposta non era completa.
La domanda era: se A->B deve essere anche (not A)->(not B) ?.
Mi sembrava evidente che se la prima implicazione si deve
interpretare (not A) or B , la seconda deve interpretarsi
A or (not B),
quindi le due condizioni sono diverse (nella prima A implica B,
nella seconda e' B che implica A).
Per maggior chiarezza indico le tabelle di verita' delle due condizioni
(come si possono ottenere dal programma SPL,
purtroppo non presentabile nel post in forma grafica):
A____B____a+B____A+b
0____0_____1______1
1____0_____0______1
0____1_____1______0
1____1_____1______1
Circa l'interpretazione "intuitiva" del perche'
A->B corriponde ad a+B,
rimando all'articolo citato nel primo post
(ma c'e' qualcuno che l'ha letto?).
Lunedi' prossimo daro' la soluzione del
problema degli aperitivi, ma noto che la procedura
da te seguita, jack, e' basata essenzialmente sul
ragionamento intuitivo piottosto che sull'applicazione
dell'algebra booleana (che e' lo scopo di questo topic).
Mi accorgo ora che la mia precedente risposta non era completa.
La domanda era: se A->B deve essere anche (not A)->(not B) ?.
Mi sembrava evidente che se la prima implicazione si deve
interpretare (not A) or B , la seconda deve interpretarsi
A or (not B),
quindi le due condizioni sono diverse (nella prima A implica B,
nella seconda e' B che implica A).
Per maggior chiarezza indico le tabelle di verita' delle due condizioni
(come si possono ottenere dal programma SPL,
purtroppo non presentabile nel post in forma grafica):
A____B____a+B____A+b
0____0_____1______1
1____0_____0______1
0____1_____1______0
1____1_____1______1
Circa l'interpretazione "intuitiva" del perche'
A->B corriponde ad a+B,
rimando all'articolo citato nel primo post
(ma c'e' qualcuno che l'ha letto?).
Lunedi' prossimo daro' la soluzione del
problema degli aperitivi, ma noto che la procedura
da te seguita, jack, e' basata essenzialmente sul
ragionamento intuitivo piottosto che sull'applicazione
dell'algebra booleana (che e' lo scopo di questo topic).
non sono sicuro, ma dovrebbero prenderlo A e B, pensando che la condizione 2) significhi che l' aperitivo o lo prende B o lo prende C(un "or" non inclusivo in pratica)...
Con soddisfazione noto che si incomincia finalmente a discutere sull'utilizzo della logica (o "algebra") booleana.
A jack rispondo che l'utilizzo delle operazioni fondamentali "not", "and", "or" non e' un mio sfizio, ma e' basato sulla pratica della programmazione (sono ad esempio utilizzate direttamente come istruzioni nei linguaggi come il Basic), e nella
pratica industriale (in cui la logica e’ costituita da elementi - reali o virtuali - di questo tipo, chiamate appunto "porte logiche").
Nelle applicazioni il concetto di implicazione (A->B) deve essere quindi convertito in (not A) or B oppure nella sua forma equivalente (DeMorgan) not(A and (not B)).
Nelle convenzioni utilizzate nel programma SPL, le 2 espressioni si riducono a:
a+B oppure a [Ab] , quindi formalmente piu' semplici da scrivere.
Sulle convenzioni non apro una discussione, perche' una vale l'altra (anche l'apice di tony andrebbe bene). Si tratta solo di capirci senza ambiguita'.
A Marevick rispondo che la metodologia proposta non pretende di essere innovativa, ma che comunque porta a soluzioni complete, rapide e senza ulteriori sforzi di deduzione, dopo la "traduzione" del problema in espressioni booleane.
E la cosa non e' da poco, per problemi di una certa complessita'.
Approfitto dell'occasione per segnalare che nei links di Matematicamente vi e' anche quello di Logica e Fondamenti con un ottimo corso del prof. A. Maida.
Sebbene tale corso sia essenzialmente teorico ed orientato ad illustrare i fondamenti logici della matematica, vi e' riportato un esempio di problema logico che mi permetto di riportare qui, per proporlo ai volonterosi che seguono questo topic.
1) Se A prende l'aperitivo, allora lo prende anche B
2) B e C prendono l'aperitivo, ma non assieme
3) A o C prendono l'aperitivo
4) Se C prende l'aperitivo, allora lo prende anche A
Si chiede chi dei tre prende l'aperitivo e chi no
(naturalmente non vale andare a vedere la soluzione nel corso citato).
A jack rispondo che l'utilizzo delle operazioni fondamentali "not", "and", "or" non e' un mio sfizio, ma e' basato sulla pratica della programmazione (sono ad esempio utilizzate direttamente come istruzioni nei linguaggi come il Basic), e nella
pratica industriale (in cui la logica e’ costituita da elementi - reali o virtuali - di questo tipo, chiamate appunto "porte logiche").
Nelle applicazioni il concetto di implicazione (A->B) deve essere quindi convertito in (not A) or B oppure nella sua forma equivalente (DeMorgan) not(A and (not B)).
Nelle convenzioni utilizzate nel programma SPL, le 2 espressioni si riducono a:
a+B oppure a [Ab] , quindi formalmente piu' semplici da scrivere.
Sulle convenzioni non apro una discussione, perche' una vale l'altra (anche l'apice di tony andrebbe bene). Si tratta solo di capirci senza ambiguita'.
A Marevick rispondo che la metodologia proposta non pretende di essere innovativa, ma che comunque porta a soluzioni complete, rapide e senza ulteriori sforzi di deduzione, dopo la "traduzione" del problema in espressioni booleane.
E la cosa non e' da poco, per problemi di una certa complessita'.
Approfitto dell'occasione per segnalare che nei links di Matematicamente vi e' anche quello di Logica e Fondamenti con un ottimo corso del prof. A. Maida.
Sebbene tale corso sia essenzialmente teorico ed orientato ad illustrare i fondamenti logici della matematica, vi e' riportato un esempio di problema logico che mi permetto di riportare qui, per proporlo ai volonterosi che seguono questo topic.
1) Se A prende l'aperitivo, allora lo prende anche B
2) B e C prendono l'aperitivo, ma non assieme
3) A o C prendono l'aperitivo
4) Se C prende l'aperitivo, allora lo prende anche A
Si chiede chi dei tre prende l'aperitivo e chi no
(naturalmente non vale andare a vedere la soluzione nel corso citato).
quote:
... Per la negazione (not) nella pratica si ricorre ad una lineetta sopra la variabile, ma questo e’ piuttosto scomodo da realizzare col calcolatore, percio’ viene qui adottato il criterio di scrivere la variabile in minuscolo (cioe’ a = not A).
(il segno - [meno] davanti alla variabile, sebbene oggi molto usato, rischia di introdurre confusione rispetto all'algebra numerica.
C'e' gia' il + che ne fa). ...[g.schgor]
non si usa più l'apice?
era l'unica risorsa quando le stampanti non avevano il carattere minuscolo e mi pareva comodo e pulito, anche in sequenze tipo A'''' (non nei fogli di equazioni logiche, in cui si semplificava in A, ma sugli schemi, per un segnale passato attraverso 4 invertitori, invece di quattro sopralineature)
tony
secondo me si sta perdendo un sacco di tempo su concetti abbastanza facili. ho fatto l'anno scorso un corso di algebra e logica, in cui si facevano un bel po' di questi giochini con le tautologie e le tabelle di verità... sinceramente imparate un paio di cose poi il resto mi sembrava intuitivo. ciò non toglie che un programma che fa le cose da solo aiuta (noi più in generale usavamo trio-o-matic)
cmq la cosa che mi piace di più delle formule di de morgan è il loro equivalente insiemistico con i complementari le intersezioni e le unioni. possono risultare molto utili quando si comincia a parlare di sigma-algebre e ci si fanno esercizi sopra
(per jack. è vero, basta o ragionare a livello intuitivo (se è notB non può essere A perchè ciò imporrebbe anche B) oppure smanettare con te tavole di verità. questa tautologia è alla base delle dimostrazioni per assurdo e se non sbaglio tempo fa ubermensch ci aprì anche un topic apposta...)
cmq la cosa che mi piace di più delle formule di de morgan è il loro equivalente insiemistico con i complementari le intersezioni e le unioni. possono risultare molto utili quando si comincia a parlare di sigma-algebre e ci si fanno esercizi sopra
(per jack. è vero, basta o ragionare a livello intuitivo (se è notB non può essere A perchè ciò imporrebbe anche B) oppure smanettare con te tavole di verità. questa tautologia è alla base delle dimostrazioni per assurdo e se non sbaglio tempo fa ubermensch ci aprì anche un topic apposta...)
si vede che ha a che fare con la logica da più tempo di me...
in effetti non ho usato un metodo particolare, però non ho usato una simbologia così astrusa...o almeno nei libri che trattavano di logica di solito usavano quelli;
ne approfitto per chiederle: è sempre vero che
B> allora a> ?
non ho usato i suoi simboli perchè non ho capito perfettamente se il concetto di implicazione viene indicato con " + ", comunque quando scrivo b e a intendo "not B" e "not A"...
in effetti non ho usato un metodo particolare, però non ho usato una simbologia così astrusa...o almeno nei libri che trattavano di logica di solito usavano quelli;
ne approfitto per chiederle: è sempre vero che
B> allora a> ?
non ho usato i suoi simboli perchè non ho capito perfettamente se il concetto di implicazione viene indicato con " + ", comunque quando scrivo b e a intendo "not B" e "not A"...
Ottimo jack, la risposta e’: Bice canta.
Ma vediamo l’applicazione del procedimento booleano piu'
in dettaglio, ricorrendo a simbolismi meno criptici.
Innanzitutto dobbiamo trasformare le condizioni in equivalenti
espressioni logiche delle 3 variabili A (Anna suona), B (Bice canta)
e C (Carla studia).
La prima affermazione puo’ essere tradotta in: (not A) or B
La seconda in: B or C
La terza in: (not A) and (not C)
La soluzione, dovendo soddisfare le 3 condizioni, deve essere il
‘prodotto logico’ delle 3 espressioni, e risulta (not A) and B and (not C)
(le altre 7 combinazioni delle 3 variabili, risultano infatti tutte ‘False’).
L’interpretazione e’ quindi che l’unica situazione ammessa e’ quella in cui:
Anna non suona, Bice canta e Carla non studia.
Vorrei pero' aggiungere che il procedimento puo’ essere semplificato mediante l’impiego di un calcolatore elettronico.
Allo stesso modo in cui un problema numerico puo’ essere risolto
facendo svolgere i calcoli relativi appunto ad un calcolatore, si
puo’ ricorrere a quest’ultimo per svolgere le operazioni logiche
che portano alla soluzione (cioe' il prodotto logico delle 3
espressioni).
Si sottolinea che la pura esecuzione dei calcoli non rappresenta mai
la parte concettualmente piu’ importante della soluzione, ma che
richiede soltanto un’attenta esecuzione di regole, il che e’ compito
ideale per un calcolatore.
Fra i diversi possibili modi di utilizzare questo strumento per
tale scopo, vorrei segnalare un programma che e’ stato sviluppato
appositamente per la soluzione di problemi logici, e che puo’
essere prelevato da Internet attivando il programma SPL
http://www.schgor.com/eseg/SPL.exe
Come per tutti gli ambienti di calcolo, la sua utilizzazione
richiede l’accettazione di convenzioni nella scrittura delle
espressioni booleane da elaborare, convenzioni illustrate nella
‘Guida’ del programma stesso e che seguono quanto e’ normalmente
adottato nella pratica applicazione di questa logica.
Essenzialmente il prodotto logico fra variabili (and) viene sottinteso (cioe’ AB = A and B) e la somma logica (or) viene rappresentata dal segno + (cioe’ A+B = A or B).
Per la negazione (not) nella pratica si ricorre ad una lineetta sopra la variabile, ma questo e’ piuttosto scomodo da realizzare col calcolatore, percio’ viene qui adottato il criterio di scrivere la variabile in minuscolo (cioe’ a = not A).
(il segno - [meno] davanti alla variabile, sebbene oggi molto usato, rischia di introdurre confusione rispetto all'algebra numerica.
C'e' gia' il + che ne fa).
Con queste semplici convenzioni, possiamo ora adoperare il programma
scrivendo nelle apposite caselle le espressioni del nostro problema:
R1 = a+B
R2 = B+C
R3 = ac
Attivando i tasti a lato di ciascuna espressione, otterremo le singole tabelle di verita’ corrispondenti ( 1 = Vero, 0 = Falso), ed alla fine, attivando il pulsante ‘Soluz.’, otterremo l’evidenziazione del risultato.
Tutto qui.
Ma questo ci permettera’ di risolvere facilmente problemi piu’ complicati.
G.Schgör
Ma vediamo l’applicazione del procedimento booleano piu'
in dettaglio, ricorrendo a simbolismi meno criptici.
Innanzitutto dobbiamo trasformare le condizioni in equivalenti
espressioni logiche delle 3 variabili A (Anna suona), B (Bice canta)
e C (Carla studia).
La prima affermazione puo’ essere tradotta in: (not A) or B
La seconda in: B or C
La terza in: (not A) and (not C)
La soluzione, dovendo soddisfare le 3 condizioni, deve essere il
‘prodotto logico’ delle 3 espressioni, e risulta (not A) and B and (not C)
(le altre 7 combinazioni delle 3 variabili, risultano infatti tutte ‘False’).
L’interpretazione e’ quindi che l’unica situazione ammessa e’ quella in cui:
Anna non suona, Bice canta e Carla non studia.
Vorrei pero' aggiungere che il procedimento puo’ essere semplificato mediante l’impiego di un calcolatore elettronico.
Allo stesso modo in cui un problema numerico puo’ essere risolto
facendo svolgere i calcoli relativi appunto ad un calcolatore, si
puo’ ricorrere a quest’ultimo per svolgere le operazioni logiche
che portano alla soluzione (cioe' il prodotto logico delle 3
espressioni).
Si sottolinea che la pura esecuzione dei calcoli non rappresenta mai
la parte concettualmente piu’ importante della soluzione, ma che
richiede soltanto un’attenta esecuzione di regole, il che e’ compito
ideale per un calcolatore.
Fra i diversi possibili modi di utilizzare questo strumento per
tale scopo, vorrei segnalare un programma che e’ stato sviluppato
appositamente per la soluzione di problemi logici, e che puo’
essere prelevato da Internet attivando il programma SPL
http://www.schgor.com/eseg/SPL.exe
Come per tutti gli ambienti di calcolo, la sua utilizzazione
richiede l’accettazione di convenzioni nella scrittura delle
espressioni booleane da elaborare, convenzioni illustrate nella
‘Guida’ del programma stesso e che seguono quanto e’ normalmente
adottato nella pratica applicazione di questa logica.
Essenzialmente il prodotto logico fra variabili (and) viene sottinteso (cioe’ AB = A and B) e la somma logica (or) viene rappresentata dal segno + (cioe’ A+B = A or B).
Per la negazione (not) nella pratica si ricorre ad una lineetta sopra la variabile, ma questo e’ piuttosto scomodo da realizzare col calcolatore, percio’ viene qui adottato il criterio di scrivere la variabile in minuscolo (cioe’ a = not A).
(il segno - [meno] davanti alla variabile, sebbene oggi molto usato, rischia di introdurre confusione rispetto all'algebra numerica.
C'e' gia' il + che ne fa).
Con queste semplici convenzioni, possiamo ora adoperare il programma
scrivendo nelle apposite caselle le espressioni del nostro problema:
R1 = a+B
R2 = B+C
R3 = ac
Attivando i tasti a lato di ciascuna espressione, otterremo le singole tabelle di verita’ corrispondenti ( 1 = Vero, 0 = Falso), ed alla fine, attivando il pulsante ‘Soluz.’, otterremo l’evidenziazione del risultato.
Tutto qui.
Ma questo ci permettera’ di risolvere facilmente problemi piu’ complicati.
G.Schgör
non ne sono sicuro, ma dovrebbe essere, tradotto in simboli:
1) A(s)->B(c)
2) -B(c)->C(st)
3) -A(s)/\ -C(st)
adesso se B non cantasse, allora C studierebbe, ma siccome sappiamo che C non studia, allora B deve cantare(penso che il trucco sia di non pensare che se P implica Q, allora Q implica necessariamente P...
1) A(s)->B(c)
2) -B(c)->C(st)
3) -A(s)/\ -C(st)
adesso se B non cantasse, allora C studierebbe, ma siccome sappiamo che C non studia, allora B deve cantare(penso che il trucco sia di non pensare che se P implica Q, allora Q implica necessariamente P...
Oggi propongo un problema logico elementare.
Date le affermazioni
1) Se Anna suona, Bice canta
2) Se Bice non canta, Carla studia
3) Anna non suona e Carla non studia
si chiede: Bice canta o no?.
C’e’ qualcuno che prova a rispondere?
(non ci sono premi in palio).
Date le affermazioni
1) Se Anna suona, Bice canta
2) Se Bice non canta, Carla studia
3) Anna non suona e Carla non studia
si chiede: Bice canta o no?.
C’e’ qualcuno che prova a rispondere?
(non ci sono premi in palio).
(risposta a GIOVANNI IL CHIMICO)
Non ti capisco.
Comunichiamo su un sito che chiama topics gli argomenti, posts gli interventi, che chiede in inglese persino i dati personali, e poi te la prendi con me se uso le operazioni booleane col nome che ha dato loro 150 anni fa il fondatore di questa logica.
Mi sembra un doveroso riconoscimento, cosi’ come i musicisti di tutto il mondo usano tuttora le parole italiane andante, presto, allegretto e cosi’ via, per indicare i tempi sui loro spartiti.
Poi da 60 anni gli Stati Uniti sono indiscutibilmente in testa in tutte le applicazioni di questa logica, dai calcolatori ai prodotti elettronici sempre piu’ digitali, quindi e’ naturale che abbiano diffuso il loro gergo in tutto il mondo (persino in Russia e credo anche in Cina si usano i termini inglesi).
Sono d’accordo nel rifiutare il malvezzo di usare parole inglesi quando esiste un preciso equivalente in italiano ma, come tu stesso riconosci, in questo caso sarebbe opportuno ricorrere al latino (lingua sicuramente piu’ rigorosa dell’italiano).
Ma perche’? cosa dovremmo dimostrare? che la razza italica e’ superiore a quella anglosassone?
Non rendiamoci ridicoli come i francesi che hanno risviluppato il linguaggio Basic per utilizzare le istruzioni in francese...
A mio parere, ci sono altri campi in cui l’orgoglio nazionale dovrebbe spingerci a migliorarci.
Per esempio la notizia che in fatto di istruzione tecnica siamo in coda persino ai nuovi paesi dell’Est che sono ora sono entrati nella Comunita’ Europea…..
Ed infine non capisco se la logica booleana ti interessa o no.
In tutti i tuoi interventi hai sempre ignorato le domande poste ed hai parlato d’altro.
Ora il mio invito e’ questo: se sai gia’ tutto sull’argomento, ben venga il tuo apporto nel chiarirne i concetti a chi non li conosce.
Se non ti interessano le applicazioni, non so che farci.
Da parte mia, proprio nella speranza di migliorare la situazione dell’istruzione tecnica, tento di sollevare un certo interesse sugli argomenti che a mio avviso sono poco trattati nella scuola italiana e sono convinto che gli esempi applicativi servano a capire meglio
qualsiasi materia.
Finora ho avuto scarso successo. Ma insisto.
Non ti capisco.
Comunichiamo su un sito che chiama topics gli argomenti, posts gli interventi, che chiede in inglese persino i dati personali, e poi te la prendi con me se uso le operazioni booleane col nome che ha dato loro 150 anni fa il fondatore di questa logica.
Mi sembra un doveroso riconoscimento, cosi’ come i musicisti di tutto il mondo usano tuttora le parole italiane andante, presto, allegretto e cosi’ via, per indicare i tempi sui loro spartiti.
Poi da 60 anni gli Stati Uniti sono indiscutibilmente in testa in tutte le applicazioni di questa logica, dai calcolatori ai prodotti elettronici sempre piu’ digitali, quindi e’ naturale che abbiano diffuso il loro gergo in tutto il mondo (persino in Russia e credo anche in Cina si usano i termini inglesi).
Sono d’accordo nel rifiutare il malvezzo di usare parole inglesi quando esiste un preciso equivalente in italiano ma, come tu stesso riconosci, in questo caso sarebbe opportuno ricorrere al latino (lingua sicuramente piu’ rigorosa dell’italiano).
Ma perche’? cosa dovremmo dimostrare? che la razza italica e’ superiore a quella anglosassone?
Non rendiamoci ridicoli come i francesi che hanno risviluppato il linguaggio Basic per utilizzare le istruzioni in francese...
A mio parere, ci sono altri campi in cui l’orgoglio nazionale dovrebbe spingerci a migliorarci.
Per esempio la notizia che in fatto di istruzione tecnica siamo in coda persino ai nuovi paesi dell’Est che sono ora sono entrati nella Comunita’ Europea…..
Ed infine non capisco se la logica booleana ti interessa o no.
In tutti i tuoi interventi hai sempre ignorato le domande poste ed hai parlato d’altro.
Ora il mio invito e’ questo: se sai gia’ tutto sull’argomento, ben venga il tuo apporto nel chiarirne i concetti a chi non li conosce.
Se non ti interessano le applicazioni, non so che farci.
Da parte mia, proprio nella speranza di migliorare la situazione dell’istruzione tecnica, tento di sollevare un certo interesse sugli argomenti che a mio avviso sono poco trattati nella scuola italiana e sono convinto che gli esempi applicativi servano a capire meglio
qualsiasi materia.
Finora ho avuto scarso successo. Ma insisto.
io mi ricordo ben distintamente che alle superiori usavamo et, vel e altre locuzioni latine, il cui significato è chiaro ed univoco, se non fosse possibile esprimere concetti rigorosi usando come linguaggio l'italiano, allora non si potrebbe fare matematica in italiano,poichè qualunque risultato "teorico e pratico" sarebbe impossibile da esprimere in maniera tale da conservare il suo significato rigoroso, ciò è assurdo, anzi offensivo per chi nonostante mille difficoltà tenta di far vivere una "scuola matematica" italiana...
Pensare che usare l'inglese sia l'unico mezzo per essere rigorosi è segno di un servilismo culturale intollerabile...
Se pensassi solo alle applicazioni mi condannerei da solo ad essere schiavo di qualcosa che rifiuto di sapere...
Pensare che usare l'inglese sia l'unico mezzo per essere rigorosi è segno di un servilismo culturale intollerabile...
Se pensassi solo alle applicazioni mi condannerei da solo ad essere schiavo di qualcosa che rifiuto di sapere...
Bene.
Continuo a pensare che si tenda a dare piu' importanza
alla forma che alla sostanza.
Intanto noto che nessuno ha risposto alla mia domanda.
La cosa non era poi cosi' banale, perche' nella
risposta a KARL avevo affermato che la prima frase
esprimeva un 'or' delle negazioni [(not A) or (not B)]
e che la seconda era un 'and' delle stesse [(not A) and (not B)].
Nell'ultimo post si afferma invece che la prima frase e'
un 'Nand' delle variabili [not(A and B)] e la seconda un
'Nor' [not(A or B)].
Ecco, io mi domando e' proprio chiaro per tutti che le due
soluzioni sono equivalenti?
Se si', me ne compiaccio, ma ho dei dubbi.....
Vorrebbe dire che tutti conoscono i teoremi di DeMorgan.
(faccio contento GIOVANNI, citando la teoria. Ma a
proposito non e' un po' strano che un futuro ingegnere
sia piu' attratto dai teoremi che dalla applicazioni?).
Per le dizioni inglesi, direi che non c'e' valida alternativa.
La lingua italiana e' bella, ma non rigorosa e si fa molta
fatica a scrivere una frase che non si presti ad equivoci
interpretativi (infatti questo fa la fortuna degli avvocati).
Nelle applicazioni dell'algebra booleana, le operazioni not,
and e or, sono per lo piu' sostituite da simboli convenzionali
(quindi il problema e' se mai di conoscenza delle convenzioni
adottate).
Continuo a pensare che si tenda a dare piu' importanza
alla forma che alla sostanza.
Intanto noto che nessuno ha risposto alla mia domanda.
La cosa non era poi cosi' banale, perche' nella
risposta a KARL avevo affermato che la prima frase
esprimeva un 'or' delle negazioni [(not A) or (not B)]
e che la seconda era un 'and' delle stesse [(not A) and (not B)].
Nell'ultimo post si afferma invece che la prima frase e'
un 'Nand' delle variabili [not(A and B)] e la seconda un
'Nor' [not(A or B)].
Ecco, io mi domando e' proprio chiaro per tutti che le due
soluzioni sono equivalenti?
Se si', me ne compiaccio, ma ho dei dubbi.....
Vorrebbe dire che tutti conoscono i teoremi di DeMorgan.
(faccio contento GIOVANNI, citando la teoria. Ma a
proposito non e' un po' strano che un futuro ingegnere
sia piu' attratto dai teoremi che dalla applicazioni?).
Per le dizioni inglesi, direi che non c'e' valida alternativa.
La lingua italiana e' bella, ma non rigorosa e si fa molta
fatica a scrivere una frase che non si presti ad equivoci
interpretativi (infatti questo fa la fortuna degli avvocati).
Nelle applicazioni dell'algebra booleana, le operazioni not,
and e or, sono per lo piu' sostituite da simboli convenzionali
(quindi il problema e' se mai di conoscenza delle convenzioni
adottate).
quote:
Originally posted by g.schgor
Nella risposta a tony ho inserito un errore grammaticale
nella speranza che qualcuno me lo facesse notare.
Errori grammaticali non ne vedo, al più un errore ortografico...
Camillo
Ma scusa, capisco che sia un esempio introduttivo alla logica booleana, però mi sembra molto sterile ed esistente in sè per sè, e poi perchè usare termini inglesi, quando esistono quelli italiani?
Nella risposta a tony ho inserito un errore grammaticale
nella speranza che qualcuno me lo facesse notare.
Volevo dimostrare che spesso siamo piu' attenti agli errori
formali, piuttosto che ai contenuti logici di una frase.
Ma proprio nessuno ci bada piu' a queste cose?
Tento comunque di proseguire la 'provocazione' con l'analisi
delle frasi del 9/11 chiedendo:
La risposta
"La prima frase esprime un 'Nand' fra le variabili
A (Anna suona) e B (Bice canta), mentre la seconda
esprime un 'Nor' fra le stesse variabili."
e' corretta oppure no (e in ogni caso perche')?
nella speranza che qualcuno me lo facesse notare.
Volevo dimostrare che spesso siamo piu' attenti agli errori
formali, piuttosto che ai contenuti logici di una frase.
Ma proprio nessuno ci bada piu' a queste cose?
Tento comunque di proseguire la 'provocazione' con l'analisi
delle frasi del 9/11 chiedendo:
La risposta
"La prima frase esprime un 'Nand' fra le variabili
A (Anna suona) e B (Bice canta), mentre la seconda
esprime un 'Nor' fra le stesse variabili."
e' corretta oppure no (e in ogni caso perche')?