Skip to content

Caballeros y escuderos: acertijo 7

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

Enunciado

En la isla de los caballeros y los escuderos se encuentran tres habitantes: A, B y C. Un extranjero pasó por allí y le preguntó a A, «¿Eres caballero o escudero?». A respondió, pero tan confusamente, que el extranjero no pudo enterarse de lo que decía. Entonces el extranjero preguntó a B, «¿Qué ha dicho A?». Y B le respondió: «A ha dicho que es escudero». Pero en ese instante el tercer hombre, C, dijo, «¡No creas a B, que está mintiendo!». La pregunta es, ¿qué son B y C?


Descripción formal

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.


Un extranjero pasó por allí y le preguntó a A, «¿Eres caballero o escudero?». A respondió, pero tan confusamente, que el extranjero no pudo enterarse de lo que decía.

A responde a la pregunta «¿Eres caballero o escudero?» de una forma que el extrajero no comprende. Por lo que no se puede obtener una ecuación de esta sentencia.


Entonces el extranjero preguntó a B, «¿Qué ha dicho A?». Y B le respondió: «A ha dicho que es escudero».

B dice una única frase Q (+info):

B ↔ Q

En esta frase Q, B afirma que A dice una frase P (A ↔ P) en la que se proclama escudero (P = ¬A). Por lo tanto:

B: Q = (A ↔ ¬A)


Pero en ese instante el tercer hombre, C, dijo, «¡No creas a B, que está mintiendo!».

C dice una única frase R (+info):

C ↔ R

La sentencia R afirma que B es un mentiroso, es decir, un escudero:

C: R = ¬B


Deben ser coherentes ambas sentencias:

B ↔ Q ∧ C ↔ R


La pregunta es, ¿qué son B y C?

Circuito digital

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.

B ↔ Q
C ↔ R

Como tenemos dos operaciones bicondicionales utilizaremos dos puerta XNOR (+info).

B ↔ Q ∧ C ↔ R

Para encontrar una solución válida ambas sentencias deben ser coherentes. Utilizamos una puerta AND (+info).

B: Q = (A ↔ ¬A)

La sentencia Q se representa con una puerta NOT (+info) y una puerta XNOR aplicadas la señal A.

C: R = ¬B

La sentencia R se representa con otra puerta NOT sobre la señal B.

Descargar circuito 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 obtenemos dos soluciones válidas:

(0, 0, 1)
(1, 0, 1)

Tenemos que (A, B, C) = (?, 0, 1). No podemos determinar qué es A pero sí sabemos que B es un escudero y C es un caballero.

La sentencia de B es una contradicción y siempre vale 0 puesto que asegura que A es igual a ¬A y eso es imposible (ningún habitante puede decir la frase «Yo soy un escudero»).

Conclusiones

  • Una contradicción (⊥) es una incompatibilidad entre dos o más proposiciones

Referencias

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