clorofabio ha scritto:Perdonami la mia insistenza ma voglio capire bene. Quale proprietà hai applicato per ottenere questi passaggi (il quarto e il settimo)?


Scusa, mi ero perso la discussione
Le cose che si possono fare per ridurre espressioni logiche sono le solite, simili alle regole dell'aritmetica, solo che devi realizzare alcune proprieta' che solo i sistemi binari hanno.
Ogni simbolo ha in se' il significato condizione logica o stato logico, puo' essere vero o falso, oppure se vuoi '1' e '0', mentalmente devi immaginare di sostituire al simbolo una condizione e fare delle elaborazioni molto semplici.
OR (addizione)
L'addizione in algebra Booleana è l'operazione di OR. Si chiama OR proprio perché il risultato dell'espressione è vero se ALMENO uno degli addendi è vero. Nella seguente, quando leggi, immagina di dire "tutto è vero se è vera la prima
o la seconda
o la terza ecc... (OR),vedi da te che una sola vera ti basta per dire che l'espressione è vera, senza continuare a guardarle tutte!


(basta quell'uno, ti basta per dire che è vera sempre)
Quando hai nella stessa espressione un elemento in OR con il suo negato, il risultato non può che essere vero sempre.

sempre! perché se D fosse vero basterebbe lui per dire che tutto è vero (1), mentre se D fosse falso il suo negato sarebbe vero, e questo è sufficiente per dire che tutto è vero (1), non ci sono altri casi da considerare, quindi possiamo dire che una variabile in OR con il suo negato è sempre vero, o 1, scrivi al suo posto 1.

Vediamo un esempio.
Attenzione,
l'uno '1' in OR va sempre riportato, non scriverlo significa fare un grosso errore, e nell'esempio precedente non ci avrebbe permesso di arrivare alla soluzione banale che tutto è '1' o vero.
L'elemento nullo '0' invece in OR con altri elementi puo' essere omesso, come si fa' di solito in aritmetica.

Qualsiasi sia A.
AND (moltiplicazione)
La moltiplicazione segue le regole che gia' conosciamo, riducendosi perlopiu' a moltiplicazioni per 0 e per 1, che sappiamo quanto danno, in piu' in algebra booleana abbiamo degli elementi negati, e qui la legge è semplice, ricordando sempre che il prodotto AND significa che l'espressione è vera se e solo se TUTTI gli elementi son veri, ne basta uno falso per mandare l'espressione a '0' o a 'falso'.
Come per la addizione (OR) nella moltiplicazione (AND) devi immaginare di dire, quando leggi, SE è vero A
e B
e C ...ecc (AND)... allora è tutto vero.

sempre
immagina di porre prima A=1, 1 AND 0 è 0, se poni A=0, 0 AND 1 = 0

comunque sempre 0, ricorda, ne basta uno falso ed è tutto falso

beh, se A=1, 1 AND 1 è 1=A, quindi una variabile per se stessa ripetuta n volte da' sempre il valore della singola variabile.


qui è chiaro ormai perché è falsa

accoppia i singoli risultati AA=A, BB=B ecc...
vale la proprietà commutativa per la AND per cui puoi scambiare posto quanto ti pare e non cambia nulla.

Un'altra proprieta' importante per fare delle semplificazioni è la distribuzione del prodotto.

Puoi raccogliere
i termini identici e metterli in evidenza
come vedi eseguendo il prodotto ritorniamo alla espressione iniziale, quindi le due quantita' a sinistra e a destra dell'uguale sono identiche.
Continuando, sappiamo gia' a quanto è uguale una variabile in OR con la sua negata, è sempre '1'.

1 AND B, da' sempre B, perché è il valore di B che determina il risultato. Se B=0, 1 AND 0 da' 0=B, se B=1, 1 AND 1 = 1=B, sempre e comunque!
In tutti gli esercizi che vedrai le regole da applicare sono queste senplici regole, solo che possono presentarsi in vesti apparentemente piu' complesse, ma guardandole bene non sono altro che queste che abbiamo gia' visto.

Qui devi pensare sempre che le regole che ho scritto si possono estendere a blocchi di termini identici, non solo termini identici, per applicare la proprietà distributiva, non importa cosa sia in se' il blocco, ce ne preoccuperemo dopo. Ci vuoi certo un occhio un attimino allenato per vederlo, ma con l'esercizio verra' tutto naturale ed automatico.

Il blocco che si ripete è

ma ne vediamo uno più grande che si ripete,

e devi in generale prendere il blocco più grande per effettuare una distribuzione efficace.
De MorganIn aggiunta a queste semplici regole, si usano le leggi di questo signore, che ci aiutano a trasformare delle espressioni in OR in espressioni in AND e viceversa. Possono essere applicate o meno, non è obbligatorio, è questione di semplificazione, se il risultato è piu' semplice e diviene esplicito applicare le regole base che abbiamo visto precedentemente si applicano altrimenti no.
Le usiamo per spezzare linee di negazione continue, che abbracciano piu' termini, isolandoli in termini piu' semplici.

da AND a OR

da OR a AND
Quando hai al posto di un termine un blocco di piu' termini la regola rimane invariata, pensa solo ai blocchi come singole variabili, e non sbaglierai mai.

Qui abbiamo una linea contigua di negazione che abbraccia due termini (macro termini diciamo) che sono

e

, pensa a questi due come unici termini, dagli un nome diverso se vuoi, ed applica De Morgan.

e


risostituendo avremo:

Con blocchi piu' complessi usa sempre questa sostituzione, eseguendo prima l'operazione più esterna, in questo caso la linea contigua che abbracciava tutti i termini.
Se avessimo avuto:

facendo la sostituzione, avremmo avuto

,


risostituendo:

Ora potremmo continuare ad applicare De Morgan al blocco

.

non dimenticandosi di C, in totale avremmo avuto:

Tutto questo per quanto riguarda De Morgan.
Ulteriori "trucchi" si basano sempre sulle regole base, giocando un po' con i termini.
Moltiplicare per 1 non cambia il termine, ma 1 puo' essere scritto in vari modi in algebra booleana.

, ecc...
nella nostra espressione iniziale dell'esercizio (il tuo esercizio) avevamo tre blocchi di due termini, in cui comparivano degli elementi comuni a due a due, volendo quindi applicare una semplificazione volevo avere dei termini identici in tutti e tre i blocchi, cosi' da accorparli!

Volendo far comparire altri B e B negato, posso moltiplicare il primo termine per

ovvero per 1 e non cambia nulla, se non il fatto che i blocchi identici ora ci sono!

Li vedi? I termini (o blocchi) identici ora ci sono,

tra il primo e l'ultimo,

tra il secondo ed il terzo. Possiamo quindi accorparli e mettere in evidenza i termini identici, ricordandoci che
l'1 in OR si scrive sempre. Per verifica puoi sempre rifare i prodotti misti e devi riavere l'espressione iniziale, allora sara' tutto corretto.
Mettendo in evidenza arriviamo quindi a:

Qui, applicando le semplici regole di addizione (OR) nelle parentesi, arriviamo al risultato.
Mi sono dilungato forse un po' troppo, ho sicuramente tralasciato qualcosa, ma è difficile riassumere in una risposta tutte le tecniche di semplificazione: si basano tutte su regole semplicissime come vedi, quando non le vedi, accorpa i macro termini, dagli un nome diverso, fai le tue operazioni, e risostituisci.
Un'ultima regola molto potente è la doppia negazione, ma te la risparmio per ora... e' potente ma a volte richiede molti calcoli, e non sempre è utile.