Skip to content

Caballeros y escuderos: acertijo 3

Jesús Arroyo Torrens edited this page May 29, 2017 · 4 revisions

Enunciado

En la isla de los caballeros y los escuderos se encuentran dos habitantes: A y B. En este caso la sentencia de A es, «Yo soy escudero, pero B no lo es». ¿Qué son A y B?


Descripción formal

En la isla de los caballeros y los escuderos se encuentran dos habitantes: A y B.

Tenemos dos parámetros de entrada A y B.


En este caso la sentencia de A es, «Yo soy escudero, pero B no lo es».

A dice una única frase P (+info):

A ↔ P

Definimos la frase P como «Yo soy escudero, pero B no lo es». La frase será verdadera (1) cuando ambas condiciones sean verdaderas al mismo tiempo. Esta ecuación es:

A: P = ¬A ∧ B


¿Qué son A y B?

Circuito digital

Entradas y salidas

Añadimos las entradas A y B (conectadas a LED0 y LED1, respectivamente) y una señal de salida S (conectada a LED7) que se activará cuando el circuito encuentre una solución.

A ↔ P

La operación bicondicional se implementa mediante una puerta XNOR (+info).

A: P = ¬A ∧ B

Vamos a representar la ecuación de conjunción entre ¬A,B con una puerta AND (+info).

Finalmente incluimos una puerta NOT (+info) para definir la subecuación ¬A.

Descargar circuito final en Icestudio

Resolución en FPGA

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

Solución

Al sintetizar y descargar el circuito aparece una solución en (0, 0). Pulsando Next se llega al final sin encontrar nuevas soluciones. La solución (0, 0) es única.

(0, 0)

Por lo tanto tenemos que (A, B) = (0, 0). A y B son escuderos.

Conclusiones

  • Una puerta AND permite determinar si todas las señales valen 1

Referencias

  • Raymond Smuyllan, ¿Cómo se llama este libro? Capítulo 3: Caballeros y Escuderos [33] (1989) Ediciones Cátedra, S.A. [1]