Documentos de Académico
Documentos de Profesional
Documentos de Cultura
OBJETIVOS:
REQUERIMIENTOS:
PROCEDIMIENTO
Para el presente curso se utilizara dos versiones el Visual Prolog 5.0 y el SWI
Prolog 5.6, siendo el segundo una versión actual y pequeña pero de
características similares al primero, la mayor parte del trabajo se desarrollar en
el primero ya que su entorno de trabajo tiene características ideales quedando
el segundo como alternativo para su revisión para esto se propondrán las
diferencias correspondientes y sus casos respectivos en caso de ser necesario.
En este caso se va ha proponer el siguiente programa en Visual Prolog., para
esto se deberá ingresara al paquete, ahí seleccionar la opción nuevo de la
barra de botones o del menú FILE, lo que aparecerá una ventana en la cual
copie lo siguiente:
Domains
metal = symbol
Predicates
valioso(metal)
Clauses
valioso(oro).
valioso(plata).
valioso(bronce).
Goal
valioso(oro).
Luego almacene su archivo donde deseara pero siempre con la extensión pro.,
luego de almacenar el archivo notara el cambio de color de algunas letras del
programa que copio, si no ubico la extensión no sucederá el cambio.
1
Universidad Nacional del Altiplano – Puno
Escuela Profesional de Ingeniería de Sistemas
CURSO: INTELIGENCIA ARTIFICIAL
Domains: aquí se definen los tipos de datos que se han de usar en los
predicados, así por ejemplo,
hombre = string
metal = symbol
numeros = real
letra = char
Predicates: aquí se definen todos los predicados que se han de definir, en las
cláusulas equivaldría a la definición de funciones en lenguaje C, utilizan las
definiciones de Domains, así por ejemplo:
valioso(metal)
Hermano(hombre, hombre)
amigos( hombre,hombre,hombre)
valioso(oro).
hermano(“juan”, “pedro”).
amigos( ”luis”,”pedro”,pablo”).
El prolog permite como se indico extraer consultas lógicas de los que sucede
en el conocimiento expresado resultando estas consultas verdaderas o falsas
(YES, NO) según corresponda, aquí se han de ubicar las preguntas necesarias
ejemplo es valioso el oro:
valioso(oro).
Para poner en memoria todas las clausulas y ver la consulta ejecute Test Goal
del menú de proyecto o su equivalente CTRL+G o simplemente apretando el
botón G de la barra de botones.
valioso(oro).
valioso(plata).
valioso(bronce).
2
Universidad Nacional del Altiplano – Puno
Escuela Profesional de Ingeniería de Sistemas
CURSO: INTELIGENCIA ARTIFICIAL
Indican que la "La plata es valiosa", "el oro es valioso". Todos estos predicados
se escriben en un "programa" de Prolog. Tras "correr" el programa, se pueden
hacer estas consultas:
Goal Valioso(X).
X=oro
X=plata
X=bronce
3 soluciones
valioso(cobre).
valioso(zing).
Consideración:
El programa quedaría:
Domains
metal = string
Predicates
valioso(metal) %Predicado único no siempre será así
Clauses
valioso("oro").
valioso("plata").
valioso("bronce").
valioso("cobre"). % Cláusulas agregadas
valioso("zing").
Goal
valioso(X). %Consulta
3
Universidad Nacional del Altiplano – Puno
Escuela Profesional de Ingeniería de Sistemas
CURSO: INTELIGENCIA ARTIFICIAL
Entre al SWI Prolog, ahí en el menú file seleccionar la opción new, lo que abrirá
una ventana de edición donde, se colocara el nombre respectivo, ahí se
seleccionara si para crear uno nuevo, una vez abierto el editor copiara
solamente la parte de las cláusulas del programa desarrollado en Visual Prolog,
ósea:
valioso(oro).
valioso(plata).
valioso(bronce).
Esta es una respuesta. Apretar tecla “;” , entonces Al agregar el punto y coma
se le está pidiendo otra respuesta que satisface la meta
4
Universidad Nacional del Altiplano – Puno
Escuela Profesional de Ingeniería de Sistemas
CURSO: INTELIGENCIA ARTIFICIAL
CONCLUSIONES
RECOMENDACIONES
TRABAJO APLICATIVO
1. Cuales son las diferencias que existen entre el SWI Prolog y el Visual Prolog.