Con Cult a 1

ESCUELA POLITÉCNICA NACIONAL INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES SISTEMAS DIGITALES CONSULTA #1 TEMAS: OTROS

Views 134 Downloads 4 File size 5MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ESCUELA POLITÉCNICA NACIONAL INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES SISTEMAS DIGITALES

CONSULTA #1

TEMAS:

OTROS TIPOS DE LÓGICA SISTEMAS DE NUMERACIÓN

RUBEN FERNANDO SARANSIG TIXICURO

21- NOVIEMBRE-2007

CONTENIDO

1. Contenido 2. OTROS TIPOS DE LÓGICA 2.1 Lógica binaria 2.2 Lógica ternaria 2.3 Lógica difusa [Fuzzy Logic]

3. SISTEMAS DE NUMERACIÓN 3.1 Conversión de bases 3.2 Aritmética binaria 3.3 Representación de valores en complemento: Restringido y verdadero 3.4 Otros código binarios 3.4.1 BCD 3.4.2 Gray 3.4.3 Offset 3.4.4 Todo complementado 3.5 Códigos alfanuméricos 3.5.1 EBCDIC 3.5.2 ASCII BIBLIOGRAFÍA

SISTEMAS DIGITALES Ŕ CONSULTA #1

2

SISTEMAS DIGITALES CONSULTA Nº 1 OTROS TIPOS DE LÓGICA LÓGICA BINARIA La lógica binaria trabaja con variables binarias y operaciones lógicas. Así, las variables sólo tomarán dos valores discretos: V (verdadero) y F (falso), sí y no, 1 y 0 respectivamente. Una de las funciones de la Unidad Aritmético Lógica (ALU), situada en el núcleo del procesador es la de realizar las operaciones lógicas con los datos contenidos en una instrucción del programa. Pero, ¿qué es una operación lógica? Historia El antiguo matemático Indio Pingala presentó la primera descripción que se conoce de un sistema de numeración binario en el siglo tercero antes de Cristo, lo cual coincidió con su descubrimiento del concepto del número cero. Una serie completa de 8 trigrams y 64 hexagramas, analogos a 3 bit y números binarios de 6 bit, eran conocidos en la antigua china en el texto clásico del I Ching. Series similares de combinaciones binarias también han sido utilizados en sistemas de adivinación tradicionales africanos como el Ifá, así como en la geomancia medieval Occidental. Un arreglo binario ordenado de los hexagramas del I Ching, representando la secuencia decimal de 0 a 63, y un método para generar el mismo, fue desarrollado por el erudito y filósofo Chino Shao Yong en el siglo XI. Sin embargo, no hay ningunas pruebas que Shao entendió el cómputo binario. En 1605 Francis Bacon habló de un sistema por el cual las letras del alfabeto podrían reducirse a secuencias de dígitos binarios, la cuales podrían ser codificados como variaciones apenas visibles en la fuente de cualquier texto arbitrario. En gran medida para la teoría general de codificación de binario, él añadió que este método podría ser usado con cualquier objeto en absoluto: "siempre que aquellos objetos sean capaces de solo una diferencia doble; como por Campanas, por Trompetas, por Luces y Antorchas, según el informe de Mosquetes, y cualquier instrumento de naturaleza parecida." [2] (Ver el codigo de Bacon) El sistema binario moderno fue documentado en su totalidad por Leibniz, en el siglo diecisiete, en su artículo "Explication de l'Arithmétique Binaire". Leibniz usó el 0 y el 1, al igual que el sistema de numeración binario actual. En 1854, el matemático británico George Boole, publicó un artículo que marcó un antes y un después, detallando un sistema de lógica que terminaría denominándose Álgebra de Boole. Dicho sistema jugaría un papel fundamental en el desarrollo del sistema binario actual, particularmente en el desarrollo de circuitos electrónicos. En 1937, Claude Shannon realizó su tesis doctoral en el MIT, en la cual implementaba el Álgebra de Boole y aritmética binaria utilizando relés y conmutadores por primera vez en la historia. Titulada Un Análisis Simbólico de Circuitos Conmutadores y Relés, la tesis de Shannon básicamente fundó el diseño práctico de circuitos digitales. En noviembre de 1937, George Stibitz, trabajando por aquel entonces en los Laboratorios Bell, construyó un ordenador basado en relés - al cual apodó "Modelo K" (porque lo construyó en una cocina, en inglés "kitchen")- que utilizaba la suma binaria para realizar los cálculos. Los Laboratorios Bell autorizaron un completo programa de investigación a finales de 1938, con Stibitz al mando. El 8 SISTEMAS DIGITALES Ŕ CONSULTA #1

3

de enero de 1940 terminaron el diseño de una Calculadora de Números Complejos, la cual era capaz de realizar cálculos con números complejos. En una demostración en la conferencia de la Sociedad Americana de Matemáticas, el 11 de septiembre de 1940, Stibitz logró enviar comandos de manera remota a la Calculadora de Números Complejos a través de la línea telefónica mediante un teletipo. Fue la primera máquina computadora utilizada de manera remota a través de la línea de teléfono. Algunos participantes de la conferencia que presenciaron la demostración fueron John Von Neumann, John Mauchly y Norbert Wiener, el cual escribió acerca de dicho suceso en sus diferentes tipos de memorias en la cual alcanzo diferentes logros. El álgebra lógica fue desarrollada a principios del siglo XIX por el matemático George Boole para investigar las leyes fundamentales en que se basa el razonamiento humano. Este álgebra tiene una característica especial: sus variables solo pueden adoptar dos valores, tradicionalmente denominados cierto y falso (es usual representarlos con 1 y 0 respectivamente), en estos casos, ambos dígitos pueden representar cualquier par de estados, con la condición de ser mutuamente excluyentes [1]. Por esto se dice que no maneja cantidades en el sentido del resto de las matemáticas, sino valores lógicos binarios y se la denomina Álgebra o lógica binaria (o Booleana). Los circuitos eléctricos digitales, los circuitos con fluidos (hidráulicos y neumáticos), con luz (fibra óptica) y otros, se prestan muy bien a tratar este tipo de señales, porque es fácil construir circuitos que adopten tales valores, tensión no-tensión, conectado no-conectado, abierto-cerrado, encendido, apagado etc. La adaptación del álgebra de Boole a los computadores digitales fue presentada en 1938 por Claude Shannon de los Laboratorios Bell. Hagamos hincapié que en estos casos, las cifras 0 y 1 no representan cantidades numéricas. Son símbolos de dos estados mutuamente excluyentes. El hecho de que en este tipo de sistemas (de variables lógicas binarias) se utilice un sistema de numeración binario (de base 2), es porque al tener este sistema de numeración solo dos dígitos 0 y 1, es posible establecer una relación biunívoca entre los valores numéricos y los estados lógicos. Esta relación se hace a veces tan íntima que la distinción tiende a desdibujarse, aunque el sistema de numeración de base dos (o cualquier otra base) y la lógica binaria (representada por su álgebra) sean conceptos totalmente distintos. También son conceptos distintos los dígitos 0/1 del sistema binario y los valores cierto/falso de las variables lógicas binarias. Existe un álgebra lógica de mas de dos estados, la lógica difusa, donde las cosas no son blancas o negras, pueden existir grados intermedios; los estados no son mutuamente exclusivos. Representación Un número binario puede ser representado por cualquier secuencia de bits (dígitos binarios), que a su vez pueden ser representados por cualquier mecanismo capaz de estar en dos estados mutuamente exclusivos. Las secuencias siguientes de símbolos podrían ser interpretadas todas como el mismo valor binario numérico: 1010011010 |-|--||-|xoxooxxoxo ynynnyynyn

SISTEMAS DIGITALES Ŕ CONSULTA #1

4

Un reloj binario podría usar LEDS para expresar valores binarios. En este reloj, cada columna de LEDS muestra un número cifrado por binario decimal del tiempo tradicional sexagesimal. El valor numérico representado en cada caso depende del valor asignado a cada símbolo. En un ordenador, los valores numéricos pueden ser representados por dos voltajes diferentes; sobre un disco magnético, polaridades magnéticas pueden ser usadas. "Un positivo", "sí", o "sobre" el estado es no necesariamente el equivalente al valor numérico de uno; esto depende de la arquitectura usada. De acuerdo con la representación acostumbrada de cifras que usan números árabes, los números binarios comúnmente son escritos usando los símbolos 0 y 1. Cuando son escritos, los números binarios son a menudo subindicados, prefijados o sufijados para indicar su base, o la raíz. Las notaciones siguientes son equivalentes: 100101 binario (declaración explícita de formato) 100101b (un sufijo que indica formato binario) 100101B (un sufijo que indica formato binario) bin 100101 (un prefijo que indica formato binario) 1001012 (un subíndice que indica base 2 (binaria) notación) %100101 (un prefijo que indica formato binario) 0b100101 (un prefijo que indica formato binario, común en lenguajes de programación)

Operaciones lógicas De forma análoga al álgebra tradicional, en el álgebra binaria se definen operadores y relaciones con los que se pueden construir funciones (relaciones), que se llaman "lógicas" o "booleanas". Por ejemplo: s = a . b+b . c; en forma implícita: s = f(a, b, c) Donde s , a, b, c son variables lógicas. s es la variable dependiente (o función). a, b y c son las variables independientes. = es una relación, + y . son operadores lógicos (no tienen ninguna relación con los peradores "suma" y "producto" que estamos acostumbrados a ver en aritmética). Tabla-2 En el álgebra tradicional, para que una operación (otra manera de a b c s Tabla-1 llamar a una función) entre dos variables esté perfectamente 0 0 0 0 a b s definida, es preciso definir el valor de la resultante (función) para 0 0 1 1 0 0 0 1 0 1 1 todo el ámbito de existencia de las variables independientes. Del 0 1 0 0 1 1 1 1 0 1 mismo modo, para definir un operador entre dos variables lógicas, 1 1 1 1 es preciso definir el valor que adopta la variable dependiente para 1 0 0 1 0 1 1 todas las posibles combinaciones de las independientes. 1 1 0 1 1 1 1 1 Puesto que en el álgebra de Boole las variables (independientes y función) solo SISTEMAS DIGITALES Ŕ CONSULTA #1

5

pueden adoptar dos valores, aquí, la definición de un operador entre 2 variables a y b, exige definir el resultado (0 o 1) para las 4 (22) combinaciones de valores posibles que a y b pueden presentar. Del mismo modo, para 3 variables hay que definir 23 resultados, y en genera 2n para n variables. Estas definiciones pueden expresarse cómodamente en forma tabular. Este tipo de representación se denomina Tabla de Verdad de la función. Consiste en una tabla con tantas columnas como variables (contando la dependiente o función), y tantas filas como resultados hay que definir (tantos como combinaciones pueden hacerse con las variables independientes) es decir, 2n, siendo n el número de variables independientes. En la Tabla-1 se ha representado lo que podría ser la definición (tabla de verdad) de una función de dos variables, y en la Tabla-2 la correspondiente a una función de tres variables. Observe que en el primer caso, es preciso definir el resultado (0 o 1) para las 22 = 4 combinaciones que pueden presentarse. Como estos resultados podrían ser dos para cada combinación, se pueden definir 2 4 = 16 funciones distintas para dos variables, lo que puede expresarse 22^2 (la que se ha representado en la Tabla-1 es una de las 16 funciones posibles). Del mismo modo, como hemos visto en la Tabla-2, para definir una función de tres variables hay que definir 23 = 8 resultados, pudiendo existir 28 = 22^3 = 256 funciones distintas.

Nota: Por conveniencia de la notación, utilizamos aquí la expresión a^b como equivalente a: ab. Tabla-3 t v c 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

p 0 0 0 0 1 0 0 0

La lógica del asunto podría presentarse como sigue: n variables lógicas (a, b, c, d, Etc.) representan n situaciones (no tienen porque tener ninguna conexión entre si), cada una de las cuales puede tener dos estados mutuamente excluyentes. Una función entre n variables significa establecer una relación de forma que a cada combinación de las n situaciones (variables de entrada, o independientes) le corresponde uno de los dos valores posibles de una nueva variable (lógica) s, que denominamos salida (también puede ser llamada variable dependiente o función).

Nota: lo de "entrada" y "salida" viene de su utilización en circuitos electrónicos. Estas funciones pueden ser emuladas físicamente mediante circuitos electrónicos ("puertas" lógicas) con tantos hilos de "entrada" como variables independientes, y un hilo para la "salida". Aplicando señales (por ejemplo tensión/no tensión) en los hilos de entrada del circuito, el de salida adopta el valor definido por la tabla de verdad. Podemos concretarlo en un caso: Imaginemos que una variable t representa el estado del tiempo en lo SISTEMAS DIGITALES Ŕ CONSULTA #1

6

que a lluvia se refiere, otra variable v representa el estado del viento; una tercera c representa si sacaremos el coche. Podríamos establecer una cuarta variable p que representa si llevaremos o no paraguas, y decimos que p dependerá del valor de las restantes variables (técnicamente decimos que es función de t, v, y c), y se expresa: p = f(t, v, c). Recordemos que todas estas variables son binarias, solo pueden tener dos valores si/cierto (que representamos con 1) y no/falso (que representamos con 0). Nuestro criterio respecto a sacar el paraguas podría ser expresado por la tabla de verdad de la Tabla-3, que representaría sin ambigüedades el comportamiento que seguiremos al respecto. Relación de igualdad

Decimos que entre dos variables a, b hay una relación de igualdad verdad es la que se adjunta (es una identidad). Notación: a = b Propiedades: Reflexiva: a = a Simétrica: a = b b=a Transitiva: a = b y b = c a=c

Igualdad a b 0 0 1 1

cuando su tabla de

Ejemplo: Sea a una variable que define el estado meteorológico de lluvia (1 = Cierto = llueve / 0 = falso = No llueve). Si en un caso es a = Llueve a = No llueve. Una operación lógica asigna un valor (CIERTO o FALSO) a la combinación de condiciones (CIERTO o FALSO) de uno o más factores. Los factores que intervienen en una operación lógica sólo pueden ser ciertos o falsos. Y el resultado de una operación lógica puede ser, tan sólo, cierto o falso. Por ejemplo, imagínate el sistema de control del toldo de una cafetería, que se gobierna mediante una operación lógica. Para que el motor que extiende el toldo se accione deberá tener en cuenta dos factores: ¿es de día? ¿está lloviendo? Si estos dos factores son ciertos, el motor debe ponerse en marcha y extender el toldo. De dia Falso Falso Cierto Cierto

Llueve Falso Cierto Falso Cierto

Toldo Falso Falso Falso Cierto

Los resultados de una operación lógica, para cada uno de los valores posibles de las variables, se fijan en una tabla denominada Tabla de Verdad, como la del ejemplo anterior. Las tablas de valores de verdad son una herramienta desarrollada por Charles Peirce en los años 1880, siendo sin embargo más popular el formato que Ludwig Wittgenstein desarrolló en su Tractatus logico-philosophicus, publicado en 1918 por Bertrand Russell. Se emplean en lógica para determinar SISTEMAS DIGITALES Ŕ CONSULTA #1

7

los posibles valores de verdad de una expresión o proposición. O si un esquema de inferencia, como argumento, es formalmente válido mostrando que, efectivamente, es una tautología. Sus unidades mínimas se denominan proposiciones atómicas, y en un sistema lógico bivalente tiene dos posibles valores de verdad: verdadero y falso. Considerando dos proposiciones A y B y considerando su relación "$" como variable de cualquier relación sintáctica posible que defina una función de verdad, podrían suceder los casos siguientes: NOTA: Las proposiciones A, B, C,.... mayúsculas simbolizan cualquier proposición, atómica o molecular, por lo que propiamente son expresiones metalingüísticas respecto al lenguaje objeto de la lógica proposicional, generalmente simbolizadas con minúsculas p, q, r, s...... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 A B A$ A& A$ A$ A$ A$ A$ A$ A$ A$ A$ A$ A$ A$ A$ A$ B $ B B B B B B B B B B B B B B V V V V V V V V V V F F F F F F F F V F V V V V F F F F V V V V F F F F F V V V F F V V F F V V F F V V F F F F V F V F V F V F V F V F V F V F La tabla nos muestra los cuatro casos de combinación posibles según el valor de verdad de A y de B. Tenemos por tanto 4 líneas, y 16 columnas que representan todos los posibles valores que pueden darse según se defina una función de verdad cualquiera. De esta forma podemos conocer mecánicamente, es decir mediante algoritmo, el valor de verdad de cualquier conexión lógica, siempre y cuando previamente la hayamos definido como función de verdad. Se hace necesario definir las relaciones establecidas por las conexiones en valores de verdad. Esta aplicación hace posible la construcción de aparatos capaces de realizar estas computaciones a velocidades increíbles, llamadas por lo mismo computadoras u ordenadores. El desarrollo de estos circuitos y su estructuración merece verse en el artículo puerta lógica. La Tabla de la verdad es una herramienta imprescindible en la recuperación de datos en las bases de datos como Internet con los motores de búsqueda o en una biblioteca con sus ficheros informatizados. Asimismo se utilizan para programar simulaciones lógicas de inteligencia artificial con lenguajes propios. También en modelos matemáticos predictores: meteorología, marketing y otros muchos. Álgebra de Boole Álgebra de Boole (también llamada Retículas booleanas) en informática y matemática, son estructuras algebraicas que "capturan la esencia" de las operaciones lógicas Y, O y NO, así como el conjunto de operaciones unión, intersección y complemento. Se denomina así en honor a George Boole, matemático inglés que fue el primero en definirla como parte de un sistema lógico a mediados del siglo XIX. Específicamente, el álgebra de Boole fue un intento de utilizar las técnicas algebraicas para tratar expresiones de la lógica proposicional. En la actualidad el álgebra de Boole se aplica de forma generalizada en diseño electrónico. Se aplicó por primera vez en circuitos de conmutación eléctrica biestables por Claude Shannon en 1938. Los operadores del álgebra de Boole pueden representarse de varias formas. A menudo se representan simplemente como AND (Y), OR (O) y NOT (NO). En electrónica digital (véase puerta lógica) también se emplean la X-OR (O exclusiva) y su negadas NAND (NO Y), NOR (NO O) y X-NOR (equivalencia) . En matemática a menudo se utiliza + en lugar de OR y · en lugar de AND, debido a que estas operaciones son de alguna manera análogas a la suma y el producto en otras estructuras SISTEMAS DIGITALES Ŕ CONSULTA #1

8

algebraicas, y NOT se representa como una línea o una comilla sobre la expresión que se pretende negar (NO A sería Ā o A'). Se comenzará el estudio del álgebra de Boole introduciendo el concepto de clase. Se define como clase el total de los elementos que cumplen las características definidas por un criterio de pertenencia. En general, una subclase S de una clase dada C, es una clase cuyos elementos pertenecen a la clase C. A su vez, la clase C podría ser una subclase de una clase más amplia que contuviera todos los elementos de C juntos con otros elementos distintos. E inversamente, la clase S puede contener sus propias subclases. Una clase especialmente importante es la denominada clase de referencia o clase universal, que es aquella que comprende a todos los elementos bajo estudio. Una vez definida la clase universal, se puede definir la clase complementaria de una clase cualquiera A perteneciente a la universal, como la clase que encierra a todos los elementos de la clase universal excepto aquellos que están contenidos en la clase A. Finalmente, se define la clase vacía como la clase complementaria de la clase universal. De acuerdo con la definición de clase universal, la clase vacía es aquella que no contiene ningún elemento. Se denomina función lógica o booleana a aquella función matemática cuyas variables son binarias y están unidas mediante los operadores del álgebra de Boole suma lógica (+), producto lógico (·) o negación('). El álgebra de Boole es una retícula (A, , ) (considerada como una estructura algebraica) con las siguientes cuatro propiedades adicionales: 1. Acotada inferiormente: Existe un elemento 0, tal que a 0 = a para todo a perteneciente a A. 2. Acotada superiormente: Existe un elemento 1, tal que a 1 = a para todo a perteneciente a A. 3. Distributiva: Para todo a, b, c pertenecientes a A, (a b) c = (a c) (b c). 4. Con complemento: Para cualquier a perteneciente a A existe un elemento ¬a perteneciente a A tal que a ¬a = 1 y a ¬a = 0. De esos axiomas se desprende que el elemento mínimo 0, el elemento máximo 1, y el complemento ¬a de un elemento a están únicamente determinados. Como cualquier retícula, el Álgebra Booleana A, , ) da lugar a un conjunto parcialmente ordenado (A, ≤) definiendo a ≤ b si y sólo si a = a b (que equivale a b = a b). distributiva A, ≤) (considerada como un conjunto parcialmente ordenado) con elemento mínimo 0, elemento máximo 1, en la que cada elemento x tiene un complemento ¬x tal que Operaciones Se definirán las operaciones básicas del Algebra de Boole, describiéndose a continuación su aplicación a los circuitos lógicos. Unión o adición La unión de dos clases A y B se define como la clase formada por todos los elementos de la clase A, todos los elementos de la clase B, y ningún otro elemento. La clase unión se representa mediante la simbología matemática: A B Intersección o producto La intersección de dos clases A y B se define como la clase formada por todos los elementos que pertenecen simultáneamente a las clases A y B. La clase intersección se puede representar mediante los símbolos: A B Complementación

SISTEMAS DIGITALES Ŕ CONSULTA #1

9

La clase complementaria de una dada ya ha sido definida. Las notaciones simbólicas empleadas para representar el complementario de A son: A' o bien ¬ A. Aquí se mencionarán dos propiedades importantes de la complementación, que se pueden comprobar fácilmente:  A + A' =U (clase universal)  A ^ A' = 0 (clase vacía) considerado ==Leyes fundamentales==xupalo 1. El resultado de aplicar cualquiera de las tres operaciones definidas a variables del sistema booleano resulta en otra variable del sistema, y este resultado es único. 2. Ley de idempotencia: A + A = A | A • A = A 3. Ley de involución: (A')' = A 4. Ley conmutativa: A + B = B + A | A • B = B • A 5. Ley asociativa: A + (B + C) = (A + B) + C | A • (B • C) = (A • B) • C 6. Ley distributiva: A + B • C = (A + B) • (A + C) | A • (B + C) = A • B + A • C 7. Ley de absorción: A + A • B = A | A • (A + B) = A 8. Ley de De Morgan: (A + B)' = A' • B' | (A • B)' = A' + B'

Para que un procesador pueda ejecutar las operaciones lógicas, es preciso asignar un valor binario a cada una de las condiciones posibles. Se suele asignar un UNO (1) al valor CIERTO y un CERO (0) al valor FALSO, con el criterio denominado lógica positiva. Las operaciones lógicas más importantes son: EQUAL (idéntico), NOT (negación), OR (O), AND (Y), NOR (O negada), NAND (Y negada), OREX (O exclusiva) y NOREX (O exclusiva negada). Por otro lado algunas funciones pueden definirse como combinación de otras. Por ejemplo la función A → B es equivalente a la función combinada ¬(A /\¬ B), como puede comprobarse haciendo la tabla de verdad. Este tipo de equivalencias son muy útiles para el establecimiento de reglas para el cálculo deductivo, pues al ser equivalencias suponen una tautología, como ley lógica. Desgraciadamente, como vemos en las definiciones, hay diversas formas de simbolización gráfica de las funciones, si bien eso no es obstáculo para su definición.

Función EQUAL El resultado S de aplicar la función lógica equal, sobre una variable a, es muy simple: si a es CIERTO (1) S es CIERTO (1) y, si a es FALSO (0), S es FALSO (0). Estas dos resultados posibles se muestran en la tabla de verdad adjunta: a

S

1

1

0

0 Un ejemplo sencillo de aplicación práctica de esta función lógica sería el encendido de las luces del alumbrado público. En algún lugar de la ciudad se instala un detector crepuscular, que detecta cuándo es de noche y controla un interruptor que enciende las luces de las calles: si es de noche (1) se encienden las lámparas (1); si NO es de noche (0) NO se encienden las lámparas (0). SISTEMAS DIGITALES Ŕ CONSULTA #1

10

Un circuito eléctrico capaz de implementar esta función lógica es el siguiente:

Principio de dualidad Todas las expresiones booleanas permanecen válidas si se intercambian los operadores '+' y '·', y los elementos '0' y '1'. Así para obtener una expresión algebraica dual, se intercambian los operadores AND y OR y se reemplazan unos por ceros y viceversa. El concepto de dualidad permite formalizar este hecho: a toda relación o ley lógica le corresponderá su dual, formada mediante el intercambio de los operadores unión con los de intersección, y de los 1 con los 0. Adición Producto 1 A + A' = 1 A • A' = 0 2 A+0=A A•1=A 3 A+1=1 A•0=0 4 A+A=A A•A=A 5 A+B=B+A A•B=B•A 6 A + (B + C) = (A + B) + C A • (B • C) = (A • B) • C 7 A + B • C = (A + B) • (A + C) A • (B + C) = A • B + A • C 8 A+A•B=A A • (A + B) = A 9 (A + B)' = A' • B' (A • B)' = A' + B' Funciones lógicas Hemos adelantado que la definición de un operador entre 2 variables a y b, exige definir el resultado (0 o 1) para las 4 combinaciones de valores posibles que pueden presentar a y b (mostradas en la Tabla-1 ), y que pueden existir 16 de estas funciones. Para 3 variables hay que definir 23 = 8 resultados, y pueden existir 23 de estas funciones. En general, para definir una función entre n variables hay que definir 2n valores, y pueden ser definidas 2n^2 funciones distintas. Así pues, el arsenal de funciones distintas en función del número de variables implicadas es el siguiente: 1 1^2  Para una variable: 2 combinaciones, 2 funciones. Este caso es el representado en la Tabla-4. En ella vemos que aparte de las dos seudo funciones (f0 y f3), f1 es una identidad (transforma la variable en si misma). Queda f2 como auténtica función (la inversión ya estudiada anteriormente).

Tabla-4 de

Valores a 0 1 Función

f0(a)

0 0 f(a) = 0

f1(a)

0 1 f(a) = a (identidad)

f2(a)

1 0 f(a) = a (inverso)

f3(a)

1 1 f(a) = 1 SISTEMAS DIGITALES Ŕ CONSULTA #1

11

Nota: Esta tabla de verdad debe leerse de la siguiente forma: la función f0 aplicada sobre a produce un resultado 0 con cualquier valor (0 o 1) que tenga a. Por su parte f1 aplicada sobre a produce un resultado 0 o 1 según el valor (0 o 1) que tenga a (en realidad no modifica el valor de a). La función f2 aplicada sobre a produce un resultado que es el inverso de a. Finalmente, f3 aplicada sobre a produce siempre un 1, independientemente del valor (0 o 1) de a.   

Para 2 variables: hay 22 combinaciones 22^2 =16 funciones, que se han representado en la Tabla-5 (incluyen las 4 posibilidades correspondientes a 1 variable). Para 3 variables: 23 = 8 combinaciones. Las posibilidades de asignar 0/1 a estas combinación es 23^2 = 256. Para n variables: 2n combinaciones. Las posibilidades de asignar 0/1 a estas combinación es 2n^2.

A continuación definimos las 16 operaciones posibles entre "dos" variables lógicas (denominadas conectivas). Vemos que están incluidas algunas que no lo son realmente (resultados que no dependen de los valores de las variables independientes), y que están también las de una sola variable. En la Tabla-5 se han señalado estas 16 posibilidades. Vemos que las funciones marcadas con 1©, f0 y f15, no son realmente funciones, valen 0 y 1 (falso y cierto) respectivamente, con independencia de los valores a y b. Las marcadas con 2© son las de una variable ya comentadas. Es digno de destacarse que estas 16 funciones no son independientes entre sí. Pueden expresarse en función de tres de ellas: AND, OR y NOT. A continuación se comentan las mas interesantes, las tablas de verdad de cada operación las dejamos referidas a esta tabla. Función NOT Es una operación unitaria (afecta a una sola variable), que aplicada a una variable la transforma en otra según la tabla de verdad que se adjunta. Notación: s = not(a) = a * En realidad es una barra superior, aunque aquí, por necesidades tipográficas la representemos como un subrayado. Teorema: Dos negaciones sucesivas de una variable producen la variable primitiva. Esto puede expresarse algébricamente mediante la expresión: NOT(a) = a. Nota: esta afirmación, que parece "de cajón", y casi todos los teoremas y axiomas que se citen sobre álgebra binaria, tienen su demostración mediante el uso de la tabla de verdad, dado que el pequeño número de casos a revisar, permite verificarlos todos. Funciones de negación de implicación, NOT implicación. El resultado S de aplicar la función lógica NOT, sobre una variable a, es muy simple: si a es CIERTO (1) S es FALSO (0) y, si a es FALSO (0), S es CIERTO (1). Estas dos resultados posibles se muestran en la tabla de verdad adjunta. Se conoce también como función negación: S equivale a a negada. a S 1 0 SISTEMAS DIGITALES Ŕ CONSULTA #1

12

0

1

Un ejemplo sencillo de aplicación práctica de esta función lógica sería el circuito que controla el acceso a una oficina bancaria, a través de una puerta automática equipada con un detector de metales que cierra un interruptor. Si el detector de metales SI nota que el cliente lleva objetos metálicos (1) y la puerta NO se abre (0); en cambio, si el cliente NO lleva objetos metálicos (0), la puerta SI se abre (1).

Observamos que estas funciones son la negación de las anteriores. Notación: F2: s = a ⊃ b Debe leerse: a NOT implica b F4: s = b ⊃ a Debe leerse: b NOT implica a Las tablas de verdad pueden construirse a partir de las anteriores (§5.7), cambiando los ceros por unos y viceversa (negando los valores correspondientes) en la columna s.

Función OR La función OR equivale a la conjunción disyuntiva O. El resultado S de aplicar la función lógica OR, sobre dos variables a y b es el siguiente: S es cierto si a es CIERTO (1) o si b es CIERTO (1). Cuando se aplica una operación lógica sobre 2 variables caben 4 combinaciones posibles. Los resultados de la operación lógica OR, en las cuatro combinaciones posibles de valores dos variables, se muestran en la tabla de verdad adjunta. La operación Suma, inclusive-OR, Reunión, Unión (tiene todos estos nombres), se define mediante la tabla de verdad adjunta. En lenguaje coloquial diríamos que la salida o resultante es cierta si lo es alguna de Inclusive OR las variables (entradas). a b s Notación: 0 0 0 s=a+b 0 1 1 s = a OR b 1 0 1 1 La notación utilizada puede ser cualquiera de las señaladas. Recuerde: el operador + 1 1 no tiene nada que ver con la suma tradicional (aritmética). Propiedades: Conmutativa: s = a + b = b + a Asociativa: s = a+(b+c) = (a+b)+c = a+b+c

SISTEMAS DIGITALES Ŕ CONSULTA #1

13

a 0 0 1 1

b 0 1 0 1

S 0 1 1 1

Una aplicación práctica sencilla de la operación lógica OR, sería el circuito de señalización instalado en un comercio, en el que se puede entrar por dos puertas distintas, que avisaría al dependiente al entrar un cliente por cualquiera de las dos puertas del establecimiento. Si un cliente entra por la puerta a (1) O si un cliente entra por la puerta b (1), el timbre suena (1). Si no entra ningún cliente por ninguna de las puertas a (0) ni b (0). El timbre NO suena (0). Un circuito eléctrico compuesto por dos interruptores en paralelo, cumple la lógica OR. La lámpara SI se encenderá (1) si se acciona el interruptor a (1) O si se acciona el interruptor b (1) O si se accionan ambos interruptores. Si no se acciona ningún interruptor, la lámpara NO se encenderá (0). Función AND La función AND equivale a la conjunción copulativa Y: El resultado S de aplicar la función lógica AND, sobre dos variables a y b es el siguiente: S es CIERTO si a es CIERTO (1) Y si b es CIERTO (1). Operación Producto, AND, Intersección: La salida es cierta si son simultáneamente ciertas las dos entradas. Notación: s = a . b = ab s = a AND b s=aYb Producto a b 0 0 0 1 1 0 1 1

s 0 0 0 1

Propiedades: Conmutativa: s = ab = ba Asociativa: s = (ab)c = a(bc) = abc Los resultados de la operación lógica AND, en las cuatro combinaciones posibles de valores dos variables, se muestran en la tabla de verdad adjunta. a b S 0 0 0 SISTEMAS DIGITALES Ŕ CONSULTA #1

14

0 1 1

1 0 1

0 0 1

Una aplicación de la operación lógica AND, sería el sistema de control de los pasajeros en un aeropuerto. Cada pasajero debe pasar por tres controles: ¿Tiene tarjeta de embarque? ¿Tiene pasaporte en regla? ¿No lleva objetos metálicos peligrosos? Una empleada del aeropuerto comprueba que tiene un billete válido y le da una tarjeta de embarque; a continuación, un agente de policía verifica que su pasaporte está en regla y no está en la lista de personas reclamadas y, finalmente, un grupo de agentes comprueban su equipaje de mano con un escáner y un arco detector de metales. Un pasajero sólo puede embarcar en el avión si tiene tarjeta de embarque (1), su pasaporte está en regla (1) y no lleva consigo objetos peligrosos (1). En los demás casos no puede embarcar. Es fácil construir un circuito eléctrico que cumple la lógica AND: dos interruptores en serie, a y b, por ejemplo. La lámpara S se encenderá tan sólo si se actúa sobre el interruptor a (1) Y sobre el interruptor b (1). En todos los demás casos, la lámpara NO se encenderá. Función NOR La función NOR equivale a la función OR negada. El resultado S de aplicar la función lógica NOR, sobre dos variables a y b es el siguiente: S es CIERTO si a es FALSO (0) y si b es FALSO (0). Los resultados de la operación lógica NOR, en las cuatro combinaciones posibles de valores dos variables, se muestran en la tabla de verdad adjunta: a 0 0 1 1

b 0 1 0 1

S 1 0 0 0

Operación Not-Or, NOR: La salida es cierta si ninguna de las entradas lo es. Notación: s = a ↓ b = a+b Propiedades: Conmutativa: s = a ↓ b = b ↓ a No asociativa: a ↓ (b ↓ c) ≠ (a ↓ b) ↓ c ≠ a+b+c

SISTEMAS DIGITALES Ŕ CONSULTA #1

15

Una aplicación práctica sencilla de la operación lógica NOR, sería el sistema de seguridad de un puente levadizo. Un detector a se activa cuando entra un vehículo en el puente, por el carril derecho. Otro detector b se activa cuando entra otro vehículo por el carril contrario. Los motores que accionan el sistema de elevación del puente sólo deben ponerse en marcha si se da la condición NOR: no hay ningún vehículo circulando por el carril derecho NI por el carril izquierdo. Un circuito eléctrico compuesto por dos interruptores normalmente cerrados, en serie, cumple la lógica NOR: la lámpara SI se encenderá (1) si NO se acciona el interruptor a (0) NI se acciona el interruptor b (0). Si se acciona cualquiera de los dos interruptores, la lámpara NO se encenderá (0).

Esto significa sencillamente que en un momento dado, una variable binaria puede adoptar un valor u otro (no ambos a la vez). En las lógicas de más de dos estados la variable podría optar entre más de dos valores. Por ejemplo, en la lógica ternaria podría ser "cierto", "falso" y "desconocido" (no definido, etc). Existe un tipo de lógica de más de dos estados, la lógica difusa, en la que las variables pueden adoptar múltiples valores, intermedios entre dos posiciones extremas. Estos valores intermedios representan estados no excluyentes. Por ejemplo, entre "cierto" y "falso" cabrían todo tipo de situaciones intermedias: "casi completamente cierto", "medianamente cierto", etc. En estos casos, la variable tiene, en mayor o menor proporción, una componente de los valores extremos. En cierto sentido podríamos decir que la lógica binaria es absolutamente maniquea, mientras que la difusa se acercaría más al mundo real.

Función NAND La función NAND equivale a la función AND negada. El resultado S de aplicar la función lógica NAND, sobre dos variables a y b es el siguiente: S es CIERTO si a es FALSO (0) o si b es FALSO (0) o si son FALSAS ambas variables. Los resultados de la operación lógica NAND, en las cuatro combinaciones posibles de valores dos variables, se muestran en la tabla de verdad adjunta: a b S 0 0 1 0 1 1 1 0 1 1 1 0 SISTEMAS DIGITALES Ŕ CONSULTA #1

16

Operación Not-And, NAND: La salida es cierta siempre que no sean simultáneamente ciertas las dos entradas. Notación: s = a b = ab ≠ a.b Propiedades Conmutativa: s = a b = b a No asociativa: a (b c) ≠ (a b) c ≠ abc a a = a = aa Una aplicación práctica sencilla de la operación lógica NAND sería, por ejemplo, el control del aire acondicionado de un edificio inteligente. Supongamos que el edificio está equipado con un detector crepuscular, que se activa al llegar la noche. Durante el día el detector está desactivado (0) y durante la noche el detector está activado (1). Supongamos también que en la entrada del edificio hay un sistema de recuento de personas que se pone a CERO (0) cuando hay alguien en el edificio y se pone a UNO (1) cuando todo el mundo ha salido ya. ¿Cómo controlar la puesta en marcha del aire acondicionado? Muy fácil, con un circuito que siga la lógica NAND: el aire acondicionado se parará cuando sea de noche y no quede nadie en el edificio. Un circuito eléctrico compuesto por dos interruptores normalmente cerrados, en paralelo, cumple la lógica NAND: la lámpara SI se encenderá (1) si NO se acciona el interruptor a (0) o si NO se acciona el interruptor b (0) o si NO se accionan ambos interruptores.

Función OREX La función OREX se nombre de OR Operación Exclusivees cierta cuando solo una de las entradas es cierta. Notación: s = a ⊕b Propiedades: Conmutativa: s = a ⊕b = b ⊕a Asociativa: a ⊕(b ⊕c) = (a ⊕b) ⊕c = a ⊕b ⊕c

conoce también con el EXCLUSIVA. OR, EOR: La salida

El resultado S de aplicar la función lógica OREX, sobre dos variables a y b es el siguiente: S es CIERTO solo si a es CIERTO (1) o si b es CIERTO (1), pero no si ambas variables son ciertas. Los resultados de la operación lógica OREX, en las cuatro combinaciones posibles de valores dos variables, se muestran en la tabla de verdad adjunta: a b S 0 0 0 0 1 1 1 0 1 SISTEMAS DIGITALES Ŕ CONSULTA #1

17

1

1

0

Un circuito eléctrico como el del esquema siguiente, compuesto por dos pulsadores dobles NA + NC, cumple la lógica OREX: la lámpara S se encenderá (1) EXCLUSIVAMENTE si se acciona el pulsador a o si se acciona el pulsador b, pero NO se encenderá si se accionan simultáneamente ambos pulsadores. Tampoco se encenderá si no se acciona ninguno de los dos pulsadores.

Función NOREX La función NOREX se nombre de OR NEGADA.

conoce también con el EXCLUSIVA

El resultado S de aplicar la función lógica NOREX, sobre dos variables a y b es el siguiente: S es CIERTO si a y b son ciertos O si a y b son falsos. Es decir, si ambas variables tienen el mismo valor. Los resultados de la operación lógica NOREX, en las cuatro combinaciones posibles de valores dos variables, se muestran en la tabla de verdad adjunta: a b S 0 0 1 0 1 0 1 0 0 1 1 1 Operación Exclusive-Not-OR, ENOR: Esta función es la negación de la anterior. Se llama también Equivalencia, porque según puede verse en su tabla de verdad, mantiene en la salida un 1 lógico solo cuando a = b. Notación: s = a⊕b §5.7 F11/F13 Función Implicación. s=a⊃b a b s 0

0

1

0 1 1

1 0 1

1 0 1

s=b⊃a a b s 0 0 1 0 1 0 1 0 1 SISTEMAS DIGITALES Ŕ CONSULTA #1

18

Notación: 1 1 1 s = a ⊃ b Debe leerse: a implica b s = b ⊃ a Debe leerse: b implica a Si una variable s está definida respecto a otras dos mediante una expresión de implicación de este tipo: s = a ⊃ b, debe entenderse que a implica a b en el sentido siguiente: Supongamos que la variable lógica a representa si un ser vivo pertenece a la raza humana, y que la variable b representa si un ser vivo es de sangre caliente (1) o fría (0). La variable s, definida mediante la ecuación s = a ⊃ b representa la condición que podría enunciarse mas o menos así: "Si es ser humano su sangre debe ser de caliente necesariamente". La variable s representa esta implicación, indicándonos en cada caso si puede ser cierta o no cada una de las combinaciones de valores a y b, en el supuesto de que la implicación sea consistente. Veamos las posibilidades en este ejemplo analizando la tabla de verdad: a no es humano (a=0), b no es de sangre caliente (b=0) Podría ser cierto? Si (s = 1) a no es humano (a=0), b si es de sangre caliente (b=1) Podría ser cierto? Si (s = 1) a si es humano (a=1), b no es de sangre caliente (b=0) Podría ser cierto? No (s = 0) a si es humano (a=1), b si es de sangre caliente (b=1) Podría ser cierto? Si (s = 1)

Un circuito eléctrico como el del esquema siguiente, compuesto por dos pulsadores dobles NA + NC, cumple la lógica NOREX: la lámpara S se encenderá si se accionan ambos pulsadores o si no se acciona ninguno de ellos.

Otro ejemplo de aplicación de la función lógica NOREX es la corrección automática de textos: si una persona escribe una palabra en su procesador de textos, el corrector ortográfico la comparará con todas las palabras semejantes de su diccionario aplicando una función NOREX entre ellas. Si alguna letra no coincide, detectará que hay un error, porque el resultado de la función NOREX no entrega unos en todos los bit. Por ejemplo, si escribimos con una falta de ortografía la palabra lobo: Palabra Código ASCII lovo 6C6F766F lobo 6C6F626F Función NOREX:

Código binario 01101100011011110111011001101111 01101100011011110110001001101111 11111111111111111110101111111111

de este modo, el procesador es capaz de detectar que el error está en el tercer carácter.

SISTEMAS DIGITALES Ŕ CONSULTA #1

19

Tablas de verdad de las principales operaciones binarias AND

Resumiendo, el resultado siempre dará 0 a menos que ambas variables valgan 1. (Equivale a la multiplicación) OR

Resumiendo, el resultado arrojado será siempre 1 si al menos una de las variables tiene por valor 1. NOT

El not es una inversión del valor como se ve. (Equivale a restar el valor inicial de 1) Siguiendo el Álgebra de Boole se pueden combinar estas operaciones empleando varias variables y obteniendo resultados más complejos. A continuación una tabla de verdad de una operación lógica compuesta. Ejemplo: A and (B or C) = A · (B + C) A B C Resultado 000 0 001 0 010 0 011 0 100 0 101 1 110 1 111 1

Modos de representación Existen distintas formas de representar una función lógica, entre las que podemos destacar las siguientes:  Algebraica SISTEMAS DIGITALES Ŕ CONSULTA #1

20

  

Por tabla de verdad Numérica Gráfica El uso de una u otra, como veremos, dependerá de las necesidades concretas en cada caso. Algebraica Se utiliza cuando se realizan operaciones algebraicas. A continuación se ofrece un ejemplo con distintas formas en las que se puede expresar algebraicamente una misma función de tres variables. a) F = [(A + BCř)ř + ABC]ř + ABřC b) F = AřBCř + ABřCř + ABřC + ABCř c) F = (A + B + C)(A + B + Cř)(A + Bř + Cř)(Ař + Bř + Cř) d) F = BCř + ABř e) F = (A + B)(Bř + Cř) f) F = [(BCř)ř · (ABř)ř]ř g) F = [(A + B)ř + (Bř + Cř)ř]ř La expresión a) puede proceder de un problema lógico planteado o del paso de unas especificaciones a lenguaje algebraico. Las formas b) y c) reciben el nombre expresiones canónicas de suma de productos (sum-of-products, SOP, en inglés), la b), y de productos de sumas (product-of-sums, POS, en inglés), la c); su característica principal es la aparición de cada una de las variables (A, B y C) en cada uno de los sumandos o productos. Las d) y e) son funciones simplificadas, esto es, reducidas a su mínima expresión. Las dos últimas expresiones tienen la particularidad de que exclusivamente utiliza funciones NO-Y, la f), o funciones NO-O, la g). Por tabla de verdad Una tabla de verdad contiene todos los valores posibles de una función lógica dependiendo del valor de sus variables. El número de combinaciones posibles para una función de n variables vendrá dado por 2n. Una función lógica puede representarse algebraicamente de distintas formas como acabamos de ver, pero sólo tiene una tabla de verdad. La siguiente tabla corresponde a la función lógica del punto anterior. A B C F 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 La forma más cómodo para ver la equivalencia entre una tabla de verdad y una expresión algebraica es cuando esta última se da en su forma canónica. Así, la función canónica de suma de productos F = AřBCř + ABřCř + ABřC + ABCř nos indica que será 1 cuando lo sea uno de sus sumandos, lo que significa que tendrá por lo tanto cuatro combinaciones que lo serán (010 para AřBCř, 100 para ABřCř, 101 para ABřC y 110 para ABCř) siendo el resto de combiaciones 0. Con la función canónica de producto de susmas se puede razonar de forma análoga, pero en este caso observando que la función será 0 cuando lo sea uno de sus productos. También es fácil obtener la tabla de verdad a partir de la función simplificada, pero no así a la inversa. Numérica La representación numérica es una forma simplificada de representar las expresiones canónicas. Si consideramos el criterio de sustituir una variable sin negar por un 1 y una negada por un 0, podremos representar el término, ya sea una suma o un producto, por un número decimal equivalente al valor SISTEMAS DIGITALES Ŕ CONSULTA #1

21

binario de la combinación. Por ejemplo, los siguientes términos canónicos se representarán del siguiente modo (observe que se toma el orden de A a D como de mayor a menor peso): ABřCD = 10112 = 1110 Ař + B + Cř + Dř = 01002 = 410 Para representar una función canónica en suma de productos utilizaremos el símbolo Σn (sigma) y en producto de sumas Πn (pi), donde n indicará el número de variables. Así, la representación numérica correspondiente a la tabla de verdad del punto anterior quedará como: F = Σ3(2, 4, 5, 6) = Π3(0, 4, 6, 7) Matemáticamente se demuestra, que para todo término i de una función, se cumple la siguiente ecuación: F = [Σn(i)]' = Πn(2n-1-i ) A modo de ejemplo se puede utilizar esta igualdad para obtener el producto de sumas a partir de la suma de productos del ejemplo anterior: F = Σ3(2, 4, 5, 6) = [Σ3(2, 4, 5, 6)]' ' = [Σ3(0, 1, 3, 7)]' = Π3(0, 4, 6, 7) Gráfica La representación gráfica es la que se utiliza en circuitos y esquemas electrónicos. En la siguiente figura se representan gráficamente dos funciones algebraicas, una con símbolos no normalizados, superior, y la otra con normalizados, inferior (véanse los símbolos de las puertas lógicas)

Representación gráfica de dos funciones lógicas Métodos de simplificación Por simplificación de una función lógica se entiende la obtención de su mínima expresión. A la hora de implementar físicamente una función lógica se suele simplificar para reducir así la compejidad del circuiuto. A continuación se indican los modos más usuales de simplificar una función lógica. SISTEMAS DIGITALES Ŕ CONSULTA #1

22

Algebraico Para la simplificación por este método no sólo bastará con conocer todas las propiedades y teoremas del álgebra de Boole, además se debe desarrollar una cierta habilidad lógico-matemática que se adquiere fundamentalmente con la experiencia. Como ejemplo se simplificará la siguiente función: F = AřCř + ABC + BCř + AřBřC + AřBC Observando cada uno de los sumando podemos ver que hay factores comunes en los sumandos 2º con 5º y 4 con 5º que conllevan simplificación: F = AřCř + BCř + BC(A + Ař) + AřC(B + Bř) Note que el término 5º se ha tomado dos veces, de acuerdo con la propiedad que diceque A + A´ = 1. Aplicando las propiedades del álgebra de Boole, queda F = AřCř + BCř + BC + AřC Repitiendo nuevamente el proceso, F = Ař( Cř + C) + B( Cř + C) = Ař + B No siempre las funciones son tan fáciles de simplificar como la anterior. El método algebraico, por lo general, no resulta cómodo para los no expertos, a los cuales, una vez simplificada una ecuación le pueden quedar serias dudas de haber conseguido la máxima simplificación. Gráfico de Karnaugh Este método consiste en formar diagramas de 2n cuadros, siendo n el número de variables. Cada cuadro representa una de las diferentes combinaciones posibles y se disponen de tal forma que se puede pasar de un cuadro a otro en las direcciones horizontal o vertical, cambiando únicamente una variable, ya sea en forma negada o directa. Este método se emplea fundamentalmente para simplificar funciones de hasta cuatro variables. Para un número superior utilizan otros métodos como el numérico. A continuación pueden observarse los diagramas, también llamados mapas de Karnaugh, para dos, tres y cuatro variables.

Mapas de Karnaugh para dos, tres y cuatro variables Es una práctica común numerar cada celda con el número decimal correspondiente al término canónico que albergue, para facilitar el trabajo a la hora de plasmar una función canónica. Para simplificar una función lógica por el método de Karnaugh se seguirán los siguientes pasos: 1º) Se dibuja el diagrama correspondiente al número de variables de la función a simplificar. 2º) Se coloca un 1 en los cuadros correspondientes a los términos canónicos que forman parte de la función. 3º) Se agrupan mediante lazos los unos de casillas adyacentes siguiendo estrictamente las siguientes reglas: a) Dos casillas son adyacentes cuando se diferencian únicamente en el estado de una sola variable. SISTEMAS DIGITALES Ŕ CONSULTA #1

23

b) Cada lazo debe contener el mayor número de unos posible, siempre que dicho número sea potencia de dos (1, 2, 4, etc.) c) Los lazos pueden quedar superpuestos y no importa que haya cuadrículas que pertenezcan a dos o más lazos diferentes. d) Se debe tratar de conseguir el menor número de lazos con el mayor número de unos posible. 4º) La función simplificada tendrá tantos términos como lazos posea el diagrama. Cada término se obtiene eliminando la o las variables que cambien de estado en el mismo lazo. A modo de ejemplo se realizan dos simplificaciones de una misma función a partir de sus dos formas canónicas: F = Σ3(0,2,3,4,7) = Π3(1,2,6) De acuerdo con los pasos vistos anteriormente, el diagrama de cada función quedará del siguiente modo:

Simplificación de una función de tres variables ATENCIÓN: ERROR EN EL MAPA. EN EL PRODUCTO DE SUMAS, SE DEBEN MIRAR LOS CEROS, NO LOS UNOS. La función simplificada tendrá tres sumandos en un caso y dos productos en el otro. Si nos fijamos en el mapa correspondiente a la suma de productos, observamos que en el lazo 1 cambia la variable A (en la celda 0 es negada y en la 4 directa), en el lazo 2 es la C y en el lazo 3 vuelve a ser A. por lo tanto, la ecuación simplificada es: F = BřCř + AřB + BC Razonando de modo similar en el mapa de productos de sumas, nos quedará: F = (B + Cř)(Ař + Bř + C) Numérico de Quine-McClouskey El algoritmo de Quine-McClouskey permite la simplificación de funciones lógicas de cualquier número de variables y es el que se utiliza para diseñar aplicaciones informáticas en las que se necesite obtener funciones simplificadas. A continuación se indican los pasos a seguir en este método a partir de un ejemplo. 1º) Se expresa la función a simplificar en su forma canónica de suma de productos. Sea la siguiente función a simplificar: F = Σ4 (0,1,2,3,5,9,11,12,13,15) 2º) Se forma una tabla con el valor decimal de la combinación, el estado de las variables y el índice (número de unos que contiene el estado de las variables). Comb. Estado Índice 0 0000 0 SISTEMAS DIGITALES Ŕ CONSULTA #1

24

1 0001 1 2 0010 1 3 0011 2 5 0101 2 9 1001 2 11 1011 3 12 1100 2 13 1101 3 15 1111 4 3º) Se agrupan las combinaciones cuyos estados difieren en una sola variable, sustituyéndola por un guión bajo (_). Las combinaciones utilizadas se marcan con un aspa (X). Hay que fijarse en las combinaciones cuya diferencia entre sus respectivos índices es la unidad.

Agrupación de las combinaciones 4º) Se repite el proceso anterior las veces que sean necesarias y se van eliminando estados idénticos.

Nueva agrupación de las combinaciones 5º) Se forma una tabla con las combinaciones y jodance finales y las no agrupadas. Se toman como filas las combinaciones finales y las no agrupadas y como columnas los valores decimales de dichas SISTEMAS DIGITALES Ŕ CONSULTA #1

25

combinaciones. Cada celda que contenga el valor decimal de una combinación se marca con un aspa. A continuación nos fijamos en aquellas columnas con una sola aspa; sus combinaciones serán esenciales. Finalmente se toman aquellas combinaciones de los valores decimales no seleccionados, teniendo precaución de no tomar aquellas combinaciones cuyos valores decimales hayan sido ya tomados en otras combinaciones. La función simplificada final viene dada por las combinaciones esenciales y estas últimas.

Funciones incompletas Hasta ahora todas las funciones estudiadas tienen definido un valor lógico, 0 ó 1, para cada una de las posibles combinaciones. Estas funciones se denominan completas o totalmente definidas. También existen funciones con una o varias combinaciones no definidas, llamadas funciones incompletas. Esta situación puede deberse por las dos causas siguientes: 1. Hay combinaciones de entrada que no existen, por lo que a la salida se le puede asignar indistintamente el valor 0 o el 1. 2. En ciertas combinaciones de entrada la salida del sistema lógico está inhibida, siendo por lo tanto su valor indiferente. En la tabla de verdad de una función incompleta, los términos indiferentes se designan mediante una equis (X). En cuanto a la forma canónica se separan los términos definidos de los que no lo son (indicados mediante el símbolo φ). A la hora de simplificar una función incompleta, los términos indiferentes servirán como Ŗcomodinesŗ a la hora de tomar lo lazos, esto es, si nos interesa que sea un 1 porque así el lazo es mayor, lo tomaremos como 1, y en caso contrario como 0.

SISTEMAS DIGITALES Ŕ CONSULTA #1

26

LÓGICA TERNARIA Una lógicaternaria , tres-valorada o trivalente es un término para describir cualesquiera de varios sistemas multi-valued de la lógica en los cuales haya valor verdadero, falso yun cierto tercer el indicar de tres valores de verdad. Esto se pone en contraste con las lógicas bivalentes más comunmente sabidas (tales como lógica boleana) que preven solamente verdad y falso. Representación de valores Como con lógica bivalente, los valores de verdad en lógica ternaria se pueden representar numéricamente usando varias representaciones del sistema de numeración ternario. Algunos de los ejemplos más comunes son: [1]  1 para verdad, 2 para falso, y 0 para desconocido, inaplicable, o ambos.  0 para falso, 1 para verdad, con el tercer valor siendo símbolo del no-nu'mero entero por ejemplo # o ½.[ 2 ]  Aplicaciones ternarias equilibradas -1 para falso, 1 para verdad y 0 para el tercer valor; estos valores se pueden también simplificar -, +, y 0, respectivamente.[ 3 ] Este artículo ilustra principalmente un sistema de la lógica ternaria del propositional usando los valores de verdad {falso, desconocido, y verdad}, y extiende conectadores boleanos convencionales a un contexto trivalente. Las lógicas ternarias del predicado existen también[citación necesitada]; éstos pueden tener lecturas del cuantificador diferente de lógica (binaria) clásica del predicado, y pueden incluir cuantificadores alternativos también. Como lógica ternaria nosotros querremos decir un sistema L cuyos elementos llamaron proposiciones o declaraciones se valora en el juego {0, 1, 2}. Esto puso nosotros denotamos a través de Z3. Si x es una proposición, el valor de x puede verse como una cartografía _: ¡L! {0, 1, 2} tal que;

De esto, nosotros tenemos que si _(x) = 1 (verdadero) bajo las reglas de lógica binaria entonces también _(x) = 1(true) bajo las leyes de la lógica ternarias. Análogamente para el valor falso. En el otro dé, para las mismas consideraciones constituidas caso de la lógica binario, nosotros podemos evitar _ haciendo _(x) = x. Entonces encima de L se define los funcionamientos básicos siguientes, [1]; o La negación (funcionamiento del unary "no") o La disyunción _ (funcionamiento binario "o") o La conjunción ^ (funcionamiento binario "y") ¡o La implicación! (funcionamiento binario "si ...then") El sistema L está cerrado bajo cualquiera de estos cuatro funcionamientos, en el sentido que si x, y 2 L ¡entonces x 2 L, x _ y 2 L, x ^ y 2 L, y x! y 2 Aviso de L. que la implicación, en esto, caso, no se deriva de de otros tres funcionamientos básicos cuando pasa en la lógica binaria. 7

SISTEMAS DIGITALES Ŕ CONSULTA #1

27

¡El valor de x, x _y, x ^y, y x! y y otros funcionamientos compuestos dependen adelante el valor de cada componente x y y. Estos valores pueden ser obtenidos usando la verdadera mesa como la Mesa 7 muestras. También en tal Mesa 7 se muestra el funcionamiento de la equivalencia que puede ser derivado de la conjunción y implicación. Otra manera de describir los funcionamientos básicos anteriores está considerándolos como funciones. La negación de operador de unary es una función f: ¡Z3! Z3, y operador binario como el la disyunción es una función f: Z23 ! Z3. En general, nosotros podemos definir funciones lógicas ternarias como cartografías f: Zn3 ! Z3. Cuando n = 1 nosotros tenemos uno-inconstante funciona f(x), y hay 331 = 27 de estas funciones, entre ellos es, la Identidad o id(x de Afirmación), la negación N(x), la Tautología _ (x) y la contradicción (x). Todos estas 27 funciones también se llaman funciones modales de x y ellos se muestran en la Mesa 8 Cuando n = 2 nosotros tenemos dos-inconstante funciona f(x, y), y hay 332 = 19683 de ellos. Es imposible, en una sola página, para mostrar la verdadera mesa para cada uno. 8

SISTEMAS DIGITALES Ŕ CONSULTA #1

28

De la misma manera nosotros podemos computar eso hay 333 = 7625597484987 tres-inconstante diferente funciones. En general allí exista 33n funciones f(x1 lógicas ternarias diferentes, x2. . . , xn) de n variables. Ejemplo 6 Algunas funciones o proposiciones de uno inconstante Permita a x ser la declaración simple "está lloviendo", entonces nosotros mostramos 6 de los 27 uno-inconstante ternario funciona f(x) o f1(x) = el id(x) = está lloviendo (afirmación) o f20(x) = N(x) = x = no está lloviendo (negación) ¡o f8(x) = _ (x) = x! x = si está lloviendo entonces que está lloviendo (tautología) ¡o f22(x) = (x) = (x! x) = no es verdad que si está lloviendo entonces que está lloviendo (contradicción) o f2(x) = x _ x = está lloviendo, o no está lloviendo. Esta función no es una tautología cuando pasa en el caso de la lógica binario. También esto 9 muestras del ejemplo que condicionan 9 de la definición de Algebra de Boole no pueden ser ningún sostenimiento por el sistema de la lógica ternario. Por consiguiente, el sistema de la lógica ternario no puede tener un Boolean Estructura de álgebra. o f19(x) = x ^ x = está lloviendo, y no está lloviendo. Esta función no es una contradicción cuando pasa en el caso de la lógica binario. También esto muestras del ejemplo que condicionan 10 de la definición de Algebra de Boole no pueden ser ningún sostenimiento por el sistema de la lógica ternario. Por consiguiente, el sistema de la lógica ternario no puede tener un Boolean Estructura de álgebra. Ejemplo 7 Algunas funciones o proposiciones de dos variables Permita x, y es las proposiciones "está lloviendo" y "el sol está brillando", respectivamente. Entonces nosotros escriba algunas de las 19683 funciones dos-inconstantes o _ (x, y) = (x _ y) $(x ^ y) =It no es verdad que está lloviendo o el sol está brillando, si sólo si no está lloviendo y el sol no está brillando. Haciendo m11(x, y) = (x _ y) y m12(x, y) = x ^ y que nosotros podemos verificar en la Mesa 9 que esto es que una tautología llamó la primera ley del De Morgan. Análogamente para SISTEMAS DIGITALES Ŕ CONSULTA #1

29

m21(x, y) = (x ^ y), y m22(x, y) = x _ y que nosotros podemos ver que la segunda ley del De los sostenimientos de Morgan en lógica ternaria. o _(x, y) = x _ y = no está lloviendo o el sol está brillando. La verdadera mesa de esta función se muestra juntos en la Mesa 10 la verdadera mesa del la implicación y nosotros podemos verificar allí, ese _(x, y) y imp(x, y) no es equivalente cuando pasa en lógica binaria ¡o _(x, y) = y! x = Si el sol no está lustrándolo no lloviendo entonces. Nosotros podemos verificar en la Mesa 10 que es equivalente con la implicación como el binario caso. 10

¡o _(x, y) = (x! ¡y) ^ (y! x) = Si él no lloviendo el sol entonces está brillando, y si el sol está brillando entonces que está lloviendo. Nosotros podemos ver en la Mesa 11 que es equivalente al "equivalente" la función. 5 conclusiones Nosotros hemos mostrado que, por lo menos, a este nivel elemental que allí existe cuatro propiedades principales de lógica ternaria; 1. la lógica ternaria es una generalización del binary(classic) el caso. Tal generalización está en el sentido de cada proposición que es verdad bajo las reglas de la lógica binaria quiera sea verdad bajo las reglas del caso trivalente. Análogamente para las proposiciones falsas. 2. en lógica ternaria la construcción de tautologías está más difícil que en lógica binaria. Peor para la construcción de contradicciones. ¡3. para la lógica ternaria, la implicación (x! y) el funcionamiento de dos proposiciones x, y puede

SISTEMAS DIGITALES Ŕ CONSULTA #1

30

o se derivado de los funcionamientos básicos (), (_), y (^) cuando pasa en el binario caso. 4. la lógica ternaria no puede tener una Boolean álgebra estructura considerando que la lógica binaria pueda tener. La prueba de esta conclusión es dada por las funciones f2 y f19 de la Mesa 8. SISTEMAS DIGITALES Ŕ CONSULTA #1

31

Tabla de verdad básica Debajo está una tabla de verdad que demuestra los resultados de algunas operaciones de la lógica para un sistema del estado de true/false/unknown. A B AOB AYB NO A Verdad Verdad Verdad Verdad Falso Verdad Desconocido Verdad Desconocido Verdad Falso Verdad Falso Desconocido Verdad Verdad Desconocido Desconocido Desconocido Desconocido Desconocido Desconocido Desconocido Falso Desconocido Falso Falso Verdad Verdad Falso Verdad Falso Desconocido Desconocido Falso Falso Falso Falso Falso En esta tabla de verdad, el estado DESCONOCIDO se puede metaphorically pensar en como una caja sellada que contiene un valor inequívoco VERDADERO o inequívoco FALSO. El conocimiento de si cualquier estado DESCONOCIDO particular representa secretamente VERDAD o FALSO en todo momento en tiempo no está disponible. Sin embargo, ciertas operaciones lógicas pueden rendir un resultado inequívoco, incluso si implican por lo menos un operando DESCONOCIDO. Por ejemplo, puesto que los iguales VERDADEROS O VERDADEROS VERDAD, y VERDAD O FALSO también iguala VERDAD, uno puede deducir que VERDAD O DESCONOCIDO iguala VERDAD, también. En este ejemplo, puesto que cualquier estado bivalente podría ser subyacente el estado DESCONOCIDO, solamente cualquier estado también rinde el mismo resultado, los resultados VERDADEROS definitivos en los tres casos. Llógica ternaria en usos de la base de datos El lenguaje de interrogación de la base de datos SQL pone lógica en ejecucio'n ternaria como los medios de manejar el contenido NULO del campo. El SQL utiliza la FALTA DE INFORMACIÓN para representar datos que falta en una base de datos. Si un campo no contiene ningún valor definido, el SQL asume que éste significa que existe un valor real, pero que ese valor no está registrado actualmente en la base de datos. Observe que un valor que falta no es igual que un valor numérico de cero, o un valor de la secuencia de la longitud cero; ambos de las cuales represente los valores bien conocidos. Comparando cualquier cosa Nulo-uniforme otros Nulo-resultados en un estado DESCONOCIDO de la verdad. Por ejemplo, considere la expresión siguiente del SQL: City = 'Paris' En el SQL, un valor NULO en el campo de la ciudad representa un valor que falta que podría hacer teóricamente la expresión resolver a VERDAD (e.g. la ciudad contiene ' París) o a FALSO (e.g. la ciudad contiene ' Philadelphia '). La expresión del SQL de la muestra se resuelve según las reglas siguientes:  El resultado es VERDAD para cualquier expediente con la secuencia literal la ' París en el campo de la ciudad  El resultado es DESCONOCIDO para cualquier expediente con una FALTA DE INFORMACIÓN en el campo de la ciudad  El resultado es FALSO en el resto de los casos En lengua de manipulación de datos del SQL, un estado de la verdad de VERDAD para una expresión (e.g. en WHERE una cláusula) inicia una acción en una fila (e.g. vuelva la fila), mientras que no lo hace un estado de la verdad de DESCONOCIDO o de FALSO.[ 4 ] De esta manera, la lógica ternaria se pone en ejecucio'n en el SQL, mientras que se comporta como lógica binaria al usuario del SQL. SISTEMAS DIGITALES Ŕ CONSULTA #1

32

Los apremios del cheque del SQL SQL se comportan diferentemente, sin embargo. Solamente un estado de la verdad de resultados FALSOS en una violación de un constreñimiento del cheque. Un estado de la verdad de VERDAD o del DESCONOCIDO indica que una fila se ha validado con éxito contra el constreñimiento del cheque[ 5 ]. Una discusión profundizada de la puesta en práctica del SQL de la lógica ternaria está disponible en el artículo sobre la falta de información. Electrónica Muchas herramientas de la simulación del idioma descriptivo del hardware (HDL), tales como verilog y VHDL, apoyan un valor desconocido como eso demostrada arriba durante la simulación de la electrónica digital. El valor desconocido puede ser el resultado de un error del diseño, que el diseñador puede corregir antes de síntesis en un circuito real. Las herramientas de la síntesis de HDL producen generalmente los circuitos que funcionan solamente en lógica binaria. La forma lo más extensamente posible puesta en ejecucio'n de lógica del tres-estado se encuentra en electrónica digital. Es muy importante observar que ésta no es lógica ternaria verdadera. Se menciona aquí para lo completo, siendo el único sistema extenso del tres-estado en uso. Las salidas pueden tener uno de tres estados, con todo las entradas pueden reconocer solamente dos. Por lo tanto la clase de relaciones demostradas en la tabla arriba no ocurre. Designado comúnmente [ las 6 ] lógicas de triple estado (una marca registrada del semiconductor nacional), abarca los estados verdaderos y falsos generalmente, con un tercer alto estado transparente de la impedancia (o ' off-state ') que desconecte con eficacia la salida de la lógica. Esto proporciona una manera eficaz de conectar varias salidas de la lógica con una sola entrada, donde todos sino una se ponen en el alto estado de la impedancia, permitiendo que la salida restante funcione en el sentido binario normal. Esto se utiliza comúnmente para conectar los bancos de la memoria de computadora y otros dispositivos similares con un ómnibus de datos común; una gran cantidad de dispositivos pueden comunicar el excedente que el mismo canal asegurando solamente uno se permite simplemente a la vez. Aunque podría ser discutido que el estado high-impedance es con eficacia un "desconocido", no hay absolutamente disposición en la mayoría extensa de electrónica normal de interpretar un estado highimpedance como estado en sí mismo. Las entradas pueden detectar solamente verdad y falso; highimpedance se describe lo más mejor posible como invisible. Típicamente, la mayoría de las configuraciones electrónicas de la lógica omiten un estado verdadero cuando no detectan ninguna entrada - también interpretan así una alta impedancia en una entrada como estado verdadero, aunque éste es de ninguna manera universal. La lógica ternaria verdadera se puede poner en ejecucio'n en electrónica, aunque la complejidad del diseño hasta el momento ha hecho poco económico perseguir comercialmente y el interés se ha confinado sobre todo de investigar, puesto que la lógica binaria ' normal ' es mucho más barata poner en ejecucio'n y en la mayoría de los casos puede ser configurado fácilmente para emular sistemas ternarios. Sin embargo, hay usos útiles en la corrección de la lógica confusa y de error, y se han fabricado varios dispositivos de lógica ternarios verdaderos (véase los acoplamientos externos). la lógica del Multi-valor se define como lógica no-binaria e implica la conmutación entre más de 2 estados. Asumiremos que los dispositivos de lógica del multi-valor serán limitados a 2 funciones de salida de inputs/single. Una función ternario o de la lógica 3-value es una que tiene dos entradas que puedan asumir tres estados (la opinión 0, 1 y 2) y genera una señal de salida que pueda tener uno de estos tres estados. Un dispositivo ternario ' ter ' mira simbólicamente igual que binario con dos entradas y uno hecho salir. SISTEMAS DIGITALES Ŕ CONSULTA #1

33

La tabla de verdad de las miradas binario pues hay un más estado a demuestra la tabla de verdad de una

ternarias de un dispositivo diferentes tratar de. La figura siguiente función ternaria de la lógica.

Esta función es conmutativa pues no importa si intercambiamos las entradas de ' a ' y de ' b '). Bonita mucho mira igual que lógica binaria, pero hay algunas diferencias importantes. La lógica binaria tiene 16 diversas (funciones. La lógica ternaria tiene 3x3x3x3x3x3x3x3x3 = 19.683 diversas funciones de las cuales 729 sean comutativos. Para los propósitos ilutrativos

el programa básico visual siguiente puede ser utilizado. Ejecuta una función ternaria no conmutativa de la lógica. Las entradas pueden ser cambiadas y el programa generará los estados correctos de la salida. La tabla de verdad identificará el estado correcto. Hacer la distinción entre el valor e indicar las señales de la entrada y de salida son color cifrado.

El

programa de VB se puede descargar en forma del CIERRE RELÁMPAGO chascando aquí o en el screenshot. SISTEMAS DIGITALES Ŕ CONSULTA #1

34

Sistema de numeración ternario Ternario o trinary es la base-sistema de numeración 3. Los dígitos ternarios se conocen como trits (empujeinary del trél), con un análogo del nombre "mordidos". Aunque es ternario refiere lo más a menudo posible a un sistema en el cual los tres dígitos, 0, 1, y 2, estén todos los números enteros no negativos, el adjetivo también presta su nombre al sistema ternario equilibrado, usado en lógica de la comparación y computadoras ternarias. Comparado a decimal y a binario Las representaciones de los números del número entero en ternario no consiguen incómodo muy largas tan rápidamente como en binario. Por ejemplo, el decimal 365 corresponde a 101101101 binarios (9 dígitos) y a 111112 ternarios (6 dígitos). Sin embargo, siguen siendo menos compactos lejano que las representaciones correspondientes en bases tales como decimal - vea abajo para una manera compacta de codificar usar ternario nonary y septemvigesimal. Los números ponen a cero twenty-seven en ternario estándar Terna 0 1 2 10 11 12 20 21 22 100 101 102 110 111 rio Binari 0 1 10 11 100 101 110 111 100 100 101 101 110 110 o 0 1 0 1 0 1 Deci 0 1 2 3 4 5 6 7 8 9 10 11 12 13 mal Terna rio Binari o Deci mal

112 120 121

122

200

201

202

210

211

212

220

221

222

111 111 100 0 1 00 14 15 16

100 01 17

100 10 18

100 11 19

101 00 20

101 01 21

101 10 22

101 11 23

110 00 24

110 01 25

110 10 26

Energías de tres en ternario Ternario 1 10 Binario 1 11 Decimal 1 3 0 Energía 3 31

100 1001 9 32

1 000 1 1011 27 33

100 0 110 11 27

10 000 101 0001 81 34

Ternario 100 000 1 000 000 10 000 000 100 000 000 1 000 000 000 Binario 1111 0011 10 1101 1001 1000 1000 1011 1 1001 1010 0001 100 1100 1110 0011 Decimal 243 729 2 187 6 561 19 683 Energía 35 36 37 38 39 En cuanto a números racionales, ofertas ternarias una manera conveniente de representar un tercio (en comparación con su representación incómoda como cadena infinita de dígitos que se repiten en decimal); pero una desventaja importante es que, alternadamente, ternario no ofrece a representación finita para la fracción más básica: una mitad (y así, ni unos ni otros para un cuarto, un sexto, un octavo, un décimos, etc.), porque 2 no es un factor primero de la base. Fracciones en ternario Terna 0.111111111 0.1 0.020202020 0.012101210 0.011111111 0.010212010 rio 111... 202... 121... 111... 212... SISTEMAS DIGITALES Ŕ CONSULTA #1

35

Binari o Deci mal Fracci ón

0.1

Terna rio Binari o Deci mal Fracci ón

0.010101010 101... 0.001

0.5 el 1/2

0.125 1/8

0.010101010 101... 0.333333333 333... 1/3

0.01

0.01 0.000111000 111... 0.111111111 111... 1/9

0.25

0.001100110 011... 0.2

1/4

1/5

0.001010101 01... 0.166666666 666... 1/6

0.002200220 022... 0.000110011 001... 0.1

0.002110021 100... 0.000101110 100... 0.090909090 909... 1/11

0.002020202 020... 0.000101010 101... 0.083333333 333... 1/12

1/10

0.001001001 001... 0.142857142 857... 1/7

0.002002002 002... 0.000100111 011... 0.076923076 923... 1/13

Representación ternaria del acuerdo: base 9 y 27 Nonary (la base 9, cada dígito es dos dígitos ternarios) o septemvigesimal (la base 27, cada dígito es tres dígitos ternarios) se utiliza a menudo, similar a cómo los sistemas octales y hexadecimales se utilizan en lugar de binario. Ternario también tiene una unidad similar a un octeto, el tryte, que es seis dígitos ternarios. Uso práctico Un sistema de la base-tres se utiliza en Islam para contar a 100 en una sola mano para contar rezos (como alternativa para el rosario en catholicism). La ventaja - aparte de permitir que una sola mano cuente hasta 100- es que la cuenta no distrae la mente demasiado puesto que la cuenta contraria de la necesidad solamente a tres. Un punto ternario raro se utiliza para denotar partes fraccionarias de un turno en béisbol. Puesto que cada turno consiste en 3 salidas, cada uno hacia fuera se considera (un tercio) de un turno y se denota como 1. Por ejemplo, si un jugador echara todos los 4tos, 5tos y 6tos turnos, más 2 salidas del 7mo turno, sus turnos la columna echada para ese juego sería enumerada como 3.2, significando . (en este uso, solamente la parte fraccionaria del número se escribe en forma ternaria.) Los números ternarios se pueden utilizar para transportar las estructuras self-similar como un triángulo de Sierpinski o un cantor fijado convenientemente. Computadora ternaria Lógica tres-valorada uso ternario de las computadoras en sus cálculos. La historia tiene varios ejemplos de esta forma de computar. Una de las máquinas calculadoras más tempranas, construido por Thomas Fowler enteramente de la madera en 1840, era una computadora ternaria. La computadora ternaria ma's grande-todavi'a (llamada Setun) fue construida en los últimos años 50 en la Soviet-unio'n en la universidad de estado de Moscú, y ella tenía ventajas notables a las computadoras binarias que la substituyeron eventual. Con el advenimiento de los componentes binarios producidos en serie para las computadoras, las computadoras ternarias han disminuido a una nota al pie de la página pequeña en la historia de computar. Sin embargo, la elegancia de la lógica ternaria y la eficacia es predicha por Donald Knuth para traerlas nuevamente dentro del desarrollo en el futuro. Se sabe que la aritmética ternaria tiene ventajas esenciales con respecto la binaria que se utiliza en computadoras actuales. En la conexión con este Donald Knuth asumió que sucederá el reemplazo del SISTEMAS DIGITALES Ŕ CONSULTA #1

36

"flip-flop" para el "mover de un tiro'n-aleta-fracaso" uno un "buen" día sin embargo [ 1 ]. Ahora, cuando predominan las computadoras binarias, es duro creer en una realidad de tal asunción, pero si sucediera no solamente la aritmética de la computadora, pero la informática en el conjunto llegó a ser el más simple y el más perfecto. El tercer valor (Aristotle lo nombró . el asistente) cuál es muy real pero ocultado en lógica binaria, hará obvio y directo manipulado. La lógica ternaria tiene acuerdo mejor con la naturaleza y el pensamiento informal humano [ 2 ]. Desafortunadamente, el moderno investiga de la lógica (no-binaria) multivalued es formal y no se asocia a peticiones prácticas. Una exclusión notable es la experiencia de crear las computadoras ternarias "Setun" y "Setun 70" en la universidad de estado de Moscú [ 3.4.5.6 ]. Esta experiencia confirma convincentemente preferencias prácticas de la técnica digital ternaria. El diseño de la máquina digital pequeña "Setun" (Setun es el pequeño río que fluye en el río "Moscú" cerca de la universidad) fue iniciado por el miembro de la academia de ciencias S. L. Sobolev en 1956. Fue asumido para crear la computadora, simples pequeños, baratos en uso y servicio para las escuelas, laboratorios de investigación, oficinas conceptoras y para el control de la fabricación. Para tal meta en el centro de computadora de la universidad se formó un grupo de hombres jóvenes (4 el MS y el BA 5). El seminario común para los ingenieros y los programadores fue organizado y S. L. Sobolev, K. A. Semendjev, M. R. Shura-Bura, I. S. Berezin era sus participantes permanentes. Los problemas de la optimización de la arquitectura de computadora y de la realización técnica fueron examinados y las variantes de la computadora futura fueron discutidas. debido a la confiabilidad baja de los elementos de la computadora en los tubos de vacío y de la inaccesibilidad de transistores los elementos rápidos en corazones miniatura de la ferrita y diodos del semiconductor fueron diseñados. Estos elementos trabajan como transformador corriente controlado y eran una base eficaz para la puesta en práctica de la lógica del umbral y su versión ternaria en el detalle [ 7 ]. Los elementos ternarios de la lógica del umbral con respecto los binarios proporcionan más velocidad y la confiabilidad, requiere menos equipo y energía. Éstas eran razones de diseñar una computadora ternaria. "Setun" es una computadora secuencial que contiene el multiplicador rápido, gracias a la velocidad de la operación como en dispositivos paralelos se alcanza. (3 páginas de 54 palabras) El ESPOLÓN pequeño de la ferrita que tiene intercambio de la página con la memoria de tambor magnética principal trabaja como efectivo. "Setun" tiene una arquitectura de una dirección con una i'ndice-se coloca. El contenido de él, en la dependencia del valor (+.0, -) del trit de la modificación de la dirección, se puede agregar a o restar de la pieza de dirección de instrucción. El sistema de instrucción consiste solamente en 24 instrucciones incluyendo la ejecución de la normalización de la mantisa para el cálculo floating-point, la cambio, la multiplicación combinada y la adición. Tres instrucciones son reservadas pero nunca no se han utilizado debido a la carencia de la necesidad. La simplicidad, la economía y la elegancia de la arquitectura de computadora son la consecuencia directa y prácticamente muy importante del ternarity, más exactamente. de la representación de datos y de instrucciones por código (equilibrado) simétrico, es decir por código con los dígitos 0, +1, -1. En contrario al código binario no hay diferencia entre "el número firmado" y "sin firmar". Consecuentemente la cantidad de instrucciones condicionales es disminución dos veces y es posible utilizarlas más fácilmente; las operaciones aritméticas permiten la variación libre de la longitud de operandos y se pueden ejecutar con diversas longitudes; el redondeo ideal es alcanzado simplemente por el truncamiento, es decir el truncamiento coincide con el redondeo y hay la mejor aproximación el número de redondeo por redondeado. La experiencia de crear, de la programación y del uso de "Setun" confirmó inequívoco las preferencias significativas del ternarity. A pesar del hecho de que los diseñadores del primeros eran muy jóvenes y el grupo era pequeño, el espécimen de "Setun" era listo en diciembre de 1958, es decir en dos años SISTEMAS DIGITALES Ŕ CONSULTA #1

37

desde el principio. "Setun" trabajado correctamente inmediatamente sin eliminar errores uniforme y comenzó a ejecutar los programas existentes. En 1960 era suficiente cantidad de programas y era posible presentar "Setun" para la prueba oficial. Tal prueba fue pasada en abril 1960 muy con éxito. El inusual demostrada computadora para ése mide el tiempo de confiabilidad y de la estabilidad de la operación en amplia gama del voltaje ambiente de la temperatura y de fuente. Fue encontrado que la computadora es algo simple en la fabricación y en servicio, conveniente para la amplia gama de usos. "Setun" fue recomendado para la producción. Desafortunadamente los funcionarios de la producción de la computadora en la URSS tenían posición negativa sobre la "fruta no-planeada e inusual de la fantasía de la universidad". En vez de apoyar la innovación y de tomar a un beneficio posible los procuraron permanentemente aniquilar el "anadón feo". Había muchas órdenes de "Setun", incluyendo unos para la exportación, pero solamente 10-15 computadoras fueron producidas anualmente y no se exportó ningunos de ellos a bordo. La fabricación prevista de "Setun" en Checoslovaquia también estuvo rota. En 1965 la fabricación de "Setun" fue parada a pesar de peticiones insatisfechas. Fue substituida por una computadora binaria el mismo funcionamiento pero más de 2.5 veces de más costosos. En total se produjo 50 computadoras (especímenes incluyendo). 30 fueron instalados en las universidades y las universidades, el resto. en los laboratorios y las plantas de investigación. Geográficamente "Setun" fue dispersado todo sobre el país. de Kaliningrad a Jakutsk y de Ashkhabad a Novosibirsk. Fue encontrado que la computadora ternaria es muy favorable para agarrar y el uso. La simplicidad de la programación en los códigos (era decidido para no hacer un ensamblador) permitió para diseñar a algunos intérpretes sobre todo en la notación inversa polaca (del posfijo). En tal base era posible programar las diversas tareas de los cálculos de la ingeniería y de los resultados experimentales que procesaban al control de fabricación y a la enseñanza de la informática. En la base de la experiencia positiva de "Setun.s" fue diseñado y determinado exhaustivo adentro ALGOL-COMO lenguaje de programación la arquitectura de la otra computadora ternaria [ 5 ]. Esta computadora nombrada "Setun 70" fue introducida en 1970 [ 6 ]. A "Setun 70" las particularidades del ternarity se incorporan con más comprensión y lo completo: el formato ternario para la codificación de los símbolos. el "tryte" (análogo del octeto binario) que consiste en 6 trits (pedacitos ~9.5) se establece; el sistema de instrucción es actualizado de instrucciones ternarias auxiliares de la lógica y del control; las instrucciones aritméticas ahora permiten más variación de la longitud del operando. la longitud de 1. 2 y 3 trytes y del resultado pueden ser hasta 6 trytes. La posibilidad para variar la longitud de los palabra-operandos se amplía a las palabra-instrucciones. Más exactamente, en "Setun 70" que no lo hace el concepto tradicional de la instrucción de computadora como palabra existe. El programa es una secuencia de tryte-operaciones y tryte-trata. Las combinaciones ejecutadas de tales trytes se pueden interpretar como instrucciones virtuales. Pero no hay necesidad para que un programador piense de esto. él las construcciones (ella) posfija expresiones directamente de los operandos y de las operaciones por manera similar mientras que se hace en matemáticas. "Setun 70" es dos-apila la computadora. El apilado de operandos es la evolución del acumulador de "Setun de una dirección". El apilado de vuelta es la base del los autómatas que controla el nesting de subprogramas. La mejora simple de tal mecanismo [ 8 ] permite para transformar "Setun 70" en un poco de computadora para la programación estructurada E.W. propuesta de Dijkstra. Una realización adecuada de las ideas de Dijkstra [ 9 ] nombró el "procedimiento que programaba", enteramente probado sus esperanzas sobre la mejora radical de la programación (la meta no alcanzada en la "revolución estructurada" [ 10 ]). La construcción y el modificatin de los programas sobre la "computadora de programación del procedimiento" se convirtieron más fácilmente (en 3-5 veces) y se ha alcanzado la corrección perfecta. SISTEMAS DIGITALES Ŕ CONSULTA #1

38

Sin embargo "Setun 70" era el "ternac pasado". Después de ella la investigación fue parada. En "Setun 70" fue puesto en ejecucio'n el sistema "Nastavnik" del CAI, las versiones binarias de el cual son el ejemplo perfecto de la realización eficaz de la computadora didáctica hasta ahora [ 11 ]. El "procedimiento que programaba" fue transformado en el sistema de diálogo de la programación estructurada (DSSP). DSSP de hecho emula la arquitectura de "Setun 70" en las computadoras binarias: así satisface las ventajas del "procedimiento que programa" [ 12 ]. DSSP existe y se desarrolla, en su base se origina una "construcción de alto nivel que programa" [ 13 ] que permitan en detalle para realizar el sistema de diálogo muy simple y eficaz de la álgebra boleana [ 14 ]. El computar ternario se pone en ejecución comúnmente en términos de ternario equilibrado, que utiliza los tres dígitos -1, 0, y +1. El valor negativo de cualquier número ternario equilibrado puede ser obtenido substituyendo cada + por a - y viceversa. Es fácil restar un número invirtiendo + y - los dígitos y después usando la adición normal. Valores negativos expresos de la lata ternaria equilibrada tan fácilmente como positivo unos, sin la necesidad de una muestra negativa principal como con números decimales. Estas ventajas hacen algunos cálculos más eficientes en ternario que binario. "reflejo a menudo que tenido el ternario en vez de la notación binaria adoptado en la infancia de la sociedad, trabaja a máquina algo como el presente desearía ere esto ha sido común, pues la transición de mental al cálculo mecánico habría sido tan muy obvia y simple." (Fowler, 1840) Las computadoras ternarias en cultura popular  En Roberto tiempo de la novelade s de A. Heinlein ' bastante para el amor, las computadoras sentient, incluyendo Minerva, utilizan un sistema ternario, aunque no se especifica si su matemáticas es equilibrada. Circuitos de lógica ternarios con los circuitos integrados del Cmos Se observan los elementos ternarios del almacenaje usando operadores ternarios y los circuitos fundamentales, diseñados para hacer el uso práctico de los circuitos integrados del Cmos (o COS/MOS). Las células de memoria word-organized y trit-organizadas se diseñan para la construcción de un arsenal ternario de la al azar-acceso-memoria (TRANVÍA). Varios flip-flop (tri-fracasos) se construyen y se describen detalladamente, incluyendo un PZN (fije el positivo, sistema cero y fije la negativa), un PZN registrado, un D-tipo y un T-tipo. Los registros de cambio y los contadores de anillo ternarios se forman por medio de estos tri-fracasos. Un T-tipo amo-esclavo tri-fracaso se utiliza para la construcción de un contador ascendente ternario que pueda contar a partir de la 0 a 3.sup.n usando el código ternario normal o de -- (3.sup.n -1)/2 a +(3.sup.n -1)/2 cuando se emplea el código firmarternario. Con una poca modificación, abajo un contador ternario puede también ser construido. A dividir-por-M el contador ternario que puede ser programado se describe. Se presentan un decodificador y un codificador ternarios, que son los elementos de una leer-solamente-memoria ternaria completa (TROM). Un inversor ternario modificado (MTI) se toma como célula de la unidad de una matriz ternaria de la memoria.

Las encarnaciones de la invención en la cual se demanda una característica exclusiva o un privilegio se definen como sigue: 1. Un operador tres-valorado de la lógica que tiene valores discretos del positivo, cero y negativos de salida de la señal para los valores discretos de la negativa, cero y positivos de entrada de la señal, respectivamente, abarcando: SISTEMAS DIGITALES Ŕ CONSULTA #1

39

un terminal de la entrada conectado con las puertas de un p-tipo complementario del par o y el n-tipo dispositivos de semiconductor del óxido de metal, por lo menos las fuentes de el cual son cada uno conectada respectivamente con igual y las fuentes de alimentación opuestas de positivo y el valor negativo, respectivamente, y los drenes de el cual son cada uno conectó con uno de un par de resistores igual-valorados; par dicho de resistores igual-valorados que tienen una conexión común el uno al otro en los finales de cada uno enfrente de los drenes del p-tipo y del n-tipo respectivos dispositivos de semiconductor del óxido de metal; y un primer terminal de salida conectó con la conexión común del par dicho de resistores igualvalorados; por el que para cada uno de los valores positivos y negativos dichos de la señal de entrada, solamente uno de los dispositivos de semiconductor dichos sea conductor producir el valor respectivo de la señal de salida; y cuando el valor de la señal de entrada está en el nivel cero, ambos dispositivos de semiconductor dichos son conductores. 2. El operador tres-valorado de la lógica de la demanda 1 donde las fuentes y los substratos del p-tipo y del n-tipo comlementary dichos dispositivos de semiconductor del óxido de metal están conectados respectivamente con las fuentes de alimentación positivas y negativas dichas. 3. Está el terminal el operador tres-valorado de la lógica de la demanda 2 donde dicho primer terminal de salida de salida de un inversor ternario simple; y teniendo una segunda salida ternaria positiva del inversor en la conexión del dren del p-tipo dicho dispositivo de semiconductor del óxido de metal y su resistor respectivo; y una tercera, negativa salida ternaria del inversor en la conexión del dren del n-tipo dicho dispositivo de semiconductor del óxido de metal y su resistor respectivo. 4. Una célula de memoria tres-valorada que abarca a un par cruz-juntar-conectado de operadores tresvalorados de la lógica de la demanda 2; donde el primer terminal de salida del primer del par dicho de operadores tres-valorados está conectado con el terminal de la entrada del segundo del par dicho de operadores tres-valorados, y el primer terminal de salida del segundo del par dicho de operadores tres-valorados está conectado con el terminal de la entrada del primer del par dicho de operadores tres-valorados. 5. Un operador tres-valorado de la lógica que tiene la dos-entrada, entrada tres-valorada y teniendo ternario NI salida, por el que los valores de la señal de la entrada y de salida tengan niveles discretos del positivo, cero y negativos, el abarcar: dos pares del p-tipo y de n-tipo complementarios dispositivos de semiconductor del óxido de metal, donde el primer y segundo p-tipo dispositivos está conectado en la serie y el primer y segundo n-tipo dispositivos están conectados en paralelo; un par de terminales de la entrada, el primer de cuál está conectado con la puerta del primer p-tipo dicho dispositivo de semiconductor del óxido de metal y con la puerta del segundo n-tipo dicho dispositivo de semiconductor del óxido de metal, el segundo de los terminales dichos de la entrada que son conectados con la puerta del segundo p-tipo dicho dispositivo de semiconductor del óxido de metal y con la puerta del primer n-tipo dicho dispositivo de semiconductor del óxido de metal; SISTEMAS DIGITALES Ŕ CONSULTA #1

40

la fuente del primer p-tipo dicho dispositivo de semiconductor del óxido de metal que es conectado con una fuente de alimentación positiva, la fuente del segundo p-tipo dicho dispositivo de semiconductor del óxido de metal que es conectado en serie con el dren del primer p-tipo dicho dispositivo de semiconductor del óxido de metal; los substratos del p-tipo dicho dispositivos de semiconductor del óxido de metal que son conectados con la fuente de alimentación positiva dicha; la fuente y el substrato de cada uno de n-tipo dicho dispositivos de semiconductor del óxido de metal que son conectados con una fuente de alimentación negativa; el dren del segundo p-tipo dicho dispositivo de semiconductor del óxido de metal que es conectado con el primer de un par de resistores igual-valorados, y el dren de cada uno de n-tipo dicho dispositivos de semiconductor del óxido de metal que son conectados con el segundo del par dicho de resistores igualvalorados, siendo una conexión común de los resistores igual-valorados dichos el uno al otro y a un terminal de salida. 6. El operador tres-valorado de la lógica de la demanda 5 donde está una primera salida el terminal de salida dicho de un ternario NI de una puerta simple; y teniendo un segundo, positivo ternario NI salida en la conexión del dren del segundo p-tipo dicho dispositivo y primer resistor dicho; y un tercer, negativo ternario NI salida en la conexión del dren del n-tipo dicho dispositivos y segundo resistor dicho. 7. Un operador tres-valorado de la lógica que tiene la función de una puerta ternaria de AND-ORINVERT, abarcando al operador tres-valorado de la lógica de la demanda 5 junto con: un tercer p-tipo dispositivo de semiconductor del óxido de metal que fuente y substrato está conectado con la fuente de alimentación positiva dicha y que dren está conectado con el dren del segundo p-tipo dicho dispositivo de semiconductor del óxido de metal; un tercer n-tipo dispositivo de semiconductor del óxido de metal que fuente y substrato está conectado con la fuente de alimentación negativa dicha y que dren está conectado con la fuente de cada uno de primer y segundo n-tipo dicho dispositivos de semiconductor del óxido de metal; un tercer terminal de la entrada conectado con las puertas del tercer p-tipo y n-tipo dichos dispositivos de semiconductor del óxido de metal; un segundo terminal de salida conectado con los drenes del segundo y tercer p-tipo dicho dispositivos del semuconductor del óxido de metal; y un tercer terminal de salida conectado con los drenes del primer y segundo n-tipo dicho dispositivos de semiconductor del óxido de metal. 8. Un operador tres-valorado de la lógica que tiene la función de una puerta ternaria de AND-ORINVERT, abarcando al operador tres-valorado de la lógica de la demanda 5 junto con: un tercer p-tipo dispositivo de semiconductor del óxido de metal que fuente está conectada con el dren del primer p-tipo dicho dispositivo de semiconductor del óxido de metal, que substrato está conectado con la fuente de alimentación positiva dicha, y que dren está conectado con el dren del segundo p-tipo dicho dispositivo de semiconductor; SISTEMAS DIGITALES Ŕ CONSULTA #1

41

un tercer n-tipo dispositivo de semiconductor del óxido de metal que fuente y substrato está conectado con la fuente de alimentación negativa dicha, y que dren está conectado con la fuente del segundo ntipo dicho dispositivo de semiconductor del óxido de metal, la fuente del primer n-tipo dicho dispositivo de semiconductor del óxido de metal que es conectado con la fuente de alimentación negativa dicha; un tercer terminal de la entrada conectado con las puertas del tercer p-tipo y n-tipo dichos dispositivos de semiconductor del óxido de metal; un segundo terminal de salida conectado con los drenes del segundo y tercer p-tipo dicho dispositivos de semiconductor del óxido de metal; y un tercer terminal de salida conectado con los drenes del primer y segundo n-tipo dicho dispositivos de semiconductor del óxido de metal. 9. Un operador tres-valorado de la lógica que tiene dos-entrada, entrada tres-valorada y teniendo ouput ternario del NAND, por el que los valores de la señal de la entrada y de salida tengan niveles discretos del positivo, cero y negativos, el abarcar: dos pares del p-tipo y de n-tipo complementarios dispositivos de semiconductor del óxido de metal, donde el primer y segundo p-tipo dispositivos está conectado en el paralelo y el primer y segundo ntipo dispositivos están conectados en serie; un par de terminales de la entrada, el primer de cuál está conectado con la puerta del primer n-tipo dispositivo de semiconductor del óxido de metal y con la puerta del primer p-tipo dispositivo de semiconductor del óxido de metal, el segundo de los terminales dichos de la entrada que son conectados con la puerta del segundo n-tipo dicho dispositivo de semiconductor del óxido de metal y con la puerta del segundo p-tipo dicho dispositivo de semiconductor del óxido de metal; la fuente del segundo n-tipo dicho dispositivo de semiconductor del óxido de metal que es conectado con una fuente de alimentación negativa, y la fuente del primer n-tipo dicho dispositivo de semiconductor del óxido de metal que es conectado en serie con el dren del segundo n-tipo dicho dispositivo de semiconductor del óxido de metal; los substratos del n-tipo dicho dispositivos de semiconductor del óxido de metal que son conectados con la fuente de potencia cc Dicha de la negativa; la fuente y el substrato de cada uno de p-tipo dicho dispositivos de semiconductor del óxido de metal que son conectados con una fuente de alimentación positiva; los drenes de cada uno de primer y segundo p-tipo dicho dispositivos de semiconductor del óxido de metal que son conectados con los primeros de un par de resistores igual-valorados, y el dren del primer n-tipo dicho dispositivo de semiconductor del óxido de metal que es conectado con el segundo del par dicho de resistores igual-valorados, siendo una conexión común de los resistores igual-valorados dichos el uno al otro y a un terminal de salida. 10. El operador tres-valorado de la lógica de la demanda 9 donde está una primera salida el terminal de salida dicho de una puerta ternaria simple del NAND; y teniendo una segunda, positiva salida ternaria del NAND en la conexión de los drenes del p-tipo dicho dispositivos y un primer resistor dicho; y un tercer, NAND ternario negativo hizo salir en la conexión del primer n-tipo dicho dispositivo y segundo resistor dicho. SISTEMAS DIGITALES Ŕ CONSULTA #1

42

11. Un operador tres-valorado de la lógica que tiene la función de una puerta ternaria de AND-ORINVERT, abarcando al operador tres-valorado de la lógica de la demanda 9 junto con: un tercer p-tipo dispositivo de semiconductor del óxido de metal que fuente y substrato está conectado con la fuente de alimentación positiva dicha y que dren está conectado con la fuente del primer p-tipo dicho dispositivo de semiconductor del óxido de metal; un tercer n-tipo dispositivo de semiconductor del óxido de metal que fuente está conectada con el dren del segundo n-tipo dicho dispositivo de semiconductor del óxido de metal, que substrato está conectado con la fuente de energía negativa dicha, y que dren está conectado con el dren del primer n-tipo dicho dispositivo de semiconductor del metal; un tercer terminal de la entrada conectado con las puertas del tercer p-tipo y n-tipo dichos dispositivos de semiconductor del óxido de metal; un segundo terminal de salida conectado con los drenes del primer y segundo p-tipo dicho dispositivos de semiconductor del óxido de metal; y un tercer terminal de salida conectado con los drenes del primer y tercer n-tipo dicho dispositivos de semiconductor del óxido de metal. 12. Un operador tres-valorado de la lógica que tiene la función de una puerta ternaria de AND-ORINVERT, abarcando al operador tres-valorado de la lógica de la demanda 9 junto con: un tercer p-tipo dispositivo de semiconductor del óxido de metal que fuente y substrato está conectado con la fuente de alimentación positiva dicha y que dren está conectado con las fuentes del primer y segundo p-tipo dicho dispositivos de semiconductor del óxido de metal; un tercer n-tipo dispositivo de semiconductor del óxido de metal que fuente y substrato está conectado con la fuente de alimentación negativa dicha y que dren está conectado con el dren del primer n-tipo dicho dispositivo de semiconductor del óxido de metal; un tercer terminal de la entrada conectado con las puertas del tercer p-tipo y n-tipo dichos dispositivos de semiconductor del óxido de metal; un segundo terminal de salida conectado con los drenes del primer y segundo p-tipo dicho dispositivos de semiconductor del óxido de metal; y un tercer terminal de salida conectado con los drenes del primer y tercer n-tipo dicho dispositivos de semiconductor del óxido de metal.

Campo de la invención Esta invención se relaciona con la lógica tres-valorada, y se relaciona particularmente con la disposición de los operadores tres-valorados prácticos de la lógica que pueden ser observados usando los circuitos integrados de metal del semiconductor complementario del óxido para proporcionar SISTEMAS DIGITALES Ŕ CONSULTA #1

43

medios prácticos de la alta tarifa, proceso digital de alta densidad. Fondo de la invención En 1921, E. L. Post en el diario americano de las matemáticas, en un papel titulado "introducción a una teoría general de asuntos elementales" propuso una lógica n-valorada como generalización de la álgebra de asuntos elementales. El trabajo desde entonces considerable ha procedido con la síntesis de n-valorado el cambiar de los circuitos. Las ventajas considerables se pueden ganar considerando sistemas una raíz de más altamente de 2 y construir de elementos mu'ltiple-valorados. Pueden demostrar velocidad creciente de la operación aritmética debido a el número más pequeño de los dígitos requeridos para una exactitud dada, si se asume que los elementos mu'ltiple-valorados de la lógica pueden funcionar a una velocidad que acerca a el de los elementos binarios correspondientes de la lógica. Pueden permitir una utilización mejor de los canales de transmisión debido a el contenido de información más alto llevado por cada línea. Tienen códigos más eficientes de la detección y de la corrección de error. Poseen una densidad más alta del almacenaje de información. Ofrecen una cierta reducción de la complejidad del cableado que es un factor importante en el área de la tecnología de circuito integrado. la lógica Tres-valorada, que es un caso especial de la lógica mu'ltiple-valorada, tiene un interés atractivo puesto que el cálculo clásico demuestra que la representación más eficiente de números está con la base e(2.71828. . .), y 3 es el número entero más cercano a él. Moereover, en control de proceso de la digital-computadora las salidas requeridas es básicamente ternario, e.g. para los comandos digitales de un servo tres del eje sea necesario: Sigue habiendo ningún error, en la posición; el error contrario al reloj, rota a la derecha; y el error a la derecha, rota contrario al reloj. debido a algunas características de los dispositivos de semiconductor del óxido de metal de la Complementario-Simetri'a, conocidas como circuitos integrados del Cmos (o COS/MOS), uno puede utilizarlos en el diseño de los circuitos de lógica ternarios, por supuesto de una manera que diferencie algo de diseños de circuito binarios normales de lógica. Dos resistores se insertan entre los transistores de dos vías del tipo complementario. Los resistores agregados permiten que uno obtenga tres niveles voltaicos estables equiprobable cuando dos fuentes de alimentación se utilizan para asegurar predisponer apropiado. Una de las fuentes de alimentación es positiva y se aplica a la fuente del transistor del p-canal (V.sub.DD = V), y segundo es negativos, con valor V.sub.SS = vertline. de .vertline.V.sub.DD = - V aplicado a la fuente del transistor del n-canal. Los tres niveles voltaicos son entonces iguales a V, potencial cero y - V. Based en esta idea los inversores ternarios, NAND y NI se observan con los circuitos integrados del Cmos. Con la tecnología electrónica que avanzaba, el interés en lógica multi-valued, y especialmente en el ternario, ha crecido rápidamente. Mucho trabajo se ha hecho en los circuitos de lógica combinational ternarios, pero pocos estudios se han centrado en el diseño de circuitos secuenciales ternarios. Esto se puede atribuir a la carencia de los elementos ternarios convenientes de la memoria. El uso de circuitos integrados en diseñar elementos ternarios de la memoria puede ser una buena solución a este problema. Debido a algunas características de los dispositivos del Cmos (o COS/MOS), pueden ser utilizados en el diseño de los circuitos de lógica ternarios, de una manera que diferencie algo del diseño de los circuitos de lógica binarios normales u ordinarios. Por lo tanto, según esta invención, se diseñan los circuitos de memoria ternarios usando los circuitos integrados del Cmos (o COS/MOS); y esto se logra SISTEMAS DIGITALES Ŕ CONSULTA #1

44

por medio de operadores ternarios y de circuitos fundamentales. Entonces construyen varios circuitos secuenciales y operadores ternarios de la matriz de la memoria usando los operadores de la lógica y los elementos ternarios básicos de la memoria de esta invención. Todos los circuitos presentados adjunto se han observado usando CD4007AE y los circuitos integrados bilaterales del interruptor CD4016AE RCA COS/MOS del cuadrángulo. La primera viruta abarca el realce-tipo transistores de tres p-canales y de tres n-canales del MOS; y la segunda viruta abarca cuatro interruptores bilaterales independientes de la señal, cada uno de los cuales consiste en un p-canal y un dispositivo del n-canal.

Breve resumen de la invención Un objeto de esta invención principal es proporcionar a operadores simples y los circuitos ternarios de la lógica, basados en el actual día, los semiconductores complementarios prácticos del óxido de metal de la simetría. Sigue que esta invención proporciona una variedad de circuitos secuenciales ternarios que tengan capacidades aritméticas. También sigue que los órdenes de matriz de la memoria se pueden construir usando los elementos ternarios simples de la lógica según esta invención. Otro objeto de esta invención es, por lo tanto, para proporcionar suficientes operadores ternarios de la lógica y los circuitos fundamentales en cuanto a proporcionan los inversores prácticos, tres-valorados -simples, positivos o negativa -- ni (u O) y las puertas del NAND (o Y), así como las puertas de ANDOR-INVERT (AOI). De estos elementos, un elemento ternario básico del almacenaje puede ser proporcionado, que son word-organized o trit-organizados, de que los órdenes de la al azar-accesomemoria pueden ser construidos; y usando codificadores y los decodificadores ternarios de la lógica, una leer-solamente-memoria puede ser proporcionada. Descripción de las encarnaciones preferidas Operadores ternarios y circuitos fundamentales -- refiriendo a fig. 1, se demuestra un inversor ternario fundamental 10 cuál es operador tres-valorado de la lógica y cuál puede ser operable con una entrada a la una de tres niveles voltaicos cuál es - V, potencial cero de V; o que se refieren de otra manera respectivamente como niveles 0, 1 y 2. Así, una entrada en el nivel 0, según lo referido más adelante en esta descripción y según lo precisado en tablas de verdad, es un voltaje negativo; una señal de entrada en el nivel 1 es voltaje cero y una señal de entrada en el nivel 2 es un voltaje positivo. En cualquier acontecimiento, el inversor ternario 10 de fig. 1 tiene una entrada 12 y terminales de salida 14, 16 y 18. El terminal de salida 14 es la salida de un inversor ternario simple; mientras que una salida en el terminal 16 es una salida de un inversor ternario positivo, y además una salida en el terminal 18 es una salida de un inversor ternario negativo. Los tres operadores básicos ternarios, por lo tanto, son un inversor ternario simple (STI), un inversor ternario positivo (PTI), y un inversor ternario negativo (NTI), y abajo los consideran en Tabla I: sup. del ______________________________________ x -- sup. x.sup.2 -- x.sup.1 sup. -- x.sup.0 SISTEMAS DIGITALES Ŕ CONSULTA #1

45

______________________________________ 2 0 0 0 1 ______________________________________ 2 1 0 0 2 2 2

El operador ternario 10 de fig. 1 abarca un par del p-tipo y del n-tipo complementarios dispositivos de semiconductor del óxido de metal 20 y 22, respectivamente. Las fuentes y los substratos de los dispositivos de semiconductor complementarios del óxido de metal están conectados, respectivamente, con una fuente de alimentación positiva 24 y una fuente de alimentación negativa 26. Los drenes del ptipo y del n-tipo respectivos dispositivos 20 y 22 del MOS son cada uno conectado con uno de un par de los resistores igual-valorados 28 y 30, con una conexión común entre los resistores 28 y 30. Será observado que la salida 14 está conectada con la conexión común entre los resistores igual-valorados 28 y 30, y el terminal de salida 16 y 18 está conectado respectivamente con los drenes del p-tipo transistor 20 del MOS y del n-tipo transistor 22 del MOS. Los valores típicos para las fuentes de alimentación positivas y negativas son +4 voltios y -4 voltios, respectivamente; y los valores típicos para los resistores igual-valorados son los ohmios cada 12K. Se eligen estas resistencias de modo que el circuito tenga una corriente de la carga de la salida igual a la corriente de impulsión de la salida del circuito binario correspondiente; y en por lo menos una encarnación práctica, el circuito de impulsión de la salida es aproximadamente 0.3 mA para el n-tipo elemento y menos de 1.1 mA para el p-tipo elemento. En esto según lo en todos los circuitos descritos adjunto, todos los substratos del p-tipo transistores del MOS están conectados con la fuente de alimentación positiva, y los de los n-tipos están conectados con la fuente de alimentación negativa. Refiriéndose a la tabla de verdad en la tabla I, será visto que cuando un voltaje cero (nivel 1 de la lógica) se aplica a la entrada del inversor, los dos dispositivos 20 y 22 estarán encendido -- es decir, conduciendo -- tan que el potencial en el terminal de salida 16 será +4 voltios (PTI hecho salir en el nivel 2) y el potencial en el terminal de salida 18 será -4 voltios (NTI hecho salir en el nivel 0), dando un potencial en el terminal de salida 14 -- la salida del inversor simple -- del voltaje cero (1 llano). Esto realiza la segunda fila de la Tabla I. Cuando el voltaje de entrada está en el nivel 2 (+4 voltios) de la lógica, el p-tipo dispositivo 20 será apagado (no conductor) y el n-tipo dispositivo 22 estará encendido, de modo que los terminales 18, 14 y 16 sean en el voltaje negativo -4 voltios. Así, las salidas de STI, de PTI y de NTI están en el nivel 0 de la lógica, que es la inversión de la entrada en el nivel 2 de la lógica. Semejantemente, cuando el voltaje de entrada está en el nivel 0 de la lógica, el p-tipo elemento 20 se gira y el n-tipo elemento 22 da vuelta apagado. Así, el terminal de salida 16 estará en +4 voltios, como los terminales de salida 14 y 18, de modo que las salidas de STI, de PTI y de NTI estén en +4 voltios (el nivel de la lógica 2), que es la inversión de la entrada. La disipación quieta de la energía de un inversor tal como eso demostrada en fig. 1 es más alta que ésa para un inversor binario. Esto está debido a los dos resistores igual-valorados 28 y 30 que se insertan entre los dos canales de la unidad complementaria, y porque el p-tipo y el n-tipo elementos están conduciendo cuando la entrada está en el nivel 1 de la lógica, mientras que solamente un elemento estaría conduciendo en un inversor binario. Semejantemente, la disipación dinámica de la energía del inversor ternario de fig. 1 es levemente más alta que la de un inversor binario, pero la disipación SISTEMAS DIGITALES Ŕ CONSULTA #1

46

dinámica de la energía se puede reducir grandemente con frecuencia que cambia creciente. Así, en la alta tarifa de datos (ra'pido-conmutacio'n) un sistema de la disipación de la energía es más dinámico y la disipación quieta de la energía de los elementos puede ser descuidada substancialmente. Los operadores referidos arriba -- STI, PTI y NTI -- así como el ternario NI (TNOR) y el NAND ternario (TNAND) -- que represente a dos operadores fundamentales de la entrada múltiple -- sea todos definidos en las ecuaciones 1 a 4 respectivamente, según lo precisado abajo: ## del ## EQU1 donde i toma el valor de 2 para el PTI, y 0 para el operador de NTI. TNOR: tnand:

(X

+

(multidot.

Y).sup.1 de

x

= y).sup.1

máximo =

(X,

minuto

Y).sup.1

(X,

Y).sup.1

(3) (4)

también, consideran el ternarios NI y a los operadores ternarios del NAND de aquí en adelante en la tabla II, junto con las inversiones de un ternario O (TOR) y ternario Y (TAND). Tabla de verdad de los operadores ternarios de la dos-entrada TOR TNOR TAND del ______________________________________ TNAND x ______________________________________ 2 del ## del ## STR4 del ## del ## STR3 del ## del ## STR2 del ## del ## STR1 de y ______________________________________ 2 2 0 2 0 2 1 2 0 1 1 2 0 2 0 0 21220111111111011020220020111020002 02

El referirse ahora a fig. 2, allí se demuestra a operador tres-valorado de la lógica que tiene entrada tresvalorada dos-entrada y que tiene un ternario NI una salida. El ternario NI el operador 32 abarca dos pares del p-tipo y del n-tipo complementarios transistores del semiconductor del óxido de metal; a saber, un primer p-tipo elemento 34 y un segundo p-tipo elemento 36 que están conectados en serie, y un primer n-tipo elemento 38 y un segundo n-tipo elemento 40 que están conectados en paralelo. Será observado que hay un par de los terminales 42 y 44 de la entrada, con el terminal 42 de la entrada que es conectado con la puerta del p-tipo elemento 34 y la puerta del n-tipo elemento 40; mientras que el terminal 44 de la entrada está conectado con la puerta del p-tipo dispositivo 36 y también con la puerta del n-tipo dispositivo 38. La fuente del p-tipo dispositivo 34 está conectada con una fuente de alimentación positiva 46; y la fuente de cada uno del n-tipo dispositivos 38 y 40 está conectada con una fuente de alimentación negativa 48. La fuente del segundo p-tipo dispositivo 36 está conectada con el dren del primer p-tipo dispositivo 34, con un punto 50 entre ellos. Los drenes de cada uno del n-tipo dispositivos 38 y 40 están conectados juntos, y con el segundo de un par de los resistores igualvalorados 52 y 54. El primer resistor 52 está conectado con el dren del segundo p-tipo dispositivo 36; y hay una conexión y una salida comunes en 56 entre los resistores igual-valorados 52 y 54. Asimismo, puede haber terminales de salida en 58 conectados con el dren del segundo p-tipo dispositivo 36, y en 60 conectados con los drenes del primer y segundo n-tipo dispositivos 38 y 40. Como en el caso del inversor tres-valorado 10 de fig. 1, los terminales de salida 58, 56 y 60 representan salidas de TNOR positivo, TNOR simple (o TNOR según lo referido adjunto), y TNOR negativo, respectivamente. La

operación

del

elemento

32

de

TNOR

de

fig.

2

es

como

sigue:

SISTEMAS DIGITALES Ŕ CONSULTA #1

47

Cuando las entradas 42 y 44 son idénticas, el circuito actúa como inversor tres-valorado. Si entradas son ambas en el nivel 1 (potencial cero) de la lógica, los cuatro dispositivos están conduciendo, y el terminal 58 será alto con el terminal 60 bajo, de modo que siga habiendo el terminal de salida 56 en el potencial cero. Si ambas entradas 42 y 44 están en el nivel 2 de la lógica, dos el p-tipo dispositivos 34 y 36 está apagado, y dos el n-tipo dispositivos 38 y 40 está encendido de modo que el terminal de salida 60 y por lo tanto los terminales de salida 56 y 58 estén en -4 voltios, el nivel 0 de la lógica, que es la inversión de las entradas en 42 y 44. Asimismo, si entradas son ambas en el nivel 0 de la lógica, el ptipo dispositivos 34 y 36 conducirá mientras que el n-tipo dispositivos 38 y 40 no conducirá, de modo que el terminal de salida 58 y por lo tanto los terminales de salida 56 y 60 estén en +4 voltios, el nivel 2 de la lógica, que es la inversión de las entradas.

Si,

sin

embargo,

las

dos

entradas

no

son

iguales,

la

operación

será

como

sigue:

Si la entrada 42 está en el nivel 2 de la lógica, y 44 entrados está en el nivel 1 de la lógica, del p-tipo dispositivos 34 y 36 están apagados porque el punto 50 entre ellos está en el potencial cero. En la misma época, del n-tipo dispositivos 38 y 40 sea encendido, el terminal de salida 60 los terminales 56 y 58 -- y por lo tanto de salida -- estará en -4 voltios, el nivel 0 de la lógica -- que es lo contrario (negativamente, simplemente o positivamente, respectivamente) del máximo de las entradas. Cuando la entrada 42 está en el nivel 0 de la lógica y la entrada 44 está en el nivel 1 (-4 voltios de voltio y cero, respectivamente) ambos de la lógica del p-tipo dispositivos 34 y 36 estarán encendido y el terminal de salida 58 estará en +4 voltios. El primer n-tipo dispositivo 38 estará apagado, pero el segundo n-tipo dispositivo 40 estará encendido, de modo que el terminal de salida 60 esté en el nivel 0 (-4 voltios) de la lógica, y por lo tanto el voltaje en el terminal de salida 56 será cero, el nivel 1 de la lógica. Asimismo, cuando la entrada 42 está en el nivel 2 de la lógica y la entrada 44 está en el nivel 0 de la lógica, del p-tipo dispositivos 34 y 36 estarán apagados porque el punto 50 entre ellos está en el potencial cero, mientras que el primer n-tipo dispositivo 38 estará encendido mientras que el segundo n-tipo dispositivo 40 estará apagado. En este caso, los terminales de salida 60, 56 y 58 estarán en -4 voltios, nivel 0 de la lógica, de modo que la salida sea de nuevo lo contrario del máximo de las entradas. Obviamente, un ternario O un operador (del TOR) se puede observar por la inserción mera de un inversor ternario simple 10 en la salida del circuito 32 (salida 56, 58 o 60) de TNOR. Refiriéndose ahora a fig. 3, demuestran un operador ternario 62 del NAND (TNAND), y también abarca dos pares del p-tipo y del n-tipo complementarios transistores del semiconductor del óxido de metal. En este caso, el primer p-tipo dispositivo 64 está conectado en paralelo con el segundo p-tipo dispositivo 66, y el primer n-tipo dispositivo 68 está en serie con el segundo n-tipo dispositivo 70. La fuente de cada uno del p-tipo dispositivos 64 y 66 está conectada con una fuente de alimentación positiva 72; y la fuente del segundo n-tipo dispositivo 70 está conectada con una fuente de alimentación negativa 74. Los drenes de cada uno del p-tipo dispositivos 64 y 66 están conectados el uno al otro y por lo tanto al primer de un par de los resistores igual-valorados 76 y 78. El dren del segundo n-tipo dispositivo 70 está conectado con la fuente del primer n-tipo dispositivo 68, y su dren está conectado con el segundo resistor 78 del par igual-valorado de resistores. Un terminal de salida 80 está conectado en la conexión común entre los resistores 76 y 78, y puede haber los terminales de salida 82 en la SISTEMAS DIGITALES Ŕ CONSULTA #1

48

conexión a los drenes del p-tipo dispositivos 64 y 66 y 84 en la conexión del dren del n-tipo dispositivos 68 a el resistor 78. Un par de los terminales 86 y 88 de la entrada se proporciona, el terminal 86 de la entrada que es conectado con la puerta del primer p-tipo dispositivo 64 y la puerta del primer n-tipo dispositivo 68; mientras que el segundo terminal 88 de la entrada está conectado con las puertas de cada uno del segundo p-tipo y n-tipo dispositivos 66 y 70, respectivamente. La operación del circuito 62 de TNAND es similar a la operación del circuito 32 de TNOR descrito arriba, y se puede resumir como sigue.

Cuando las dos entradas 86 y 88 son idénticas, el circuito funcionará exactamente como en el caso del circuito 32 de TNOR. Cuando

las

entradas

no

son

iguales,

la

operación

es

como

sigue:

Si la entrada 86 está en el nivel 2 de la lógica, y la entrada 88 está en el nivel 1 de la lógica, el p-tipo dispositivo 64 estará apagado y el p-tipo dispositivo 66 estará encendido, de modo que el terminal de salida 82 esté en +4 voltios, el nivel 2 de la lógica. Ambos n-tipo dispositivos 68 y 70 estarán encendido, de modo que el terminal de salida 84 esté en -4 voltios, el nivel 0 de la lógica; y por lo tanto el nivel en el terminal de salida 80 será voltaje cero, nivel 1 de la lógica. Si la entrada 86 está en -4 voltios, nivel 0 de la lógica, y la entrada 88 está en voltios cero, nivel 1 de la lógica, del p-tipo los dispositivos 64 y 66 estarán encendido y el terminal de salida 82 estará en +4 voltios. También, el segundo n-tipo dispositivo 70 estará encendido, pero el primer n-tipo dispositivo 68 estará apagado, así que por lo tanto el voltaje en los terminales de salida 80 y 84 será +4 voltios, nivel 2 de la lógica. Cuando es la entrada 86 +4 voltios, el nivel 2 de la lógica, y la entrada 88 es -4 voltios, nivel 0 de la lógica, el primer p-tipo dispositivo 64 estarán de pero el segundo p-tipo dispositivo 66 estará encendido, de modo que el potencial en el terminal de salida 82 sea +4 voltios. El primer n-tipo dispositivo 68 estará apagado porque el segundo n-tipo dispositivo 70 estará apagado y el punto 90 entre ellos estará en el potencial cero. Así, los terminales de salida 80 y 84 estarán en +4 voltios, nivel 2 de la lógica. Del antedicho, será visto que las salidas 82, 80 y 84 del circuito 62 de TNAND son siempre lo contrario positivo, simple y negativo, respectivamente, de la entrada mínima. Es obvio, de manera semejante según lo referido con respecto al circuito 32 de TNOR, que el circuito 62 de TNAND se puede invertir a un ternario Y a un operador (TAND) por la inserción de un inversor ternario simple 10 en la salida del operador 62 de TNAND. El referirse ahora a los higos. 4 y 5, allí se demuestran dos diversos circuitos cuáles se han construido -cada uno de las cuales deriva substancialmente de la puerta 32 de TNOR o de la puerta 62 de TNAND - para realizar a operadores ternarios de AND-OR-INVERT cuál funciona la puesta en práctica del permiso del inversor ternario simple, inversor ternario positivo, inversor ternario, ternarios negativos NI y NAND ternario. SISTEMAS DIGITALES Ŕ CONSULTA #1

49

Así, el circuito ternario 92 de AOI de fig. 4 abarca tres pares del p-tipo y del n-tipo complementarios transistores del semiconductor del óxido de metal. El primer y segundo p-tipo dispositivos, 94 y 96 está conectado respectivamente en serie, y el tercer p-tipo dispositivo 98 está conectado en paralelo con el p-tipo conectado serie dispositivos 94 y 96. Asimismo, el primer y segundo n-tipo dispositivos 100 y 102 está conectado en paralelo, con el tercer n-tipo dispositivo 104 en series con el n-tipo conectado paralelo dispositivos 100 y 102. Los substratos de todo el p-tipo dispositivos están conectados con la fuente de alimentación positiva 106, y los substratos del n-tipo dispositivos están conectados con la fuente de alimentación negativa 108. Las fuentes del p-tipo dispositivos 94 y 98 son cada uno conectada con la fuente de alimentación positiva 106, y el dren del primer p-tipo dispositivo 94 está conectado con la fuente del segundo p-tipo dispositivo 96. Las fuentes del primer dos n-tipo dispositivos 100 y 102 están conectadas con el dren del tercer n-tipo dispositivo 104, y los drenes del ntipo dispositivos 100 y 102 están conectados comúnmente con el resistor 112 de un par de los resistores igual-valorados 110 y 112. Los drenes del segundo y tercer p-tipo dispositivos 96 y 98 están conectados comúnmente con el primer resistor 110 del par de resistores igual-valorados. Los terminales de salida 114, 116 y 118 están conectados en la conexión común del segundo y tercer ptipo dispositivos 96 y 98, la conexión común de los resistores igual-valorados 110 y 112, y la conexión común del primer y segundo n-tipo dispositivos 100 y 102, respectivamente. La entrada 120 está conectada con las puertas del primer p-tipo dispositivo 94 y del primer n-tipo dispositivo 100; la entrada 122 está conectada con la puerta del segundo p-tipo dispositivo 96 y del segundo n-tipo dispositivo 102; y 124 entrados está conectado con las puertas del tercer p-tipo dispositivo 98 y del tercer n-tipo dispositivo 104. La operación del circuito ternario 92 de AOI de fig. 4 puede ser descrita brevemente como sigue: Cuando cualquier entrada 120 o 122 está en el nivel 2 de la lógica, el n-tipo respectivo dispositivo 100 o 102 estará encendido, que permite el uso del tercer p-tipo y n-tipo dispositivos 98 y 104, junto como un inversor ternario simple, el inversor ternario positivo o circuito ternario negativo del inversor, dependiendo de los cuales la salida se toma según las reglas siguientes: PTI:

en

114

=

Z.sup.2

sti:

en

116

=

Z.sup.1

nti:

en

118

=

Z.sup.0

el circuito ternario de AOI de fig. 4 será utilizado como puerta de TNAND cuando la entrada 120 estará en el nivel 0 de la lógica. En aquella 'epoca, el primer p-tipo dispositivo 94 será encendido, y el p-tipo dispositivos 96 y 98 junto con el n-tipo dispositivos 102 y 104 formará la puerta de TNAND que da una salida TNAND: en 116 = (Y.multidot.Z).sup.1. Semejantemente, el p-tipo dispositivos 94 y 98 junto con el n-tipo dispositivos 100 y 104 formará una puerta de TNAND si la entrada 122 está en el nivel 0 de la lógica, porque el segundo p-tipo dispositivo 96 estará encendido. En ese caso, la salida de TNAND será TNAND: en 116 = (X.multidot.Z).sup.1. Una puerta de TNOR puede también ser observada, si la entrada 124 está en el nivel 2 de la lógica. Entonces, el p-tipo dispositivos 94 y 96 junto con el n-tipo dispositivos 100 y 102 formará la puerta de SISTEMAS DIGITALES Ŕ CONSULTA #1

50

TNOR porque el p-tipo dispositivo 98 estará apagado, y la salida será TNOR: en 116 = (X + Y).sup.1. Del antedicho, puede ser concluido que la salida 116 realiza la función TAOI: en 116 = (X + Y.multidot.Z).sup.1. Esta misma función se puede también observar por el uso del circuito ternario de AOI de fig. 5. En el circuito de la fig. 5, que se anota semejantemente al circuito ternario de fig. 4 a menos que eso el circuito se señale 93, será observado que, con respecto al circuito ternario 92 de AOI de fig. 4, el tercer p-tipo dispositivo 98 ha sido substituido por el p-tipo dispositivo 99 que fuente está conectada con la conexión común entre el dren del primer p-tipo dispositivo 94 y la fuente del segundo p-tipo dispositivo 96. Asimismo, el primer n-tipo dispositivo 100 del circuito ternario 92 de AOI de fig. 4 ha sido substituido por un primer n-tipo dispositivo 101 en el circuito ternario 93 de AOI de fig. 5, y la fuente del primer n-tipo elemento 101, en este caso, está conectada con la fuente de alimentación negativa 108 en campo común con la fuente del tercer n-tipo dispositivo 104. El circuito ternario 93 de AOI de fig. 5 será utilizado como cualquier inversor si la entrada 122 o 124 está en el nivel 0 de la lógica, como una puerta de TNAND si la entrada 120 está en el nivel 0 de la lógica, y como una puerta de TNOR si cualquier entrada 122 o 124 está en el nivel 2 de la lógica. Sigue que los terminales de salida 114 y 118 se pueden utilizar para realizar salidas positivas y negativas de TNAND y de TNOR, y que si las puertas de TNAND y de TNOR se consideran simplemente como inversores, entonces las relaciones antedichas con respecto a los circuitos ternarios 92 y 93 de AOI se pueden mirar como TNAND simple y salidas simples de TNOR. Por lo tanto, las salidas positivas de TNAND y de TNOR en el terminal 114 pueden ser observadas, como sigue: P tnor

TNAND: de

en p:

en

114 114

= =

(Y.multidot.Z).sup.2 (Y

+

X).sup.2

semejantemente, TNAND negativo y las salidas negativas de TNOR en el terminal 118 pueden ser observados, como sigue: N tnor

TNAND: de

en n:

en

118 118

= =

(Y.multidot.Z).sup.0 (Y

+

X).sup.0

finalmente, otro elemento de lógica básica según esta invención se demuestra en fig. 6, y es un inversor ternario modificado 11 cuál deriva del inversor ternario 10 de fig. 1, a menos que eso la entrada 12 del inversor ternario 10 se divida en un par de terminales complementarios de la entrada las líneas -- o de la palabra -- 13 y 15 señalados respectivamente. En este inversor ternario modificado, será observado que la puerta del p-tipo elemento 20 está conectada con la línea 13 de la entrada o de la palabra, y la puerta del n-tipo elemento 22 está conectada con la línea 15 de la entrada o de la palabra. Sigue habiendo según lo demostrado en el inversor ternario 10 de fig. 1, y se anotan semejantemente los otros elementos del inversor ternario modificado 11 de fig. 6. Elementos ternarios del almacenaje -- sigue de aquí en adelante un descripción de una pluralidad de elementos ternarios del almacenaje, y es después de eso una descripción de los registros de cambio ternarios, de los contadores ternarios y de una leer-solamente-memoria ternaria. Todos los elementos y circuitos de lógica ternarios que siguen se basan en los operadores ternarios de la lógica discutidos SISTEMAS DIGITALES Ŕ CONSULTA #1

51

arriba, y son ejemplares de los circuitos de lógica de funcionamiento típicos, prácticos que se pueden observar de acuerdo con esta invención. El elemento ternario del almacenaje básico que se discute adjunto abarca dos circuitos de STI que se interconecten para formar un tri-fracaso. Una célula ternaria de la al azar-acceso-memoria (TRANVÍA) se puede construir usando este circuito con un interruptor ternario. El interruptor ternario se puede utilizar como medios simples y eficientes de realizar las funciones de la detección y del almacenaje asociadas a la selección de la almacenaje-ce'lula. La fig. 7 demuestra una almacenaje-ce'lula word-organized ternaria cuál abarca dos circuitos 10 de STI, interconectada conectado, con un interruptor ternario simple 126, una línea 128 de la palabra y una línea de datos 130. La dirección de la almacenaje-ce'lula word-organized de fig. 7 es lograda energizando una línea 128 de la palabra por el que el interruptor ternario 126 del tri-fracaso seleccionado se gire. Una célula de memoria trit-organizada que emplea la selección de X-Y puede ser obtenida agregando otro interruptor ternario al circuito de fig. 7 para formar, con el interruptor ternario original 126, el X-Y que trata los alambres. Este circuito se puede utilizar como elemento básico de un arsenal ternario grande de la memoria. El Tri-Fracaso de PZN -- Higo. 8a demuestra que un diagrama de bloque y una fig. 8b demuestra un diagrama esquemático de un tri-fracaso de PZN según esta invención. El tri-fracaso de PZN es construido interconectando dos puertas 32 de TNOR. Puede ser visto que la primera puerta 132 de TNOR tiene tres entradas: una entrada 134 de P para fijar el tri-fracaso al alto nivel 2 de la lógica, una entrada 136 de Z para fijar el tri-fracaso al voltaje cero -- es decir, nivel 1 de la lógica -- y una tercera entrada que se toma de la salida Q en 138 de la segunda puerta 140 de TNOR. La tercera entrada 138 a la primera puerta 132 de TNOR asegura la característica regeneradora del tri-fracaso. La segunda puerta 140 de TNOR también tiene tres entradas: una entrada 142 de N para fijar el tri-fracaso al nivel 0 de la lógica, la misma entrada 136 de Z para fijar el tri-fracaso en el nivel 1 de la lógica, y una tercera entrada 144 tomada de la salida Q.sup.1 144 de la primera puerta 132 de TNOR. Para fijar el tri-fracaso al estado 2 de la lógica, un punto bajo al colmo (0 a 2) pulso se inserta en la entrada 134 de P. La salida 144 de la primera puerta 132 de TNOR estará en el nivel bajo 0, por lo tanto las tres entradas 136, 142 y 138 de la segunda puerta 140 de TNOR estarán en el nivel bajo 0 y su salida estará en el alto nivel, en el estado 2 de la lógica. Esto forzará la salida de la primera puerta 132 de TNOR para permanecer baja en el estado o el nivel 0 de la lógica, que de tal modo mantienen el trifracaso condiciones estables. Bajo estas condiciones, el tri-fracaso se dice para estar en el alto estado. Si, sin embargo, un punto bajo al pulso intermedio (0 a 1) se inserta en el Z entra 136, la salida de la primera puerta 132 de TNOR estará en el nivel cero 1 del potencial o de la lógica, y la otra puerta 140 de TNOR también tendrá su salida en el nivel cero 1 del potencial o de la lógica, que mantendrá el trifracaso su estado estable intermedio. Asimismo, el tri-fracaso de fig. 8 será en su estado estable bajo si un punto bajo al colmo (0 a 2) pulso se inserta en la entrada 142 de N. En este caso, la salida 138 de la segunda puerta 140 de TNOR estará en el estado bajo -- nivel 0 de la lógica -- de modo que la puerta 132 de TNOR tenga tres de sus entradas en el nivel 0 de la lógica y produzca un alto nivel (el nivel de la lógica 2) hizo salir en su terminal de salida 144, que, por supuesto, mantener la segunda puerta 140 de TNOR su nivel bajo y SISTEMAS DIGITALES Ŕ CONSULTA #1

52

mantener

así

el

tri-fracaso

su

estado

estable

bajo.

Tri-Fracaso Registrado de PZN -- Higo. 9 demostraciones un tri-fracaso registrado de PZN que tiene las mismas señales de entrada, y de manera semejante, como el tri-fracaso de PZN discutido arriba referente a fig. 8. Sin embargo, el tri-fracaso registrado de PZN es construido interconectando dos puertas 62 de TNAND y controlando las tres entradas P (134), Z (136), y N (142) con tres puertas adicionales 62 de TNAND. En este caso, el tri-fracaso cambiará estados según lo descrito arriba referente al circuito de fig. 8, pero solamente cuando un punto bajo al colmo (0 a 2) pulso está presente en el terminal 146 de la entrada de reloj. D-Tipo Tri-Fracaso -- el D-tipo tri-fracaso según esta invención puede ser construido fácilmente interconectando dos puertas 62 de TNAND e invirtiendo la entrada de una de ellas que usan un inversor ternario simple 10, según lo ilustrado en forma del circuito del bloque en fig. 10a. En este circuito, la tabla de los siguiente-estados se determina según la tabla III, como sigue: los Siguiente-estados tabulan para el D-tipo tri-fracaso ______________________________________ Q(t) D 2 1 0 ______________________________________ 2 2 2 2 1 1 1 1 0 0 0 0 Q(t + 1) ______________________________________

De la tabla de los siguiente-estados arriba, será visto que hacer salir Q, 148, seguirá la entrada D, 150, en cualquier estado la entrada D puede ser. Por supuesto, el D-tipo tri-fracaso de fig. 10a puede ser reloj controlado por un pulso en la entrada 151, de acuerdo con el diagrama de bloque de un D-tipo registrado tri-fracaso demostrado en fig. 10b. En este caso, un pulso se inserta en las puertas posteriores 62 de TNAND de la entrada 151 a dos que se insertan una en cada uno de las entradas de las puertas interconectadas original de TNAND que forman el tri-fracaso básico. El tri-fracaso registrado de fig. 10b llevará a cabo su estado indefinidamente si ningún pulso aparece en el terminal 151 de la entrada de reloj. Se demuestra en fig. 11a un diagrama de bloque, y en fig. 11b un diagrama esquemático, de un D-tipo amo-esclavo tri-fracaso. En este caso, será visto que el tri-fracaso principal 152 está formado de dos interruptores ternarios ternarios de los inversores 10 y dos que, para los propósitos de la discusión de seguir, se señalen 126 y 127. El tri-fracaso auxiliar 154 se construye semejantemente de dos interruptores ternarios ternarios 126 y 127 de los inversores 10 y dos que estén en la orden reversa a el del tri-fracaso principal 152. Cuando la señal V.sub.c del voltaje del control en los terminales 160 de los interruptores ternarios está en el alto nivel, es decir el nivel 2 de la lógica, los interruptores ternarios 126 será cerrado y los interruptores ternarios 127 estarán abiertos. En esta configuración de circuito, el tri-fracaso principal 152 puede muestrear datos entrantes en el terminal 156 de la entrada, y el tri-fracaso auxiliar 154 llevará a cabo los datos de la entrada anterior en el terminal 156 y alimentará los datos de la entrada anterior al terminal de salida 158. Entonces, cuando la señal de control es baja, en el nivel 0 de la lógica, los interruptores ternarios 126 se abrirá y los interruptores ternarios 127 se cerrará, así permitiendo al tri-fracaso principal 152 llevar a cabo los datos incorporados a él y a la alimentación esos datos al tri-fracaso auxiliar 154. SISTEMAS DIGITALES Ŕ CONSULTA #1

53

T-Tipo Tri-Fracaso -- de manera semejante como un flip-flop de J.sub.k es el elemento binario más importante, así que a está un T-tipo tri-fracaso el elemento más importante del diseño de circuitos secuenciales ternarios. El T-tipo tri-fracaso es construido insertando una puerta que completa un ciclo inversa en una trayectoria de la regeneración entre el Q hizo salir 158 y la entrada 156 de D de un Dtipo tri-fracaso de fig. 11a. Una puerta que completa un ciclo inversa se define, para estos propósitos, como x"= y x'

(x una

puerta =

+ que

completa (x

1) un

ciclo -

MOD

se

define 1)

semejantemente MOD

3 como 3

Está clara en el antedicho, ésa las muestras es adición y muestras aritméticas de la substracción. La fig. 12a demuestra un diagrama de bloque para una puerta que completa un ciclo, y una tabla de verdad para esa puerta que completa un ciclo; y la fig. 12b demuestra un diagrama de bloque y una tabla de verdad para una puerta que completa un ciclo inversa. Será observado que cada circuito incluye un inversor ternario simple 10, un inversor ternario positivo 10a y un inversor ternario negativo 10b; así como la puerta respectiva 62 de TNAND o las puertas 32 de TNOR. El referirse ahora a fig. 13, allí se demuestra un T-tipo amo-esclavo tri-fracaso, teniendo capacidades de P, de Z y de N. En el T-tipo amo-esclavo tri-fracaso de fig. 13, con respecto al tri-fracaso amoesclavo de fig. 11, los inversores 10 de la fig. 11 configuración han sido substituidos por las puertas 32 de TNOR, para que varias entradas puedan estar disponibles. Los pulsos de la entrada de P, de Z y de N a los terminales 134, 136 y 142 son respectivamente iguales según lo mencionado en la discusión del tri-fracaso de PZN de fig. 8, arriba. El funcionamiento del T-tipo amo-esclavo tri-fracaso se precisa en la tabla IV, abajo: los Siguiente-estados tabulan para el T-tipo tri-fracaso ______________________________________ T P Z N Q(t) Q(t + 1) ______________________________________ 2 0 0 0 0 1 2 0 0 0 1 2 2 0 0 0 2 0 2/0 2 0 0 D 2 2/0 0 1 0 D 1 2/0 0 0 2 D 0 0 0 0 0 D Q(t) el otro ______________________________________ de las combinaciones D F

De la tabla antedicha, puede ser visto que cuando se utilizan las entradas de P, de Z o de N, el T entró 162 puede estar en el nivel 2 de la lógica o el nivel 0 de la lógica. Si el diseño del T-tipo amo-esclavo tri-fracaso se modifica para permitir la utilización de las entradas de P, de Z o de N solamente cuando el T entró 162 está en el nivel 0 de la lógica, el tri-fracaso principal 153 se podría formar usando los inversores ternarios simples 10 de fig. 1 en vez de las puertas 32 de TNOR. Asimismo, si el diseño se modifica para permitir la utilización de las entradas de P, de Z o de N solamente cuando el T entró 162 está en el nivel 2 de la lógica, el tri-fracaso auxiliar 155 se podría formar usando los inversores ternarios simples en vez de las puertas 32 de TNOR según lo demostrado. Registros de cambio ternarios -- es obvio ahora que el tri-fracaso registrado de PZN de fig. 9 y del Dtipo tri-fracaso de fig. 10, cada uno descrito arriba, se puede considerar como una etapa de un registro SISTEMAS DIGITALES Ŕ CONSULTA #1

54

de

cambio

ternario

estático.

Un registro de cambio ternario dinámico se puede construir de la manera demostrada en la fig. 14, que demuestra un registro de cambio de dos etapas según la actual invención. Cada uno de las etapas 164 y 166 abarca dos interruptores ternarios ternarios simples 126 de los inversores 10 y dos. Cada uno de los interruptores ternarios es controlado por dos señales complementarias V.sub.c del reloj en los terminales 160 y V.sub.c.sup.1 en los terminales 168. Así, cuando se giran los interruptores ternarios alternos, los otros interruptores ternarios se dan vuelta apagado y viceversa. El registro de cambio utilizará la capacitancia de la entrada del inversor ternario simple 10 para el almacenamiento temporal. Por consiguiente, cuando una señal se inserta en el terminal 170 de la entrada, y el primer interruptor ternario se gira, la señal se junta al primer inversor ternario 10. En la señal siguiente del reloj, el primer interruptor ternario se da vuelta apagado y se gira el segundo interruptor ternario encendido, para juntar la señal en el primer inversor ternario simple 10 al segundo inversor ternario simple, y tan. Por lo tanto, cuando el primer interruptor ternario de cada etapa del registro de cambio se gira, junta la señal de la etapa anterior en el registro de cambio (o de la entrada en el caso de la primera etapa), y causas que señal de ser almacenado en la capacitancia de la entrada del inversor ternario simple. Cuando el primer interruptor ternario de cada etapa se da vuelta apagado en el medio ciclo siguiente del tren del reloj, y el segundo interruptor ternario de cada etapa se gira, la señal se almacena en la capacitancia de la entrada del primer inversor ternario y está disponible y se junta a través del segundo interruptor ternario al segundo inversor ternario de cada etapa respectiva. De nuevo, la señal se aplica a y se almacena en la capacitancia de la entrada del segundo inversor ternario, que de tal modo las marcas que señalan disponible en la salida de esa etapa o, en el caso de la etapa pasada, en el terminal de salida 172. Obviamente, la descripción antedicha se puede continuar para un registro de cambio ternario de la etapa múltiple, irregardless de si o no el nivel de la señal de entrada en el terminal 170 de la entrada está en el nivel 0, 1 o 2 de la lógica. La señal ternaria ninguna materia en qué nivel se inserta en el terminal de la entrada, es cambiado de puesto a la derecha por una etapa completa por un ciclo de reloj completo, y aparece en la entrada de cada etapa de manera semejante mientras que primero fue insertado, siendo invertido dos veces en la etapa precedente. Se ha observado que, como consideración práctica, hay una frecuencia mínima en la cual el registro de cambio dinámico puede funcionar debido a la dependencia de la carga almacenada en la capacitancia de la entrada de cada inversor ternario, y obviamente que la carga almacenada está conforme a decaimiento. La operación confiable, usando las virutas complementarias del semiconductor del Cmos (o COS/MOS) referidas arriba, se puede obtener en las frecuencias de hasta sólo 100 hertzios. Contadores ternarios -- un contador ternario del anillo puede ser construido conectando en cascada el D-tipo amo-esclavo tri-fracasos y retroactuando la salida de la etapa pasada a la entrada de la primera etapa. El contador ternario del anillo puede, por supuesto, tener cualquier número integral específico de etapas. En cada pulso, del punto bajo al colmo (el nivel 0 de la lógica al nivel de la lógica 2), a la información que se almacena en cada etapa o el tri-fracaso -- cada uno de las cuales puede ser preestablecido por su P, entradas de Z o de N -- será cambiado de puesto una posición a la izquierda, y al trit significativo extremo izquierdo será cambiado de puesto al primer tri-fracaso. Así, referente a fig. 15, se demuestra un contador ternario cuál se diseña para contar a partir la 0 a 27, o a partir la -13 a +13. El contador ternario se forma de tres etapas 174, cada uno de las cuales consiste en un T-tipo amo-esclavo tri-fracaso de la clase demostrada en fig. 13 y discutida arriba. En general, el SISTEMAS DIGITALES Ŕ CONSULTA #1

55

contador ternario de fig. 15 se puede diseñar para contar a partir de la 0 a 3.sup.n usando un código ternario normal o de -(3.sup.n -1)/2 a +(3.sup.n -1)/2, usando el código firmar-ternario. Por supuesto, en cada caso, n es el número de etapas del contador ternario. En el código firmar-ternario, el número +1 es representado por una señal del alto nivel (positivo, o el nivel de la lógica 2); 0 se representa en el nivel intermedio (el nivel cero del potencial o de la lógica 1); y -1 por la señal del nivel bajo (nivel 0 de la negativa o de la lógica). Según lo visto en fig. 15, un inversor ternario negativo 10b conecta la entrada de cada etapa 174 del trifracaso con la salida de la etapa precedente. La función del inversor ternario negativo 10b es cambiar el estado del tri-fracaso solamente cuando el estado del tri-fracaso precedente cambia de colmo al nivel bajo. Esto es indicada por la relación siguiente: T.sub.n

=

Q.sup.0.sub.n-1

donde T.sub.n representa la entrada de la etapa de n.sup.th y del Q.sub.n-1 representa la salida de la etapa de n-1.sup.th del contador ternario. Para reajustar opuestamente a su estado inicial, un punto bajo al alto pulso (el nivel 0 de la lógica al nivel de la lógica 2) se inserta en la N entró 176 que va a la entrada 142 de N de cada uno de las etapas 174 del tri-fracaso, si se utiliza el código ternario normal. Así, todas las etapas 174 del tri-fracaso estarán en el nivel bajo para representar el número decimal cero. Si, en el contador ternario de fig. 15, se utiliza un código firmar-ternario, un punto bajo al pulso intermedio (el nivel 0 de la lógica al nivel de la lógica 1) se inserta a través de las entradas 136 de Z de cada uno de las etapas 174 del tri-fracaso, de modo que todos los tri-fracasos estén en el nivel intermedio para representar el número decimal cero. Obviamente, el contador se puede también preestablecer a cualquier número inicial a través de las entradas de P, de Z o de N de cada uno de los tri-fracasos. Para cada punto bajo al alto pulso (0 llano al nivel 2) enviado a través de la entrada de reloj 178, el contador funcionará y los tri-fracasos cambiarán estados de la manera precisada abajo en la tabla V. Estados de tri-fracasos en el contador ternario de fig. 15. los Tri-fracasos del __________________________________________________________________________ hacen salir decimal decimal no del __________________________________________________________________________ ternario firmado represen- ternario Normal 0 del tation Q.sub.3 Q.sub.2 Q.sub.1 del tation Q.sub.3 Q.sub.2 Q.sub.1 de los pulsos del código del código del represen- de la entrada del número del número 0 0 0 0 -13 -1 -1 -1 1 1 0 0 1 -12 -1 -1 0 2 2 0 0 2 -11 -1 -1 +1 3 3 0 1 0 -10 -1 0 -1 4 4 0 1 1 -9 -1 0 0 5 5 0 1 2 -8 -1 0 +1 6 6 0 2 0 -7 -1 +1 -1 7 7 0 2 1 -6 -1 +1 0 8 8 0 2 2 -5 -1 +1 +1 9 9 1 0 0 -4 0 -1 -1 10 10 1 0 1 -3 0 -1 0 11 11 1 0 2 -2 0 -1 +1 12 12 1 1 0 -1 0 0 -1 13 13 1 1 1 0 0 0 0 14 14 1 1 2 1 0 0 +1 15 15 1 2 0 2 0 +1 -1 16 16 1 2 1 3 0 +1 0 17 17 1 2 2 4 0 +1 +1 18 18 2 0 0 5 +1 -1 -1 19 19 2 0 1 6 +1 -1 0 20 20 2 0 2 7 +1 -1 +1 21 21 2 1 0 8 +1 0 -1 22 22 2 1 1 9 +1 0 0 23 23 2 1 2 10 +1 0 +1 24 24 2 2 0 11 +1 +1 -1 __________________________________________________________________________ SISTEMAS DIGITALES Ŕ CONSULTA #1

56

25 25 2 2 1 12 +1 +1 0 26 26 2 2 2 13 +1 +1 +1

Referente a la discusión antedicha, debe ser observado que puesto que todos los tri-fracasos del contador, a menos que el primer tri-fracaso, se pueden reajustar cuando sus entradas están en los niveles bajos o altos, el amo o el tri-fracaso del esclavo de cada etapa no se puede construir usando los inversores ternarios simples según lo discutido arriba referente a un arreglo alternativo de los circuitos amo-esclavo de fig. 13, sino que cada tri-fracaso 153 y 155 del amo y del esclavo respectivamente de cada esclavo se debe construir usando las puertas 32 de TNOR para tener las entradas adicionales requeridas para reajustar o preestablecer propósitos. Puede también ser observado que abajo un contador ternario que puede contar de 3.sup.n a cero o de +(3.sup.n -1)/2 a -(3.sup.n -1)/2 puede ser construido fácilmente simplemente substituyendo la puerta que completa un ciclo inversa 180 del arreglo del circuito de fig. 13 por una puerta que completa un ciclo, y substituyendo los inversores ternarios negativos 10b entre las etapas por el inversor ternario positivo seguido por un inversor ternario simple. A dividir-por-M el contador ternario -- que es un alogous a a dividir-por-N contador binario -- se demuestra en fig. 17. En este caso, el contador ternario de fig. 15 se ensambla junto con un circuito de la regeneración que incluya una puerta 62a de TAND que tiene un número de entradas que sea igual al número de etapas en el contador. Cada entrada de la puerta 62a de TAND viene de un circuito aritmético de J.sub.k que se monte en la salida Q de cada etapa 174 del tri-fracaso. La salida de la puerta 62a de TAND se utiliza para reajustar opuestamente a su estado inicial después de un número de pulsos tomados de cada uno de los circuitos aritméticos 180 de J.sub.k. Cada uno de las salidas de los circuitos aritméticos 180 de J.sub.k puede ser J.sub.0 (en 177), J.sub.1 (en 179) o J.sub.2 (en 181). El circuito aritmético de J.sub.k es definido por la relación siguiente: ## del ## EQU2 donde k = 0, 1 o 2; y se demuestra en fig. 16. Pues un ejemplo del diseño de un contador ternario de la década, de las salidas J.sub.0, de J.sub.0 y de J.sub.1 será tomado de los circuitos aritméticos 180 de J.sub.k montados en los primeros, el segundo y tercer tri-fracaso efectúa 174 respectivamente, yendo de derecho a la izquierda en fig. 17. Dividir-porM contador ternario puede ser programado para contar cualquier número M a partir de la 0 a 3.sup.n donde está el número n de las etapas del contador. Un circuito del cierre se agrega en la trayectoria de la regeneración demostrada en fig. 17, y abarca los circuitos cruz-conectados 32 de TNOR, junto con un inversor ternario simple 10 de la entrada de reloj 178 con la salida de las puertas cruz-conectadas de TNOR y de la N entradas a una puerta 32a del TOR. Esto asegura el claro confiable del contador en el pulso de M.sup.th cuál no puede de otra manera ser confiable si la propagación retrasa de la entrada de N a la salida del tri-fracaso varía de etapa a la etapa. Esta variación puede ocurrir si las salidas contrarias se cargan irregularmente. Se ha encontrado, en la práctica, que la buena operación puede ser obtenida cuando la anchura del pulso en el terminal 78 de la entrada de reloj está en la gama de 70 a 370.mu. sec. La puerta 62a de TAND y el TOR bloquean 32a derivado de la puerta 62 de TNAND y de la puerta 32 de TNOR, respectivamente, pero con no-invertido (doble-invertido) hecho salir según lo discutido arriba. Leer-Solamente-Memoria ternaria -- una leer-solamente-memoria ternaria (TROM) consiste en SISTEMAS DIGITALES Ŕ CONSULTA #1

57

ordinariamente un decodificador ternario seguido por un codificador ternario, que es la matriz de la memoria. La fig. 18 demuestra un decodificador ternario que tiene entradas de N y salidas 3.sup.N. Este decodificador se compone de los circuitos aritméticos 180 de N J.sub.k de la clase referida arriba, de cada uno que tiene J.sub.0, de las salidas J.sub.1 y J.sub.2. El circuito también abarca las puertas 62 de 3.sup.n TNAND y los circuitos ternarios simples 10 del inversor 3.sup.n. Todas las líneas 13 y 15 de la palabra estarán en el nivel bajo a excepción de el que fue señalado en las entradas. Tomarán el valor definido cerca: Multidot W.sub.i = J.sub.K.sbsb.1 (X.sub.1). J.sub.K.sbsb.2 (X.sub.2). . . J.sub.K.sbsb.N (X.sub.N) donde i=K.sub.1 3.sup.0 + K.sub.2 3.sup.1 +. . . + K.sub.N 3.sup.N-1, y K.sub.1, K.sub.2. . . K.sub.N puede tomar los valores de 0, 1 o 2, W.sub.i es la palabra-li'nea, y X.sub.1, X.sub.2. . . X.sub.N son las entradas de N. El elemento básico de la matriz ternaria de la memoria es, por supuesto, el inversor ternario modificado (MTI) 11 de la fig. 6, que fue discutida arriba. Referente al MTI 11 de fig. 6, si la linea de entrada 15 conectada con la puerta del n-tipo elemento 22 es alta, el n-tipo elemento 22 estará encendido y el p-tipo elemento 20 también estará encendido porque la trabajar-li'nea 13 será baja. Por lo tanto, el MTI 11 de fig. 6 actuará exactamente como inversor ternario cuando su entrada está en el potencial cero (nivel de la lógica 1). La salida del terminal 16 será alta (en el nivel de la lógica 2), la salida del terminal 18 será bajo (en el nivel 0 de la lógica) y la salida del terminal 14 estará en el nivel intermedio (nivel de la lógica 1). Si la palabra-li'nea 15 es baja, cada uno del p-tipo y del n-tipo elementos 20 y 22 estará apagado, y el inversor ternario modificado 11 actuará como si fuera un circuito abierto. El referirse ahora a fig. 19, allí se demuestra un codificador ternario de la leer-solamente-memoria (TROM), teniendo las entradas 3.sup.n y salidas de m. El codificador de TROM de fig. 18 abarca times de m. células de memoria de 3.sup.n MTI 11. Puesto que solamente uno de las palabra-li'neas 15 será alto, y todo el otro las palabra-li'neas 15 serán bajas, en cada columna habrá solamente una célula 11 de MTI encendido y todas las otras células de MTI estarán apagadas, es decir apareciendo ser circuitos abiertos. Por lo tanto, un alambre O una puerta de todas las células de MTI de cada columna se puede hacer sin ningún problema. Cada trit-li'nea será 2, 1 o 0 dependiendo de cómo la salida de la única célula energizada 11 de MTI en cada columna se toma de su terminal de salida respectivo 16, 14 o 18. Las salidas en las trit-li'neas tendrán los valores de: Y.sub.i = W.sub.1 + W.sub.2 +. . . + W.sub.3 donde i = 1, 2. . . M y.sub.i son las trit-li'neas y SISTEMAS DIGITALES Ŕ CONSULTA #1

58

W.sub.1, W.sub.2. . . W.sub.3 N son las salidas de las células de MTI energizadas por las palabrali'neas W.sub.1, W.sub.2. . . W.sub.3 N respectivamente. La salida Y.sub.i podría ser inestable si la entrada W.sub.i estaba en el potencial cero (el estado de la lógica 1), solamente la entrada W.sub.i es una palabra-li'nea ouput de un decodificador ternario, viniendo de los circuitos aritméticos 180 de J.sub.k de fig. 16, y las salidas de estos circuitos nunca están en el estado 1 de la lógica. T-Puerta -- una T-puerta 184 se demuestra en fig. 20, y es un 4-input (x.sub.0, x.sub.1, x.sub.2, S) la puerta que salida asume el valor>

Señales ternarias Las señales ternarias de la entrada y de salida pueden asumir uno de tres niveles. Por lo tanto tienen más ' contenido de información ' que señales binarias. La figura siguiente demuestra la señal ternaria a = [ 2 1 0 1 1 0 2 0 2 2 1 2 0 1 0 2 ].

La figura siguiente de entrada ternarias ' a

que

ejecuta

la

demuestra las señales ' y ' b ' y la señal de

función

ternaria

'

ter

'

de

la

sali da ter nar ia ' c ' de un dis pos itiv o de lóg ica ter nar io lógica.

SISTEMAS DIGITALES Ŕ CONSULTA #1

59

Esto demuestra cómo aplicar lógica no-binaria. Tenga presente que los valores 0, 1 y 2 son asignados por nosotros y no son inherentes a la lógica ternaria. Pueden por ejemplo ser -1, 0 y +1, que es útil en equilibrio el componente de la C.C. de las señales, sin cambiar la esencia de las funciones de la lógica. El mismo acercamiento se puede aplicar a otras lógicas no-binarias, tales como lógica 4-value. El número de las funciones posibles de la lógica 4-value es alrededor 4 mil millones. Inversores de la lógica del Multi-valor Puede parecerse que la lógica del multi-valor es similar a la lógica binaria apenas con más estados y funciones. Mientras que esto está en la parte verdad no haría caso de características fundamental diversas de la lógica del multi-valor comparadas a la lógica binaria. No es el propósito de este Web page proporcionar un análisis profundizado de la lógica del multi-valor. Sin embargo un aspecto que debe ser precisado es el uso de la inversión del estado (o valor) en lógica del multi-valor. En la lógica binaria cada uno de los dos estados ' 0 ' y ' 1 ' tiene una inversión. La inversión de ' 0 ' es ' 1 ' y la inversión de ' 1 ' es ' 0 '. Cada estado tiene el otro como su inversión. Esto es por supuesto no posible en lógica no-binaria. Un acercamiento aritmético a los inversores en una lógica m-valorada en la literatura es proporcionado por el fórmula: x = (m-1) y En este fórmula y es el valor ' original ' y x es el valor ' invertido ' de y. Mucha de la literatura utiliza este acercamiento y usted verá en muchos artículos que x = [ 2 1 0 ] está utilizado como el inversor ternario estándar de y = [ 0 1 2 ]. Hay varios aspectos insatisfactorios a esta definición, aquí es tres de ellos: los estados de la lógica del a. se están definiendo en base de valores asignados el b. no cada estado ternario se puede ' invertir ' en otro estado ternario este inversor de la c. está de uso limitado

En lógica ternaria hay tres estados, que nombramos ' 0 ', ' 1 ' y ' 2 '. La inversión del estado ' 0 ' puede ser ' 1 ' o ' 2 '. La inversión más útil es una que puede ser invertido. Por ejemplo la inversión de ' 0 ' puede ser ' 2 ' y la inversión de ' 2 ' puede ser ' 0 '. Ese hojas ' 1 ' a tener sí mismo como inversión. La inversión de la señal a=[0 1 2] entonces sería a'=[2 1 0]. Y la inversión del ' es a''=[0 1 2 ]. Otra inversión ternaria es adonde ' 0 ' se invierte a ' 1 ', ' 1 ' se invierte a ' 2 ' y ' 2 ' se invierte a ' 0 '. La señal ternaria a=[0 1 2] tiene entonces como su inversión a'=[1 2 0]. La inversión del ' es a''=[2 0 1 ] y la inversión de un '' es a'''=[0 1 2 ]. SISTEMAS DIGITALES Ŕ CONSULTA #1

60

La inversión del término en este contexto es un pedacito problemático. Somos todos familiares con la inversión como concepto en teoría de la aritmética y del número. En teoría del número la inversión está conectada directamente con el elemento de cero o de la "falta de información". Su existencia es uno de los axiomas para un campo en un grupo abelian bajo adición. Eso significa que un elemento ' x ' tiene como inversión un elemento ' - x ' tales que además: (x) + (- x) = 0. Porque aplicamos lógica para ejecutar operaciones aritméticas tales como adición hay oportunidad amplia de mezclar y de confundir conceptos en lógica y aritmética. No obstante en lógica podemos definir una inversión reversible como transformación del estado, con tales características que un estado transformó por lo menos 2 veces consecutivas por una inversión alcanzarán su estado original. La lógica ternaria tiene 6 inversores reversibles (identidad incluyendo). Esto ofrece una oportunidad para ejecutar ciertas operaciones que no se puedan hacer en lógica binaria, relacionado especialmente con revolver de señales y de la generación de secuencias no-binarias con algunas características muy específicas. Éstos y otros usos son temas de patentes pendientes con la oficina de la patente y de la marca registrada de los E.E.U.U.. En lógica general del multi-valor o lógica no-binaria se coloca como tecnología que pueda ejecutar funciones aritméticas más rápidamente y con menos interconexión que lógica binaria. Fomente un almacenaje de datos no-ma's binario requeriría menos espacio físico que datos binarios. Esto es especialmente importante pues estamos comenzando a distinguir en el futuro las limitaciones de la lógica binaria en silicio. Incluso antes de que vemos la puesta del sol de la tecnología binaria del silicio estamos funcionando ya en otros apremios de capacidad, tales como limitaciones de la anchura de banda y del espectro disponibles en cable y comunicaciones sin hilos, almacenaje de datos, el proceso de señales ruidosas, el watermarking y otros requisitos orientados del proceso de señal. El uso de las señales numéricas (nobinarias) del multi-valor puede proporcionar la relevación considerable de los apremios de capacidad. La aplicación de lógica del multi-valor al proceso de las señales numéricas del multi-valor puede también mejorar grandemente la calidad y el coste de proceso de la señal numérica del multi-valor. Bastante proceso de la señal numérica del multi-valor se puede hacer extraño en lógica binaria, procesando los símbolos del multi-valor como palabras binarias. Este principio, pozo documentado pero sabido no generalmente, se aplica en por ejemplo la línea codificación para la transmisión digital. En los años 80 vimos el aspecto de los códigos 4B3T. En este esquema de la li'nea-codificacio'n una palabra binaria de 4 pedacitos se traduce a una palabra ternaria de 3 elementos ternarios. Aunque la transmisión ocurre en símbolos ternarios, todo el proceso tal como revolver y descrambling actualmente se hace en lógica binaria. La gran desventaja de este acercamiento es el requisito para la sincronización de la palabra, cifrando gastos indirectos y manteniendo ofertas corrientes de Digital de la suma de una li'nea-codificacio'n del Multi-valor un uso creciente inmediato de la anchura de banda y vale claramente el coste de procesar símbolos ternarios como palabras binarias.

Las puertas, los interruptores y la física No es infrecuente oír a gente afirmar que las limitaciones de MVL son causadas por la carencia de los interruptores físicos del multi-valor. Aparece ser una cierta verdad a eso. Pero contrario a la creencia popular no necesitamos un cierto nuevo mecanismo físico exótico de la conmutación realizar funciones ternarias o multi-valued de la lógica. Hay suficientes mecanismos electrónicos sabidos para construir SISTEMAS DIGITALES Ŕ CONSULTA #1

61

cualquier función multi-valued requerida de la lógica aplicando un número limitado de puertas. Recientemente se ha inventado la nueva tecnología (por ejemplo SUS-LOC) que permite la puesta en práctica directa de los inversores del multi-valor en silicio estándar del Cmos. SUS-LOC fue inventado y patentado por Dan Olson como la patente 6.133.754 de USPTO. Olivier Sentieys y su grupo en la universidad de Rennes ha aplicado esta tecnología en diseñar un procesador ternario básico de la señal numérica. Una búsqueda en el Web también en bases de datos de la patente tales como el USPTO ' s proporcionará una gama entera de realizaciones físicas posibles de los interruptores de MVL.

El

cierre

multi-valued

Cualquier persona que ha diseñado un circuito de lógica sabe que a veces el trazado de circuito secuencial está requerido. Éstos vienen generalmente en la forma de flip-flop o de cierres. La parte interesante sobre los cierres es que trabajan debido a las funciones de conmutación aplicadas (tales como NAND), no debido a la tecnología que cambia seleccionada. Esto plantea entonces la pregunta cómo las funciones de conmutación de MVL tienen que ser seleccionadas y ser configuradas realizar un cierre de MVL. Resulta que el cierre de MVL es una extensión del cierre binario. Pero es una extensión algo inesperada. Uno puede crear afortunadamente realmente el elemento de la memoria de MVL usando pocos elementos de la conmutación. Estas configuraciones se pueden ver en uno de mis usos de patente. La configuración actual o clásica del cierre se selecciona como ejemplo porque está en la misma clase que los cierres binarios. La figura siguiente demuestra una configuración de un cierre 4-valued. Se abarca de 4 dispositivos idénticos ' latch4 ' de la conmutación 4-valued, configurado en la conexión de la regeneración. El circuito tiene 4 entradas, In_1, In_2, In_3 e In_4. La salida fuera del segundo dispositivo se utiliza como la salida del cierre completo.

La tabla de verdad 4latch4 ' se proporciona siguiente.

valued del dispositivo ' en la tabla de verdad

SISTEMAS DIGITALES Ŕ CONSULTA #1

62

La manera que este cierre funciona es como sigue: las entradas [ In_1 In_2 In-3 In_4 ] pueden asumir los valores siguientes [ 0 3 3 3 ]; [ 3 0 3 3 ]; [ 3 3 0 3 ]; [ 3 3 3 0 ] y [ 3 3 3 3 ]. La La La La La

entrada entrada entrada entrada entrada [

[ [ [ [ 3

0 3 3 3 3

3

3 0 3 3 3

]

3 3 0 3 genera

3 3 3 0 fuera

de

] ] ] ] =

genera genera genera genera anterior hacia

Out=0; Out=1; Out=2; Out=3; fuera;

Este cierre requiere claramente el trazado de circuito de la traducción transformar a para ser valor conservado de la entrada en una combinación de 0 y de 3s. La salida del segundo dispositivo se selecciona como sistema hacia fuera, porque en esta salida se genera una salida no invertida, con respecto a la entrada. El estado de la entrada [ 3 3 3 3 ] es el estado neutral. Se conserva eso los medios cuando las entradas se cambian a ese estado, la salida generada por el estado anterior de la entrada. Se identifican usando un modelo de la conmutación y se seleccionan el estado neutral y los estados de la entrada porque permite la conmutación de apenas una entrada al hilo neutro. Uno puede cambiar de [ 3 0 3 3 ] [ 3 3 3 3 ] apenas cambiando el estado en uno a entrado. Uno puede cambiar de [ 3 0 3 3 ] a por ejemplo [ 3 3 3 0 ] sin efectos nocivos. El valor de la salida hacia fuera apenas cambiará a partir la 1 a 3 con algunos estados intermedios inciertos. Sin embargo el sistema se estabilizará en el valor requerido del final. Es posible encontrar las funciones de conmutación que tienen salidas estables con una diferencia más grande que 1 estado entre las entradas. Físicamente ese medios que varios valores de la entrada tienen que cambiar en el mismo tiempo. La falta de cambiar de una manera exactamente síncrona al estado neutral puede crear estados intermedios estables indeseados, y trastornó el funcionamiento del ' cierre '. Uno puede reconocer fácilmente el cierre binario estándar en esto. De una manera el resultado es algo decepcionante porque requiere un número excesivo de los dispositivos de la conmutación. Uno puede crear afortunadamente una dos-funcio'n e incluso dispositivos mucho más compactos de la unofuncio'n MVL con la regeneración para realizar elementos de la memoria de MVL. Se relaciona con diseñar los cierres de MVL un modelo de la conmutación que será necesario encontrar las funciones apropiadas de MVL. Se ha divulgado en uno de mis usos de patente. ¿Qué puede usted hacer con él? ¿Materia interesante este MVL, pero puede usted hacer algo útil con él? ... uno puede por ejemplo crear sí los desmoduladores, los descramblers, los generadores de la secuencia y los detectores multi-valued de la secuencia con las herramientas aquí proporcionadas. Está más allá del alcance de esta página para explicar las intrincaciones de LFSRs. No obstante una presentación de uno mismo-funcionamiento de Powerpoint puede ser descargada, ésa contiene los ejemplos encajados de VB que aplican MVL. Usted puede descargarla chascando aquí. Si usted no tiene Powerpoint usted puede descargar un espectador libre de aquí. Desafortunadamente el espectador no activa las macros de VBA. Para funcionar los programas reales de VBA usted tendrá que ' permitir a las macros. SISTEMAS DIGITALES Ŕ CONSULTA #1

63

El screenshot siguiente demuestra uno de los programas reales. Demuestra los generadores de una secuencia 4-valued y el descrambler modificado 4-valued para crear el detector, incluyendo las tablas de verdad. También demuestra cómo ' se limpia con un chorro de agua ' el LFSR.

Se relampaga el archivo. Para funcionar los desmoduladores y los descramblers reales usted debe desabrocharlo y permitir a las macros.

SISTEMAS DIGITALES Ŕ CONSULTA #1

64

LOGICA DIFUSA En la lógica clásica una proposición sólo admite dos valores: verdadero o falso. Por ello se dice que la lógica usual es bivalente o binaria. Existen otras lógicas que admiten además un tercer valor posible (lógica trivaluada) e incluso múltiple valores de verdad (lógica multivaluada). En la lógica clásica una proposición sólo admite dos valores: verdadero o falso. Por ello se dice que la lógica usual es bivalente o binaria. Existen otras lógicas que admiten además un tercer valor posible (lógica trivaluada) e incluso múltiple valores de verdad (lógica multivaluada). La lógica aristotélica sirve para explicar ciertos fenómenos y problemas, aunque la gran mayoría de ellos enmarcados en el mundo teórico de la matemática. Por el contrario, la lógica difusa puede usarse para explicar el mundo en el que vivimos, puesto que sigue el comportamiento humano de razonar, sacando conclusiones a partir de hechos observados. La lógica borrosa es una rama de la inteligencia artificial que se funda en el concepto "Todo es cuestión de grado" , lo cual permite manejar información vaga o de difícil especificación si quisiéramos hacer cambiar con esta información el funcionamiento o el estado de un sistema especifico. Es entonces posible con la lógica borrosa gobernar un sistema por medio de reglas de 'sentido común' las cuales se refieren a cantidades indefinidas. Las reglas involucradas en un sistema borroso, pueden ser aprendidas con sistemas adaptativos que aprenden al ' observar ' como operan las personas los dispositivos reales, o estas reglas pueden también ser formuladas por un experto humano. En general la lógica borrosa se aplica tanto a sistemas de control como para modelar cualquier sistema continuo de ingeniería, física, biología o economía. La lógica borrosa es entonces definida como un sistema matemático que modela funciones no lineales, que convierte unas entradas en salidas acordes con los planteamientos lógicos que usan el razonamiento aproximado. La lógica difusa ha cobrado una fama grande por la variedad de sus aplicaciones, las cuales van desde el control de complejos procesos industriales, hasta el diseño de dispositivos artificiales de deducción automática, pasando por la construcción de artefactos electrónicos de uso doméstico y de entretenimiento, así como también de sistemas de diagnóstico. La expedición de patentes industriales de mecanismos basados en la lógica difusa tiene un crecimiento sumamente rápido en todas las naciones industrializadas del orbe. Las lógicas difusas, pues de hecho hay que hablar de ellas en plural, son esencialmente lógicas multivaluadas que extienden a las lógicas clásicas las cuales deben su nombre a que imponen a sus enunciados únicamente valores falso o verdadero. Bien que las lógicas clásicas han modelado satisfactoriamente a una gran parte del razonamiento ``natural'', es cierto que el razonamiento humano utiliza valores de verdad que no necesariamente son ``deterministas''. Por ejemplo, al calificar que ``el cielo es azul'' uno está tentado a graduar qué tan ``azul'', en efecto, es el cielo, e igualmente, si ``un vehículo se mueve rápido'', también se está obligado a considerar qué tan rápido es el vehículo, aunque esto último no implique necesariamente cuantificar la velocidad del vehículo con toda precisión. Las lógicas difusas tratan de crear aproximaciones matemáticas en la resolución de ciertos tipos de problemas. Pretenden producir resultados exactos a partir de datos imprecisos, por lo cual son particularmente útiles en aplicaciones electrónicas o computacionales. El adjetivo ``difuso'' aplicado a estas lógicas se debe a que en ellas los valores de verdad nodeterministas utilizados tienen, por lo general, una connotación de incertidumbre. Un vaso medio lleno, independientemente de que también esté medio vacío, no está lleno completamente ni está vacío completamente. Qué tan lleno puede estar es un elemento de incertidumbre, es decir, de difusidad, entendida esta última como una propiedad de indeterminismo. Ahora bien, los valores de verdad asumidos por enunciados aunque no son deterministas, no necesariamente son desconocidos. Por otra parte, desde un punto de vista optimista, lo difuso puede entenderse como la posibilidad de asignar más SISTEMAS DIGITALES Ŕ CONSULTA #1

65

valores de verdad a los enunciados que los clásicos ``falso'' o ``verdadero''. Consecuentemente, las lógicas difusas son tipos especiales de lógicas multivaluadas. Se ha considerado de manera general que la lógica difusa se inició en 1965, en la Universidad de California en Berkeley por Lotfi A. Zadeh ([17]). En esta presentación haremos énfasis en el carácter multivaluado de las lógicas difusas. Introduciremos primero la noción de conjunto difuso, y las operaciones usuales en ese tipo de conjuntos. Inmediatamente después, presentaremos ciertos tipos de cálculos proposicionales de tipo difuso y concluiremos con algunos esquemas de deducción automática basados en lógicas difusas. Se fundamenta en los denominados conjuntos borrosos y un sistema de inferencia borroso basado en reglas de la forma " SI....... ENTONCES...... ", donde los valores lingüísticos de la premisa y el consecuente están definidos por conjuntos borrosos, es así como las reglas siempre convierten un conjunto borroso en otro. La lógica multivaluada incluye sistemas lógicos que admiten varios valores de verdad posibles. La lógica difusa (o borrosa) es una de ellas, que se caracteriza por querer cuantificar esta incertidumbre: Si P es una proposición, se le puede asociar un número v(P) en el intervalo [0,1] tal que:  Si v(P) = 0, P es falso.  Si v(P) = 1, P es verdadero.  La veracidad de P aumenta con v(P). Salta a la vista la semejanza con la teoría de la probabilidad, aunque la lógica difusa y esta última teoría persiguen fines distintos. La lógica borrosa o difusa se basa en el principio de "Todo es cuestión de grado". Así, por ejemplo, una persona que mida 2 metros es claramente una persona alta (es alta con grado 1) y una persona que mida 1 metro no es una persona alta en absoluto (es alta con grado 0). De forma intermedia podemos decir que una persona que mida 1,82 m es alta con grado 0,75 indicando que es "bastante alta", teniendo en cuenta que la persona en cuestión sea masculina. De este ejemplo puede extraerse fácilmente que la lógica y la teoría de conjuntos son isomorfismos matemáticos. Por el contrario, la lógica clásica sólo definiría si la persona es alta o no, definiendo la diferencia entre pertenecer a un grupo u otro un simple centímetro. La lógica aristotélica sirve para explicar ciertos fenómenos y problemas, aunque la gran mayoría de ellos enmarcados en el mundo teórico de la matemática. Por el contrario, la lógica difusa puede usarse para explicar el mundo en el que vivimos, puesto que sigue el comportamiento humano de razonar, sacando conclusiones a partir de hechos observados. La lógica multivaluada incluye sistemas lógicos que admiten varios valores de verdad posibles. La lógica difusa (o borrosa) es una de ellas, que se caracteriza por querer cuantificar esta incertidumbre: Si P es una proposición, se le puede asociar un número v(P) en el intervalo [0,1] tal que:  Si v(P) = 0, P es falso.  Si v(P) = 1, P es verdadero.  La veracidad de P aumenta con v(P). Salta a la vista la semejanza con la teoría de la probabilidad, aunque la lógica difusa y esta última teoría persiguen fines distintos. La lógica borrosa o difusa se basa en el principio de "Todo es cuestión de grado". Así, por ejemplo, una persona que mida 2 metros es claramente una persona alta (es alta con grado 1) y una persona que mida 1 metro no es una persona alta en absoluto (es alta con grado 0). De forma intermedia podemos decir que una persona que mida 1,82 m es alta con grado 0,75 indicando que es "bastante alta", teniendo en cuenta que la persona en cuestión sea masculina. De este ejemplo puede extraerse SISTEMAS DIGITALES Ŕ CONSULTA #1

66

fácilmente que la lógica y la teoría de conjuntos son isomorfismos matemáticos. Por el contrario, la lógica clásica sólo definiría si la persona es alta o no, definiendo la diferencia entre pertenecer a un grupo u otro un simple centímetro. Un tipo de lógica que reconoce más que simples valores verdaderos y falsos. Con lógica difusa, las proposiciones pueden ser representadas con grados de veracidad o falsedad. Por ejemplo, la sentencia "hoy es un día soleado", puede ser 100% verdad si no hay nubes, 80% verdad si hay pocas nubes, 50% verdad si existe neblina y 0% si llueve todo el día. La Lógica Difusa ha sido probada para ser particularmente útil en sistemas expertos y otras aplicaciones de inteligencia artificial. Es también utilizada en algunos correctores de voz para sugerir una lista de probables palabras a reemplazar en una mal dicha. La Lógica Difusa, que hoy en día se encuentra en constante evolución, nació en los años 60 como la lógica del razonamiento aproximado, y en ese sentido podía considerarse una extensión de la Lógica Multivaluada. La Lógica Difusa actualmente está relacionada y fundamentada en la teoría de los Conjuntos Difusos.Según esta teoría, el grado de pertenencia de un elemento a un conjunto va a venir determinado por una función de pertenencia, que puede tomar todos los valores reales comprendidos en el intervalo [0,1]. La representación de la función de pertenencia de un elemento a un Conjunto Difuso se representa según la figura 1.

Historia Esta simple idea nació en un artículo de Lotfi A. Zadeh publicado en 1965 y titulado "Fuzzy Sets" (Conjuntos Difusos). La lógica difusa permite representar de forma matemática conceptos o conjuntos imprecisos, tales como días fríos, meses calurosos, personas altas, salarios bajos, guisos con mucho condimento, profesores poco valorados, etc. Los conjuntos difusos fueron introducidos por primera vez en 1965; la creciente disciplina de la lógica difusa provee por sí misma un medio para acoplar estas tareas. En cierto nivel, la lógica difusa puede ser vista como un lenguaje que permite trasladar sentencias sofisticadas en lenguaje natural a un lenguaje matemático formal. Mientras la motivación original fue ayudar a manejar aspectos imprecisos del mundo real, la práctica temprana de la lógica difusa permitió el desarrollo de aplicaciones prácticas. Aparecieron numerosas publicaciones que presentaban los fundamentos básicos con aplicaciones potenciales. Esta frase marcó una fuerte necesidad de distinguir la lógica difusa de la teoría de probabilidad. Tal como la entendemos ahora, la teoría de conjuntos difusos y la teoría de probabilidad tienen diferentes tipos de incertidumbre. En 1994, la teoría de la lógica difusa se encontraba en la cumbre, pero esta idea no es nueva, para muchos, estuvo bajo el nombre de lógica difusa durante 25 años, pero sus orígenes se remontan hasta 2,500 años. Aún Aristóteles consideraba que existían ciertos grados de veracidad y falsedad. Platón había considerado ya grados de pertenencia. En el siglo XVIII el filósofo y obispo anglicano Irlandés, George Berkeley y David Hume describieron que el núcleo de un concepto atrae conceptos similares. Hume en particular, creía en la lógica del sentido común, el razonamiento basado en el conocimiento que la gente adquiere en forma ordinaria mediante vivencias en el mundo. En Alemania, Immanuel Kant, consideraba que solo los matemáticos podían proveer definiciones claras, y muchos principios contradictorios no tenían solución. Por ejemplo la materia podía ser dividida infinitamente y al mismo tiempo no podía ser dividida infinitamente. Particularmente la escuela americana de la filosofía llamada pragmatismo fundada a principios de siglo por Charles Sanders Peirce, cuyas ideas se fundamentaron en estos conceptos, fue el primero en considerar ''vaguedades'', más que falso o verdadero, como forma de acercamiento al mundo y a la forma en que la gente funciona. SISTEMAS DIGITALES Ŕ CONSULTA #1

67

La idea de que la lógica produce contradicciones fue popularizada por el filósofo y matemático británico Bertrand Russell, a principios del siglo XX. Estudio las vaguedades del lenguaje, concluyendo con precisión que la vaguedad es un grado. El filosofo austríaco Ludwing Wittgenstein estudió las formas en las que una palabra puede ser empleada para muchas cosas que tienen algo en común. La primera lógica de vaguedades fue desarrollada en 1920 por el filósofo Jan Lukasiewicz, visualizó los conjuntos con un posible grado de pertenencia con valores de 0 y 1, después los extendió a un número infinito de valores entre 0 y 1. En los años sesentas, Lofti Zadeh inventó la lógica difusa, que combina los conceptos de la lógica y de los conjuntos de Lukasiewicz mediante la definición de grados de pertenencia.

Pero hay que tener en cuenta que la idea en sí de que las cosas no son blancas o negras, sino que existen infinitos matices de grises viene ya desde la época de los primeros grandes filósofos como Platón. Posteriormente a ellos, otros grandes pensadores como David Hume o Kant apoyaban esta idea manteniendo que el razonamiento venía dado por las observaciones de las que somos testigos a lo largo de nuestra vida y la detección de algunos principios contradictorios en la lógica clásica. Tras la publicación de Lotfi A. Zadeh, se comenzó rápidamente a usar la lógica difusa en distintas aplicaciones prácticas, llegando a su máximo auge a principios de los años 90, y continuando éste hasta la época actual. Conceptos básicos de lógica difusa: Un universo es una colección de objetos de los que se hablará en una lógica específica. Por ejemplo, si se ha de tratar de ``contribuyentes al fisco'', entonces el universo consistirá de las personas físicas o morales que pagan o han de pagar impuestos y, naturalmente, de las cantidades pagadas como impuesto. Si se habla de automóviles y sus refacciones, el universo consistirá de los objetos involucrados, a saber, automóviles y componentes de ellos que sean relevantes en el discurso. Un conjunto en el universo es, desde un punto de vista intuitivo, una colección de objetos en el discurso tal que es posible decidir cuándo un objeto del universo está o no en esa colección. En el universo de contribuyentes, las personas físicas forman un conjunto, las personas morales otro, los contribuyentes cuyo pago anual de impuestos excede 105 unidades monetarias forma un conjunto, etc. Abstrayendo la noción de conjunto, se puede considerar que un conjunto es exactamente una función del universo en el conjunto de valores 0,1 que asocia precisamente el valor 1 a los objetos que estén en el conjunto y el valor 0 a los que no1. Un conjunto difuso es también una función que asocia a cada objeto del universo un valor en el intervalo [0,1]. Si x es un objeto en el universo y y=C(x) es el valor asociado a x, se dice que y es el grado de pertenencia del objeto x al conjunto difuso C. Así pues, todo conjunto en el sentido usual es también un conjunto difuso. Los conjuntos usuales merecen un nombre especial. En inglés, por ejemplo, se les llama de manera convencional crisp2 sets. En español no hay una tal convención, así que aquí los llamaremos sencillamente conjuntos usuales. El conjunto vacío coincide con la función idénticamente cero y el universo coincide con la función constante 1. Por ejemplo, en el universo de contribuyentes, para cada contribuyente x, sea i(x) el impuesto anual pagado por x en unidades monetarias. En México, podemos suponer que i(x)=104 es un valor más o menos generalizado, i(x)=105 es un valor propio de un contribuyente de la ``clase media alta'' e i(x)=106 es propia de un millonario. Por supuesto que hay posibles valores mayores para la función i. Podemos distinguir un conjunto de ``contribuyentes mayores'' asociándole a cada contribuyente x el valor 1 si , el SISTEMAS DIGITALES Ŕ CONSULTA #1

68

valor si , y 0 en cualquier otro caso. En la figura 1 (a) presentamos gráficamente a esta función que determina a un conjunto difuso de contribuyentes mayores. El eje de las x's tiene como unidades ``diez millares de unidades monetarias'' y se muestra ahí únicamente a valores entre -10 y 110 . Otro conjunto de ``contribuyentes mayores'' se puede construir asociándole a cada contribuyente x el valor f(i(x)) donde . En la figura (1) (b) se ve la gráfica de esta segunda función. Aquí la distinción entre contribuyentes mayores y no-mayores es más drástica alrededor de las 500 000 unidades monetarias.

Figure 1: Dos conjuntos difusos de ``contribuyentes mayores''.

Otros ejemplos. 1. Mónadas: Sea x un punto del universo. La función que vale 1 en x y 0 en cualquier otro punto se dice ser la mónada, del punto x. 2. Valores cercanos a un centro: Consideremos como universo a un intervalo en la recta real. Sea x0 un punto del intervalo y h>0. Consideremos la función lineal por trozos

tal que antes del extremo inferior x0-h es nula, entre

x0-h y x0 va de 0 a 1, entre x0 y x0+h va de 1 a 0 y después del extremo superior x0+h es nula. puede verse como el conjunto de ``puntos cercanos'' a x0. En la figura 2 presentamos dos funciones de este tipo. Figure 2: Dos conjuntos difusos de puntos cercanos a un punto.

SISTEMAS DIGITALES Ŕ CONSULTA #1

69

En los conjuntos usuales, se tiene una serie de conceptos bien definidos, a saber, cuándo un conjunto es un subconjunto de otro, cuándo dos conjuntos son iguales, cuántos elementos tiene un conjunto, etc. En lo que resta de esta sección presentaremos extensiones de aquellas definiciones elementales e introduciremos terminología que utilizaremos posteriormente. Subconjuntos Dados dos conjuntos difusos A y B en un universo, diremos que A es un subconjunto de B si para todo objeto x del universo se cumple la desigualdad . Los conjuntos serán iguales si cada uno es un subconjunto del otro, en otras palabras, si para todo x, A(x) = B(x). Por ejemplo, en el conjunto de contribuyentes consideremos al conjunto mostrado en la figura 1 (a): (1)

donde i(x) es el impuesto anual pagado por x en unidades monetarias. Ahora consideremos al conjunto de (2)

cuya gráfica está en la figura 3 (a) (observe ahí que aunque se tiene la misma forma que en la figura 1 (a) la escala de valores en el dominio de la función es distinta). Figure 3: Los contribuyentes gigantes forman un subconjunto del de los contribuyentes mayores. En la gráfica (a) se ve el conjunto de contribuyentes gigantes. En la (b) se ve a ambos conjuntos de contribuyentes mayores y gigantes. SISTEMAS DIGITALES Ŕ CONSULTA #1

70



En cualquier caso (3)

Gráficamente esto se ve en la figura 3 (b), donde la función que ahí aparenta ser la constante 1 es la que determina el conjunto difuso de contribuyentes mayores . Por tanto el conjunto de contribuyentes gigantes es un subconjunto del de contribuyentes mayores. Todo contribuyente que sea ``gigante'' ha de ser ``mayor'', aunque el recíproco no se cumpla. Puede parecer paradójica la ec. (3), mas no lo es. Por ejemplo, un contribuyente que aporta un impuesto de, digamos, unidades monetarias tiene un grado de pertenencia a ``gigantes'' igual a 1/2, mas su grado de pertenencia a ``mayores'' es 1. Es pues ``mayor'' con toda certeza, mas no tanto es ``gigante''.

Cortes Estas operaciones en conjuntos difusos permite transformarlos en conjuntos usuales. Fijo un umbral a se toma alos elementos cuyo grado de pertenencia al conjunto difuso sea al menos a. Sea A un conjunto difuso y sea un número entre 0 y 1. El corte-a de A es el conjunto, en el sentido usual, consistente de aquellos objetos cuyos grados de pertenencia a A superen, estrictamente, el valor a. En el ejemplo arriba de ``contribuyentes gigantes'' si se fija, por ejemplo entonces el corte- consta de los contribuyentes cuya contribución anual exceda a las unidades monetarias. Si a>0, el corte-a cerrado de A es3 Aa el cual conjunto consta de los puntos cuyos grados de pertenencia a A no sea inferior a a. Tamaños Con esta noción ``contaremos'' a los elementos de un conjunto difuso.

SISTEMAS DIGITALES Ŕ CONSULTA #1

71

El tamaño, o cardinalidad, de un conjunto difuso A en la suma, sobre los elementos del universo, de los a A: El peso relativo, respecto a A, de cada objeto x del Por ejemplo, en el recuadro (1) presentamos un universo de cada uno con su respectivo impuesto anual, y sus grados de conjuntos de contribuyentes ``mayores'' y ``gigantes''.

un universo dado es grados de pertenencia universo es . 10 contribuyentes, pertenencia a los

Table 1: Un universo de 10 contribuyentes. Contribuyente Impuesto

Azcárraga Bracho

8 454

Grado Grado PesoRel PesoRel ``mayores'' ``gigantes'' ``mayores'' ``gigantes'' 1

10

0

18.30

77.59

1.66

0.00

Cárdenas

200

1

18.30

1.83

De la Madrid

300

1

18.30

2.74

.55

0.00

18.30

8.67

0.00 6.10

0.00 0.00

18.30

9.17

0.18

0.00

Elizondo Fox

4

0

945

1

1 34

0

Iglesias

1 000

1

Jiménez

2

Gómez Hernández

0 0

0

Tamaños:

El tamaño del conjunto ``mayores'' en ese universo es o sea, la suma de la tercera columna en el recuadro (1). El del conjunto ``gigantes'' es o sea, la suma de la cuarta columna. Así pues, podemos pensar que ``mayores'' abarca aproximadamente el 54% de los 10 miembros del universo y ``gigantes'' el 11%. Los pesos relativos de cada contribuyente en los dos conjuntos aparecen, multiplicados por 100 para expresarlos como porcentajes, en el mismo recuadro (1), en sus últimas columnas. Momentos SISTEMAS DIGITALES Ŕ CONSULTA #1

72

Los momentos en un conjunto difuso son parámetros correspondientes a promedios ponderados de los grados de pertenencia de los elementos en el universo al conjunto difuso. El valor esperado, o centroide, de un conjunto difuso A es el promedio

.

Inclusive, se define la noción de m-ésimo momento de A como . Los momentos de un conjunto difuso proporcionan información sobre la ``distribución'' de los puntos en ese conjunto difuso. Por ejemplo, en el recuadro (2) presentamos los momentos de órdenes 1, 2, 5 y 20 de los conjuntos ``mayores'' y ``gigantes'' en el universo de los 10 contribuyentes. Table 2: Momentos de orden 1, 2, 5 y 20 en el universo de 10 contribuyentes. Orden k k-ésimo momento de ``mayores'' 1 0.937004051606639 2 0.921892613092972 5 0.915223398204837 20 0.914972273584962

k-ésimo momento de ``gigantes'' 0.6812326310655667 0.5674392997837057 0.3521307053587635 0.0329106898382526

El momento de orden 1 es el centroide. Para el conjunto de ``mayores'', se tiene que el valor esperado del grado de pertenencia a ese conjunto es 0.93... La manera en la que decrecen los valores de los momentos muestra que la noción de ``mayores'' está distribuída más uniformemente que la de ``gigantes'' en el universo planteado en el recuadro (1). Realces Un realce es una función unaria que hace el papel de un adverbio en un conjunto difuso. Dado un conjunto difuso A el realce de A bajo r es la función que se obtiene de aplicar primero A y luego r, llamada también la composición . Un realce es pues un subconjunto difuso en el intervalo unitario [0,1]. Si para cada t, , decimos que r es un realce diminutivo4 en tanto que si para cada t, , decimos que r es un realce aumentativo. En el ejemplo más adelante se verá una justificación de esta terminología. Para cada p>0, la función , es un realce. Para realce rp es diminutivo y para funciones rp para

el

, rp es aumentativo. En la figura 4 se muestra las gráficas de las . Figure: Gráficas de las funciones rp para .

SISTEMAS DIGITALES Ŕ CONSULTA #1

73

Figure: (a) Gráfica de la función r0. (b) Gráfica de la función

.

Como casos extremos están p=0, que hace 1 a todo grado de pertenencia positivo según se ve en la figura 5 (b), y

, que hace 0 a todo grado de pertenencia inferior a 1 según se ve en la figura 5

(c). r0 es el ``más diminutivo'' de los realces rp y

el ``más aumentativo''.

Ejemplo: Consideremos como universo al conjunto de vehículos de transporte. Sea

el conjunto difuso que

a cada vehículo v le asocia el valor , donde V(v) es la velocidad promedio, medida en con la que v recorre la distancia entre dos puntos prefijados. En el recuadro (3) mostramos algunos ejemplos de valores de velocidad y su gráfica, visto como función.

,

Table 3: Ejemplos de qué tan veloces son algunos vehículos (las expresiones entre llaves indican períodos repetidos en la expansión decimal.).

SISTEMAS DIGITALES Ŕ CONSULTA #1

74

Vehículo v Vel. en 100 150 500 900 1000

Ahora bien, consideremos el realce diminutivo . Entonces para cada posible vehículo vtendremos . En el recuadro (4) mostramos los mismos ejemplos considerando el conjunto difuso al menos un poco veloz. Table 4: Ejemplos de qué tan ``al menos un poco veloces'' son algunos vehículos.

SISTEMAS DIGITALES Ŕ CONSULTA #1

75

Vehículo v Vel. en 100 150 500 900 1000

Los vehículos que son menos rápido tienen un grado de conjunto Al menos un poco veloz. Similarmente, consideremos

pertenencia mayor al el realce aumentativo .

Entonces para cada posible vehículo v tendremos . En el recuadro (5) mostramos los mismos ejemplos considerando el conjunto difuso muy veloz. Table 5: Ejemplos de qué tan ``muy veloces'' son algunos vehículos.

Vehículo v Vel. en 100 150 500 900

SISTEMAS DIGITALES Ŕ CONSULTA #1

76

1000

También aquí, los vehículos veloces tienen un menor grado de pertenencia a los Muy veloces. Conjuntos difusos. La mayoría de los fenómenos que encontramos cada día son imprecisos, es decir, tienen implícito un cierto grado de difusidad en la descripción de su naturaleza. Esta imprecisión puede estar asociada con su forma, posición, momento, color, textura, o incluso en la semántica que describe lo que son. En muchos casos el mismo concepto puede tener diferentes grados de imprecisión en diferentes contextos o tiempo. Un día cálido en invierno no es exactamente lo mismo que un día cálido en primavera. La definición exacta de cuando la temperatura va de templada a caliente es imprecisa -no podemos identificar un punto simple de templado, así que emigramos a un simple grado, la temperatura es ahora considerada caliente. Este tipo de imprecisión o difusidad asociado continuamente a los fenómenos es común en todos los campos de estudio: sociología, física, biología, finanzas, ingeniería, oceanografía, psicología, etc. Conceptos imprecisos. Aceptamos la imprecisión como una consecuencia natural de ''la forma de las cosas en el mundo''. La dicotomía entre el rigor y la precisión del modelado matemático en todo los campos y la intrínseca incertidumbre de ''el mundo real'' no es generalmente aceptada por los científicos, filósofos y analistas de negocios. Nosotros simplemente aproximamos estos eventos a funciones numéricas y escogemos un resultado en lugar de hacer un análisis del conocimiento empírico. Sin embargo procesamos y entendemos de manera implícita la imprecisión de la información fácilmente. Estamos capacitados para formular planes, tomar decisiones y reconocer conceptos compatibles con altos niveles de vaguedad y ambigüedad. considere las siguientes sentencias: . La temperatura está caliente . La inflación actual aumenta rápidamente . Los grandes proyectos generalmente tardan mucho . Nuestros precios están por abajo de los precios de la competencia . IBM es una compañía grande y agresiva . Alejandro es alto pero Ana no es bajita Estas proposiciones forman el núcleo de nuestras relaciones con ''la forma de las cosas en el mundo''. Sin embargo, son incompatibles con el modelado tradicional y el diseño de sistemas de información. Si podemos incorporar estos conceptos logramos que los sistemas sean potentes y se aproximen más a la realidad. Pero, es la imprecisión un concepto artificial utilizado para aumentar o disminuir en uno o más las propiedades de los fenómenos? o es una parte intrínseca del fenómeno en sí mismo?. Esta es una pregunta importante ya que es la parte fundamental de las medidas de la teoría difusa. Como veremos la fusificación es independiente de cualquier capacidad para medir, ya que un conjunto difuso es un conjunto que no tiene límites bien definidos. Un conjunto difuso tiene muchas propiedades intrínsecas que afectan la forma del conjunto, su uso y como participa en un modelo. Las propiedades más importantes de un conjunto difuso son las concernientes a las dimensiones verticales del conjunto difuso (altura y normalización) y las dimensiones horizontales (conjunto soporte y cortes "alpha"). La altura de un conjunto difuso es como máximo un grado de pertenencia y es una cota cercana al concepto de normalización. La superficie de la región de un conjunto difuso es el universo de valores. Todos estos conceptos se tratarán más adelante. Es decir un conjunto difuso A se considera como un conjunto de pares ordenados, en los que el primer componente es un número en el rango [0,1] que SISTEMAS DIGITALES Ŕ CONSULTA #1

77

denota el grado de pertenencia de un elemento u de U en A, y el segundo componente especifica precisamente quién es ése elemento de u. En general los grados de pertenencia son subjetivos en el sentido de que su especificación es una cuestión objetiva. Se debe aclarar que aunque puede interpretarse como el grado de verdad de que la expresión ''u A'' sea cierta, es más natural considerarlo simplemente como un grado de pertenencia. Puede notarse además que: a) Mientras más próximo está (u) a el valor 1, se dice que u pertenece más a A (de modo que 0 y 1 denotan la no pertenencia y la pertenencia completa, respectivamente). b) Un conjunto en el sentido usual es también difuso pues su función característica u es también una función u [0,1]; o sea que los conjuntos difusos son una generalización de los conjuntos usuales. Ejemplo: Sea U =11, 2, 3, 4, 5, 6, 7, 8, 9, entonces los conjuntos definidos a continuación son difusos: POCOS = (.4/1, .8/2, 1/3, .4/4) VARIOS = (.5/3, .8/4, 1/5, 1/6, .8/7, .5,8) MUCHOS =(.4/6, .6/7, .8/8, .9/9,1/10) Note que el elemento 4 pertenece en grado .4 al conjunto POCOS, en grado .8 al conjunto VARIOS y en grado .0 a MUCHOS. Zadeh ha hecho algunas extensiones a los conceptos de conjuntos difusos ordinarios que se han explicado; por ejemplo los conjuntos difusos de nivel-m y los conjuntos difusos tipo-n. Para un conjunto difuso de nivel-m se considera como su universo de discusión al conjunto de conjuntos difusos de nivel-(m-1), sobreentendiendo que los conjuntos difusos de nivel-1 son conjuntos difusos ordinarios. Para los conjuntos difusos tipo-n, los valores de las funciones de pertenencia son conjuntos difusos de tipo-(n-1) del intervalo [0,1] (en lugar de ser puntos de [0,1]). También los conjuntos difusos tipo-1 son equivalentes a los conjuntos difusos ordinarios. Operaciones. En la lógica Booleana tradicional, los conjuntos son considerados como sistemas bivalentes con sus estados alternando entre inclusión y exclusión. La característica de la función discriminante refleja este espacio bivaluado Esto indica que la función de pertenencia para el conjunto A es cero si x no es un elemento en A y la función de pertenencia es si x es un elemento en A. Dado que existen solamente dos estados, la transición entre estos dos estados es siempre inmediata. La pertenencia de estos conjuntos está siempre totalmente categorizada y no existe ambigüedad o dicotomía acerca de la pertenencia. Existen 4 operaciones básicas de conjuntos en esta lógica: unión, intersección, complemento y unión exclusiva. Al igual que en los conjuntos convencionales, existen definiciones específicas para combinar y especificar nuevos conjuntos difusos. Este conjunto de funciones teóricas provee las herramientas fundamentales de la lógica. En el caso usual, con las operaciones comunes de intersección, unión y complemento, el conjunto de conjuntos de U forman un álgebra booleana, es decir se cumplen las condiciones de asociatividad, conmutatividad, elementos neutros, ídem potencia, absorción, distributividad, complemento y las leyes de Morgan. Las tres operaciones mencionadas se pueden extender de varias formas a conjuntos difusos, de modo que al restringirlas a los conjuntos usuales, coincidan con las comunes. Estas extensiones resultantes satisfacen en forma general sólo a algunas de las condiciones listadas anteriormente, y para mantener la vigencia de alguna, será obligatorio sacrificar a otras. En el sistema se optó por extender las operaciones en el sentido clásico, es decir, dados dos conjuntos difusos A y B, se definen las operaciones extendidas de la siguiente forma Dado que los conjuntos difusos no se particionan en el mismo sentido que los conjuntos Booleanos, estas operaciones son aplicadas al nivel de pertenencia, como una consecuencia de los conjuntos difusos. Decidir si un valor es o no es miembro de cualquier conjunto difuso en particular, requiere algunas nociones de cómo esta construido el conjunto, del universo y de los límites de éste. Las etiquetas lingüísticas y operadores. SISTEMAS DIGITALES Ŕ CONSULTA #1

78

El centro de las técnicas de modelado difuso es la idea de variable lingüística. Desde su raíz, una variable lingüística es el nombre de un conjunto difuso. Si tenemos un conjunto difuso llamado ''largo'' éste es una simple variable lingüística y puede ser empleada como una regla-base en un sistema basado en la longitud de un proyecto en particular Si duración-proyecto es largo entonces la-terminación-detareas es DECRECIENTE; Una variable lingüística encapsula las propiedades de aproximación o conceptos de imprecisión en un sistema y da una forma de computar adecuada. Esto reduce la aparente complejidad de describir un sistema que debe concordar con su semántica. Una variable lingüística siempre representa un espacio difuso. Lo importante del concepto de variable lingüística es su estimación de variable de alto orden más que una variable difusa. En el sentido de que una variable lingüística toma variables difusas como sus valores. En el campo de la semántica difusa cuantitativa al significado de un término "x" se le representa como un conjunto difuso M(x) del universo de discusión. Desde este punto de vista, uno de los problemas básicos en semántica es que se desea calcular el significado de un término compuesto La idea básica sugerida por Zadeh es que una etiqueta lingüística tal como ''muy'', ''más o menos'', ''ligeramente'', etc... puede considerarse como un operador que actúa sobre un conjunto difuso asociado al significado de su operando. Por ejemplo en el caso de un término compuesto ''muy alto'', el operador ''muy'' actúa en el conjunto difuso asociado al significado del operando ''alto''. Una representación aproximada para una etiqueta lingüística se puede lograr en términos de combinaciones o composiciones de las operaciones básicas explicadas en la sección anterior. Es importante aclarar que se hará mayor énfasis en que estas representaciones se proponen principalmente para ilustrar el enfoque, más que para proporcionar una definición exacta de las etiquetas lingüísticas. Zadeh también considera que las etiquetas lingüísticas pueden clasificarse en dos categorías que informalmente se definen como sigue: Tipo I: las que pueden representarse como operadores que actúan en un conjunto difuso: ''muy'', ''más o menos'', ''mucho'', ''ligeramente'', ''altamente'', ''bastante'', etc. y, Tipo II: las que requieren una descripción de cómo actúan en los componentes del conjunto difuso (operando): ''esencialmente'', ''técnicamente'', ''estrictamente'', ''prácticamente'', ''virtualmente'', etc... En otras palabras, las etiquetas lingüísticas pueden ser caracterizadas cómo operadores más que construcciones complicadas sobre las operaciones primitivas de conjuntos difusos. Ejemplos de etiquetas tipo I. De acuerdo a éste punto de vista y sabiendo que el lenguaje natural es muy rico y complejo, tomamos el operador ''muy'' que podemos caracterizar con un significado de que aún cuando no tenga validez universal sea sólo una aproximación. Asumimos que si el significado de un término x es un conjunto difuso A, entonces el significado de muy X. Más y menos Se pueden definir etiquetas lingüísticas artificiales, por ejemplo: más, menos, que son instancias de lo que puede llamarse acentuador y desacentuador respectivamente, cuya función es proporcionar ligeras variantes de la concentración y la dilatación. Los exponentes se eligen de modo que se de la igualdad aproximada: mas mas x = menos muy x, y que, además, se pueden utilizar para definir etiquetas lingüísticas cuyo significado difiere ligeramente de otras, ejemplo: Mas o menos Otra etiqueta lingüística interesante es ''más o menos'' que en sus usos más comunes como ''más o menos inteligente'', ''más o menos rectangular'' etc, juega el papel de difusificador. Ligeramente Su efecto es dependiente de la definición de proximidad u ordenamientos en el dominio del operando. Existen casos, sin embargo, en los que su significado puede definirse en términos de etiquetas SISTEMAS DIGITALES Ŕ CONSULTA #1

79

lingüísticas tipo I, bajo la suposición de que el dominio del operando es un conjunto ordenado linealmente. Clase de Es una etiqueta lingüística que tiene el efecto de reducir el grado de pertenencia de los elementos que están en el ''centro'' (grados de pertenencia grandes) de una clase x e incrementa el de aquellos que están en su periferia (grados de pertenencia pequeños). Regular Es una etiqueta que tiene el efecto de reducir el grado de pertenencia de aquellos elementos que tienen tanto un alto grado de pertenencia al conjunto como de aquellos que lo tienen pequeño, y sólo aumenta el grado de pertenencia de aquellos elementos que tienen un grado de pertenencia cercano. Etiquetas tipo II. Su caracterización envuelve una descripción de forma que afectan a los componentes del operando, y por lo tanto es más compleja que las del tipo I. En general, la definición de una etiqueta de este tipo debe formularse como un algoritmo difuso que envuelve etiquetas tipo I. Su efecto puede describirse aproximadamente como una modificación de los coeficientes de ponderación de una combinación convexa. Como la magnitud de las ponderaciones es una medida del atributo asociado, intuitivamente una etiqueta de este tipo tiene el efecto de aumentar las ponderaciones de los atributos importantes y disminuir los que relativamente no lo son. La Lógica Difusa (llamada también Lógica Borrosa por otros autores) o Fuzzy Logic es básicamente una lógica con múltiples valores, que permite definir valores en las áreas oscuras entre las evaluaciones convencionales de la lógica precisa: Si / No, Cierto / Falso, Blanco / Negro, etc. Se considera un súper conjunto de la Lógica Booleana. Con la Lógica Difusa, las proposiciones pueden ser representadas con grados de certeza o falsedad. La lógica tradicional de las computadoras opera con ecuaciones muy precisas y dos respuestas: Si o no, uno o cero. Ahora, para aplicaciones de computadores muy mal definidas o sistemas vagos se emplea la Lógica Difusa. Por medio de la Lógica Difusa pueden formularse matemáticamente nociones como un poco caliente o muy frío, para que sean procesadas por computadoras y cuantificar expresiones humanas vagas, tales como "Muy alto" o "luz brillante". De esa forma, es un intento de aplicar la forma de pensar humana a la programación de los computadores. Permite también cuantificar aquellas descripciones imprecisas que se usan en el lenguaje y las transiciones graduales en electrodomésticos como ir de agua sucia a agua limpia en una lavadora, lo que permite ajustar los ciclos de lavado a través de sensores. La habilidad de la Lógica Difusa para procesar valores parciales de verdad ha sido de gran ayuda para la ingeniería. En general, se ha aplicado a: Sistemas expertos. Verificadores de ortografía, los cuales sugieren una lista de palabras probables para reemplazar una palabra mal escrita. Control de sistemas de trenes subterráneos. Los operadores lógicos que se utilizarán en Lógica Difusa (AND, OR, etc.) se definen también usando tablas de verdad, pero mediante un "principio de extensión" por el cual gran parte del aparato matemático clásico existente puede ser adaptado a la manipulación de los Conjuntos Difusos y, por tanto, a la de las variables lingüísticas. La operación más importante para el desarrollo y creación de Reglas Lógicas es la implicación, simbolizada por " ® " que representa el "Entonces" de las reglas heurísticas: Si (...) Entonces ( ® ) (...). Así, en la Lógica Difusa hay muchas maneras de definir la implicación. Se puede elegir una "función (matemática) de implicación" distinta en cada caso para representar a la implicación. La última característica de los sistemas lógicos es el procedimiento de razonamiento, que permite inferir resultados lógicos a partir de una serie de antecedentes. Generalmente, el razonamiento lógico se SISTEMAS DIGITALES Ŕ CONSULTA #1

80

basa en silogismos, en los que los antecedentes son por un lado las proposiciones condicionales (nuestras reglas), y las observaciones presentes por otro (serán las premisas de cada regla). Los esquemas de razonamiento utilizados son "esquemas de razonamiento aproximado", que intentan reproducir los esquemas mentales del cerebro humano en el proceso de razonamiento. Estos esquemas consistirán en una generalización de los esquemas básicos de inferencia en Lógica Binaria (silogismo clásico). Tan importante será la selección de un esquema de razonamiento como su representación material, ya que el objetivo final es poder desarrollar un procedimiento analítico concreto para el diseño de controladores difusos y la toma de decisiones en general. Una vez que dispongamos de representaciones analíticas de cada uno de los elementos lógicos que acabamos de enumerar, estaremos en disposición de desarrollar formalmente un controlador "heurístico" que nos permita inferir el control adecuado de un determinado proceso en función de un conjunto de reglas "lingüísticas", definidas de antemano tras la observación de la salida y normas de funcionamiento de éste. Conjuntos difusos: Lógica Difusa: Predicados Vagos y Conjuntos Difusos. Los conjuntos clásicos se definen mediante un predicado que da lugar a una clara división del Universo de Discurso X en los valores "Verdadero" y "Falso". Sin embargo, el razonamiento humano utiliza frecuentemente predicados que no se pueden reducir a este tipo de división: son los denominados predicados vagos. Por ejemplo, tomando el Universo de Discurso formado por todas las posibles temperaturas ambientales en la ciudad de Huelva, se puede definir en dicho universo el conjunto A como aquél formado por las temperaturas "cálidas". Por supuesto, es imposible dar a A una definición clásica, ya que su correspondiente predicado no divide el universo X en dos partes claramente diferenciadas. No podemos afirmar con rotundidad que una temperatura es "cálida" o no lo es. El problema podría resolverse en parte considerando que una temperatura es "cálida" cuando su valor supera cierto umbral fijado de antemano. Se dice que el problema tan sólo se resuelve en parte, y de manera no muy convincente, por dos motivos: de una parte el umbral mencionado se establece de una manera arbitraria, y por otro lado podría darse el caso de que dos temperaturas con valores muy diferentes fuesen consideradas ambas como "cálidas". Evidentemente, el concepto "calor" así definido nos daría una información muy pobre sobre la temperatura ambiental. La manera más apropiada de dar solución a este problema es considerar que la pertenencia o no pertenencia de un elemento x al conjunto A no es absoluta sino gradual. En definitiva, definiremos A como un Conjunto Difuso. Su función de pertenencia ya no adoptará valores en el conjunto discreto {0,1} (lógica booleana), sino en el intervalo cerrado [0,1]. En conclusión podemos observar que los Conjuntos Difusos son una generalización de los conjuntos clásicos. Mediante notación matemática se define un Conjunto Difuso B como: B = { ( x , mB( x ) ) / x å X } mB: X® [0,1] La función de pertenencia se establece de una manera arbitraria, lo cual es uno de los aspectos más flexibles de los Conjuntos Difusos. Por ejemplo, se puede convenir que el grado de pertenencia de una temperatura de "45ºC" al conjunto A es 1, el de "25ºC" es 0.4 , el de "6ºC" es 0, etc.: cuanto mayor es el valor de una temperatura, mayor es su grado de pertenencia al conjunto B. Para operar en la práctica con los Conjuntos Difusos se suelen emplear funciones de pertenencia del tipo representado en la figura 2: Tipos de funciones de pertenencia. En la figura se pueden observar dos tipos de funciones de pertenencia de todos los posibles: el tipo triangular, que puede ser un caso concreto del trapezoidal en el que los dos valores centrales son SISTEMAS DIGITALES Ŕ CONSULTA #1

81

iguales, y el de forma de campana gaussiana. Tómese ahora el Universo de Discurso de la edad. El Conjunto Difuso "Joven" representa el grado de pertenencia respecto al parámetro juventud que tendrían los individuos de cada edad. Es decir, el conjunto expresa la posibilidad de que un individuo sea considerado joven. Un Conjunto Difuso podría ser considerado como una distribución de posibilidad, que es diferente a una distribución de probabilidad. Se puede observar que los Conjuntos Difusos de la figura 3 se superponen, por lo que un individuo xl podría tener distintos grados de pertenencia en dos conjuntos al mismo tiempo: "Joven" y "Maduro". Esto indica que posee cualidades asociadas con ambos conjuntos. El grado de pertenencia de x en A, como ya se ha señalado anteriormente, se representa por m A(x). El Conjunto Difuso A es la unión de los grados de pertenencia para todos los puntos en el Universo de Discurso X, que también puede expresarse como: Bajo la notación de los Conjuntos Difusos, µA(x)/x es un elemento del conjunto A. La operación òx representa la unión de los elementos difusos µA(x)/x. Los Universos de Discurso con elementos discretos utilizan los símbolos "+" y "S " para representar la operación unión. Veamos un ejemplo: Ejemplo de Conjuntos Difusos en el universo de la edad. Tómese un individuo x cuya edad sea de 20 años. Como se puede observar en la figura, pertenece al Conjunto Difuso "Joven" y al Conjunto Difuso "Maduro". Se puede observar que posee un grado de pertenencia µA(x) de 0.6 para el Conjunto Difuso "Joven" y un grado de 0.4 para el Conjunto Difuso "Maduro"; también posee un grado de 0 para "Viejo". De este ejemplo se puede deducir que un elemento puede pertenecer a varios Conjuntos Difusos a la vez aunque con distinto grado. Así, nuestro individuo x tiene un grado de pertenencia mayor al conjunto "Joven " que al conjunto "Maduro"(0.6 > 0.4), pero no se puede decir, tratándose de Conjuntos Difusos, que x es joven o que x es maduro de manera rotunda. Operaciones entre Conjuntos difusos: Los Conjuntos Difusos se pueden operar entre sí del mismo modo que los conjuntos clásicos. Puesto que los primeros son una generalización de los segundos, es posible definir las operaciones de intersección, unión y complemento haciendo uso de las mismas funciones de pertenencia: µAÇ B (x) = minµA(x), µB(x) ) µAÈ B (x) = max ( µA(x), µB(x) ) µØ A (x) = 1 - µA(x) En realidad, estas expresiones son bastante arbitrarias y podrían haberse definido de muchas otras maneras. Esto obliga a considerar otras definiciones más generales para las operaciones entre los Conjuntos Difusos. En la actualidad se considera correcto definir el operador intersección mediante cualquier aplicación t-norma y el operador unión mediante cualquier aplicación s-norma. < Variables Lingüísticas La Teoría de Conjuntos Difusos puede utilizarse para representar expresiones lingüísticas que se utilizan para describir conjuntos o algoritmos. Los Conjuntos Difusos son capaces de captar por sí mismos la vaguedad lingüística de palabras y frases comúnmente aceptadas, como "gato pardo" o "ligero cambio". La habilidad humana de comunicarse mediante definiciones vagas o inciertas es un atributo importante de la inteligencia. Una Variable Lingüística es aquella variable cuyos valores son palabras o sentencias que van a enmarcarse en un lenguaje predeterminado. Para estas variables lingüísticas se utilizará un nombre y un valor lingüístico sobre un Universo de Discurso. Además, podrán dar lugar a sentencias generadas por reglas sintácticas, a las que se les podrá dar un significado mediante distintas reglas semánticas. Los Conjuntos Difusos pueden utilizarse para representar expresiones tales como: SISTEMAS DIGITALES Ŕ CONSULTA #1

82

X es PEQUEÑO. La velocidad es RÁPIDA. El ganso es CLARO. Las expresiones anteriores pueden dar lugar a expresiones lingüísticas más complejas como: X no es PEQUEÑO. La velocidad es RÁPIDA pero no muy RÁPIDA. El ganso es CLARO y muy ALEGRE. Así, se pueden ir complicando las expresiones. Por ejemplo, la expresión "x no es PEQUEÑO" puede calcularse a partir de la original calculando el complemento de la siguiente forma: µ_no_PEQUEÑA (x) = 1- µ_PEQUEÑO (x) Tratando de esta forma los distintos modificadores lingüísticos (muy, poco, rápido, lento...) pueden ir calculándose todas las expresiones anteriores.

Funcionamiento La lógica difusa se adapta mejor al mundo real en el que vivimos, e incluso puede comprender y funcionar con nuestras expresiones, del tipo "hace mucho calor", "no es muy alto", "el ritmo del corazón está un poco acelerado", etc. La clave de esta adaptación al lenguaje, se basa en comprender los cuantificadores de nuestro lenguaje (en los ejemplos de arriba "mucho", "muy" y "un poco"). En la teoría de conjuntos difusos se definen también las operaciones de unión, intersección, diferencia, negación o complemento, y otras operaciones sobre conjuntos (ver también subconjunto difuso), en los que se basa esta lógica. Para cada conjunto difuso, existe asociada una función de pertenencia para sus elementos, que indican en qué medida el elemento forma parte de ese conjunto difuso. Las formas de las funciones de pertenencia más típicas son trapezoidal, lineal y curva. Se basa en reglas heurísticas de la forma SI (antecedente) ENTONCES (consecuente), donde el antecedente y el consecuente son también conjuntos difusos, ya sea puros o resultado de operar con ellos. Sirvan como ejemplos de regla heurística para esta lógica (nótese la importancia de las palabras "muchísimo", "drásticamente", "un poco" y "levemente" para la lógica difusa):  SI hace muchísimo calor ENTONCES disminuyo drásticamente la temperatura.  SI voy a llegar un poco tarde ENTONCES aumento levemente la velocidad. Los métodos de inferencia para esta base de reglas deben ser simples, veloces y eficaces. Los resultados de dichos métodos son un área final, fruto de un conjunto de áreas solapadas entre sí (cada área es resultado de una regla de inferencia). Para escoger una salida concreta a partir de tanta premisa difusa, el método más usado es el del centroide, en el que la salida final será el centro de gravedad del área total resultante. Las reglas de las que dispone el motor de inferencia de un sistema difuso pueden ser formuladas por expertos, o bien aprendidas por el propio sistema, haciendo uso en este caso de Redes neuronales para fortalecer las futuras tomas de decisiones. Los datos de entrada suelen ser recogidos por sensores, que miden las variables de entrada de un sistema. El motor de inferencias se basa en chips difusos, que están aumentando exponencialmente su capacidad de procesamiento de reglas año a año. Un esquema de funcionamiento típico para un sistema difuso podría ser de la siguiente manera:

SISTEMAS DIGITALES Ŕ CONSULTA #1

83

Funcionamiento de un sistema de control difuso En la figura, el sistema de control hace los cálculos en base a sus reglas heurísticas, comentadas anteriormente. La salida final actuaría sobre el entorno físico, y los valores de las nuevas entradas sobre el entorno físico (modificado por la salida del sistema de control) serían tomadas por sensores del sistema. Por ejemplo, imaginando que nuestro sistema borroso fuese el climatizador de un coche que se autorregula según las necesidades: Los chips borrosos del climatizador recogen los datos de entrada, que en este caso bien podrían ser la temperatura y humedad simplemente. Estos datos se someten a las reglas del motor de inferencia (como se ha comentado antes, de la forma SI... ENTONCES... ), resultando un área de resultados. De esa área se escogerá el centro de gravedad, proporcionándola como salida. Dependiendo del resultado, el climatizador podría aumentar la temperatura o disminuirla dependeiendo del grado de la salida. Aplicaciones La lógica difusa se utiliza cuando la complejidad del proceso en cuestión es muy alta y no existen modelos matemáticos precisos, para procesos altamente no lineales y cuando se envuelven definiciones y conocimiento no estrictamente definido (impreciso o subjetivo). En cambio, no es una buena idea usarla cuando algún modelo matemático ya soluciona eficientemente el problema, cuando los problemas son lineales o cuando no tienen solución. Esta técnica se ha empleado con bastante éxito en la industria, principalmente en Japón, y cada vez se está usando en gran multitud de campos. La primera vez que se usó de forma importante fue en el metro japonés, con excelentes resultados. A continuación se citan algunos ejemplos de su aplicación:  Sistemas de control de acondicionadores de aire  Sistemas de foco automático en cámaras fotográficas  Electrodomésticos familiares (Frigoríficos, lavadoras...)  Optimización de sistemas de control industriales  Sistemas de reconocimiento de escritura  Mejora en la eficiencia del uso de combustible en motores  Sistemas expertos del conocimiento (simular el comportamiento de un experto humano)  Tecnología informática  Bases de datos difusas: Almacenar y consultar información imprecisa. Para este punto, por ejemplo, existe el lenguaje FSQL.  ...y, en general, en la gran mayoría de los sistemas de control que no dependen de un Sí/No.  Control de sistemas: Control de tráfico, control de vehículos (helicópteros...),  control de compuertas en plantas hidroeléctricas, centrales térmicas, control  en máquinas lavadoras, control de metros (mejora de su conducción,  precisión en las paradas y ahorro de energía), ascensores...  Predicción y optimización: Predicción de terremotos, optimizar horarios... SISTEMAS DIGITALES Ŕ CONSULTA #1

84

    

Reconocimiento de patrones y Visión por ordenador: Seguimiento de objetos con cámara, reconocimiento de escritura manuscrita, reconocimiento de objetos, compensación de vibraciones en la cámara Sistemas de información o conocimiento: Bases de datos, sistemas expertos...

En la actualidad es un campo de investigación muy importante, tanto por sus implicaciones matemáticas o teóricas como por sus aplicaciones prácticas.  Revistas Int.: Fuzzy Sets and Systems, IEEE Transactions on Fuzzy Systems...  Congresos: FUZZ-IEEE, IPMU, EUSFLAT, ESTYLF...  Bibliografía Gral.: (Kruse, 1994), (McNeill, 1994), (Mohammd, 1993),  (Pedrycz, 1998)...  Problemas Básicos subyacentes:  Conceptos SIN definición clara: Muchos conceptos que manejamos los  humanos a menudo, no tienen una definición clara: ¿Qué es una persona alta? ¿A partir de qué edad una persona deja de ser joven?  La lógica clásica o bivaluada es demasiado restrictiva: Una afirmación puede no ser ni VERDAD (true) ni FALSA (false).

– – – 

ŖYo leeré El Quijoteŗ: ¿En qué medida es cierto? Depende de quien lo diga y... ŖÉl es bueno en Físicaŗ: ¿Es bueno, muy bueno o un poco mejor que regular? Otras Herramientas con las que se ha usado: Sistemas basados en Reglas, Redes Neuronales, Algoritmos Genéticos, Bases de Datos...

¿Cuándo usar la tecnología fuzzy o difusa? Ŕ En procesos complejos, si no existe un modelo de solución sencillo. Ŕ En procesos no lineales. Ŕ Cuando haya que introducir la experiencia de un operador Ŗexpertoŗ que se base en conceptos imprecisos obtenidos de su experiencia. Ŕ Cuando ciertas partes del sistema a controlar son desconocidas y no pueden medirse de forma fiable (con errores posibles). Ŕ Cuando el ajuste de una variable puede producir el desajuste de otras. Ŕ En general, cuando se quieran representar y operar con conceptos que tengan imprecisión o incertidumbre (como en las Bases de Datos Difusas).

Lógica difusa en Inteligencia Artificial En Inteligencia artificial, la lógica difusa, o lógica borrosa se utiliza para la resolución de una variedad de problemas, principalmente los relacionados con control de procesos industriales complejos y sistemas de decisión en general, la resolución la compresión de datos. Los sistemas de lógica difusa están también muy extendidos en la tecnología cotidiana, por ejemplo en cámaras digitales, sistemas de aire acondicionado, lavarropas, etc. Los sistemas basados en lógica difusa imitan la forma en que toman decisiones los humanos, con la ventaja de ser mucho más rápidos. Estos sistemas son generalmente robustos y tolerantes a imprecisiones y ruidos en los datos de entrada. SISTEMAS DIGITALES Ŕ CONSULTA #1

85

Consiste en la aplicación de la lógica difusa con la intención de imitar el razonamiento humano en la programación de computadoras. Con la lógica convencional, las computadoras pueden manipular valores estrictamente duales, como verdadero/falso, sí/no o ligado/desligado. En la lógica difusa, se usan modelos matemáticos para representar nociones subjetivas, como caliente/tibio/frío, para valores concretos que puedan ser manipuladas por los ordenadores. En este paradigma, también tiene un especial valor la variable del tiempo, ya que los sistemas de control pueden necesitar retroalimentarse en un espacio concreto de tiempo, pueden necesitarse datos anteriores para hacer una evaluación media de la situación en un periodo de tiempo anterior... Ventajas e Inconvenientes Como principal ventaja, cabe destacar los excelentes resultados que brinda un sistema de control basado en lógica difusa: ofrece salidas de una forma veloz y precisa, disminuyendo así las transiciones de estados fundamentales en el entorno físico que controle. Por ejemplo, si el aire acondicionado se encendiese al llegar a la temperatura de 30º, y la temperatura actual oscilase entre los 29º-30º, nuestro sistema de aire acondicionado estaría encendiéndose y apagándose continuamente, con el gasto energético que ello conllevaría. Si estuviese regulado por lógica difusa, esos 30º no serían ningún umbral, y el sistema de control aprendería a mantener una temperatura estable sin continuos apagados y encendidos. Del mismo ejemplo puede observarse otra de las principales ventajas de estos sistemas, que es la capacidad de adelantarse en el tiempo a los acontecimientos, estabilizando siempre el entorno físico que controla. Como principal incoveniente cabe destacar la dificultad de elegir una correcta función de pertenencia para los conjuntos difusos, ya que en ocasiones no es sencillo especificar el efecto de los cuantificadores de nuestro lenguaje en dicha función. El hecho de que cualquier función de pertenencia del sistema estuviese mal especificada, haría fallar, muy probablemente, todo el sistema completo. También está la indecisión de decantarse por los expertos o por la tecnología (principalmente mediante Redes neuronales) para reforzar las reglas heurísticas iniciales de cualquier sistema de control basado en este tipo de lógica. Funcionamiento La lógica difusa se adapta mejor al mundo real en el que vivimos, e incluso puede comprender y funcionar con nuestras expresiones, del tipo "hace mucho calor", "no es muy alto", "el ritmo del corazón está un poco acelerado", etc. La clave de esta adaptación al lenguaje, se basa en comprender los cuantificadores de nuestro lenguaje (en los ejemplos de arriba "mucho", "muy" y "un poco"). En la teoría de conjuntos difusos se definen también las operaciones de unión, intersección, diferencia, negación o complemento, y otras operaciones sobre conjuntos (ver también subconjunto difuso), en los que se basa esta lógica. Para cada conjunto difuso, existe asociada una función de pertenencia para sus elementos, que indican en qué medida el elemento forma parte de ese conjunto difuso. Las formas de las funciones de pertenencia más típicas son trapezoidal, lineal y curva. Se basa en reglas heurísticas de la forma SI (antecedente) ENTONCES (consecuente), donde el antecedente y el consecuente son también conjuntos difusos, ya sea puros o resultado de operar con ellos. Sirvan como ejemplos de regla heurística para esta lógica (nótese la importancia de las palabras "muchísimo", "drásticamente", "un poco" y "levemente" para la lógica difusa):  SI hace muchísimo calor ENTONCES disminuyo drásticamente la temperatura.  SI voy a llegar un poco tarde ENTONCES aumento levemente la velocidad. Los métodos de inferencia para esta base de reglas deben ser simples, veloces y eficaces. Los resultados de dichos métodos son un área final, fruto de un conjunto de áreas solapadas entre sí (cada SISTEMAS DIGITALES Ŕ CONSULTA #1

86

área es resultado de una regla de inferencia). Para escoger una salida concreta a partir de tanta premisa difusa, el método más usado es el del centroide, en el que la salida final será el centro de gravedad del área total resultante. Las reglas de las que dispone el motor de inferencia de un sistema difuso pueden ser formuladas por expertos, o bien aprendidas por el propio sistema, haciendo uso en este caso de Redes neuronales para fortalecer las futuras tomas de decisiones. Los datos de entrada suelen ser recogidos por sensores, que miden las variables de entrada de un sistema. El motor de inferencias se basa en chips difusos, que están aumentando exponencialmente su capacidad de procesamiento de reglas año a año. Un esquema de funcionamiento típico para un sistema difuso podría ser de la siguiente manera:

Funcionamiento de un sistema de control difuso En la figura, el sistema de control hace los cálculos en base a sus reglas heurísticas, comentadas anteriormente. La salida final actuaría sobre el entorno físico, y los valores de las nuevas entradas sobre el entorno físico (modificado por la salida del sistema de control) serían tomadas por sensores del sistema. Por ejemplo, imaginando que nuestro sistema borroso fuese el climatizador de un coche que se autorregula según las necesidades: Los chips borrosos del climatizador recogen los datos de entrada, que en este caso bien podrían ser la temperatura y humedad simplemente. Estos datos se someten a las reglas del motor de inferencia (como se ha comentado antes, de la forma SI... ENTONCES... ), resultando un área de resultados. De esa área se escogerá el centro de gravedad, proporcionándola como salida. Dependiendo del resultado, el climatizador podría aumentar la temperatura o disminuirla dependeiendo del grado de la salida. Aplicaciones La lógica difusa se utiliza cuando la complejidad del proceso en cuestión es muy alta y no existen modelos matemáticos precisos, para procesos altamente no lineales y cuando se envuelven definiciones y conocimiento no estrictamente definido (impreciso o subjetivo). En cambio, no es una buena idea usarla cuando algún modelo matemático ya soluciona eficientemente el problema, cuando los problemas son lineales o cuando no tienen solución. Esta técnica se ha empleado con bastante éxito en la industria, principalmente en Japón, y cada vez se está usando en gran multitud de campos. La primera vez que se usó de forma importante fue en el metro japonés, con excelentes resultados. A continuación se citan algunos ejemplos de su aplicación:  Sistemas de control de acondicionadores de aire  Sistemas de foco automático en cámaras fotográficas  Electrodomésticos familiares (Frigoríficos, lavadoras...)  Optimización de sistemas de control industriales  Sistemas de reconocimiento de escritura SISTEMAS DIGITALES Ŕ CONSULTA #1

87

   

Mejora en la eficiencia del uso de combustible en motores Sistemas expertos del conocimiento (simular el comportamiento de un experto humano) Tecnología informática Bases de datos difusas: Almacenar y consultar información imprecisa. Para este punto, por ejemplo, existe el lenguaje FSQL.  ...y, en general, en la gran mayoría de los sistemas de control que no dependen de un Sí/No. Lógica difusa en Inteligencia Artificial En Inteligencia artificial, la lógica difusa, o lógica borrosa se utiliza para la resolución de una variedad de problemas, principalmente los relacionados con control de procesos industriales complejos y sistemas de decisión en general, la resolución la compresión de datos. Los sistemas de lógica difusa están también muy extendidos en la tecnología cotidiana, por ejemplo en cámaras digitales, sistemas de aire acondicionado, lavarropas, etc. Los sistemas basados en lógica difusa imitan la forma en que toman decisiones los humanos, con la ventaja de ser mucho más rápidos. Estos sistemas son generalmente robustos y tolerantes a imprecisiones y ruidos en los datos de entrada. Consiste en la aplicación de la lógica difusa con la intención de imitar el razonamiento humano en la programación de computadoras. Con la lógica convencional, las computadoras pueden manipular valores estrictamente duales, como verdadero/falso, sí/no o ligado/desligado. En la lógica difusa, se usan modelos matemáticos para representar nociones subjetivas, como caliente/tibio/frío, para valores concretos que puedan ser manipuladas por los ordenadores. En este paradigma, también tiene un especial valor la variable del tiempo, ya que los sistemas de control pueden necesitar retroalimentarse en un espacio concreto de tiempo, pueden necesitarse datos anteriores para hacer una evaluación media de la situación en un periodo de tiempo anterior... Ventajas e Inconvenientes Como principal ventaja, cabe destacar los excelentes resultados que brinda un sistema de control basado en lógica difusa: ofrece salidas de una forma veloz y precisa, disminuyendo así las transiciones de estados fundamentales en el entorno físico que controle. Por ejemplo, si el aire acondicionado se encendiese al llegar a la temperatura de 30º, y la temperatura actual oscilase entre los 29º-30º, nuestro sistema de aire acondicionado estaría encendiéndose y apagándose continuamente, con el gasto energético que ello conllevaría. Si estuviese regulado por lógica difusa, esos 30º no serían ningún umbral, y el sistema de control aprendería a mantener una temperatura estable sin continuos apagados y encendidos. Del mismo ejemplo puede observarse otra de las principales ventajas de estos sistemas, que es la capacidad de adelantarse en el tiempo a los acontecimientos, estabilizando siempre el entorno físico que controla. Como principal incoveniente cabe destacar la dificultad de elegir una correcta función de pertenencia para los conjuntos difusos, ya que en ocasiones no es sencillo especificar el efecto de los cuantificadores de nuestro lenguaje en dicha función. El hecho de que cualquier función de pertenencia del sistema estuviese mal especificada, haría fallar, muy probablemente, todo el sistema completo. También está la indecisión de decantarse por los expertos o por la tecnología (principalmente mediante Redes neuronales) para reforzar las reglas heurísticas iniciales de cualquier sistema de control basado en este tipo de lógica. Desdifusificar La operación de desdifusificar5, u operación-DF para abreviar, consiste en seleccionar un elemento representativo de un conjunto difuso. Con esta operación ``se suprime lo difuso'' porque habiendo estimado propiedades de un conjunto difuso, se elige a un objeto ``concreto'' que lo representa. Para esto, existen diversos criterios. SISTEMAS DIGITALES Ŕ CONSULTA #1

88

Primer máximo Tómese como representante de un conjunto difuso al primer elemento xAen el universo X, de acuerdo con un orden dado, tal que . Este criterio conlleva la dificultad de calcular un valor máximo de una función real, precisamente A, definida sobre X. Corte-a Dado un conjunto difuso A en un universo X,

sea un número real positivo, pero

estrictamente menor que 1. Diremos que el número a es el umbral de corte. Elíjase un elemento en el corte-a de A. Centroide Dado un conjunto difuso A en un universo X, sea su centroide. Elíjase al elemento tal que

es decir, x0 es uno de los elementos en el universo X cuyo grado de pertenencia a A es el más cercano al valor esperado de los valores de A. Por ejemplo, con este criterio, cualquiera de los contribuyentes Azcárraga, Cárdenas, De la Madrid, Fox o Iglesias, desdifusifica al conjunto de ``mayores'', y sólo Azcárraga desdifusifica al de ``gigantes''. De manera más general,

es decir, x0 es uno de los pertenencia a A tiene una k-ésima momento de A.

para , se puede elegir al

elemento tal que

elementos cuyo grado de potencia más cercana al k-ésimo

Centro de gravedad Supongamos por ahora que el universo X posee una estructura geométrica de espacio vectorial. Dados dos vectores se tiene definida su suma, x1+x2, y para cada número real t se tiene también la elongación t x1 del vector x1 por el escalar t. Para fijar ideas, el lector puede suponer que X es el espacio tridimensional .

SISTEMAS DIGITALES Ŕ CONSULTA #1

89

Dado un el vector

conjunto de n puntos en X, y dados ncoeficientes tales que , se dice ser una suma

convexa de

los elementos de X' y está precisamente en el poliedro mínimo que contiene a X'. Recíprocamente, se tiene que dado cualquier punto xen ese poliedro mínimo han de existir coeficientes tales que y . Por esta razón a ese poliedro mínimo se le llama la cerradura convexa de X'. Un conjunto difuso A en X se dice ser convexo si para cualesquiera n puntos y cualesquiera ncoeficientes tales que , se tiene

Sea . Recordamos que el corte-a cerrado Aa de A consta de todos los puntos cuyo grado de pertenencia a A no es inferior al valor a. El centro de gravedad de altura a de A es

El centro de gravedad C(A,a) es pues el promedio de los elementos en el corte-a de A. El centro de gravedad básico es el centro de gravedad de altura 0. El centro de gravedad máximo es el centro de gravedad de altura . En el caso de que A sea un conjunto convexo, cualquiera de los centros básico o máximo puede ser un buen representante del conjunto difuso A. Sin embargo, si A no es convexo, la selección por centros puede ser muy desafortunada. Por ejemplo, si A fuese un conjunto usual, entonces se podría elegir a un elemento fuera de A con este criterio. Ejemplo. Sea X=[0,1] y sea Ap el conjunto difuso , con p>0. Para p=2 la gráfica de Ap es una parábola. Para , coincide con la gráfica de la raíz cuadrada según se muestra en la figura 4. Si ,

el conjunto Ap es convexo. Dado se tiene: . Por tanto, el corte-a cerrado es . Así pues, el tamaño de este corte-a es y, un cálculo directo muestra que

El centro de gravedad es pues

SISTEMAS DIGITALES Ŕ CONSULTA #1

90

(4)

que, en términos de a y p define una función cuya gráfica se muestra en la figura 6. Figure:

El

centro

de

gravedad

, en términos de la altura a, con , y del exponente p,

Para

con .

, el conjunto Ap es convexo. Por lo cual, el grado de pertenencia del centro no será inferior

al promedio de los grados de pertenencia. En este caso, de la ec. (4) se ve que cuando decir, cuando p decrece hacia cero, entonces independientemente del umbral

, es el centro

tenderá a ser , es decir, el centro de gravedad tenderá a ser el punto medio del universo. Véase esto en la figura 7 (a), donde se ve la gráfica de centros de gravedad, rotada de manera que en un primer plano aparezca el correspondiente a p=0, y la escala de valores de la altura a. Figure 7: (a) Vista de la función de centros de gravedad desde el plano p=0. (b) Vista de la función de centros de gravedad desde el plano a=0.

SISTEMAS DIGITALES Ŕ CONSULTA #1

91

Para p> 1, el conjunto Ap no es convexo. En particular, si p fuese un entero, de la ec. (4) resulta (5)

de donde se ve que el centro básico es . Este valor, a todas luces, es más bien bajo pues se está considerando en el promedio a muchos valores que son pequeños. En el otro extremo, el centro máximo es C(Ap,1)=1, como era de esperarse. Estos dos aspectos quedan mostrados en la figura 7 (b). En un primer plano aparece el caso de a=0 y al fondo el de a=1. Así pues, para conjuntos no-convexos, en tanto es mayor el umbral, será mejor la selección del centro de gravedad. Operadores composicionales Es bien sabido que los conjuntos usuales pueden ser operados para formar otros nuevos. Las operaciones típicas entre conjuntos son la unión, la intersección y el complemento respecto a un universo. Con estas operaciones, el conjunto de conjuntos usuales forma una estructura algebraica llamada precisamente álgebra booleana. En esta sección veremos algunas maneras de extender las operaciones conjuntistas convencionales a conjuntos difusos. Negaciones Veamos cómo extender a la operación de ``complemento''. En los conjuntos usuales, un punto está en el complemento de un conjunto si y sólo si no está en el conjunto. Si vemos al conjunto como su propia función característica, tenemos que la operación complemento ``voltea'' los valores de pertenencia: A los puntos donde se tuviese un valor de pertenencia 1 el complemento les asignará el valor 0 y viceversa. Un operador de negación es pues una función N que a cada valor t en el intervalo [0,1] le asocia un valor N(t) en el mismo intervalo [0,1], de manera tal que N(0)=1, N(1)=0 y que además es una función no-creciente, es decir, si entonces . Ejemplos. Las siguientes son negaciones:

SISTEMAS DIGITALES Ŕ CONSULTA #1

92

Lineal. La

función es una negación. Su gráfica se ve en la figura 8. Figure:

Típica

función

de

negación

.

Negación de la verdad. Sea la función . Su gráfica s

se ve en la figura 9 (a). Negación de la falsedad. Sea la función . Su gráfica se ve

en la figura 9 (b).

Figure 9: (a) Negación de la verdad. (b) Negación de la falsedad.

SISTEMAS DIGITALES Ŕ CONSULTA #1

93

Si A es un conjunto difuso y N es una negación, entonces la composición es el complemento de A bajo el operador N. Observación 2.1 Si C es un conjunto usual y N es una negación cualquiera, el complemento de C bajo N coincide con el complemento de C en el sentido usual. Por ejemplo para el conjunto de contribuyentes mayores definido por la ecuación (1) se tiene

donde i(x) es el impuesto anual pagado por x en unidades monetarias. Cada una de estas negaciones introduce un criterio propio para decidir cuándo un contribuyente NO es mayor. Las extensiones de la negación no necesariamente poseen todas las propiedades de la negación usual. El principio de la ``doble negación'' sólo vale para el índice p=1. Es decir: 1. Para todo : N1(N1(x))=x. Así pues, para cualquier conjunto difuso A: . 2. Para , para todo : Para todo conjunto difuso A, 3. Para p=0, para todo : Para todo conjunto difuso A, Puesto que con la definición que hemos introducido para las negaciones, algunas dejan de cumplir el principio de la doble negación, reforzaremos la noción de negación. Una negación-d es una función M, del intervalo [0,1] en sí mismo, no-creciente tal que M(0)=1 y para cada x: M(M(x))=x. Es decir, una negación-d satisface el principio de la doble negación por su propia definición.

Ejemplos. Las siguientes son negaciones-d: p=1. La negación N1 definida anteriormente. Generadas. SISTEMAS DIGITALES Ŕ CONSULTA #1

94

Sea una función contínua y (estrictamente) creciente, tal que f(0)=0. Sea . Tenemos que M es contínua, no-decreciente,

y para todo : f(Mf(x))=f(1)-f(x), y por consiguiente Mf(Mf(x))=f-1(f(1)-(f(1)-f(x))) =f-1(f(x)) =x. Mf es pues una negación-d. La función f se dice ser generadora de la negación-d Mf. Para cada elección de una función f con las propiedades enlistadas, obtenemos una negación-d en particular. Por ejemplo, por la ec. (1). Para la función f tal

consideremos el conjunto de contribuyentes mayores definido que , cuya gráfica se muestra en la figura 10 (a),

Figure: (a) Función . (b)

Correspondiente negación Mf.

tenemos que su inversa se expresa

como y consecuentemente , cuya gráfica se muestra en la figura 10 (b). Por tanto,

SISTEMAS DIGITALES Ŕ CONSULTA #1

95

y su gráfica se muestra en la figura 12 (a). Consideremos ahora la función g ``simétrica'' de la anterior f (el exponente lo cambiamos por el exponente 2): Para g tal que muestra en la figura 11 (a),

Figure: (a) Función

, cuya gráfica se

. (b) Correspondiente negación Mg.

tenemos que su inversa se expresa como y , cuya gráfica se muestra en la tanto,

consecuentemente figura 11 (b). Por

y su gráfica se muestra en la figura 12 (b).

Figure 12: (a) Complemento del conjunto de contribuyentes mayores según la negación Mf. (b) Complemento del conjunto de contribuyentes mayores según la negación Mg. SISTEMAS DIGITALES Ŕ CONSULTA #1

96

Lógicas proposicionales difusas Habiendo presentado ya la noción de conjuntos difusos, presentaremos ahora diversas lógicas proposicionales difusas. Construídas ellas a partir de un conjunto de variables proposicionales, toda vez que se asigne valores de verdad a dichas variables, cualquier otra proposición en la lógica proposicional en cuestión asumirá también un valor de verdad. Una asignación de un valor de verdad a una variable proposicional la podemos considerar como ``el grado de pertenencia'' de esa variable a un conjunto difuso de ``enunciados verdaderos''. En otras palabras, una asignación de valores de verdad a las variables proposicionales es un conjunto difuso en el universo de esas variables. Ahora bien, cualquier otra proposición se obtiene a partir de variables proposicionales conectándolas mediante conectivos lógicos. A cada tal conectivo lo podemos poner en correspondencia con una operación conjuntista como las ya vistas. En consecuencia, los valores de verdad asumidos por proposiciones complejas serán los obtenidos mediante la aplicación de los correspondientes operadores conjuntistas difusos, aplicados desde los valores asignados a las variables proposicionales. En esta sección presentaremos estas construcciones con detalle. Primeramente haremos un repaso de la construcción sintáctica de proposiciones y luego presentaremos diversos esquemas de ``propagación de valores de verdad'': algunos de los obtenidos cuando se considera a la negación y la conjunción como miembros de un conjunto completo de conectivos, luego a algunos considerando la conjunción y la implicación y luego a algunos considerando la implicación y la negación. Finalmente, concluiremos esta sección, y nuestra presentación, formulando uan serie de problemas típicos en las lógicas difusas. Por razones de espacio omitimos aquí los cálculos de predicados difusos. Remitimos a los lectores interesados a los libros de Bolc y Borowik [2], Dubois y Prade [5] y Kaufmann [9]. Sintaxis Recordamos que un cálculo de proposiciones (CProp) se construye a partir de un conjunto finito de variables proposicionales , de los valores constantes 0,1 a los que se identifica como falso y verdadero, respectivamente, y de algunos conectivos, entre los cuáles están llamados negación, disyunción, conjunción, implicación y equivalencia, respectivamente. Las formas proposicionales son las así llamadas fórmulas bien formadas. Para precisar el SISTEMAS DIGITALES Ŕ CONSULTA #1

97

concepto de fórmula bien formada asignemos primeramente prioridades a los conectivos: tiene prioridad

1

tienen prioridad 2

tienen prioridad 2 En el manejo de prioridades, la convención es usual: ``Menores valores numéricos corresponden a prioridades mayores y, con prioridades iguales, se aplican primero los conectivos más a la izquierda''. El conjunto FP de formas proposicionales se define inductivamente, y al mismo tiempo se define la noción de conectivo principal de FP's. En el recuadro (10) presentamos estas definiciones precisas. Table 10: Definición de formas proposicionales.

SISTEMAS DIGITALES Ŕ CONSULTA #1

98

Por ejemplo, consideremos el acertijo siguiente: Ha ocurrido un cuantioso robo en una tienda. Los asaltantes transportaron su botín en una camioneta. Posteriormente se atrapa a tres maleantes sospechosos A, B y C. Las pesquisas muestran evidencias de que A siempre se acompaña de B o de C para sus fechorías, C por su lado nunca actuaría solo, pero también A no se acompañaría de C en un atraco. El atraco sólo pudo haber sido cometido por A, B o C y al menos uno de ellos es culpable. Hay que decidir las culpabilidades de ellos. Consideremos tres variables proposicionales para codificar correspondientes hipótesis:

Los ``hechos'' siguientes pueden representarse por correspondientes formas proposicionales: 1. Si A fuese culpable y B inocente, entonces C ha de ser culpable: . 2. C nunca actuaría solo: . 3. A nunca actuaría con C: . 4. Nadie más que A, B o C pudieron haber actuado y al menos uno de ellos es culpable: . De acuerdo con el acertijo, si los cuatro hechos anteriores fuesen verdaderos, ¿qué podría decirse acerca de las culpabilidades de A, B y C? Y si acaso se tuviese una evidencia de que cada uno de esos hechos es verdadero con una cierta probabilidad, ¿qué podría decirse acerca de las probabilidades de que A, B y C sean culpables? El acertijo se formaliza naturalmente en un cálculo proposicional con tres variables. En lo que sigue, trataremos el acertijo con las respectivas propagaciones de valores que introduzcamos. Semánticas basadas en conjunción y negación A toda forma proposicional se le puede asociar un valor de verdad, el cual ha de estar en función de los valores de verdad de las variables proposicionales que aparezcan en la forma proposicional y de la estructura de esa forma. Una asignación es una función verdad . Si que p es falsa. haciendo p(0)=0 y p(1)=1. Como un primer de verdad a todas proposicionales, operador extender

que a cada variable proposicional le asocia un valor de v(p)=1 decimos que p es verdadera, en tanto que si v(p)=0 decimos A toda asignación v la podemos extender a las constantes 0, 1 enfoque para asociar valores las formas sea una negación y sea un conjuntor. Entonces, a toda asignación se le puede a una función de manera inductiva: SISTEMAS DIGITALES Ŕ CONSULTA #1

99

En adelante confundiremos a v* con v. Veamos algunos ejemplos. Min-Max. Sea y N(x)=N1(x)=1-x. Entonces,

Las gráficas de estas funciones coinciden con las mostradas en la figura 13. Por ejemplo, consideremos las proposiciones que formalizan el acertijo al final de la subsección anterior. Escribamos a=v(pA), b=v(pB) y c=v(pC). Entonces, en la interpretación Min-Max se tiene:

Así pues, para cualquier valor se tiene que cada una de estas proposiciones tiene un valor mayor o igual a k si y sólo si o bien . En otras palabras, los cuatro hechos serán tanto más verdaderos cuanto a la vez A es inocente y B es culpable, o bien C es inocente y B es culpable (en cualquiera de los dos casos, la culpabilidad o inocencia del tercer sospechoso es irrelevante). Producto-D. SISTEMAS DIGITALES Ŕ CONSULTA #1

100

Sea y N(x)=N1(x)=1-x. Entonces,

Las gráficas de estas funciones coinciden con las mostradas en la figura 14. Con el mismo ejemplo del acertijo, en la interpretación Producto-D, se tiene:

Así pues, para cualquier , cada una de estas proposiciones tiene un valor mayor o igual a k si y sólo si se cumplen las siguientes cuatro desigualdades:

Por ejemplo, si a y (1-b) son pequeñas (independientemente del valor de c), es decir Aes inocente y B culpable, entonces k tiende a ser 1, es decir, los hechos tienden a ser verdaderos, y el recíproco también vale. Lo mismo pasa si c y (1-b) son pequeños. En suma, al igual que antes se vió, bien A es inocente y B culpable, o bien C es inocente y B culpable.

ukasiewicz-D.

y

Sea N(x)=N1(x)=1-x. Entonces,

SISTEMAS DIGITALES Ŕ CONSULTA #1

101

Las gráficas de estas funciones coinciden con las mostradas en la figura 15. Siguiendo con el ejemplo del acertijo, en la interpretación ukasiewicz-D, se tiene:

Así pues, para cualquier , cada una de estas proposiciones o igual a k si y sólo si ocurre bien que o bien En todo cálculo proposicional difuso surgen entonces dos Problema 3.1

tiene un valor mayor problemas:

(Propagación de incertidumbres hacia adelante) Dada una una forma proposicional determinar el valor que ha de

asumir

asignación y

bajo la asignación v.

Problema 3.2 SISTEMAS DIGITALES Ŕ CONSULTA #1

102

(Propagación de incertidumbres hacia atrás) Dada una asignación y m formas proposicionales con sus respectivos valores asumidos bajo la asignación v, , determinar los valores que han de haber asumido las variables proposicionales bajo la asignació n v. La propagación de incertidumbres hacia adelante se restringe, en el caso del cálculo proposicional clásico a la evaluación de tablas de verdad. Prácticamente, las solas definiciones de los, así llamados, operadores veritativos correspondientes a los conectivos proporcionan algoritmos para resolver este problema. Una medida de la dificultad en resolverlo es el número de conectivos que aparecen en la forma proposicional dada: El problema será tanto más tardado cuánto más conectivos aparezcan en la fórmula dada. El segundo problema, la propagación de incertidumbres hacia atrás, suele decirse, también, de diagnóstico: Si se tiene síntomas con una cierta intensidad, y éstos pueden depender de alguna manera de causas ``atómicas'' distinguidas, entonces ¿en qué medida están presentes esas causas para ocasionar tales síntomas? Existen diversos tratamientos para estos problemas, los cuales dependen, primeramente, de los operadores veritativos involucrados, y en un segundo plano, de la sintaxis de las formas proposicionales dadas. Los métodos de demostración automática de teoremas resuelven (aún cuando parcialmente) este problema. Remitimos pues al lector a los capítulos en el presente volumen relativos a demostración automática y a programación lógica para conocer algunos de estos métodos. La explotación práctica de esas técnicas ha dado origen a los ``sistemas expertos''. En la literatura técnica (p. ej. [1,8]) se puede encontrar mucha información sobre este tema. Semánticas basadas en conjunción e implicación Como una observación complementaria a la Observación 2.3 tenemos que el conjunto de operadores es también completo. En efecto, el complemento puede obtenerse haciendo . Así que, alternativamente, si se define un operador correspondiente a , junto con un conjuntor, se puede definir correspondientes a los demás conectivos. Sea

operadores pues

un operador conjuntor. Definamos como . Es decir, (6)

se dice ser el residuo del operador conjuntor . Los valores de verdad de los conectivos podrían ser, en una primera instancia, los siguientes: SISTEMAS DIGITALES Ŕ CONSULTA #1

103

=

(7)

= =

(8)

= =

Sin embargo estas últimas definiciones son inadecuadas pues harían que la disyunción no fuera conmutativa. Para ver que, en efecto, esto ocurre, formulemos primeramente la siguiente: Observación 3.1 Sea un operador conjuntor tal que ``no tenga divisores de cero'', es decir, (9)

Sea definida como en la ecuación (6) arriba. Entonces: 1. . 2. . 3. . 4. . 5. . 6.

Consecuentemente, coincide con

la

. negación , definida como en la ecuación (7) arriba, Omitiremos la demostración y nos permitimos encargársela al lector como un ejercicio. Así pues, de acuerdo con la ecuación (8) arriba:

SISTEMAS DIGITALES Ŕ CONSULTA #1

104

es decir, En consecuencia, la disyunción puede no ser conmutativa. Es menester pues introducir de alguna otra forma a los conectivos. Dado un operador conjuntor que ``no tenga saltos'' es posible reconstruir a los operadores Máximo y Mínimo. La demostración es puramente técnica (consiste de hecho en la comprobación de algunas desigualdades) y por eso la omitimos: Observación 3.2 Sea un operador conjuntor contínuo. 1. .

Entonces:

2. . Asociemos el operador conjuntor a un conectivo ``conjunción fuerte'' y definamos a los demás, incluído uno ``disyunción fuerte'', como sigue:

En tal caso, tendremos las equivalencias lógicas:

Así pues, utilizando un operador conjuntor (contínuo) es posible construir un cálculo proposicional difuso. Veamos algunos ejemplos de este tipo de construcción: Gödel. Consideremos el operador conjuntor . Para cualesquiera dos números se tiene,

:

SISTEMAS DIGITALES Ŕ CONSULTA #1

105

Observamos que

si , la implicación (1) se cumple para cualquier z, y la implicación

(2) se cumple porque su consecuente es verdadero. En tanto que si x>y, la implicación (1) se cumple para cualquier , y también para tales z se cumplirá la implicación (2), pues tanto su antecedente como su consecuente serán falsos. Consecuentemente, Los valores de verdad de los conectivos quedan entonces definidos como en el recuadro (11), Table 11: Conectivos resultantes del conjuntor de Gödel.

y sus gráficas pueden ser vistas en la figura 18. Figure 18: Operadores composicionales de Gödel.

SISTEMAS DIGITALES Ŕ CONSULTA #1

106

SISTEMAS DIGITALES Ŕ CONSULTA #1

107

Producto-F. Consideremos el operador

conjuntor . Para cualesquiera dos números se

tiene, :

Consecuentemente, verdad de los quedan entonces en el recuadro (12),

Los valores de conectivos definidos como Table 12: Conectivos resultantes del conjuntor producto.

y sus gráficas pueden ser vistas en la figura 19. Figure 19: Operadores composicionales de Producto-F.

SISTEMAS DIGITALES Ŕ CONSULTA #1

108

ukasiewicz. SISTEMAS DIGITALES Ŕ CONSULTA #1

109

Consideremos el operador Observemos que este operador no relación (9), es decir, en este operador sí hay divisores de cero. Para cualesquiera dos números se

conjuntor satisface

. la

tiene, :

Consecuentemente, . Los valores de verdad de los conectivos quedan entonces definidos como en el recuadro (13), Table: Conectivos resultantes del conjuntor de ukasiewicz.

y sus gráficas pueden ser vistas en la figura 20. Figure: Operadores composicionales de ukasiewicz-F.

SISTEMAS DIGITALES Ŕ CONSULTA #1

110

Semánticas basadas en implicación y negación Hasta ahora hemos extendido los conectivos siguiendo principalmente dos enfoques: En uno consideramos una conjunción y una negación como básicos. En otro, consideramos una conjunción, en SISTEMAS DIGITALES Ŕ CONSULTA #1

111

términos de ella definimos una implicación, y estos dos conectivos fueron considerados para ser los básicos. Para finalizar las posibles extensiones de asignaciones, supongamos dadas una implicación y una negación como conectivos básicos. Entonces podemos extender valores de verdad a los demás conectivos como sigue:

Veamos algunos ejemplos. En todos ellos supondremos que la negación es .

Producto-D. Para que en

la el

función obtenemos los mismos operadores caso Producto-D definido anteriormente.

ukasiewicz-D.

Para la operadores definido anteriormente.

función obtenemos los mismos que en el caso ukasiewicz-D

Implicación por inclusión.

Consideremos

Se tiene que funciones

los conectivos tendrán las mostradas en el recuadro (14).

Table 14: Conectivos resultantes de la implicación por inclusión. SISTEMAS DIGITALES Ŕ CONSULTA #1

112

Implicación de Brower o por falla. Consideremos

Se tiene que los conectivos tendrán las funciones mostradas en el recuadro (15). Table 15: Conectivos resultantes de la implicación de Brower.

En este caso, ni la conjunción ni la disyunción son conmutativas. Implicación de Zadeh. SISTEMAS DIGITALES Ŕ CONSULTA #1

113

Consideremos Se tiene que los conectivos tendrán las funciones mostradas en el recuadro (16). Table 16: Conectivos resultantes de la implicación de Zadeh.

En este caso, ni la conjunción ni la disyunción son conmutativas.

Implicación de Bayes.

Consideremos Se tiene que los conectivos tendrán las funciones mostradas en el recuadro (17). SISTEMAS DIGITALES Ŕ CONSULTA #1

114

Table 17: Conectivos resultantes de la implicación de Bayes.

En este caso, ni la conjunción ni la disyunción son conmutativas. Problemas típicos de lógicas difusas

Hemos visto que a partir de un conjunto X de variables proposicionales, habiendo seleccionado un conjunto de conectivos de negación, de conjunción, de disyunción, de implicación o de equivalencia, y ateniéndonos siempre a reglas sintácticas precisas que definan la buena formación de fórmulas, podemos considerar una colección de formas proposicionales. El sistema

es una Para cada , si entonces al

lógica proposicional difusa. sustituir cada variable Xi por el

valor de verdad xi,

, la forma

de verdad . La función ,

asumirá un valor

, se dice ser la tabla de verdad de la forma proposicional .



Sea y sea . Diremos que es a-satisfactible

si , SISTEMAS DIGITALES Ŕ CONSULTA #1

115

  

a-inconsistente si no es a-satisfactible, es decir, si , a-tautología si , y a-refutable si no es tautología, es

adecir,

. Si y , diremos que

es una a-consecuencia lógica de

, y escribiremos , si (10)

Formularemos algunas observaciones evidentes y omitiremos sus demostraciones.

Observación 3.3 Sea una función de negación y un conectivo de negación cuya semántica corresponde a N, es decir, para toda forma proposicional , . Entonces, valen las siguientes dos equivalencias: 1. es asatisfactible si y sólo si es a-refutable. 2. es a-tautología si y sólo si es a-inconsistente. Diremos que un conectivo de implicación satisface al Teorema de Deducción si se cumple la equivalencia

Observación 3.4 Si es un operador conjuntor y la implicación tiene como semántica al operador , entonces esa implicación satisface al Teorema de Deducción.

Observación 3.5 conjuntor, es una función de como semántica al operador , al Teorema de Deducción.

Observación 3.6 Si la implicación

Si

es

un

operador negación y la implicación tiene entonces esa implicación satisface

satisface al Teorema de Deducción, entonces SISTEMAS DIGITALES Ŕ CONSULTA #1

116

Planteemos algunos problemas típicos en las lógicas proposicionales difusas:

Problema 3.3 (Satisfactibilidad) Dada una acaso

y una

se ha de decidir si

es a-satisfactible.

Problema 3.4 (Tautologicidad) una y una se ha de decidir si acaso una a-tautología.

Dada es

Problema 3.5 (Consecuencias lógicas) Dados , ha de decidir si acaso .

y una

se

Problema 3.6 (Valoración hacia atrás) de caracterizar al conjunto de asignaciones no menor que a:

Dados y se trata que bajo dan un valor de verdad

Problema 3.7 (Definibilidad) Diremos que una función es definible en una lógica proposicional difusa si existe una forma proposicional tal que . En este problema, dada una función se ha de decidir si acaso f es definible. En diferentes lógicas los problemas anteriores serán resueltos con algoritmos de diversas complejidades. Por ejemplo, el problema de satisfactibilidad es un paradigma de los problemas intratables, aún cuando se le restrinja al Cálculo Proposicional usual. En cuanto al problema de definibilidad, recordamos que en el Cálculo Proposicional usual la clase de funciones definibles coincide con y el dominio forma un álgebra booleana. En otras lógicas proposicionales difusas, aunque no se tenga un álgebra booleana se puede tener una rica estructura algebraica, como la de los retículos regulares residuales. SISTEMAS DIGITALES Ŕ CONSULTA #1

117

CONVERSIÓN DE BASES Sistema de numeración Es un conjunto de símbolos y reglas de generación que permiten construir todos los números válidos en el sistema. Un sistema de numeración puede representarse como N = S + R donde:  N es el sistema de numeración considerado  S son los símbolos permitidos en el sistema. En el caso del sistema decimal son {0,1...9}; en el binario son {0,1}; en el octal son {0,1...7}; en el hexadecimal son {0,1...9,A,B,C,D,E,F}  R son las reglas de generación que nos indican qué números son válidos y cuáles son no-válidos en el sistema. Estas reglas son diferentes para cada sistema de numeración considerado, pero una regla común a todos es que para construir números válidos en un sistema de numeración determinado sólo se pueden utilizar los símbolos permitidos en ese sistema (para indicar el sistema de numeracíon utilizado se añade como subíndice al número). Sistemas Numéricos Los sistemas de numeración son conjuntos de dígitos usados para representar cantidades, así se tienen los sistemas de numeración decimal, binario, octal, hexadecimal, romano, etc. Los cuatro primeros se caracterizan por tener una base (número de dígitos diferentes: diez, dos, ocho, dieciséis respectivamente. Un sistema de numeración es un conjunto de símbolos y reglas de generación que permiten construir todos los números válidos en el sistema. Un sistema de numeración SISTEMAS DIGITALES Ŕ CONSULTA #1

118

puede representarse como N = S + R donde: • N es el sistema de numeración considerado • S son los símbolos permitidos en el sistema. En el caso del sistema decimal son {0,1...9}; en el binario son {0,1}; en el octal son {0,1...7}; en el hexadecimal son {0,1...9,A,B,C,D,E,F} • R son las reglas de generación que nos indican qué números son válidos y cuáles son no-válidos en el sistema. Estas reglas son diferentes para cada sistema de numeración considerado, pero una regla común a todos es que para construir números válidos en un sistema de numeración determinado sólo se pueden utilizar los símbolos permitidos en ese sistema (para indicar el sistema de numeración utilizado se añade como subíndice al número). Sistema Binario El sistema de numeración más simple que usa la notación posicional es el sistema de numeración binario. Este sistema, como su nombre lo indica, usa solamente dos dígitos (0,1). Ejemplos:  el número 125(10) es un número válido en el sistema decimal, pero el número 12A(10 no lo es, ya que utiliza un símbolo A no válido en el sistema decimal.  el número 35(8) es un número válido en el sistema octal, pero el número 39(8 no lo es, ya que el símbolo 9 no es un símbolo válido en el sistema octal.  el número F1E4(16) es un número válido en el sistema hexadecimal, pero el número FKE4(16 no lo es, ya que el símbolo K no es un símbolo válido en el sistema hexadecimal. Clasificación De una forma general y amplia podemos clasificar los sistemas de numeración en dos grandes tipos Posicionales El valor de los símbolos que componen el sistema depende del valor que se les ha asignado, y de la posición que ocupan en el número. No Posicionales El valor de los símbolos que componen el sistema es fijo, y no depende de la posición que ocupa el símbolo dentro del número. Sistemas de numeración posicionales Los sistemas de numeración usados en la actualidad son ponderados o posicionales. En estos sistemas de numeración el valor de un dígito depende tanto del símbolo utilizado, como de la posición que ése símbolo ocupa en el número. El número de símbolos permitidos en un sistema de numeración posicional se conoce como base del sistema de numeración. Si un sistema de numeración posicional tiene base b significa que disponemos de b símbolos diferentes para escribir los números, y que b unidades forman una unidad de orden superior. Podemos ver esto con un ejemplo en el sistema de numeración decimal. Si contamos desde 0, incrementando una unidad cada vez, al llegar a 9 unidades hemos agotado los símbolos disponibles, y si queremos seguir contando no disponemos de un nuevo símbolo para representar la cantidad que hemos contado. Por tanto añadimos una nueva columna a la izquierda del número, reutilizamos los símbolos de que disponemos, decimos que tenemos una unidad de segundo orden (decena), ponemos a cero las unidades, y seguimos contando. De igual forma, cuando contamos hasta 99, hemos agotado los símbolos disponibles para las dos columnas; por tanto si contamos (sumamos) una unidad más, debemos poner a cero la columna de la derecha y sumar 1 a la de la izquierda (decenas). Pero la columna de la izquierda ya ha agotado los símbolos disponibles, así que la ponemos a cero, y sumamos 1 a la siguiente columna (centena). Como resultado nos queda que 99+1=100.

SISTEMAS DIGITALES Ŕ CONSULTA #1

119

Como vemos, un sistema de numeración posicional se comporta como un cuentakilómetros: va sumando 1 a la columna de la derecha y, cuando la rueda de esa columna ha dado una vuelta (se agotan los símbolos), se pone a cero y se añade una unidad a la siguiente columna de la izquierda. Pero estamos tan habituados a contar usando el sistema decimal que no somos conscientes de este comportamiento, y damos por hecho que 99+1=100, sin pararnos a pensar en el significado que encierra esa expresión. Tal es la costumbre de calcular en decimal que la inmensa mayoría de la población ni siquiera se imagina que pueden existir otros sistemas de numeración diferentes al de base 10, y tan válidos y útiles como este. Entre esos sistemas se encuentran el de base 2 Sistema binario, de base 8 Sistema octal y el de base 16 Sistema hexadecimal. Teorema Fundamental de la Numeración Este teorema establece la forma general de construir números en un sistema de numeración posicional. Primero estableceremos unas definiciones básicas:  N: Sistema de numeración  b: base del sistema de numeración. Número de símbolos permitidos en el sistema.  d: un símbolo cualquiera de los permitidos en el sistema de numeración  n: número de dígitos de la parte entera.  ,: coma fraccionaria. Símbolo utilizado para separar la parte entera de un número de su parte fraccionaria.  k: número de dígitos de la parte decimal. La fórmula general para construir un número (cualquier número) N en un sistema de numeración posicional de base b es la siguiente:

El valor total del número será la potencia de la base correspondiente Esta representación posibilita la ejecución de operaciones aritméticas.

suma de cada dígito multiplicado por la a la posición que ocupa en el número. realización de sencillos algoritmos para la

Sistema decimal, numeración en base 10 En programación se usa el decimal porque es el que usamos los humanos, y al fin y al cabo, el ordenador está a su servicio. El sistema decimal es un sistema en base 10. En una cantidad decimal cada digito tiene un peso asociado a una potencia de 10 según la posición que ocupe. Los pesos para los números enteros son potencias positivas de diez, aumentado de derecha a izquierda, comenzando por 10º=1. El sistema decimal es un sistema de numeración en el que las cantidades se representan utilizando como base el número diez, por lo que se compone de las cifras: cero (0), uno (1), dos (2), tres (3), cuatro (4), cinco (5), seis (6), siete (7), ocho (8) y nueve (9). Este conjunto de símbolos se denomina números árabes. Es el sistema de numeración usado habitualmente en todo el mundo (excepto ciertas culturas) y en todas las áreas que requieren de un sistema de numeración. Sin embargo hay ciertas técnicas, como por ejemplo en la informática, donde se utilizan sistemas de numeración adaptados al método de trabajo como el binario o el hexadecimal. También pueden existir en algunos idiomas vestigios del uso de SISTEMAS DIGITALES Ŕ CONSULTA #1

120

otros sistemas de numeración, como el quinario, el duodecimal y el vigesimal. Por ejemplo, cuando se cuentan artículos por docenas, o cuando se emplean palabras especiales para designar ciertos números (en francés, por ejemplo, el número 80 se expresa como "cuatro veintenas"). Según los antropólogos, el origen del sistema decimal está en los diez dedos que tenemos los humanos en las manos, los cuales siempre nos han servido de base para contar. El sistema decimal es un sistema de numeración posicional, por lo que el valor del dígito depende de su posición dentro del número. Así:

Los números decimales se pueden representar en rectas numéricas Peso:....106105104103102101100 Si se aplica la notación posicional al sistema de numeración decimal entonces el digito numero n tiene el valor: (10n)*A. En el sistema decimal los símbolos válidos para construir números son {0...9} (0 hasta 9, ambos incluidos), por tanto la base (número de símbolos válidos en el sistema) es 10. En la figura inferior podemos ver el teorema fundamental de la numeración aplicado al sistema decimal.

Los dígitos a la izquierda de la coma fraccionaria representados por dn ... d2 d1 d0 , toman el valor correspondiente a las potencias positivas de la base (10 en el sistema decimal), en función de la posición que ocupan en el número, y representan respectivamente al dígito de las n-unidades (10n), centenas (102=100), decenas (10¹=10) y unidades (100=1), ya que como se ve en el gráfico están colocados en las posiciones n..., tercera, segunda y primera a la izquierda de la coma fraccionaria. Los dígitos a la derecha de la coma fraccionaria d-1, d-2, d-3 ... d-n representan respectivamente al dígito de las décimas (10-1=0,1), centésimas (10-2=0,01), milésimas (10-3=0,001) y n-ésimas (10-n) . Este valor es positivo y es mayor o igual que uno si el digito se localiza a la izquierda del punto decimal y depende del digito A, en cambio el valor es menor que uno se el digito se localiza a la derecha del punto decimal. Por ejemplo, el número 3486.125 expresado en la notación posicional es: =5*(10-3)+2*(10-2)+1*(10-1)+9*(100)+8*(101)+4*(102)+3*(103) =0.005+0.02+0.1+9+80+400+3000 Es sistema decimal usa diez dígitos para expresar los números, 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9. Por ejemplo para el número decimal 42335: 5 * 10^0 + 3 * 10^1 + 3 * 10^2 + 2 * 10^3 + 4 * 10^4 = 5 + 30 + 300 + 2000 + 40000

Sistema binario El sistema binario es un sistema en base dos. Es el sistema utilizado por los computadores digitales y tienes sólo dos valores lógico posibles "0 y 1", este sistema se usa en una computadora para el manejo de datos e información. Normalmente al digito cero se le asocia con cero voltios, apagado, inhibido (de SISTEMAS DIGITALES Ŕ CONSULTA #1

121

la computadora) y el digito 1 se asocia con +5,+12 voltios, encendido, energizado (de la computadora) con el cual se forma la lógica positiva. Como el sistema binario usa la notación posicional entonces el valor de cada digito depende de la posición que tiene el número. En un número entero binario el bit a la derecha es el bit menos significativo y tiene un peso de 2º=1. El bit del extremo izquierdo el bit mas significativo y tiene un peso dependiendo del tamaño del numero binario. Los pesos crecen de derecha a izquierda en potencias de 2. Los pesos decrecen de izquierda a derecha en potencias negativas de 2, así por ejemplo el número 110101b es: 1*(20)+0*(21)+1*(22)+0*(23)+1*(24)+1*(25)=1+4+16+32=53d Con un número finito de bits tan solo se puede representar un subconjunto de los números naturales. Ejemplo: Un número de cuatro cifras en base 10 d3d2d1d0 se obtiene mediante la fórmula: valor = _3i =0(di _ basei) = (d0 _ 100) + (d1 _ 101) + (d2 _ 102) + (d3 _ 103) Análogamente, un número de cuatro cifras en base 2, se obtiene mediante la misma fórmula. Ejemplo: El valor del numero 1101 se obtiene valor = _3i =0(di _ 2i) = (d0 _ 1) + (d1 _ 2) + (d2 _ 4) + (d3 _ 8) Otra forma de cálculo: Los dígitos de un número binario tienen como peso relativo las potencias de 2: 1, 2, 4, 8, 16, . . . El valor de un número no varía si se añaden ceros a su izquierda. Al conjunto de ocho bits se le denomina byte.

El peso de cada bit es 2p ocupa el bit en el número bit menos significativo y contando desde el cero.

siendo p la posición que binario empezando por el

SISTEMAS DIGITALES Ŕ CONSULTA #1

122

Bit menos significativo: El de menor peso, es decir 20 = 1. El primero por la derecha. Bit más significativo: El de mayor peso. En un byte, el de peso 27 = 128. El último por la derecha. Tomemos ahora el sistema binario o de base 2. En este sistema los dígitos válidos son {0,1}, y dos unidades forman una unidad de orden superior. En la figura inferior podemos ver el teorema fundamental de la numeración aplicado al sistema binario.

Seguimos con el ejemplo del cuentakilómetros visto arriba. En este caso las ruedas no tienen 10 símbolos (0 al 9) como en el caso del sistema decimal. En el sistema binario la base es 2, lo que quiere decir que solo disponemos de 2 símbolos {0,1} para construir todos los números binarios. Aquí las ruedas del cuentakilómetros dan una vuelta cada dos unidades. Por tanto, una vez que contamos (sumamos) dos hemos agotado los símbolos disponibles para esa columna, y debemos poner a cero la columna y usar otra columna a la izquierda. Así, si contamos en binario, tras el número 0(2 viene el 1(2, pero si contamos una unidad más debemos usar otra columna, resultando 10(2 Sigamos contando 0(2,1(2,10(2,11(2. Al añadir una unidad a la columna de las unidades, esa columna ha dado la vuelta (ha agotado los símbolos disponibles), y debemos formar una unidad de segundo orden, pero como ya hay una, también agotaremos los símbolos disponibles para esa columna, y debemos formar una unidad de tercer orden o 100(2. Así, en el sistema binario 11(2 + 1(2 + 100(2 Por su simplicidad y por poseer únicamente dos dígitos diferentes, el sistema de numeración binario se usa en computación para el manejo de datos e información. A la representación de un dígito binario se le llama bit (de la contracción binary digit) y al conjunto de 8 bits se le llama byte, así por ejemplo: 110 contiene 3 bits, 1001 contiene 4 y 1 contiene 1 bit. Como el sistema binario usa la notación posicional entonces el valor de cada dígito depende de la posición que tiene en el número, así por ejemplo el número 110101b es: 1*(20) + 0*(21) + 1*(22) + 0*(23) + 1*(24) + 1*(25) = 1 + 4 + 16 + 32 = 53d La computadora está diseñada sobre la base de numeración binaria (base 2). Por eso este caso particular merece mención aparte. Siguiendo las reglas generales para cualquier base expuestas antes, tendremos que: Existen dos dígitos (0 o 1) en cada posición del número. Numerando de derecha a izquierda los dígitos de un número, empezando por cero, el valor decimal de la posición es 2n. Por ejemplo, 11012 (en base 2) quiere decir: 1*(23) + 1*(22) + 0*(21) + 1*(20) = 8 + 4 + 0 + 1 = 1310

CONVERSIÓN DE BASES En programación es frecuente acudir a diferentes sistemas de numeración según las circunstancias. Hay que tener en cuenta que el hombre usa el sistema decimal, (según una opinión bastante general debido a una circunstancia más o menos afortunada: por la simple razón de que tiene diez dedos entre SISTEMAS DIGITALES Ŕ CONSULTA #1

123

las dos manos. A menudo se usa el cinco como base de numeración auxiliar). La palabra dígito y dedo tienen la misma raíz latina, por eso usamos una numeración con 10 dígitos o dedos. Hubiera sido mucho más práctico usar un sistema de numeración basado en un número con más factores, como el 12 (3*2*2) o mejor todavía el 8 (2*2*2) o el 16 (2*2*2*2). Pero por suerte o por desgracia: 1. Los humanos tenemos diez dedos y 2. Los humanos contamos con los dedos (al menos al principio), porque están muy a mano. Para contar de 1 a 10 es fácil, pero ¿qué pasa cuando hay que contar más de diez cosas?. Pues usamos las manos de un "amigo" para contar cuantas veces hemos usado los dedos de las nuestras, así "12", sería dos más una vez diez. Otra circunstancia curiosa es que en el sistema de numeración que usamos los números se leen y escriben de derecha a izquierda, al revés del modo en que escribimos las palabras. Cuando interpretamos números de varias cifras, hay que empezar por la derecha, el primer dígito son unidades, el siguiente decenas, es decir cuantos grupos de 10 elementos estamos contando. Las siguientes centenas, es decir el número de grupos de 10 elementos de grupos de 10 elementos, o sea el número de grupos de 100 elementos. Y así sucesivamente. Si quieres saber más detalles sobre la historia de los sistemas de numeración, consulta este enlace. Sistemas con base En los sistemas con base N (un número cualquiera), se representa mediante un polinomio de la forma: donde ai es un símbolo del sistema, al que llamamos dígito, y b es la base. La base es igual a la cantidad de símbolos del sistema. Notando que los dígitos son la representación en el sistema de los números enteros menores que la base, tenemos que se cumple la condición b > ai ³ 0. La base b la representamos siempre en el sistema decimal (por supuesto si la representáramos en el sistema del cual es base su representación sería 10). Habitualmente la representación omite las potencias de la base y coloca un punto (o coma) para separar la parte de potencias positivas de la parte con potencial negativas, quedando: _ Sistema decimal: El sistema de numeración utilizado en la vida cotidiana es el decimal, cuya base es diez, utilizando los conocidos diez símbolos 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9 . _ Sistema binario: Es el sistema de base 2 en el cual los dos símbolos utilizados son el 0 y el 1, los que reciben el nombre de bit (binary digit). _ Sistema Octal: Es el sistema de base 8 en el cual se usan los símbolos 0, 1, 2, 3, 4, 5, 6, 7. El sistema más usual de representación numérica es el sistema posicional donde cada dígito del vector numérico tiene un valor distinto dependiendo de su posición concreta en el vector.

SISTEMAS DIGITALES Ŕ CONSULTA #1

124

La representación de números enteros y naturales en binario se reduce a un intervalo definido por el número de bits utilizado por la representación.

En un

intervalo de números reales existen infinitos números. ¿Cómo se puede representar un conjunto finito con un conjunto infinito de bits?. Sólo se representan ciertos números. Todo número real se puede representar mediante la expresión: mantisa _ basee, donde la mantisa es un número cuyo primer decimal es diferente de cero. Ejemplo: 15,4 = 0,154 _ 102: Ambos datos se pueden codificar como enteros La representación en coma flotante consiste en codificar las dos partes de un número: mantisa y exponente como dos enteros: mantisa _ 2e. Los dígitos a la derecha de la coma tienen como peso las potencias negativas de 2. Ejemplo: 110, 101 = 1 _ 22 + 1 _ 21 + 0 _ 20 + 1 _ 2−1 + 0 _ 2−2 + 1 _ 2−3 = 6, 625 Para representar un numero en coma flotante se desplaza hasta que no haya dígitos en su parte entera y se ajusta el exponente. Ejemplo: 110, 101 = 0, 110101 _ 23 Supongamos una representación con 8 bits para la mantisa y 4 para el exponente. La codificación sería: mantisa = 11010100, exp = 0011.

SISTEMA OCTAL El sistema numérico en base 8 se llama octal y utiliza los dígitos 0 a 7. Los números octales pueden construirse a partir de números binarios agrupando cada tres dígitos consecutivos de estos últimos (de derecha a izquierda) y obteniendo su valor decimal. Por ejemplo, el número binario para 74 (en decimal) es 1001010 (en binario), lo agruparíamos como 1 001 010. De modo que el número decimal 74 en octal es 112. SISTEMAS DIGITALES Ŕ CONSULTA #1

125

Está ado por 8 dígitos (0, 1, 2, 3, 4, 5, 6, 7), es también muy usado en la computación, por poseer una base exacta de 2 o de la numeración binaria. Tiene el mismo valor que en el sistema de numeración decimal. El sistema de numeración octal usa la notación posicional, los pesos crecen de derecha a izquierda en potencias de 8. Sistema Octal es también muy usado en la computación por tener una base que es potencia exacta de 2 o de la numeración binaria. Esta característica hace que la conversión a binario o viceversa sea bastante simple. El sistema octal usa 8 dígitos (0, 1, 2, 3, 4, 5, 6,7) y tienen el mismo valor que en el sistema de numeración decimal. Como el sistema de numeración octal usa la notación posicional entonces para el número 3452.32q tenemos: 2*(80) + 5*(81) + 4*(82) + 3*(83) + 3*(8-1) + 2*(8-2) = 2 + 40 + 4*64 + 64 + 3*512 + 3*0.125 + 2*0.015625 = 2 + 40 + 256 + 1536 + 0.375 + 0.03125 = 1834 + 40625d Entonces, 3452.32q = 1834.40625d El sub índice q indica número octal, se usa la letra q para evitar confusión entre la letra o y el número 0. En informática, a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Es posible que la numeración octal se usara en el pasado en lugar del decimal, por ejemplo, para contar los espacios interdigitales o los dedos distintos de los pulgares Peso: 8483828180 Para demostrar lo antes descrito, tenemos el siguiente ejemplo: 3452.32q 2*(80)+5*(81)+4*(82)+3*(81)+2*(82)=2+40+4*64+64+3*512+3*025+2*0.015625=2+40+256+1536 +0.375+0.03125=1834+40625d entonces, 3452.32q= 1834.40625d El subíndice que indica número octal, se usa la letra "q" para evitar confusión entre la letra o y el número 0. En informática, a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Es posible que la numeración octal se usara en el pasado en lugar del decimal, por ejemplo, para contar los espacios interdigitales o los dedos distintos de los pulgares. Esto explicaría por qué en latín nueve (novem) se parece tanto a nuevo (novus). Podría tener el significado de número nuevo. El sistema octal usa ocho dígitos: 0, 1, 2, 3, 4, 5, 6 y 7. Este es el sistema de numeración que usaríamos si tuviéramos manos de cuatro dedos, como los Simpsons :-) Por ejemplo, un número en octal sería 125. Estamos en base 8,así que el número se traduce a decimal así: 5 * 8^0 + 2 * 8^1 + 1 * 8^2 = 5 + 2 * 8 + 64 = 85 (decimal) Desconozco el origen histórico de por qué de usa este sistema de numeración en ordenadores. Pero la explicación práctica es que la conversión entre binario y octal es casi directo. Por ejemplo tenemos el número binario 10010010001000101101001. Para convertirlo a octal agrupamos los dígitos de tres en tres empezando por la derecha, y rellenamos con ceros a la izquierda hasta tener sólo grupos de tres bits o dígitos: 010 | 010 | 010 | 001 | 000 | 101 | 101 | 001 A cada grupo de tres bits le podemos hacer corresponder un dígito octal, al 000 el 0, al 001 el 1, al 010 el 2, ... al 111 el 7. Así que podemos traducir directamente el número anterior a octal: 22210551 (octal) La conversión inversa, de octal a binario es igual de simple. Por ejemplo el número octal: 125 Cambiamos cada dígito octal por su equivalente binario: 001 | 010 | 101 SISTEMAS DIGITALES Ŕ CONSULTA #1

126

Y después eliminamos los separadores y los ceros iniciales: 1010101 (binario)

CODIFICACIÓN EN BASE 16 O HEXADECIMAL Los números en lógica binaria son demasiado largos. Para expresar un byte se precisa especificar los ocho bits. Tanto la notación binaria como su traducción a decimal es muy incomoda de manipular. La base 16 o hexadecimal permite una traducción instantánea de códigos binarios a un formato más compacto. El sistema hexadecimal, a veces abreviado como hex, es el sistema de numeración posicional de base 16 ŕempleando por tanto 16 símbolosŕ. Su uso actual está muy vinculado a la informática y ciencias de la computación, pues los computadores suelen utilizar el byte ó octeto como unidad básica de memoria; y, debido a que un byte representa 28 valores posibles, y esto poder representarse como , que, según el teorema general de la numeración posicional, equivale al número en base 16 10016, dos dígitos hexadecimales corresponden exactamente ŕpermiten representar la misma línea de enterosŕ a un byte. En principio dado que el sistema usual de numeración es de base decimal y, por ello, sólo se dispone de diez dígitos, se adoptó la convención de usar las seis primeras letras del alfabeto latino para suplir los dígitos que nos faltan. El conjunto de símbolos sería, por tanto, el siguiente:

Se debe notar que A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15. En ocasiones se emplean letras minúsculas en lugar de mayúsculas. Como en cualquier sistema de numeración posicional, el valor numérico de cada dígito es alterado dependiendo de su posición en la cadena de dígitos, quedando multiplicado por una cierta potencia de la base del sistema, que en este caso es 16. Por ejemplo: 3E0,A16 = 3×162 + E×161 + 0×160 + A×16-1 = 3×256 + 14×16 + 0×1 + 10×0,0625 = 992,625. El sistema hexadecimal actual fue introducido en el ámbito de la computación por primera vez por IBM en 1963. Una representación anterior, con 0Ŕ9 y uŔz, fue usada en 1956 por la computadora Bendix G15. El sistema de numeración hexadecimal, o sea de base 16, (es común abreviar hexadecimal como hex aunque hex significa base seis y no base dieciséis) es compacto y nos proporciona un mecanismo sencillo de conversión hacia el formato binario, debido a esto, la mayoría del equipo de cómputo actual utiliza el sistema numérico hexadecimal. Como la base del sistema hexadecimal es 16, cada dígito a la izquierda del punto hexadecimal representa tantas veces un valor sucesivo potencia de 16, por ejemplo, el número 123416 es igual a: 1*163 + 2*162 + 3*161 + 4*160 Lo que da como resultado: 4096 + 512 + 48 + 4 = 466010 Cada dígito hexadecimal puede representar uno de dieciséis valores entre 0 y 1510. Como sólo tenemos diez dígitos decimales, necesitamos inventar seis dígitos adicionales para representar los valores entre 1010 y 1510. En lugar de crear nuevos símbolos para estos dígitos, utilizamos las letras A a la F. La conversión entre hexadecimal y binario es sencilla, considere la siguiente tabla: Su uso actual está muy vinculado a la informática y ciencias de la computación. Esto se debe a que un dígito hexadecimal representa cuatro dígitos binarios: 4 bits = 1 nivel; por tanto, dos dígitos hexadecimales representan ocho dígitos binarios (8 bits = 1 byte que, como es sabido, es la unidad básica de almacenamiento de información). Dado que el sistema usual de numeración es de base decimal y, por ello, sólo se dispone de diez dígitos, se adoptó la convención de usar las seis primeras letras del alfabeto latino para suplir SISTEMAS DIGITALES Ŕ CONSULTA #1

127

los dígitos que nos faltan: A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15. Como en cualquier sistema de numeración posicional, el valor numérico de cada dígito es alterado dependiendo de su posición en la cadena de dígitos, quedando multiplicado por una cierta potencia de la base del sistema, que en este caso es 16. Por ejemplo: 3E0,A16 = 3×162 + E×161 + 0×160 + A×16-1 = 3×256 + 14×16 + 0×1 + 10×0,0625 = 992,625. El sistema hexadecimal actual fue introducido en el ámbito de la computación por primera vez por IBM en 1963. Una representación anterior, con 0Ŕ9 y uŔz, fue usada en 1956 por la computadora Bendix G-15. Los 16 dígitos se representan mediante los números 0 al 9 y las letras de la ’A’ a la ’F’. Cada digito en hexadecimal representa cuatro bits (y viceversa). Para denotar que un numero esta codificado en hexadecimal se precede con el prefijo 0x

Búsqueda de números primos La búsqueda de números primos en base 16 es menos eficiente que en base 10. A excepción del número 2, un número primo en hexadecimal puede terminar en cualquiera de las siguientes ocho cifras: 1, 3, 5, 7, 9, B, D ó F. El sistema binario es el que usan los ordenadores, que es como si sólo tuvieran un dedo, su unidad básica de memoria, el bit, sólo puede tomar dos valores, inactivo o activo, y se codifican como 0 y 1, respectivamente. Los ordenadores se quedan sin dedos enseguida, en cuanto tienen que contar más de uno, así que añaden más dígitos. Por ejemplo, veamos el número binario 10110. Estamos en base 2, así que el número se calcula así: 0 * 2^0 + 1 * 2^1 + 1 * 2^2 + 0 * 2^3 + 1 * 2^4 = 2 + 4 + 16 = 22 (decimal) Este tipo de numeración resulta muy útil cuando cada bit puede significar cosas diferentes para un ordenador. El sistema hexadecimal, que es el rey de los sistemas de numeración, al menos en lo que respecta a los ordenadores. Usa 16 dígitos, los archiconocidos 0 a 9 y para los otros seis se usan las letras A, B, C, D, E y F, que tienen valores 10, 11, 12, 13, 14 y 15, respectivamente. Se usan indistintamente mayúsculas y minúsculas. El sistema hexadecimal es un sistema en base 16 y consta de 16 dígitos diferentes que son: del 0 al 9 y luego de la letra A a la F, es decir 10 dígitos numéricos y seis caracteres alfabéticos. El sistema hexadecimal se usa como forma simplificada de representación de números binarios y debido a que 16 es una potencia de 2(24=16), resulta muy sencilla la conversión de los números del sistema binario al hexadecimal y viceversa. El sistema hexadecimal es compacto y nos proporciona un mecanismo sencillo de conversión hacia el formato binario, debido a esto, la mayoría del equipo de cómputo actual utiliza el sistema numérico SISTEMAS DIGITALES Ŕ CONSULTA #1

128

hexadecimal. Como la base del sistema hexadecimal es 16, cada digito a la izquierda del punto hexadecimal representa tantas veces un valor sucesivo potencia de 16, por ejemplo, el número 123416 es igual a: 1*163+2*162+3*161+4*160 Lo que da como resultado: 4096+512+48+4=466010 Los números hexadecimales tienen base 16. Los hexadecimales (o hex ) se pueden usar como una representación resumida de los números binarios. Los números hexadecimales tienen 16 dígitos posibles. Esto crea un problema ya que no hay símbolos para estos dígitos adicionales después del nueve. Por convención se usan letras para estos dígitos adicionales. Los 16 dígitos hexadecimales son: 0-9 y luego A, B, C, D, E, F. El digito A equivale a 10 en decimal, B es 11 etc. Cada digito de un número hexadecimal tiene una potencia de 16 asociada con del. Por ejemplo: 2BD16 = 2 × 162 + 11 × 161 + 13 × 160 = 512 + 176 + 13 = 701 Para convertir de decimal a hex use la misma idea que la usada para la conversión binaria excepto que se divide por 16. La rasgón por la cual los hexadecimales son mutiles es que hay una manera fácil para convertir entre hex y binario. Los números binarios se tornan largos y molestos rápidamente. Los hex son una manera mucho más compacta de representar los números binarios. Para convertir un número hexadecimal a binario simplemente convierta cada digito hexadecimal a un número binario de 4 bits. Por ejemplo, 24D16 se convierta a 0010 0100 11012. Observe que ¡los ceros delanteros son importantes! Si los ceros del digito de la mitad de 24D16 no se usan el resultado es erróneo. Convertir de binario a hex es así de fácil. Uno hace el proceso

inverso, convierte cada comenzando desde el extremo binario. Esto asegura que el

segmento de 4 bits a hexadecimal derecho, no desde el izquierdo, del número segmento de 4 bits es correcto 2.

Ejemplo: 110 0000 0101 1010 0111 11102 6 0 5 A 7 E16 Un número de 4 bits es llamado nibble . Así cada dígito hexadecimal corresponde a un nibble. Dos nibbles conforman un byte y por lo tanto un byte puede ser representado por dos dígitos hexadecimales. Los valores de un byte van de 0 a 11111111 en binario, 0 a FF en hex y 0 a 255 en decimal. Por ejemplo, un número hexadecimal 4F3D: SISTEMAS DIGITALES Ŕ CONSULTA #1

129

13 * 16^0 + 3 * 16^1 + 15 * 16^2 + 4 * 16^3 = 13 + 3 * 16+ 15 * 256 + 4 * 4096 = 20285 Este sistema de numeración tiene muchas ventajas:  La conversión entre binario y hexadecimal es tan simple como en octal, la única diferencia es que los bits se agrupan de cuatro en cuatro. 0000 es 0, 0001 es 1, 0010 es 2 ... 1111 es F.  El byte, es la unidad de memoria más usada por los ordenadores y agrupa ocho bits. Para codificar un número de 8 bits sólo se necesitan dos dígitos hexadecimales. El mayor número expresable por un byte, 11111111(binario), equivale a 255(decimal) y a FF(hexadecimal).  Y para palabras de dos bytes (16 bits), se usan sólo cuatro dígitos hexadecimales. (El número 16 aparece mucho cuando se habla de ordenadores.)  Para 32 bits: 8 dígitos hexadecimales, y sucesivamente. Con la práctica podrás hacer conversiones de hexadecimal a binario de memoria: 3E equivale a 00111110 AA equivale a 10101010 Generalizando Un número en base n sólo puede estar formado por dígitos entre 0 y n-1, por ejemplo, en base 2 sólo se admiten los dígitos 0 y 1; en base 8, los dígitos 0 a 7; en base 10, los dígitos 0 a 9. Así, por ejemplo, en base 2 el número 2 se expresa como 10, en base 8 u octal, el número 8 se expresa como 10,en base 10 o decimal el número 10 se expresa como 10 y en base 16 o hexadecimal, el número 16 se expresa como 10.. Así que en general, el valor de un número expresado en base n será: Número en base 'n': "abcde" Valor: e*n^0 + d*n^1 + c*n^2 + b * n^3 + a*n^4 Donde "n^x" se lee como n elevado a la x potencia. Ejemplos:  El número 111está formado por un sólo símbolo repetido tres veces. No obstante, cada uno de esos símbolos tiene un valor diferente, que depende de la posición que ocupa en el número. Así, el primer 1 (empezando por la izquierda) representa un valor de , el segundo de número: .

y el

tercero de , dando como resultado el valor del

Conversión de base r a base s utilizando la aritmética de la base s: Esta conversión se usa normalmente para convertir de cualquier base a base 10. SISTEMAS DIGITALES Ŕ CONSULTA #1

130

Dado un número N en base r, la conversión consiste en evaluar directamente dicha expresión usando la aritmética de la base s tanto para la parte entera como para la fraccionaria. Ejemplos: • convertir el número binario 1101,01 a base 10:

Conversión base s aritmética Esta conversión se normalmente base 10 a base. Proceso de conversión: • la parte entera se convierte mediante divisiones sucesivas entre s(base r) • la parte mediante por

de base r a utilizando la de la base r: usa para pasar de cualquier otra

fraccionaria se convierte productos sucesivos s(base r)

SISTEMAS DIGITALES Ŕ CONSULTA #1

131

Los procesos de conversión entre bases se simplifican cuando las bases de partida y de llegada son una potencia de la otra. Casos más frecuentes: Conversión entre binario y octal Conversión entre binario y hexadecimal Los sistemas octal y hexadecimal son muy utilizados porque permiten representar grandes cadenas de dígitos binarios de forma abreviada. 20 Conversión de binario a octal: agrupar dígitos binarios de 3 en 3 a ambos lados de la coma y sustituir por su equivalente octal. Conversión de binario a hexadecimal: agrupar dígitos binarios de 4 en 4 a ambos lados de la coma y sustituir por su equivalente hexadecimal.

OTROS MÉTODOS CONVERSIÓN DECIMAL-BINARIO: Los métodos mas conocidos son: 1. Divisiones sucesivas entre 2: Consiste en dividir sucesivamente el número decimal y los cocientes que se van obteniendo entre 2, hasta que una de las divisiones se haga 0. La unión de todos los restos obtenidos escritos en orden inverso, nos proporcionan el número inicial expresado en el sistema binario. Ej.: 10 2 0

5

2

1

2

2

0

1

2

1

0

10(10)=1010(2) 2. Multiplicación sucesiva por 2: Se utiliza para convertir una fracción decimal a binario, consiste en multiplicar dicha fracción por 2, obteniendo en la parte entera del resultado el primero de los dígitos binarios de la fracción binaria que buscamos. A continuación repetimos el mismo proceso con la parte fraccionaria del resultado anterior, obteniendo en la parte entera del nuevo resultado el segundo de los dígitos buscados. Iteramos sucesivamente de esta forma, hasta que desaparezca la parte fraccionaria o SISTEMAS DIGITALES Ŕ CONSULTA #1

132

hasta que tengamos los suficientes dígitos binarios que nos permitan no sobrepasar un determinado error. Ejemplo: Convertir la fracción decimal 0.0828125 en fracciones binarias 0.828125 x 2 = 1.656250 0.656250 x 2 = 1.31250

0.828125

0.31250

x 2 = 0.6250

0.6250

x 2 = 1.250

0.250

x 2 = 0.50

0.50

x 2 = 1.0

0.1101012

Ejemplo: número decimal 58. 58 / 2 = 29

resto: 0

29 / 2 = 14

resto: 1

14 / 2 = 7

resto: 0

7/2=3

resto: 1

3/2=1

resto: 1 1

(LSB)

58 = 1 1 1 0 1 0 MSB

LSB

(MSB)

Si convertimos de nuevo el resultado a decimal, comprobaremos el resultado. 32

16

8

4

2

1

1

1

1

0

1

0

32 +

16

+ 8

+

0

+

2

+

0

=

58

3. Métodos de las restas sucesivas de las potencias de 2: Consiste en tomar el numero a convertir y buscar la potencia de 2 mas grande que se pueda restar de dicho numero, tomando como nuevo numero para seguir el proceso el resultado de la resta. Se repiten las mismas operaciones hasta que el número resultante en una de las restas es 0 o inferior al error que deseamos cometer en la conversión. El numero binario resultante será un uno (1) en las posiciones correspondientes a las potencias restadas y un cero (0) en las que no se han podido restar. Ej. Convertir el número decimal 1994 a binario. Posición 210 29 28 27 26 25 24 23 22 21 20 Valor

1024 512 256 128 64 32 16 8

4

2

1

Digito

1

0

1

0

1

1

1

1

0

0

1

SISTEMAS DIGITALES Ŕ CONSULTA #1

133

1994

-

1024 = 970

970

-

512

= 458

458

-

256

= 202

202

-

128

= 74

74

-

64

= 10

10

-

8

= 2

Resp: 1994 111110010102 CONVERSIÓN DE BINARIO A DECIMAL: El método consiste en reescribir él número binario en posición vertical de tal forma que la parte de la derecha quede en la zona superior y la parte izquierda quede en la zona inferior. Se repetirá el siguiente proceso para cada uno de los dígitos comenzados por el inferior: Se coloca en orden descendente la potencia de 2 desde el cero hasta n, donde el mismo el tamaño del número binario, el siguiente ejemplo ilustra de la siguiente manera. Dado un número N, binario, para expresarlo en el sistema decimal, se debe escribir cada número que lo compone, multiplicado por la base dos, elevado a la posición que ocupa. Ejemplo: 110012=2510 lo cual equivale a 1*24+1*23+0*22+0*21+1*20 El valor total del número será la suma de cada digito multiplicado por la potencia de la base correspondiente a la posición que ocupa en el número. El numero 1112 esta formado por un solo símbolo repetido tres veces. No obstante, cada uno de esos símbolos tiene un valor diferente, que depende de la posición que ocupa en el número. Así el primer 1(empezando por la izquierda) representa un valor de 42 (22), el segundo de 22 (21) y el tercero de 12 (20), dado como resultado el valor del número: 1112= 1*22+1*21+1*20= 4+2+1=710 Así podemos ver que 1112=710. Utilizando el teorema fundamental de la numeración tenemos que 1001.1es igual a:

DECIMAL A BINARIO Se divide el número decimal entre 2 cuyo resultado entero se vuelve a dividir entre 2 y así sucesivamente. Una vez llegados al 1 indivisible se cuentan el último cociente, es decir el uno final (todo número binario excepto el 0 empieza por uno), seguido de los residuos de las divisiones subsiguientes. Del más reciente hasta el primero que resultó. Este número será el binario que buscamos. A continuación se puede ver un ejemplo con el número decimal 100 pasado a binario. 100 |_2 0 50 |_2 0 25 |_2 --> 100 => 1100100 1 12 |_2 0 6 |_2 0 3 |_2 1 1 Otra forma de conversión consiste en un método parecido a la factorización en números primos. Es relativamente fácil dividir cualquier número entre 2. Este método consiste también en divisiones sucesivas. Dependiendo de si el número es par o impar, colocaremos un cero o un uno en la columna de SISTEMAS DIGITALES Ŕ CONSULTA #1

134

la derecha. Si es impar, le restaremos uno y seguiremos dividiendo por dos, hasta llegar a 1. Después, sólo nos queda tomar el último resultado de la columna izquierda (que siempre será 1) y todos los de la columna de la derecha y ordenar los dígitos de abajo a arriba. Y luego se haría un cuadro con las potencias con el resultado. Y también tenemos otro método el método de distribución en el que distribuimos el número decimal y podemos tener el resultado en binario, trabaja de la siguiente manera tenemos el número 151 lo que tenemos que hacer es distribuir este número buscando el número más próximo; en este caso es 128 así que en la casilla donde hay capacidad de contener el número que tenemos lo vamos marcando. y en las casillas que no empleamos las marcaremos con un 0. Ejemplo: 1|1 2|1 4|1 8|0 16|1 32|0 64|0 128|1 256|0 y sucesivos La conversión de un número decimal ENTERO a su equivalente Binario, puede lograrse de dos formas diferentes. 1. La primera es utilizar de forma inversa el método anterior, comenzamos por restar los valores de los bits (potencias de 2) más cercanos al valor decimal hasta llegar a cero, luego se completa con ceros los valores faltantes entre los bits, convertir 150:  La potencia de 2 más cercana a 152 es 128 (2 a la 7ª , Octavo Bit) 152 Ŕ 128 = 22  La potencia de 2 más cercana a 22 es 16 (2 a la 4ª , Quinto Bit) 22 Ŕ 16 = 6  La potencia de 2 más cercana a 6 es 4 (2 ala 2ª , Tercer Bit) 6 Ŕ 4 = 2  La potencia de 2 más cercana a 2 es 2 (2 ala 1ª , Segundo Bit) 2 Ŕ 2 = 0

Ejemplo: número decimal 12,6543. 12 / 2 = 6

resto: 0

6/2=3

resto: 0

3/2=1

resto: 1 1

1

0

0

,

1

0

1

0

SISTEMAS DIGITALES Ŕ CONSULTA #1

135

0,6543 x 2

=

1,3086

0,3086 x 2

=

0,6172

0,6172 x 2

=

1,3344

0,3344 x 2

=

0,6688

2. La segunda es la llamada "División Repetida", esta manera de conversión se basa en repetir la división del número decimal entre dos, hasta llegar al cero. Si el residuo de la división no es un número entero, se marca un 1 y se toma el número entero par volver a dividir entre dos, cuando el Residuo es un número entero, se marca un cero y se toma el número para volver a dividir entre dos. El residuo de la primero división es el (LSB, primer Bit), el residuo de la última división es el (MSB, último Bit). Esto se ilustra así:

CONVERSIÓN DECIMAL – OCTAL: Consiste en dividir un número y sus sucesivos cocientes obtenidos por ocho hasta llegar a una división cuyo cociente sea 0. El numero Octal buscado es el compuesto por todos los restos obtenidos escritos en orden inverso a su obtención. Ej.: 1992 8 39 249 8 72 09 31 8 0 1 7 3 1000(10)=3710(8) CONVERSIÓN DE UNA FRACCIÓN DECIMAL A UNA OCTAL: Se toma la fracción decimal y se multiplica por 8, obteniendo en la parte entera del resultado el primer dígito de la fracción octal resultante y se repite el proceso con la parte decimal del resultado para obtener el segundo dígito y sucesivos. El proceso termina cuando desaparece la parte fraccionaria del resultado o dicha parte fraccionaria es inferior al error máximo que deseamos obtener. Ej. : 0.140625*8=1.125 0.125*8=1.0 0.140625(10)=0.11(8) SISTEMAS DIGITALES Ŕ CONSULTA #1

136

Un número Decimal ENTERO puede convertirse al sistema Octal utilizando también la "División Repetida", pero en este caso, nuestro factor para dividir será el 8, de la misma manera, el residuo de la primera división será el LSB, y el residuo de la última división será el MLB. Para poder saber el número que se convierte en cada Bit octal, se multiplica la fracción del residuo por 8, y se toma el número entero para volver a dividir entre 8. Convertir el decimal 150 a Octal nos daría:

La numeración octal es tan buena como la binaria y la hexadecimal para operar con fracciones, puesto que el único factor primo para sus bases es 2. Fracción

Octal

Resultado en octal

1/2

1/2

0,4

1/3

1/3

0,25252525 periódico

1/4

1/4

0,2

1/5

1/5

0,14631463 periódico

1/6

1/6

0,125252525 periódico

1/7

1/7

0,111111 periódico

1/8

1/10

0,1

1/9

1/11

0,07070707 periódico

1/10

1/12

0,063146314 periódico

CONVERSIÓN OCTAL A DECIMAL: Existen varios métodos siendo el más generalizado el indicado por el TFN (Teorema fundamental de la numeración) que hace la conversión de forma directa por medio de la formula. Ej. : utilizando el teorema fundamental de la numeración tenemos que 4701 es igual a: La conversión de un número octal a uno decimal es muy sencilla, sólo necesitamos multiplicar cada uno de los dígitos por el valor que corresponde a su posición. Para convertir el número 435 comenzamos por:  Tres posiciones 8 a la 2ª , 8 la 1ª , 8 a la 0.  Primer Bit Octal (5 x 8 a la 0) = 5 x 1 = 5  Segundo Bit Octal (3 x 8 a la 1ª ) = 3 x 8 = 24  Tercer Bit Octal (4 x 8 a la 2ª ) = 4 x 64 = 256  Número decimal = (5 + 64 + 256ª ) = 285 CONVERSIÓN DE UNA FRACCIÓN DECIMAL A HEXADECIMAL: SISTEMAS DIGITALES Ŕ CONSULTA #1

137

A la fracción decimal se multiplica por 16, obteniendo en la parte entera del resultado el primer dígito de la fracción hexadecimal buscada, y se repite el proceso con la parte fraccionaria de este resultado. El proceso se acaba cuando la parte fraccionaria desaparece o hemos obtenido un número de dígitos que nos permita no sobrepasar el máximo error que deseemos obtener. CONVERSIÓN HEXADECIMAL- DECIMAL: El método más utilizado es el TFN que nos da el resultado por la aplicación directa de la formula. Ej. : utilizando el teorema fundamental de la numeración tenemos que 2CA es igual a: Para convertir un número del Sistema Hex a su equivalente Decimal necesitamos primero recordar que la posición de los números en del Sistema Hex, basan su valor en una potencia de 16. El Primer Bit (LSB) sería 16 a la 0 = (1), el segundo Bit sería 16 a la 1ª = (16), el tercer Bit sería 16 a la 2ª = (256), aumentando las potencias de 16 hasta llegar al último Bit (MLB). La conversión se realiza entonces de la siguiente manera:  Convertir el número Hex 182 al Sistema Decimal



Convertir el número Hex 6AF al Sistema Decimal

CONVERSIÓN DE HEXADECIMAL-BINARIO: Para convertir un número hexadecimal a binario, se sustituye cada dígito hexadecimal por su representación binaria según la siguiente tabla. Idem que para pasar de Octal a Binario, solo que se remplaza por el equivalente de 4 bits. Se agrupan los bits de cuatro en cuatro comenzando por el menos significativo. El numero binario se completa con los ceros a la izquierda necesarios.

Al igual que en la conversión del Sistema Octal (que se convierten en tríos de Bits Binarios), en la conversión del Sistema Hexadecimal a Binario, cada SISTEMAS DIGITALES Ŕ CONSULTA #1

138

Bit

Hex

se

convierte

en

cuartetos

de

Bits

Binarios.

Convertir el número del Sistema Hex 8A1 a Binario sería:

Conversión Hexadecimal/Decimal: Idéntica a la conversión binaria a decimal, pero utilizando 16 como base en lugar de 2 y teniendo en cuenta los valores de las letras A, B, C, D, E y F. 0x27 ! 2 _ 161 + 7 _ 160 = 39 0xB2 ! 11 _ 161 + 2 _ 160 = 178 0xD9 ! 13 _ 161 + 9 _ 160 = 217 Dígito Hexadecimal Dígito Binarios 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 A 1010 B 1011 C 1100 D 1101 E 1110 F 1111 Ej.: pasar el número 2BC a binario 2 B C 0010 1011 1100 Finalmente él número hexadecimal en binario es igual a: 001010111100 CONVERSIÓN DE OCTAL A BINARIO: Para convertir un numero octal a binario se sustituye cada dígito octal en por sus correspondientes tres dígitos binarios según la siguiente tabla. Cada dígito Octal se lo convierte en su binario equivalente de 3 bits y se agrupa, ejemplo: Oc(247) --> el 2 en binario es 10, pero en binario de 3 bits es Oc(2) = B(010), el Oc(4) = B(100) y el Oc(7) = (111), luego el número en binario será: B(010100111) = O(247) SISTEMAS DIGITALES Ŕ CONSULTA #1

139

Dígito Dígito Octal Binario 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 Una de las grandes ventajas del Sistema Octal, es que muy fácilmente podemos convertir un número Octal al Sistema Binario. Este proceso se realiza convirtiendo cada número Octal en su equivalente del Sistema Binario, pero con la diferencia que se utilizan forzosamente 3 Bits. De manera que Cada Bits Octal es convertido por separado en su equivalente Binario. Convertir el número Octal 561 al sistema Binario sería:

Ej.: Convertir el número octal 1274 en binario. 1 2 7 4 001 010 111 100 Por lo tanto el número octal en binario es igual a: 001010111100 El sistema numérico octal es muy importante en el trabajo con computadoras digitales. El sistema octal tiene una base de 8, significando que tiene ocho dígitos posibles: 0, 1, 2, 3, 4, 5, 6 y 7. Así, cada dígito de un número octal tiene los siguientes pesos: ---- 84 83 82 81 80 . 8-1 8-2 8-3 8-4 8-5 ---punto ^ octal Un número octal puede convertirse fácilmente a su equivalente decimal, multiplicando cada dígito octal por su peso posicional. Por ejemplo: 3728 = 3 x (82) + 7 x (81) + 2 x (80) = = 3 x 64 + 7 x 8 + 2 x 1 = = 25010 Otro ejemplo: 24.68 = 2 x (81) + 4 x (80) + 6 x (8-1) = 20.7510 Las fracciones decimales se convierten a octal multiplicando progresivamente por 8 y escribiendo los acarreos en la posición después del punto octal. Por ejemplo, 0.38 se convierte a octal como sigue: Note que el primer acarreo es el bit más significativo (BMS) de la fracción. Se puede lograr una mayor precisión continuando el proceso para obtener más dígitos octales.

SISTEMAS DIGITALES Ŕ CONSULTA #1

140

Es útil cuando se convierte un número decimal relativamente grande a binario, convertirlo primero a octal. El número octal puede entonces convertirse a binario. Este método es generalmente más rápido que la conversión directa decimal a binario, debido a la simpleza de la conversión octal a binario. La principal ventaja del sistema numérico octal es la facilidad con la cual puede hacerse la conversión entre números binarios y octales. La conversión desde octal a binario se ejecuta convirtiendo cada dígito octal a su equivalente binario de 3 bits. Los ocho dígitos posibles se convierten como se indica en la siguiente tabla: Dígito octal 0 1 2 3 4 5 6 7 Equivalente binario 000 001 010 011 100 101 110 111 Usando estos equivalentes, cualquier número octal se convierte a binario por conversión individual de cada dígito. Por ejemplo, se puede pasar 4728 a binario como sigue: 4 7 2 ^ ^ ^ 100 111 010 Por consiguiente, el octal 472 es equivalente al binario 100 111 010. Como otro ejemplo, considérese la conversión de 54.318 a binario: 5 4 . 3 1 ^ ^ ^ ^ 101 100 . 011 001 Así, 54.318 = 101 100.011 0012 La conversión de binario a octal es simplemente el inverso del proceso anterior. Los dígitos binarios se agrupan de tres en tres a cada lado del punto binario, añadiendo ceros en cualquier lado cuando ello sea necesario para completar un grupo de tres. Entonces cada grupo de tres bits se convierte a su equivalente octal. Como ilustración, considérese la conversión de 11010.1011 a octal: 011 010 . 101 100 ^ ^ ^ ^ 3 2 . 5 4 Note que se añadieron ceros a cada lado para completar los grupos de a tres. Así, la conversión deseada es 32.548. En el siguiente ejemplo se ilustra la conversión de binario a hexadecimal y de hexadecimal a binario: 011101001102 = 0011 1010 0110 3 A 6 = 3A616 9F116 = 9 F 2 1001 1111 0010 = 1001111100102

BINARIO A HEXADECIMAL Para pasar de binario a Hexadecimal se realiza el mismo proceso de pasar de Binario a Octal pero se agrupa en grupos de 4 bits La forma de convertir un número del Sistema Binario a Hex, es completamente opuesta a la presentada arriba. Se forman cuartetos de Bits Binarios (comenzando desde el LSB) hasta el MSB. Al igual que en la conversión de Sistema binario a Octal, en caso de que no se completen los cuartetos, se agregan los ceros necesarios para completar lo últimos cuatro Bits. Convertir el número del Sistema Binario 100010100001 a Hex sería: SISTEMAS DIGITALES Ŕ CONSULTA #1

141

    

Se agrupan los bits en cuartetos (100010100001) = 1000 - 1010 - 0001 Se convierte el Primer cuarteto (donde se encuentra el LSB) 0001= 1 Se convierte el Segundo trío 1010 = 10 = A Se convierte el Tercer trío (donde se encuentra el MSB) 1000 = 8 Número Hex = 8A1

CONVERSIÓN DECIMAL – HEXADECIMAL: Se divide el número decimal y los cocientes sucesivos por 16 hasta obtener un cociente igual a 0. El número hexadecimal buscado será compuesto por todos los restos obtenidos en orden inverso a su obtención. Nuevamente acudimos a la ŖDivisión repetida para lograr esta conversión, al igual que en los ejemplos anteriores (división por 2 para convertir Decimal a Binario, y división por 8 para convertir Decimal a Octal), pero esta vez, la división será por 16. Al igual que antes, si el residuo contiene fracciones decimales, se multiplican por 16 y se toma el número entero para la nueva división por 16. Convertir los números 1711 y 386 del Sistema Decimal s Hex.

Ej.: 1000 40 8

16 62 14

16 3

1000(10)=3E8(16) Ej.: Pasar a hexadecimal la fracción decimal 0.06640625 0.06640625*16=1.0625 0.0625*16 = 1.0 Luego 0.06640625(10)=0.11(16) BINARIO A OCTAL Para convertir un número binaro a octal: Se agrupa el número binario en grupos de 3 y se convierte a cada grupo en su octal equivalente mediante los métodos vistos para pasar de binario a decimal (recuerde que cada grupo de 3 puede expresar los números del 0 al 7), ejemplo: B(10 101 001) tenemos 3 grupos (010) (101) (001) se completó el primer grupo agregando un cero, ahora mediante los métodos vistos lo convertimos y lo volvemos a agrupar 010 = 2, 101 = 5, 001 = 1, entonces el número en octal es Oc(251) 15 1111 F 17 SISTEMAS DIGITALES Ŕ CONSULTA #1

142

El proceso de conversión de números Binarios ENTEROS al Sistema Octal se logra invirtiendo el proceso descrito arriba. Lo primero que hacemos es agrupar todos los bits del número Binario en grupos de tres, iniciando con el LSB (Primer Bit). Ya que tenemos separados los Bits, se convierte cada trío a su equivalente del Sistema Octal. En el caso de que en el último grupo de Bits (MLB) no se pueda hacer un trío, se agregan ceros hasta lograrlo. Convertir un número Binario que tiene sus tríos completos, 101110001 al Sistema Octal sería:  Se agrupan los bits en tríos (101110001) = 101 Ŕ 110 Ŕ 001  Se convierte el Primer trío (donde se encuentra el LSB) 001 = 1  Se convierte el Segundo trío 110 = 6  Se convierte el Tercer trío (donde se encuentra el MSB) 101 = 5  Número Octal = 561 Convertir un número Binario que no tiene sus tríos completos, 10101110001 al Sistema Octal sería:  Se agrupan los bits en tríos (10101110001) = 10 - 101 Ŕ 110 Ŕ 001  Completar los tríos (agregando un 0) = 010 - 101 Ŕ 110 Ŕ 001  Se convierte el Primer trío (donde se encuentra el LSB) 001 = 1  Se convierte el Segundo trío 110 = 6  Se convierte el Tercer trío 101 = 5  Se convierte el Cuarto trío (donde se encuentra el MSB) 010 = 2  Número Octal = 2561 Tabla de conversión entre decimal, binario, hexadecimal y octal Decimal Binario Hexadecimal Octal 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 8 10 9 1001 9 11 10 1010 A 12 11 1011 B 13 12 1100 C 14 13 1101 D 15 14 1110 E 16 OPERACIONES ARITMÉTICAS DE LOS DISTINTOS SISTEMAS. Al igual que en el sistema decimal, también en otros sistemas de numeración, se pueden realizar operaciones aritméticas, tales como: suma, resta, multiplicación y división tomando como referencia la base del sistema dado. SUMA BINARIA, OCTAL Y HEXADECIMAL. En general, para realizar la suma se procede de la misma forma como se hace en el sistema decimal. Por

ejemplo,

si

es

un

número

dado

en

una

base

b

y

SISTEMAS DIGITALES Ŕ CONSULTA #1

143

es otro dado en la misma base entonces la suma se debe realizar de la

siguiente forma: Los dígitos mj=(aj+hj+cj-1) pertenecientes al resultado se forman sumando los dígitos de cada columna de los cosumandos, más el acarreo cj-1 que viene de la columna anterior. Cada unidad de acarreo tiene el mismo valor de la base del sistema, por ejemplo, en la suma binaria es dos, en octal ocho y en hexadecimal dieciséis. Por ejemplo, llevar 2 en hexadecimal significa que el acarreo es el doble de la base y vale exactamente 32; de este mismo modo, en binario equivale a 4 veces y 16 en octal. Los acarreos aparecen cuando las semisumas de las columnas superan la base del sistema numérico. SUMA BINARIA: Las operaciones de suma binaria se realizan de la siguiente forma: 0 + 0 = 0 0

+

1

=

1

1

+

0

=

1

1

+

1

=

0

Llevo 1

Ejemplo: Dado los números binarios: W=1111100012; T=11011101012; Obtener W+T 0 1 1 1 1 1 0 0 0 0 1 0 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 1 0 SUMA OCTAL: Se debe restar o dividir la semisuma de cada columna, cuando la misma exceda la base del sistema, y colocar en la columna inmediata del lado izquierdo, el valor del acarreo tantas veces se haya superado la base del sistema. De esta misma forma cada unidad que se acarree equivale a ocho unidades de la columna anterior. Ejemplo: Dado los números binarios: A. 40740647 y B. 25675300, Obtener A+B

HEXADECIMAL: Se SUMA debe restar o dividir la semisuma de cada columna, cuando la misma exceda la base del sistema, y colocar en la columna inmediata del lado izquierdo, el valor del acarreo tantas veces se haya superado la base del sistema. Cada unidad que se acarree equivale a dieciséis unidades de la columna anterior. Ejemplo: Dado los números binarios:

SISTEMAS DIGITALES Ŕ CONSULTA #1

144

MULTIPLICACIÓN BINARIA, OCTAL Y HEXADECIMAL. La operación aritmética de multiplicar se realiza del mismo modo que en el sistema numérico decimal. MULTIPLICACIÓN BINARIA: Ej: Multiplicar A. 1110112 y B. 1112 1 1 1 0 1 1 x 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 1 MULTIPLICACIÓN OCTAL: Ej: Multiplicar A. 672348 y B. 168 6 7 2 3 4 x 1 6 5 1 3 6 5 0 + 6 7 2 3 4 1 4 0 6 2 1 0 MULTIPLICACIÓN HEXADECIMAL: Ej: Multiplicar A. 67D3416 y B. 1216 6 7 D 3 4 x 1 2 C F A 6 8 + 6 7 D 3 4 7 4 C D A 8 DIVISIÓN BINARIA, OCTAL Y HEXADECIMAL. La operación aritmética de dividir se realiza del mismo modo que en el sistema numérico decimal. DIVISIÓN BINARIA:

HEXADECIMAL: La DIVISIÓN OCTAL Y división se efectúa del mismo modo que en el sistema decimal y se realiza directamente en la misma base del sistema octal o hexadecimal. Sin SISTEMAS DIGITALES Ŕ CONSULTA #1

145

embargo, también se puede obtener previamente la conversión en binario y proceder, como en el caso anterior, a realizarla en binario; y después el resultado transformarlo de nuevo al sistema numérico original. Tablas de sumar Hexadecimales Tabla del 0 Tabla del 1 Tabla del 2 Tabla del 3 Tabla del 4 Tabla del 5 Tabla del 6 Tabla del 7 0+0=0 0+1=1 0+2=2 0+3=3 0+4=4 0+5=5 0+6=6 0 + 7 =7 1+0=1 1+1=2 1+2=3 1+3=4 1+4=5 1+5=6 1+6=7 1 + 7 =8 2+0=2 2+1=3 2+2=4 2+3=5 2+4=6 2+5=7 2+6=8 2 + 7 =9 3+0=3 3+1=4 3+2=5 3+3=6 3+4=7 3+5=8 3+6=9 3 + 7 =A 4+0=4 4+1=5 4+2=6 4+3=7 4+4=8 4+5=9 4+6=A 4 + 7 =B 5+0=5 5+1=6 5+2=7 5+3=8 5+4=9 5+5=A 5+6=B 5 + 7 =C 6+0=6 6+1=7 6+2=8 6+3=9 6+4=A 6+5=B 6+6=C 6 + 7 =D 7+0=7 7+1=8 7+2=9 7+3=A 7+4=B 7+5=C 7+6=D 7 + 7 =E 8+0=8 8+1=9 8+2=A 8+3=B 8+4=C 8+5=D 8+6=E 8 + 7 =F 9+0=9 9+1=A 9+2=B 9+3=C 9+4=D 9+5=E 9+6=F 9 + 7 = 10 A + 0 = A A + 1 = B A + 2 = C A + 3 = D A + 4 = E A + 5 = F A + 6 = 10 A + 7 = 11 B+0=B B+1=C B+2=D B+3=E B+4=F B + 5 = 10 B + 6 = 11 B + 7 = 12 C+0=C C+1=D C+2=E C+3=F C + 4 = 10 C + 5 = 11 C + 6 = 12 C + 7 = 13 D+0=D D+1=E D+2=F D + 3 = 10 D + 4 = 11 D + 5 = 12 D + 6 = 13 D + 7 = 14 E+0=E E+1=F E + 2 = 10 E + 3 = 11 E + 4 = 12 E + 5 = 13 E + 6 = 14 E + 7 = 15 F+0=F F + 1 = 10 F + 2 = 11 F + 3 = 12 F + 4 = 13 F + 5 = 14 F + 6 = 15 F + 7 = 16 Tabla del 8 Tabla del 9 Tabla de A Tabla de B

Tabla de C

Tabla de D Tabla de E

0+8=8

0+9=9

0+A=A

0+B=B

0+C=C

0+D=D

0+E=E

1+8=

1+9=A

1+A=B

1+B=C

1+C=D

1+D=E

1+E=F

2+8=

2+9=B

2+A=C

2+B=D

2+C=E

2+D=F

2 + E = 10

3+8=

3+9=C

3+A=D

3+B=E

3+C=F

3 + D = 10

3 + E = 11

Tabla de F 0 + F =F 1 + F = 10 2 + F = 11 3 + F

SISTEMAS DIGITALES Ŕ CONSULTA #1

146

4+8=

4+9=D

4+A=E

4+B=F

4 + C = 10

4 + D = 11

4 + E = 12

5+8=

5+9=E

5+A=F

5 + B = 10

5 + C = 11

5 + D = 12

5 + E = 13

6+8=

6+9=F

6 + A = 10

6 + B = 11

6 + C = 12

6 + D = 13

6 + E = 14

7+8=

7 + 9 = 10

7 + A = 11

7 + B = 12

7 + C = 13

7 + D = 14

7 + E = 15

8+8=

8 + 9 = 11

8 + A = 12

8 + B = 13

8 + C = 14

8 + D = 15

8 + E = 16

9+8=

9 + 9 = 12

9 + A = 13

9 + B = 14

9 + C = 15

9 + D = 16

9 + E = 17

A+8=

A + 9 = 13

B+8=

B + 9 = 14

C+8=

C + 9 = 15

D+8=

D + 9 = 16

E+8=

E + 9 = 17

A + A = 14 B + A = 15 C + A = 16 D + A = 17 E + A = 18

F+8=

F + 9 = 18

F + A = 19

A + B = A + C = A + 15 16 17 B + B = 16 B + C = 17 B + 18 C + B = 17 C + C = 18 C + 19 D + B = D + C = D + 18 19 1A E + B = 19 E + C = E + 1A 1B F + B = F + C = F + 1A 1B 1C

D = A + E = 18 D = B + E = 19 D = C + 1A D = D + 1B D = E + 1C D = F + 1D

E = E = E = E =

= 12 4 + F = 13 5 + F = 14 6 + F = 15 7 + F = 16 8 + F = 17 9 + F = 18 A + F = 19 B + F = 1A C + F = 1B D + F = 1C E + F = 1D F + F = 1E

Sumar los números 12432 5 y 34223 5 Verificación 12432 5 992 10 +34223 5 +2438 10 102210 5 3430 10

Operaciones en otras bases. La suma, resta, multiplicación y división en cualquier base dependen de la suma y la multiplicación. Por los tanto para facilitar el manejo de las mismas, veremos como construir una tabla de sumar y de multiplicar en cualquier base.

Se construye una coordenadas se números del intersección de las

matriz en cuyas colocan todos los sistema, y en la mismas se coloca SISTEMAS DIGITALES Ŕ CONSULTA #1

147

el resultado. Debemos tener en cuenta que cuando en una casilla hay un número de dos dígitos, se debe tomar el dígito de la derecha como resultado de la columna y el de la izquierda como acarreo. Ejemplo de suma y multiplicación en base 5:

En

todos los sistemas numéricos, inclusive el decimal, la resta se puede realizar aplicando el complemento a la base del sistema para convertir un número en negativo y realizar luego la suma algebraica. La división en otras bases se realiza de la misma forma que en decimal, esto es: se toma del dividendo el menor número de dígitos que sean mayor o igual al divisor, luego mediante multiplicaciones sucesivas, se busca la mayor cantidad de veces que el divisor entra en el dividendo, una vez logrado este valor, multiplica por el divisor y el resultado se resta del dividendo. Luego se anexan de a un dígito, operando de la misma forma hasta finalizar. Ejemplo de división en base 5.

EJEMPLOS Realizar las tablas de multiplicación correspondientes al sistema base 4 y sistema binario. Tablas de Multiplicar en el Sistema de Base 4 Tabla del 0

Tabla del 1

Tabla del 2

Tabla del 3

0x0=0

0x1=0

0x2=0

0x3=0

1x0=0

1x1=1

1x2=2

1x3=1

2x0=0

2x1=2

2 x 2 = 10

2 x 3 = 12

3x0=0

3x1=3

3 x 2 = 12

3 x 3 = 21

Tablas de Multiplicar en el Sistema Binario Tabla del 0

Tabla del 1

0x0=0

0x1=0

1x0=0

1x1=1

EJEMPLOS Para 1 byte SISTEMAS DIGITALES Ŕ CONSULTA #1

148

Signo y Modulo Binario

Signo y Signo y complemento a la complemento a la base menos uno base

Decimal Binario

Decimal Binario

Decimal

Mayor Entero Positivo 01111111 + 127

01111111 + 127

01111111 + 127

Menor Negativo 1.

10000001 - 128

10000000 - 127

Entero 11111111 - 127

Signo y Modulo Binario

Decimal

+ Mayor Entero Positivo 01111111111111111111111111111111 2147483647 Menor Negativo

Entero

11111111111111111111111111111111 2147483647 Signo y complemento a la base menos uno Binario

Decimal

+ Mayor Entero Positivo 01111111111111111111111111111111 2147483647 Menor Negativo

Entero

10000000000000000000000000000001 2147483648 Signo y complemento a la base Binario

Decimal

+ Mayor Entero Positivo 01111111111111111111111111111111 2147483647 Menor Negativo

Entero

10000000000000000000000000000000 2147483647

Signo y

Signo y

Signo y

Modulo

Complemento a Complemento a la base menos uno la base

a -11010010

-82

-45

-46

b -00000101

5

5

5

SISTEMAS DIGITALES Ŕ CONSULTA #1

149

Sin Signo ( Binario Puro) 01000001 Xxxxxxxxxxxx + 10000100 11000101 Resultado Correcto Signo y Módulo 01000001 Xxxxxxxxxxxx + 10000100 11000101 Resultado Incorrecto

65 + 132 197

Signo y complemento a la base 01000001 xxxxxxxxxxxx 65 + +(10000100 124) 11000101 - 59 Resultado Correcto

65 + (4) - 69

Signo y complemento a la base -1 01000001 xxxxxxxxxxxx 65 + +(10000100 123) 11000101 - 58 Resultado Correcto

1. Convertir : a)el número decimal 7820 a octal, binario, Hex, BCD Nat y a su equivalente en base 5. b)el binario 0,01001111 a decimal. c) a decimales y hexadecimal el número octal 1024,75. d)a octal y binario los números Hex.: 3AE y 7F,CB. a) 7820 8 4 7820 (10) = 17214 (8) 4096 2048 1024 512 256 128 64 32 16 8 4 2 1 pesos 7820 1 1 1 1 0 1 0 0 0 1 1 0 0 7820(10) = 1111010001100(2) 7820 16 C 7820(10) = 1E8C(16) 488 16 8 30 16 E 1 7820(10) = 0111 1000 0010 0000 en BCD Natural 7820 5 0 7820(10) = 222240(5) 1564 5 4 312 5 2 62 5 2 12 5 2 2 b) 0,01001111(2) = 0*20+0*2-1+1*2-2+0*2-3+0*2-4+1*2-5+1*2-6+1*2-7+1*2-8 = 0,25 + 0,03125 + 0,015625 + 0,0078125 + 0,00390625 = 0,30859375(10) c) 1024,75(8) = 1*83+0*82+2*81+4*80+7*8-1+5*8-2 = 512 + 16 + 4 + 0,875 + 0,078125 = 532,953125(10) 532 16 4 33 16 1 532(10) = 214(16) 2 SISTEMAS DIGITALES Ŕ CONSULTA #1

150

0,953125(10) ± 0,000001 = 1 106 106 £ base exp 106 £ 16 5 0,953125 x 16 = 15,25 0,25 x 16 = 4 0 x 16 = 0 0,953125(10) = F4000(16) 0 x 16 = 0 0 x 16 = 0 1024,75(8) = 214,F4000(16) d. 3AE(16) = 001 1 10 10 1110 3AE(16) = 1656(8) 3AE(16) = 1110101110(2) 1656 7F,CB(16) = 0111 1 111 , 110 0 10 11 7F,CB(16) = 177,626(8) 7F,CB(16) = 1111111,11001011(2) 177,626 2) Dados los símbolos "3" y "9" decir cuanto vale si se leen dichos símbolos en Hex, en decimal y en octal. 3) Sean los símbolos 1011 , leer dicha información en binario , en octal y en base 5, diciendo en cada caso cual es el equivalente decimal. 1011 se lee 1011(2) = 8 + 2 +1 = 11(10) se lee

1011(8) = 1 x 80 + 1 x 81 + 0 x 82 + 1 x 83 = 1 + 8 + 512 = 521(10)

se lee

1011(5) = 1 x 50 + 1 x 51 + 0 x 52 + 1 x 53 = 1 + 5 + 125 = 131(10) 4) Dado un número del tipo 10(X) [uno cero en base x] indicar que número es en base 10. 10(X) = 1*x1 + 0*x0 = 1*x1(10) = x(10) 1. Escriba en notación expandida, aplicando el Teorema Fundamental de la Numeración. a- 3102 6 = 3 x 63 + 1 x 62 + 0x61 + 2x60 b- 416 9 = 4 x 92 + 1 x 91 + 6 x 90 c- 735.426 16 = 7 x 162 + 3 x 161 + 5 x 160 + 4 x 16-1 + 2 x 16-2 + 6 x 16-3 d- 5413 6 = 5 x 63 + 4 x 62 + 1 x 61 + 3 x 60 Convierta. a. 2153 6 a su forma decimal 2153 6 = 2 . 63 + 1 . 62 + 5 . 61 + 3 . 60 = 2153 6 = 432 + 36 + 30 + 3 = 501 10 2153 6 = 501 10 b. 1476 10 a su forma octal 1476 10 Ŕ 83 . 2 = 452 452 10 Ŕ 82 . 7 = 4 4 10 Ŕ 81 . 0 = 4 4 10 Ŕ 80 . 4 = 0 1476 10 =2704 8 SISTEMAS DIGITALES Ŕ CONSULTA #1

151

Convierta a su forma binaria. a. 43027 8 Nota: Cuando una base es potencia de otra como lo es base octal de la base binaria ( 8=23) para hacer la conversión entre sistemas simplemente se reemplaza cada digito por su equivalente numérico de la segunda base o base de destino. Basta tener en cuenta en este caso las equivalencias entre los tercetos y la siguiente tabla que no es mas que la representación en binario puro de los números del 0 al 7 ( máximos símbolos de representables en base octal). 0 8 = 000 2 1 8 = 001 2 2 8 = 010 2 3 8 = 011 2 4 8 = 100 2 5 8 = 101 2 6 8 = 110 2 7 8 = 111 2 Entonces: 430278 100 011 000 010 111 2 43027 8 =100011000010111 2 b. 350.765625 10 Para la parte entera tenemos 350 Ŕ 28 . 1 = 94 94 Ŕ 27 . 0 = 94 94 Ŕ 26 . 1 = 30 30 Ŕ 25 . 0 = 30 30 Ŕ 24 . 1 = 14 14 Ŕ 23 . 1 = 6 6 Ŕ 22 . 1 = 2 2 Ŕ 21 . 1 = 0 0 Ŕ 20 . 0 = 0 Para la parte decimal 0.765625 x 2 = 1.53124 0.53124 x 2 = 1.0625 0.0625 x 2 = 0.125 0.125 x 2 = 0.250 0.250 x 2 = 0.5 0.5 x 2 = 1 350.765625 10 =101011110.110001 2 c. A3CB . EFD 16 Para el traspaso del sistema Hexadecimal al binario utilizamos igual concepto que el traspaso de Octal a Binario. A 3 C B. E F D 16 1011 0011 1100 1011. 1110 1111 1101 2 A3CB . EFD 16 = 1011 0011 1100 1011 . 1110 1111 1101 2 Convierta a la forma octal. a. 1001101.01100001 2 001 001 101. 011 000 010 2 SISTEMAS DIGITALES Ŕ CONSULTA #1

152

1 1 5. 3 0 2 8 1001101.01100001 2 =115.302 8 b. 321.023 4 3 2 1. 0 2 3 4 De base 4 11 1 0 01. 00 1 0 11 2 Paso a Base 2 7 1. 1 3 8 Obtengo el octal 321.023 4 =71.138 c. 1F4 16 1 F 4 16 000 1 11 11 0 100 2 07648 1F4 16 =7648 Convierta a forma hexadecimal. a. 15321 10 b. 100101100 2 c. 3302.321 4 a - 15321 10 1532110 =3BD9 16 b-100101100 2 1 0010 1100 2 1 2 C 16 1001011002 =12C 16 c- 3302.321 4 33 02 . 32 1 4 F 2 . E 4 16 3302.3214 =F2.E4 16 15321 16 92 957 16 121 157 59 9 13 11

16 3

Convierta a forma decimal. a. 3E8.ABF 16 b. 512 7 a-3E8.ABF 16 3E8.ABF 16 = 3 x 162 + 14 x 161 + 8 x 160+ 10 x 16-1+ 11 x 16-2 + 15 x 16-3 768 + 224 + 8 + 0.625 + 0,04296875 + 0,003662109375 3E8.ABF 16 =1000,671630859375 10 b-512 7 512 7 = 5 x 72 + 1 x 71 + 2 x 70 = 245 + 7 + 2 = 254 10 512 7 =254 10 Convierta a la forma binaria aplicando pasaje directo. a. 3D59 16 SISTEMAS DIGITALES Ŕ CONSULTA #1

153

b. 7BA3.BC16 a. 3D59 16 3 D 5 9 16 0011 1101 0101 1001 2

3D59 16 =11110101011001 2 b - 7BA3.BC16

7 B A 3. B C 16 0111 1011 1010 0011. 1011 1100 2 7BA3.BC 16 =0111101110100011.10111100 2 1- Convertir el número Binario 111001 a Decimal. 32 1

16 1

8 1

4 0

2 0

1 1

pesos 32 + 16 + 8 + 1 = 57

2- Convertir el número Binario 10001 a Decimal. 16 1

8 0

4 0

2 0

1 1

pesos 16 + 1 = 17

3- Convertir el número Binario 1010101 a Decimal. 64 1

32 0

16 1

8 0

4 1

2 0

1 1

pesos 64+16+4+1= 85

4- Convertir el número Binario 111 a Decimal. 4 1

2 1

1 1

Pesos 4+2+1=7

5- Convertir el número Binario 111000111 a Decimal. 256 128 1 1

64 1

32 0

16 0

8 0

4 1

2 1

1 Pesos 1 256+128+64+4+2+1=455

6-Convertir el número Binario 110011 a Decimal. 32 16 8 1 1 0

4 0

2 1

1 1

Pesos 32+16+2+1 = 51

7-Convertir el número Binario 1000111 a Decimal. 64 32 16 8

4

2

1

Pesos SISTEMAS DIGITALES Ŕ CONSULTA #1

154

1

0

0

0

1

1

1

64+4+2+1= 71

8-Convertir el número Binario 11111111 a Decimal. 128 64 32 16 8 1 1 1 1 1

4 1

2 1

1 1

Pesos 128+64+32+16+8+4+2+1 = 255

9-Convertir el número Binario 1000011 a Decimal. 64 32 16 8 1 0 0 0

4 0

2 1

1 1

Pesos 64+2+1 = 67

10-Convertir el número Binario 1000011110 a Decimal. 512 256 128 64 32 16 8 1 0 0 0 0 1 1

4 1

2 1

1 0

Pesos 512+16+8+4+2 = 542

11- Convertir el número Binario 111000111 a Decimal. 256 128 64 1 1 1

32 16 8 0 1 0

4 1

2 1

1 1

Pesos 256+128+64+16+4+2+1 = 471

12- Convertir el número Binario 101000 a Decimal. 32 1

16 0

8 1

4 0

2 0

1 0

Pesos 32+8 = 40

13- Convertir el número Binario 11101110011 a Decimal. 1024 512 256 128 64 32 16 8 1 1 1 0 1 1 1 0

4 0

2 1

1 1

Pesos 1024+512+256+64+32+16+2+1 = 1907

14- Convertir el número Binario 10101010101 a Decimal. 1024 512 256 128 64 32 16 8 1 0 1 0 1 0 1 0

4 1

2 0

1 1

Pesos 1024+256+64+16+4+1 = 1365

15- Convertir el número Binario 110000000011 a Decimal. SISTEMAS DIGITALES Ŕ CONSULTA #1

155

2048 102 512 256 128 64 32 16 8 4 1 1 0 0 0 0 0 0 0

4

2

1

Pesos

0

1

1

2048+1024+2+1 = 3075

Binario a Hexadecimal. Partiendo según la tabla:

Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Hexadecimal

0 1 2 3 4 5 6 7 8 9 A B C D E F

1- Convertir el número Binario 1010 a Hexadecimal. 1010 = A 2- Convertir el número Binario 10101111 a Hexadecimal. 1010 1111 A

F

3- Convertir el número Binario 01010001 a Hexadecimal. 0101 0001 5

1

4- Convertir el número Binario 10011010 a Hexadecimal. SISTEMAS DIGITALES Ŕ CONSULTA #1

156

1001 1010 9

A

5- Convertir el número Binario 110111001111 a Hexadecimal. 1101 1100 1111 D

C

F

6- Convertir el número Binario 0001110111111011a Hexadecimal. 0001 1101 1110 1011 1

D

E

B

7- Convertir el número Binario 1000111100001100 a Hexadecimal. 1000 1111 0000 1100 8

F

0

C

8- Convertir el número Binario 1010001101001110 a Hexadecimal. 1010 0011 0100 1110 A

3

4

E

9- Convertir el número Binario 00000001100110111100 1110 a Hexadecimal. 0000 0001 1001 1011 1100 1110 0

1

9

B

C

E

10- Convertir el número Binario 1010101010101010 a Hexadecimal. 1010 1010 1010 1010 A

A

A

A

11- Convertir el número Binario 100101000010101100011100 a Hexadecimal. 1001 0100 0010 1011 0001 1100 9

4

2

B

1

C

12- Convertir el número Binario 01011001100000010111 a Hexadecimal. SISTEMAS DIGITALES Ŕ CONSULTA #1

157

0101 1001 1000 0001 0111 5 9 8 1 7 13- Convertir el número Binario 1110101000111111010111110010 a Hexadecimal. 1110 1010 0011 1111 0101 1111 0010 E

A

3

F

5

F

2

14- Convertir el número Binario 000000101110000111110101101010001100 a Hexadecimal. 0000 0010 1110 0001 1111 0101 1010 1000 1100 0

2

E

1

F

5

A

8

C

15- Convertir el número Binario 10101100011100011100000101100111010 a Hexadecimal. 0101 0110 0011 1000 1110 0000 1011 0011 1010 5

6

3

8

E

0

B

3

A

Decimal a Binario. 1- Convertir el número Decimal 10 a Binario. 10/2 = 5 Resto 0 5/2 = 2 Resto 1 2/2 = 1 Resto 0 1 MSB

LSB 1010

2- Convertir el número Decimal 34 a Binario. 34/2 = 17 17/2 = 8 8/2 = 4 4/2 = 2 2/2 = 1

Resto 0 LSB Resto 1 Resto 0 Resto 0 Resto 0 1 MSB

100010

3- Convertir el número Decimal 125 a Binario. 125/2 = 62 62/2 = 31 31/2 = 15 15/2 = 7

Resto 1 Resto 0 Resto 1 Resto 1

LSB

1111101 SISTEMAS DIGITALES Ŕ CONSULTA #1

158

7/2 = 3 3/2 = 1

Resto 1 Resto 1 1

MSB

4- Convertir el número Decimal 215 a Binario. 215/2 = 107 107/2 = 53 53/2 = 26 26/2 = 13 13/2 = 6 6/2 = 3 3/2 = 1

Resto 1 Resto 1 Resto 1 Resto 0 Resto 1 Resto 0 Resto 1 1

LSB

11010111

MSB

5- Convertir el número Decimal 545 a Binario. 524/2 = 262 262/2 = 131 131/2 = 65 65/2 = 32 32/2 = 16 16/2 = 8 8/2 = 4 4/2 = 2 2/2 = 1

Resto 0 Resto 0 Resto 1 Resto 1 Resto 0 Resto 0 Resto 0 Resto 0 Resto 0 1

LSB

1000001100

MSB

6- Convertir el número Decimal 1024 a Binario. 1024/2 = 512 512/2 = 256 256/2 = 128 128/2 = 64 64/2 = 32 32/2 = 16 16/2 = 8 8/2 = 4 4/2 = 2 2/2 = 1

Resto 0 Resto 0 Resto 0 Resto 0 Resto 0 Resto 0 Resto 0 Resto 0 Resto 0 Resto 0 1

LSB

10000000000

MSB

7- Convertir el número Decimal 3226 a Binario. 3226/2 = 1613 Resto 0 1613/2 = 806 Resto 1

LSB SISTEMAS DIGITALES Ŕ CONSULTA #1

159

806/2 = 403 403/2 = 201 201/2 = 100 100/2 = 50 50/2 = 25 25/2 = 12 12/2 = 6 6/2 = 3 3/2 = 1

Resto 0 Resto 1 Resto 1 Resto 0 Resto 0 Resto 1 Resto 0 Resto 0 Resto 1 1

110010011010

MSB

8- Convertir el número Decimal 4002 a Binario. 4002/2 = 2001 Resto 0 2001/2 = 1000 Resto 1 1000/2 = 500 Resto 0 500/2 = 250 Resto 0 250/2 = 125 Resto 0 125/2 = 62 Resto 1 62/2 = 31 Resto 0 31/2 = 15 Resto 1 15/2 = 7 Resto 1 7/2 = 3 Resto 1 3/2 = 1 Resto 1 1

LSB

111110100010

MSB

9- Convertir el número Decimal 5151 a Binario. 5151/2 = 2575 Resto 1 2575/2 = 1287 Resto 1 1287/2 = 643 Resto 1 643/2 = 321 Resto 1 321/2 = 160 Resto 1 160/2 = 80 Resto 0 80/2 = 40 Resto 0 40/2 = 20 Resto 0 20/2 = 10 Resto 0 10/2 = 5 Resto 0 5/2 = 2 Resto 1 2/2 = 1 Resto 0 1

LSB

1010000011111

MSB

10- Convertir el número Decimal 6363 a Binario. 6363/2 = 3181 Resto 1

LSB SISTEMAS DIGITALES Ŕ CONSULTA #1

160

3181/2 = 1590 Resto 1 1590/2 = 795 Resto 0 795/2 = 397 Resto 1 397/2 = 198 Resto 1 198/2 = 99 Resto 0 99/2 = 49 Resto 1 49/2 = 24 Resto 1 24/2 = 12 Resto 0 12/2 = 6 Resto 0 6/2 = 3 Resto 0 3/2 = 1 Resto 1 1

1100011011011

MSB

11- Convertir el número Decimal 8224 a Binario. 8224/2 = 4112 Resto 0 4112/2 = 2056 Resto 0 2056/2 = 1028 Resto 0 1028/2 = 514 Resto 0 514/2 = 257 Resto 0 257/2 = 128 Resto 1 128/2 = 64 Resto 0 64/2 = 32 Resto 0 32/2 = 16 Resto 0 16/2 = 8 Resto 0 8/2 = 4 Resto 0 4/2 = 2 Resto 0 2/2 = 1 Resto 0 1

LSB

10000000100000

MSB

12- Convertir el número Decimal 10010 a Binario. 10010/2 = 5005 Resto 0 5005/2 = 2502 Resto 1 2502/2 = 1251 Resto 0 1251/2 = 625 Resto 1 625/2 = 312 Resto 1 312/2 = 156 Resto 0

LSB

SISTEMAS DIGITALES Ŕ CONSULTA #1

161

156/2 = 78 78/2 = 39 39/2 = 19 19/2 = 9 9/2 = 4 4/2 = 2 2/2 = 1

Resto 0 Resto 0 Resto 1 Resto 1 Resto 1 Resto 0 Resto 0 1

10011100011010

MSB

13- Convertir el número Decimal 11222 a Binario. 11222/2 = 5611 Resto 0 5611/2 = 2805 Resto 1 2805/2 = 1402 Resto 1 1402/2 = 701 Resto 0 701/2 = 350 Resto 1 350/2 = 175 Resto 0 175/2 = 87 Resto 1 87/2 = 43 Resto 1 43/2 = 21 Resto 1 21/2 = 10 Resto 1 10/2 = 5 Resto 0 5/2 = 2 Resto 1 2/2 = 1 Resto 0 1 MSB

LSB

10101111010110

14- Convertir el número Decimal 13456 a Binario. 13456/2 = 6728 Resto 0 6728/2 = 3364 Resto 0 3364/2 = 1682 Resto 0 1682/2 = 841 Resto 0 841/2 = 420 Resto 1 420/2 = 210 Resto 0 210/2 = 105 Resto 0 105/2 = 52 Resto 1 52/2 = 26 Resto 0 26/2 = 13 Resto 0 13/2 = 6 Resto 1 6/2 = 3 Resto 0 3/2 = 1 Resto 1 1 MSB

LSB

1010010010000

15- Convertir el número Decimal 23987 a Binario.

SISTEMAS DIGITALES Ŕ CONSULTA #1

162

23987/2 = 11993 11993/2 = 5996 5996/2 = 2998 2998/2 = 1499 1499/2 = 749 749/2 = 374 374/2 = 187 187/2 = 93 93/2 = 46 46/2 = 23 23/2 = 11 11/2 = 5 5/2 = 2 2/2 = 1

Resto 1 Resto 1 Resto 0 Resto 0 Resto 1 Resto 1 Resto 1 Resto 1 Resto 1 Resto 0 Resto 1 Resto 1 Resto 1 Resto 0 1 MSB

LSB

101110111110011

Decimal a Hexadecimal.

1-Convertir el número Decimal 17a Hexadecimal. 17/16 = 1

Resto 1 1

1

2-Convertir el número Decimal 31 a Hexadecimal. 31/16 = 1

Resto 15 1

F

3-Convertir el número Decimal 112 a Hexadecimal. 112/16 = 7

Resto 0 7

0

4- Convertir el número Decimal 169 a Hexadecimal. 169/16 = 1

Resto 9 1

9

6- Convertir el número Decimal 325 a Hexadecimal. 325/16 = 2

Resto 5 2

5

7- Convertir el número Decimal 888 a Hexadecimal. SISTEMAS DIGITALES Ŕ CONSULTA #1

163

888/16 = 55 55/16 = 3

Resto 8 Resto 7 3

7

8

8- Convertir el número Decimal 1024 a Hexadecimal. 1024/16 = 64 Resto 0 64/16 = 4 Resto 0 4

0

0

9- Convertir el número Decimal 1999 a Hexadecimal. 1999/16 = 124 Resto 15 124/16 = 7 Resto 12 7

C

F

10- Convertir el número Decimal 3333 a Hexadecimal. 3333/16 = 208 Resto 5 208/16 = 13 Resto 0 D

0

5

11- Convertir el número Decimal 6969 a Hexadecimal. 6969/16 = 435 Resto 9 435/16 = 27 Resto 3 27/16 = 1 Resto 11 1

B

3

9

12- Convertir el número Decimal 12345 a Hexadecimal. 12345/16 = 771 Resto 9 771/16 = 48 Resto 3 48/16 = 3 Resto 0 3 0

3

9

13- Convertir el número Decimal 19876 a Hexadecimal. 19876/16 = 1242 Resto 4 1242/16 = 77 Resto 10 77/16 = 4 Resto 3 4 3

A

4

14- Convertir el número Decimal 33333 a Hexadecimal. SISTEMAS DIGITALES Ŕ CONSULTA #1

164

33333/16 = 2083 Resto 5 2083/16 = 130 Resto 3 130/16 = 8 Resto 2 8 2

3

5

15- Convertir el número Decimal 111222 a Hexadecimal. 111222/16 = 6951 6951/16 = 434 434/16 = 27 27/16 = 1

Resto 6 Resto 7 Resto 2 Resto 11 3 B 2 7 6 El sistema numérico binario es un sistema posicional, en el cual cada dígito binario (bit) lleva un cierto peso basado en su posición relativa al punto binario (separación de la parte entera y la fraccionaria). Cualquier número binario puede convertirse a su equivalente decimal sumando juntos los pesos de las diferentes posiciones en el número binario que contienen un 1. Por ejemplo: 1 1 0 1 1 binario 4 3 1 0 2 +2 +2 +2 = 16 + 8 + 2 + 1 = 2710 (decimal) Es mismo método se emplea para números binarios que contienen una parte fraccional: 1 0 1 . 1 0 1 = 22 + 20 + 2-1 + 2-3 = 4 + 1 + 0.5 + 0.125 = 5.62510 ¡ Aplicar el método anterior para verificar las siguientes conversiones: a) 1001102 = 3810 b) 0.1100012 = 0.76562510 c) 11110011.01012 = 243.31510 Se tienen diferentes maneras para convertir un número decimal a su representación equivalente en el sistema binario. Un método, que es conveniente para números pequeños, es el reverso del proceso descrito previamente. El número decimal se expresa simplemente como una suma de potencias de 2 y luego se escriben unos y ceros asociados a las posiciones apropiadas de los bits. Por ejemplo: 1310 = 8 + 4 + 1 = 23 + 22 + 0 + 20 = 11012 Otro ejemplo: 25.37510 = 16 + 8 + 1 + 0.25 + 0.125 = = 24 +23 +0 +0 +20 . +2-2 +2-3 = = 1 1 0 0 1 . 0 1 12 La conversión deseada se obtiene escribiendo los residuos como se muestra en el cuadro adjunto. Obsérvese que el primer residuo es el bit menos significativo (bms) y el último el Bit Más Significativo (BMS). La parte fraccionaria del número (0.375), se convierte a binario multiplicándola repetidamente por 2 y anotando cualquier acarreo en la posición de los enteros, como se muestra en el cuadro siguiente: 25.37510 = 11001.0112 --------------------------------------------------------------------------------------------------------------------------

ARITMÉTICA BINARIA SISTEMAS DIGITALES Ŕ CONSULTA #1

165

Se define como operación binaria un procedimiento entre dos o más variables en base 2 (o también llamado en módulo 2). Desde el punto de vista de la informática, estas operaciones aunque son puramente matemáticas, ocupan un gran rol en el funcionamiento de la computadora. Esta es la razón por la que se encuentran muchas veces en los microprocesadores y más específicamente en las ALU (Unidades Aritmético Lógicas). Todas las operaciones aritméticas conocidas en el sistema de numeración decimal, también se pueden realizar en cualquierotrosistemadenumeración,paraelloseaplicanlasmismasreglasdela aritmética común. Aquiseestudiaranlascuatrooperacionesbásicas: suma,.resta,multiplicaciónydivisión,aplicadas-.alsi.stemadenumeraciónbinario. El sistema binario, en matemática, es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno (0 y 1). Los ordenadores trabajan internamente con dos niveles de voltaje, por lo que su sistema de numeración natural es el sistema binario (encendido 1, apagado 0). El antiguo matemático Indio Pingala presentó la primera descripción que se conoce de un sistema de numeración binario en el siglo tercero antes de Cristo, lo cual coincidió con su descubrimiento del concepto del número cero. Una serie completa de 8 trigrams y 64 hexagramas, analogos a 3 bit y números binarios de 6 bit, eran conocidos en la antigua china en el texto clásico del I Ching. Series similares de combinaciones binarias también han sido utilizados en sistemas de adivinación tradicionales africanos como el Ifá, así como en la geomancia medieval Occidental. Un arreglo binario ordenado de los hexagramas del I Ching, representando la secuencia decimal de 0 a 63, y un método para generar el mismo, fue desarrollado por el erudito y filósofo Chino Shao Yong en el siglo XI. Sin embargo, no hay ningunas pruebas que Shao entendió el cómputo binario. En 1605 Francis Bacon habló de un sistema por el cual las letras del alfabeto podrían reducirse a secuencias de dígitos binarios, la cuales podrían ser codificados como variaciones apenas visibles en la fuente de cualquier texto arbitrario. En gran medida para la teoría general de codificación de binario, él añadió que este método podría ser usado con cualquier objeto en absoluto: "siempre que aquellos objetos sean capaces de solo una diferencia doble; como por Campanas, por Trompetas, por Luces y Antorchas, según el informe de Mosquetes, y cualquier instrumento de naturaleza parecida." [2] (Ver el codigo de Bacon) El sistema binario moderno fue documentado en su totalidad por Leibniz, en el siglo diecisiete, en su artículo "Explication de l'Arithmétique Binaire". Leibniz usó el 0 y el 1, al igual que el sistema de numeración binario actual. En 1854, el matemático británico George Boole, publicó un artículo que marcó un antes y un después, detallando un sistema de lógica que terminaría denominándose Álgebra de Boole. Dicho sistema jugaría un papel fundamental en el desarrollo del sistema binario actual, particularmente en el desarrollo de circuitos electrónicos.

SISTEMAS DIGITALES Ŕ CONSULTA #1

166

En 1937, Claude Shannon realizó su tesis doctoral en el MIT, en la cual implementaba el Álgebra de Boole y aritmética binaria utilizando relés y conmutadores por primera vez en la historia. Titulada Un Análisis Simbólico de Circuitos Conmutadores y Relés, la tesis de Shannon básicamente fundó el diseño práctico de circuitos digitales. En noviembre de 1937, George Stibitz, trabajando por aquel entonces en los Laboratorios Bell, construyó un ordenador basado en relés - al cual apodó "Modelo K" (porque lo construyó en una cocina, en inglés "kitchen")- que utilizaba la suma binaria para realizar los cálculos. Los Laboratorios Bell autorizaron un completo programa de investigación a finales de 1938, con Stibitz al mando. El 8 de enero de 1940 terminaron el diseño de una Calculadora de Números Complejos, la cual era capaz de realizar cálculos con números complejos. En una demostración en la conferencia de la Sociedad Americana de Matemáticas, el 11 de septiembre de 1940, Stibitz logró enviar comandos de manera remota a la Calculadora de Números Complejos a través de la línea telefónica mediante un teletipo. Fue la primera máquina computadora utilizada de manera remota a través de la línea de teléfono. Algunos participantes de la conferencia que presenciaron la demostración fueron John Von Neumann, John Mauchly y Norbert Wiener, el cual escribió acerca de dicho suceso en sus diferentes tipos de memorias en la cual alcanzo diferentes logros. Un número binario puede ser representado por cualquier secuencia de bits (dígitos binarios), que a su vez pueden ser representados por cualquier mecanismo capaz de estar en dos estados mutuamente exclusivos. Las secuencias siguientes de símbolos podrían ser interpretadas todas como el mismo valor binario numérico: 1010011010 |-|--||-|xoxooxxoxo ynynnyynyn El valor numérico representado en cada caso depende del valor asignado a cada símbolo. En un ordenador, los valores numéricos pueden ser representados por dos voltajes diferentes; sobre un disco magnético, polaridades magnéticas pueden ser usadas. "Un positivo", "sí", o "sobre" el estado es no necesariamente el equivalente al valor numérico de uno; esto depende de la arquitectura usada. De acuerdo con la representación acostumbrada de cifras que usan números árabes, los números binarios comúnmente son escritos usando los símbolos 0 y 1. Cuando son escritos, los números binarios son a menudo subindicados, prefijados o sufijados para indicar su base, o la raíz. Las notaciones siguientes son equivalentes: 100101 binario (declaración explícita de formato) 100101b (un sufijo que indica formato binario) 100101B (un sufijo que indica formato binario) bin 100101 (un prefijo que indica formato binario) 1001012 (un subíndice que indica base 2 (binaria) notación) %100101 (un prefijo que indica formato binario) 0b100101 (un prefijo que indica formato binario, común en lenguajes de programación) Operaciones con números binarios Suma de números Binarios Es semejante a la suma decimal, con la diferencia de que se manejan solo dos dígitos (0 y 1), y que cuando el resultado excede de los símbolos utilizados se agrega el exceso (acarreo) a la suma parcial siguiente hacia la izquierda. Las tablas de sumar son: Tabla del 0 Tabla del 1 0 + 0 = 0 1 + 0 = 1 0 + 1 = 1 1 + 1 =10 (0 con acarreo 1) Ejemplo: Sumar los números binarios 100100 (36) y 10010 (18) 1 0 0 1 0 0………………………36 1 0 0 1 SISTEMAS DIGITALES Ŕ CONSULTA #1

167

0…………………….+ 18 1 1 0 1 1 0………………………54 Obsérvese que no hemos tenido ningún acarreo en las sumas parciales. Ejemplo: Sumar 11001 (25) y 10011 (19) Las posibles combinaciones al sumar dos bits son

   

0+0= 0 0+1= 1 1+0= 1 1+1= 10 100110101 + 11010101 ----------1000001010 Operamos como en el sistema decimal: comenzamos a sumar desde la derecha, en nuestro ejemplo, 1 + 1 = 10, entonces escribimos 0 y "llevamos" 1 (Esto es lo que se llama el arrastre, acarreo o carry en inglés). Se suma este 1 a la siguiente columna: 1 + 0 + 0 = 1, y seguimos hasta terminar todas la columnas (exactamente como en decimal). Para aprender a sumar, con cinco o seis años de edad, tuviste que memorizar las 100 combinaciones posibles que pueden darse al sumar dos dígitos decimales. La tabla de sumar, en binario, es mucho más sencilla que en decimal. Sólo hay que recordar cuatro combinaciones posibles: Las sumas 0 + 0, 0 + 1 y 1 + 0 son evidentes: 0+0=0 0+1=1 1+0=1 Pero la suma de 1+1, que sabemos que es 2 en el sistema decimal, debe escribirse en binario con dos cifras (10) y, por tanto 1+1 es 0 y se arrastra una unidad, que se suma a la posición siguiente a la izquierda. Veamos algunos ejemplos: 010 + 101 = 111 210 + 510 = 710 001101 + 100101 = 110010 1310 + 3710 = 5010 1011011 + 1011010 = 10110101 9110 + 9010 = 18110 110111011 + 100111011 = 1011110110 44310 + 31510 = 75810

Sustracción en binario SISTEMAS DIGITALES Ŕ CONSULTA #1

168

La técnica de la resta en binario es, nuevamente, igual que la misma operación en el sistema decimal. Pero conviene repasar la operación de restar en decimal para comprender la operación binaria, que es más sencilla. Los términos que intervienen en la resta se llaman minuendo, sustraendo y diferencia. 0 1

0 0 1+1

1 1 0

Las restas 0 - 0, 1 - 0 y 1 - 1 son evidentes: 0Ŕ0=0 1Ŕ0=1 1Ŕ1=0 Es similar a la decimal, con la diferencia de que se manejan solo dos dígitos y teniendo en cuenta que al realizar las restas parciales entre dos dígitos de idéntica posiciones, una del minuendo y otra del sustraendo, si el segundo excede al segundo, se sustraes una unidad del digito de más a la izquierda en el minuendo (si existe y vale 1), convirtiéndose este ultimo en 0 y equivaliendo la unidad extraída a 1*2 en el minuendo de resta parcial que estamos realizando. Si es cero el digito siguiente a la izquierda, se busca en los sucesivos. Las tablas de Resta son: Tabla del 0 Tabla del 1 0 - 0 = 0 1 - 0 = 1 0 - 1 = no cabe 1 - 1 = 0 La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada de la posición siguiente: 10 - 1, es decir, 210 Ŕ 110 = 1. Esa unidad prestada debe devolverse, sumándola, a la posición siguiente. Ejemplo: 1 1 1 1 1 1 - 1 0 1 0 1 0 0 1 0 1 0 1 Multiplicación binaria: Se realiza similar a la multiplicación decimal salvo que la suma final de los productos se hacen en binarios. Las tableas de Multiplicar son: Tabla del cero (0) Tabla del uno (1) 0 * 0 = 0 1 * 0 = 0 0 * 1 = 0 1 * 1 = 1 111 Ŕ 101 = 010 710 Ŕ 510 = 210 10001 Ŕ 01010 = 00111 1710 Ŕ 1010 = 710 11011001 Ŕ 10101011 = 00101110 21710 Ŕ 17110 = 4610 111101001 Ŕ 101101101 = 001111100 48910 Ŕ 36510 = 12410 A pesar de lo sencillo que es el procedimiento de restar, es facil confundirse. Tenemos interiorizado el sistema decimal y hemos aprendido a restar mecánicamente, sin detenernos a pensar en el significado del arrastre. Para simplificar las restas y reducir la posibilidad de cometer errores hay varias soluciones. Dividir los números largos en grupos. Al igual que las operaciones anteriores, se realiza de forma similar a la división decimal salvo que las multiplicaciones y restas Internas al proceso de la división se hacen en binario. En el siguiente ejemplo, vemos cómo se divide una resta larga en tres restas cortas: SISTEMAS DIGITALES Ŕ CONSULTA #1

169

100110011101 010101110010 010000101011

1001 0101 0100

1001 0111 0010

1101 0010 1011

BINARIO: -Multiplicar por 2 equivale a desplazar a la izquierda 1 bit. -Dividir entre 2 equivale a desplazar a la derecha 1 bit. DECIMAL: -Multiplicar por 10 equivale a desplazar a la izquierda 1 dígito. -Dividir entre 10 equivale a desplazar a la derecha 1 dígito.

OPERACIONES ARITMÉTICAS EN COMPLEMENTO A DOS. La suma y resta son las operaciones básicas realizadas por los microprocesadores, cualquiera otra operación, es consecuencia recursiva de éstas. A continuación se describen estas dos operaciones SISTEMAS DIGITALES Ŕ CONSULTA #1

170

aritméticas, realizadas con números binarios en complemento a dos utilizando formato de signo y magnitud de 16 bits. SUMA EN COMPLEMENTO A DOS. Son cuatro casos que se presentan al sumar dos datos en formato con signo de complemento a dos: I) SUMA DE DOS NÚMEROS POSITIVOS. El resultado debe ser positivo, y el bit más significativo de la suma, siempre dará cero. Ejemplo: A = 1000111110001002; B = 100101101110112.

Antes de realizar la suma binaria se debe tener la precaución de sumar en decimal los números. De esta manera se puede chequear el resultado de la suma para tener la certeza de que no exceda el valor +3276710 y por lo tanto no sobrepasar el formato de 16 bits (Esto se conoce como OVERFLOW). También el 16vo bit en uno señala el sobreflujo de la operación. II) SUMA DE UNO NEGATIVO Y OTRO POSITIVO. El resultado debe poseer el signo del que tenga mayor valor absoluto. En este caso el resultado es positivo y el 16vo bit vale cero. Ejemplo: A = 11010110010101102; B = 1101101101110112

III) DE

SUMA UNO

POSITIVO Y OTRO NEGATIVO. El resultado debe poseer el signo del que tenga mayor valor absoluto. En este caso el resultado es negativo y el 16vo bit vale cero; del mismo modo no se debe tomar en cuenta el acarreo del 17vo bit. Ejemplo: A = 110110110101012; B = 10010110111010012

SISTEMAS DIGITALES Ŕ CONSULTA #1

171

A = 11110011111100002; B = 1001110111001012

Con dos números de distintos signos se dan los casos de acarreo en el 17vo bit. Si éste acarreo es cero significa que el resultado es negativo y se debe complementar para hallar su verdadero valor de la otra forma, si el acarreo es uno, entonces el signo del resultado es mayor o igual a cero y se encuentra en verdadero valor. Restar en binario usando el complemento a dos Y, por fin, vamos a ver cómo facilita la resta el complemento. La resta binaria de dos números puede obtenerse sumando al minuendo el complemento a dos del sustraendo. Veamos algunos ejemplos: Ejemplo: Hagamos la siguiente resta, 91 – 46 = 45, en binario: 1011011 Ŕ 0101110 = 0101101 Tiene alguna dificultad, cuando se acumulan los arrastres a la resta siguiente. Pero esta misma resta puede hacerse como una suma, utilizando el complemento a dos del sustraendo: 1011011 + 1010010 = 0101101 En el resultado de la suma nos sobra un bit, que se desborda por la izquierda. Pero, como el número resultante no puede ser más largo que el minuendo, el bit sobrante se desprecia. Ejemplo: Hagamos esta otra resta, 219 Ŕ 23 = 196, utilizando el complemento a dos: 21910 = 110110112, 2310 = 000101112 C223 = 11101001 El resultado de la resta será: 11011011 + 11101001 = 111000100 Y, despreciando el bit que se desborda por la izquierda, llegamos al resultado correcto: 110001002 = 19610 Resta de números binarios El algoritmo de la resta, en binario, es el mismo que en el sistema decimal. Pero conviene repasar la operación de restar en decimal para comprender la operación binaria, que es más sencilla. Los términos que intervienen en la resta se llaman minuendo, sustraendo y diferencia. Las restas básicas 0-0, 1-0 y 1-1 son evidentes:  0-0=0  1-0=1 SISTEMAS DIGITALES Ŕ CONSULTA #1

172



1-1=0 La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada de la posición siguiente: 10 - 1 = 1 y me llevo 1, lo que equivale a decir en decimal, 2 - 1 = 1 . Esa unidad prestada debe devolverse, sumándola, a la posición siguiente. Veamos algunos ejemplos: Restamos 17 - 10 = 7 (2=345) Restamos 217 - 171 = 46 (3=690) 10001 11011001 -01010 -10101011 -------------00111 00101110 A pesar de lo sencillo que es el procedimiento, es fácil confundirse. Tenemos interiorizado el sistema decimal y hemos aprendido a restar mecánicamente, sin detenernos a pensar en el significado del arrastre. Para simplificar las restas y reducir la posibilidad de cometer errores hay varias soluciones: Dividir los números largos en grupos. En el siguiente ejemplo, vemos cómo se divide una resta larga en tres restas cortas: Restamos 100110011101 1001 1001 1101 -010101110010 -0101 -0111 -0010 ------------- = ----- ----- ----010000101011 0100 0010 1011 Utilizando el Complemento a dos. La resta de dos números binarios puede obtenerse sumando al minuendo el complemento a dos del sustraendo. Veamos algunos ejemplos: Hagamos la siguiente resta, 91 - 46 = 45, en binario: 1011011 1011011 -0101110 C246 = 1010010 +1010010 --------------0101101 10101101 En el resultado nos sobra un bit, que se desborda por la izquierda. Pero, como el número resultante no puede ser más largo que el minuendo, el bit sobrante se desprecia. Un último ejemplo. Vamos a restar 219 - 23 = 196, directamente y utilizando el complemento a dos: 11011011 11011011 -00010111 C223 = 11101001 +11101001 ---------------11000100 111000100 Y, despreciando el bit que se desborda por la izquierda, llegamos al resultado correcto: 11000100 en binario, 196 en decimal Utilizando el complemento a 1. La resta de dos números binarios puede obtenerse sumando al minuendo el complemento a uno del sustraendo y a su vez sumarle el bit de overflow (bit que se desborda) IV) SUMA DE DOS NÚMEROS NEGATIVOS. El resultado debe ser negativo, por lo tanto el bit más significativo de la suma siempre dará uno.

SISTEMAS DIGITALES Ŕ CONSULTA #1

173

Antes de suma binaria la precaución decimal los esta manera se chequear el suma para de que no -3276710 y por lo tanto no sobrepasar el formato de 16 bits (Esto se conoce como También el 16vo y/o 17vo bits en cero señalan el sobreflujo de la operación.

realizar la se debe tener de sumar en números. De puede resultado de la tener la certeza exceda el valor OVERFLOW).

RESTA EN COMPLEMENTO A DOS. La resta en complemento a dos resuelve el problema de esta operación con los signos. Por ejemplo, el sustraendo negativo y minuendo positivo produce un resultado positivo; la resta de dos números A y B negativos puede dar resultados positivos o negativos. Para realizarla se procede con la fórmula definida de la siguiente forma: (Ec.1.5); La diferencia de dos números, A menos B es equivalente a la suma de A más el complemento a dos de B. I) Resta de dos números positivos. El resultado puede presentar varias formas que se determinan con los siguientes casos: (A mayor o igual que B):

De está manera, el resultado queda en forma binaria normal y es igual a valor del 17vo bit no se toma en cuenta para el resultado. En decimal A=2375110 y B=1518610; entonces A-B=856510 = 00100001011101012 (A menor que B):

SISTEMAS DIGITALES Ŕ CONSULTA #1

174

De está manera, el resultado es negativo y queda en forma de complemento a dos, el acarreo del 17vo bit no se toma en cuenta. Sin embargo, para saber el verdadero valor, el resultado se debe complementar a dos. Este es un número binario negativo de 16 bits, lo cual tiene un valor de: . En decimal la operación se efectúa: A = 774810 y B = 3115110 entonces el resultado es A-B = -2340310. II) RESTA DE DOS NÚMEROS NEGATIVOS Y DE DISTINTO SIGNO. El resultado puede presentar varias formas que se determinan aplicando los mismos casos de la suma en formato de 16 bits. Tabla 1. 3. Resumen de las operaciones suma y resta binaria con los datos A y B, utilizando el formato de 16 bits. Operación Acarreo Acarreo Resultado Observaciones 17vo bit 16vo bit A+B A>0; B>0 A+B A>0; B=B A-B A>0; B>0 A0; B