El truco general para la solución de bi-descomposición es identificar XORs.
Una XOR de 4 variables de \ $ X \ oplus Y \ oplus X \ oplus W \ $ genera el siguiente mapa de Karnaugh (k-map). Observe el patrón de tablero de ajedrez.
Exceptolaúltimafilaycolumna,sealineacontuk-map.Porlotanto,podemosusarla4variableXORcomobaseyenmascararlasnodeseadas.Consutabla,deseaenmascararunoscuando\$\bar{A}\bar{D}\$o\$\bar{B}\bar{C}\$.Lainversa(cuandosepermiten)eslaecuación\$\overline{\bar{A}\bar{D}+\bar{B}\bar{C}}\$quesesimplificaa\$(A+D)(B+C)\$,pruebaacontinuación.
$$\overline{\bar{A}\bar{D}+\bar{B}\bar{C}}\\\equiv(\overline{\bar{A}\bar{D}})(\overline{\bar{B}\bar{C}})\\\equiv(\overline{(\bar{A})}+\overline{(\bar{D})})(\overline{(\bar{B})}+\overline{(\bar{C})})\\\equiv(A+D)(B+C)$$AgregueelXORyobtenga\$(A\oplusB\oplusC\oplusD)(A+D)(B+C)\$.Estoes4puertas;unXORde4entradas,dosORde2entradasyunANDde3entradas.Sitodoseconvierteenpuertasde2entradas,entoncesseconvierteen7puertas;tresXOR,dosORydosAND.Estocoincideconlabi-descomposiciónFig.2.
$$(A\oplusB\oplusC\oplusD)(A+D)(B+C)\\\equiv((A\oplusB)\oplus(C\oplusD))(A+D)(B+C)\\\equiv(((A\oplusB)\oplus(C\oplusD))(A+D))(B+C)\,\,\#\,as\,2-input\,gates$$
Labi-descomposiciónFig.3utilizaunenfoquequeagarraelXORmáspequeño;\$A\oplusB\$y\$C\oplusD\$,luegosaqueelresto.\$(A\oplusB)CD\$y\$AB(C\oplusD)\$.Finalmente,ordenándolosjuntos\$(A\oplusB)CD+AB(C\oplusD)\$.Luegoconviertaapuertasde2entradas\$((A\oplusB)C)D+A(B(C\oplusD))\$.EstoahoracoincideconlaFig.3.
$$grp0=(A\oplusB)CD\,\,\#\,primero\,máspequeño\,XOR\,grupo\\grp1=AB(C\oplusD)\,\,\#\,segundo\,máspequeño\,XOR\,grupo\\grp0+grp1=(A\oplusB)CD+AB(C\oplusD)\\\equiv((A\oplusB)C)D+A(B(C\oplusD))\,\,\#\,as\,2-input\,gates$$
Tuvequebuscarladefiniciónde"bi-descomposición", y mi explicación es demasiado grande para caber en un comentario. La "bi-descomposición" solía llamarse "agrupación"; que recuerdo vagamente que mi profesor lo llamó hace muchos años. El proceso consiste en tomar una función y componerla como sub-funciones. Este enfoque es piraticamente útil cuando los únicos 1s adyacentes en un mapa K son diagonales. XOR / XNOR luego expresa las subfunciones.
La mejor descripción en línea que encontré es: