El lenguaje Prolog. Prolog es un lenguaje Declarativo, a diferencia de otros lenguajes que son orientados a objetos o procedurales

Tamaño: px
Comenzar la demostración a partir de la página:

Download "El lenguaje Prolog. Prolog es un lenguaje Declarativo, a diferencia de otros lenguajes que son orientados a objetos o procedurales"

Transcripción

1 II.4 Prolog

2 El lenguaje Prolog Prolog es un lenguaje Declarativo, a diferencia de otros lenguajes que son orientados a objetos o procedurales Creador: Robert Kowalski Algoritmo = Lógica + Control Aspectos importantes: La forma de representar la información. Las técnicas de búsqueda que se implementan en el lenguaje.

3

4

5 De Lógica de Primer Orden a Programas Lógicos Sólo se permiten implicaciones en la representación de predicados. El formato es: X i (P 1 P 2 P n H) Se denominan cláusulas de Horn P 2 P n es el cuerpo P 1 H es el encabezado Programa Lógico: Es una colección de cláusulas de Horn.

6 De Programas Lógicos a Prolog 1. Eliminar los cuantificadores universales: Son asumidos por Prolog 2. Invertir la cláusula: P 2 P n H P 1 Se escribe: H P 1 3. Escribir como :- P 2 P n P 2 P n Se escribe: H :- P 1 4. Escribir como comas y con un punto al final: Se escribe: H :- P 1, P 2,, P n.

7 Ejemplo En cualquier clase, si el maestro es bueno, o si el tema de la materia es de interés, entonces los estudiantes están atentos y animados X (tiene_buen_maestro(x) tema_de_interés(x) estudiantes_atentos(x) estudiantes_animados(x)) Escrito en un programa de Prolog: estudiantes_animados(x) :- tiene_buen_maestro(x). estudiantes_animados(x) :- tema_de_interes(x). estudiantes_atentos(x) :- tiene_buen_maestro(x). estudiantes_atentos(x) :- tema_de_interes(x).

8 Búsqueda en Prolog Los programas de Prolog son una base de datos con cláusulas de Horn Para hacer una consulta:?- busqueda_predicado(x). Prolog busca en la base de datos: De forma secuencial, buscando la correspondencia del encabezado y la aridad del predicado.

9 Búsqueda en Prolog Si encuentra una correspondencia: Verifica si puede hacer correspondencia con los argumentos: Usando las variables en el cuerpo de la cláusula Haciendo Unificación: Las variables son instanciadas con constantes Si existe correspondencia, la consulta es true. Si no encuentra correspondencia, se asume falsa.

10 II.4 Ejemplo de Prolog

11 Ejemplo Pamela Tomás Roberto Elizabeth Ana Patricia Jaime

12 Ejemplo Pamela Tomás Roberto Elizabeth Ana Patricia padre(pamela,roberto). padre(tomas,roberto). padre(tomas,elizabeth). padre(roberto,ana). padre(roberto,patricia). padre(patricia,jaime). Jaime Familia.pl

13 Ejemplo Se carga el programa usando [nombre].

14 Ejemplo Una consulta con éxito Una consulta sin éxito

15 Ejemplo Otras consultas:?- padre(x, elizabeth).?- padre(roberto,x).?- padre(x,y).

16 Ejemplo Quién es el abuelo de Jaime??- padre(x, jaime),padre(y,x). Quién es el nieto de Tomás??- padre(tomas,x),padre(x,y). Ana y Patricia tienen el mismo padre??- padre(x,ana),padre(x,patricia).

17 Tarea 40: 1.- Utilizando el programa lógico familia.pl, cuál es el resultado de las siguientes consultas? a).-?- padre(jaime,x). b).-?- padre(x,jaime). c).-?- padre(pamela,x), padre(x,patricia). d).-?- padre(pamela,x), padre(x,y), padre(y,jaime). 2.- Cuál es el significado de los incisos c y d? 3.- Formule una consulta en Prolog para lo siguiente: a).- Quién es el padre de Patricia? b).- Tiene Elizabeth un hijo? c).- Quién es el abuelo de Patricia? 17

18 Cláusula de Horn La relación definida en el programa lógico es padre de. Cómo se puede definir es hijo de? 18

19 Cláusula de Horn La relación definida en el programa lógico es padre de. Cómo se puede definir es hijo de? si X es padre de Y, entonces Y es hijo de X padre(x,y) eshijo(y,x). 19

20 Cláusula de Horn La relación definida en el programa lógico es padre de. Cómo se puede definir es hijo de? si X es padre de Y, entonces Y es hijo de X padre(x,y) eshijo(y,x). En Prolog: eshijo(y,x) :- padre(x,y). 20

21 Cláusula de Horn Cómo se puede definir es madre de? Es necesario definir el concepto de sexo en la persona: mujer(pamela). hombre(tomas). hombre(roberto). mujer(elizabeth). mujer(patricia). mujer(ana). hombre(jaime). 21

22 Cláusula de Horn Cómo se puede definir es madre de? Si X es padre de Y, y X es mujer, entonces X es madre de Y padre(x,y) mujer(x) madre(x,y). En Prolog: madre(x,y) :- padre(x,y),mujer(x). 22

23 Cláusula de Horn Cómo se puede definir es abuelo de? 23

24 Cláusula de Horn Cómo se puede definir es abuelo de? padre(x,y) padre(y,z) abuelo(x,z). En Prolog: abuelo(x,z) :- padre(x,y),padre(y,z). 24

