La clausola in algebra booleana

In algebra booleana una clausola è un'espressione che contiene un insieme di letterali $ x_i $ connessi da OR (\(\lor\)) oppure un singolo letterale. $$ (x_1 \lor \overline{x_2} \lor  ... \lor  x_n ) $$

Una clausola può essere valutata come vera (1) o falsa (0) a seconda dei valori assegnati ai suoi letterali.

Poiché è composta da un insieme di letterali collegati da OR (∨), la clausola si comporta secondo la regola che:

  • se almeno uno dei letterali è vero, allora l'intera clausola è vera
  • se tutti i letterali sono falsi, allora la clausola è falsa.

Esempio

Prendiamo questa clausola

$$ (x_1 \lor \overline{x_2} \lor x_3) $$

Questa clausola è vera se almeno uno dei letterali al suo interno è vero.

Questo significa che se \(x\) è vero, o \(y\) è falso, cioè \(\overline{y}\) è vero), o \(z\) è vero, allora la clausola è vera.

Possiamo creare la tavola di verità per la clausola \( (x_1 \lor \overline{x_2} \lor x_3) \).

Ecco la tavola di verità:

\[
\begin{array}{ccc|c}
x_1 & x_2 & x_3 & (x_1 \lor \overline{x_2} \lor x_3) \\
\hline
0 & 0 & 0 & 1 \\
0 & 0 & 1 & 1 \\
0 & 1 & 0 & 0 \\
0 & 1 & 1 & 1 \\
1 & 0 & 0 & 1 \\
1 & 0 & 1 & 1 \\
1 & 1 & 0 & 1 \\
1 & 1 & 1 & 1 \\
\end{array}
\]

Nella tavola di verità, ogni riga rappresenta una possibile combinazione di valori di verità per le variabili \( x_1 \), \( x_2 \), e \( x_3 \), e il risultato della clausola per quella combinazione.

In questo caso, l'unico caso in cui la clausola è falsa è quando \( x_1 \) è 0, \( x_2 \) è 1, e \( x_3 \) è 0, perché non ci sono letterali veri in quella combinazione (riga 3).

In tutti gli altri casi la clausola è vera.

Quando si utilizzano le clausole?

Le clausole sono spesso utilizzate nelle forme normali delle espressioni booleane, in particolare nella Forma Normale Congiuntiva (CNF).

Nella CNF, una funzione booleana è espressa come un AND (\(\land\)) di clausole. Ogni clausola rappresenta una condizione che può rendere l'intera espressione vera se quella clausola è vera.

Ad esempio, nella CNF una funzione come

$$ f(x, y, z) = (x \lor \overline{y}) \land (\overline{x} \lor z) $$ è costituita da due clausole:

  • $ (x \lor \overline{y}) $
  • $ (\overline{x} \lor z) $

La funzione \(f\) è vera solo se entrambe le clausole sono vere, il che significa che o \(x\) è vero o \(y\) è falso per la prima clausola, e simultaneamente \(x\) è falso o \(z\) è vero per la seconda clausola.

 

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

L'algebra booleana