INGENIERÍA DEL CONOCIMIENTO: SISTEMAS EXPERTOS z Sistema experto: Sistema informático diseñado para resolver problemas de un área específica, y al que de algún modo se le ha dotado de una competencia similar a la de un experto humano de esa área. z Ejemplos: – MYCIN (diagnóstico y tratamiento de enfermedades infecciosas de la sangre) – PROSPECTOR (determina la probabilidad de la existencia de yacimientos minerales a partir de las pruebas realizadas sobre el terreno). Objetivo de los sistemas expertos El objetivo es el mismo de todas las aplicaciones informáticas: Relevar al hombre de tareas mecánicas y proporcionarle instrumentos amplificadores de sus capacidades mentales. Construcción de sistemas expertos Por una parte se construye una base de conocimientos o base de hechos. Por otra se desarrollan procedimientos para manipular esa base para obtener una respuesta con datos concretos (motor de inferencia). z Los problemas que surgen en relación con los dos apartados anteriores ha dado lugar a un área de trabajo denominado INGENIERÍA DEL CONOCIMIENTO. ¿Y EN DÓNDE INTERVIENE LA LÓGICA? Para representar el conocimiento, se utilizan las expresiones lógicas. (Usaremos para simplificar las sentencias de la lógica proposicional) Sistema de producción z Un sistema de producción es un modelo de computación que distingue 3 componentes: – Base de hechos – Base de conocimientos – Motor de inferencias Las reglas de producción se aplican sobre la base de hechos y el sistema de control gobierna estos procedimientos y aplicaciones y hace que la computación se detenga cuando el estado de la base de datos satisface alguna condición de terminación predefinida. z La base de hechos contiene los hechos iniciales y los que se vayan obteniendo como consecuencias en el proceso inferencial. z Las reglas de producción son pares ordenados (A,B). Según el tipo de sistema se denominan antecedente y consecuente, condición y acción o premisa y conclusión. Su formalización lógica es la de sentencias condicionales A B. z Ejemplo.- En la base de conocimientos del sistema XCON hay unas 2500 reglas. Una de ellas es: Si el contexto actual es el de asignar una fuente de alimentación, y se ha colocado un módulo SBI en un armario, y se conoce la posición que ocupa el módulo, y se dispone de una fuente de alimentación, entonces colocar la fuente en dicha posición. Independientemente del significado de las expresiones, la regla se puede formalizar mediante la sentencia: (p1∧ p2∧ p3∧ p4) ⇒ q. Otro ejemplo z Consideremos – R1: las siguientes reglas: Si el paciente tiene fiebre, y tose, y tiene dolores musculares, entonces padece gripe. – R2: Si el paciente padece gripe o resfriado, y no tiene úlcera, entonces recomendar aspirina y coñac. Vamos a formalizar las reglas anteriores: R1 : [f ∧ t ∧ m] ⇒ g R2 : [(g ∨ r) ∧ (¬u)] ⇒ (a ∧ c) Utilizando las equivalencias lógicas, vistas, la regla R2 es lógicamente equivalente a: [(g ∧ (¬u)) ⇒ a] ∧ [(g ∧ (¬u)) ⇒ c] ∧ [(r ∧ (¬u)) ⇒ a] ∧ [(r ∧ (¬u)) ⇒ c] y en consecuencia, se podría descomponer en las siguientes reglas: R2a: R2b: R2c: R2d: (g ∧ (¬u)) ⇒ a (g ∧ (¬u)) ⇒ c (r ∧ (¬u)) ⇒ a (r ∧ (¬u)) ⇒ c z Así, si hiciésemos una consulta al sistema sobre un paciente que satisface los hechos f,t,m y ¬u, el sistema trataría de aplicar las reglas para ver qué terapia habría que aplicar. Por tanto, sabiendo que tenemos los hechos f,t,m y ¬u, podemos hacer las siguientes inferencias, usando la regla de inferencia modus ponens: f ∧t ∧ m R1: [f ∧ t ∧ m] ⇒ g g En este momento hemos ampliado la base de hechos con el nuevo hecho g. g ∧ (¬u) R2a: (g ∧ (¬u)) ⇒ a a En este momento hemos ampliado la base de hechos con el nuevo hecho a. g ∧ (¬u) R2b: (g ∧ (¬u)) ⇒c c z Por tanto, la terapia es aspirina y coñac. El problema que surge es que en general, no tendremos dos, sino muchas reglas (suelen ser del orden de cientos o de miles), y en general hay que establecer en qué orden y de qué manera aplicamos las reglas (es decir, cuáles se aplican primero). Para realizar lo anterior, hay dos estrategias básicas: 1) Aplicar cuantas reglas de producción e inferencia se puedan para ir sucesivamente ampliando la base de hechos (que es lo que hemos realizado en el ejemplo). A esto se conoce como encadenamiento hacia adelante. 2) Fijarse un hecho como objetivo y tratar de deducirlo, viendo de qué reglas de producción es consecuente. Este es el principio de encadenamiento hacia atrás. Un procedimiento gráfico muy adecuado es el de los árboles de decisión.