Vous êtes sur la page 1sur 8

Sistema Experto: Clasificacin de animales segn su taxonoma

Pablo Gonzlez-Ripoll Cerezo


Estudiante Ing. Telecomunicacin E.P.S. Universidad Carlos III Legans, Madrid

Laura Lucas Rodrguez


Estudiante Ing. Telecomunicacin E.P.S. Universidad Carlos III Legans, Madrid

pablo.gripoll@alumnos.uc3m.es

laura.lucas@alumnos.uc3m.es

SNTESIS
En esta disertacin desarrollamos un Sistema Experto capaz de decidir el grupo taxonmico al que pertenece un ejemplar animal en estudio.

Trminos generales
Algoritmos, Documentacin, Diseo, Lenguajes, Teora.

a estudiar ya est consensuada, y se ha hecho un rbol filogentico de los mismos. Si bien la definicin de la Taxonoma tiene una larga historia, hoy en da se ocupa de decidir qu clados (grupos monofilticos, coincidentes con nodos del rbol) se convertirn en taxones, ubicados en sus correspondientes categoras taxonmicas. Los Cdigos reglamentan las siguientes 7 categoras taxonmicas: Reino, Filo, Clase, Orden, Familia, Gnero y Especie.

Palabras clave
Sistema Experto, Clasificacin, Animal, Taxonoma, Reino, Filo, Clase, CLIPS, JESS.

1. INTRODUCCIN
Desde la aparicin de las maquinas, siempre se ha perseguido un mismo fin, conseguir transmitir a stas todo el conocimiento humano para as poder facilitar las tareas al hombre. Este objetivo se comparte tambin en una de las ramas de la Inteligencia Artificial, la cual persigue que un mero robot sea capaz de comportarse como un hombre y tomar sus propias decisiones. Para poder llevar a cabo esta tarea se cuenta con distintos procesos que simulan el aprendizaje y decisiones de la maquina. Este tipo de sistemas se acotan en un pequeo campo de conocimientos, y son conocidos como Sistemas Basados en Conocimiento (SBC) o bien Sistemas Expertos, mediante los cuales con unas sencillas reglas podemos llegar a grandes conclusiones con gran rapidez y facilidad. Dichos sistemas se pueden aplicar en todos los campos de la ciencia, aunque en este caso se destinar a la biologa. Para un investigador en este campo, que estudia las caractersticas de un ejemplar animal, resulta interesante disponer de un procedimiento que le facilite el proceso de su identificacin. En este estudio se desarrolla un Sistema Experto destinado a la investigacin en zoologa, que permitir la clasificacin de animales dentro de los grandes taxones de este Reino, a partir de su observacin. Figura 1. Taxonoma y Filogenia.

2.1 Reino
Reino es cada una de las grandes subdivisiones en que se consideran distribuidos los seres vivos, por razn de sus caracteres comunes. En la actualidad, reino es el segundo nivel de clasificacin por debajo del dominio. La clasificacin ms aceptada es el sistema de los tres dominios con cuatro reinos que se presenta a continuacin: (Puesto que Archaea y Bacteria no se han subdividido, se pueden considerar tanto dominios como reinos).
Dominios Archaea Bacteria Eukarya Animalia Plantae Fungi Protista Reinos

2. CLASIFICACIN DE ANIMALES
La Taxonoma es la subdisciplina de la Biologa Sistemtica que toma lugar una vez que las relaciones de parentesco de los grupos

Tabla 1. Reinos.

2.2 Filo (Phylum)


En zoologa, el Filo (Phylum) o Divisin es una categora taxonmica que est entre el Reino y la Clase, y se utiliza para subdividir el Reino Animal y el Reino Protistas. El filo es la subdivisin bsica del Reino animal y puede definirse como una agrupacin de animales basada en su plan general de organizacin. As, animales tan diversos como las almejas, los caracoles o los pulpos pueden agruparse en el filo Mollusca al presentar un plan bsico de organizacin comn. A pesar de que existen casi 40 filos, la inmensa mayora de los animales pertenecen a alguno de los 9 filos siguientes: Arthropoda, Mollusca, Porifera, Cnidaria, Platyhelminthes, Nematoda, Annelida, Echinodermata y Chordata. De hecho, ms del 80% de las especies animales estn incluidas en el filo Arthropoda.