25 Cláusula de Horn Cómo se puede definir es hermana de? padre(z,x) padre(z,y) mujer(x) hermana(x,y). En Prolog: hermana(x,y) :- padre(z,x),padre(z,y),mujer(x). 25

26 Tarea 41: 1.- Formule las cláusulas de Horn para lo siguiente: a).- Cualquiera que tiene un hijo es feliz (Defina la relación feliz ). b).- Para todo X, si X tiene un hijo que tiene una hermana, entonces X tiene dos hijos (Defina la relacion tienedoshijos ). 2.- Defina la relación nieto usando la relación padre. Ésta es similar a la relación abuelo. 3.- Defina la relación tia(x,y) en términos de las relaciones padre y hermana. 26

PROLOG Inteligencia Artificial Universidad de Talca, II Semestre 2005. Jorge Pérez R.

PROLOG Inteligencia Artificial Universidad de Talca, II Semestre 2005. Jorge Pérez R. PROLOG Inteligencia Artificial Universidad de Talca, II Semestre 2005 Jorge Pérez R. 1 Introducción a PROLOG PROLOG es un lenguaje interpretado basado en la lógica de predicados de primer orden. Puede

Más detalles

1.2 Hechos. Ejemplo: La capital de Francia es París. En Prolog se escribe capital(francia,parís). En general, la sintaxis es

1.2 Hechos. Ejemplo: La capital de Francia es París. En Prolog se escribe capital(francia,parís). En general, la sintaxis es Hechos 1.2 Hechos Un hecho, en PROLOG, es una relación entre objetos. Ejemplo: La capital de Francia es París. En Prolog se escribe capital(francia,parís). En general, la sintaxis es relacion(objeto, objeto,...).

Más detalles

5.2 Introducción a Prolog. Lenguaje Prolog. Características de Prolog. Su nombre viene de Programación en Lógica, creado a comienzos de los 70:

5.2 Introducción a Prolog. Lenguaje Prolog. Características de Prolog. Su nombre viene de Programación en Lógica, creado a comienzos de los 70: 5.2 Introducción a Prolog 1 Lenguaje Prolog Su nombre viene de Programación en Lógica, creado a comienzos de los 70: Robert Kowalski (Edimburgo): lado teórico Maarten van Emden (Edimburgo): demostración

Más detalles

Métodos de Inteligencia Artificial

Métodos de Inteligencia Artificial Métodos de Inteligencia Artificial L. Enrique Sucar (INAOE) esucar@inaoep.mx ccc.inaoep.mx/esucar Tecnologías de Información UPAEP Contenido Lógica proposicional Lógica de predicados Inferencia en lógica

Más detalles

Cómo Implementar una Ontología? Prolog Datalog Description Logic

Cómo Implementar una Ontología? Prolog Datalog Description Logic Cómo Implementar una Ontología? Prolog Datalog Description Logic Reglas como LPO CláusulaHorn: Una cláusula con a lo sumo un literal positivo Cláusulas: Subconjuntos de LPO con la siguiente forma: x 1,.,x

Más detalles

Programación Declarativa. Programación Lógica.

Programación Declarativa. Programación Lógica. Programación Declarativa. Programación Lógica. Prog. Imperativa vs. Declarativa La programación lógica, junto con la funcional, forma parte de lo que se conoce como programación declarativa. En los lenguajes

Más detalles

PROgramación LOGica PROLOG. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional

PROgramación LOGica PROLOG. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional PROgramación LOGica PROLOG Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional Dónde bajar? Strawberry PROLOG: www.dobrev.com PROLOG -> PROgramming in LOGig Paradigma -> El lenguaje

Más detalles

Análisis Comparativo de Lenguajes - Año 2018 Práctico Nro. 2 Lenguaje Prolog Corresponde al Apunte El lenguaje de programación Prolog

Análisis Comparativo de Lenguajes - Año 2018 Práctico Nro. 2 Lenguaje Prolog Corresponde al Apunte El lenguaje de programación Prolog Análisis Comparativo de Lenguajes - Año 2018 Práctico Nro. 2 Lenguaje Prolog Corresponde al Apunte El lenguaje de programación Prolog Ejercicio 1: Dado el siguiente programa Prolog: ciudad(la_punta). ciudad(mercedes).

Más detalles

Lógica en Ciencias de la Computación. Caso de estudio: PROLOG

Lógica en Ciencias de la Computación. Caso de estudio: PROLOG Lógica en Ciencias de la Computación. Caso de estudio: PROLOG UCAB / USB Papel de la Lógica L en Informática Formación: Menos discurso, más razonamiento Área genérica que aplica a múltiples dominios de

Más detalles

PROGRAMACIÓN LÓGICA. Luis Eduardo Martín De La Peña Anni Alejandra Piragauta Urrea

PROGRAMACIÓN LÓGICA. Luis Eduardo Martín De La Peña Anni Alejandra Piragauta Urrea PROGRAMACIÓN LÓGICA Luis Eduardo Martín De La Peña Anni Alejandra Piragauta Urrea CONTENIDO 1.Introducción 1. Paradigma de programación 2. Historia 3. Filosofía del paradigma. 2. 1. Qué es? 2. Conceptos

Más detalles

Tema 1. Introducción al PROLOG. 1. Qué es el PROLOG? 2. Los elementos de PROLOG 3. Un programa de ejemplo 4. Ejercicios propuestos

Tema 1. Introducción al PROLOG. 1. Qué es el PROLOG? 2. Los elementos de PROLOG 3. Un programa de ejemplo 4. Ejercicios propuestos Tema 1. Introducción al PROLOG 1. Qué es el PROLOG? 2. Los elementos de PROLOG 3. Un programa de ejemplo 4. Ejercicios propuestos 1. Qué es el PROLOG? 1.1. Un poco de historia PROgramming in LOGic Desarrollado

