Construcción de Bases de Conocimiento con Computación Evolutiva

Vladimir Estivill Castro, 
   Laboratorio Nacional de Informática Avanzada y 
Joan de Gracia Blanco, 
   Universidad Autónoma de Barcelona

Resumen

Las aplicaciones de mayor impacto que han surgido de la Inteligencia Artificial se concentran en los Sistemas Basados en Conocimiento. Desafortunadamente, estos sistemas son útiles en función de la validez de su conocimiento, además de que su construcción es un proceso complejo y costoso. En este artículo ilustramos cómo la Computación Evolutiva puede automatizar el proceso de generación de conocimiento a un nivel simbólico logrando su validación y retroalimentación con expertos humanos. Más aún, este enfoque garantiza la renovación y actualización de la base de conocimiento.

1. Aprovechamiento del Conocimiento

Las aplicaciones prácticas de la llamada Inteligencia Artificial (IA) han sido foco de controversia por muchos añ ;os. Claramente, si comparamos los sistemas desarrollados con las habilidades cognoscitivas humanas, podemos considerar que el desarrollo es aún primitivo. Sin embargo, en años recientes, las técnicas de esta rama de las ciencias de la información han abordado muchos campos prácticos y desarrollado herramientas sofisticadas de uso cotidiano en sectores comerciales e industriales. Las aplicaciones de técnicas de IA abarcan áreas de manufactura, finanzas, gestión, medicina, etcétera.

Una de las tecnologías que ha resultado muy eficaz para proporcionar competitividad en múltiples sectores industriales son los Sistemas Basados en Conocimiento (SBC). Estos "sistemas expertos" proporcionan consejo y apoyan la toma de decisiones, ofrecen opiniones informadas y pueden explicar su razonamiento. Además, permiten que el directivo u operador manipule grandes volúmenes de información entre los que encontramos ejemplos, reglas, heurísticas, hechos e incluso modelos de predicción con probabilidades de certeza. Los beneficios son amplios y múltiples, por ejemplo la reducción en el tiempo de toma de decisiones, apoyo a la toma de decisiones basada en hechos, el mejoramiento del desempeñ ;o de personal no experto, la acelerada capacitación de personal mediante tutores, flexibilidad y apoyo a la reorganización y la reingeniería, el mejor diagnóstico de fallas, el mejor mantenimiento, la optimización de tiempos y movimientos, el mejor servicio, y la retención del conocimiento y experiencia corporativa [4].

A pesar del éxito de estos sistemas [4,7] los costos asociados al desarrollo de SBC son altos e involucran aspectos complicados como:

Cada una de estas actividades es desarrollada principalmente por personal altamente calificado y, naturalmente, experto en la instalación de SBC. Etapas como la adquisición de conocimiento han dado lugar a toda una especialidad conocida como "Ingeniería de Conocimiento" dedicada a traducir las ideas, conceptos y experiencia de los humanos a su representación en una base de conocimiento que será utilizada por el SBC para inferir.

La adquisición del conocimiento es una de las partes más difíciles del proceso. Esto se debe a muchos factores, en particular la tecnología de SBC ha sido fuertemente criticada, pues a la fecha no ha podido dar respuesta definitiva a problemas fundamentales como hallar una representación del sentido común. Parte del problema de extraer experiencia y conocimiento de un experto humano es la dificultad de comunicación entre un experto humano y el ingeniero de conocimiento que desarrolla el sistema. Las metodologías actuales requieren mucho tiempo de desarrollo y mucho tiempo de participación, tanto de los expertos de la aplicación (cuyo talento y tiempo son tan costoso que su proceso de toma de decisiones se desea agilizar y el desarrollo de SBC se justifica) como del ingeniero de conocimiento.

Más grave resulta el hecho de que una vez desarrollado el SBC, éste es estático, no aprende o genera nuevo conocimiento. En un dominio dinámico, esto conduce a que la costosa inversión realizada en su construcción se devalúe rápidamente por la acelerada obsolescencia del conocimiento almacenado. A pesar de que existen maneras de afinar y entonar a los sistemas expertos para hacerlos adaptativos, esto no resuelve el problema de fondo.

