Tema 1: Representación del conocimiento mediante reglas

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

Download "Tema 1: Representación del conocimiento mediante reglas"

Transcripción

1 Inteligencia Artificial II Curso Tema : Representación del conocimiento mediante reglas Carmen Graciani Díaz José L. Ruiz Reina Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla IA-II CcIa Representación del conocimiento mediante reglas.

2 Sistemas basados en el conocimiento Sistemas basados en el conocimiento: Programas que resuelven problemas usando un determinado dominio de conocimiento A veces llamados sistemas expertos Ventajas: Fácil acceso y disponibilidad de conocimiento (experto) Coste reducido Permanencia Fiabilidad y rapidez Respuestas no subjetivas Tutores Explicación del razonamiento Competitivos con expertos humanos IA-II CcIa Representación del conocimiento mediante reglas.2

3 Sistemas basados en el conocimiento Componentes principales de un SBC Conocimiento, que necesita ser representado Mecanismos que permitan inferir nuevo conocimiento Estos componentes deberían constituir módulos independientes Otros componentes: Interfaz de usuario Explicaciones acerca del conocimiento inferido Adquisición de nuevo conocimiento Tutor IA-II CcIa Representación del conocimiento mediante reglas.3

4 Representación del conocimiento Requisitos de los formalismos de representación del conocimiento: potencia expresiva facilidad de interpretación eficiencia deductiva posibilidad de explicación y justificación Algunos formalismos de representación: reglas, redes semánticas, marcos, lógicas de descripción, lógica de primer orden,... Cada formalismo de representación usa un método de inferencia específico: razonamiento hacia adelante y hacia atrás (SLD-resolución), herencia, tableros, resolución,... En este tema nos centraremos en la representación del conocimiento mediante reglas IA-II CcIa Representación del conocimiento mediante reglas.4

5 Representación del conocimiento mediante reglas Ejemplos (reglas): SI la luz del semáforo es verde Y no hay peatones cruzando ENTONCES continúa la marcha SI x es número natural Y x es par ENTONCES x es divisible por 2 SI el reactivo toma color azul Y la morfología del organismo es alargada Y el paciente es un posible receptor ENTONCES existe una evidencia (0.7) de que la infección proviene de pseudomonas. Ejemplos (hechos): La luz del semáforo es verde El reactivo toma color azul IA-II CcIa Representación del conocimiento mediante reglas.5

6 Representación del conocimiento mediante reglas Esencialmente, existen dos mecanismos para inferir nuevo conocimiento a partir de un conjunto de reglas Razonamiento hacia atrás (backward chaining) Razonamiento hacia adelante (forward chaining) En lo que sigue veremos con detalle ambos mecanismos Se estudian mejor desde un punto de vista formal mediante su formulación lógica (proposicional y primer orden) Recomendación: repasar Lógica Informática, segundo curso y Programación Declarativa, tercer curso IA-II CcIa Representación del conocimiento mediante reglas.6

7 Lógica proposicional Lenguaje de la lógica proposicional Símbolos (variables) proposicionales: p, q, r, luz-verde, peatones-cruzando,... Conectivas:,,,, Fórmulas de la lógica proposicional Los símbolos son fórmulas (atómicas) Si F y F 2 son fórmulas, también lo son F F 2, F F 2, F F 2, F, F F 2 IA-II CcIa Representación del conocimiento mediante reglas.7

8 Lógica proposicional Consecuencia lógica: Interpretación: asignación de valores de verdad ( ó ) a las variables proposicionales Una interpretación asigna un valor de verdad a cada fórmula (por ejemplo, I(F F 2 ) = si I(F ) = y I(F 2 ) = ; I(F F 2 ) = en caso contrario) Consecuencia lógica: decimos que {F, F 2,..., F n } = G si para toda interpretación I tal que I(F i ) = i =,...,n, se tiene que I(G) = Ejemplo: {p, q, p q r} = r IA-II CcIa Representación del conocimiento mediante reglas.8

9 Reglas, hechos, objetivos y bases de conocimiento Una regla (proposicional) es una fórmula proposicional de la forma p p 2... p n q donde p,...,p n,q son símbolos proposicionales Representaciones alternativas: q p,..., p n, SI p Y p 2 Y...Y p n ENTONCES q Cabeza y cuerpo de una regla Un hecho (proposicional) es una variable proposicional Un hecho puede verse como una regla sin cuerpo Representación alternativa: p Una base de conocimiento es un conjunto de hechos y reglas IA-II CcIa Representación del conocimiento mediante reglas.9

10 Un ejemplo de juguete : fuga de agua Situación: VENTANA COCINA BAÑO RECIBIDOR IA-II CcIa Representación del conocimiento mediante reglas.0

11 Un ejemplo de juguete : fuga de agua Base de conocimiento FA: fuga_en_ba~no recibidor_mojado, cocina_seca problema_en_cocina recibidor_mojado, ba~no_seco no_agua_exterior ventana_cerrada no_agua_exterior no_llueve fuga_en_cocina problema_en_cocina, no_agua_exterior recibidor_mojado ba~no_seco ventana_cerrada Ejemplo de consecuencia lógica: FA = fuga en cocina IA-II CcIa Representación del conocimiento mediante reglas.

12 Deducción en una base de conocimiento Problema: implementar un algoritmo tal que dada una base de conocimiento BC y un átomo p, responda a la pregunta BC = p? Derivabilidad respecto de una base de conocimiento: Regla de inferencia: Modus Ponens: p p 2... p n p p 2... p n q q Dada una base de conocimiento BC y un símbolo de proposición p, decimos que BC p si existe una secuencia de fórmulas F,..., F n tales que F n = p y cada F i está en BC o se obtiene de fórmulas anteriores mediante aplicación de Modus Ponens IA-II CcIa Representación del conocimiento mediante reglas.2

13 Deducción en una base de conocimiento Teorema: BC = p BC p Este teorema nos sugiere cómo implementar algoritmos para responder preguntas a una base de conocimiento Esencialmente, se trata de implementar procesos que buscan una secuencia de aplicaciones válidas de la regla de Modus Ponens que obtenga p como fórmula final Por tanto, algoritmos de búsqueda Esta búsqueda puede realizarse: Hacia adelante: partiendo de BC Hacia atrás: partiendo de p IA-II CcIa Representación del conocimiento mediante reglas.3

14 Encadenamiento hacia atrás proposicional FUNCIÓN ENCADENAMIENTO-HACIA-ATRÁS-PROP(BC,p) Devolver ENCADENAMIENTO-HACIA-ATRÁS-PROP-REC(BC,{p}) FUNCIÓN ENCADENAMIENTO-HACIA-ATRÁS-PROP-REC(BC,OBJETIVOS). Si OBJETIVOS está vacío, devolver ÉXITO y terminar 2. Hacer ACTUAL igual a SELECCIONA-UNO(OBJETIVOS) 3. Para cada elemento q p,..., p n (n 0) en BC tal que q=actual 3. Hacer NUEVOS-OBJETIVOS igual a {p,..., p n } (OBJETIVOS\{ACTUAL}) 3.2 Hacer RESULTADO igual a ENCADENAMIENTO-HACIA-ATRÁS-PROP-REC(BC,NUEVOS-OBJETIVOS) 3.3 Si RESULTADO es ÉXITO, devolverlo y terminar. 4. Devolver FALLO IA-II CcIa Representación del conocimiento mediante reglas.4

15 Encadenamiento hacia atrás proposicional Es fácil ver que si ENCADENAMIENTO-HACIA-ATRÁS-PROP(BC,p) devuelve ÉXITO, entonces BC p Se trata de una búsqueda en profundidad mediante backtracking No es completa (podría ser que BC p y que el algoritmo no devolviera ÉXITO, debido a la posible existencia de ramas infinitas) Estrategia de búsqueda: Búsqueda en profundidad Selección del objetivo a resolver: cualquier función de selección valdría Orden de uso de las reglas de la base de conocimiento IA-II CcIa Representación del conocimiento mediante reglas.5

16 Lógica de primer orden Lenguaje de la lógica de primer orden Símbolos de variable: x, y,... Símbolos de función (con su aridad): f, g,... Símbolos de predicado (con su aridad): p, q,... Conectivas:,,,, Cuantificadores:, IA-II CcIa Representación del conocimiento mediante reglas.6

17 Lógica de primer orden Términos de la lógica de primer orden Las variables son términos Si t,..., t n son términos y f es un símbolo de función de aridad n, entonces f(t,..., t n ) es un término Fórmulas de la lógica de primer orden Si t,..., t n son términos y p es un símbolo de función de aridad n, entonces p(t,...,t n ) es una fórmula (atómica) Si F y F 2 y son fórmulas y x es una variable, también lo son F F 2, F F 2, F F 2, F, F F 2, xf y xf IA-II CcIa Representación del conocimiento mediante reglas.7

