Que
tal… bueno hoy publicare un reto de programación sobre la inteligencia
artificial (con una semana de atraso), así que comencemos. Revisa el anterior post (ver).
Para
hacer este reto me base en una frase que encontré en un libro (C# -
Lenguaje Y Aplicaciones. CEBALLOS,
Javier) [y ciertas discusiones
con ExTmail], dice más o menos así: “Los
científicos descubren el mundo tal cual es, los ingenieros crean el mundo que
nunca fue”.
Ahora
comencemos:
Enunciado
del problema: Se ha pedido a un Licenciado que encuentre las Fbf de algunas
sentencias lógicas, pero no sabe si lo ha hecho bien, ¡ayúdale!
Sentencias
lógicas:
1.
∀x: investigador(x) ^ otras_habilidades(x) →
constructor_futuro(x)
2.
∀x: científico(x) v ingeniero(x) → investigador(x)
3.
∀x: ing_informatica(x) → ingeniero(x) ^
otras_habilidades(x)
4.
ing_informatica(alberto)
5.
científico(extmail)
Y el las transformo a Fbf, dando como resultado:
1.- ¬invetigador(x) v
otras_habilidades v constructor_futuro(x)
2a.- ingeniero(x) v
investigador(x)
2b.- científico(x) v
investigador(x)
3a.- ¬ing_informatica(x) ^ otras_habilidades(x)
3b.- ¬ing_informatica(x)
^ ingeniero(x)
Resuelve
el reto:
1.- Intenta revisar la lógica de este licenciado, ¿tiene fallas? De ser así corrígelas.
2.- Crea un programa en Prolog con las Fbf obtenidas, y realiza las siguientes
consultas:
1.- ing_informatica(alberto)
2.- ing_informatica(extmail)
3.- investigador(eyoz)
4.-
constructor_futuro(alberto)
5.-
constructor_futuro(x)
Menciona
el valor retornado por Prolog, y describe brevemente por que devuelve ese valor.
3.-
abre el debugguer y repite la consulta no. 5, menciona brevemente el trabajo
que hace Prolog.
Bien
eso es todo, ¡inténtalo!, la respuesta al reto será publicada el día miércoles
(sin falta), no olvides mandar tu respuesta, duda, comentario, etc. A:
retoswm [at]
gmail.com
NOTA IMPORTANTE:
El
programa de arriba carece de cualquier tipo de objetividad, y da a relucir
parte de mi humor retorcido, solo se utilizo como ejemplo para esta introducción
a Prolog.

