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

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

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

Transcripción

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

2 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 n (L 1 L m ) - L - Literal x 1,.,x n (A 1 A k B 1 B r ) A - Positive literal B - Negative literal A 1 A k B 1 B k A 1 A k B 1 B k X Y Z(arc(X,Y) and path(y,z) => path(x,z)) path(x,z):-arc(x,y),path(y,z).

3 Reglas como LPO(cont ) Regla A B 1,..,B k A:- B 1,..,B k. A - head (consecuente) B s - body (antecedente) Hecho (Fact) A. Objetivo (Goal) B 1,..,B k

4 Reglas como LPO(cont ) hasaunt(x,z) hasparent(x,y) hassister(y,z) Atomo Predicado Variable hasparent(rafael,edna) hassister(edna,karin) Constante

5 Prolog Es un lenguaje basado: En el paradigma de la Programación Lógica Átomo, variable, funtores, predicados, términos, literales y cláusulas.

6 Programa Lógico Es un conjunto de axiomas o reglas que definen las relaciones entre objetos. El resultado de la evaluación de un programa lógico corresponde a la deducción de las consecuencias del programa. Un programa define un conjunto de consecuencias, el cual es su significado.

7 Prolog Átomo un string finito de caracteres alfanuméricos: book, george, George, x12op. Una constante es o un átomo o un número. Variable un string finito de caracteres alfanuméricos que comienzan con una letra mayúsculas. Funtor representa a una función y se caracteriza por un nombre (átomo) y sus argumentos que son términos.

8 Prolog Términos se definen recursivamente átomo y variables funtores aplicados a términos. Predicado representa a una correspondencia entre elementos de un dominio D donde el predicado es definido y un conjunto de valores {true,false}. Los argumentos de un predicados son términos.

9 Prolog Literal es un predicado o la negación de un predicado. Cláusula es una colección de literales. Existen tres clases de cláusulas: Reglas: en una clausula que consiste de una cabeza y un cuerpo. Cabeza: literal positivo. Cuerpo: colección de literales. Hechos: único literal. Corresponde a un axioma. Objetivos: regla sin cabeza, que corresponde a una consulta.

10 Prolog-Ejemplo Hechos: es la afirmación más simple y establecen relaciones entre objetos. father( Luis, Jose ). Reglas: expresan relaciones más complejas en función de relaciones más simples. son(x,y):-father(y,x),male(x).

11 Prolog Una Máquina Prolog es una máquina de inferencia la cual opera en programa Prolog P para probar el valor de verdad de un objetivo dado. Un objetivo Q se prueba si éste se instancia con: Un hecho Q. Con la cabeza de una regla R: Q:-B y el cuerpo B se prueba. Los objetivos a ser probados se organizan en un árbol de prueba. La computación se ejecuta recorriendo el árbol de prueba se arriba hacia abajo. Si durante el recorrido del árbol de prueba Prolog encuentra un objetivo que no se satisface, se retrocede hasta la última rama, y trata de satisfacer el objetivo que se encuentra a la izquierda del cual falló. Esto se denomina backtracking. El objetivo del backtracking es facilitar la exploración del árbol de prueba con todas las instanciaciones posibles. El operador cut (!) sirve para controlar el backtracking

12 Prolog Base de Datos Intensional: Reglas. Base de Datos Extensional: Hechos. Recursión. Conocimiento Incompleto: uso del simbolo _. Orden de los hechos y las reglas es relevante. Control de la inferencia. Información negativa.

13 Datalog Un programa Datalog es un conjunto de cláusulas Horn, donde los predicados no reciben como argumentos funtores. Variables: un string finito de caracteres alfanuméricos que comienzan con una letra mayúsculas. Constantes: un string finito de caracteres alfanuméricos Predicados: representa a una correspondencia entre elementos de un dominio D donde el predicado es definido y un conjunto de valores {true,false}. Los argumentos de un predicados son variables o constantes.