Más detalles

Inteligencia en Redes de Comunicaciones. Prolog. Julio Villena Román.

Inteligencia en Redes de Comunicaciones. Prolog. Julio Villena Román. Inteligencia en Redes de Comunicaciones Prolog Julio Villena Román jvillena@it.uc3m.es Prolog La lógica proporciona: un lenguaje base para la representación del conocimiento modelos para el razonamiento

Más detalles

Programación Declarativa

Programación Declarativa Programación Declarativa Ingeniería Informática Especialidad de Computación Cuarto curso. Primer cuatrimestre Escuela Politécnica Superior de Córdoba Universidad de Córdoba Curso académico: 2017 2018 Práctica

Más detalles

Primera práctica de Temas Avanzados en Ingeniería Informática (I)-Lógica Curso

Primera práctica de Temas Avanzados en Ingeniería Informática (I)-Lógica Curso Primera práctica de Temas Avanzados en Ingeniería Informática (I)-Lógica Curso 2005-2006 1. Fecha de entrega La fecha límite de entrega será el 13 de Marzo (Lunes) hasta las 20:00 horas. 2. Objetivo El

Más detalles

TUTORIAL PROLOG. Lenguajes de programación Universidad Nacional de Colombia Santiago Carvajal Castañeda Mario Andrés Moreno Norato

TUTORIAL PROLOG. Lenguajes de programación Universidad Nacional de Colombia Santiago Carvajal Castañeda Mario Andrés Moreno Norato TUTORIAL PROLOG Lenguajes de programación Universidad Nacional de Colombia Santiago Carvajal Castañeda Mario Andrés Moreno Norato Prolog es un lenguaje de programación lógica de propósito general que se

Más detalles

Inteligencia Artificial Clase #7 Lógica de predicados. Dr. Wladimir Rodríguez Postgrado en Computación

Inteligencia Artificial Clase #7 Lógica de predicados. Dr. Wladimir Rodríguez Postgrado en Computación Clase #7 Lógica de predicados Postgrado en Computación wladimir@ula.ve Lógica General W Las lógicas se caracterizan por lo que ellas consideran como "primitivas". Lógica Que existe en el Mundo Estados

Más detalles

Razonamiento Automático. Representación en Lógica de Predicados. Aplicaciones. Lógica de Predicados. Sintáxis y Semántica

Razonamiento Automático. Representación en Lógica de Predicados. Aplicaciones. Lógica de Predicados. Sintáxis y Semántica Razonamiento Automático II.1 Representación en Lógica de Predicados Razonamiento en IA se refiere a razonamiento deductivo n Nuevos hechos son deducidos lógicamente a partir de otros. Elementos: n Representación

Más detalles

Lógica de predicados

Lógica de predicados Lógica de predicados Cálculo de predicados Hay ciertos argumentos que parecen ser perfectamente lógicos y que no pueden ser especificados usando cálculo proposicional. Ejemplos: Todos los gatos tienen

Más detalles

Cálculo de predicados. Lógica de predicados. Cálculo de predicados. Cálculo de predicados 08/06/2011

Cálculo de predicados. Lógica de predicados. Cálculo de predicados. Cálculo de predicados 08/06/2011 Lógica de predicados Hay ciertos argumentos que parecen ser perfectamente lógicos y que no pueden ser especificados usando cálculo proposicional. Ejemplos: Todos los gatos tienen cola Tomás es un gato

Más detalles

Inteligencia en Redes de Comunicaciones. Razonamiento lógico. Julio Villena Román.

Inteligencia en Redes de Comunicaciones. Razonamiento lógico. Julio Villena Román. Inteligencia en Redes de Comunicaciones Razonamiento lógico Julio Villena Román jvillena@it.uc3m.es Índice La programación lógica Lógica de predicados de primer orden Sistemas inferenciales IRC 2009 -

Más detalles

23/09/2009. Introducción Hello word La familia Buendía Recursión Listas

23/09/2009. Introducción Hello word La familia Buendía Recursión Listas Prolog Contenido Introducción Hello word La familia Buendía Recursión Listas Qué es Prolog? Lenguaje de programación Declarativo Programación lógica Está compuesto de: Hechos Reglas Declarativo vs Imperativo

Más detalles

Inteligencia Artificial: Prolog

Inteligencia Artificial: Prolog Inteligencia Artificial: Prolog Unificación en Prolog Christopher Expósito-Izquierdo 1, Belén Melián-Batista 2 {cexposit 1, mbmelian 2 }@ull.es Universidad de La Laguna (España) Contenidos Satisfacer objetivos

Más detalles

Ing. Iván Adrianzén Olano. Programación Lógica

