La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tema 5- Diseño e Implementación

Presentaciones similares


Presentación del tema: "Tema 5- Diseño e Implementación"— Transcripción de la presentación:

1 Tema 5- Diseño e Implementación
Vimos cómo el IC produce el modelo de conocimiento del experto, hoy cómo se relaciona con el modelo de diseño y la implementación del SBC. Indice del tema: Arquitectura de un SBC y subsistemas típicos. Pasos de diseño Formalismos de representación del conocimiento Herramientas para la implementación de SBC

2 Modelos de KADS Modelo de aplicación Modelo de organización
Modelo de agentes Modelo de tarea Modelo de concimiento experto Modelo de cooperación Modelo conceptual Modelo de diseño

3 El modelo de diseño. Consiste en añadir detalles específicos de la implementación al modelo conceptual. Entradas Modelo de conocimiento del experto Modelo de comunicación Otros modelos. Salidas Especificación de una arquitectura del sistema. Diseño de la aplicación de acuerdo a esa arquitectura (estructuras de datos, algoritmos, lenguajes, plataformas, etc.).

4 Objetivos del modelo de diseño
Separación del análisis y la implementación Garantiza la calidad: evaluar viabilidad, costes y organización de la programación. Especificación de un sistema con transición desde los aspectos conceptuales a los de implementación: diseño de la aplicación, la arquitectura y la plataforma. Descomposición de tareas a realizar en implementación. Inclusión de requisitos del entorno, la interfaz y la interacción.

5 Principios generales de diseño
Preservar el contenido y la estructura del modelo conceptual. Minimizar la superposición Maximizar la cohesión Transparencia Capacidad auto-explicativa Reutilización de componentes de diseño o SW. Facilidad de mantenimiento y adaptación.

6 Arquitectura del sistema
Descripción del software en términos de: Descomposición en subsistemas. Elección de mecanismos de control Descomposición de los subsistemas en módulos SW. Arquitectura propuesta para los SBC construidos con KADS.

7 Pasos en el diseño del SBC
Arquitectura global Especificar plataforma Arquitectura detallada Diseño final

8 Paso 1 Especificar arquitectura global
Separar la funcionalidad del interfaz. Salidas de agentes Sensores Entradas de agentes Interfaz de usuario Controlador de entrada Vistas al exterior Aplicación

9 Subsistemas vista, control y aplicación
Vistas al exterior: multiples visualizaciones de datos y funciones, requiere mecanismos de verificación de la integridad de los objetos mostrados al usuario. Controlador de entrada: gestiona las entradas, y puede tener un reloj y agenda asociados. Aplicación: datos (conceptos y relaciones) +funciones (inferencias y tareas). Dos implementaciones: programación funcional, orientada a objetos.

10 Subsistema aplicación visto de forma orientada a objetos
Tarea metaclases I/O método Método de tarea metaclases interm especif. control Inferencia metaclases I/O vista-dominio Metaclase metaclases I/O método Concepto metaclases I/O método

11 Paso 2 Identificar plataforma HW- SW
Requisitos de usuario Elección de SW más importante que HW, excepto en aplicaciones en tiempo real. Disponibilidad de código pre-existente para su reutilización en el subsistema de vistas al exterior. Disponibilidad de código pre-existente para su reutilización al representar el conocimiento del dominio. Facilidad de integración con otro software. Lenguaje fuertemente/debilmente 'tipado' Existencia de mecanismos complejos de control de ejecución. Herramientas CASE disponibles.

12 Ejemplo de evaluación plataforma SW
Java vs. Prolog. Java más librerías para el interfaz que prolog. Prolog más facilidad para representar conocimiento. Tipado de java más fuerte que prolog. Protocolos de control de ejecución más complejos en Java.

13 Paso 3 especificar componentes de la arquitectura
Vistas al exterior: Especificar los componentes del interfaz. Diseñar mecanismos de actualización y verificación de integridad de la información mostrada en la misma. Interfaz de usuario/interfaz de experto. Control de entradas: Determinar condiciones de activación/terminación de funciones de la aplicación. Gestión de funciones de transferencia. Interrupciones del usuario permitidas.

14 Especificar componentes del subsistema de la aplicación
Tarea: métodos para inicializar y ejecutar la tarea. Inferencia: métodos para ejecutar, new-solution, has- solution, relación de con conceptos del dominio. Transferencia: mediante paso de mensajes a los otros dos subsistemas. Metaclases: tipos de datos (elemento, conjunto o lista), operaciones de acceso: asignación, add, select, substract, etc. Conceptos: métodos de acceso y modificación de atributos.

15 Paso 4 concretar diseño final
Dos subpasos: Establecer correspondencia entre elementos del modelo conceptual y componentes de la arquitectura del sistema: controlador, vistas y aplicación Añadir detalles concretos al diseño para hacer operativa a la arquitectura.