3. SISTEMA EXPERTO
Como bien indica su nombre, un Sistema Experto (SE) simula el comportamiento de un humano en un campo muy reducido de conocimiento. Mediante ellos se consigue la resolucin de problemas de distinta ndole, lo cual ayuda al humano (imprescindible en todo momento) a sacar las conclusiones oportunas. Un SE debe cumplir dos caractersticas primordiales: 1. Capacidad de explicacin para todas y cada una de sus reglas. 2. Adquisicin de nuevos conocimientos para poder ampliar la ayuda que proporciona al humano. Para poder conseguir todo lo mencionado anteriormente el SE se basa en una serie de reglas mediante las cuales se puede construir un rbol de decisin. Posteriormente, este rbol ser usado para poder llegar a una conclusin sencilla. Un sistema experto esta compuesto por distintas partes que se enlazan como vemos en la figura 3.

2.3 Clase
La Clase es una categora taxonmica situada entre el filo o divisin y el orden. Si la clasificacin lo requiere pueden intercalarse nuevas categoras entre la clase y el filo; la ms usada es la superclase; del mismo modo, pueden intercalarse categoras entre la clase y el orden; se usan con frecuencia la subclase y la infraclase. En animales y bacterias no hay obligacin de un sufijo concreto para nombrar las clases ni las subclases (Mammalia, Insecta o Cephalopoda; Bacilli o Mollicutes).

Memoria de trabajo

Figura 3. Estructura general de un Sistema Experto. A continuacin se detallan las principales partes de un sistema experto.

3.1 Base de conocimientos


Se trata de la parte del Sistema Experto donde se encuentran los conocimientos sobre el dominio. stos son extrados de un humano y codificados en una serie de reglas que le permiten al sistema seguir el razonamiento que seguira el experto, en este caso el bilogo. Comnmente las reglas suelen seguir una estructura condicional: tpicamente con el formato SI ocurre esto ENTONCES pasa esto. Figura 2. Clase como categora taxonmica. Se muestra a continuacin una de las reglas del SE implementado como ejemplo.

Si [r1] = "El cuerpo del organismo es una simple clula eucarionte, o muchas clulas funcionando como una colonia." Entonces [el animal pertenece a] = "Reino Protista"

3.4.1 CLIPS
Conocido as por el significado de sus siglas en ingles C Language Integrated Production System (Sistema de produccin integrado en lenguaje C), fue creado por la NASA en 1986 como una herramienta para el desarrollo de Sistemas Expertos. Fue desarrollado para intentar solventar todos los problemas existentes para estos sistemas en LISP. A pesar de su antigedad sigue siendo uno de los lenguajes ms utilizados por su integrabilidad, facilidad, eficiencia y rapidez sin olvidar su fcil obtencin debido a que es gratuito. Adems se dispone de interfaces y herramientas en otros lenguajes como JESS (utilizado en nuestro caso) y otras extensiones para lgica borrosa (FuzzyCLIPS). Otro punto a tener en cuenta es que esta herramienta soporta programacin lgica, imperativa y programacin orientada a objetos. Se trata de un entorno en el que incluye un sistema de encaminamiento de la verdad con encaminamiento hacia delante, una adicin dinmica de reglas y hechos y diferentes estrategias para la resolucin de conflictos. Al igual que otros lenguajes para Sistemas Expertos, CLIPS trabaja con reglas y hechos (facts). Los hechos permiten que alguna regla sea aplicable. A continuacin podemos ver un ejemplo de una asociacin de hechos. En ella se puede deducir que la primera palabra representa la relacin entre los siguientes hechos.
(deffacts hechos-del-vehiculo informacin del vehculo (marca Citroen) (modelo Xsara Picasso) (puertas 5) )

Ejemplo 1. Ejemplo de regla generada.

3.2 Memoria de trabajo


Se encarga de almacenar hechos que son relacionados con conocimientos mediante consultas, durante el uso del sistema experto. De esta manera se pueden ir adquiriendo nuevos conocimientos que sern aplicados en consultas futuras. Es la manera que tiene el SE de aprender.

3.3 Motor de inferencia


Es el modulo mas importantes de todos los anteriores, es el encargado de trabajar con los datos tanto de la base de conocimientos como de la memoria de trabajo para llegar a conclusiones en nuevas situaciones. Es el encargado de usar todas las reglas de las que se dispone para construir el rbol de decisin y llegar as a una conclusin que se puede mostrar usuario del SE, por tanto es el que simula el comportamiento humano.

