Polinomio de Zhegalkin


De Wikipedia, la enciclopedia libre
  (Redirigido desde la forma normal de Zhegalkin )
Saltar a navegación Saltar a búsqueda

Zhegalkin (también Žegalkin , Gégalkine o Shegalkin [1] ) polinomios son una representación de funciones en el álgebra de Boole . Introducidos por el matemático ruso Ivan Ivanovich Zhegalkin en 1927, [2] son el anillo polinomial sobre los números enteros módulo 2 . Las degeneraciones resultantes de la aritmética modular dan como resultado que los polinomios de Zhegalkin sean más simples que los polinomios ordinarios y no requieran coeficientes ni exponentes. Los coeficientes son redundantes porque 1 es el único coeficiente distinto de cero. Los exponentes son redundantes porque en aritmética mod 2, x2 = x . Por lo tanto, un polinomio como 3 x 2 y 5 z es congruente y, por lo tanto, puede reescribirse como xyz .

Equivalente booleano

Antes de 1927, el álgebra de Boole se consideraba un cálculo de valores lógicos con operaciones lógicas de conjunción , disyunción , negación , etc. Zhegalkin demostró que todas las operaciones booleanas podrían escribirse como polinomios numéricos ordinarios, representando los valores falso y verdadero como 0 y 1, los enteros mod 2. La conjunción lógica se escribe como xy , y la lógica exclusiva o como suma aritmética mod 2, (escrito aquí como xy para evitar confusión con el uso común de + como sinónimo de inclusivo-o ∨). El complemento lógico ¬ x es entonces x⊕1. Dado que ∧ y ¬ forman una base para el álgebra booleana, todas las demás operaciones lógicas son composiciones de estas operaciones básicas, por lo que los polinomios del álgebra ordinaria pueden representar todas las operaciones booleanas, lo que permite realizar el razonamiento booleano utilizando álgebra elemental .

Por ejemplo, el umbral booleano 2 de 3 o la operación mediana se escribe como el polinomio de Zhegalkin xyyzzx .

Propiedades formales

Formalmente, un monomio de Zhegalkin es el producto de un conjunto finito de variables distintas (por lo tanto , libre de cuadrados ), incluido el conjunto vacío cuyo producto se denota 1. Hay 2 n posibles monomios de Zhegalkin en n variables, ya que cada monomio está completamente especificado por el presencia o ausencia de cada variable. Un polinomio de Zhegalkin es la suma (exclusiva-o) de un conjunto de monomios de Zhegalkin, con el conjunto vacío denotado por 0. La presencia o ausencia de un monomio dado en un polinomio corresponde a que el coeficiente de ese monomio sea 1 o 0 respectivamente. Los monomios Zhegalkin, siendo linealmente independientes , abarcan un 2 n -dimensional espacio vectorial sobre elCampo de Galois GF (2) (NB: no GF (2 n ), cuya multiplicación es bastante diferente). Los 2 2 n vectores de este espacio, es decir, las combinaciones lineales de esos monomios como vectores unitarios, constituyen los polinomios de Zhegalkin. La concordancia exacta con el número de operaciones booleanas en n variables, que agota las n operaciones ararias en {0,1}, proporciona un argumento de conteo directo para la completitud de los polinomios de Zhegalkin como base booleana.

Este espacio vectorial no es equivalente al álgebra booleana libre en n generadores porque carece de complementación (negación lógica bit a bit) como operación (de manera equivalente, porque carece del elemento superior como constante). Esto no quiere decir que el espacio no esté cerrado bajo complementación o carezca de top (el vector de todos unos ) como elemento, sino más bien que las transformaciones lineales de este y los espacios construidos de manera similar no necesitan preservar el complemento y la parte superior. Aquellos que los conservan corresponden a los homomorfismos booleanos, por ejemplo, hay cuatro transformaciones lineales desde el espacio vectorial de los polinomios de Zhegalkin sobre una variable a la de ninguna, de las cuales solo dos son homomorfismos booleanos.

Método de cálculo

Hay varios métodos conocidos que se utilizan generalmente para el cálculo del polinomio de Zhegalkin:

El método de los coeficientes indeterminados.

Utilizando el método de coeficientes indeterminados, se genera un sistema lineal que consta de todas las tuplas de la función y sus valores. Resolver el sistema lineal da los coeficientes del polinomio de Zhegalkin.

Ejemplo

Dada la función booleana , expresela como un polinomio de Zhegalkin. Esta función se puede expresar como un vector de columna

.