16 Correspondencia del controlador
Debe preservar lo establecido por el modelo de cooperación. A menudo es necesario hacerlo 'ad-hoc' y con mucho trabajo manual. Lo mínimo es la gestión de interrupciones. Adicionalmente: Dar respuesta a petición de explicaciones. Permitir un cierto control del usuario sobre el proceso de razonamiento. Posibilitar el enunciado de variantes de un escenario.

17 Correspondencia de las vistas al exterior
Seleccionar una o varias formas de mostrar la información. Para el usuario final, es preciso mostrar la información con un formato lo más próximo posible al dominio. Ajustar la representación de la información a la práctica cotidiana del dominio.

18 Correspondencia con la aplicación
Mínimo conjunto de actividades: Para cada método de tarea, construir un algoritmo que ejecute fielmente la estructura de control. Para cada concepto, escoger y construir el tipo estructurado de datos correspondiente. Para cada inferencia, escribir un método que la invoque y modifique las estructuras de datos de forma adecuada.

19 Un ejemplo de diseño detallado
Implementación en prolog de frágmento de SBC de diagnóstico médico (ejemplo completo en Schreiber, 1992). 2 inferencias abstraer y especificar. 2 conceptos: datos-cuantitativos y datos-cualitativos, subtipos de datos paciente. 2 relaciones: definición, abstracción.

20 Conceptos CONCEPT datos-paciente; ATTRIBUTES: nombre: STRING;
END CONCEPT. CONCEPT datos-cuantitativos; SUB-TYPE-OF datos-paciente; temperatura: NUMBER-RANGE(35-42); presión: NUMBER-RANGE(0-300);

21 Conceptos CONCEPT datos-cualitativos; SUB-TYPE-OF datos-paciente;
ATTRIBUTES: fiebre: BOOLEAN; presion-sangre: VALUE-TYPE elevacion; TYPE: NOMINAL; VALUE-LIST: {normal, elevada}; END VALUE-TYPE. hipertensión: elevacion; END CONCEPT;

22 Conceptos - Prolog concepto(nombre, super)
concepto(datos_paciente, []). concepto(datos_cualitativos, [datos_paciente]). concepto(datos_cuantitativos, [datos_paciente]). atributos(concepto, nombre, valores) atributos(datos_cuantitativos, temperatura, numberrange(35.0,42.0)). atributos(datos_cualitativos, hipertension, [normal, elevada]). ...

23 Relaciones RELATION abstraccion;
ARGUMENTS: datos-cuantitativos. Datos-cualitativos. AXIOMS: fiebre:= temperatura>38.0; END RELATION. CONCEPT datos-cualitativos ... AXIOMS: hipertension:= presion-sangre;

24 Relaciones - Prolog relacion(nombre, arg1, arg2)
relacion(abstraccion, datos-cuantitativos, datos-cualitativos) axioma(concepto/relacion, expresion) axioma(abstraccion, fiebre= (temperatura>38)). axioma(datos-cualitativos, hipertension= presion-sangre)).

25 Inferencias INFERENCE especificar ROLES: INPUT: evidencia-abstracta
OUTPUT:hipotesis DOMAIN-VIEW: abstraccion INFERENCE abstraer INPUT: evidencia OUTPUT: evidencia-abstracta DOMAIN-VIEW: definicion

26 Inferencias - Prolog inferencia (nombre, descripcion)
inferencia (abstraer, 'hacer una generalización de los datos'). inferencia (especificar, 'concretar una propiedad'). metaclase (inferencia, tipo I/O, nombre, descripcion) metaclase(abstraer, entrada, evidencia, 'sintoma observado'). vista-dominio (inferencia, concepto/relacion) vista-dominio(especificar, definicion). papel (concepto/relacion, metaclase) papel(evidencia, datos-cuantitativos).

27 Tareas TASK diagnosticar; ROLES: INPUT: evidencia; OUTPUT: hipotesis;
INTERMEDIATE: evidencia-abstracta; CONTROL-STRUCTURE: abstraer(evidencia->evidencia-abstracta); especificar(evidencia-abstracta->hipotesis); END TASK.

