Programación en PROLOG

Anuncio
Programación
en Lógica
INTEGRANTE
JULIO MONTECINO Q.
Evolución
Decada 70
Crisis del sotfware
Alternativas
PROLOG
Programación en Lógica
Resuelve problemas que
envuelven objetos y las
relaciones entre ellos.
10/16/2015
PROLOG, Programación en Lógica
Altos Costos
Disminución
Costos
Aplicaciones
Inteligencia Artificial
Robótica
3
Estructura
Reglas
Hechos
Expresan relaciones
entre objetos.
Un hecho depende
de otro.
Características
Características
Los nombres de objetos deben
comenzar con letra minúscula.
Primero se escribe la relación,
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.
10/16/2015
Variables
Representa objetos
que el mismo prolog
determina.
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 “.”
PROLOG, Programación en Lógica
Características
Puede ser:
Instanciada.
No instanciada
Los nombres de
variables comienzan
con letra mayuscula.
4
un coche tiene ruedas
hechos
tiene(coche,ruedas).
Relación
objetos
tiempo(lluvioso).
suelo(mojado).
:-
suelo(mojado).
suelo(mojado).
:-
tiempo(lluvioso).
suelo(mojado).
10/16/2015
PROLOG, Programación en Lógica
5
Al igual que otros lenguajes, existe la
asociatividad de los operadores.
3+2*6 =3+(2*6)
is
Operador infijo.
‘6 is 4+2’
X is 4+3
consult
Leer y compilar un
programa, o para añadir
cláusulas a un fichero.
consult(fichero).
recon
Reemplaza una cláusula
por la que se encuentra
en la base de hechos.
recon(fichero).
10/16/2015
PROLOG, Programación en Lógica
6
forget
Eliminar hechos de la
base de datos.
exitsys
Nos devuelve al
sistema operativo.
corte
Controlar el proceso
de reevaluación.
forget(fichero).
“!”
regla :- hecho1, hecho2, !, hecho3, hecho4, hecho5.
10/16/2015
PROLOG, Programación en Lógica
7
write
nl
read
10/16/2015
Comillas simples
write(‘hello world’)
encierran constantes y
las dobles encierran una
lista.
Fuerza un retorno
de carro en la
salida (enter)
write(‘linea 1’),nl,write(‘linea 2’)
linea 1
linea 2
Lee un valor de teclado read(X).
y finaliza cuando se
introduce un punto “.”
PROLOG, Programación en Lógica
8
 PROLOG1
Trabaja con los S.O. MS-DOS, CP/M86, RSX-11M Y RT-11.
PROLOG
QUINTUS
Utilizada en S.O. UNIX y VMS. Altas
velocidades de ejecución.
 MACPROLOG
Trabaja bajo S.O. MAC-OS. Combina
sofisticadas técnicas de programación
de inteligencia artificial.
10/16/2015
PROLOG, Programación en Lógica
9
Orientado
a la
inteligencia artificial.
Facilidad
Accesibilidad
Utiliza
a
de
programación.
pocos comandos.
todo usuario.
Asociatividad
operadores.
10/16/2015
de los
Diferentes
ambientes
de trabajo.
PROLOG, Programación en Lógica
10
Programación
en Lógica
Descargar