2.6.2 Representación del conocimiento en la inteligencia artficial

 

 

Algunos lenguajes de programación han sido diseñados para razonar haciendo uso de las reglas de la lógica de predicados. Prolog (que proviene de Programacion en lógica), desarrollado en los años setenta por informaticos que trabajaban en el area de inteligencia artificial, es un ejemplo de este importante tipo de lenguajes. Los programas en Prolog incluyen un conjunto de declaraciones basadas en dos tipos de sentencias, hechos y reglas. Los hechos en Prolog definen predicados especificando los elementos que satisfacen esos predicados. Las reglas en Prolog se emplean para definir nuevos predicados utilizando aquellos ya definidos por hechos.[4]

 


 

Considerando un programa en prolog que parte de unos hechos que especifica el profesor de cada asignatura y en que asignaturas están matriculados los alumnos. El programa hace uso de estos hechos para responder preguntas relacionadas con los profesores de un alumno en particular. Este programa podría utilizar los predicados profesor(p, a) y matriculado(e, a) para representar que el profesor p es el profesor de la asignatura a y que el estudiante e esta matriculado en la asignatura a, respectivamente. Por ejemplo los hechos en Prolog de tal programa podrían incluir:

profesor (chan, mate273)

profesor (patel, ec222)

profesor (Grossman, cc301)

matriculado (kevin, mate273)

matriculado (juana, ec222)

matriculado (juana, cc301)

matriculado (kiko, mate273)

matriculado (kiko, cc301)

Un nuevo predicado enseña(P, E), que presenta que el profesor P da clase al estudiante E, se puede definir haciendo uso de la regla en prolog:

Enseña (P, E) :- profesor (P, A), matriculado (E, A)

que significa que enseña(P, E) es verdadero si existe una asignatura a tal que el profesor P es el profesor de la asignatura A y el estudiante E está matriculado en la asignatura A.