Ing. Iván Adrianzén Olano. Programación Lógica Ing. Iván Adrianzén Olano Programación Lógica Fundamentos de Visual Prolog Visual Prolog es orientado a objeto Para el curso de Sistemas Expertos usaremos el Prolog de la forma clásica usando el PIE (Prolog

Más detalles

Práctico 6 Lógica de Predicados

Práctico 6 Lógica de Predicados Práctico 6 Lógica de Predicados Ejercicio 1 Considere un conjunto A de números reales que incluya al 0. Considere un lenguaje de primer orden con un símbolo de relación binario M que denota la relación

Más detalles

Programación Declarativa

Programación Declarativa Programación Declarativa Ingeniería Informática Especialidad de Computación Cuarto curso. Primer cuatrimestre Escuela Politécnica Superior de Córdoba Universidad de Córdoba Curso académico: 2016 2017 Práctica

Más detalles

Programación Lógica. David Barrera Steven Bustos Jhonatan Guzmán

Programación Lógica. David Barrera Steven Bustos Jhonatan Guzmán Programación Lógica David Barrera Steven Bustos Jhonatan Guzmán Programación Lógica axiomas Datos Reglas Programación Lógica Relaciones vs Funciones Funciones Relaciones Determinista Único patrón de entradas

Más detalles

INTRODUCCIÓN BÁSICA. Ingeniería Informática AL PROLOG. Departamento de Informática

INTRODUCCIÓN BÁSICA. Ingeniería Informática AL PROLOG. Departamento de Informática INTRODUCCIÓN BÁSICA AL PROLOG Ingeniería Informática Departamento de Informática PRÓLOGO Esta introducción al Prolog está pensada para las prácticas de la asignatura de Matemática Discreta de la Universitat

Más detalles

INTRODUCCIÓN BÁSICA. Ingeniería Informática AL PROLOG. Departamento de Informática

INTRODUCCIÓN BÁSICA. Ingeniería Informática AL PROLOG. Departamento de Informática INTRODUCCIÓN BÁSICA AL PROLOG Ingeniería Informática Departamento de Informática PRÓLOGO Esta introducción al Prolog está pensada para las prácticas de la asignatura de Matemática Discreta de la Universitat

Más detalles

Listas en Prolog. Capítulo. Listas como sujetos

Listas en Prolog. Capítulo. Listas como sujetos Capítulo 5 Listas en Prolog Este capítulo introduce el concepto de lista, un tipo de dato de gran influencia dentro de la inteligencia artificial. Se comienza con una introducción a listas en Prolog y

Más detalles

Práctica No. 6 Ejercicios en Prolog.

Práctica No. 6 Ejercicios en Prolog. Práctica No. 6 Ejercicios en Prolog. Introducción El lenguaje Prolog (Programación Lógica) puede ser visto como un lenguaje prescriptivo asi como un lenguaje descriptivo. El enfoque de Prolog es describir

Más detalles

TEMA 0 REPASO DE CONCEPTOS BÁSICOS TEST PARA AUTOEVALUACIÓN DEL ALUMNO

TEMA 0 REPASO DE CONCEPTOS BÁSICOS TEST PARA AUTOEVALUACIÓN DEL ALUMNO TEMA 0 REPASO DE CONCEPTOS BÁSICOS TEST PARA AUTOEVALUACIÓN DEL ALUMNO NOTA: Sólo hay una respuesta válida. Responder a las preguntas justo en el orden en que están planteadas. A) Fundamentos de Matemáticas:

Más detalles

Inteligencia en Redes de Comunicaciones - 04a Prolog

Inteligencia en Redes de Comunicaciones - 04a Prolog En este Tema 4a se van a estudiar los fundamentos de Prolog, el lenguaje de programación lógica más extendido. 1 Prolog es un lenguaje de programación para representar conocimiento y realizar razonamientos

Más detalles

Capítulo V: Programación Lógica. 5.1 Breve Introducción al Cálculo de Predicados

Capítulo V: Programación Lógica. 5.1 Breve Introducción al Cálculo de Predicados Capítulo V: Programación Lógica 5.1 Breve Introducción al Cálculo de Predicados 1 Definiciones Básicas Proposición: sentencia lógica que puede ser verdadera o falsa. Se construye de objetos y relaciones.

Más detalles

Capítulo V: Programación Lógica

Capítulo V: Programación Lógica Capítulo V: Programación Lógica 5.1 Breve Introducción al Cálculo de Predicados Definiciones Básicas Proposición: sentencia lógica que puede ser verdadera o falsa. Se construye de objetos y relaciones.

Más detalles

MATEMÁTICA. Módulo Educativo Etapa Presencial Docente Coordinadora: Bioq. y Farm. Marta Marzi

MATEMÁTICA. Módulo Educativo Etapa Presencial Docente Coordinadora: Bioq. y Farm. Marta Marzi MATEMÁTICA Módulo Educativo Etapa Presencial 2014 Docente Coordinadora: Bioq. y Farm. Marta Marzi Facultad de Ciencias Bioquímicas y Farmacéuticas UNIVERSIDAD NACIONAL DE ROSARIO Suipacha 531 0341-4804592/93/97

Más detalles

Temas Avanzados en Ingeniería Informática (I)-Lógica Curso

Temas Avanzados en Ingeniería Informática (I)-Lógica Curso Temas Avanzados en Ingeniería Informática (I)-Lógica Curso 209-2010 1. Fecha de entrega La fecha límite de entrega será el 22 de Marzo (Lunes) hasta las 20:00 horas. 2. Objetivo El objetivo de esta práctica

Más detalles

PROgramación LOGica PROLOG. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional

PROgramación LOGica PROLOG. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional PROgramación LOGica PROLOG Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional Dónde bajar? Strawberry PROLOG: www.dobrev.com PROLOG -> PROgramming in LOGig Paradigma -> El lenguaje

Más detalles

PROgramación LOGica PROLOG

PROgramación LOGica PROLOG PROgramación LOGica PROLOG Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional Dónde bajar? Strawberry PROLOG: www.dobrev.com PROLOG -> PROgramming in LOGig Paradigma -> El lenguaje

Más detalles

Sistemas Inteligentes de Gestión. Relación de ejercicios PROLOG. Carlos Cubero & Fernando Berzal