Ejemplo 2. Conjunto hechos en CLIPS. Figura 4. Ejemplo rbol de decisin. En el siguiente esquema podemos observar como se construye una regla en CLIPS.
(defrule <nombre-regla> [<descripcin opcional>] [(declare (salience <num>))] (patrn 1) (patrn 2) ... (patrn N) => (accin 1) (accin 2) ... (accin N) )

3.4 Mtodos de implementacin


Tras conocer lo que es un sistema experto se puede pasar a resumir las distintas maneras de realizar uno. Puesto que esta compuesto por una seria de reglas de tipo condicional, puede ser implementado casi en cualquier lenguaje de programacin pero normalmente se suelen usar lenguajes lgicos para ello. Algunos de los lenguajes que se suelen usar son los siguientes: Prolog CLIPS JESS Procediendo en el siguiente punto a la explicacin de los usados para la implementacin de este sistema experto, en este caso JESS aunque se proceder tambin a la explicacin de CLIPS puesto que JESS es una evolucin del mismo en Java.

Ejemplo 3. Reglas en CLIPS.

A la hora de definir las reglas para obtener un cdigo ms legible y simplificado, podemos hacer uso, como en la mayora de lenguajes, de variables. Una variable se diferencia porque delante del nombre ponemos el smbolo de cierre de interrogacin. Asignamos valor a las distintas variables mediante las sentencias:
---Declaracin e impresin variable --(bind ?x Hola) (printout t ?x clrf)

Sigue el mismo procedimiento que LEX pero mirando solo el primer patrn. En todos los casos partimos de que antes de aplicar la regla de resolucin de conflictos, se ordena la agenda (dndose prioridad a las reglas ms recientemente activadas), no pudiendo diferenciar entre reglas que son activadas por la asercin de los mismos hechos. A la hora de comparar todos los patrones, se debe tener en cuenta la existencia de patrones avanzados en los cuales podemos imponer restricciones mediante: Negacin (~) Conjuncin (&) Disyuncin (|)

Ejemplo 4. Variables en CLIPS. Tambin podemos definir variables globales mediante el uso de la sentencia defglobal. Una vez definido todo lo anterior, podemos proceder a definir el motor de inferencias, que ser el encargado de emparejar los hechos con cada una de las reglas, siguiendo una estrategia de resolucin de conflictos u otra. Para ello, cuando una regla tiene sus patrones totalmente emparejados se considera que esta activa. El motor de inferencias se basa en una serie de rdenes que se muestran a continuacin:
(facts): lista los hechos de la MT (assert <hecho>): aade el hecho a la MT (retract <ref-hecho>): elimina el hecho de la MT (clear): elimina todos los hechos de la MT (reset): elimina todos los hechos de la MT

Adems, tambin se pueden unir patrones mediante las relaciones lgicas or, and y not. Teniendo en cuenta todo lo anterior, podremos comparar los patrones mediante funciones de evaluacin:
(test <funcin-booleana> <arg>) ?variable&:(<funcin-booleana> <arg>)

Ejemplo 6. Funciones de evaluacin. O bien utilizando funciones booleanas (son las utilizadas en este proyecto): lgicas: or, not, and. Comparacin numrica: =,<>, >=, >, <=, < Comparacin de otro tipo: eq, neq. Funciones predicado: stringp, numberp, evenp, lexemep, symbolp, ...

Ejemplo 5. rdenes bsicas en CLIPS. Despus de todo esto, slo nos queda decidir cul es la estrategia de resolucin de problemas que seguiremos para nuestro Sistema Experto. Estrategia en profundidad (Depth) (es la utilizada por defecto). Estrategia en anchura (Breadth). Estrategia de simplicidad/complejidad. En las que el criterio de ordenacin es la especificidad. Estrategia aleatoria. A cada activacin se le asigna un nmero en el orden de la agenda. Esa asignacin se conserva durante todas la ejecuciones. Estrategia LEX. Se asigna a cada hecho el tiempo en el que fue creado, dando prioridad a los hechos realizados con posterioridad y comparando los patrones en orden descendente. Estrategia MEA.

Finalmente podemos definir distintas funciones siguiendo la semntica indicada:


(deffunction <nombre-fun> [comentario] (?arg1 ?arg2 ...?argM) (<accin 1> ... <accin K>) )

Ejemplo 7. Definicin de funciones. Algunas funciones muy utilizadas que ya vienen implementadas son: printout t <variable>: Imprime por pantalla la variable. (read): Lee una palabra. (readline): Lee una lnea.