14 Datalog Literal es un predicado o la negación de un predicado. Cláusula es una colección de literales. Existen tres clases de clausulas: Reglas: en una clausula que consiste de una cabeza y un cuerpo. Cabeza: literal positivo. Cuerpo: colección de literales. Hechos: único literal. Corresponde a un axioma. Objetivos: regla si cabeza, que corresponde a una consulta.

15 Datalog Lenguaje basado en la Lógica de Primer Orden para representar caraterísticas estructurales de los datos. BD en Datalog: Base de Datos Extensional: conjunto de hechos. Persona( Jose Perez, ) Persona( Luis Perez, ) Persona( Maria Gonzalez, ) Persona( Antonio Perez, ) Persona( Andreina Rodriguez, ) Padre( Luis Perez, Jose Perez ) Madre( Maria Gonzalez, Jose Perez ) Padre( Antonio Perez, Luis Perez ) Madre( Andreina Rodriguez, Luis Perez )

16 Datalog Base de Datos Intensional: conjunto de reglas que permiten inferir nuevos elementos a partir de los ya existentes. Hombre(X):-Padre(X,Y). Mujer(X):-Madre(X,Y). Ancestro(X,Y):-padre(X,Y). Ancestro(X,Y):-padre(X,Z),Ancestro(Z,Y) Ancestro(X,Y):-madre(X,Y). Ancestro(X,Y):-madre(X,Z),Ancestro(Z,Y)

17 Datalog Un programa Datalog es un conjunto de cláusulas Horn donde: No se permiten simbolos funcionales. Las cláusulas de Horn son seguras, es decir: Todas las variables son limitadas: Aparece en un predicado ordinario en el cuerpo Aparece en un subobjetivo en el operador = igualado a una constante o a una variable. Reglas de Datalog pueden depender de otras reglas de forma recursiva. Puede existir negación limitada por las reglas de estratificación.

18 Datalog Semántica A partir de los hechos en la BDE, aplicar las reglas en la BDI hasta alcanzar un punto fijo en el conjunto de hechos.

19 Datalog-Cálculo del Modelo Mínimo Hombre( Luis Perez ) Mujer( Maria Gonzalez ) Hombre( Antonio Perez ) Mujer( Andreina Rodriguez ) Ancestro( Luis Perez, Jose Perez ) Ancestro( Maria Gonzalez, Jose Perez) Ancestro ( Antonio Perez, Luis Perez ) Ancestro( Andreina Rodriguez, Luis Perez ) Ancestro ( Antonio Perez, Jose Perez ) Ancestro( Andreina Rodriguez, Jose Perez )

20 Datalog-Máquina de Inferencia Regla General de Inferencia-Elementary Production: Produce nuevos hechos Datalog a partir de reglas y hechos Datalog. R: L 0 :-L 1,.,L n ; F 1,,F n Lista de átomos ground: F 1,,F n, donde: Existe un subsitución σ= σ 1 U..U σ n de las variables de L i tal que F i = σ i L i, entonces σ L 0 es un nuevo hecho o átomo ground.

21 Datalog- Máquina de Inferencia Function Infer1(S) Input: a finite set S of Datalog clauses Output: the set of all facts which can inferred in one step from S by applying EP BEGIN Result:=φ; For each rule R: L0:-L1,.,Ln of S DO For each n-tuple <F1,,Fn> of ground facts of S DO BEGIN new:=ep(r,f1,,fn); if new empty THEN result:=result U {new}; END RETURN result; END

22 Datalog- Máquina de Inferencia Function Infer(S) Input: a finite set S of Datalog clauses Output: cons(s) BEGIN Old:=φ; New:= S; While new not eq old DO BEGIN Old:=New; New:=New U Infer1(New); END Result:=all facts of New; RETURN Result; END

23 Datalog Base de Datos Intensional: Reglas. Base de Datos Extensional: Hechos. Recursión. Conocimiento Incompleto: uso del simbolo _. Orden de los hechos y las reglas no es relevante. Información negativa.

24 Qué tiene Description Logic que no tiene Datalog? Negación. Disjunción. Cuantificador universal en el cuerpo de una regla. Cuantificador existencial en la cabeza de una regla. Restricciones de cuantificación y cardinalidad.

25 Qué tiene Datalog que no tiene Description Logic? Predicados n-arios. Reglas que rompen el modelo de árbol: tio(x,y):-padre(x,z),hermano(z,y)

26 Qué tiene Datalog y Description Logic? Conjunción en la cabeza de las reglas. Cuantificación universal en la cabeza de las reglas. Cuantificación existencial en el cuerpo de las reglas. Predicados unarios y binarios. Predicados/roles con inversas.

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

Índice. Semántica. Sintaxis ASP. Introducción a Answer Set Programming (I) 2.- Programas Lógicos con Negación. 1.- Programas lógicos sin negación

Índice. Semántica. Sintaxis ASP. Introducción a Answer Set Programming (I) 2.- Programas Lógicos con Negación. 1.- Programas lógicos sin negación Índice Introducción a Answer Set Programming (I) Rafael Caballero Roldán Máster: Extensiones de Programación Lógica Objetivos Programas estratificados Semántica de punto fijo de los programas Datalog Sintaxis

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

Lógicas Descriptivas y Ontologías

Lógicas Descriptivas y Ontologías Lógicas Descriptivas y Ontologías Edna Ruckhaus Universidad Simón Bolívar Dpto. Computación y T.I. Transparencias de Ian Horrocks: http://www.cs.man.ac.uk/~horrocks/slides/ Agenda Lógicas Descriptivas

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

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

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

El lenguaje Prolog. Prolog es un lenguaje Declarativo, a diferencia de otros lenguajes que son orientados a objetos o procedurales II.4 Prolog 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

Más detalles

Lógicas Descriptivas (Description Logics)

Lógicas Descriptivas (Description Logics) Lógicas Descriptivas (Description Logics) Las Lógicas Descriptivas (LDs) son una evolución natural de las redes semánticas y los frames, usados tradicionalmente para representar conocimiento taxonómico

Más detalles

Tipos de reglas gramaticales (CHOMSKY) Otros tipos de reglas gramaticales no contractivas α β abc ACb

Tipos de reglas gramaticales (CHOMSKY) Otros tipos de reglas gramaticales no contractivas α β abc ACb Tipos de reglas gramaticales (CHOMSKY) Slide 1 0 - no restringidas α β α ε abc ba 0 αaα β aabc bbc - con estructura αaα αβα aaac aac de frase A ε 1 - dependientes αaα αβα AAC baac de contexto β ε aaac

Más detalles

Unidad 1. Análisis de Algoritmos. Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1

Unidad 1. Análisis de Algoritmos. Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1 Unidad 1 Análisis de Algoritmos Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1 GENERALIDADES Qué se necesita para escribir un programa eficiente? Para diseñar programas eficientes

Más detalles

Lenguajes de Programación Programación funcional

Lenguajes de Programación Programación funcional Lenguajes de Programación Programación funcional Roberto Bonvallet Departamento de Informática Universidad Técnica Federico Santa María Concepto de función En el paradigma imperativo: Una función es una

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

2º Certamen ILI-253 Lenguajes de Programación Juan Pablo Menichetti Jorge Mujica 10 de Junio del 2004

2º Certamen ILI-253 Lenguajes de Programación Juan Pablo Menichetti Jorge Mujica 10 de Junio del 2004 º Certamen ILI-53 Lenguajes de Programación Juan Pablo Menichetti Jorge Mujica 10 de Junio del 004 ta: Tiempo: 10 Minutos. Responda con lápiz indeleble para acceder a recorrecciones. Utilice solo las hojas

Más detalles

Contenido. Prólogo... Prólogo a la edición en español Argumentos y proposiciones lógicas Introducción

Contenido. Prólogo... Prólogo a la edición en español Argumentos y proposiciones lógicas Introducción CONTENIDO vii Contenido Prólogo... Prólogo a la edición en español... XVIl XXI 1 Cálculo proposicional... 1 1.1 Argumentos y proposiciones lógicas 1.1.1 Introducción 1 1 1.1.2 Algunos argumentos lógicos

