PDF de programación - Prácticas de Lógica Prolog

Imágen de pdf Prácticas de Lógica Prolog

Prácticas de Lógica Prologgráfica de visualizaciones

Publicado el 10 de Mayo del 2017
2.326 visualizaciones desde el 10 de Mayo del 2017
597,7 KB
79 paginas
Creado hace 22a (25/10/2001)
LÓGICA DE PRIMER ORDEN, LÓGICA COMPUTACIONAL y AMPLIACIÓN DE LÓGICA



!7E.9.,8/0O.,



Faraón Llorens Largo
Mª Jesús Castel de Haro

DEPARTAMENTO DE CIENCIA DE LA COMPUTACIÓN E

INTELIGENCIA ARTIFICIAL
Universidad de Alicante











1.



PROLOG

Contenido

PROGRAMACIÓN LÓGICA ......................................................................................................... 1

2.

3.

4.

3.1.

4.1.
4.2.
4.3.

5.1.
5.2.

5.

6.

2.1.
2.2.
2.3.

PROLOG Y EL LENGUAJE DE LA LÓGICA DE PRIMER ORDEN...................................... 3
PREDICADOS .............................................................................................................................. 3
TÉRMINOS.................................................................................................................................. 4
CONECTIVAS LÓGICAS............................................................................................................... 6
ESTRUCTURA DE UN PROGRAMA ........................................................................................... 9
PREGUNTAS................................................................................................................................ 9
SINTAXIS........................................................................................................................................ 12
CARACTERES............................................................................................................................ 12
ESTRUCTURAS.......................................................................................................................... 13
OPERADORES ........................................................................................................................... 13
ESTRUCTURAS DE DATOS........................................................................................................ 18
ÁRBOLES.................................................................................................................................. 18
LISTAS...................................................................................................................................... 18
ESTRUCTURAS DE CONTROL ................................................................................................. 23
RECURSIÓN .............................................................................................................................. 23
UNIFICACIÓN............................................................................................................................ 24
REEVALUACIÓN........................................................................................................................ 25
EL CORTE................................................................................................................................. 27
PREDICADOS DE CONTROL ....................................................................................................... 30
PREDICADOS DE ENTRADA Y SALIDA ................................................................................. 32
LECTURA Y ESCRITURA DE TÉRMINOS.................................................................................... 32
LECTURA Y ESCRITURA DE CARACTERES ............................................................................... 33
LECTURA Y ESCRITURA EN FICHEROS..................................................................................... 34
8. MODIFICACIÓN DE LA BASE DE CONOCIMIENTOS ........................................................ 37
ADICIÓN DE BASES DE CONOCIMIENTO EXTERNAS ................................................................. 37
MANIPULACIÓN DE LA BASE DE CONOCIMIENTOS .................................................................. 38
COMPONENTES DE ESTRUCTURAS ........................................................................................... 41
9. DEPURACIÓN DE PROGRAMAS PROLOG............................................................................ 44

6.1.
6.2.
6.3.
6.4.
6.5.

7.1.
7.2.
7.3.

8.1.
8.2.
8.3.

7.

10.

11.

PROGRAMACIÓN EN PROLOG........................................................................................... 47
ENTORNO DE TRABAJO............................................................................................................ 47
10.1.
ESTILO DE PROGRAMACIÓN EN PROLOG.................................................................................. 47
10.2.
10.3.
INTERPRETACIÓN PROCEDIMENTAL DE LOS PROGRAMAS PROLOG........................................... 49
10.4. VENTAJAS DE PROLOG............................................................................................................. 50
EJEMPLOS ................................................................................................................................ 52
11.1.
FORMAS NORMALES ................................................................................................................ 52
11.2. ÁRBOL GENEALÓGICO.............................................................................................................. 55

© 1996-2001 Faraón Llorens



Página i

LÓGICA DE PRIMER ORDEN, LÓGICA COMPUTACIONAL y AMPLIACIÓN DE LÓGICA



11.3.

12.

13.

