SlideShare una empresa de Scribd logo
TUTORIALES DE
      PROLOG
        MIGUEL MENDEZ
PROLOG

Como shell para la programación de Sistemas Expertos Basados en Reglas, PROLOG usa Lógica de Predicados de Primer
Orden (restringida a cláusulas de Horn) para representar datos y conocimiento, utiliza encadenamiento hacia atrás y una
estrategia de control retroactiva sin información heurística (backtracking).

Elementos del lenguaje
- Hechos (átomos).
- Reglas (cláusulas de Horn).
- Preguntas u objetivos (conjunciones ó disyunciones de átomos).
SÍMBOLOS DEL LENGUAJE

 • Caracteres
 • - Alfanuméricos: A..Z a..z 0..9
 • - Especiales: + - * / <> = :- &
HECHOS

• Átomos en Lógica de Predicados.
• No se permiten disyunciones.
• Los nombres de los predicados empiezan con minúscula.
• El hecho debe terminar con un punto.
• Lógica de Predicados PROLOG esHombre(Juan) eshombre(juan). gusta(Pedro,Calabaza)
  gusta(pedro,calabaza). esHombre(Pedro) ∧ esHombre(Juan) esHombre(pedro). esHombre(juan).
  esHombre(Pedro) ∨ esPerro(boby) /* No puede representarse */∃x quiere(Juan,x) ∧ ∃z quiere(Juan,z)
  quiere(juan,alguien1). quiere(juan,alguien2).
Especifique los siguientes hechos en PROLOG:
- “Todos quieren a Juan y a María”.
∀x (quiere(x,juan) ∧ quiere(x,maria))
quiere(_ , juan).
quiere(_ , maria).
- “Alguien quiere a Juan y a María”.
∃x (quiere(x,juan) ∧ quiere(x,maria))
quiere(alguien , juan).
quiere(alguien , maria).

Supongamos únicamente el siguiente hecho: gusta(juan,_).
¿Cómo se especificarían en PROLOG las siguientes consultas?
- ¿Le gusta algo a Juan?
?- gusta(juan,_).
yes
- ¿Le gustan a Juan las almendras?
?- gusta(juan,almendras).
yes
- ¿Qué es lo que le gusta a Juan?
?- gusta(juan,X).
X=_3456; /* Lo interpretamos como “todo” */
no
Suponiendo los siguientes hechos:
esPadre(juan,pedro).
esPadre('Dios',_).
?- esPadre(X,pedro).
X=juan;
X='Dios';
no
?- esPadre(_,pedro).
yes
?- esPadre(X,_).
X=juan;
X='Dios';
no
?- esPadre(_,_).
yes
?- esPadre(_,X).
X=pedro;
X=_2567;
no
?- esPadre(X,Y).
X=juan , Y=pedro;
X='Dios' , Y=_2567;
no
?- esPadre(personaInexistente,X). no
PRIMER PROGRAMA EN PROLOG

                            PARA PODER PROGRAMAR
                            PARA PROLOG, BASTA NO MAS
                            CON UTILIZAR UN EDITOR DE
                            TEXTOS CUALQUIERA Y
                            GUARDAR EL ARCHIVO CON LA
                            EXTENCION .pl
COMPILANDO EL PROGRAMA
                         Una vez escrito el programa en un
                         editor de texto, debemos compilar
                         el código, para ello abrimos la
                         interface de Prolog y allí
                         indicamos la ruta de nuestro
                         archivo con extensión .pl y damos
                         click en Run.
VISTA DEL PROGRAMA COMPILADO Y
EJECUTADO

Más contenido relacionado

PPS
PROGRAMA DE CONSULTA
PPTX
Lenguaje de programacion php
PPT
Módulo de PHP
DOCX
INSERTAR IMÁGENES
PPTX
Phpgaby
PPT
Curso Taller de Prolog e Inteligencia Artificial
PDF
Programacion practica prolog
PDF
Practicas prolog
PROGRAMA DE CONSULTA
Lenguaje de programacion php
Módulo de PHP
INSERTAR IMÁGENES
Phpgaby
Curso Taller de Prolog e Inteligencia Artificial
Programacion practica prolog
Practicas prolog

Destacado (8)

PPT
Programación en Prolog para Inteligencia Artificial
PDF
Prolog ejercicios resueltos
PDF
El lenguaje de programaciã³n prolog jaume i castellã³n
PDF
Programación Lógica con PROLOG
PPTX
Ejercicios en prolog
PPTX
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Programación en Prolog para Inteligencia Artificial
Prolog ejercicios resueltos
El lenguaje de programaciã³n prolog jaume i castellã³n
Programación Lógica con PROLOG
Ejercicios en prolog
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Publicidad

Similar a Tutoriales de prolog (20)