Como las computadoras conllevan la automatización de más y más actividades reduciendo costos y mejorando la calidad de desempeñ ;o, muchos investigadores han concentrado sus esfuerzos en el diseñ ;o y desarrollo de herramientas informáticas que apoyen la generación y actualización del conocimiento y experiencia. Muchas de éstas están agrupadas dentro del campo llamado Aprendizaje Automático.

Existen muchos enfoques respecto a cómo y a partir de qué generar conocimiento automáticamente. Los enfoques difieren tanto por su filosofía, como por lo que se supone de los datos, o tanto más como por la representación del conocimiento generado y su presentación para su uso en SBC. Los avances en uno u otro enfoque hacen que temporalmente su terminología se ponga de moda y se realicen muchos esfuerzos donde se obtienen aplicaciones muy productivas. Sin embargo, casi simultáneamente surgen limitaciones al enfoque. Como resultado, se investigan nuevos enfoques o la combinación efectiva de varios de ellos.

Aprendizaje Automático
Enfoque Limitaciones Principales Tecnologías Incorporadas en Aplicaciones
SIMBOLICO Requiere ejemplos clasificados. Dificultad en la incorporación de nuevos ejemplos. Algoritmos eficientes generadores de clasificadores como ID3 y C4.
ANALOGICO Requiere un dominio muy estructurado donde exista una métrica de similaridad. Razonamiento Basado en Casos. Sistemas efectivos de diagnóstico.
CONEXIONISTA El conocimiento generado no es representado en términos de variables por el experto. Validación compleja. Redes Neuronales.
Tabla 1. Algunos enfoques para la construcción de conocimiento.

En el Aprendizaje Automático han surgido enfoques como el Aprendizaje Simbólico, el Aprendizaje por Analogía y el Entrenamiento de Redes Neuronales. En cada una de estas áreas se continúan obteniendo avances, pero el enfoque de mayor desarrollo reciente es la Computación Evolutiva que abarca metodologías como Estrategias Evolutivas [1], Algoritmos Genéticos [3] y Sistemas Clasificadores Genéticos [6]. La tabla 1 presenta un resumen de los enfoques que hemos mencionado y sus limitaciones principales. Esta tabla es una generalización que, naturalmente, es imprecisa, pues continuamente se revisan los enfoques para disminuir sus desventajas, manteniendo sus ventajas.

2. Generación de Conocimiento

A continuación presentamos un esquema de generación de conocimiento mediante Computación Evolutiva a través de una aplicación concreta. Si bien la aplicación práctica se ha realizado en plantas de depuración de agua, esperamos que el lector pueda imaginar el esquema general y su uso en aplicaciones similares que involucren un proceso continuo donde los operadores mejorarían el desempeñ ;o y su toma de decisiones con el apoyo de un sistema experto semejante.

2.1 Características del Problema

A medida que ha ido aumentando el desarrollo industrial y la densidad de las zonas urbanas, se ha producido un deterioro de la calidad del elemento fundamental para la vida: el agua. La degradación del agua ya ha alcanzado niveles preocupantes en algunos casos y es previsible que de no atacarse el problema de su contaminación, el ritmo actual de crecimiento de la especie humana y de las actividades industriales, conducirán a serios problemas de salud, producción de alimentos, deterioro del clima , etcétera.

Las elevadas inversiones asociadas a los planes de saneamiento han llevado a que los órganos de planificación utilicen en este ámbito las técnicas más eficientes que puedan proporcionar los resultados más eficaces con costo mínimo. El problema que surge a nivel mundial en estos momentos no es tanto la construcción de grandes depuradoras sino la gestión óptima de las mismas. El problema requiere del mantenimiento de los niveles aceptables con respecto a indicadores de calidad como suspensión de sólidos, oxígeno disuelto e indicadores globales de materia orgánica, así como de la adaptación a nuevas circunstancias de operación.

