-
Notifications
You must be signed in to change notification settings - Fork 2
Caballeros y escuderos: acertijo 9
En la isla de los caballeros y los escuderos se encuentran tres habitantes: A, B y C.
Tenemos tres parámetros de entrada: A, B y C.
A dice «Todos nosotros somos escuderos».
A dice una única frase P (+info):
A ↔ P
La frase P se puede representar de dos maneras:
- «Todos nosotros somos escuderos»: ¬A ∧ ¬B ∧ ¬C
- «No hay ningún caballero»: ¬(A ∨ B ∨ C)
De nuevo aparece una de las Leyes de De Morgan (+info): por lo que la ecuación se puede representar de la siguiente forma:
A: P = ¬A ∧ ¬B ∧ ¬C = ¬(A ∨ B ∨ C)
B continúa diciendo «Uno de nosotros, y sólo uno es un caballero».
B dice una única frase Q (+info):
B ↔ Q
En esta frase Q, B asegura que sólo hay un caballero entre ellos. Es decir, el caballero puede ser o A o B o C:
B: Q = (A ∧ ¬B ∧ ¬C) ∨ (¬A ∧ B ∧ ¬C) ∨ (¬A ∧ ¬B ∧ C)
Deben ser coherentes ambas sentencias:
A ↔ P ∧ B ↔ Q
¿Qué son A, B, C?
Entradas y salidas
Añadimos las entradas A, B y C (conectadas a LED0, LED1 y LED2, respectivamente) y una señal de salida S (conectada al LED7) que se activará cuando el circuito encuentre una solución.
A ↔ P
B ↔ Q
Como tenemos dos operaciones bicondicionales utilizaremos dos puertas XNOR (+info).
A ↔ P ∧ B ↔ Q
Esta ecuación se representa mediante una puerta AND (+info).
A: P = ¬A ∧ ¬B ∧ ¬C = ¬(A ∨ B ∨ C)
La frase P se puede representar de dos formas. Vamos a utilizar la más simplificada empleando una puerta NOR (+info) de 3 bit.
B: Q = (A ∧ ¬B ∧ ¬C) ∨ (¬A ∧ B ∧ ¬C) ∨ (¬A ∧ ¬B ∧ C)
La sentencia Q se representa con un bloque ONE 1 (+info).
Descargar circuito en Icestudio
Para resolver el circuito añadimos un bloque que comprueba todas las posibilidades y encuentra la solución o soluciones correctas (+info). Sintetizamos este circuito en la FPGA.
Descargar circuito de pruebas en Icestudio
Al sintetizar y descargar el circuito aparece una única solución (0, 1, 0).
(0, 1, 0) |
---|
Tenemos que (A, B, C) = (0, 1, 0), luego A es un escudero, B es un caballero y C es otro escudero.
- Una puerta NOR sólo se activa si todas sus entradas valen 0
- Una puerta NOR de 3 bit tiene el mismo comportamiento que una NOR de 2 bit
- Raymond Smuyllan, ¿Cómo se llama este libro? Capítulo 3: Caballeros y Escuderos [31] (1989) Ediciones Cátedra, S.A. [1]