O a XOR algebraicamente

0

Si tenemos una función OR con dos términos, como $$ a \ vee b $$, se puede escribir con solo XOR como $$ a \ oplus b \ oplus ab $$

REGLA: $$ a \ vee b = a \ oplus b \ oplus ab $$

Pero, ¿qué pasa si tenemos tres términos, como $$ a \ vee b \ vee c $$ ¿Cómo se puede escribir eso con solo XOR?

¿Cuál es el equivalente de la REGLA anterior para tres términos?

¿Qué hay de cuatro o más términos?

    
pregunta Data

2 respuestas

2

Puedes agregar más términos de la misma manera. Empezando con: $$ a \ vee b = a \ oplus b \ oplus a {\ cdot} b $$ Que tiene una tabla de verdad de: $$ \ begin {matrix} a & b & &erio; Q \\ \ hline 0 & 0 & &erio; 0 \\ 1 & 0 & &erio; 1 \\ 0 & 1 & &erio; 1 \\ 1 & 1 & &erio; 1 \\ \ end {matriz} $$ Cuando le agregas c , la tabla de verdad termina como: $$ \ begin {matrix} a & b & c & &erio; Q \\ \ hline 0 & 0 & 0 & & 0 \\ 1 & 0 & 0 & & 1 \\ 0 & 1 & 0 & & 1 \\ 1 & 1 & 0 & & 1 \\ 0 & 0 & 1 & & 1 \\ 1 & 0 & 1 & & 1 \\ 0 & 1 & 1 & & 1 \\ 1 & 1 & 1 & & 1 \\ \ end {matriz} $$ Tomar las entradas donde Q es 1 da como resultado 7 términos. Tomando solo los valores que son 1, las permutaciones equivalen a a , b , c , ab , ac , bc y finalmente abc . XOR todas juntas y terminas con: $$ a \ vee b \ vee c = a \ oplus b \ oplus c \ oplus a {\ cdot} b \ oplus a {\ cdot} c \ oplus b {\ cdot} c \ oplus a {\ cdot} b {\ cdot }do $$ "o" es "cualquier combinación de ...", por lo que exclusivamente puede ser uno de todas las combinaciones posibles o permutaciones.

Cuantos más términos agregue, más complejos y largos serán la expresión.

Para OR hecho desde XOR, el número de permutaciones válidas siempre será \ $ 2 ^ n-1 \ $ donde \ $ n \ $ es el número de valores de entrada.

    
respondido por el Majenko
5

La operación OR es asociativa :

$$ (a \ vee b) \ vee c $$

Aplique su regla a \ $ (a \ vee b) \ $:

$$ (a \ oplus b \ oplus ab) \ vee c $$

Luego podemos aplicar tu regla de nuevo, pero uno de los términos es la expresión \ $ (a \ oplus b \ oplus ab) \ $:

$$ (a \ oplus b \ oplus ab) \ oplus c \ oplus (a \ oplus b \ oplus ab) c $$

Ahora es solo una cuestión de simplificación. Y se distribuye sobre XOR , por lo que podemos distribuir \ $ c \ $ en la \ $ c final (a \ oplus b \ oplus ab) c \ $ y obtenga:

$$ (a \ oplus b \ oplus ab) \ oplus c \ oplus (ac \ oplus bc \ oplus abc) $$

Como XOR también es asociativo, podemos eliminar todos los paréntesis y reordenar como deseamos:

$$ a \ vee b = a \ oplus b \ oplus c \ oplus ab \ oplus ac \ oplus bc \ oplus abc $$

Como explica la respuesta de Majenko, esta es cada combinación posible de uno o más de los términos. Este patrón se extiende a tantos términos como desee, aunque se hace muy largo, muy rápido. Si queremos agregar un \ $ \ vee d \ $, luego siguiendo los mismos pasos, obtenemos:

$$ (a \ oplus b \ oplus c \ oplus ab \ oplus ac \ oplus bc \ oplus abc) \ vee d \\ (a \ oplus b \ oplus c \ oplus ab \ oplus ac \ oplus bc \ oplus abc) \ oplus d   \ oplus (a \ oplus b \ oplus c \ oplus ab \ oplus ac \ oplus bc \ oplus abc) d \\ (a \ oplus b \ oplus c \ oplus ab \ oplus ac \ oplus bc \ oplus abc) \ oplus d   \ oplus (ad \ oplus bd \ oplus cd \ oplus abd \ oplus acd \ oplus bcd \ oplus abcd) \\ a \ oplus b \ oplus c \ oplus d   \ oplus ab \ oplus ac \ oplus ad   \ oplus bc \ oplus bd   \ oplus cd   \ oplus abc \ oplus abd \ oplus acd \ oplus bcd   \ oplus abcd $$

Puedes seguir haciendo esto, pero en algún momento no podrás cruzar los ojos lo suficiente.

    
respondido por el Phil Frost

Lea otras preguntas en las etiquetas