Los SBC son una herramienta de gran ayuda para la toma de decisiones ante una situación de operación anormal. Esta tecnología informática permite al operador confirmar el tipo de situación anormal observada y obtener opciones de solución. Continuamente se monitorean entre 5 y 10 puntos a lo largo del proceso de depuración, obteniéndose entre 30 y 50 indicadores. Estos atributos de la operación de un día son parámetros como la tasa de consumo de óxigeno por los microorganismos en un tanque, el contenido de ciertos tóxicos a la entrada, etc. Aunque algunas de estas variables no son legibles en tiempo real (por ejemplo, la tasa de crecimiento de la biomasa), el sistema automático puede usar estas variables para identificar una situación de operación anormal y categorizarla. Algunos aspectos que complican la generación de conocimiento y que hacen atractivo el uso de la Computación Evolutiva son los siguientes:

1) El dominio es muy sofisticado y poco estructurado. Esto quiere decir que el proceso depende de muchos parámetros y evaluaciones a lo largo del mismo. Las técnicas de Ingeniería de Conocimiento son prohibitivas por lo costosas.

2) Es difícil usar sistemas tradicionales de control automático. La planta o el proceso es muy difícil de controlar fuera de rangos muy específicos de operación normal.

3) No existe conocimiento completo en los operadores. No existe experiencia con nuevo equipo o, por ejemplo, se instala un medidor de temperatura en el decantador primario y el experto tiene cierta idea de cómo aprovechar la información de este termómetro pero no tiene experiencia con él, ni cómo se relaciona con otros parámetros que usaba antes.

4) El sistema debe justificar su razonamiento, permitiendo su validación y contribuyendo a la capacitación de los operadores y a la explicación, en términos comprensibles, del proceso y sus fenómenos.

5) El conocimiento para operar el proceso se renueva constantemente. Surgen nuevas normas y estándares de calidad, las condiciones del afluente o la planta cambian de estación a estación y añ ;o con añ ;o. Se presentan situaciones de operación anormal no previstas por el diseñ ;ador de la planta o los operadores.

2.2 Objetivos

La primera función que debe realizar un SBC es la clasificación automática de las condiciones de operación de la planta. Esto es, dados los valores de todos los parámetros (los sensores, termómetros y mediciones), se debe determinar el estado de la planta como normal o no, e incluso determinar el tipo de situación de operación. En un esquema general se tomará una decisión, indicando cúal es la situación o estado, a partir de un vector de valores de los parámetros.

La segunda función es la generación de conocimiento en términos comprensibles para el operador. Esto es, en lugar de proporcionar una fórmula aritmética o un programa que al presentar el vector de valores de los parámetros obtenga un indicador de la clase de situación, el sistema debe presentar reglas sencillas en un lenguaje lógico y humanamente aceptable. Por ejemplo, el sistema debe producir reglas como:

Si el contenido de zinc es alto y el consumo de sustrato es bajo, entonces existe una situación de choque de sólidos.

La tercera función es la actualización adaptativa de las reglas de inferencia que constituyen la base de conocimiento para su renovación y actualización con el uso cotidiano.

Figura 1. Esquema de la arquitectura de generación del conocimiento.

La figura 1 presenta el esquema de la arquitectura global para la generación de conocimiento. El módulo de generación de conocimiento tiene una arquitectura como se ilustra en la figura 2.

Figura 2. Esquema de la arquitectura del generador de conocimiento.

Por razones de espacio describiremos brevemente el Generador de Conceptos y el Módulo de Actualización y Validación, y nos concentraremos en describir con más detalle el Generador de Reglas de Clasificación.