13.1.
13.2.

JUEGO LÓGICO ......................................................................................................................... 58
PREDICADOS PREDEFINIDOS ............................................................................................ 63

SISTEMAS PROLOG ............................................................................................................... 67
PROLOG-2 ................................................................................................................................ 67
SWI-PROLOG ........................................................................................................................... 68

ANEXO:
PROGRAMACIÓN LÓGICA................................................................................................................. 71

CUADRO COMPARATIVO DE LAS DIFERENTES NOTACIONES PARA

BIBLIOGRAFÍA ...................................................................................................................................... 72



Página ii



© 1996-2001 Faraón Llorens





PROLOG



Estos apuntes pretenden ser un documento de apoyo para los estudiantes que
realizan las prácticas en el lenguaje de programación Prolog, en alguna de las
asignaturas de lógica impartidas por el departamento de Ciencia de la Computación e
Inteligencia Artificial de la Universidad de Alicante: Lógica de Primer Orden, Lógica
Computacional y Ampliación de Lógica.


El Prolog descrito, tanto la sintaxis como los operadores básicos, siguen el
estándar de Edimburgo [Clocksin y Mellish, 1987] así como las especificaciones ISO
[Covington, 1993] y [Deransart y otros, 1996].


Se trata de una breve exposición de la forma de trabajo, de las características
principales y de los predicados predefinidos estándar del lenguaje Prolog. No se trata de
una completa descripción de la sintaxis y la semántica de Prolog ni de la forma de
programar en dicho lenguaje. Para ello existen excelentes libros, algunos de ellos
referenciados en la bibliografía. Son muy recomendables los libros [Clocksin y Mellish,
1987], [Bratko, 1990] y [Sterling y Shapiro, 1994], y para un nivel más avanzado [O'Keefe, 1990]


No se pretende explorar toda la potencia del lenguaje de programación lógica
Prolog. Eso sobrepasaría las pretensiones de nuestras asignaturas. Simplemente
queremos mostrar a los estudiantes cómo pueden escribir programas (bases de
conocimientos) con el lenguaje de la lógica, por medio de hechos y reglas.
Posteriormente podemos ejecutar estos programas realizando preguntas que el sistema
nos responderá a partir de la información que conoce. Es decir, no vamos a estudiar
Prolog desde el punto de vista de un lenguaje de programación, sino como una
aplicación directa de la lógica de primer orden.


Por todo ello, únicamente vamos a describir un pequeño subconjunto de
predicados predefinidos, en especial aquellos con marcado carácter lógico, que no
interfieren en el control, no entraremos en detalle en los predicados de entrada/salida.
Todos los ejemplos han sido probados utilizando SWI-Prolog [Wielemaker, 2001], que es
el interprete/compilador utilizado en las clases prácticas.


electrónico:


Para cualquier duda o sugerencia podéis dirigiros a la dirección de correo

[email protected]



Más información se puede encontrar en el sitio web:



http://www.dccia.ua.es/logica/prolog



© 1996-2001 Faraón Llorens

Página iii





PROLOG

1. PROGRAMACIÓN LÓGICA


El lenguaje de programación PROLOG (“PROgrammation en LOGique”) fue
creado por Alain Colmerauer y sus colaboradores alrededor de 1970 en la Universidad
de Marseille-Aix1, si bien uno de los principales protagonistas de su desarrollo y
promoción fue Robert Kowalski2 de la Universidad de Edimburgh. Las investigaciones
de Kowalski proporcionaron el marco teórico, mientras que los trabajos de Colmerauer
dieron origen al actual lenguaje de programación, construyendo el primer interprete
Prolog. David Warren3, de la Universidad de Edimburgh, desarrolló el primer
compilador de Prolog (WAM – “Warren Abstract Machine”). Se pretendía usar la lógica
formal como base para un lenguaje de programación, es decir, era un primer intento de
diseñar un lengua
  • Links de descarga
http://lwp-l.com/pdf3512

Comentarios de: Prácticas de Lógica Prolog (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad