1. Detección Construcción del conjunto de reglas aplicables El intérprete de reglas realiza los cálculos necesarios para obtener las instanciaciones que son posibles en cada estado de resolución del problema (comparación o matching). Una regla puede instanciarse más de una vez, caso de existir variables que lo permitan.
2. Selección Las reglas son o no aplicadas dependiendo de la estrategia de control: estrategia fija estrategia dinámica prefijada estrategia guiada por meta-reglas Selección de la “mejor” instanciación Posible combinación de criterios
2. Selección Ejemplos de estrategia de control: 1ª regla por orden en la base de conocimiento la regla más/menos utilizada la regla más específica (con más literales) / más general la regla que tenga el grado de certeza más alto la instanciación que satisfaga los hechos: más prioritarios más antiguos (instanciación más antigua) más nuevos (instanciación más reciente) aplicación de todas las reglas (sólo si se quieren todas las soluciones posibles) la regla usada más recientemente meta-reglas, que indican dinámicamente como seleccionar las reglas a aplicar
3. Aplicación Ejecución de la regla ? Modificación de la base de hechos (en el razonamiento hacia delante) Nuevos cálculos, nuevas acciones, preguntas al usuario Nuevos sub-objetivos (en el razonamiento hacia atrás) Propagación de las instanciaciones Propagación del grado de certeza
El proceso de deducción acaba cuando: se encuentra la conclusión (el objetivo) buscado ? éxito no queda ninguna regla aplicable ? éxito? / fracaso?
Tipos de razonamiento Deductivo, progresivo, encadenamiento hacia delante, dirigido por hechos evidencias, síntomas, datos ? conclusiones Inductivo, regresivo, encadenamiento hacia atrás, dirigido por objetivos conclusiones ? datos, evidencias, síntomas Mixto, encadenamiento híbrido
Encadenamiento hacia delante Basado en modus ponens: A, A?B |- B La base de hechos (BH) se inicializa con los hechos conocidos inicialmente. Se obtienen las consecuencias derivables de la BH: se comparan los hechos de la BH con la parte izquierda de las reglas; se seleccionan las reglas aplicables: las que tienen antecedentes conocidos (que están en la BH); las nuevas conclusiones de las reglas aplicadas se añaden a la BH (hay que decidir cómo); se itera hasta encontrar una condición de finalización.
Encadenamiento hacia delante Problemas: No focaliza en el objetivo Explosión combinatoria Ventajas: Deducción intuitiva Facilita la formalización del conocimiento al hacer un uso natural del mismo Ejemplo de lenguaje: CLIPS
Encadenamiento hacia atrás Basado en el método inductivo: guiado por un objetivo que es la conclusión que se trata de validar reconstruyendo la cadena de razonamiento en orden inverso. Cada paso implica nuevos sub-objetivos: hipótesis que han de validarse.
Encadenamiento hacia atrás Funcionamiento: se inicializa la BH con un conjunto inicial de hechos; se inicializa el conjunto de hipótesis (CH) con los objetivos a verificar; mientras existan hipótesis a validar en CH se escoge una de ellas y se valida: se comparan los hechos de la BH y la parte derecha de las reglas con las hipótesis; si una hipótesis está en BH eliminarla de CH; si no: buscar reglas que tengan como conclusión la hipótesis; seleccionar una y añadir las premisas a CH.
Encadenamiento hacia atrás El encadenamiento hacia atrás es un tipo de razonamiento dirigido por el objetivo. Sólo se considera lo necesario para la resolución del problema. El proceso de resolución consiste en la exploración de un árbol. Ejemplo de lenguaje: Prolog W. F. Clocksin y C. S. Mellish . Programming in Prolog: Using the ISO Standard. Springer, 2003 (primera edición de 1981).
Prolog: lenguaje de programación lógica Programa Prolog: conjunto de aserciones lógicas cada aserción es una cláusula de Horn proceso de comparación: unificación el orden de las aserciones (reglas) es significativo Ejemplo gato (bufa). animaldomestico (X) :- gato (X). animaldomestico (X) :- pequeño (X), conplumas (X). p ? q ? q :- p Consultas: ?- predicado. La negación se representa con la falta de la aserción correspondiente: asunción de mundo cerrado.
Cláusula de Horn De Wikipedia:
Las cláusulas de Horn (instrucciones ejecutables de PROLOG) tienen el siguiente aspecto:
hija (*A, *B) :- mujer (*A), padre (*B, *A). que podría leerse así: "A es hija de B si A es mujer y B es padre de A".
Obsérvese que, en PROLOG, el símbolo :- separa la conclusión de las condiciones. En PROLOG, las variables se escriben comenzando con un asterisco. Todas las condiciones deben cumplirse simultáneamente para que la conclusión sea válida. Por tanto, la coma que separa las distintas condiciones es equivalente a la conjunción copulativa (en algunas versiones de PROLOG se sustituye la coma por el símbolo &). La disyunción, en cambio, no se representa mediante símbolos especiales, sino definiendo reglas nuevas, como la siguiente:
hija (*A, *B) :- mujer (*A), madre (*B, *A). que podría leerse así: "A es hija de B si A es mujer y B es madre de A".
Cláusulas con como mucho un literal positivo.
Encadenamiento híbrido Partes de la cadena de razonamiento que conduce de los hechos a los objetivos se construyen deductivamente y otras partes inductivamente: exploración bi-direccional El cambio de estrategia suele llevarse a cabo a través de meta-reglas. Ejemplos: función del número de estados iniciales y finales función de la dirección de mayor ramificación función de la necesidad de justificar el proceso de razonamiento Se evita la explosión combinatoria del razonamiento deductivo.
Factores para decidir el sentido del encadenamiento Número de estados iniciales y finales Preferible del conjunto más pequeño hacia el más grande Factor de ramificación Preferible en el sentido del factor más pequeño Necesidad de justificar el proceso de razonamiento Preferible el sentido de razonamiento habitual del usuario
Comparación (matching) Es más complicada en el razonamiento hacia delante. Si las condiciones de una regla se cumplen, una vez aplicada se puede entrar en un ciclo. Existen mecanismos eficientes de comparación y selección que evitan repasar todas las reglas de la BC: OPS-5 usa el algoritmo RETE Prolog indexa las cláusulas según los predicados
Bibliografía complementaria J. F. Sowa. Knowledge Representation. Brooks/Cole, 2000.
W. F. Clocksin y C. S. Mellish. Programming in Prolog: Using the ISO Standard. Springer, 2003 (primera edición de 1981).
28 Hacia las ontologías El conocimiento ha de permitir guiar a los mecanismos de IA para obtener una solución más eficiente: ¿Cómo escoger el formalismo que nos permita hacer una traducción fácil del mundo real a la representación? ¿Cómo ha de ser esa representación para que pueda ser utilizada de forma eficiente?
29 Información y conocimiento Llamaremos información al conjunto de datos básicos, sin interpretar, que se usan como entrada del sistema: los datos numéricos que aparecen en una analítica de sangre los datos de los sensores de una planta química Llamaremos conocimiento al conjunto de datos que modelan de forma estructurada la experiencia que se tiene sobre un cierto dominio o que surgen de interpretar los datos básicos: la interpretación de los valores de la analítica de sangre o de los sensores de la planta química para decir si son normales, altos o bajos, preocupantes, peligrosos… el conjunto de estructuras de datos y métodos para diagnosticar a pacientes a partir de la interpretación del análisis de sangre, o para ayudar en la toma de decisiones de qué hacer en la planta química
30 Información y conocimiento Los sistemas de IA necesitan diferentes tipos de conocimiento que no suelen estar disponibles en bases de datos y otras fuentes clásicas de información: Conocimiento sobre los objetos en un entorno y posibles relaciones entre ellos Conocimiento difícil de representar de manera sencilla, como intencionalidad, causalidad, objetivos, información temporal, conocimiento que para los humanos es de sentido común Intuitivamente podemos decir que: Conocimiento = información + interpretación
Página anterior | Volver al principio del trabajo | Página siguiente |