Sistemas Inteligentes de Gestión. Relación de ejercicios PROLOG. Carlos Cubero & Fernando Berzal Sistemas Inteligentes de Gestión Relación de ejercicios PROLOG Juan Carlos Cubero & Fernando Berzal ENTREGA DE LA PRÁCTICA 1_ejemplos.txt 2_ejemplos.pl 2_ejemplos.txt 3_ejemplos.txt 4_ejemplos.pl 5_genealogia.pl

Más detalles

Programación Declarativa

Programación Declarativa Programación Declarativa 2. PROGRAMACIÓN LÓGICA Loopback Práctica 2.1 Transforme las siguientes frases sencillas en lógica de primer orden y codifíquelas en PROLOG: La pc de la serie SW1240045 La maleta

Más detalles

5.3 Tipos de Datos en Prolog

5.3 Tipos de Datos en Prolog 5.3 Tipos de Datos en Prolog Objetos de Datos en Prolog Objetos de datos simples Objetos estructurados Calce de operaciones fundamentales sobre objetos 1 Tipos de Objetos de Datos Objetos de datos Objetos

Más detalles

5.3 Tipos de Datos en Prolog

5.3 Tipos de Datos en Prolog 5.3 Tipos de Datos en Prolog Objetos de Datos en Prolog Objetos de datos simples Objetos estructurados Calce de operaciones fundamentales sobre objetos Tipos de Objetos de Datos Objetos de datos Objetos

Más detalles

Control en Prolog. Control

Control en Prolog. Control Control sobre La búsqueda El retroceso La unificación Aplicaciones. Control en Prolog Recorrido sobre grafos Sin repetir nodo Sin repetir arco Control La búsqueda mediante un predicado sin argumentos!

Más detalles

5.3 Tipos de Datos en Prolog

5.3 Tipos de Datos en Prolog 5.3 Tipos de Datos en Prolog Recocimiento de Tipos Se recoce el tipo de un dato por su forma sintáctica; se requiere de declaración de tipos Ejemplo: Variables se definen comienzan con primera en mayúsculas

Más detalles

Modelos de Desarrollo de Programas Y Programación Concurrente Clase N 3: 3 - Paradigmas de Programación

Modelos de Desarrollo de Programas Y Programación Concurrente Clase N 3: 3 - Paradigmas de Programación 3 - Paradigmas de Programación En los inicios los lenguajes de programación imitaron y abstrajeron las operaciones de una computadora, lo cual trajo aparejado que el tipo de computadora para el cual fueron

Más detalles

UNIVERSIDAD AUTÓNOMA DE GUERRERO UNIDAD ACADÉMICA DE MATEMÁTICAS. Apuntes de. PROGRAMACIÓN EN PROLOG Segunda Edición

UNIVERSIDAD AUTÓNOMA DE GUERRERO UNIDAD ACADÉMICA DE MATEMÁTICAS. Apuntes de. PROGRAMACIÓN EN PROLOG Segunda Edición UNIVERSIDAD AUTÓNOMA DE GUERRERO Apuntes de PROGRAMACIÓN EN PROLOG Segunda Edición Serie: Material de Apoyo a la Licenciatura en Matemáticas Área Computación. Edgar Altamirano Carmona Chilpancingo, Gro.,

Más detalles

Temas Avanzados en Ingeniería Informática (I)-Lógica Curso

Temas Avanzados en Ingeniería Informática (I)-Lógica Curso 1. Fecha de entrega Temas Avanzados en Ingeniería Informática (I)-Lógica Curso 2011-2012 La fecha límite de entrega será el 22 de Marzo (jueves) hasta las 20:00 horas. 2. Objetivo El objetivo de esta práctica

Más detalles

Aprendizaje Automático

Aprendizaje Automático Intervalos de Confianza Comparación de Hipótesis Validación Cruzada y t-test Programación Lógica Inductiva Ingeniería Informática Fernando Fernández Rebollo y Daniel Borrajo Millán Grupo de Planificación

Más detalles

Lógica como Representación. Dr. Eduardo Morales/Dr. Enrique Súcar

Lógica como Representación. Dr. Eduardo Morales/Dr. Enrique Súcar Lógica como Representación Dr. Eduardo Morales/Dr. Enrique Súcar Importante: Que las cosas que queremos que sean verdaderas coincidan con las que podemos probar Es decir: lo que nos implica la teoría

Más detalles

Sumario Prólogo Unidad didáctica 1. Historia de la lógica Objetivos de la unidad... 10

Sumario Prólogo Unidad didáctica 1. Historia de la lógica Objetivos de la unidad... 10 ÍNDICE SISTEMÁTICO PÁGINA Sumario... 5 Prólogo... 7 Unidad didáctica 1. Historia de la lógica... 9 Objetivos de la unidad... 10 1. Introducción... 11 2. Efemérides... 13 3. La Lógica de Aristóteles...

Más detalles

INTELIGENCIA ARTIFICIAL II

INTELIGENCIA ARTIFICIAL II ESCUELA SUPERIOR POLITÉCNICA AGROPECUARIA DE MANABÍ MANUEL FÉLIX LÓPEZ CARRERA INFORMÁTICA SEMESTRE SÉPTIMO PERIODO ABR. /SEP.-2015 INTELIGENCIA ARTIFICIAL II TEMA: RESUMEN#6: INTRODUCCIÓN A PRÓLOG AUTORA:

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

4.1 La prueba formal de la consistencia o de la inconsistencia 4.2 La prueba formal de la invalidez 4.3 La prueba formal de la validez

