¿Qué se entiende por self-dual en álgebra booleana?

Una función booleana es auto dual, si se niega al negar todas las entradas.

Cuando una expresión lógica está representada por las operaciones AND, OR y NOT, la función dual se obtiene primero agregando apropiadamente el paréntesis, y luego intercambiando las operaciones AND con OR. Esto queda claro por el teorema de De Morgan.

Tomemos un ejemplo para analizar más propiedades de funciones auto-duales.

Considere la tabla de verdad para una función general de tres variables:

En esta tabla, f (x, y, z) denota la función original, f (~ x, ~ y, ~ z) {Leer como x-bar, y-bar, z-bar} denota la función que se obtiene al reemplazar todas las variables con sus complementos en f y ~ f (~ x, ~ y, ~ z) se obtiene al complementar la función f (~ x, ~ y, ~ z) , es decir, doble función de f . Los elementos en f (x, y, z) yf (~ x, ~ y, ~ z) son simétricos con respecto a la línea horizontal central de la tabla de verdad. Por ejemplo, f (0), que es el elemento en la primera línea de la columna para f (x, y, z ), está en la línea más baja de la columna para f (~ x, ~ y, ~ z) .

En el caso de la función dual, f (x, y, z) = ~ f (~ x, ~ y, ~ z) , y entonces tenemos las relaciones f (0) = ~ f (7), f ( 1) = ~ f (6), f (2) = ~ f (5) yf (3) = ~ f (4) Por lo tanto, los valores para f (0), f (1), f (2) yf (3) especifican completamente la función. A partir de esto, sabemos que hay [matemáticas] 2 ^ 4 = 16 [/ matemáticas] funciones auto-duales de tres variables. Además, el número de combinaciones de entrada que hacen que f = 1 es cuatro, la mitad de las combinaciones de entrada totales.

Esto implica que para cada una de las combinaciones de entrada [math] 2 ^ n [/ math], hay otra combinación con el valor de la función opuesta. Por lo tanto, la tabla de funciones debe tener 2 ^ (n − 1) filas con el valor de la función verdadero y el mismo número de filas con el valor de la función falso.

Como las funciones auto-duales están completamente definidas por 2 ^ (n-1) de las entradas de la tabla de verdad [matemática] 2 ^ n [/ matemática], la columna de salida puede interpretarse como un número binario con 2 ^ (n − 1) bits Esto lleva a 2 ^ 2 ^ (n − 1) diferentes funciones auto-duales.

¡Espero eso ayude! Riki 🙂

Shukriya!

Permítanme hablar primero sobre la Forma Dual … Como sabemos

+ ve logic AND Gate = -ve logic OR Gate y viceversa.

Entonces, la expresión Dual se usa para convertir la lógica + ve en lógica -ve y viceversa. es decir, podemos convertir 1 a 0 y 0 a 1 . Como ejemplo … AB – (dual) → A + B y viceversa.

Ahora venga al Álgebra Auto-dual … Una función booleana es Auto-dual (Siempre que una función sea igual a su dual, entonces se llama Auto-dual) si …

1) Es neutral (no de minterms = no de maxterms) OR, no. de minterms = 2 ^ (n-1) También sabemos que en una función booleana el no de minterms = 2 ^ n.

2) La función no contiene dos términos mutuamente excluyentes.

Ahora Ejemplo: funciones auto-duales:

==> f (A, B, C) = AB + BC + CA

fḌ (A, B, C) = (A + B) (B + C) (C + A)…. sigue la propiedad: dual’s dual = Self-dual

==> f (A, B, C) = AB (C + C`) + (A + A`) BC + C (B + B`) A = ABC + ABC` + A`BC + AB`C… .. sigue propiedad (1).

==> Propiedad (2) Términos mutuamente excluyentes: por ejemplo, ABC → A`B`C` también AB`C → A`BC` podemos verificar esto con el ejemplo anterior.

Espero que esto ayude!

Gracias por A2A.

Doble de una función:

================

Reemplace AND por OR & OR por AND.
La expresión booleana resultante {fd} es dual de la expresión booleana dada {f}.

Auto dual:

=========

si f = fd
entonces f se llama auto dual.

propiedades:


para una expresión booleana n-variable

1) Debe contener la mitad no. de minterm es decir 2 ^ n / 2 = 2 ^ (n-1) minterms.
2) No debe contener minterm opuesto ej: m2 y m5 son minterm opuestos.

No. de auto función dual = 2 ^ (2 ^ (n-1)).

En Maple , hay un procedimiento de biblioteca para encontrar el dual de una expresión booleana. Recuerde que el dual de una expresión booleana se obtiene reemplazando cada aparición de y y o por o y y , respectivamente. Para usarlo debes cargar el paquete lógico .
con (lógica):

El procedimiento se llama dual (naturalmente) y toma como argumento una expresión booleana formada usando las versiones inertes de los operadores booleanos.
dual (falso); dual (verdadero); dual (x & e y); dual (x & o (& not y & or & not x and & not (& not z)));

¡La belleza de la dualidad es que, una vez que haya demostrado una identidad booleana, obtendrá su doble de forma gratuita!
Si bien es posible utilizar Maple para demostrar una identidad por fuerza bruta, al verificar cada valor posible de las variables que contiene, el paquete lógico ofrece una solución mucho más elegante. Como ejemplo de esto, usemos Maple para demostrar la identidad

y formular nuestras expresiones usando los operadores inertes.
con (lógica): # no olvides definir ‘bequal’. izquierda: = (x & y & not y) & or (y & and & not z) & or (z & and & not x); derecha: = (& no x & e y) & o (& not y & and z) & or (& not z & and x); bequal (izquierda, derecha);

Ahora tenemos la doble afirmación gratis.
dual (izquierda); dual (derecha); bequal (%, %%);