18 Lógica de primer orden Consecuencia lógica: Interpretación: un conjunto (universo) junto con una asignación de funciones y relaciones concretas, en ese universo, a los símbolos de función y predicado Una interpretación asigna un valor de verdad a cada fórmula (repasar LI) Consecuencia lógica: decimos que {F, F 2,..., F n } = G si para toda interpretación I tal que I(F i ) =, para todo i =,...,n, se tiene que I(G) = Ejemplo: { x(antecesor(y, x) quiere(x, y)), antecesor(p edro, Juan)} = quiere(juan, P edro) IA-II CcIa Representación del conocimiento mediante reglas.8

19 Reglas, hechos, y bases de conocimiento Una regla es una fórmula de primer orden de la forma P P 2... P n Q donde P,...,P n,q son fórmulas atómicas Las variables de una regla se interpretan como universalmente cuantificadas Representaciones alternativas: como en el caso proposicional Un hecho es una fórmula atómica Como en el caso proposicional, un hecho puede verse como una regla sin cuerpo Una base de conocimiento es un conjunto de hechos y reglas IA-II CcIa Representación del conocimiento mediante reglas.9

20 Ejemplo: una pequeña base de conocimiento R: hereda_de(x,y) bueno(x),rico(y),quiere(x,y) R2: quiere(x,y) amigo(x,y) R3: quiere(x,y) antecesor(y,x) R4: antecesor(x,y) progenitor(x,y) R5: antecesor(x,y) progenitor(x,z),progenitor(z,y) H: progenitor(padre(x),x) H2: rico(pedro) H3: rico(padre(padre(juan))) H4: amigo(juan,pedro) H5: bueno(juan) IA-II CcIa Representación del conocimiento mediante reglas.20

21 Deducción en una base de conocimiento Sustituciones: θ = {x t,...,x n t n } Si Q es una fórmula atómica, θ(q) es la fórmula obtenida sustituyendo cada aparición de x i en Q por t i Regla de inferencia: Modus Ponens Generalizado P P 2... P n P P 2... P n Q θ(q) donde θ es una sustitución tal que θ(p i ) = θ(p i) Ejemplo: a partir de antecesor(y, x) quiere(x, y) y de antecesor(pedro, Juan) se deduce quiere(juan, P edro) (mediante la sustitución θ = {x Juan, y P edro}) Dada una base de conocimiento BC y una fórmula atómica P, decimos que BC P si existe una secuencia de fórmulas F,..., F n tales que F n = P y cada F i está en BC o se obtiene de fórmulas anteriores mediante aplicación de Modus Ponens Generalizado Teorema: BC = P BC P IA-II CcIa Representación del conocimiento mediante reglas.2

22 Razonamiento hacia atrás con reglas de primer orden Podemos aplicar la misma idea que en el caso proposicional para diseñar un algoritmo de encadenamiento hacia atrás basado en la regla de Modus Ponens Generalizado Dado un objetivo Q y una regla Q... Q n P, los nuevos objetivos podrían ser {θ(q ),...,θ(q n )} si encontramos una sustitución θ tal que θ(p) = θ(q) Dicha sustitución se denomina unificador de P y Q Por tanto, se necesita un algoritmo que dado el objetivo y la cabeza de la regla, encuentre un unificador, si es que existe Dicho algoritmo se denomina algoritmo de unificación IA-II CcIa Representación del conocimiento mediante reglas.22

23 Unificación Ejemplos: Objetivo Cabeza de regla Unificador amigo(x,juan) amigo(antonio,y) {x Antonio,y Juan} progenitor(padre(x),x) progenitor(y,juan) {x Juan,y padre(juan)} p(f(x),g(y)) p(z,z) No existe p(x) q(y) No existe quiere(x,z) quiere(padre(y),x) {x padre(juan),y Juan,z padre(juan)} quiere(x,z) quiere(padre(y),x) {x padre(y),z padre(y)} En general, dados dos átomos podrían no ser unificables, o si son unificables pueden tener más de un unificador Aunque se puede probar que si son unificables existe un unificador más general que cualquier otro unificador Ejemplo: {x padre(y), z padre(y)} es más general que {x padre(juan), y Juan, z padre(juan)} IA-II CcIa Representación del conocimiento mediante reglas.23

24 Algoritmo de unificación FUNCIÓN UNIFICA(S,T) Devolver UNIFICA-REC(S,T,{}) FUNCIÓN UNIFICA-REC(S,T,θ). Si S = T, devolver {} 2. Si no, si S es variable, entonces: 2. Si S ocurre en T, devolver FALLO 2.2 Si S no ocurre en T, devolver {S T} 3. Si no, si T es variable, entonces devolver UNIFICA-REC(T,S,θ) 4. Si no, sea S=f(S,...,S n ) y T=g(T,...,T m ) 4. Si f g ó n m, devolver FALLO 4.2 En caso contrario, devolver UNIFICA-REC-LISTA([S,...,S n ],[T,...,T n ],θ) FUNCIÓN UNIFICA-REC-LISTA(LS,LT,θ). Si LS es la lista vacía, devolver θ 2. Si no, sea σ = UNIFICA-REC(PRIMERO(LS),PRIMERO(LT),θ) 2. Si σ es igual a FALLO, devolver FALLO 2.2 En caso contrario, devolver UNIFICA-REC-LISTA(σ(RESTO(LS)),σ(RESTO(LT)),COMPONER(θ,σ)) Nota: COMPONER(S,S2) obtiene la sustitución que actúa como si se aplicara S y a continuación S2. Por ejemplo: COMPONER({x f(y),z g(u,v)}, {y k(u)}) = {x f(k(u)), z g(u,v), y k(u)} IA-II CcIa Representación del conocimiento mediante reglas.24

25 Algoritmo de unificación Ejemplo: UNIFICA(quiere(x,z),quiere(padre(y),x)) UNIFICA-REC(quiere(x,z),quiere(padre(y),x),{}) UNIFICA-REC-LISTA({x,z},{padre(y),x},{}) [UNIFICA-REC(x,padre(y),{}) = {x padre(y)}] UNIFICA-REC-LISTA({z},{padre(y)},{x padre(y)}) [UNIFICA-REC(z,padre(y),{x padre(y)}) = {z padre(y)}] UNIFICA-REC-LISTA({},{},{x padre(y),z padre(y)}) {x padre(y),z padre(y)} Teorema: UNIFICA(S,T) no devuelve FALLO si y sólo si S y T se pueden unificar; en ese caso, devuelve un unificador de S y T más general que cualquier otro unificador IA-II CcIa Representación del conocimiento mediante reglas.25

26 SLD-resolución Combinando unificación y encadenamiento hacia atrás proposicional podemos obtener un procedimiento que permite responder a preguntas del tipo BC = P? En concreto, el algoritmo encontrará sustituciones θ tal que BC = θ(p) (respuestas) Este algoritmo se denomina de SLD-resolución Como en el caso proposicional, el algoritmo realiza una búsqueda en profundidad (backtracking) Como es habitual, esta búsqueda se puede representar mediante un árbol IA-II CcIa Representación del conocimiento mediante reglas.26

27 Un ejemplo de árbol SLD IA-II CcIa Representación del conocimiento mediante reglas.27

28 Árboles SLD Un árbol SLD representa el proceso de búsqueda Los nodos de un árbol representan los objetivos pendientes (átomos por deducir) Nodo raíz: objetivo inicial Nodos finales: Un nodo de fallo se obtiene cuando su primer átomo no es unificable con la cabeza de ninguna regla o hecho Un nodo de éxito es aquél en el que no tiene objetivos pendientes Ramas de éxito Una rama de éxito es aquella que termina en un nodo de éxito Cada rama de éxito construye una sustitución (respuesta) que se va concretando mediante los sucesivos pasos de unificación Cada rama de éxito representa una SLD-refutación Renombrado de reglas y hechos IA-II CcIa Representación del conocimiento mediante reglas.28

29 Algoritmo de SLD-resolución FUNCIÓN SLD-RESOLUCIÓN(BC,Q) Devolver SLD-RESOLUCIÓN-REC(BC,{Q},{}) FUNCIÓN SLD-RESOLUCIÓN-REC(BC,OBJETIVOS,θ). Si OBJETIVOS está vacío, devolver la lista unitaria θ 2. Hacer RESPUESTAS igual a la lista vacía Hacer ACTUAL igual θ(selecciona-uno(objetivos)) 3. Para cada elemento P P,..., P n en BC (renombrado con variables nuevas) tal que σ=unifica(p,actual) es distinto de FALLO 3. Hacer NUEVOS-OBJETIVOS igual a {P,..., P n } (OBJETIVOS\{ACTUAL}) 3.2 A~nadir a RESPUESTAS el resultado de SLD-RESOLUCIÓN-REC(BC,NUEVOS-OBJETIVOS,COMPONER(θ,σ)) 4. Devolver RESPUESTAS IA-II CcIa Representación del conocimiento mediante reglas.29