28 Tareas - Prolog nombre_tarea(Var_Entrada, Var_Salida) :-
inferencias, condiciones. Ejemplo: diagnosticar (Evidencia, Hipotesis) :- inferencia_call(abstraer, Evidencia, Evidencia-abstracta), inferencia_call (especificar, Evidencia-abstracta, Hipotesis). inferencia_call (Nombre, Mentrada, Msalida) :- inferencia(Nombre, _X), metaclase(Mentrada, entrada, Nombre), metaclase(Msalida, salida, Nombre), papel(Concepto,Mentrada), concepto(Concepto ...

29 Tema 5- Diseño e Implementación
Indice del tema: Arquitectura de un SBC y subsistemas típicos. Pasos de diseño Formalismos de representación del conocimiento Herramientas para la implementación de SBC

30 Sistemas de producción
Una regla no es más que la transcripción del conocimiento de una persona a un formato lógico. Cadena de Inferencia: reglas que están interconectadas pues las conclusiones de unas son premisas para otras. Intérprete : idenfica reglas aplicables y selecciona el orden en el que serán ejecutadas. Dos tipos: Forward chaining o dirigido por los datos. Backward chaining o dirigido por el resultado.

31 proposición : los pájaros vuelan
Lógica proposicional La lógica proposicional se basa en determinar la verdad o falsedad de una proposición a partir de otras proposiciones. Un hecho es una sentencia del modo: proposición : los pájaros vuelan La falsedad o verdad de una proposición vendrá dada por uno de los dos posibles valores: Cierto o Falso. Sobre los hechos se pueden aplicar distintos operadores: Conjunción (AND), Disyunción (OR), Negación (NOT), Igualdad, (=), Implicación (=>).

32 Inferencia en la lógica proposicional
Modus Ponens: p es T y p=>q es T podemos inferir : q es T Modus Tollens q es F y p=>q es T podemos inferir : p es F Modus Ponendo Tollens q es F y p OR q es T podemos inferir : p es T Modus Tollendo Ponens q es T y p AND q es T podemos inferir : p es T

33 Lógica de predicados de 1er orden
Permite razonar sobre las relaciones entre entidades, sirve para razonar sobre partes del universo del discurso. La sintaxis está formada por constantes, variables, predicados, funciones, operadores lógicos y cuantificadores. La inferencia permite, además de los mecanismos de la lógica proposicional, utilizar la especialización o instanciación. Otras lógicas son: Lógica modal que incluye estructuras del tipo “es necesario” “es posible” Lógicas temporales con proposiciones del tipo “siempre” “a veces”

34 Programación lógica con restricciones
Un conjunto de atributos con un dominio de valores posibles finito. Un conjunto de restricciones que condicionan los valores que pueden tomar los atributos anteriores. Filtrado de hipótesis que asignan combinaciones de valores a los atributos anteriores. Razonamiento temporal: puntual, intervalos, restricciones temporales.

35 Marcos o 'Frames' Humanos agrupamos conocimiento en marcos conceptuales (Minsky, 1975). Tratar nuevas situaciones a partir del parecido con situaciones anteriores. Marco o Frame con atributos valorados en un rango, con posible valor por defecto. El valor de un atributo puede calcularse mediante procedimientos asociados (demonios) que se ejecutan cuando: Se necesita. Se añade un determinado valor. Se cambia un determinado valor. Jerarquía de marcos permite representar especialización y generalización. Equiparación de marco pregunta con el que más encaje.

36 Redes semánticas (Quillian,1968) para representar el conocimiento en frases. Representan desde la semántica hasta relaciones causales. Grafo dirigido etiquetado. Etiquetas de nodos son nombres (conceptos), de los arcos son verbos (relaciones). Inferencia mediante herencia y equiparación de patrones. Ventajas : Explícitas y sucintas. Reducen el tiempo de búsqueda. Desventajas : No hay interpretaciones estándar. Se producen inferencias inválidas. Explosión combinatoria.

37 Incertidumbre Sistemas de producción utilizan afirmaciones (hechos) sobro el mundo modelizado en la base de conocimientos. ¿Cómo tratar con conceptos que van más allá de las etiquetas “verdadero” y “falso”? Los expertos aplican reglas de inferencia basadas en sus impresiones de las que no son capaces de afirmar la veracidad o falsedad. ¿De donde surge la incertidumbre? Datos Incompletos Datos ambiguos Representación imprecisa de los datos

38 Razonamiento con incertidumbre
El objetivo es introducir esa incertidumbre en los SBC: cómo se representa, cómo se calcula y cómo se propaga por las reglas (desde las premisas a las conclusiones). Métodos de representación de la incertidumbre: Teorema de bayes: probabilidades Factores de certidumbre Teoría de Demster-Shafer Conjuntos borrosos y lógica difusa

39 Repaso de Probabilidad
La probabilidad está entre 0 y 1. 1 es el espacio total. La probabilidad de la unión de dos conjuntos disjuntos es la suma de las probabilidades. La probabilidad condicional se define por: p(A  X) = p(A/X) * p(X) = p(X/A) * p(A) El teorema de Bayes consiste en: p(A/ X) = p(X/A) * p(A) / p(X) La probabilidad total se define por: p(X) = p(Xx1) + p(Xx2) + .. = p(X/x1) * p(x1) + p(X/x2) * p(x2) + ... Luego Bayes queda: p(A/ X) = p(x1/A) * p(x1) / p(X/x1) * p(x1) + p(X/x2) * p(x2) + ...

40 Reglas probabilísticas
IF Hipotesis H es Verdad THEN Evidencia E puede concluirse con probabilidad p. Se puede escribir: H => E(p) donde p(E/H) = p Y con el teorema de Bayes se puede aplicar un razonamiento abductivo t.q. P(H/E) = P(E/H) * p(H) / p(E)

41 Ejemplo de aplicación de Bayes
Dados: p(resfriado) = 0.2; p(estornudo/no resfriado) = 0.75; p(estornudo/resfriado) = 0.2. Podemos calcular: p(estornudo) = 0.75 * * 0.8 = 0.31 p(resfriado/haya estornudado) = 0.75 * 0.2 / 0.31 = p(resfriado/no haya estornudado)=(1-0.75)*0.2/(1-0.31)=

42 Bayes con múltiples hipótesis y evidencias
Dadas m hipótesis y n evidencias independientes, tenemos: P(Hi/E1 E2 ....En) = P(E1 E2 ....En/Hi) * p(Hi) / P(E1 E2 ....En) = P(E1 /Hi) * P(E2 /Hi) * ... * P(En/Hi) * p(Hi) ___________________________________  P(E1 /Hk) * P(E2 /Hk) * ... * P(En/Hk) * p(Hk)

43 Ejemplo de aplicación de Bayes con múltiples hipótesis y evidencias
Evidencias: estornudar (E1) y fiebre (E2) Hipótesis: resfriado (H1), alergia (H2) y sensibilidad a la luz (H3). Dados a priori: p(H1) = 0.6, p(H2) = 0.3, p(H3) = 0.1 p(E1/H1) = 0.3, p(E1/H2) = 0.8, p(E1/H3) = 0.3 p(E2/H1) = 0.6, p(E2/H2) = 0.9, p(E2/H3) = 0.0 Podremos calcular P(H1/E1E2), P(H2/E1E2) y P(H3/E1E2)

44 Aplicación en Prospector
SBC pionero en aplicar probabilidad a un sistema de producción (Duda, Hart y Nilsson, 1978). El conocimiento se representa como una red de inferencias. Tipos de nodos: hechos (evidencias e), o deducibles (hipótesis h). A partir de las probabilidades a priori de ambos tipos y de las relaciones causales entre los nodos, determina: Grado de suficiencia de e para que se dé h Grado de necesidad de e para que se dé h Con estos datos Prospector era capaz de propagar la probabilidad en la ejecución de sus reglas.

45 Redes bayesianas (Pearl, 1986) Representación mediante nodos (atributos y valores) y arcos (relaciones de causa-efecto) Permiten: tanto razonar con la certeza de causa como con la certeza de efecto. Representadas con una matriz. Motor de inferencias no modus ponens, en su lugar propagaremos certeza sobre causas y efectos en una red utilizando teorema de bayes. Posibles estructuras de la red: Cadena: una causa, un efecto. Arbol: una causa, varios efectos Red simplemente conexa: varias causas, varios efectos pero sin bucles.

46 Redes bayesianas Creencia en hecho x dada una cadena de aconticimientos e. La evidencia e se descompone e+ (causas) y e- (efectos)=> p(x / e+ , e- ) = p(e- / x, e+ ) * p(x / e+ ) / p(e- / e+ ) Consumo de drogas Estado de ánimo asesino huellas Nulo Esporádico Habitual Apacible Irritado Furioso Si No Seguro Posible Difícil Apacible Irritado Furioso Nulo Esporádico Habitual Si No Apacible Irritado Furioso Seguro Posible Difícil Si No

47 Limitaciones del razonamiento probabilístico
Necesidad de demasiados datos para conseguir una base de conocimiento probabilístico. ¿En qué se basan las probabilidades a priori?. Reducción de la relación entre conceptos a un conjunto de números. Está reducción hace imposible de seguir el razonamiento.

48 Factores de certidumbre
(Mycin, 1979). FC: grado de creencia en las hipótesis dadas las evidencias: IF EVIDENCIA THEN HIPÓTESIS (FC) Creencia positiva (0,1) grado en el que la creencia en la hipótesis es soportada por la evidencia: CP= ( p(h/e) -p(h) ) / (1 - p(h) ) . Creencia negativa (0,1) grado en el que la no-creencia en la hipótesis es soportada por la evidencia CN= (p(h) - p(h/e) ) / p(h). Factor de Certidumbre (-1, 1 ) FC= (CP-CN) / (1- min(CP,CN))

49 Factores de certidumbre
Las evidencias son verdaderas o falsas en un cierto grado. Las evidencias disparan ‘n’ reglas con un cierto grado. El FC de una hipótesis es la acumulación de la evidencia de varias reglas. Grado de hipótesis viene de los grados de las evidencias, de los FC y de la acumulación de la evidencia de varias reglas. Cómo se propagan: FC de premisa = min(FC de las premisas ) para el AND FC de premisa = max(FC de las premisas ) para el OR FC de conclusión = FC de la premisa * FC de la regla

50 Factores de certidumbre
Como se acumulan los FC: FC revisado ( FCr ) es función de FC antiguo ( FCa ) y el FC nuevo ( FCn ): Si FCa y FCn son > 0 entonces FCr = FCa + FCn * (1-FCa) Si los dos son negativos entonces FCn = -FCr( -FCn, -FCa ) Si uno es negativo FCn = (FCa + FCn ) / (1 - min(|FCa|, |FCn| ) )

51 Ejemplo de factores de certidumbre
Robo del coche de Tim. R1: IF el acusado tiene un motivo AND el acusado tiene oportunidad THEN el acusado es culpable del crimen (FC = 0.6) R2: IF el acusado tiene coartada THEN el acusado es culpable (FC = -0.8) R3: IF las huellas dactilares del acusado están en el coche THEN el acusado es culpable (FC = 0.4) R4: IF las llaves están en el coche THEN el acusado tiene oportunidad (FC = 0.9) R5: IF al acusado no le gusta Tim THEN el acusado tiene un motivo (FC = 0.5) R6: IF el acusado necesita transporte THEN el acusado tiene motivo (FC = 0.9) R7: IF las huellas dactilares del acusado están en las llaves del coche THEN el acusado es culpable (FC = 0.7)

52 Ejemplo de factores de certidumbre
E1: Mike necesita transporte (FC = 1.0) E2: John no necesita transporte (FC = 1.0) E3: Las huellas digitales de Mike están en el coche (FC = 1.0) E4: Las huellas digitales de John no están en el coche (FC = 1.0) E5: Las huellas digitales de Mike no están en las llaves del coche (FC = 1.0) E6: Las huellas digitales de John están en las llaves del coche (FC = 1.0) E7: Las llaves de Tim estaban en el coche (FC = 1.0) E8: A Mike no le gusta Tim (FC = 0.6) E9: A John le gusta Tim (FC = 0.8) E10: Mike tiene una coartada (FC = 0.85) E11: John no tiene una coartada (FC = 0.2)

53 Ejemplo de factores de certidumbre
El acusado necesita transporte Al acusado no le gusta Tim Las llaves están en el coche R6 R5 R4 0.9 0.5 0.9 El acusado tiene motivo El acusado tiene oportunidad El acusado tiene coartada Las huellas del acusado están en el coche Las huellas del acusado están en las llaves del coche R2 R1 R3 R7 -0.80 0.6 0.4 0.7 El acusado es culpable

54 Ejemplo de factores de certidumbre
Hipótesis H1: Mike robó el coche de Tim (FC=0). Subhipótesis H11: Mike tiene un motivo (FC=0). Con la regla R6 (FC=0.9) sobre E1 (Necesidad de transporte, FC=1): FCn(H11) = 0.9 * 1.0 = 0.9 FCr(H11) = * (1 - 0) = 0.9 Con la regla R5 (FC= 0.5) sobre E8 (No le gusta Tim, FC=0.6) FCn(H11) = 0.5 * 0.6 = 0.3 FCr(H11) = * ( ) = 0.93

55 Ejemplo de factores de certidumbre
Subhipótesis H12: Mike tiene la oportunidad (FC=0) Con la regla R4 (FC= 0.9) sobre E7 (Llaves en el coche, FC=1): FCn(H12) = 0.9 * 1.0 = 0.9 FCr(H12) = * ( 1 - 0) = 0.9 Con la regla R1 (FC=0.6) sobre las subhipótesis H11 (FC=0.93 ) y H12 (FC=0.9), tenemos: FC(H1)= min (0.9, 0.93)*0.6= 0.54 FCr(H1)= * (1-0) = 0.54

56 Ejemplo de factores de certidumbre
Con la regla R2 (FC= -0.8) sobre la evidencia E10 (FC=0.85), tenemos: FCn(H1) = 0.85 * (-0.8) = -0.68 FCr(H1) = (0.54 – 0.68) / ( ) = -0.3 Con la regla R3 (FC= 0.4) sobre la evidencia E3 (FC= 1) tenemos: FCn(H1) = 1 * 0.4 = 0.4 FCr(H1) = (0.4 –0.3) / (1- 0.3) = 0.14 Con la regla R7 (FC= 0.7) sobre la evidencia E5 (FC=1) tenemos: FCn(H1)= 1 * 0.7 = 0.7 FCr(H1) = * (1 – 0.14) = 0.74 Se deja planteado como ejercicio calcular el FC de la hipótesis H2 de que John robó el coche de Tim.

57 Teoría de Dempster-Shafer
Se parte de un conjunto de posibles conclusiones :  = {1, 2, ...., n} Mutuamente exclusivo y exhaustivo. Masa m, valor entre 0 y 1, probabilidad de que ocurra una de todas las posibles combinaciones de posibles soluciones. Creencia en A ={1, 2}: Bel(A) = m(1) + m(2) + m(1, 2 ) Plausabilidad de A ={1, 2}: P*(A) = 1- Bel(Ac) Certidumbre definida por el intervalo : [Bel(A), P*(A)]

58 Limitaciones de Dempster-Shafer
Representa certidumbre sobre la certidumbre La creencia en A y Ac no agota todas las posibilidades, puede existir un grado de ignorancia. Es un procedimiento complejo Necesita de la enumeración de todos los casos posibles No se define el origen de la masa de probabilidad.

59 Lógica borrosa o difusa: Zadeh
Justificación: Vaguedad: dificultad para establecer los límites precisos de la definición de un término. Por ejemplo ‘joven’ Ambigüedad: en las relaciones que se establecen de un término a varios, elección entre varias alternativas. Propuesta de Zadeh (1964) para operar con términos vagos: El concepto borroso o difuso (p.e. ‘alto’) se representa mediante una función de pertenencia  de un objeto (p.e. ‘juan’) a dicho concepto. Esta función establece el grado de compatibilidad de la afirmación de que ‘juan es alto’ con valores distintos de 0 y 1.

60 Lógica borrosa o difusa: Sugeno
Propuesta de Sugeno (1977) para aplicar el concepto ‘difuso’ en el contexto de la ambigüedad: Dado un objeto x del universo X, dividido en conjuntos no borrosos A, cada uno de estos conjuntos tiene asignado una función gx(A) entre 0 y 1, que representa el grado de ‘borrosidad’ de la afirmación ‘x pertenece a A’. Este grado puede ser interpretado como una probabilidad, creencia o posibilidad.

61 Lógica borrosa o difusa: Unificación
Unificación de Zadeh (1978): Distribución de posibilidad inducica por un conjunto borroso. La distribución de posibilidad  sobre el universo X, asocia a cada elemento x la posibilidad de que sea un valor de la variable v definida sobre x: (v=x) =  (x) = A(x) Así la expresión de la distribución de posibilidad es equivalente a un conjunto borroso, por lo que se pueden aplicar los conceptos de la lógica borrosa sobre las distribuciones de posibilidad.

62 Un conjunto borroso o difuso

63 Compatibilidad de un valor con un conjunto borroso

64 Compatibilidad de un conjunto borroso con otro

65 Operaciones con conjuntos borrosos
Sean los conceptos borrosos A y B definidos por A y B: “NOT A” se representa mediante : 1 -  A(x) Luckasiewicz A=>B(x,y)= min{1, 1 -  A(x) +  B(y)} Mamdani A=>B(x,y)= min{ A(x),  B(y) }

66 Inferencia borrosa o difusa
Inferencia clásica Modus Ponens: A AND (A => B). Así cuando ‘x es A’ es verdad y ‘A=>B’ también, entonces B es verdad. Y al contrario, cuando ‘x es A*’ es verdad, entonces B resulta ser falso. Utilizando las fórmulas de MAX-MIN y Mamdani, obtendremos finalmente: B*(y) = Sup{ Min{ Min{A*(x), A(x)}, B(y) } }

67 Inferencia borrosa gráficamente

68 Sistema borroso

69 Defuzzificación Centro de gravedad Singletons Centroides VL L M H VH

70 Ejemplo de lógica borrosa
SI (distancia_1 es LEJOS OR distancia_2 es MUY LEJOS) ENTONCES Velocidad_1 es NORMAL Los antecedentes tienen un grado de pertenencia de 0.6 y 0.4 La conclusión tiene un grado de activación, : distancia_1 es LEJOS OR distancia_2 es MUY LEJOS max{0.6,0.4}= 0.6 Por tanto el grado de activación de (Velocidad_1 es NORMAL) es:  = 0.6 SI (distancia_2 es MUY LEJOS) ENTONCES Velocidad_1 es ALTO La conclusión tiene un grado de activación,  = 0.6

71 Ejemplo de lógica borrosa

72 Ejemplo de lógica borrosa
NORMAL: Centro: 40 Pertenencia: 0.6 Área: [ 0.6 * (40+28) ] / 2 = 20.4 ALTO: Centro: 70 Pertenencia: 0.4 Área: [ 0.4 * (40+32) ] / 2 = 14.4 Centroide: 20.4 * (40) * (70) =

73 Limitaciones de la lógica borrosa
Se permite la representación de conceptos definidos con límites precisos así como definidos con límites imprecisos Se permiten calificadores del modo mucho, poco, varios,... que se representan mediante modificaciones de la función de pertenencia del conjunto básico. Por ejemplo de cerca ( (x)) el concepto muy cercano es el cuadrado ((x)2) del conjunto cerca. En los sistemas lógicos bi-valuados una proposición está asociada con un valor de verdad, en lógica borrosa está asociada con: una verdad borrosa, resultado de aplicar la tabla de verdad de la implicación lógica que se escoja.

74 Sistemas de mantenimiento de la verdad
Razonamiento no monótono: existencia de excepciones, redefinición de proposiciones, procedimientos para restar evidencia a premisas, etc. Los sistemas de mantenimiento de la verdad procuran evitar trabajos inútiles de comprobación de que se verifican unas condiciones. Se ocupan de mantener de forma consistente las creencias relevantes en función de las modificaciones e identifica contradicciones.

75 Mecanismos de Control Los mecanismos de control ayudan a manejar los conocimientos del dominio: aplicar estrategias, resolver excepciones. Muchas veces no es suficiente con la base de conocimiento y el motor de inferencias. Estos mecanismos pueden ser: De bajo nivel: La creación y resolución del conjunto conflicto. De alto nivel: decisiones estratégicas (cambio de objetivo o de subproblema).

76 Control de bajo nivel Para la resolución del conjunto conflicto:
Especificidad, novedad, refracción, prioridades. Para la creación del conjunto conflicto: Algoritmos de búsqueda: en amplitud, en profundidad, escalada, etc.

77 Búsqueda en profundidad
Generate - and – Test: prueba y error Hill Climbing (Escalada) 1. Se genera la primera solución propuesta como antes. Si lo es acaba sino continuamos. 2. Aplicamos al nodo un conjunto de reglas posibles y tenemos un conjunto de soluciones propuestas. 3. Para cada elemento de ese conjunto: a) Aplicamos la función de escalada, si es solución fin, b) si no, ver si es mejor que los anteriores 4. Tomar el mejor y utilizarlo como solución propuesta. 5. Volver a 1