Adems de todo lo indicado anteriormente, para poder realizar un control del flujo, en CLIPS tambin podemos utilizar distintos bucles tipo while o estructuras condicionales if then else. Pudiendo utilizar adems clases y objetos. Finalmente, resta por mencionar las sentencias necesarias para editarlo un programa (edit), cargarlo (load), ejecutarlo (run, realizando previamente un reset) y guardarlo (save).

3.4.3 CLIPS vs. JESS


En primer lugar se presentan algunos datos interesantes de cara al uso de CLIPS y JESS:
JESS Ao de primera versin Disponibilidad para uso no comercial Disponibilidad para uso comercial 1995 Libre Negociable (EEUU libre) CLIPS 1986 Libre Negociable

3.4.2 JESS
Como ya se ha mencionado, se trata de una consola para sistemas expertos en Java basada en CLIPS (JESS: Java Expert System Shell). Hoy en da existe una estrecha relacin entre la programacin lgica y el lenguaje Java, de esta relacin han nacido muchas aplicaciones que son de mucha ayuda, una de ellas es JESS. Este programa muestra las ventajas de esta unin entre la programacin lgica y Java ya que JESS es muy portable, de mayor poder y a la vez muy flexible. Adems se sabe que otra ventaja es que con esta unin se obtienen mayores beneficios si lo que se desea es poder representar el conocimiento. JESS fue originalmente creado como un clon del ncleo esencial de CLIPS, pero ha comenzado a adquirir su propia fama gracias a la creciente influencia de sistemas desarrollados en Java. Como dicen sus autores "JESS se ha convertido en la forma ms prctica de aportar a las aplicaciones y applets Java la capacidad de "razonar"". Como principal novedad con respecto a CLIPS, cabe mencionar su versatilidad en el mundo de la web, pues al tratarse de Java, puede formar parte de aplicaciones de tipo applet o incluirse en navegadores. No obstante, no suele ser recomendable, pues normalmente supone una carga excesiva (ocupa bastante) y es mejor ubicarlo en el servidor. Se puede trabajar con JESS tanto desde la consola, como embebiendo el sistema en la plataforma Eclipse.

Tabla 2. CLIPS vs. Jess Tanto CLIPS como JESS son productos con gran apoyo en Internet, pero CLIPS parece tener un pblico ms amplio, probablemente por su antigedad. Esta antigedad ha convertido a CLIPS en un sistema ms completo y estable, mientras que los usuarios de JESS an siguen sufriendo la existencia de algunos bugs menores. Es por esto que JESS se actualiza constantemente y el autor, Ernest Friedman-Hill, lleva a cabo regularmente nuevas versiones y correccin de errores. Hoy en da, la eleccin entre JESS y CLIPS depende de la aplicacin. Si es basado en web o en forma de applet, la eleccin de JESS es muy lgica (incluso respaldada por los autores de CLIPS). Para las aplicaciones ms clsicas, CLIPS probablemente sea el elegido debido a su reputacin como el sistema ms estable y al gran apoyo del que goza. El futuro de JESS depende altamente de la evolucin de la web, el lenguaje de programacin Java y su propia estabilidad futura. Estas tres condiciones hacen que sea altamente probable que JESS se convierta en uno de los sistemas ms populares y ms utilizados. Especialmente la orientacin a objetos y la posibilidad de fcil integracin en el cdigo Java le otorgan a JESS un futuro muy prometedor.

4. IMPLEMENTACIN
A la hora de realizar el diseo de este Sistema Experto, la solucin final se bas en la facilidad de uso para el usuario, decantndose finalmente por la sencillez de las preguntas (buscando respuestas afirmativas o negativas para continuar con el estudio). Basndose en ese planteamiento, se comienza haciendo las preguntas ms generales del animal, para ir avanzando en el nivel de exactitud de las mismas hasta obtener una respuesta. La mayora de las reglas empleadas al seguir el procedimiento anterior se basan en funciones condicionales (if <condicion> then <accion> else <accion2>). Para facilitar el uso del sistema y evitar al usuario tener que responder a las preguntas mediante TRUE o FALSE, se implementaron dos funciones que permiten la traduccin de las respuestas en los valores booleanos correspondientes. Admitindose, as, que las respuestas puedan ser s/s (para caso afirmativo) y n/no (para el negativo).

Figura 5. JESS en Eclipse.