30 Propiedades del algoritmo de SLD-resolución Propiedades: Teorema (corrección): Si θ SLD-RESOLUCION(BC, P) entonces BC θ(p) Teorema: Si BC σ(p), entonces existe una SLD-refutación a partir de P que construye una respuesta θ tal que σ es un caso particular de θ Problema: el algoritmo de SLD-resolución podría no encontrar tal SLD-refutación debido a la existencia de ramas infinitas Estrategia de búsqueda: En nuestro pseudocódigo, búsqueda en profundidad Selección del objetivo a resolver: cualquier función de selección serviría Orden en el que se usan las reglas y hechos de la BC IA-II CcIa Representación del conocimiento mediante reglas.30

31 Programación lógica Una base de conocimiento puede verse como un programa declarativo Programa lógico: conjunto de reglas y hechos Declarativo: qué es en lugar de cómo se hace Las respuestas que calcula el algoritmo de SLD-resolución pueden verse como la salida que calcula el programa lógico Ejemplo de programa lógico: concatenación R: concatena(c(x, y), z, c(x, v)) concatena(y, z, v) H: concatena(nil, x, x) IA-II CcIa Representación del conocimiento mediante reglas.3

32 Árbol SLD IA-II CcIa Representación del conocimiento mediante reglas.32

33 Árbol SLD IA-II CcIa Representación del conocimiento mediante reglas.33

34 Programación lógica y PROLOG PROLOG es el lenguaje de programación más conocido basado en el paradigma de la programación lógica Diferencias entre PROLOG y Programación lógica pura Notación :- en lugar de Estrategia de búsqueda: selección del primer átomo; reglas y hechos usados en el orden en el que aparecen en el problema Se amplía la expresividad: negación como fallo Control: corte Unificación sin occur-check Funciones predefinidas: aritmética,entrada/salida,... Azúcar sintáctico: operadores... IA-II CcIa Representación del conocimiento mediante reglas.34

35 Implementación en PROLOG de la deducción hacia atrás SBCs implementados en PROLOG: Debido a que el encadenamiento hacia atrás forma parte del propio intérprete, PROLOG es un lenguaje especialmente adecuado para la implementación de SBCs basados en reglas con razonamiento hacia atrás SBC: BC+motor de inferencia+interfaz de usuario Veamos un ejemplo de cómo se implementa un SBC básico en PROLOG IA-II CcIa Representación del conocimiento mediante reglas.35

36 Un SBC básico en PROLOG Azúcar sintáctico para reglas y hechos :- op(875, xfx, hecho). :- op(875, xfx, #). :- op(825, fx, si). :- op(850, xfx, entonces). :- op(775, xfy, y). % Asociatividad a la derecha Ejemplo de BC: r # si bueno(x) y rico(y) y quiere(x,y) entonces hereda_de(x,y). r2 # si amigo(x,y) entonces quiere(x,y). r3 # si antecesor(y,x) entonces quiere(x,y). r4 # si progenitor(x,y) entonces antecesor(x,y). r5 # si progenitor(x,z) y progenitor(z,y) entonces antecesor(x,y). h hecho progenitor(padre(x),x). h2 hecho rico(pedro). h3 hecho rico(padre(padre(juan))). h4 hecho amigo(juan,pedro). h5 hecho bueno(juan). Nota: Las reglas y hechos de la base de conocimiento son hechos Prolog IA-II CcIa Representación del conocimiento mediante reglas.36

37 Un SBC básico en PROLOG Programa PROLOG: se_deduce(p) :- _ hecho P. se_deduce(p) :- _ # si C entonces P, se_deduce(c). se_deduce(p y P2) :- se_deduce(p), se_deduce(p2). Ejemplo:?- se_deduce(hereda_de(x,y)). X = juan Y = pedro ; X = juan Y = padre(padre(juan)) Yes?- se_deduce(hereda_de(pedro,juan)). No?- IA-II CcIa Representación del conocimiento mediante reglas.37

38 SBC en PROLOG con justificación de respuestas Estructura de las pruebas: P es cierto esta_afirmado_por F. P es cierto es_consecuencia_de R porque Prueba. Prueba y Prueba2. Operadores: :- op(850, xfx, es_consecuencia_de). :- op(850, xfx, esta_afirmado_por). :- op(800, xfx, porque). :- op(750, xfx, es). Árboles de prueba Diferencia entre árbol SLD y árbol de prueba Árbol SLD: Refleja el proceso de búsqueda de la deducción Árbol de prueba: Justifica la deducción encontrada IA-II CcIa Representación del conocimiento mediante reglas.38

39 SBC en PROLOG con justificación de respuestas se_deduce(p, P es cierto esta_afirmado_por F) :- F hecho P. se_deduce(p, P es cierto es_consecuencia_de R porque Pr) :- R # si C entonces P, se_deduce(c, Pr). se_deduce(p y P2, Prueba y Prueba2) :- se_deduce(p, Prueba), se_deduce(p2, Prueba2). se_deduce(p) :- se_deduce(p,prueba), escribe_prueba(prueba). IA-II CcIa Representación del conocimiento mediante reglas.39

40 Ejemplo de SBC en PROLOG con justificación de respuestas?- se_deduce(hereda_de(x,y)). ****** Prueba encontrada: por h5, sabemos que bueno(juan), y por h2, sabemos que rico(pedro), y por h4, sabemos que amigo(juan, pedro), luego, segun r2 se concluye que quiere(juan, pedro), luego, segun r se concluye que hereda_de(juan, pedro), X = juan Y = pedro ; ****** Prueba encontrada: por h5, sabemos que bueno(juan), y por h3, sabemos que rico(padre(padre(juan))), y por h, sabemos que progenitor(padre(padre(juan)), padre(juan)), y por h, sabemos que progenitor(padre(juan), juan), luego, segun r5 se concluye que antecesor(padre(padre(juan)), juan), luego, segun r3 se concluye que quiere(juan, padre(padre(juan))), luego, segun r se concluye que hereda_de(juan, padre(padre(juan))), X = juan Y = padre(padre(juan)) Yes IA-II CcIa Representación del conocimiento mediante reglas.40

41 Ampliando funcionalidades del SBC Interfaz de usuario: hechos preguntables Preguntas Cómo? Preguntas Por qué? Navegación en la prueba Razonamiento probabilístico Objetivos retardables Aprendizaje En el anexo se muestra un SBC implementado en PROLOG que incorpora alguna de estas funcionalidades IA-II CcIa Representación del conocimiento mediante reglas.4

42 Ejemplo de sesión (I):?- se_deduce(hereda_de(x, Y)). Es cierto amigo(juan, pedro)? Posibles respuestas: [si, no, porque] (seguidas de un punto): porque. === Porque: La regla r2 dice que probando: amigo(juan, pedro) se tiene: quiere(juan, pedro) Repito: Es cierto amigo(juan, pedro)? Posibles respuestas: [si, no, porque] (seguidas de un punto): porque. === Porque: La regla r dice que probando: bueno(juan)y rico(pedro)y quiere(juan, pedro) se tiene: hereda_de(juan, pedro) IA-II CcIa Representación del conocimiento mediante reglas.42

43 Ejemplo de sesión (II): Repito: Es cierto amigo(juan, pedro)? Posibles respuestas: [si, no, porque] (seguidas de un punto): si. ****** Se ha encontrado respuesta afirmativa: Opciones: ) Ver la prueba completa y continuar ) Navegar dentro de la prueba ) Continuar. Posibles respuestas: [, 2, 3] (seguidas de un punto):. ****** Prueba encontrada: por h5, sabemos que bueno(juan), y por h2, sabemos que rico(pedro), y por usted, sabemos que amigo(juan, pedro), luego, segun r2 se concluye que quiere(juan, pedro), luego, segun r se concluye que hereda_de(juan, pedro), X = juan Y = pedro Yes IA-II CcIa Representación del conocimiento mediante reglas.43

44 Ejemplo de sesión (III):?- se_deduce(hereda_de(x, Y)). ****** Se ha encontrado respuesta afirmativa: Opciones: ) Ver la prueba completa y continuar ) Navegar dentro de la prueba ) Continuar. Posibles respuestas: [, 2, 3] (seguidas de un punto): 2. Por r, hereda_de(juan, pedro) es consecuencia de: : bueno(juan) 2: rico(pedro) 3: quiere(juan, pedro) Posibles respuestas: [seguir,, 2, 3] (seguidas de un punto): 3. Por r2, quiere(juan, pedro) es consecuencia de: : amigo(juan, pedro) Posibles respuestas: [seguir, arriba, ] (seguidas de un punto):. amigo(juan, pedro) esta afirmado por usted. Posibles respuestas: [seguir, arriba] (seguidas de un punto): seguir. Es cierto amigo(juan, padre(padre(juan)))? Posibles respuestas: [si, no, porque] (seguidas de un punto): no. IA-II CcIa Representación del conocimiento mediante reglas.44