78 Búsqueda en amplitud Consiste en examinar todos los nodos de un mismo nivel del árbol de búsqueda de solución, antes que cualquiera de los nodos del siguiente nivel. Este método garantiza encontrar la solución si esta existe, pero: Requiere gran cantidad de memoria, gran cantidad de trabajo y además operadores irrelevantes pueden aumentar el número de nodos a explorar. Búsqueda en amplitud + profundidad : Best - First En cada paso se selecciona el nodo más prometedor de todos los generados, aplicando una función heurística. Este nodo se expande, y todos lo nuevos nodos se agrupan con los anteriormente generados, escogiendo entre todos el más prometedor.

79 Control de alto nivel Cuando el problema es complejo puede no ser suficiente. La complejidad se debe a: La cantidad de conocimiento implicado. La necesidad de combinar el uso de conocimiento representado mediante distintos formalismos. Dificultad de representar y manejar el estado de un problema. Tratan de: Cambiar de estado parcialmente Centrarse en una parte del estado Divide y vencerás

80 Control de alto nivel: metarreglas
Con los formalismos de representación habituales, por ejemplo: reglas de producción. En este caso podemos distinguir el control implícito del explícito. Cuando las reglas y el conocimiento de control está claramente diferenciado en un módulo de control  metarreglas. Normalmente se ocupan de: Parar/activar ejecución Añadir/reordenar/eliminar reglas o metas Modificar criterios resolución conjunto conflicto

