Skip to content

Caballeros y escuderos: acertijo 2

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

Enunciado

En la isla de los caballeros y los escuderos se encuentran dos habitantes: A y B. A dice, «O yo soy un escudero o en caso contrario dos más dos es igual a cinco». ¿Qué concluirías?


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.


A dice, «O yo soy un escudero o en caso contrario dos más dos es igual a cinco».

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

A ↔ P

Definimos la frase P como «O yo soy un escudero o en caso contrario dos más dos es igual a cinco». La frase será verdadera (1) cuando una de las dos condiciones sea verdadera. Claramente la segunda condición "dos más dos es igual a cinco" es falsa, un 0 lógico. Por lo tanto la ecuación es:

A: P = ¬A ∨ 0


¿Qué concluirías?

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 ∨ 0

Vamos a representar la ecuación de disyunción entre ¬A,0 con una puerta OR (+info).

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

Finalmente añadimos un 0 lógico para representar la segunda codición de la frase.

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 contador llega al final con la señal S apagada.

No existen soluciones

El enunciado es imposible ya que contiene una contradicción (A ↔ ¬A). Ningún habitante puede decir «Yo soy un escudero». Esto significa que el enunciado está incorrectamente planteado.

Conclusiones

  • Un 0 lógico representa una señal no activa
  • 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 [30] (1989) Ediciones Cátedra, S.A. [1]