Este vector debe ser el resultado de multiplicar por la izquierda un vector de coeficientes indeterminados

por una matriz lógica de 8x8 que representa los posibles valores que pueden tomar todas las posibles conjunciones de A, B, C. Estos posibles valores se dan en la siguiente tabla de verdad:

.

La información de la tabla de verdad anterior se puede codificar en la siguiente matriz lógica:

donde el 'S' aquí significa "Sierpiński", como en el triángulo de Sierpinski , y el subíndice 3 da los exponentes de su tamaño: .

Puede demostrarse mediante la inducción matemática y la multiplicación de matrices de bloques que cualquier "matriz de Sierpiński" de este tipo es su propia inversa. [nb 1]

Entonces el sistema lineal es

que se puede resolver para :

,

y el polinomio de Zhegalkin correspondiente a es .

Usando la forma normal disyuntiva canónica

Con este método, primero se calcula la forma normal disyuntiva canónica (una forma normal disyuntiva completamente expandida ). Luego, las negaciones en esta expresión se reemplazan por una expresión equivalente usando la suma mod 2 de la variable y 1. Los signos de disyunción se cambian a la suma mod 2, los corchetes se abren y la expresión booleana resultante se simplifica. Esta simplificación da como resultado el polinomio de Zhegalkin.

Usando tablas

Calcular el polinomio de Zhegalkin para una función de ejemplo P mediante el método de tabla

Sean las salidas de una tabla de verdad para la función P de n variables, de manera que el índice de los corresponde a la indexación binaria de los minitérminos . [nb 2] Defina una función ζ recursivamente mediante:

.

Tenga en cuenta que

donde es el coeficiente binomial reducido módulo 2.

Luego

es el i- ésimo coeficiente de un polinomio de Zhegalkin cuyos literales en el i- ésimo monomio son los mismos que los literales en el i- ésimo minitérmino, excepto que los literales negativos se eliminan (o se reemplazan por 1).

La transformación ζ es su propia inversa, por lo que se puede usar el mismo tipo de tabla para calcular los coeficientes dados los coeficientes . Sólo dejalo

.

En términos de la tabla de la figura, copie las salidas de la tabla de verdad (en la columna etiquetada P ) en la columna más a la izquierda de la tabla triangular. Luego, calcule sucesivamente las columnas de izquierda a derecha aplicando XOR a cada par de celdas adyacentes verticalmente para llenar la celda inmediatamente a la derecha de la celda superior de cada par. Cuando se llena toda la tabla triangular, la fila superior lee los coeficientes de una combinación lineal que, cuando se simplifica (eliminando los ceros), produce el polinomio de Zhegalkin.

Para pasar de un polinomio de Zhegalkin a una tabla de verdad, es posible completar la fila superior de la tabla triangular con los coeficientes del polinomio de Zhegalkin (poniendo ceros para cualquier combinación de literales positivos que no estén en el polinomio). Luego, calcule sucesivamente filas de arriba a abajo aplicando XOR a cada par de celdas adyacentes horizontalmente para llenar la celda inmediatamente hasta la parte inferior de la celda más a la izquierda de cada par. Cuando se llena toda la tabla triangular, la columna más a la izquierda se puede copiar a la columna P de la tabla de verdad.

Como acotación al margen, tenga en cuenta que este método de cálculo corresponde al método de funcionamiento del autómata celular elemental llamado Regla 102 . Por ejemplo, inicie un autómata celular de este tipo con ocho celdas configuradas con las salidas de la tabla de verdad (o los coeficientes de la forma normal disyuntiva canónica) de la expresión booleana: 10101001. Luego ejecute el autómata celular durante siete generaciones más mientras mantiene un registro del estado de la celda más a la izquierda. El historial de esta celda resulta ser: 11000010, que muestra los coeficientes del polinomio de Zhegalkin correspondiente. [3] [4]

El método Pascal

Usando el método Pascal para calcular el polinomio de Zhegalkin para la función booleana . La línea en ruso en la parte inferior dice: - operación bit a bit "O exclusivo"

El más económico en términos de cantidad de cálculo y conveniente para construir manualmente el polinomio de Zhegalkin es el método Pascal.

Construimos una tabla que consta de columnas y filas, donde N es el número de variables en la función. En la fila superior de la tabla colocamos el vector de valores de la función, es decir, la última columna de la tabla de verdad.

