Acabamos de recibir una gran colección de circuitos digitales de un fabricante no demasiado de fiar. Nos informa de qué conexiones hay, y entre qué elementos de los circuitos. Nos dice, además, qué función deben desempeñar tales elementos. Hemos de averiguar si los elementos son los que se supone que son. Deseamos que el número de comprobaciones necesario para saber si el fabricante ha instalado realmente los elementos correctos resulte lo menor posible. Estos circuitos utilizan sólo elementos de dos tipos, puertas lógicas O y puertas lógicas Y. Cada una de ellas queda caracterizada por una tabla de verdad, que pone en correspondencia los estados de sus entradas con el estado de la salida (véanse las tablas al pie). La salida de una puerta Y solamente es 1 cuando las dos entradas son 1, mientras que la salida de una puerta O es 1 cuando al menos una de sus entradas es 1. |
Como ejercicio preliminar, supongamos que el circuito se encuentra en la configuración de tres elementos que vemos abajo a la izquierda. Se sospecha que la puerta O (elemento 3) puede ser en realidad una puerta Y, y que una o ambas puertas Y (elementos 1 y 2) pueden ser en realidad puertas O. Cabe probar el circuito introduciendo un valor binario (bien un 1, bien un 0) en cada una de las entradas (A, B, C y D) y observando qué valores se obtienen en las salidas (E y F). Basta una comprobación para determinar si las puertas lógicas de este circuito están correctamente rotuladas. Ahora bien, qué entradas se han de utilizar para la prueba, y qué valores deben esperarse?. |
Fijémonos ahora en el circuito de cuatro elementos que vemos abajo a la derecha. ¿Cuál es el número mínimo de ensayos necesarios para verificar el circuito, y qué entradas habrán de aplicarse en cada caso? Como segundo problema, responde a la misma cuestión para un circuito con idéntica configuración, pero que contenga cuatro puertas Y. Por último, volvamos a la primera ilustración y consideremos todas las posibles combinaciones de puertas Y y O que se pudieran disponer con esta configuración de tres elementos. ¿Qué combinaciones pueden ser comprobadas utilizando sólo un ensayo? |
Sígueme en redes sociales
Creo que en el circuito de la izquierda no basta con una comprobación.
Por lo tanto, para comprobar si el elemento 1 es una puerta O o una puerta Y debemos asegurarnos de que los valores de entrada sean diferentes. El valor de entrada A ya lo sabemos, porque lo hemos elegido nosotros; pero también debemos saber el otro valor de entrada, el que viene del elemento 2. Pero como tampoco sabemos si el elemento 2 es una puerta O o una puerta Y, la única manera de saber a ciencia cierta el valor de salida del elemento 2 es introducir dos valores iguales en el elemento 2, es decir: B=C=0 o bien B=C=1. De esta manera conseguiremos saber qué tipo de puerta es el elemento 1, pero no podremos saber qué tipo de puerta es el elemento 2.
Cómo verificar el circuito de la izquierda con dos comprobaciones:
De esta manera nos aseguramos que el valor de salida del elemento 2 sea un 0. Ahora ya conocemos todos los valores de entrada de los elementos 1 y 3. Para el elemento 1 tenemos los valores de entrada 1,0, por lo tanto si el valor de salida es 0 será una Y, y si es 1 será una O. Para el elemento 3 lo mismo.
Ahora ya sabemos qué tipo de puertas son el elemento 1 y 3, nos falta saber el elemento 2.
Para ello introducimos los siguientes valores:
A: Si el elemento 1 resultó ser una puerta O, introducimos un 0 en A. Si el elemento 1 resultó ser una puerta Y, introducimos un 1 en A.
B y C: 0,1 o 1,0
D: es indiferente
El valor de salida del elemento 2 será 1 si el elemento 2 es una puerta O y 0 si el elemento 2 es una puerta Y. Por lo tanto el valor de salida del elemento 1 será 1 si el elemento 2 es una puerta O y 0 si el elemento 2 es una puerta Y. Ahora ya sabemos qué tipo de puerta es el elemento 2.
No entiendo la última parte del enunciado:
«Como segundo problema, responde a la misma cuestión para un circuito con idéntica configuración, pero que contenga cuatro puertas Y»
Entiendo que cuando dice «que contenga cuatro puertas Y» se refiere a «cuatro puertas que el fabricante marcó como Y», no a que las puertas sean necesariamente Y (si las puertas fueran necesariamente Y ya sabríamos qué tipo de puertas son y no habría nada que resolver).
Pero el hecho de que el fabricante marque una puerta como O o como Y no afecta para nada al problema, ya que el fabricante se puede equivocar, por lo tanto esa información no nos sirve.
Es decir: a la hora de comprobar el circuito lo único que importa es la configuración. La identificación que le ponga el fabricante a cada elemento es totalmente indiferente, no afecta al problema.
Por lo tanto no tiene sentido proponer otro problema con la misma configuración pero diferentes identificaciones por parte del fabricante, ya que ES EL MISMO PROBLEMA.
Para comprobar el segundo circuito se necesitan…
Un truco para resolver el segundo circuito:
Calculamos cuántos ensayos hacen falta para resolver el problema reducido y luego sólo habría que añadirle un ensayo más para comprobar el elemento 2.
Estoy intentando envíar una solución detallada del circuito 2, pero no aparece
Gracias Encías Joe por tus comentarios, los miraré detenidamente el finde. Saludos.
Hola Encías Joe, voy a darte el problema con el ejemplo más sencillo. Tenemos que verificar un circuito constituido por un sólo elemento: una puerta Y, con entradas A, B y salida C. Para verificar que es una puerta Y con un sólo ensayo nos basta. Para ello introducimos valores distintos a la entradas A y B. Si obtenemos un 0 en la salida C hemos comprobado que es efectivamente es una puerta Y. En caso de obtener un 1 se trata de una puerta O. Con valores iguales en las entradas, el valor de la salida es la misma tanto en la puerta O como en la Y y no podemos garantizar que con ese ensayo la puerta que estamos verificando sea Y. Es cuestión de aplicar este razonamiento sin modificar las configuración de los circuitos. Espero haberme explicado.
No, si tú te has explicado perfectamente, pero creo que no me has entendido a mí.
No sé por qué me explicas eso, ya que por mis respuestas es evidente que ya lo había entendido, de hecho en mi primera respuesta digo textualmente «Para comprobar si una puerta es O o Y es necesario que los valores introducidos sean diferentes (es decir, nos vale 0,1 o 1,0, pero no 0,0 ni 1,1)» que es básicamente lo mismo que acabas de decir tú.
Pero no has mencionado nada sobre los errores o sinsentidos que señalo en el enunciado. Ni tampoco sobre por qué no me deja subir la respuesta detallada al circuito 2
Disculpa Encías Joe, se me ha pasado leer tu primer comentario, un despiste que ya me ha pasado otra veces, en otro contexto.. alguien que lea esto puede dar fe de ello 😉
En cuanto a los errores o sinsentidos del enunciado, comentas que el tipo de puertas es irrelevante para la comprobación del circuito y que para su verificación sólo importa la configuración o ‘cableado’ del mismo. Te he entendido bien?.
Si es así, el autor y yo discrepamos contigo. La solución que él da al circuito de 4 elementos cuando cambiamos todas las puertas al tipo Y, manteniendo la misma configuración, es distinta a la del circuito original del enunciado tanto en los valores que debemos dar en las entradas como al número de ensayos, (spoiler).
Envíame tu respuesta detallada del circuito 2 a kiikirikii@hotmail.com y la publico. Ya ha pasado en alguna ocasión que alguien ha enviado un comentario y no sale publicado, ignoro la causa. Saludos.
Solución circuito 2 de Encías Joe:
si E da 1, E.1=(0001)
si E.1 da 1, E1.1=(1000)
si E.1.1 da 1, E1.1.1=(0100)
si E.1.1.1 da 1, Sol={OOOO}
si E.1.1.1 da 0, Sol={OYOO}
si E.1.1 da 0, E1.1.2=(0100)
si E.1.1.2 da 1, Sol={YOOO}
si E.1.1.2 da 0, Sol={YYOO}
si E.1 da 0, E.1.2=(1000)
si E.1.2 da 1, E1.2.1=(0100)
si E.1.2.1 da 1, Sol={OOYO}
si E.1.2.1 da 0, Sol={OYYO}
si E.1.2 da 0, E1.2.2=(0100)
si E.1.2.2 da 1, Sol={OOOY}
si E.1.2.2 da 0, Sol={OYOY}
si E da 0, E.2=(0111)
si E.2 da 1, E2.1=(1110)
si E.2.1 da 1, E2.1.1=(1011)
si E.2.1.1 da 1, Sol={YOYO}
si E.2.1.1 da 0, Sol={YYYO}
si E.2.1 da 0, E2.1.2=(1011)
si E.2.1.2 da 1, Sol={OOYY}
si E.2.1.2 da 0, Sol={OYYY}
si E.2 da 0, E.2.2=(1110)
si E.2.2 da 1, E2.2.1=(1011)
si E.2.2.1 da 1, Sol={YOOY}
si E.2.2.1 da 0, Sol={YYOY}
si E.2.2 da 0, E2.2.2=(1011)
si E.2.2.2 da 1, Sol={YOYY}
si E.2.2.2 da 0, Sol={YYYY}
Una pregunta: verificar un circuíto es…
A) Descubrir de qué tipo es realmente cada una de las puertas del circuito
B) Descubrir si es cierto o no que todas las puertas del circuito están bien identificadas. [Pero en el caso de que no lo estén no hace falta descubrir cuál o cuáles están mal]
Yo entiendo que verificar un circuito es la opción A, y como tal lo estoy resolviendo. Y si es así, las identificaciones que aporta el fabricante no sirven de nada, no afectan al problema.
Si resulta que verificar un circuito es la opción B, entonces yo he resuelto un problema distinto, de ahí mis diferencias con el autor
Si verificar el circuito consiste simplemente en saber si es cierto o no que todos los elementos están bien identificados, entonces la solución al circuito 1 es:
Si sale (0,1), el circuito está bien.
Si sale algo distinto, está mal
Lógicamente, nunca mejor dicho 😉 , verificar es la opción B.
Tú respuesta al circuito 2 se puede mejorar, se puede bajar de 4 ensayos.
Claro, es que mis respuestas previas eran para solucionar el problema tal como yo la había entendido.
Ahora que sé que verificar simplemente es averiguar si todo está bien o no, intentaré resolver de nuevo todos los problemas.
Gracias
Tú respuesta a la primera cuestión del primer circuito es correcta, un sólo ensayo basta. Gracias a tí también por comentar .
Solución al circuito 2:
(0,0,0,1), (1,0,0,0) y (1,1,0,0)
Si los ensayos dan {1,0,0} el circuito está bien. Si dan otro resultado, está mal
Perdón, la solución anterior está mal
(0,0,0,1) y (1,1,0,0)
Si los ensayos dan {1,0} el circuito está bien, si dan otro resultado está mal
El circuito 2 con cuatro puertas Y se puede verificar en…
(0111), (1110) y (1101)
Si da {0,0,0} está bien, si da otra cosa está mal
Los circuitos con la misma configuración que el 1 que pueden ser verificados con un solo ensayo son:
YYO: (1101)={01}
OYY: (1101)={10}
YOO: (0010)={01}
OOY: (0010)={10}
OOO: (0010)={11}
*A la izquierda la configuración del circuito y a la derecha los valores introducidos para verificarlo y lo que debería dar
Respuestas correctas Encías Joe.