El Generador de Conceptos es un programa de agrupamiento donde los datos históricos se agrupan en clases. Esta primera etapa realiza funciones como la clasificación de todos los datos históricos en grupos donde exista alta similitud entre elementos de un grupo. Esta etapa podría realizarse simplemente con una metodología estadística de "clustering" (agrupamiento) como K-means [5], o técnicas de clasificación y formación de conceptos de la IA [2].

Sin embargo, aún estos métodos requieren información predigerida, como cuántas clases de situaciones anómalas se producirán o el radio de los grupos definidos por un centroide. En nuestro caso, el sistema determina un ejemplar por grupo a utilizarse como centro (o representante típico de la clase). En nuestra solución, varios métodos de agrupamiento compiten proporcionando diferentes propuestas a familias de clases y su desempeñ ;o está controlado por un Algoritmo Genético donde los cromosomas codifican parámetros de cada clasificador. Al incorporar esta combinación de métodos coordinados por un Algoritmo Genético, el Generador de Conceptos es robusto, eficaz y autónomo (aunque ciertamente más lento que si el usuario predefine los parámetros, lo cual también es una opción).

El módulo de Actualización y Validación revisa qué reglas han sido utilizadas más recientemente, y revisa las indicaciones de retroalimentación del usuario, así como nuevos datos para crear nuevos conjuntos de entrenamiento, rehacer conceptos y producir nuevas reglas. Las nuevas reglas que se desempeñ ;en mejor que las presentes serán incorporadas. Este módulo se encarga de eliminar reglas de bajo desempeñ ;o, ejemplos históricos muy parecidos entre sí y balancear datos históricos y nuevos datos.

Vector Centroide
-0.003838x0q_e
-0.35x1zn_e
-1.26x2ph_e
-0.08x3dbo_e
0.15x4dqo_e
-0.12x5ss_e
0.25x6ssv_e
-0.24x7sed_e
-0.38x8cond_e
-0.66x9ph_p
-0.04x10dbo_p
-0.16x11ss_p
0.25x12ssv_p
0.11x13sed_p
-0.50x14cond_p
-0.96x15ph_d
-0.009680x16dbo_d
0.51x17dqo_d
0.64x18ss_d
-0.29x19ssv_d
0.93x20sed_d
-0.40x21cond_d
-0.48x22ph_s
3.84x23dbo_s
4.38x24dqo_s
4.09x25ss_s
0.10x26ssv_s
0.44x27sed_s
-0.17x28cond_s
0.07x29rd_dbo_p
-0.52x30rd_ss_p
-0.66x31rd_sed_p
-5.11x32rd_dbo_s
-3.17x33rd_dqo_s
-6.00x34rd_dbo_g
-4.60x35rd_dqo_g
-4.38x36rd_ss_g
-0.46x37rd_sed_g
9.55radio
Explicación de las Variables
qCaudal
znConcentración de Zinc
phMedida de acidez
dboCantidad de materia orgánica
dqoConcentración de substrato
ssSólidos en suspensión
_eA la Entrada de la planta
_pEn el tratamiento primario
_dEn el tratamiento secundario
_spSalida de la planta
rd_Rendimiento diario
_gGlobal
Figura 3. Un centroide y su radio, y la
interpretación física de las variables.

2.3 El Generador Evolutivo de Reglas de Clasificación

El generador de reglas es el instrumento que permite la interpretación de las clases por el experto humano y su integración a un SBC. El resultado de un "clustering" es un listado de centroides y radios. Para una clase X, su centroide es un vector C con los valores de un día típico de operación en condiciones X, y un radio r, el cual es simplemente un valor numérico. Esto permite evaluar si el vector del día de hoy dista de C en menos que r; y en tal caso, concluir que el día de hoy está en la situación tipificada por X.

Por ejemplo, la figura 3 muestra un vector centroide de la situación de choque de sólidos y su radio. Nótese que a nosotros los humanos nos sería muy difícil decidir rápidamente si un ejemplar está o no a distancia euclidiana menor que el radio de este centroide. A pesar de que incorporar este proceso de decisión en un programa de computadora es fácil, resulta poco práctico pues no ofrece al usuario manera de interpretar las clases, de identificar qué variables son realmente relevantes a qué clase, y lo que es más importante, no es posible validar el conocimiento con la experiencia humana o el experto humano.