Cada fila de la tabla resultante se divide en bloques (líneas negras en la figura). En la primera línea, el bloque ocupa una celda, en la segunda línea, dos, en la tercera, cuatro, en la cuarta, ocho, y así sucesivamente. Cada bloque de una línea determinada, que llamaremos "bloque inferior", siempre corresponde exactamente a dos bloques de la línea anterior. Los llamaremos "bloque superior izquierdo" y "bloque superior derecho".

La construcción comienza desde la segunda línea. El contenido de los bloques superiores izquierdos se transfiere sin cambios a las celdas correspondientes del bloque inferior (flechas verdes en la figura). Luego, la operación "suma módulo dos" se realiza bit a bit sobre los bloques superior derecho e izquierdo y el resultado se transfiere a las celdas correspondientes del lado derecho del bloque inferior (flechas rojas en la figura). Esta operación se realiza con todas las líneas de arriba a abajo y con todos los bloques en cada línea. Una vez completada la construcción, la línea inferior contiene una serie de números, que son los coeficientes del polinomio de Zhegalkin, escritos en la misma secuencia que en el método del triángulo descrito anteriormente.

El método de suma

Representación gráfica de los coeficientes del polinomio de Zhegalkin para funciones con diferente número de variables.

Según la tabla de verdad, es fácil calcular los coeficientes individuales del polinomio de Zhegalkin. Para ello, suma módulo 2 los valores de la función en aquellas filas de la tabla de verdad donde las variables que no están en la conjunción (que corresponde al coeficiente que se está calculando) toman valores cero.

Supongamos, por ejemplo, que necesitamos encontrar el coeficiente de la conjunción xz para la función de tres variables . No hay variable y en esta conjunción. Encuentre los conjuntos de entrada en los que la variable y toma un valor cero. Estos son los conjuntos 0, 1, 4, 5 (000, 001, 100, 101). Entonces el coeficiente en la conjunción xz es

Dado que no hay variables con el término constante,

.

Para un término que incluye todas las variables, la suma incluye todos los valores de la función:

Representemos gráficamente los coeficientes del polinomio de Zhegalkin como sumas módulo 2 de valores de funciones en ciertos puntos. Para hacer esto, construimos una tabla cuadrada, donde cada columna representa el valor de la función en uno de los puntos y la fila es el coeficiente del polinomio de Zhegalkin. El punto en la intersección de alguna columna y fila significa que el valor de la función en este punto se incluye en la suma del coeficiente dado del polinomio (ver figura). Llamamos a esta tabla , donde N es el número de variables de la función.

Existe un patrón que le permite obtener una tabla para una función de N variables, teniendo una tabla para una función de variables. La nueva tabla se organiza como una matriz de tablas de 2 × 2 y se borra el bloque superior derecho de la matriz.

Interpretación de la teoría de celosía

Considere las columnas de una tabla como correspondientes a elementos de una celosía booleana de tamaño . Para cada columna, exprese el número M como un número binario , luego si y solo si , donde denota OR bit a bit.

Si las filas de la tabla están numeradas, de arriba a abajo, con los números de 0 a , entonces el contenido tabular de la fila número R es el ideal generado por el elemento de la celosía.

Por cierto, tenga en cuenta que el patrón general de una tabla es el de un triángulo de Sierpiński de matriz lógica . Además, el patrón corresponde a un autómata celular elemental llamado Regla 60 , comenzando con la celda más a la izquierda configurada en 1 y todas las demás celdas despejadas.

Usando un mapa de Karnaugh

Conversión de un mapa de Karnaugh en un polinomio de Zhegalkin.

La figura muestra una función de tres variables, P ( A , B , C ) representadas como un mapa de Karnaugh , que el lector puede considerar como un ejemplo de cómo convertir tales mapas en polinomios de Zhegalkin; el procedimiento general se da en los siguientes pasos:

  • Consideramos todas las celdas del mapa de Karnaugh en orden ascendente del número de unidades en sus códigos. Para la función de tres variables, la secuencia de celdas será 000–100–010–001–110–101–011–111. Cada celda del mapa de Karnaugh está asociada con un miembro del polinomio de Zhegalkin dependiendo de las posiciones del código en el que hay algunos. Por ejemplo, la celda 111 corresponde al miembro ABC, la celda 101 corresponde al miembro AC, la celda 010 corresponde al miembro B y la celda 000 corresponde al miembro 1.
  • Si la celda en cuestión es 0, pase a la siguiente celda.
  • Si la celda en cuestión es 1, agregue el término correspondiente al polinomio de Zhegalkin, luego invierta todas las celdas en el mapa de Karnaugh donde este término es 1 (o perteneciente al ideal generado por este término, en una red booleana de monomios) y vaya a la siguiente celda. Por ejemplo, si, al examinar la celda 110, aparece uno en ella, entonces el término AB se agrega al polinomio de Zhegalkin y todas las celdas del mapa de Karnaugh se invierten, para lo cual A = 1 y B = 1. Si la unidad está en celda 000, luego se agrega un término 1 al polinomio de Zhegalkin y se invierte todo el mapa de Karnaugh.
  • El proceso de transformación puede considerarse completo cuando, después de la siguiente inversión, todas las celdas del mapa de Karnaugh se vuelven cero o una condición de indiferencia.