Finalmente, se hace uso de una nueva regla para recopilar la informacin obtenida de las preguntas anteriores y mostrar por pantalla al usurario la conclusin alcanzada tras las preguntas respondidas.

6. PRUEBAS
Una vez presentados tanto las herramientas de las que se hacen uso, como el funcionamiento del sistema desarrollado, se procede a mostrar una serie de ejemplos visuales del funcionamiento de la aplicacin. Si seguimos la cadena de respuestas, observando las imgenes, se puede confirmar su correcto funcionamiento.

5. EJEMPLO
Una vez explicado el desarrollo de los procedimientos necesarios para el funcionamiento del Sistema Experto, nos centramos, a continuacin, en el anlisis de la interfaz con la que interacta el usuario. Simulamos, para ello, el procedimiento que seguira y las decisiones que tomara un usuario, en el supuesto de que quisiera identificar el taxn al que pertenece el animal mostrado en la imagen.

6.1 Ejemplar de clase Protista


Iniciamos las pruebas con el caso ms sencillo que puede darse, consistente en llegar a la solucin en un nico paso. Tratndose en ese caso de el animal ms sencillo a clasificar, mostramos a continuacin una foto de los mismos con las preguntas a responder en la captura de pantalla de la consola durante la prueba.

Figura 7. Ejemplar de la clase Protista. Figura 6. Ejemplo de ejemplar en estudio. En la interfaz del Sistema Experto iran apareciendo sucesivas preguntas cuya respuesta ser s/no. El usuario seleccionara la condicin que mejor describiera las caractersticas observadas en el animal que se quiere clasificar, hasta obtener una solucin (taxn al que pertenece).

- El cuerpo del organismo es una simple clula ecuarionte, o muchas clulas funcionando como una colonia? No - El cuerpo forma masas irregulares con paredes rugosas, speras y perforadas por numerosos poros? No - Hay ausencia de ano o falta por completo el sistema digestivo? No - Se observa simetra radial o bilateral? S - Es visible una verdadera metamera? S - Se observan articulados? S apndices locomotores

Figura 8. Captura de pantalla del SE para clase Protista. Si observamos el inicio de la Figura 8, podemos ver como comenzar a trabajar con JESS (solo ser mostrado en esta prueba). En este caso se trabaja en Linux, variando con respecto a Windows que en el segundo caso hay que aadir el formato del fichero (jess.bat). Seguidamente se muestra como se ejecuta nuestro programa en JESS, mediante la lnea (batch ../se_animales.clp) en la cual se indica primero que queremos ejecutar un programa mediante la instruccin batch y seguidamente la ruta del fichero a ejecutar (en este caso una carpeta por encima de la ruta en la que nos encontramos).

- Se observan antenas? No Resultado del estudio: Clase Arachnida.

Ejemplo 8. Interaccin con usuario.

6.2 Ejemplar de clase Trematoda


Para realizar una prueba ms exhaustiva del SE, se decidi buscar un animal con una clasificacin que implicase un mayor nmero de preguntas por parte de la mquina, y por tanto un mayor grado de dificultad. Finalmente la prueba resulto exitosa y el resultado fue el esperado, el cual se muestra a continuacin con las siguientes imgenes.

Figura 9. Ejemplar de la clase Trematoda.

Figura 12. Captura de pantalla del SE para clase Hydrazoa.

6.4 Ejemplar no presente en la base de conocimientos


Puesto que nuestro sistema ha sido desarrollado con una extensin bastante limitada, obviamente habr ejemplares animales que se escapen a la base de conocimientos. Finalmente, a continuacin, se muestra una prueba en la que la sucesin de preguntas lleva a una de estas situaciones.

Figura 10. Captura de pantalla del SE para clase Trematoda.

6.3 Ejemplar de clase Hydrozoa


Para asegurar el correcto funcionamiento del SE en todos los casos, se decidi realizar otra prueba, que a simple vista puede resultar parecida a la anterior, pero cuya complejidad se basaba en que el camino de preguntas se bifurca llegados a un punto. Por tanto, poda ser causa de fallo por tener que realizar un camino distinto al anterior. En este caso el resultado, como se puede observar en las imgenes, tambin fue exitoso, pudiendo confirmar tras dicha prueba el correcto funcionamiento del sistema en todos aquellos casos en los que el animal se encuentra en su base de conocimientos.

Figura 10. Captura de pantalla del SE para la no existencia de coincidencias.