81 Arquitecturas de control de alto nivel
Se utilizan arquitecturas específicas para resolver los problemas de control en SBC complejos. Sirven para coordinar el conocimiento de diversas fuentes para resolver el problema. Veremos tres arquitecturas: agendas, pizarras y sistemas de agentes.

82 Agendas La idea general es la utilización por parte del sistema de una estructura global en la que se anotan las acciones a realizar y en la que se registran todos los cambios que se van produciendo. Por lo tanto una agenda es una lista de tareas que puede realizar el sistema. Asociado a cada acción tenemos: una lista de razones y una medida de la utilidad de la acción. Un problema muy importante es el dimensionamiento de la tarea ni muy grandes, ni muy pequeñas. La comunicación entre los distintos módulos se realiza a través de la agenda, los módulos comparten información sobre las tareas a realizar, pero no saben nada de los otros módulos.

83 Pizarra Es una abstracción de un grupo de expertos colaborando para resolver un problema. Cada uno de los cuales posee conocimiento que puede ser relevante en algún momento del proceso de solución. Todos ven en la pizarra la última solución parcial. Cualquiera puede escribir una contribución parcial a la solución. La solución final va surgiendo al combinarse todas las contribuciones de los expertos. Se necesita un método para evaluar la contribución de cada experto y determinar a quién se le permite escribir. La información debe escribirse de modo que todos los expertos la comprendan.