Más detalles

Tema 3.- Predicados y sentencias condicionales

Tema 3.- Predicados y sentencias condicionales UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROGRAMACIÓN DECLARATIVA INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN CUARTO CURSO PRIMER

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

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

Análisis semántico Tabla de símbolos, chequeo de tipos y representaciones internas

Análisis semántico Tabla de símbolos, chequeo de tipos y representaciones internas Análisis semántico Tabla de símbolos, chequeo de tipos y representaciones internas Análisis semático v1.2 c 2005 José Fortes Gálvez p.1 Análisis?... semántico? La semántica corresponde al significado asociado

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

LÓGICA FORMAL TEORIAS DE PRIMER ORDEN. Sintaxis y semántica

LÓGICA FORMAL TEORIAS DE PRIMER ORDEN. Sintaxis y semántica LÓGICA FORMAL TEORIAS DE PRIMER ORDEN Sintaxis y semántica Pedro López Departamento de Inteligencia Artificial Facultad de Informática Universidad Politécnica de Madrid Lenguajes de primer orden 1 La lógica

Más detalles

Semántica Operacional para la Programación en Lógica Lógica para Ciencias de la Computación

Semántica Operacional para la Programación en Lógica Lógica para Ciencias de la Computación Semántica Operacional para la Programación en Lógica Lógica para Ciencias de la Computación Primer Cuatrimestre de 2009 Material Adicional Semánticas para la Programación n en LógicaL Se han explorado

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

Inteligencia Artificial e Ingeniería del Conocimiento

Inteligencia Artificial e Ingeniería del Conocimiento Inteligencia Artificial e Ingeniería del Conocimiento I. A. Clásica Nuevos enfoques de la I. A. Agentes Inteligentes Aprendizaje Introducción Aprendizaje inductivo decisión Planteamiento conectivista.

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

Lenguajes lógicos: cláusulas de Horn

Lenguajes lógicos: cláusulas de Horn Lenguajes lógicos: cláusulas de Horn Lenguaje subyacente: FOL ( first order logic ) Atomos: p(t 1,...,t n ) p símbolo de predicado y t i término (i = 1,...,n) símbolo de variable (X, Y,..) t término símbolo

Más detalles

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos

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

UNIDAD IV Programación Funcional. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM

UNIDAD IV Programación Funcional. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM UNIDAD IV Programación Funcional Porqué? 2 Introducción Porque aprender programación funcional? - Recursión - Abstracción funcional - Funciones de primer orden Estos conceptos se han incorporado en la

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

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

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

Si L es recursivo, entonces es recursivamente numerable

Si L es recursivo, entonces es recursivamente numerable Si L es recursivo, entonces es recursivamente numerable Slide 19 program GeneraRec (output); procedure sgte (var x: string); (* calcula la siguiente x en el orden natural *) begin... end; var x: string;

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

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

Lenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores

Lenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores Facultad de Ingeniería de Sistemas Lenguajes y Aspectos Formales (Parte 2) 2007 1 Derivaciones El proceso de búsqueda de un árbol sintáctico para una cadena se llama análisis sintáctico. El lenguaje generado

Más detalles

Inteligencia en Redes de Comunicaciones - 04 Razonamiento lógico

Inteligencia en Redes de Comunicaciones - 04 Razonamiento lógico El objetivo del Tema 4 es presentar una panorámica general sobre cómo se pueden realizar razonamientos lógicos en un sistema software. 1 Esta es la tabla de contenidos del tema: se estudia la programación

Más detalles

Programación II Sesión 2: Especificación de problemas

Programación II Sesión 2: Especificación de problemas Programación II Sesión 2: Especificación de problemas Diego R. Llanos Ferraris UNED, Centro Asociado de Palencia Nota: Estos apuntes son la guía utilizada por el Profesor Tutor para impartir el seminario

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

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

Lógica Matemática, Sistemas Formales, Cláusulas de Horn