7. CONCLUSIONES
Tras realizar este proyecto hemos podido observar la gran utilidad de los Sistemas Expertos en todas las materias, pero especialmente en la Biologa. Para un experto humano realizar clasificaciones con la variedad tan exagerada de taxonomas, y por tanto de clases, supondra un consumo de tiempo muchsimo mayor. A pesar de todo ello, seguimos opinando que pese a no necesitar un numero tan elevado de investigadores con el SE, se Figura 11. Ejemplar de la clase Hydrozoa.

necesitara un experto que supervisase el trabajo del sistema y su correcto funcionamiento. Por otro lado hemos tenido la oportunidad de trabajar con JESS y poder apreciar cmo estn estructurados los lenguajes orientados a la realizacin de SE con respecto a otros, como puede ser C. Y se puede apreciar facilmente durante su uso, la sencillez de los primeros a la hora de programar sistemas de este estilo.

fiabilidad, indicndole si existe la posibilidad de fallo, segn haya sido el estudio y las preguntas a las que el usuario haya respondido. Para poder realizar este cambio se debera contar a la hora de implementacion con la ayuda de un experto que tuviera la capacidad de decidir si la maquina estuvo acertada en la clasificacin o no. Desde el punto de vista del desarrollador, aadir esta funcionalidad supondra incluir una funcin ms en el programa.

8. AMPLIACIONES Y LNEAS FUTURAS


En este estudio, obviamente, no pretendemos realizar una Sistema Experto capaz de satisfacer las necesidades de un verdadero investigador zologo. Ms bien, planteamos el esqueleto de lo que podra ser una aplicacin de verdadera utilidad en este mbito profesional.

9. REFERENCIAS
[1] Padilla lvarez, F., Cuesta Lpez, A. 2003. Zoologa Aplicada. Ediciones Daz Santos S.A. [2] Hickman, P., Roberts, L., Larson, A. 2002. Principios Integrales de Zoologa. McGrawHill/Interamericana de Espaa, S.A.U. [3] Brusca, R. C. & Brusca, G. J., 2005. Invertebrados, 2 edicin. McGraw-Hill-Interamericana, Madrid , XXVI+1005 pp. ISBN 0-87893-097-3. [4] Apuntes de la asignatura sobre Sistemas Expertos [5] http://www.monografias.com/trabajos16/sistemasexpertos/sistemas-expertos.shtml [6] http://es.wikipedia.org/wiki/Sistemas_Expertos [7] Informacin CLIPS http://clipsrules.sourceforge.net/OnlineDocs.html [8] Apuntes de CLIPS en espaol por Aitor San Juan Snchez [9] Apuntes asignatura Inteligencia en Redes de Comunicaciones curso 2007/2008 [10] Prcticas asignatura Inteligencia en Redes de Comunicaciones curso 2007/2008 [11] http://es.wikipedia.org/wiki/CLIPS [12] Programa JESS http://www.jessrules.com/jess/download.shtml [13] Reglas de JESS http://www.jessrules.com/jess/docs/71/

8.1 Reglas
De lo aclarado anteriormente se desprende la conclusin de que la base de conocimientos de nuestro sistema debe calificarse de muy limitada, entendindose, por tanto, que la mejora inmediata que debera plantearse es aumentar la lista de reglas de la que se dispone. En esta hipottica etapa de desarrollo del proyecto, sera fundamental contar con la colaboracin de un verdadero experto investigador en Biologa, que fuera quien planteara nuevas reglas, capaces de abarcar un espectro mucho ms extenso.

8.2 Aprender de los fallos


Como se ha observado en una de las pruebas, en las ocasiones en que las respuestas dan lugar a un ejemplar fuera de la base de conocimientos, nicamente se muestra por pantalla un mensaje que indica dicha situacin. En una posible versin mejorada podra plantearse la posibilidad de incluir una nueva funcionalidad en estos casos. Una opcin podra ser aadir nuevas reglas con ayuda del usuario cuando una de estas situaciones se alcanza. Es decir, en el caso de que se llegue a una combinacin de respuestas tal que el resultado no coincida con ninguna de las clases animales presentes en la base de conocimientos, el sistema podra informar al usuario de este hecho y posteriormente preguntarle si desea aadir una nueva regla que contemple el caso en estudio.

8.3 Clculo de la fiabilidad del resultado


Otra de las mejoras que puede resultar intersante desde el punto de vista del experto, es poder ofrecer a ste un porcentaje de