84 Componentes de la pizarra
La pizarra puede dividirse en diferentes niveles de abstracción organizados de forma jerárquica. Las fuentes de conocimiento: examinan la pizarra para generar conclusiones y modificar el foco de atención del problema. Cada una se dispara cuando puede contribuir a la solución, al cumplir condiciones separadas en dos campos: Están aisladas unas de otras, excepto por la pizarra. En general el proceso de control funciona porque las fuentes: modifican el contenido de la pizarra. indican la contribución que puede hacer a la solución.

85 Ejemplos de pizarra Alumnoo Alumnoo Alumnoo Alumnoo Profesoro Pizarrao

86 Ejemplo de pizarra Corredoro Corredoro Corredoro Corredoro Operadoro
Pizarrao

87 Pizarras Ventajas: Los expertos actúan en orden determinado por el progreso de la solución. Es fácil añadir nuevos expertos. Diferentes aspectos del problema se pueden considerar simultáneamente por diferentes grupos de expertos usando diferentes áreas de la pizarra (p.e. puzzle). Como todas las interacciones entre los expertos se producen a través de la pizarra el control del proceso de solución se puede ejercer determinando el orden de acceso de los expertos.

88 Arquitecturas multiagentes
Mediante fuentes de conocimiento dotadas de autonomía (agentes). Redes: Resolución distribuida de problemas Proceso autónomo: Agente Software ¿qué agentes? Con objetivo común: MAS A semejanza humana: Agente Inteligente

