Skip to content

Caso 02

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

Introducción

En la línea del anterior caso, resolvemos un nuevo problema a partir de sus ecuaciones implementadas mediante puertas lógicas en un circuito digital.

Los recursos utilizados son:

Descripción del problema

En la isla de los escuderos y los caballeros (los caballeros siempre dicen la verdad, y los escuderos siempre mienten) se encuentran dos habitantes: A y B.

Y A dice: "Al menos uno de nosotros es escudero".

A continuación extraemos las ecuaciones lógicas derivadas del problema.

Ecuaciones lógicas

En la isla de los escuderos y los caballeros (los caballeros siempre dicen la verdad y los escuderos siempre mienten)

Los caballeros (1) siempre dicen la verdad (1) y los escuderos (0) siempre mienten (0).

se encuentran dos habitantes: A y B.

Sabemos que tenemos dos "parámetros de entrada" A y B

Y A dice: "Al menos uno de nosotros es escudero".

En este caso sólo habla A y dice la sentencia P igual a "Al menos uno de nosotros es escudero". Podemos simplificar P con la siguiente equivalencia trivial P': "No hay dos caballeros".

P = P'

La frase P' se expresa a partir de A y B, ya que sólo será cierta si no se da el caso de que A y B sean caballeros (1) simultáneamente, es decir, si no se da (A & B). Por lo tanto:

P' = ¬(A & B)

Con estas ecuaciones vamos a representar el circuito digital correspondiente.

Puertas lógicas

Puerta XNOR

La puerta XNOR representa el comparador de igualdad. Como en el caso anterior se utilizará para verificar que el personaje es coherente con su frase, es decir que un caballero (1) sólo dirá frases verdaderas (1) y un escudero (0) sólo dirá frases falsas (0).

Como sólo aparece una frase se utiliza una puerta XNOR para (A,P).

Puerta NAND

En las ecuaciones se utiliza el AND negado para representar que A y B no pueden ser 1 al mismo tiempo por lo que la puerta no se activará. En cualquier caso alternativo la salida se activa a 1. Sólo se desactiva si ambas entradas son 1.

Entradas y salidas

Las entradas y salidas son las mismas que en el caso anterior: los parámetros A y B conectados a los botones y a los LEDs, LED0 y LED1 respectivamente, y la señal S conectada al LED7 que indica si la solución es válida.

Ecuaciones

Finalmente queda representar las ecuaciones mediante conexiones:

P = P' = ¬(A & B)

Descargar circuito Final en Icestudio

Circuito de pruebas

Se utilizará el mismo circuito de pruebas que en el caso anterior.

Descargar circuito de pruebas en Icestudio

Solución

Al sintetizar y descargar el circuito en la FPGA, se para automáticamente en la siguiente solución:

A (LED0) B (LED1) S (LED7)
1 0 1

Al pulsar el botón Next llega al final sin obtener una nueva solución:

A (LED0) B (LED1) S (LED7)
1 1 0

Por lo tanto la solución (1, 0) es la única que existe y eso significa que A es un caballero y B es un escudero.

Conclusiones

En este segundo caso se ha analizado un problema en el que sólo uno de los habitantes dice una frase, pero ésta es suficiente para identificar a A y a B.

Para optimizar la lógica del problema se ha buscado una equivalencia trivial de P que reduce el número de puertas lógicas necesarias.

Autor

Licencia

GPL 2.0 and Creative Commons Attribution-ShareAlike 4.0 International License.