Lenguajes Prolog

Anuncio
Decada 70 Crisis del sotfware Altos Costos
Alternativas Menores Costos
PROLOG Aplicaciones
Programación en Lógica Inteligencia Artificial
Resuelve problemas que envuelven Robótica
objetos y las relaciones entre ellos
Estructura
Hechos Reglas Variables
Ejemplo
is Operador infijo. `6 is 4+2'
consult Leer y compilar un programa, o consult(fichero).
para añadir cláusulas a un fichero.
recon Reemplaza una cláusula por la recon(fichero).
que se encuentra en la base de
hechos.
forget Eliminar hechos de la base de forget(fichero).
datos.
exitsys Nos devuelve al sistema operativo.
corte Controlar el proceso de !
reevaluación.
write Comillas simples encierran write(`hello world')
constantes y las dobles encierran
una lista.
nl Fuerza un retorno de carro en la write(`linea 1'),nl,write(`linea 2')
salida(enter) linea 1
1
linea 2
read Lee un valor de teclado y finaliza read(X).
cuando se introduce un punto.
PROLOG1 Trabaja con los S.O. MS−DOS, CP/M−86, RSX−11M Y RT−11.
PROLOG Utilizada en S.O. UNIX y VMS. Altas velocidades de ejecución.
QUINTUS
MACPROLOG Trabaja bajo S.O. MAC−OS. Combina sofisticadas técnicas de
programación de inteligencia artificial.
CONCLUSIÓN
Un hecho depende
de otro
Representa objetos que
el mismo prolog determina
Características
• Los nombres de objetos deben comenzar con una letra minúscula.
• Primero se escribe la relación, y luego los objetos separados por comas y encerrados entre ( )
• Al final de un hecho debe ir un ..
• Orden de los objetos, debe ser coherentes a lo largo de la base de los hechos.
Características
Características
• Una regla consiste en una cabeza y un cuerpo unido por el signo :−
• La cabeza esta formada por un único hecho.
• El cuerpo puede ser uno o mas hechos, separados por una ,, que actúa como el Y logico.
• Las reglas finalizan con un .
Expresan relaciones
entre objetos
2
• Puede ser:
• Instanciada.
• No instanciada
• Los nombres de las variables comienzan con letra mayuscula.
suelo(mojado). :− tiempo(lluvioso).
suelo(mojado).
tiempo(lluvioso). −−−−> suelo(mojado).
suelo(mojado).
• Orientado a la inteligencia artificial.
• Facilidad de programación.
• Accesibilidad a todo usuario.
• Utiliza pocos comandos.
• Asociatividad de los operadores.
• Diferentes ambientes de trabajo.
3
Descargar