89 Objetivos y necesidades
Persiguen mejorar la eficacia global de las fuentes de conocimiento. Necesitan un sistema de mantenimiento de la verdad distribuido para garantizar la consistencia: Elemento central: coordinador, ontología. Asignación de roles Descripción de secuencia y dependencia de la división del problema en partes Sincronización

90 Tipos de Sistemas de agentes
Coordinación centralizada (comunicación intermediada): Fuertemente: agente planificador Débilmente: agente negociador Coordinación distribuida (comunicación directa): con objetivos en común: cooperación Sin objetivos en común: competición

91 Un agente por dentro Dos tipos de arquitecturas internas de un agente:
Por sus frutos los conoceréis: reactivas - Las obras sin fe están muertas: deliberativas

92 Herramientas para construir agentes
JAM: docencia de agentes Aglets de IBM JATlite Univ. de Stanford. JAFMAS, Univ. de Cincinnati JADE: Comunicación JADEX: Deliberativos.

93 Historia Hoy día utilizamos motores de inferencia ya programados.
Antes se programaban tb al construir el SBC Pionero fue EMYCIN: con encadenamiento hacia atrás, factores de certeza y facilidades de explicación. Otro fue R1/Xcon del que surgió OPS5.

94 Lenguajes Lenguajes: Common-Lisp: ANSI, UFA-Soft, Allegro, etc.,
Prolog: CLIPS y FuzzyCLIPS: ai.iit.nrc.ca/IR_public/ fuzzy/fuzzyClips JESS: herzberg.ca.sandia.gov/jess