El SBC debe ser un sistema de apoyo a la toma de decisiones, no un evaluador mágico. El usuario debe poder revisar lo que el sistema aprendió. Esto no sólo permite validar el conocimiento, sino también elevar el nivel de discurso con el usuario logrando que éste también aprenda (obsérvese que éstas son dificultades de las redes neuronales, y uno de los elementos más delicados para la correcta aplicación del enfoque conexionista).

Figura 4. Esquema de la correspondencia entre fenotipo y genotipo.

Nuestro Generador Evolutivo de Reglas de Clasificación muestra el uso directo de un Algoritmo Genético en un sistema práctico de Aprendizaje Automático. En su versión más sencilla, los individuos de este Algoritmo Genético son reglas lógicas muy sencillas, consistentes en predicados agrupados por los conectores lógicos AND y OR. Estas reglas se codifican como árboles binarios. La figura 4 ilustra la relación genotipo con fenotipo.

El ciclo que constituye la simulación de un proceso evolutivo es análogo a cualquier Algoritmo Genético:

1. Evalúe cada regla (árbol) en cada ejemplo, obteniendo una evaluación para todo el conjunto de entrenamiento y con premios especiales a las reglas cortas.

2. Ordene las reglas en orden descendente de mérito y elimine una porción de aquellas con menor mérito.

3. Reemplace las reglas "muertas" por una prole de apareamientos aleatorios (pero sesgados según aptitud). 4. Realice un número pequeñ ;o de mutaciones y limpie las reglas.

5. Si el criterio de terminación no se satisface, regrese al paso 1. Usualmente, este criterio es la clasificación exacta de todos los ejemplares del conjunto de entrenamiento con respecto a una clase.

El procedimiento de apareamiento selecciona aleatoriamente subárboles (subexpresiones) de los padres y simplemente los intercambia. La figura 5 ilustra esto con un ejemplo. El consecuente de las reglas padre se transmite sin alteración a la prole, tanto en cruce como en mutación. Obsérvese que el número de clases fue dado por el Generador Evolutivo de Conceptos, por lo que la población de reglas está subdividida en clanes o subespecies con el mismo consecuente y el apareamiento ocurre sólo dentro de los clanes.

Figura 5. Ilustración del apareamiento de dos reglas intercambiando partes de su genotipo.

No presentaremos todos los detalles que se requieren para afinar este Algoritmo Genético (que corresponden a fijar probabilidades de cruce y mutación, tamañ ;o de la población, proporción de reglas muertas, estrategias de selección de padres, etc.). Nos concentraremos a describir con más detalle el proceso de evaluación de una regla.

Ante un vector del conjunto de entrenamiento (los datos de las variables en un día de operación), una regla responde Verdadero o Falso. Por ejemplo, ante el vector:


                v1=(0.478,-0.205,-0.447,-0.556,-0.576,
                   -0.703,0.676,-0.707,-0.371,-0.573,
                      -0.364,-0.637,0.687,-0.774,
                  -0.323,-0.561,0.823, 0.612,-0.009,
                     -0.065,0.494,-0.121,-1.655,0.117,
                        -0.008,0.293,-0.261,0.335,
                      -0.033,-1.690,-1.350,
                    1.671,0.242,0.432,-0.474,-0.445,
                             2.260,-0.0228)