4.1 La prueba formal de la consistencia o de la inconsistencia 4.2 La prueba formal de la invalidez 4.3 La prueba formal de la validez 4.- Métodos de razonamiento En este módulo hemos estudiado algunas estrategias que han sido desarrolladas con el fin de sistematizar el razonamiento lógico, es decir, la demostración formal de teoremas.

Más detalles

Metodología de Programación I Introducción a la Programación Lógica

Metodología de Programación I Introducción a la Programación Lógica Metodología de Programación I Introducción a la Programación Lógica Dr. Alejandro Guerra-Hernández Departamento de Inteligencia Artificial Facultad de Física e Inteligencia Artificial aguerra@uv.mx http://www.uv.mx/aguerra

Más detalles

Programación Declarativa Universidad de Málaga

Programación Declarativa Universidad de Málaga Programación Declarativa Universidad de Málaga 3. o de Ingeniería Informática E.T.S.I. Informática Enero de 2008 Tema 5. Programación lógica con árboles Ejercicios Ejercicio 1. Dada la siguiente representación

Más detalles

Guía 5: Semántica y Cálculo de Lógica de Predicados

Guía 5: Semántica y Cálculo de Lógica de Predicados Introducción a los Algoritmos - 1er cuatrimestre 2015 Guía 5: Semántica y Cálculo de Lógica de Predicados La lógica de predicados o lógica de primer orden es el sistema lógico estándar que formaliza el

Más detalles

Definiciones generales. Alfabeto de la lógica proposicional. Conectivos. Conectivos

Definiciones generales. Alfabeto de la lógica proposicional. Conectivos. Conectivos Contenido BLOQUE II: Tema 1 SINTAXIS DE LA LÓGICA PROPOSICIONAL Lógica Grado en Ingeniería Informática Alessandra Gallinari URJC Alfabeto del lenguaje formal de la lógica proposicional Definición recursiva

Más detalles

LÓGICA DE PROPOSICIONAL Y PREDICADOS INGENIERÍA DE SISTEMAS

LÓGICA DE PROPOSICIONAL Y PREDICADOS INGENIERÍA DE SISTEMAS LÓGICA DE PROPOSICIONAL Y PREDICADOS INGENIERÍA DE SISTEMAS Patricia Zamora Villalobos John Alexander Coral Llanos Josué Maleaño Trejos Prof. Francisco Carrera Fecha de entrega: miércoles de setiembre

Más detalles

CIENCIAS FORMALES CIENCIAS FÁCTICAS

CIENCIAS FORMALES CIENCIAS FÁCTICAS UNA CLASIFICACIÓN DE LAS CIENCIAS CIENCIAS FORMALES CIENCIAS FÁCTICAS CIENCIAS FORMALES MATEMÁTICA LÓGICA CIENCIAS FÁCTICAS FÍSICA BIOLOGÍA QUÍMICA CIENCIAS SOCIALES OTRAS CIENCIAS FORMALES VOCABULARIO

Más detalles

Programación Declarativa

Programación Declarativa Programación Declarativa Arsenio Cornejo Jordán Dept. de Matemática Universidad Nacional de Panamá mayo 28, 2014 mayo 28, 2014 1 / 20 Programación Imperativa Temas 1 Programación Imperativa 2 Programación

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada Técnica de programación que consiste en construir programas de fácil comprensión. Es mucho más sencillo entender la codificación del programa, que se habrá hecho en diferentes

Más detalles

Matemáticas Discretas Lógica

Matemáticas Discretas Lógica Coordinación de Ciencias Computacionales - INAOE Matemáticas Discretas Lógica Cursos Propedéuticos 2010 Ciencias Computacionales INAOE Lógica undamentos de Lógica Cálculo proposicional Cálculo de predicados

Más detalles

Introducción a la Programación Lógica. Ingeniería Informática Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga

Introducción a la Programación Lógica. Ingeniería Informática Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga Introducción a la Programación Lógica Ingeniería Informática Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga Programming in Prolog opens the mid to a new way of looking at

Más detalles

ESTRUCTURAS DE DATOS Y ALGORITMOS

ESTRUCTURAS DE DATOS Y ALGORITMOS ESTRUCTURAS DE DATOS Y ALGORITMOS CURSO 2009 PRÁCTICO 8 Nota: al igual que en los prácticos 6 y 7, en los problemas que siguen se usarán los tipos lista y árbol binario, como tipos abstractos, cada uno

Más detalles

Compiladores: Análisis Semántico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inès Alvarez V.

Compiladores: Análisis Semántico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inès Alvarez V. Compiladores: Análisis Semántico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inès Alvarez V. Verificaciòn de tipos Se puede hacer en forma Estàtica: en tiempo

Más detalles

PROGRAMACIÓN LÓGICA. David Felipe Rico Hernandez Gabriel Esteban Bejarano Delgado

PROGRAMACIÓN LÓGICA. David Felipe Rico Hernandez Gabriel Esteban Bejarano Delgado PROGRAMACIÓN LÓGICA David Felipe Rico Hernandez Gabriel Esteban Bejarano Delgado Introducción Programación Lógica Conceptos clave Lenguajes de programación Ejemplos Ventajas y desventajas Aplicaciones

Más detalles

INGENIERÍA EN SISTEMAS Y COMUNICACIONES

INGENIERÍA EN SISTEMAS Y COMUNICACIONES INGENIERÍA EN SISTEMAS Y COMUNICACIONES UDA: INTELIGENCIA ARTIFICIAL TEMA: REPRESENTACIÓN DEL CONOCIMIENTO E L A B O R Ó : D R. E N C. H É C T O R R A F A E L O R O Z C O A G U I R R E C U U A E M V M