95 Entornos Entornos integrados con facilidades e interfaz.
Algunas muy orientadas a la adquisición: OPAL, SALT Características: Versatilidad de representación. Depuración Eficiencia Ayuda para incorporar capacidad explicativa Integración con otros lenguajes/aplicaciones.

96 FOCL FOCL escrito en Common Lisp. Incluye facilidad para apredizaje automático desde ejemplos, un interfaz gráfico para modificar/escribir reglas y hechos, y un intérprete con encadenamiento hacia atrás. Disponible mediante ftp anónimo en: ics.uci.edu:/pub/machine-learning-programs/

97 RT-Experts Rápida ejecución. Real Time Expert
Facilidad para integrarse con programas escritos en C. Encadenamiento hacia atrás. Incluye librería en C para ejecutar motor de inferencias. world.std.com:/vendors/rtis/rtexpert

98 MIKE Micro interpreter for knowledge engineering
Implementada en prolog por la Open Univ. (Reino Unido). Conflictos definidos por usuario. Encadenamiento hacia atrás y hacia adelante. Facilidad para representar marcos y para integrar autoexplicación. Herramientas gráficas para seguimiento de la ejecución Disponible mediante ftp anónimo en: hcrl.open.ac.uk

99 MOBAL Representaciones del dominio en lógica de primer orden.
Facilidad para la adquisición de conocimiento y para su verificación mediante interfaz gráfico. Incluye herramientas de aprendizaje automático. Mediante ftp anónimo en: ftp.gmd.de:/gmd/mlt/Mobal/

100 Babylon Incluye facilidades para marcos, programación con restricciones. Está escrito en Common Lisp Disponible en:

101 Entornos comerciales Acquire: énfasis en adquisición Art: Integración con C, ADA y Lisp. Acceso a BBDD GBB: pizarras. ftp.cs.umass.edu:/gbb/ GURU: fuzzy y BBDD KEE: reglas y marcos. Búsqueda. Integrable en lisp. Smart elements o Nexpert object: notación gráfica muy rica. Marcos.

102 Entornos comerciales Goldworks: integración con c. Marcos, reglas. G2: tiempo real, OO y reglas (atrás y adelante). Integración con C y Fortran M.4: Blaze Advisor: ILOG Jrules:


Descargar ppt "Tema 5- Diseño e Implementación"

Presentaciones similares


Anuncios Google