la primera regla padre RP-1 de la figura 5 contesta FALSO. Interpretamos esto como que la regla RP-1 afirma que el vector v1 no es una situación de choque de sólidos. La regla RP-1 puede o no estar equivocada. Esto se verifica evaluando v1 en la clase de choque de sólidos definida por el "clustering" y para el cual tenemos un centroide y un radio (o varios en competencia). Así, por cada ejemplo del conjunto de entrenamiento existen cuatro posibilidades:
Evaluación de una Regla (árbol) en un ejemplo
Agrupamiento
(Clustering)
Regla Explicación
verdadero verdadero El dato es clasificado como perteneciente a la clase correctamente.
verdadero falso El dato es clasificado como que no pertenece a la clase equivocadamente.
falso verdadero El dato es clasificado como perteneciente a la clase equivocadamente.
falso falso El dato es clasificado como que no pertenece a la clase correctamente.

Tabla 2. Ejemplo del conjunto de entrenamiento.

Cada regla se evalúa de la siguiente manera. Por cada clasificación correcta, la regla recibe y acumula puntos positivos mientras que por cada clasificación equivocada se retiran puntos a la regla. La cantidad de puntos (por ejemplar) que se acumulan o retiran depende de la proporción de ejemplares de la clase para la que se desea obtener una regla en el conjunto de entrenamiento. Obsérvese que si sólo hay uno o dos ejemplares de la clase en el conjunto de entrenamiento (que tiene cientos de ejemplos), entonces una regla que siempre dice falso tendría una puntuación muy competitiva cuando los puntos positivos por ejemplar clasificado correctamente son equivalentes a los puntos negativos por dato clasificado equivocadamente. Por esta razón los puntos positivos son asignados en proporción al cociente de ejemplos en la clase y ejemplos fuera de la clase en el conjunto de entrenamiento.

Otro aspecto del Generador de Reglas son los predicados que constituyen las hojas de los árboles (las subexpresiones elementales). Estos predicados son predicados difusos, esto es, la frontera entre muy muy alto y muy alto es una frontera difusa. Los predicados se implementan como una distancia medida en unidades de la desviación estándar observada en la variable al promedio observado en la variable (con un factor de discretización también ajustado evolutivamente).

Finalmente, el operador de mutación es un recorrido del árbol (del genotipo). Con muy baja probabilidad se afectan componentes del árbol, y por lo tanto, por decir algo, un nodo AND puede cambiar a OR, un predicado normal puede cambiar a alto, y la variable de donde se evalúa un predicado puede cambiar de X_5 a X_21. Todos estos cambios ocurren por la negación de un bit que cambia de 0 a 1 o de 1 a 0.

La limpieza de las reglas consiste en un proceso de simplificación de las mismas. Por ejemplo, una subexpresión como (MMALTO(X_20) AND MALTO(X_20)) cuya interpretación es que los sedimentos en el tratamiento secundario deben ser muy muy altos y a su vez muy altos se substituye por únicamente MMALTO(X_20) ya que si los sedimentos son muy muy altos, también son muy altos.

2.4 Ventajas del Esquema Evolutivo Propuesto

Las ventajas de un Generador Evolutivo de Reglas del tipo que hemos presentado (en contraste a un Sistema Clasificador Genético [6]) son las siguientes:

1) No es necesario usar cromosomas de longitud fija; nuestros genotipos tienen longitud variable. Aunque ocasionalmente se obtienen reglas difíciles de interpretar por un humano, son muy sencillas en comparación a sus equivalentes en un Sistema Clasificador Genético y se logra una validación por el usuario. Se muestra el conocimiento aprendido y se pueden descubrir reglas que el usuario no ha considerado o concientizado. Se evitan procesos complejos como Asignación de Mérito y encadenamiento de reglas que hacen que los Sistemas Clasificadores Genéticos no se usen en la práctica.

2) Nuestra propuesta evita los problemas de interpretación del conocimiento del enfoque conexionista. También es un sistema de aprendizaje no supervisado. Genera sus propios conceptos.

3) Otra ventaja es el lenguaje jerárquico de expresiones que establece una relación directa entre genotipo y fenotipo. Esta cercanía garantiza una búsqueda más eficaz (recuérdese que una buena codificación es fundamental para el uso de Algoritmos Genéticos). También, es posible regular la complejidad del lenguaje agregando otros conectivos además de AND y OR, e incluso introducir parámetros de confiabilidad de una regla.