Más detalles

Programación en PROLOG(1)

Programación en PROLOG(1) Programación en PROLOG(1) Inteligencia Artificial 2º cuatrimestre de 2008 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Prolog Es el representante más conocido del

Más detalles

DIFERENCIAR ENTRE LENGUAJE NUMÉRICO Y ALGEBRAICO

DIFERENCIAR ENTRE LENGUAJE NUMÉRICO Y ALGEBRAICO REPASO Y APOYO OBJETIVO 1 DIFERENCIAR ENTRE LENGUAJE NUMÉRICO Y ALGEBRAICO El lenguaje que utilizamos habitualmente se llama lenguaje usual, y es con el que escribimos y/o hablamos. También usamos el lenguaje

Más detalles

Algoritmos y Estructura de Datos I

Algoritmos y Estructura de Datos I Algoritmos y Estructura de Datos I Lógica proposicional Agustín Martinez Lunes 27 de marzo de 2017 Menú del día Formulas y valores de verdad Relación de fuerza entre formulas Razonamientos del mundo real

Más detalles

CÁLCULO RELACIONAL. Cálculo y Algebra Relacional? Cálculo y Algebra Relacional?

CÁLCULO RELACIONAL. Cálculo y Algebra Relacional? Cálculo y Algebra Relacional? CÁLCULO RELACIONAL Andrés Moreno S. 1 Cálculo y Algebra Relacional? El cálculo y el algebra relacional son alternativos entre si para manipular el modelo relacional. El Álgebra es prescriptiva o procedural,

Más detalles

TEMA 1: LÓGICA. p p Operador conjunción. Se lee y y se representa por. Su tabla de verdad es: p q p q

TEMA 1: LÓGICA. p p Operador conjunción. Se lee y y se representa por. Su tabla de verdad es: p q p q TEMA 1: LÓGICA. Definición. La lógica es la ciencia que estudia el razonamiento formalmente válido. Para ello tiene un simbolismo que evita las imprecisiones del lenguaje humano y permite comprobar la

Más detalles

Razonamiento automático

Razonamiento automático Razonamiento automático (2004 05): Tema 4 p. 1/3 Razonamiento automático Tema 4: Resolución de primer orden J.A. Alonso, J. Borrego, A. Chávez y F.J. Martín Dpto. Ciencias de la Computación e Inteligencia

Más detalles

Inteligencia Artificial 2º cuatrimestre de 2009

Inteligencia Artificial 2º cuatrimestre de 2009 Programación en PROLOG(1) Inteligencia Artificial 2º cuatrimestre de 2009 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Prolog Es el representante más conocido del

Más detalles

Contenido. BLOQUE I: PRELIMINARES Tema 2 ALGUNAS NOCIONES DE TEORÍA DE CONJUNTOS, RELACIONES Y FUNCIONES Lógica Grado en Ingeniería Informática

Contenido. BLOQUE I: PRELIMINARES Tema 2 ALGUNAS NOCIONES DE TEORÍA DE CONJUNTOS, RELACIONES Y FUNCIONES Lógica Grado en Ingeniería Informática Contenido BLOQUE I: PRELIMINARES Tema 2 ALGUNAS NOCIONES DE TEORÍA DE CONJUNTOS, RELACIONES Y FUNCIONES Lógica Grado en Ingeniería Informática Alessandra Gallinari URJC Nociones de teoría de conjuntos

Más detalles

Benemérita Universidad Autónoma de Puebla

Benemérita Universidad Autónoma de Puebla Tarea No. 1 Matemáticas Elementales Profesor Fco. Javier Robles Mendoza Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Lógica y Conjuntos 1. Considere las proposiciones

Más detalles

Inteligencia Artificial

Inteligencia Artificial Inteligencia Artificial Conocimiento y razonamiento 2. Lógica proposicional Dr. Edgard Iván Benítez Guerrero 1 Lenguajes lógicos Los hechos forman parte del mundo, mientras que las sentencias son la representación

Más detalles

Programación Declarativa

Programación Declarativa Programación Declarativa Ingeniería Informática Especialidad de Computación Cuarto curso. Primer cuatrimestre Escuela Politécnica Superior de Córdoba Universidad de Córdoba Curso académico: 2013 2014 Práctica

Más detalles

CONTENIDO. 1.- Introducción a la Inteligencia Artificial (IA) 2.- Lógica de predicados. 3.- Búsqueda de soluciones

CONTENIDO. 1.- Introducción a la Inteligencia Artificial (IA) 2.- Lógica de predicados. 3.- Búsqueda de soluciones CONTENIDO 1.- Introducción a la Inteligencia Artificial (IA) 2.- Lógica de predicados 3.- Búsqueda de soluciones 4.- Lenguajes de IA e Introducción a Sistemas Expertos 1.- Introducción a la Inteligencia

Más detalles

Introducción a PROLOG

Introducción a PROLOG Inteligencia Artificial II Curso 2003 2004 Introducción a PROLOG Carmen Graciani Díaz José L. Ruiz Reina Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla IA-II 2003

Más detalles

Capítulo 2 El Método de Resolución

Capítulo 2 El Método de Resolución Capítulo 2 El Método de Resolución En este capítulo se realiza una descripción general del método de resolución, dado que el programa de razonamiento automático OTTER lo utiliza y prueba a través de refutación.

Más detalles

Prolog. Sintaxis Informal. Sintaxis Informal. Hechos: ejemplos. Inteligencia Artificial 2º cuatrimestre de Hechos. Hechos. Reglas.

