En la primera parte de este artículo formulamos el acertijo de Einstein en términos de matrices, y se presentaron tres operaciones con matrices que serán la base para un algoritmo que permita resolver el enigma. En esta parte vamos a estar hablando de este algoritmo, y una implementación en JavaScript que permitirá resolver este enigma y cualquier otro enigma similar.
Hay algunos lenguajes de programación como Prolog, diseñados para funcionar directamente con hechos lógicos, donde se pueden resolver problemas lógicos de una manera natural. Mediante el uso de la formulación matricial podemos utilizar cualquier lenguaje de programación para resolver este tipo de acertijos. Aquí proporcionamos la implementación, en JavaScript, del objeto matriz con los tres operadores básicos utilizados para resolver los acertijos. La selección de JavaScript no es arbitraria, ya que el mismo permite mostrar la eficacia del algoritmo en este mismo artículo.
Existen en Internet varios rompecabezas lógicos donde la información debe ser colocada en una rejilla de datos, pero indudablemente, uno de los más populares es el conocido acertijo de Einstein. Aunque se le atribuye a Einstein, no hay evidencia que respalde esta afirmación. Se dice que solo el 2% de la población mundial puede resolverlo, pero en realidad no es tan difícil, todo lo que se necesita es lógica y deducción. En este artículo presentaremos un método basado completamente en operaciones matriciales para resolver este acertijo y cualquier otro similar.
Tenemos 5 casas de 5 colores diferentes alineadas y en cada una de ellas vive una persona de una nacionalidad diferente. Cada uno de los dueños bebe una bebida diferente, fuma una marca de cigarrillos diferente y tiene una mascota diferente. La pregunta es: ¿Quién es el dueño del pececito?