45 Ejemplo de sesión (IV): ****** Se ha encontrado respuesta afirmativa: Opciones: ) Ver la prueba completa y continuar ) Navegar dentro de la prueba ) Continuar. Posibles respuestas: [, 2, 3] (seguidas de un punto):. ****** Prueba encontrada: por h5, sabemos que bueno(juan), y por h3, sabemos que rico(padre(padre(juan))), y por h, sabemos que progenitor(padre(padre(juan)), padre(juan)), y por h, sabemos que progenitor(padre(juan), juan), luego, segun r5 se concluye que antecesor(padre(padre(juan)), juan), luego, segun r3 se concluye que quiere(juan, padre(padre(juan))), luego, segun r se concluye que hereda_de(juan, padre(padre(juan))), X = juan Y = padre(padre(juan)) Yes?- IA-II CcIa Representación del conocimiento mediante reglas.45

46 Deducción hacia adelante En contraposición al encadenamiento hacia atrás, podemos aplicar la regla de Modus Ponens Generalizado hacia adelante A partir de los hechos, y usando las reglas, obtener nuevos hechos De la misma manera, los hechos deducidos permiten obtener nuevos hechos Problemas adecuados para razonar hacia adelante Monitorización y control Problemas dirigidos por los datos Sin necesidad de explicación Problemas adecuados para razonar hacia atrás Diagnóstico Problemas dirigidos por los objetivos Interacción/Explicación al usuario IA-II CcIa Representación del conocimiento mediante reglas.46

47 Algoritmo de encadenamiento hacia adelante FUNCIÓN ENCADENAMIENTO-HACIA-ADELANTE(BC,P). Hacer DEDUCIDOS igual a vacío 2. Para cada elemento Q P,..., P n en BC (renombrado con variables nuevas) 2. Para cada θ tal que θ(p i ) = θ(p i ) para ciertos P i en BC, i=,...,n, 2.. Hacer Q =θ(q) 2..2 Si Q (o un renombrado de Q ) no está ni en BC ni en DEDUCIDOS, a~nadir Q a DEDUCIDOS 2..3 Si σ=unifica(p,q ) es distinto de FALLO, devolver σ y terminar 3. Si DEDUCIDOS es vacío, devolver FALLO y terminar. en caso contrario, a~nadir DEDUCIDOS a BC y volver al punto IA-II CcIa Representación del conocimiento mediante reglas.47

48 Algoritmo de encadenamiento hacia adelante ENCADENAMIENTO-HACIA-ADELANTE(BC,hereda_de(x,y)) H6 antecesor(padre(x), x) R4 {x padre(x), y x} H H7 antecesor(padre(padre(x)), x) R5 {x padre(padre(x2)), z padre(x2), y x2}, H {x padre(x2)}, H {x x2} H8 quiere(juan, Pedro) R2 {x Juan, y Pedro} H4 H9 quiere(x, padre(x)) R3 {x x, y padre(x)} H6 H0 quiere(x, padre(padre(x))) R3 {x x, y padre(padre(x))} H9 H hereda_de(juan, Pedro) R {x Juan, y Pedro}, H5, H2, H8 θ = {x Juan, y Pedro} H2 hereda_de(juan, padre(padre(juan))) R {x Juan, y padre(padre(juan))}, H5, H3, H0 {x Juan} θ = {x Juan, y padre(padre(juan))} IA-II CcIa Representación del conocimiento mediante reglas.48

49 Sistemas de producción Paradigma de los sistemas de producción Hechos: pieza básica de información Reglas: describen el comportamiento del programa en función de la información existente Modelo de hecho: <índice>: <símbolo>(<elemento>*) Modelo de regla: <Nombre>: SI <Condición>* ENTONCES <Acción>* IA-II CcIa Representación del conocimiento mediante reglas.49

50 Elementos de una regla Condiciones acerca de: Existencia de cierta información: <patrón de hecho>* Relaciones entre datos Acciones: Incluir nueva información: INCLUIR: <hecho>* Eliminar información: ELIMINAR: <hecho>* IA-II CcIa Representación del conocimiento mediante reglas.50

51 Ejemplo de sistema de producción (I) Base de Hechos: : Tiene(pelos) 2: Tiene(pezu~nas) 3: Tiene(rayas_negras) Base de Reglas: Jirafa: SI Es(ungulado) Tiene(cuello_largo) ENTONCES INCLUIR: Es(jirafa) Cebra: SI Es(ungulado) Tiene(rayas_negras) ENTONCES INCLUIR: Es(cebra) IA-II CcIa Representación del conocimiento mediante reglas.5

52 Ejemplo de sistema de producción (II) Ungulado_: SI Es(mamífero) Tiene(pezu~nas) ENTONCES INCLUIR: Es(ungulado) Ungulado_2: SI Es(mamífero) Rumia() ENTONCES INCLUIR: Es(ungulado) Mamífero_: SI Tiene(pelos) ENTONCES INCLUIR: Es(mamífero) Mamífero_2: SI Da(leche) ENTONCES INCLUIR: Es(mamífero) IA-II CcIa Representación del conocimiento mediante reglas.52

53 Razonamiento hacia adelante Componentes: Base de hechos (memoria de trabajo). Dinámica Base de reglas. Estática Motor de inferencia (produce los cambios en la memoria de trabajo) Elementos adicionales: Algoritmo para calcular eficientemente las reglas cuyas condiciones se satisfacen en cada momento (equiparación de patrones) Método para decidir en cada momento qué regla de las activadas debe actuar (resolución de conflictos) IA-II CcIa Representación del conocimiento mediante reglas.53

54 Ciclo de ejecución Construcción de la agenda: Conjunto de activaciones Activación: regla para la que existen hechos que satisfacen sus condiciones (valores de comodines) Selección de una regla cuya activación se encuentra en la agenda Se llevan a cabo las acciones de la regla El ciclo se repite hasta que no existen más activaciones en la agenda IA-II CcIa Representación del conocimiento mediante reglas.54

55 Ciclo de ejecución Reglas Hechos Equiparacion de patrones Agenda Resolucion de conflictos Disparo IA-II CcIa Representación del conocimiento mediante reglas.55

56 Resolución de conflictos Estrategias más comunes: Una activación sólo se produce una vez La primera de la pila Aleatorio Más específica (número de condiciones) Menos utilizada Mejor (pesos) IA-II CcIa Representación del conocimiento mediante reglas.56

57 Tabla de seguimiento I Base de Hechos E Agenda D Tiene(pelos) 0 Mamífero : 2 Tiene(pezu~nas) 0 3 Tiene(rayas negras) 0 4 Es(mamífero) Ungulado : 4,2 2 5 Es(ungulado) 2 Cebra: 5,3 3 6 Es(cebra) 3 IA-II CcIa Representación del conocimiento mediante reglas.57

58 Comodines: anónimos, simples y múltiples Comodín simple:?x,?y,?elemento,? Comodín múltiple: $?x, $?y, $?elemento, $? Base de Hechos: : Lista(Mar Ana Luis Pepe) 2: Alumno(Mar) 3: Alumno(Ana 2 3 9) 4: Alumno(Luis) 5: Alumno(Pepe 3) Base de Reglas: Elimina: SI Alumno(?n? $?) Lista($?i?n $?f) ENTONCES ELIMINAR: Lista(?i?n?f) INCLUIR: Lista(?i?f) IA-II CcIa Representación del conocimiento mediante reglas.58

59 Tabla de seguimiento Base de Hechos E S Agenda D S : Lista(Mar Ana Luis Pepe) 0 2: Alumno(Mar) 0 3: Alumno(Ana 2 3 9) 0 Elimina: 3, (?n Ana?i Mar?f Luis Pepe) 4: Alumno(Luis) 0 5: Alumno(Pepe 3) 0 Elimina: 5, (?n Pepe?i Mar Ana Luis?f ) 6: Lista(Mar Ana Luis) 2 Elimina: 3,6 (?n Ana?i Mar?f Luis) 2 7: Lista(Mar Luis) 2 IA-II CcIa Representación del conocimiento mediante reglas.59

60 Mundo de los bloques Base de Hechos: : Pila(a b c) 2: Pila(d e f) 3: Objetivo(c sobre e) Base de Reglas: Mover_sobre_bloque: SI Objetivo(?bl sobre?bl2) Pila(?bl $?r) Pila(?bl2 $?r2) ENTONCES ELIMINAR: Objetivo(?bl sobre?bl2) Pila(?bl?r) Pila(?bl2?r2) INCLUIR: Pila(?r) Pila(?bl?bl2?r2) Mover_al_suelo: SI Objetivo(?bl sobre suelo) Pila(?bl $?r) ENTONCES ELIMINAR: Objetivo(?bl sobre suelo) Pila(?bl?r) INCLUIR: Pila(?r) Pila(?bl) IA-II CcIa Representación del conocimiento mediante reglas.60

61 Mundo de los bloques Liberar_bloque: SI Objetivo(?bl sobre?) Pila(?cima $??bl $?) ENTONCES INCLUIR: Objetivo(?cima sobre suelo) Liberar_bloque_base: SI Objetivo(? sobre?bl) Pila(?cima $??bl $?) ENTONCES INCLUIR: Objetivo(?cima sobre suelo) IA-II CcIa Representación del conocimiento mediante reglas.6