Prolog. Sintaxis Informal. Sintaxis Informal. Hechos: ejemplos. Inteligencia Artificial 2º cuatrimestre de Hechos. Hechos. Reglas. Prolog Programación en PROLOG(1) Inteligencia Artificial 2º cuatrimestre de 2009 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Es el representante más cocido del

Más detalles

TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad

TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad Calculo proposicional 1 Argumentos y proposiciones lógicas 1 Algunos argumentos lógicos importantes 2 Proposiciones 4 Conexiones lógicas 5 Negación (tabla)

Más detalles

Prueba de teoremas Fórmula a. Fórmula b. Chequeo de modelos. Construcción de modelos 20/04/2010. Prueba de teoremas (Theorem provers)

Prueba de teoremas Fórmula a. Fórmula b. Chequeo de modelos. Construcción de modelos 20/04/2010. Prueba de teoremas (Theorem provers) Razonamiento automático Técnicas Prueba de teoremas (Theorem provers) Chequeo de modelos (odel checkers) Constructores de modelos (odel builders) Basado en: Logic in Computer Science, Hunt & Ryan Símbolos

Más detalles

1 INTRODUCCIÓN. Cuadro 1: Sistema de lenguaje natural de Colmerauer y Roussel [7].

1 INTRODUCCIÓN. Cuadro 1: Sistema de lenguaje natural de Colmerauer y Roussel [7]. 1 INTRODUCCIÓN El tema de central este curso de la Maestría en Inteligencia Artificial (MIA) es la programación lógica. En este capítulo se presenta un panorama general de este paradigma de programación,

Más detalles

Introducción a ASP (Answer Set Programming - programación con conjuntos respuestos)

Introducción a ASP (Answer Set Programming - programación con conjuntos respuestos) Introducción a ASP (Answer Set Programming - programación con conjuntos respuestos) Inteligencia Artificial David Pearce 13 de enero de 2009 ASP y programación declarativa ASP es una forma de programación

Más detalles

SUBPROGRAMAS. Los subprogramas pueden ser invocados varias veces desde diferentes partes del programa.

SUBPROGRAMAS. Los subprogramas pueden ser invocados varias veces desde diferentes partes del programa. SUBPROGRAMAS Los subprogramas son un conjunto de instrucciones que realizan una labor específica y se comportan de manera independiente en un programa. Los subprogramas facilitan: Descomponer la complejidad

Más detalles

Resolución en lógica de primer orden

Resolución en lógica de primer orden Resolución en lógica de primer orden Eduardo Bonelli Departamento de Computación, FCEyN, UBA 15 de mayo, 2006 Clase pasada Repasamos lógica proposicional Introdujimos el método de resolución para lógica

Más detalles

Lógica Matemática. Tema: Argumentos

Lógica Matemática. Tema: Argumentos Lógica Matemática Tema: Argumentos Argumentos Definición y propósito de los argumentos Un argumento es un conjunto de una o más oraciones. La última de ellas se denomina conclusión, las anteriores se llaman

Más detalles

Un poco de lógica. Ramón Espinosa. Departamento de Matemáticas, ITAM

Un poco de lógica. Ramón Espinosa. Departamento de Matemáticas, ITAM Un poco de lógica Ramón Espinosa Departamento de Matemáticas, ITAM La lógica, como el whisky, pierde sus efectos benéficos cuando se consume en grandes cantidades. Lord Dunsany Uno de los principales propósitos

Más detalles

Forma Clausular. Forma Clausular

Forma Clausular. Forma Clausular Forma Clausular Formas Normales: Literal: fórmula atómica o negación de fórmula atómica Un literal se denota con l y su complementario con l C L = P binario, Q unario, f unaria l 1 =

Más detalles

Técnicas para la comunicación hombremáquina. Tema de. Programación no Procedural

Técnicas para la comunicación hombremáquina. Tema de. Programación no Procedural Técnicas para la comunicación hombremáquina y la programación Tema de Programación no Procedural Dr. Daniel Gálvez Lio... 1 PROGRAMACIÓN LÓGICA EL nombre PROLOG es derivado de la expresión PROgramming

Más detalles

Tema 16: Extracción de respuestas e introducción a la programación lógica

Tema 16: Extracción de respuestas e introducción a la programación lógica Facultad de Informática Grado en Ingeniería Informática Lógica PARTE 4: RESOLUCIÓN Tema 16: Extracción de respuestas e introducción a la programación lógica Profesor: Javier Bajo jbajo@fi.upm.es Madrid,

Más detalles

Axiomas del Cálculo de Predicados

Axiomas del Cálculo de Predicados Axiomas del Cálculo de Predicados Si bien el cálculo proposicional nos permitió analizar cierto tipo de razonamientos y resolver acertijos lógicos, su poder expresivo no es suficiente para comprobar la

Más detalles

Programación Lógica Concurrente y Programación con Restricciones.

Programación Lógica Concurrente y Programación con Restricciones. Programación Lógica Concurrente y Programación con Restricciones. Carlos Jesús Gálvez Fernández: Alumno del Departamento LCC, Universidad de Málaga, España. E-mail sharlythebest@bigfoot.com F. Javier Román

Más detalles

Programación I Otoño 2017 FCFM - BUAP

Programación I Otoño 2017 FCFM - BUAP 1. Introducción a la programación Programación I Otoño 2017 FCFM - BUAP Contenido a) Computadora: definición, organización física y funcional b) Representación de la información en las computadoras: elementos

Más detalles