Lógica Matemática, Sistemas Formales, Cláusulas de Horn Lógica Matemática, Sistemas Formales, Cláusulas de Horn Lic. José Manuel Alvarado La lógica se ocupa de las argumentaciones válidas. Las argumentaciones ocurren cuando se quiere justificar una proposición

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

PROGRAMACIÓN LÓGICA INTRODUCCIÓN. Juan Juárez Fuentes

PROGRAMACIÓN LÓGICA INTRODUCCIÓN. Juan Juárez Fuentes PROGRAMACIÓN LÓGICA INTRODUCCIÓN Juan Juárez Fuentes 1 Trabajo propuesto en 1970 Cómo programar un sistema como el siguiente? Usuario> Los gatos matan ratones. Usuario> Tom es un gato al que no le gustan

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

Matemáticas Discretas TC1003

Matemáticas Discretas TC1003 Matemáticas Discretas TC1003 Demostración Automática de Teoremas Departamento de Matemáticas / Centro de Sistema Inteligentes ITESM ATP Matemáticas Discretas - p. 1/30 En lo anterior, hemos visto cómo

Más detalles

Un calculadora avanzada... y algo más!

Un calculadora avanzada... y algo más! INFORMÁTICA, GRUPO D Un calculadora avanzada... y algo más! Vamos a familiarizarnos con el entorno interactivo de Python. Vamos a construir expresiones aritméticas y a guardar los resultados en variables

Más detalles

Introducción a la Lógica Modal

Introducción a la Lógica Modal Introducción a la Lógica Modal Pedro Cabalar Depto. Computación Universidade da Coruña, SPAIN 4 de mayo de 2006. Cabalar ( Depto. Computación Universidade da Coruña, SPAIN Lógica ) Modal 4 de mayo de 2006

Más detalles

Paradigma lógico Lógica proposicional Resolución. Programación Lógica. Eduardo Bonelli. Departamento de Computación FCEyN UBA. 10 de octubre, 2006