PDF
DOCX
Introduccion a prolog
PDF
Manual lab prolog
PDF
Manual de Prolog
PPTX
Prolog2
PPTX
Prolog
PDF
Clase de logica posbc
PPT
Jflambert lyada -ayudantia 1 prolog
PDF
Apuntes De PROGRAMACI N EN PROLOG
PPTX
4ta tarea de sistemas expertos
PPT
Prolog
PPT
Prolog
PPTX
4ta tarea de sistemas expertos
PPTX
APUNTES_Soler_Programacion_en_Prolog.pptx
PDF
Tutorial de prolog
PPTX
Conozcamos a Prolog
PDF
Practica i prolog
PPTX
Introduccion a prolog
PPTX
Prolog
Introduccion a prolog
Manual lab prolog
Manual de Prolog
Prolog2
Prolog
Clase de logica posbc
Jflambert lyada -ayudantia 1 prolog
Apuntes De PROGRAMACI N EN PROLOG
4ta tarea de sistemas expertos
Prolog
Prolog
4ta tarea de sistemas expertos
APUNTES_Soler_Programacion_en_Prolog.pptx
Tutorial de prolog
Conozcamos a Prolog
Practica i prolog
Introduccion a prolog
Prolog
Publicidad

Último (20)

PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PDF
clase auditoria informatica 2025.........
PPTX
Sesion 1 de microsoft power point - Clase 1
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
Estrategia de apoyo tecnología grado 9-3
PDF
Maste clas de estructura metálica y arquitectura
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
CyberOps Associate - Cisco Networking Academy
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Diapositiva proyecto de vida, materia catedra
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
taller de informática - LEY DE OHM
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
REDES INFORMATICAS REDES INFORMATICAS.pptx
clase auditoria informatica 2025.........
Sesion 1 de microsoft power point - Clase 1
Power Point Nicolás Carrasco (disertación Roblox).pptx
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
Estrategia de apoyo tecnología grado 9-3
Maste clas de estructura metálica y arquitectura
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Presentación PASANTIAS AuditorioOO..pptx
CyberOps Associate - Cisco Networking Academy
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Diapositiva proyecto de vida, materia catedra
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
introduccion a las_web en el 2025_mejoras.ppt
taller de informática - LEY DE OHM
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Plantilla para Diseño de Narrativas Transmedia.pdf

Tutoriales de prolog

  • 1. TUTORIALES DE PROLOG MIGUEL MENDEZ
  • 2. PROLOG Como shell para la programación de Sistemas Expertos Basados en Reglas, PROLOG usa Lógica de Predicados de Primer Orden (restringida a cláusulas de Horn) para representar datos y conocimiento, utiliza encadenamiento hacia atrás y una estrategia de control retroactiva sin información heurística (backtracking). Elementos del lenguaje - Hechos (átomos). - Reglas (cláusulas de Horn). - Preguntas u objetivos (conjunciones ó disyunciones de átomos).
  • 3. SÍMBOLOS DEL LENGUAJE • Caracteres • - Alfanuméricos: A..Z a..z 0..9 • - Especiales: + - * / <> = :- &
  • 4. HECHOS • Átomos en Lógica de Predicados. • No se permiten disyunciones. • Los nombres de los predicados empiezan con minúscula. • El hecho debe terminar con un punto. • Lógica de Predicados PROLOG esHombre(Juan) eshombre(juan). gusta(Pedro,Calabaza) gusta(pedro,calabaza). esHombre(Pedro) ∧ esHombre(Juan) esHombre(pedro). esHombre(juan). esHombre(Pedro) ∨ esPerro(boby) /* No puede representarse */∃x quiere(Juan,x) ∧ ∃z quiere(Juan,z) quiere(juan,alguien1). quiere(juan,alguien2).
  • 5. Especifique los siguientes hechos en PROLOG: - “Todos quieren a Juan y a María”. ∀x (quiere(x,juan) ∧ quiere(x,maria)) quiere(_ , juan). quiere(_ , maria). - “Alguien quiere a Juan y a María”. ∃x (quiere(x,juan) ∧ quiere(x,maria)) quiere(alguien , juan). quiere(alguien , maria). Supongamos únicamente el siguiente hecho: gusta(juan,_). ¿Cómo se especificarían en PROLOG las siguientes consultas? - ¿Le gusta algo a Juan? ?- gusta(juan,_). yes - ¿Le gustan a Juan las almendras? ?- gusta(juan,almendras). yes - ¿Qué es lo que le gusta a Juan? ?- gusta(juan,X). X=_3456; /* Lo interpretamos como “todo” */ no
  • 6. Suponiendo los siguientes hechos: esPadre(juan,pedro). esPadre('Dios',_). ?- esPadre(X,pedro). X=juan; X='Dios'; no ?- esPadre(_,pedro). yes ?- esPadre(X,_). X=juan; X='Dios'; no ?- esPadre(_,_). yes ?- esPadre(_,X). X=pedro; X=_2567; no ?- esPadre(X,Y). X=juan , Y=pedro; X='Dios' , Y=_2567; no ?- esPadre(personaInexistente,X). no
  • 7. PRIMER PROGRAMA EN PROLOG PARA PODER PROGRAMAR PARA PROLOG, BASTA NO MAS CON UTILIZAR UN EDITOR DE TEXTOS CUALQUIERA Y GUARDAR EL ARCHIVO CON LA EXTENCION .pl
  • 8. COMPILANDO EL PROGRAMA Una vez escrito el programa en un editor de texto, debemos compilar el código, para ello abrimos la interface de Prolog y allí indicamos la ruta de nuestro archivo con extensión .pl y damos click en Run.
  • 9. VISTA DEL PROGRAMA COMPILADO Y EJECUTADO