62 Tabla de seguimiento Base de Hechos E S Agenda D : Pila(a b c) 0 2 2: Pila(d e f) 0 6 3: Objetivo(c sobre e) 0 7 Liberar bloque base: 3,2 (?bl e?cima d) 5 Liberar bloque: 3, (?bl c?cima a) 4: Objetivo(a sobre suelo) 2 Mover al suelo: 4, (?bl a?r b c) 2 5: Pila(b c) 2 4 Liberar bloque: 3,5 (?bl c?cima b) 3 6: Pila(a) 2 7: Objetivo(b sobre suelo) 3 4 Mover al suelo: 7,5 (?bl b?r c) 4 8: Pila(c) 4 7 9: Pila(b) 4 0: Objetivo(d sobre suelo) 5 6 Mover al suelo 0,2 (?bl d?r e f) 6 : Pila(e f) 6 7 Mover sobre bloque: 3,8, 7 (?bl c?bl2 e?r?r2 f) 2: Pila(d) 3: Pila() 7 4: Pila(c e f) 7 IA-II CcIa Representación del conocimiento mediante reglas.62

63 Equiparación de patrones Algoritmo de fuerza bruta Por cada regla Ri hacer Por cada patrón de hecho Pj en Ri hacer Por cada hecho Hk en la memoria de trabajo hacer Comprobar si Pj equipara con Hk Si todos los patrones tienen equiparación incluir en la agenda todas las posibles activaciones de la regla Ri IA-II CcIa Representación del conocimiento mediante reglas.63

64 El algoritmo RETE Optimiza la construcción de la agenda en cada vuelta del ciclo de ejecución. El disparo de una regla produce, generalmente, pocos cambios en la memoria de trabajo. Un mismo patrón de hecho suele utilizar en varias reglas. Construye y mantiene el grafo enraizado, dirigido y acíclico Rete: Nodos: Representan patrones de hechos (menos la raíz) Caminos: Representan las condiciones de una regla (desde la raiz) Cada nodo contiene información acerca de los hechos que equiparan con los patrones de los nodos desde la raíz (incluido él mismo), junto con las asociaciones necesarias de las distintas variables. Al incluir/eliminar un hecho de la memoria de trabajo se envía la información desde la raíz, se propaga hacia las hojas y se modifica la información de los nodos de manera adecuada. IA-II CcIa Representación del conocimiento mediante reglas.64

65 RETE R: INCLUIR: H(2 ) SI H(?x?y) tal que?y > 3 H(2 4) H2(?y?z?z) H2(4 3 3) ENTONCES... H2(5 9 9) Entrada H H2?y (2 el.) > 3?z (2 el.) =?z (3 el.) :?x = 2,?y = 4 2:?y = 4,?z = 3 3:?y = 5,?z = 9?y (2 el.) =?y ( el.),2:?x = 2,?y = 4,?z = 3 activar R,2:?x = 2,?y = 4,?z = 3 IA-II CcIa Representación del conocimiento mediante reglas.65

66 RETE R2 INCLUIR: H3(3 8) SI H2(?y?z?z) H3(9) H3(?z $?) ENTONCES... Entrada H H2 H3?y (2 el.) > 3?z (2 el.) =?z (3 el.) :?x = 2,?y = 4 2:?y = 4,?z = 3 3:?y = 5,?z = 9?y (H) =?y (H2)?z (H2) =?z (H3),2:?x = 2,?y = 4,?z = 3 4:?z = 3. 4:?z = 9. 2,4:?y = 4,?z = 3. 3,5:?y = 5,?z = 9. activar R,2:?x = 2,?y = 4,?z = 3 activar R2 2,4:?y = 4,?z = 3. 3,5:?y = 5,?z = 9. IA-II CcIa Representación del conocimiento mediante reglas.66

67 Clips CLIPS C Language Integrated Production Systems Lenguaje basado en reglas de producción. Desarrollado en el Johnson Space Center de la NASA. Relacionado con OPS5 y ART Características: Conocimiento: Reglas, objetos y procedimental Portabilidad: implementado en C Integración y Extensibilidad: Con programas en C, Java, FORTRAN, ADA... Verificación y Validación Documentación Bajo coste: software libre IA-II CcIa Representación del conocimiento mediante reglas.67

68 Bibliografía Russel, S. y Norvig, P. Artificial Intelligence: A Modern Approach (2nd edition) (Prentice-Hall, 2003) Giarrantano, J.C. y Riley, G. Expert Systems Principles and Programming (3 ed.) (PWS Pub. Co., 998) Lucas, P. y Van Der Gaag, L. Pinciples of Expert systems (Addison Wesley Publishers Co., 99) Curso Lógica Informática , Curso Programación Declarativa , IA-II CcIa Representación del conocimiento mediante reglas.68

69 Inteligencia Artificial II Curso Tema (anexo): SBC en Prolog Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla IA-II CcIa Representación del conocimiento mediante reglas.69

70 Un pequeño sistema basado en el conocimiento: sbc.pl (I) % ============================================ % sbc.pl % Un peque~no sistema basado en el conocimiento % ============================================ %%%%%%%%%%% Representacion del conocimiento % La representacion interna de una regla debe ser: % % # % / \ % / \ % Id entonces % / \ % / \ % si Afirmacion % % Cond % Cond puede ser una combinacion, usando o o y, de hechos (la disyuncion con prioridad mayor). IA-II CcIa Representación del conocimiento mediante reglas.70

71 Un pequeño sistema basado en el conocimiento: sbc.pl (II) % Ademas los hechos se deben representar internamente como: % % hecho % / \ % / \ % Id Afirmacion :- op(875, xfx, hecho). :- op(875, xfx, #). :- op(825, fx, si). :- op(850, xfx, entonces). :- op(800, xfy, o). % Asociatividad a la derecha :- op(775, xfy, y). % Asociatividad a la derecha %%%%%%%%%%%%%%%%%%%% Representación de las pruebas % P es cierto esta_afirmado_por H (H es un número de hecho o usted). % P es_consecuencia_de R porque Prueba. :- op(850, xfx, es_consecuencia_de). :- op(850, xfx, esta_afirmado_por). :- op(800, xfx, porque). :- op(750, xfx, es). :- dynamic respuesta/2. IA-II CcIa Representación del conocimiento mediante reglas.7

72 Un pequeño sistema basado en el conocimiento: sbc.pl (III) %%%%%%%%%%%%% Motor de inferencia se_deduce(p) :- se_deduce(p,[],prueba), menu, recoge_respuesta(leida,[,2,3]), (Leida=,escribe_prueba(Prueba); Leida=2,navega(Prueba,0); Leida=3). se_deduce(p,_,p es cierto esta_afirmado_por F) :- F hecho P. se_deduce(p,t,p es cierto es_consecuencia_de R porque Prueba ) :- R # si C entonces P, se_deduce(c,[r # si C entonces P T],Prueba). se_deduce(p y P2,T,Prueba y Prueba2) :- se_deduce(p,t,prueba), se_deduce(p2,t,prueba2). IA-II CcIa Representación del conocimiento mediante reglas.72

73 Un pequeño sistema basado en el conocimiento: sbc.pl (IV) se_deduce(p o _, T,Prueba) :- se_deduce(p,t,prueba). se_deduce(_ o P2, T,Prueba2) :- se_deduce(p2,t,prueba2). se_deduce(p,_,p es cierto esta_afirmado_por usted) :- preguntable(p), respuesta(p,r), % sólo habra si o no.!,r=si. se_deduce(p,t,p es cierto esta_afirmado_por usted) :- preguntable(p), pregunta(p,t,r), assert(respuesta(p,r)), R=si. %%%%%%%%%%%%% Menú final menu :- nl,nl,write_ln( ****** Se ha encontrado respuesta afirmativa: ), write_ln( Opciones: ), write_ln( ) Ver la prueba completa y continuar. ), write_ln( ) Navegar dentro de la prueba. ), write_ln( ) Continuar. ). IA-II CcIa Representación del conocimiento mediante reglas.73

74 Un pequeño sistema basado en el conocimiento: sbc.pl (V) %%%%%%%%%%%% Auxiliares recoge_respuesta(r,l) :- write( Posibles respuestas: ),write(l), write( (seguidas de un punto): ), read(r),member(r,l),!. recoge_respuesta(r,l) :- nl,write_ln( Respuesta no valida. ), recoge_respuesta(r,l). escribe_lista([]). escribe_lista([x L]) :- write(x), escribe_lista(l). IA-II CcIa Representación del conocimiento mediante reglas.74

75 Un pequeño sistema basado en el conocimiento: sbc.pl (VI) %%%%%%%%%%%% Escritura de la prueba escribe_prueba(prueba) :- nl,write_ln( ****** Prueba encontrada: ),nl, escribe_prueba_aux(0,prueba). escribe_prueba_aux(n,a es cierto es_consecuencia_de B porque Prueba):- M is N+2, escribe_prueba_aux(m,prueba),tab(n), escribe_lista([ luego, segun,b, se concluye que,a,, ]),nl. escribe_prueba_aux(n,a y B):- escribe_prueba_aux(n,a),tab(n),write_ln( y ), escribe_prueba_aux(n,b). escribe_prueba_aux(n,p es cierto esta_afirmado_por F):- tab(n),escribe_lista([ por,f,, sabemos que,p,, ]),nl. IA-II CcIa Representación del conocimiento mediante reglas.75

76 Un pequeño sistema basado en el conocimiento: sbc.pl (VII) %%%%%%%%%%%%%% Preguntas al usuario. Preguntas porque pregunta(p,t,respuesta) :- nl,escribe_lista([ Es cierto,p,? ]),nl, recoge_respuesta(leido,[si,no,porque]), gestiona_respuesta_porque(p,t,respuesta,leido). gestiona_respuesta_porque(_,_,si,si). gestiona_respuesta_porque(_,_,no,no). gestiona_respuesta_porque(p,[r Reglas],Respuesta,porque) :- escribe_regla(r),nl,write( Repito: ), pregunta(p,reglas,respuesta). gestiona_respuesta_porque(p,[],respuesta,porque) :- write_ln( Porque esa fue su pregunta!! ),write( Repito: ), pregunta(p,[],respuesta). escribe_regla(r # si C entonces P) :- nl,write_ln( === Porque: ), escribe_lista([ La regla,r, dice que probando: ]),nl, write_ln(c), % escribe_condicion(c), cuando se mejore el de abajo. write_ln( se tiene: ),write_ln(p). IA-II CcIa Representación del conocimiento mediante reglas.76

77 Un pequeño sistema basado en el conocimiento: sbc.pl (VIII) %%%%%%%%%%%%%% Navegación por el árbol. navega(p es cierto esta_afirmado_por usted,nivel) :-!, escribe_lista([p, esta afirmado por usted. ]),nl, opciones_no_numericas(nivel,opciones), recoge_respuesta(opcion,opciones), gestiona_respuesta_navega(opcion,nivel,_,_). navega(p es cierto esta_afirmado_por F,Nivel) :-!,escribe_lista([p, esta afirmado por el hecho,f]),nl, opciones_no_numericas(nivel,opciones), recoge_respuesta(opcion,opciones), gestiona_respuesta_navega(opcion,nivel,_,_). navega(a es cierto es_consecuencia_de B porque Pruebas,Nivel) :-!, escribe_lista([ Por,B,,,A, es consecuencia de: ]),nl, escribe_cuerpo(pruebas,,max), Max is Max -, findall(n,between(,max,n),l), opciones_no_numericas(nivel,m), append(m,l,opciones), recoge_respuesta(opcion,opciones), (A es cierto es_consecuencia_de B porque Pruebas) = Aux, gestiona_respuesta_navega(opcion,nivel,pruebas,aux). IA-II CcIa Representación del conocimiento mediante reglas.77

78 Un pequeño sistema basado en el conocimiento: sbc.pl (IX) gestiona_respuesta_navega(arriba,_,_,_):-!. gestiona_respuesta_navega(seguir,_,_,_):-!,fail. gestiona_respuesta_navega(n,nivel,pruebas,p) :- n_esima_prueba(pruebas,n,pn), Nivel is Nivel+, navega(pn,nivel), navega(p,nivel). opciones_no_numericas(0,[seguir]):-!. opciones_no_numericas(_,[seguir,arriba]). escribe_cuerpo(p y P2,N,N3) :-!, escribe_cuerpo(p,n,n2), escribe_cuerpo(p2,n2,n3). escribe_cuerpo(p,n,n) :- tab(3), escribe_lista([n, : ]), escribe_lo_probado(p),nl, N is N+. escribe_lo_probado(p es cierto esta_afirmado_por _):- write(p). escribe_lo_probado(p es cierto es_consecuencia_de _) :- write(p). n_esima_prueba((p y P2) y P3,N,P) :-!,n_esima_prueba(p y P2 y P3,N,P). n_esima_prueba(p y _,,P):-!. n_esima_prueba(_ y P2,N,P) :-!, N is N-, n_esima_prueba(p2,n,p). n_esima_prueba(p,,p). IA-II CcIa Representación del conocimiento mediante reglas.78

Representación del conocimiento mediante reglas

Representación del conocimiento mediante reglas C. Graciani Díaz F. J. Martín Mateos J. L. Ruiz Reina Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Sistemas basados en el conocimiento Sistemas basados en el conocimiento:

Más detalles

Implementación Prolog de un SBC basado en reglas (2011/2012)

Implementación Prolog de un SBC basado en reglas (2011/2012) Luis Valencia Cabrera (coordinador) lvalencia@us.es (http://www.cs.us.es/~lvalencia) Manuel García-Quismondo mgarciaquismondo@us.es (http://www.cs.us.es/~mgarcia) Ciencias de la Computacion e IA (http://www.cs.us.es/)

Más detalles

Tema 4: Representación del conocimiento mediante reglas

Tema 4: Representación del conocimiento mediante reglas Introducción a la Ingeniería del Conocimiento Curso 2006 2007 Tema 4: Representación del conocimiento mediante reglas Miguel A. Gutiérrez Naranjo Dpto. de Ciencias de la Computación e Inteligencia Artificial

Más detalles

Representación del conocimiento mediante reglas (2010/2011)

Representación del conocimiento mediante reglas (2010/2011) Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/~lvalencia) Ciencias de la Computacion e IA (http://www.cs.us.es/) Representación del conocimiento mediante reglas (2010/2011) Universidad de

Más detalles

Tema 2: Representación del conocimiento basada en reglas

Tema 2: Representación del conocimiento basada en reglas Inteligencia Artificial II Curso 2004 2005 Tema 2: Representación del conocimiento basada en reglas José A. Alonso Jiménez Francisco Jesús Martín Mateos José Luis Ruiz Reina Dpto. de Ciencias de la Computación

Más detalles

Sistemas de producción: CLIPS

Sistemas de producción: CLIPS Francisco J. Martín Mateos Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Sistemas de producción: Ejemplo Reglas para identificar un animal Si el animal tiene pelos entonces

Más detalles

Representación del conocimiento mediante reglas (2011/2012)

Representación del conocimiento mediante reglas (2011/2012) Luis Valencia Cabrera (coordinador) lvalencia@us.es (http://www.cs.us.es/~lvalencia) Manuel García-Quismondo mgarciaquismondo@us.es (http://www.cs.us.es/~mgarcia) Ciencias de la Computacion e IA (http://www.cs.us.es/)

Más detalles

Tema 1: El sistema deductivo de Prolog

Tema 1: El sistema deductivo de Prolog Programación lógica Curso 2004 05 Tema : El sistema deductivo de Prolog José A. Alonso Jiménez Jose-Antonio.Alonso@cs.us.es http://www.cs.us.es/ jalonso Dpto. de Ciencias de la Computación e Inteligencia

Más detalles

Lógica informática ( )

Lógica informática ( ) 1 / 37 Lógica informática (2012 13) Tema 5: Resolución proposicional José A. Alonso Jiménez Andrés Cordón Franco María J. Hidalgo Doblado Grupo de Lógica Computacional Departamento de Ciencias de la Computació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

Tema 2: Introducción a los sistemas basados en el conocimiento

Tema 2: Introducción a los sistemas basados en el conocimiento Introducción a la Ingeniería del Conocimiento Curso 2003 2004 Tema 2: Introducción a los sistemas basados en el conocimiento José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Dpto. de Ciencias de la Computación

Más detalles

Tema 2: Lógica proposicional: Sintaxis y semántica

Tema 2: Lógica proposicional: Sintaxis y semántica Razonamiento Automático Curso 200 2002 Tema 2: Lógica proposicional: Sintaxis y semántica José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Dpto. de Ciencias de la Computación e Inteligencia Artificial

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

Lógica informática ( )

Lógica informática ( ) Lógica informática (2005 06) Tema 1: Sintaxis y semántica de la lógica proposicional José A. Alonso Jiménez Grupo de Lógica Computacional Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad

Más detalles

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

Tema 4: (Tecnologías Informáticas) Curso Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Tema 4: Proposicional Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica Informática (Tecnologías Informáticas) Curso 2015 16 Contenido Los tableros semánticos proporcionan

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

Lógica informática ( )

Lógica informática ( ) 1 / 34 Lógica informática (2013 14) Tema 1: Sintaxis y semántica de la lógica proposicional José A. Alonso Jiménez Andrés Cordón Franco María J. Hidalgo Doblado Grupo de Lógica Computacional Departamento

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

Formalismos de Representación de Conocimientos

Formalismos de Representación de Conocimientos Formalismos de Representación de Conocimientos Oscar Corcho García ocorcho@fi.upm.es Despacho 2107 Departamento de Inteligencia Artificial Facultad de Informática Universidad Politécnica de Madrid Campus

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

Tema 3: Técnicas básicas de búsqueda para la resolución de problemas

Tema 3: Técnicas básicas de búsqueda para la resolución de problemas Tema 3: Técnicas básicas de búsqueda para la resolución de problemas José Luis Ruiz Reina José Antonio Alonso Franciso J. Martín Mateos Departamento de Ciencias de la Computación e Inteligencia Artificial

Más detalles

Lógica y Programación

Lógica y Programación Lógica y Programación Resolución proposicional Antonia M. Chávez, Agustín Riscos, Carmen Graciani Dpto. Ciencias de la Computacion e Inteligencia Artificial Universidad de Sevilla Introducción Idea básica

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

Tema 6: Representación lógica del conocimiento

Tema 6: Representación lógica del conocimiento Inteligencia Artificial Curso 999 2000 Tema 6: Representación lógica del conocimiento José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Francisco J. Martín Mateos Dpto. de Ciencias de la Computación e

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

Representación de Conocimientos

Representación de Conocimientos Representación de Conocimientos Asunción Gómez-Pérez asun@fi.upm.es Despacho 2104 Departamento de Inteligencia Artificial Facultad de Informática Universidad Politécnica de Madrid Campus de Montegancedo

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 2: Introducción a los sistemas basados en el conocimiento

Tema 2: Introducción a los sistemas basados en el conocimiento Introducción a la Ingeniería del Conocimiento Curso 2006 2007 Tema 2: Introducción a los sistemas basados en el conocimiento Miguel A. Gutiérrez Naranjo Dpto. de Ciencias de la Computación e Inteligencia

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

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

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

Inteligencia Artificial. Sistemas Expertos y CLIPS

Inteligencia Artificial. Sistemas Expertos y CLIPS Inteligencia Artificial Sistemas Expertos y CLIPS Prof. Wílmer Pereira Sistema Experto Programa que explota unidades dispersas de conocimiento que constituyen el dominio de experticia de un especialista

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

Tema 1: Sintaxis y Semántica de la Lógica Proposicional

Tema 1: Sintaxis y Semántica de la Lógica Proposicional Tema 1: Sintaxis y Semántica de la Lógica Proposicional Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Lógica y Computabilidad Curso 2010 11 LC, 2010 11 Lógica Proposicional

Más detalles

SISTEMAS INTELIGENTES

SISTEMAS INTELIGENTES SISTEMAS INTELIGENTES T6: Sistemas Basados en Reglas {jdiez, juanjo} @ aic.uniovi.es Introducción Definición: sistemas diseñados para actuar como un experto humano en un dominio o área de conocimiento

Más detalles

Tema 10: Conceptos Metalógicos

Tema 10: Conceptos Metalógicos Facultad de Informática Grado en Ingeniería Informática Lógica PARTE 2: LÓGICA DE PRIMER ORDEN Tema 10: Conceptos Metalógicos Profesor: Javier Bajo jbajo@fi.upm.es Madrid, España 12/11/2012 Introducción

Más detalles

Tema 4: Redes semánticas y marcos

Tema 4: Redes semánticas y marcos Inteligencia Artificial 2 Curso 2002 2003 Tema 4: Redes semánticas y marcos José A. Alonso Jiménez Francisco J. Martín Mateos José L. Ruiz Reina Dpto. de Ciencias de la Computación e Inteligencia Artificial

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

Tema 14: Sustitución y Unificación

Tema 14: Sustitución y Unificación Facultad de Informática Grado en Ingeniería Informática Lógica PARTE 4: RESOLUCIÓN Tema 14: Sustitución y Unificación Profesor: Javier Bajo jbajo@fi.upm.es Madrid, España 04/12/2012 Introducción. 2/12

Más detalles

ASIGNATURA: INTELIGENCIA ARTIFICIAL

ASIGNATURA: INTELIGENCIA ARTIFICIAL ASIGNATURA: INTELIGENCIA ARTIFICIAL Código: 33-505 Régimen: cuatrimestral Horas reloj semanales: 4 Horas teóricas: 26 Horas prácticas: 34 Carrera: Sistemas Año del programa: 2016 FUNDAMENTOS: La evolución

Más detalles

Tema 2: Métodos de Deducción para la Lógica Proposicional

Tema 2: Métodos de Deducción para la Lógica Proposicional Tema 2: Métodos de Deducción para la Lógica Proposicional Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica y Computabilidad Curso 2010 11 LC, 2010 11 Métodos de Deducción

Más detalles

Lógica de proposiciones (5)

Lógica de proposiciones (5) Lógica de proposiciones (5) Fundamentos de Informática I I..I. Sistemas (2005-06) César Llamas Bello Universidad de Valladolid 1 Lógica Índice Lógica proposicional ecuacional Lógica: semántica Semántica

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 2014 15 Contenido Sea Γ un conjunto de fórmulas

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

Sistemas de produción. Sistemas de Producción. El motor de inferencias. Notas

Sistemas de produción. Sistemas de Producción. El motor de inferencias. Notas Sistemas de Producción Introducción Las representación mediante formalismos lógicos puede verse de forma procedimental Describimos cuales son los pasos para resolver un problema como una cadena de deducciones

Más detalles

Sistemas de Producción

Sistemas de Producción Introducción Sistemas de Producción Las representación mediante formalismos lógicos puede verse de forma procedimental Describimos cuales son los pasos para resolver un problema como una cadena de deducciones

Más detalles

Búsqueda en espacio de estados

Búsqueda en espacio de estados Búsqueda en espacio de estados Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial CCIA, US Búsqueda en espacio de estados IA 1 / 35 Metodología

Más detalles

Proyecto: Programación Declarativa: Lenguaje Prolog

Proyecto: Programación Declarativa: Lenguaje Prolog Facultad de Ciencias de la Administración Licenciatura en Sistemas Proyecto: Programación Declarativa: Lenguaje Prolog Materia Optativa para Régimen de Créditos Profesores: Lic. Lidia Graciela Denegri

Más detalles

Tema 2: Métodos de Deducción para la Lógica Proposicional

Tema 2: Métodos de Deducción para la Lógica Proposicional Tema 2: Métodos de Deducción para la Lógica Proposicional Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica y Computabilidad Curso 2006 07 LC, 2006 07 Métodos de Deducción

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

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

Búsqueda en espacio de estados

Búsqueda en espacio de estados Búsqueda en espacio de estados Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Abstracción Problema Representación como espacio de estados Implementación del

Más detalles

Formas clausulares Teoría de Herbrand Algoritmo de Herbrand Semidecidibilidad. Teoría de Herbrand. Lógica Computacional

Formas clausulares Teoría de Herbrand Algoritmo de Herbrand Semidecidibilidad. Teoría de Herbrand. Lógica Computacional Teoría de Herbrand Lógica Computacional Departamento de Matemática Aplicada Universidad de Málaga Curso 2005/2006 Contenido 1 Formas clausulares Refutación y formas clausulares 2 Teoría de Herbrand Universo

Más detalles

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR INGENIERÍA EN TECNOLOGÍA COMPUTACIONAL. ASIGNATURA Inteligencia Artificial II. Ingeniería Aplicada

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR INGENIERÍA EN TECNOLOGÍA COMPUTACIONAL. ASIGNATURA Inteligencia Artificial II. Ingeniería Aplicada UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR DEPARTAMENTO ACADÉMICO DE SIS COMPUTACIONALES INGENIERÍA EN TECNOLOGÍA COMPUTACIONAL ASIGNATURA Inteligencia Artificial II ÁREA DE Ingeniería Aplicada CONOCIMIENTO

Más detalles

Tema 4: Resolución proposicional

Tema 4: Resolución proposicional Razonamiento Automático Curso 2000 200 Tema 4: Resolución proposicional José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla

Más detalles

Repaso de Lógica de Primer Orden

Repaso de Lógica de Primer Orden Repaso de Lógica de Primer Orden IIC3260 IIC3260 Repaso de Lógica de Primer Orden 1 / 29 Lógica de primer orden: Vocabulario Una fórmula en lógica de primer orden está definida sobre algunas constantes

Más detalles

Tema 9: Resolución en lógica de primer orden

Tema 9: Resolución en lógica de primer orden de Tema 9: en lógica de no Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica Informática (Tecnologías Informáticas) Curso 2016 17 Contenido de no no Introducción Por

Más detalles

Práctica 1: Introducción a CLIPS

Práctica 1: Introducción a CLIPS C. Graciani Díaz F. J. Martín Mateos J. L. Ruiz Reina Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla CLIPS CLIPS C Language Integrated Production Systems http://clipsrules.sourceforge.net

Más detalles

Arquitectura Sistema Experto

Arquitectura Sistema Experto Universidad Nacional Mayor de San Marcos Facultad de Ciencias Matemáticas EAP. Computación Científica Arquitectura Sistema Experto Curso: Inteligencia Artificial Prof. Oscar Benito Pacheco Tópicos La Arquitectura

Más detalles

Tema 6: Teoría Semántica

Tema 6: Teoría Semántica Tema 6: Teoría Semántica Sintáxis Lenguaje de de las las proposiciones Lenguaje de de los los predicados Semántica Valores Valores de de verdad verdad Tablas Tablas de de verdad verdad Tautologías Satisfacibilidad

Más detalles

Lógica Proposicional: Deducciones formales

Lógica Proposicional: Deducciones formales Lógica Proposicional: Deducciones formales Pablo Barceló P. Barceló Resolución Proposicional - CC52A 1 / 24 La noción de consecuencia lógica La noción de consecuencia es fundamental para cualquier lenguaje,

Más detalles

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL MÓDULO 6- CÁLCULO DE PREDICADOS Y LÓGICA DE PRIMER ORDEN

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL MÓDULO 6- CÁLCULO DE PREDICADOS Y LÓGICA DE PRIMER ORDEN INTRODUCCION A LA INTELIGENCIA ARTIFICIAL MÓDULO 6- CÁLCULO DE PREDICADOS Y LÓGICA DE PRIMER ORDEN Referencias: Inteligencia Artificial Russell and Norvig Cap.6. Artificial Intellingence Nils Nilsson Ch.4

Más detalles

Práctica 2 de IA /2012. LÓGICA Fecha publicación: 26 de octubre de 2011 Duración: 3 sesiones de laboratorio Versión: 2011/10/26

Práctica 2 de IA /2012. LÓGICA Fecha publicación: 26 de octubre de 2011 Duración: 3 sesiones de laboratorio Versión: 2011/10/26 Práctica 2 de IA - 2011/2012. LÓGICA Fecha publicación: 26 de octubre de 2011 Duración: 3 sesiones de laboratorio Versión: 2011/10/26 Forward y backward chaining en lógica proposicional En la práctica

Más detalles

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

Tema 2: (Tecnologías Informáticas) Curso Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla y Tema 2: y Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica Informática (Tecnologías Informáticas) Curso 2017 18 Contenido y En este tema presentaremos mecanismos

Más detalles

Lógica de primer orden: Repaso y notación

Lógica de primer orden: Repaso y notación Lógica de primer orden: Repaso y notación IIC3263 IIC3263 Lógica de primer orden: Repaso y notación 1 / 29 Lógica de primer orden: Vocabulario Una fórmula en lógica de primer orden está definida sobre

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

Matemáticas Discretas TC1003

Matemáticas Discretas TC1003 Matemáticas Discretas TC1003 Módulo I: Descripción Departamento de Matemáticas ITESM Módulo I: Descripción Matemáticas Discretas - p. 1/15 En esta sección veremos un poco de la historia de la Lógica: desde

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

Tema 3: Introducción a Prolog

Tema 3: Introducción a Prolog Introducción a la Inteligencia Artificial Curso 2010 2011 Tema 3: Introducción a Prolog Miguel A. Gutiérrez Naranjo Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla

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 4. PROGRAMACIÓN LÓGICA Observaciones teóricas sobre la programación lógica Definición Unificación Árboles de Búsqueda Unificación Unificación Mecanismo de unificación Las variable

Más detalles

Tema 1: Sintaxis y semántica de la lógica proposicional

Tema 1: Sintaxis y semántica de la lógica proposicional Lógica informática Curso 2003 04 Tema : Sintaxis y semántica de la lógica proposicional José A. Alonso Jiménez Andrés Cordón Franco Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad

Más detalles

Inteligencia Artificial. Sistemas Expertos. Presentado por: Marcel Castro

Inteligencia Artificial. Sistemas Expertos. Presentado por: Marcel Castro Inteligencia Artificial Sistemas Expertos Presentado por: Marcel Castro Febrero 2002 Contenido SBC y SE. Definiciones. Antecedentes Características de los SE Arquitectura Métodos de desarrollo de SE. Herramientas,

Más detalles

Aritmética y operadores (2011/2012)

Aritmética y operadores (2011/2012) Luis Valencia Cabrera (coordinador) lvalencia@us.es (http://www.cs.us.es/~lvalencia) Manuel García-Quismondo mgarciaquismondo@us.es (http://www.cs.us.es/~mgarcia) Ciencias de la Computacion e IA (http://www.cs.us.es/)

Más detalles

DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SOFTWARE

DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SOFTWARE UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SOFTWARE 1. INFORMACIÓN GENERAL

Más detalles

2.1. Introducción Lógica: Campo del conocimiento relacionado con el estudio y el análisis de los métodos de razonamiento. El razonamiento lógico es es

2.1. Introducción Lógica: Campo del conocimiento relacionado con el estudio y el análisis de los métodos de razonamiento. El razonamiento lógico es es Tema 2. Introducción a la lógica 1. Introducción 2. Lógica de proposiciones 1. Definiciones 2. Sintaxis 3. Semántica Bibliografía Matemática discreta y lógica. Grassman y Tremblay. 1997. Prentice Hall.

Más detalles

DES: Programa(s) Educativo(s): Tipo de materia: Clave de la materia:

DES: Programa(s) Educativo(s): Tipo de materia: Clave de la materia: UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: Clave: FACULTAD DE INGENIERÍA PROGRAMA DEL CURSO: PARADIGMAS DE DES: Programa(s) Educativo(s): Tipo de materia: Clave de la materia: Ingeniería Ingeniería de Software

Más detalles

Representación del conocimiento. M.I. Jaime Alfonso Reyes Cortés

Representación del conocimiento. M.I. Jaime Alfonso Reyes Cortés Representación del conocimiento M.I. Jaime Alfonso Reyes Cortés Ingeniería del conocimiento Ingeniería del conocimiento: Representación del conocimiento. El conocimiento representa la piedra angular de

Más detalles

Tema 1: Sintaxis y Semántica

Tema 1: Sintaxis y Semántica Primer Tema 1: y Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Informática (Tecnologías Informáticas) Curso 2017 18 de Primer Contenido de Primer Primer de Primer Problema

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

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS 1. ESPECIFICACIONES GENERALES

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. Formas normales en lógica de proposiciones FORMAS NORMALES. Índice. César Ignacio García Osorio Definiciones. Lógica

1. Formas normales en lógica de proposiciones FORMAS NORMALES. Índice. César Ignacio García Osorio Definiciones. Lógica Lógica Índice FORMAS NORMALES César Ignacio García Osorio 1. Formas normales en lógica de proposiciones Gracias a las leyes asociativas los paréntesis en (F (G H)) oen((f G) H) pueden eliminarse, es decir,

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 12: Aplicaciones de SBC: Decisión y metaintérpretes

Tema 12: Aplicaciones de SBC: Decisión y metaintérpretes Inteligencia Artificial 2 Curso 999 2000 Tema 2: Aplicaciones de SBC: Decisión y metaintérpretes José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Francisco J. Martín Mateos Dpto. de Ciencias de la Computación

Más detalles

Tema 3: Representación del conocimiento estructurado

Tema 3: Representación del conocimiento estructurado Inteligencia Artificial II Curso 2003 2004 Tema 3: Representación del conocimiento estructurado José A. Alonso Jiménez Carmen Graciani Díaz Francisco Jesús Martín Mateos José Luis Ruiz Reina Dpto. de Ciencias

Más detalles

Paradigmas de Programación

Paradigmas de Programación Cátedra: PARADIGMAS DE PROGRAMACION Código: K9529 Carrera: INGENIERIA EN SISTEMA DE INFORMACIÓN Plan: ORD. Nº 1150 Año: 2013 Régimen: CUATRIMESTRAL Horas semanales: 8 Programa Analítico Paradigmas de Programación

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

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

Teoría de los Lenguajes de Programación Práctica curso

Teoría de los Lenguajes de Programación Práctica curso Teoría de los Lenguajes de Programación Práctica curso 2013-2014 Índice 1. Introducción: Sumas...3 2. Enunciado de la práctica...3 2.1 Método de Resolución...3 Generación de los nodos...4 Función Principal...5

Más detalles

Lógica y Programación

Lógica y Programación Lógica y Programación Diagramas de Decisión Binarios J.-A. Alonso, F.-J. Martín-Mateos, J.-L. Ruiz-Reina Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Lógica y Programación

Más detalles

Inteligencia Artificial Arquitectura de los sistemas basados en el conocimiento

Inteligencia Artificial Arquitectura de los sistemas basados en el conocimiento Inteligencia Artificial Arquitectura de los sistemas basados en el conocimiento Primavera 2007 profesor: Luigi Ceccaroni SBCs de última generación BCs modulares y formales (ontologías) Componente auto-explicativo

Más detalles

Programación declarativa ( )

Programación declarativa ( ) 1 / 25 Programación declarativa (2007 08) Tema 7: Listas, operadores y aritmética José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla

Más detalles

UNIVERSIDAD DE ORIENTE NÚCLEOS NUEVA ESPARTA-SUCRE COMISIÓN DE CURRICULA PROGRAMA ANALÍTICO DE LA ASIGNATURA

UNIVERSIDAD DE ORIENTE NÚCLEOS NUEVA ESPARTA-SUCRE COMISIÓN DE CURRICULA PROGRAMA ANALÍTICO DE LA ASIGNATURA UNIVERSIDAD DE ORIENTE NÚCLEOS NUEVA ESPARTA-SUCRE COMISIÓN DE CURRICULA PROGRAMA ANALÍTICO DE LA ASIGNATURA NOMBRE DE LA ASIGNATURA INTRODUCCIÓN A LA INTELIGENCIA ARTIFICIAL ESCUELA Hotelería y Turismo-Nva.

Más detalles