sábado, 28 de abril de 2012

1er Reto en Prolog (eyoZ)


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. 


viernes, 20 de abril de 2012

Presentando… Retos de Inteligencia Artificial y Prolog (Reglas)


Que tal, hace ya mucho tiempo que no se publica nada por estos lares, así que vengo a desempolvar el blog, esta vez traigo las reglas para los retos de programación de Inteligencia Artificial, el IDE a utilizar será Amzi! Prolog.

Empecemos: lo primero descargar el IDE (ver), y si quieres puedes revisar la documentación (ver), para que se te facilite la programación en Prolog, en si los programas a desarrollar (al menos los que tengo hasta el momento), no requieren grandes conocimientos, a lo mas los justos de sintaxis.

Lo segundo, se te dará una base de conocimiento o bien una lógica de predicados, la cual tendrás que transformar en hechos y reglas en Prolog, o bien ya tendrás un código funcional, al que solo le tendrás que agregar la visualización de los datos.

Sea lo que se te pida, se te dará un enunciado (como en veces anteriores), con todas las instrucciones a realizar.

Bien creo que eso es todo por ahora, nos leeremos más tarde, mañana publicare el 1er reto en Prolog.