4) Una regla R1 es complementaria a la regla R2 si ambas son usadas para determinar si un ejemplar pertenece o no a una clase X pero el conjunto de atributos del ejemplar que aparecen en R1 es disjunto al conjunto de atributos que aparecen en R2. Con el enfoque evolutivo también es posible agrupar reglas en equipos de reglas complementarias, de manera que cuando todas las reglas dicen que el ejemplar pertenece a la clase, la confianza de que efectivamente el ejemplar pertenece a la clase es altísima. Se pueden obtener estimadores de confianza de acuerdo a la concordancia o número de desacuerdo del equipo de reglas. El mecanismo evolutivo obtiene reglas complementarias al repetirse el proceso pero erradicando de la población reglas que usan variables y predicados de reglas que resultaron de procesos anteriores.

5) Finalmente, el proceso de generación de reglas se transforma naturalmente a un proceso de mantenimiento y actualización del conocimiento.

3. Conclusiones

La Computación Evolutiva es una tecnología en proceso de maduración. Con ella se pueden salvar muchas de las dificultades enfrentadas por otros enfoques para la generación de conocimiento a explotarse por sistemas expertos [7]. Un SBC, como su nombre lo indica, es útil en la medida en que su base de conocimiento es representativa de la experiencia y conocimiento necesarios para concluir y desarrollar inferencias en un dominio específico. Existen dominios de aplicación donde es posible aplicar Computación Evolutiva como un proceso de generación de conocimiento interpretable por el humano.

La generación automática de conocimiento es hoy un proceso realizable en una computadora con un mínimo de supervisión, retroalimentación y supuestos. Existen aplicaciones prácticas donde este proceso automático ha sido de gran ayuda. En particular, en el campo del control de plantas depuradoras de agua, este tipo de técnicas han logrado revisar las clases de situaciones de una planta propuestas por un experto humano, recordándole situaciones pasadas que se le olvidó mencionar en una entrevista. También se ha logrado refinar las clases propuestas por expertos humanos, e incluso identificar las variables o sensores más relevantes para la identificación y discriminación de una situación anormal entre otras situaciones anormales similares. El sistema evolutivo propone y renueva las reglas que difícilmente un usuario habría podido expresar en un lenguaje lógico. Asimismo, el sistema puede mostrar la relevancia de un nuevo sensor o medidor y su utilidad de discriminación entre clases, nuevamente, en términos comprensibles al usuario.

Las Redes Neuronales y los Algoritmos Genéticos son considerados enfoques de modelado muy finos, simulando procesos naturales microscópicos, cuyo comportamiento emergente resulta en un comportamiento deseable. En este artículo hemos demostrado cómo integrar el enfoque evolutivo al nivel de lógicas de predicados conducente a la construcción adaptativa de Bases de Conocimiento.


Referencias


Vladimir Estivill Castro. Es Doctor en Computación de la Universidad de Waterloo, Canadá. Es Investigador Titular en el Laboratorio Nacional de Informática Avanzada (LANIA), en Xalapa. Sus áreas de interés son algoritmos adaptativos, aprendizaje automático, automatización, tecnología informática para el negocio bancario y arquitectura de sistemas, entre otras.

E-mail: vlad@xalapa.lania.mx

Joan de Gracia Blanco. Es Ingeniero Químico, Candidato a Doctor de la Unidad de Ingeniería Química de la Universidad Autónoma de Barcelona. Ha sido asesor en la automatización de procesos de tratamiento de agua en la cuenca del río Llobregat en Cataluñ ;a para varias plantas depuradoras de agua. Su interés se centra en las aplicaciones de la inteligencia artificial a los procesos industriales del sector químico. NE: Recomiendo al lector el libro "Los Límites del Crecimiento", de Dennis L. Meadows, publicado en español por el Fondo de Cultura Económica, para comprender los predicamentos de la humanidad si no actuamos de inmediato.