Paradigma lógico Lógica proposicional Resolución. Programación Lógica. Eduardo Bonelli. Departamento de Computación FCEyN UBA. 10 de octubre, 2006 Departamento de Computación FCEyN UBA 10 de octubre, 2006 Prolog Se basa en el uso de la lógica como un lenguaje de programación Se especifican ciertos hechos y reglas de inferencia un objetivo ( goal

Más detalles

Facultad de Ingeniería y Tecnología Informática Técnico en Programación de Computadoras Plan de Estudios 2014 Año 2014 Programa Analítico Lógica (1)

Facultad de Ingeniería y Tecnología Informática Técnico en Programación de Computadoras Plan de Estudios 2014 Año 2014 Programa Analítico Lógica (1) 1. OBJETIVOS: 1- OBJETIVOS GENERALES: El objetivo principal de esta asignatura es introducir al alumno en el estudio de los sistemas finitos, conforme a los avances en la era de las computadoras. Se pretende

Más detalles

Lógica de predicados 3. Sintaxis. Juan Carlos León Universidad de Murcia

Lógica de predicados 3. Sintaxis. Juan Carlos León Universidad de Murcia Lógica de predicados 3. Sintaxis Juan Carlos León Universidad de Murcia Esquema del tema 3.1. Fórmulas bien formadas y funciones proposicionales 3.2. Alcance. Variables libres y ligadas 3.3. Teoremas 3.4.

Más detalles

Lógica de predicados 3. Sintaxis

Lógica de predicados 3. Sintaxis Lógica de predicados 3. Sintaxis Juan Carlos León Universidad de Murcia Esquema del tema 3.1. Fórmulas bien formadas y funciones proposicionales 3.2. Alcance. Variables libres y ligadas 3.3. Teoremas 3.4.

Más detalles

Tema 4: Lógicas Informática (Tecnologías Informáticas) Curso Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla

Tema 4: Lógicas Informática (Tecnologías Informáticas) Curso Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Tema 4: Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógicas Informática (Tecnologías Informáticas) Curso 2017 18 Contenido Presentaremos un algoritmo más para estudiar

Más detalles

Sintaxis LÓGICA COMPUTACIONAL CÁLCULO DE PROPOSICIONES. Funciones boolenas. Semántica

Sintaxis LÓGICA COMPUTACIONAL CÁLCULO DE PROPOSICIONES. Funciones boolenas. Semántica Proposiciones atómicas y compuestas Sintaxis LÓGICA COMPUTACIONAL CÁLCULO DE PROPOSICIONES Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@cienciasunammx Página

Más detalles

Teoremas: Condiciones Necesarias, Condiciones Suficientes y Condiciones Necesarias y Suficientes

Teoremas: Condiciones Necesarias, Condiciones Suficientes y Condiciones Necesarias y Suficientes FUNCIONES DE VARIABLE COMPLEJA 1 Teoremas: Condiciones Necesarias, Condiciones Suficientes y Condiciones Necesarias y Suficientes Lógica Matemática Una prioridad que tiene la enseñanza de la matemática

Más detalles

Introducción a la indecidibilidad

Introducción a la indecidibilidad Introducción a la indecidibilidad José M. empere Departamento de istemas Informáticos y Computación Universidad Politécnica de Valencia Lenguajes y problemas Un problema será considerado cualquier cuestión

Más detalles

Estructura de Datos Unidad 1: Repaso del Lenguaje Java

Estructura de Datos Unidad 1: Repaso del Lenguaje Java Estructura de Datos Unidad 1: Repaso del Lenguaje Java Introducción Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de 1991, con el que se van a

Más detalles

Lenguajes funcionales: λ-cálculo

Lenguajes funcionales: λ-cálculo Lenguajes funcionales: λ-cálculo λ-cálculo (Church 1933) Cálculo para el estudio formal del comportamiento de las funciones Sintaxis: λ expresiones Reglas de reducción de λ expresiones Método matemático

Más detalles

Significado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo

Significado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo Significado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo Semánticas del cálculo de predicados proporcionan las bases formales para determinar el valor

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

Aplicaciones: Herramientas clásicas, Redes Neuronales, control borroso

Aplicaciones: Herramientas clásicas, Redes Neuronales, control borroso Indice Inteligencia Artificial Historia Revisión de Técnicas Control automático Jerarquía de control Necesidad de inteligencia Aplicaciones: Herramientas clásicas, Redes Neuronales, control borroso Control

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

REGLAS Y LEYES LOGICAS

REGLAS Y LEYES LOGICAS LOGICA II REGLAS Y LEYES LOGICAS Una regla lógica, o regla de inferencia (deductiva), es una forma válida de razonamiento que es empleada para inferir deductivamente ciertos enunciados a partir de otros.

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

Clases de complejidad computacional: P y NP

Clases de complejidad computacional: P y NP 1er cuatrimestre 2006 La teoría de Se aplica a problemas de decisión, o sea problemas que tienen como respuesta SI o NO (aunque es sencillo ver que sus implicancias pueden extenderse a problemas de optimización).

Más detalles

Teoría de la Computación y Leguajes Formales

Teoría de la Computación y Leguajes Formales y Leguajes Formales Prof. Hilda Y. Contreras Departamento de Computación hyelitza@ula.ve hildac.teoriadelacomputacion@gmail.com Contenido Tema 0: Introducción y preliminares: Conocimientos matemáticos

Más detalles

LOGICA Y ALGEBRA DISCRETA

LOGICA Y ALGEBRA DISCRETA LOGICA Y ALGEBRA DISCRETA Franco D. Menendez LABIA FACET - UNT DOCENTES Ing. Franco D. Menendez fmenendez@herrera.unt.edu.ar Mg. Ing. Gustavo Juarez gjuarez@herrera.unt.edu.ar CURSADO Teoría-Práctica:

Más detalles

La programaciólógica han sido utilizada tradicionalmente para obtener técnicas para el razonamiento y la representación del conocimiento.

La programaciólógica han sido utilizada tradicionalmente para obtener técnicas para el razonamiento y la representación del conocimiento. 1 Fundamentos La programaciólógica han sido utilizada tradicionalmente para obtener técnicas para el razonamiento y la representación del conocimiento. Existen muchos sistemas de razonamiento, los cuales

Más detalles

Programación Lógica. Miguel Álvarez Juan Saab Óscar Suárez Fredy Virguez. Mayo 27 de 2015 Lenguajes de Programación. Universidad Nacional de Colombia.

Programación Lógica. Miguel Álvarez Juan Saab Óscar Suárez Fredy Virguez. Mayo 27 de 2015 Lenguajes de Programación. Universidad Nacional de Colombia. Programación Lógica Miguel Álvarez Juan Saab Óscar Suárez Fredy Virguez Mayo 27 de 2015 Lenguajes de Programación. Universidad Nacional de Colombia. Agenda Filosofía. Conceptos claves. Ventajas y desventajas.

Más detalles

Metodología de Programación I Corte y Aritmética

Metodología de Programación I Corte y Aritmética Metodología de Programación I Corte y Aritmética 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

INDICE. XVII Prólogo a la edición en español. XXI 1. Calculo proporcional 1.1. Argumentos y proporciones lógicas

INDICE. XVII Prólogo a la edición en español. XXI 1. Calculo proporcional 1.1. Argumentos y proporciones lógicas INDICE Prologo XVII Prólogo a la edición en español XXI 1. Calculo proporcional 1.1. Argumentos y proporciones lógicas 1 1.1.1. Introducción 1.1.2. Algunos argumentos lógicos importantes 2 1.1.3. Proposiciones

Más detalles

Índice general. I Introducción a la Lógica 3

Índice general. I Introducción a la Lógica 3 Índice general I Introducción a la Lógica 3 1 Demostraciones 5 1.1. Argumentos rodeados de agua....................... 5 1.1.1. Argumentando........................... 6 1.1.2. Formalizando el argumento....................

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

Introducción a las Gramáticas de Cláusulas Definidas (DCGs) Procesamiento del. Lenguaje Natural. Índice. Gramáticas de cláusulas definidas

Introducción a las Gramáticas de Cláusulas Definidas (DCGs) Procesamiento del. Lenguaje Natural. Índice. Gramáticas de cláusulas definidas Introducción a las Gramáticas de Cláusulas Definidas (DCGs) Procesamiento del Lenguaje Natural José María Gómez Hidalgo http://www.esp.uem.es/jmgomez/ Índice Representación del conocimiento sintáctico

Más detalles

Lógica Matemática. Contenido. Definición. Finalidad de la unidad. Proposicional. Primer orden

Lógica Matemática. Contenido. Definición. Finalidad de la unidad. Proposicional. Primer orden Contenido Lógica Matemática M.C. Mireya Tovar Vidal Proposicional Definición Sintaxis Proposición Conectivos lógicos Semántica Primer orden cuantificadores Finalidad de la unidad Definición Traducir enunciados

Más detalles

Análisis lógico Cálculo de proposiciones

Análisis lógico Cálculo de proposiciones Sintaxis Semántica Sistemas de demostración Análisis lógico Cálculo de proposiciones Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx Página Web: www.matematicas.unam.mx/fhq

Más detalles

Capítulo V: CONJUNTOS RECURSIVAMENTE ENUMERABLES

Capítulo V: CONJUNTOS RECURSIVAMENTE ENUMERABLES Capítulo V: CONJUNTOS RECURSIVAMENTE ENUMERABLES Mario de J. Pérez Jiménez Grupo de investigación en Computación Natural Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla

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

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

Lógica Clásica Proposicional

Lógica Clásica Proposicional Lógica Clásica Proposicional Lógica Computacional Departamento de Matemática Aplicada Universidad de Málaga 10 de enero de 2008 Contenido 1 Sintaxis Alfabeto Fórmulas bien formadas Funciones recursivas

Más detalles

Unidad 3. Álgebra Relacional y Cálculo Relacional

Unidad 3. Álgebra Relacional y Cálculo Relacional Unidad 3 Álgebra Relacional y Cálculo Relacional Álgebra Relacional Definición de Álgebra Álgebra es un sistema matemático que está formado por: Operandos. Valores o variables con los cuáles se pueden

Más detalles

Tema 8: Teorema de Herbrand. Tableros en lógica de primer orden

Tema 8: Teorema de Herbrand. Tableros en lógica de primer orden Tema 8:. en de primer orden Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica Informática (Tecnologías Informáticas) Curso 2016 17 Contenido Sea Γ un conjunto de fórmulas

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

Lógica proposicional. Semántica Lógica 2018

Lógica proposicional. Semántica Lógica 2018 Lógica proposicional. Semántica Lógica 2018 Instituto de Computación 20 de marzo Instituto de Computación (InCo) Lógica proposicional. Semántica Curso 2018 1 / 1 Significado de una fórmula proposicional

Más detalles

La lógica de segundo orden: Sintaxis

La lógica de segundo orden: Sintaxis La lógica de segundo orden: Sintaxis Dado: Vocabulario L Definición La lógica de segundo orden (LSO) sobre L es definida como la extensión de LPO que incluye las siguientes reglas: Si t 1,..., t k son

Más detalles

Tema 7: Formas normales: Formas prenex y de Skolem

Tema 7: Formas normales: Formas prenex y de Skolem Tema 7: Formas normales: Formas prenex y de Skolem Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica Informática (Ingeniería del Software) Curso 2013 14 LI(IS), 2013

Más detalles

Álgebra Superior Unidad de Competencia I Conceptos preliminares. Tema 1. Teoría de Conjuntos. M. en C. Rafael Rojas Hernández Agosto /37

Álgebra Superior Unidad de Competencia I Conceptos preliminares. Tema 1. Teoría de Conjuntos. M. en C. Rafael Rojas Hernández Agosto /37 Álgebra Superior Unidad de Competencia I Conceptos preliminares. Tema 1. Teoría de Conjuntos M. en C. Rafael Rojas Hernández Agosto 2017 1/37 Evaluación Criterios de evaluación 1er Parcial Examen 60 %

Más detalles

Análisis semántico: Comprobación de tipos

Análisis semántico: Comprobación de tipos Análisis semántico: Comprobación de tipos Expresiones de tipos, sistemas de comprobación de tipos, equivalencia, resolución de sobrecargas y unificación. Introducción Objetivo de comprobación estática:

Más detalles

PRÁCTICA DE PROCESADORES DE LENGUAJE EVALUACIÓN ORDINARIA CURSO 2009/2010 OBJETIVO DE LA PRÁCTICA

PRÁCTICA DE PROCESADORES DE LENGUAJE EVALUACIÓN ORDINARIA CURSO 2009/2010 OBJETIVO DE LA PRÁCTICA PRÁCTICA DE PROCESADORES DE LENGUAJE EVALUACIÓN ORDINARIA CURSO 2009/2010 OBJETIVO DE LA PRÁCTICA El objetivo de la práctica es desarrollar un compilador utilizando las herramientas flex y bison y el lenguaje

Más detalles

PROGRAMACIÓN EN JAVA

PROGRAMACIÓN EN JAVA 1. INTRODUCCIÓN A LA PROGRAMACIÓN 1.1. Datos, algoritmos y programas 1.1.1. Definición de algoritmo 1.1.2. Datos 1.1.3. Características de un programa 1.2. Paradigmas de programación 1.2.1. Programación

Más detalles

Análisis semántico Tabla de símbolos, chequeo de tipos y representaciones internas

Análisis semántico Tabla de símbolos, chequeo de tipos y representaciones internas Análisis semántico Tabla de símbolos, chequeo de tipos y representaciones internas Análisis semático c 2001 José Fortes Gálvez p.1 Análisis?... semántico? La semántica corresponde al significado asociado

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

Apuntes de compiladores

Apuntes de compiladores Apuntes de compiladores Tomás Barros 4 de septiembre de 2008 1. Introducción Un compilador es simplemente un programa que puede leer un programa en un lenguaje y traducirlo a otro lenguaje programa fuente

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles