Tema 1: Representación del conocimiento mediante reglas
|
|
- Sara Carrasco Ramos
- hace 5 años
- Vistas:
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
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:
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/)
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
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
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
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
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/)
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
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é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
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
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
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
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
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
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
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
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
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
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
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
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
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:
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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,
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
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
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
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
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
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
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)
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
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
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
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
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,
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/)
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
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.
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
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
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
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
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
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
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,
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 -
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
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
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
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
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
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
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
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
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
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.