Transformación de Moebius

La fórmula de inversión de Möbius relaciona los coeficientes de una expresión booleana de suma de minitérminos y un polinomio de Zhegalkin. Esta es la versión de orden parcial de la fórmula de Möbius, no la teoría de números. La fórmula de inversión de Möbius para órdenes parciales es:

, [5]

donde , | x | siendo la distancia de Hamming de x desde 0. Dado que en el álgebra de Zhegalkin, la función de Möbius colapsa para ser la constante 1.

El conjunto de divisores de un número dado x es también el orden ideal generada por ese número: . Dado que la suma es módulo 2, la fórmula se puede reformular como

Ejemplo

Como ejemplo, considere el caso de tres variables. La siguiente tabla muestra la relación de divisibilidad:

Luego

El sistema anterior de ecuaciones se puede resolver para f , y el resultado se puede resumir como siendo obtenible mediante el intercambio de g y f en todo el sistema anteriormente.

La siguiente tabla muestra los números binarios junto con sus monomios de Zhegalkin y minitérminos booleanos asociados:

Los monomios de Zhegalkin están ordenados naturalmente por divisibilidad, mientras que los minitérminos booleanos no se ordenan de forma tan natural; cada uno representa un octavo exclusivo del diagrama de Venn de tres variables . El orden de los monomios se transfiere a las cadenas de bits de la siguiente manera: dado y , un par de tripletes de bits, entonces .

La correspondencia entre una suma de minitérminos booleanos de tres variables y un polinomio de Zhegalkin es entonces:

.

El sistema de ecuaciones anterior se puede resumir como una ecuación de matriz lógica :

que NJ Wildberger llama una transformación Boole-Möbius.

A continuación se muestra el “XOR hoja de cálculo forma” de la transformación, va en la dirección de g a f :

Trabajo relacionado

En 1927, el mismo año que el artículo de Zhegalkin, [2] el matemático estadounidense Eric Temple Bell publicó una sofisticada aritmetización del álgebra booleana basada en la teoría ideal de Richard Dedekind y la aritmética modular general (en oposición a la aritmética mod 2). [6] El carácter aritmético mucho más simple de los polinomios de Zhegalkin se notó por primera vez en Occidente (independientemente, la comunicación entre los matemáticos soviéticos y occidentales era muy limitada en esa época) por el matemático estadounidense Marshall Stone en 1936 [7] cuando observó mientras escribía su célebre teorema de la dualidad de Stone de que la analogía supuestamente vaga entre las álgebras de Booley los anillos , de hecho, podrían formularse como una equivalencia exacta para álgebras finitas e infinitas, lo que lo llevó a reorganizar sustancialmente su artículo durante los próximos años.

Ver también

  • Forma normal algebraica (ANF)
  • Forma normal de suma de anillo (RSNF)
  • Expansión Reed-Muller
  • Dominio booleano
  • Función de valor booleano

Notas

  1. ^ Como caso base,
    donde se toma aquí para denotar la matriz de identidad de tamaño . El supuesto inductivo es
    .
    Entonces el paso inductivo es:
    ,
    donde denota el producto Kronecker ,
    ,
    o, en términos del producto Kronecker:
    . ∎
  2. ^ Un minitérmino es la contraparte booleana de un monomio de Zhegalkin. Para uncontexto de n- variables, también haymonomios de Zhegalkin yminitérminos booleanos. Un término producto para un n contexto -Variable consiste en un Y-producto de n literales, cada literal o bien ser una variable en el contexto o la NO-negación de una variable tal. Además, para cada variable en el contexto debe aparecer exactamente una vez en cada término mínimo un literal correspondiente (ya sea la afirmación o la negación de esa variable). Una tabla de verdad para una función booleana de n variables tiene exactamentefilas, las entradas de cada fila corresponden naturalmente a un minitérmino cuyo contexto es el conjunto de variables independientes de esa función booleana. (Cada entrada 0 corresponde a una variable negada; cada entrada 1 corresponde a una variable afirmada).
        Cualquier expresión booleana se puede convertir a la forma de suma de minitérminos distribuyendo repetidamente Y con respecto a O, NO con respecto a Y o O (a través de las identidades de De Morgan), anulando las dobles negaciones (cf. forma normal de negación ); y luego, cuando se haya obtenido una suma de productos, multiplique los productos con literales faltantes con instancias de la ley del medio excluido que contengan las literales faltantes; luego, por último, distribuya AND con respecto a OR de nuevo.
        Tenga en cuenta que existe una correspondencia formal, para un contexto dado, entre los monomios de Zhegalkin y los minitérminos booleanos. Sin embargo, la correspondencia no es una equivalencia lógica. Por ejemplo, para el contexto { A , B , C }, existe una correspondencia formal entre el monomio Zhegalkin AB y el minitérmino booleano , pero no son lógicamente equivalentes. (Para ver más de este ejemplo, consulte la segunda tabla en la sección " Transformación de Möbius ". El mismo conjunto de cadenas de bits se utiliza para indexar tanto el conjunto de minitérminos booleanos como el conjunto de monomios de Zhegalkin).

Referencias

  1. ^ Steinbach, Bernd ; Posthoff, Christian (2009). "Prefacio". Escrito en Freiberg, Alemania. Funciones y ecuaciones lógicas - Ejemplos y ejercicios (1ª ed.). Dordrecht, Países Bajos: Springer Science + Business Media BV p. xv. ISBN 978-1-4020-9594-8. LCCN  2008941076 .
  2. ↑ a b Жега́лкин [Zhegalkin], Ива́н Ива́нович [Ivan Ivanovich] (1927). "O Tekhnyke Vychyslenyi Predlozhenyi v Symbolytscheskoi Logykye"О технике вычислений предложений в символической логике[Sobre la técnica de cálculo de proposiciones en lógica simbólica (Sur le calcul des propositions dans la logique symbolique)]. Matematicheskii Sbornik (en ruso y francés). Moscú, Rusia. 34 (1): 9-28. Mi msb7433 . Archivado desde el original el 12 de octubre de 2017 . Consultado el 12 de octubre de 2017 . 
  3. Suprun [Супрун], Valeriy P. [Валерий Павлович] (1987). "Tablichnyy metod polinomial'nogo razlozheniya bulevykh funktsiy"Табличный метод полиномиального разложения булевых функций[El método tabular de descomposición polinomial de funciones booleanas]. Kibernetika [Кибернетика] (Cybernetics) (en ruso) (1): 116-117.
  4. Suprun [Супрун], Valeriy P. [Валерий Павлович] (2017). "Osnovy teorii bulevykh funktsiy"Основы теории булевых функций[Fundamentos de la teoría de funciones booleanas]. М .: Lenand [Ленанд] / URSS (en ruso): 208.
  5. ^ "Inversión de Möbius" . Enciclopedia de Matemáticas . 2021-02-17 [2011-02-07]. Archivado desde el original el 16 de julio de 2020 . Consultado el 27 de marzo de 2021 .
  6. Bell, Eric Temple (1927). "Aritmética de la lógica" . Transacciones de la American Mathematical Society . 29 (3): 597–611. doi : 10.2307 / 1989098 . JSTOR 1989098 . 
  7. ^ Piedra, Marshall (1936). "La teoría de las representaciones para álgebras de Boole". Transacciones de la American Mathematical Society . 40 (1): 37-111. doi : 10.2307 / 1989664 . ISSN 0002-9947 . JSTOR 1989664 .  

Otras lecturas

  • Gindikin [Гиндикин], Semen Grigorʹevich [Семен Г.] (1972). алгебра логики в задачах[ Lógica algebraica ] (en ruso) (1 ed.). Moscú, Rusia: Наука [Nauka] . ISBN 0-387-96179-8.(288 páginas) (NB. Traducción: Springer-Verlag , 1985. [1] )
  • Perkowski, Marek A .; Grygiel, Stanislaw (20 de noviembre de 1995). "6. Reseña histórica de la investigación sobre la descomposición". Un estudio de la literatura sobre la descomposición de funciones . Versión IV. Grupo de Descomposición Funcional, Departamento de Ingeniería Eléctrica, Universidad de Portland, Portland, Oregón, EE. UU. págs. 21-22. CiteSeerX  10.1.1.64.1129 . (188 páginas)
Obtenido de " https://en.wikipedia.org/w/index.php?title=Zhegalkin_polynomial&oldid=1015951706 "