TECNOLÓGICO NACIONAL DE MÉXICO Instituto Tecnológico Superior de la Montaña INSTITUTO TECNOLÓGICO SUPERIOR DE LA MONTAÑA Extensión Académica Iliatenco Ingeniería en Sistemas Computacionales Materia: Taller de investigación II Proyecto: Sistema experto para el diagnóstico y tratamiento de enfermedades del café Estudiante: Marco Antonio Ramírez Estrada No. de Control: S14122026 Asesor: ING. Raúl Guzmán Corona Semestre: 9° Grupo: A liatenco, Guerrero. Junio de 2019 Índice 1. Introducción.............................................................................................................................................1 1.1 Planteamiento del problema..............................................................................................................2 1.2 Objetivos............................................................................................................................................... 3 1.3 Justificación..........................................................................................................................................4 1.4 Preguntas de investigación............................................................................................................... 6 2. Antecedentes..........................................................................................................................................7 3. Iliatenco....................................................................................................................................................7 3.1 Reseña histórica..................................................................................................................................7 3.2 Ubicación geográfica.......................................................................................................................... 8 4. Café.......................................................................................................................................................... 9 4.1 Aspectos Generales Sobre el Cultivo del Café.............................................................................. 9 4.1.1 Altitud............................................................................................................................................. 9 4.1.2 Precipitación................................................................................................................................. 9 4.1.3 Temperatura................................................................................................................................10 4.1.4 Humedad relativa.......................................................................................................................10 4.1.5 Viento...........................................................................................................................................10 4.2 Enfermedades............................................................................................................................. 10 4.2.1 Broca.................................................................................................................................... 10 4.2.2 El ojo de gallo...................................................................................................................... 11 4.2.3 La roya del café...................................................................................................................11 5. Herramientas............................................................................................................................................12 5.1 Prolog.................................................................................................................................................. 12 5.1.1 Evolución Histórica....................................................................................................................12 5.1.2 Esquema general de trabajo en Prolog................................................................................. 13 5.2 SWI-Prolog......................................................................................................................................... 14 6. Sistema Experto...................................................................................................................................15 6.2 Estructura........................................................................................................................................... 15 6.3 Tipos de sistemas expertos.............................................................................................................16 6.3 Ventajas y limitaciones.....................................................................................................................18 7. Metodologías para el desarrollo de un sistema experto............................................................... 19 7.1 Metodología Grover.......................................................................................................................... 20 7.2 Metodología IDEAL...........................................................................................................................22 7.3 Metodología BGM............................................................................................................................. 26 8. Formulación del conocimiento fundamental................................................................................... 28 9. Consolidación del conocimiento basal.............................................................................................29 Conclusión.................................................................................................................................................... 32 Bibliografía.................................................................................................................................................... 33 1. Introducción La humanidad siempre a tenido la curiosidad acerca de como la mente humana trabaja y esta fascinada por las maquinas inteligentes. Podemos ver como la gente desea entender y aún crear inteligencia. Desde un punto de vista simple se puede decir que la Inteligencia Artificial es la capacidad de un dispositivo de desarrollar funciones que son normalmente asociadas con la inteligencia humana, como lo es el razonamiento y optimización a través de la experiencia. Dentro de la I.A existen los Sistemas Expertos que se han definido como aquellos programas que se basan en el conocimiento y tratan de imitar el razonamiento de un experto para resolver un problema de un tópico definido. Su comportamiento se basa generalmente en reglas, es decir, se basa en conocimientos previamente definidos, y mediante estos conocimientos, los SE son capaces de tomar decisiones. 1 1.1 Planteamiento del problema En la agricultura se presentan problemas que necesitan de un breve estudio y de una solución inmediata para evitar pérdidas del cultivo como de dinero. Las hectáreas agrícolas en el municipio de Iliatenco Gro, en su mayoría, son utilizadas para los cultivos de café, ninguno de estos está totalmente segura de poder evitar el daño de algún tipo de enfermedad. La producción de café se ha convertido en un negocio con dificultades que requiere la integración de conocimiento, además de la información de muchas fuentes. Para permanecer competitivo, el agricultor moderno con frecuencia confía en expertos agrícolas y consejeros que les proporcionan información para la toma de decisiones en sus cosechas. Pero lamentablemente, la ayuda de los especialistas agrícolas no está siempre disponible cuando el agricultor la necesita. En la actualidad los sistemas expertos se destacan entre las herramientas de soporte para la toma de decisiones. Han sido diseñados para múltiples campos de aplicación y proporcionar equivalentes resultados de un especialista emulando la capacidad humana de tomar decisiones de acuerdo a las condiciones del contexto. Por lo tanto se tiene como objetivo aplicar la tecnología de los Sistemas Expertos, realizando el modelado y desarrollo del “Sistema Experto Detector de enfermedades en las plantas de café” para ayudar al control de enfermedades en los cultivos de Café en el municipio de Iliatenco Gro, brindar información acerca de ellas y de los distintos problemas que pueden tener en el proceso, así como proporcionar un tratamiento con la posibilidad de tratar el cultivo de dos formas, con químicos o de forma orgánica, para que este sirva de soporte a estas enfermedades que afectan al sector agrícola cafetalero. 2 1.2 Objetivos General Desarrollar un sistema experto para el diagnóstico de enfermedades del café en el municipio de Iliatenco. Específicos Buscar en diversas fuentes información que permita dar una explicación detallada de los síntomas de las enfermedades del café Utilizar las metodologías Grover e Ideal para el desarrollo del sistema experto. Hacer uso del lenguaje de programación prolog para la construcción del sistema experto. Identificar las enfermedades que atacan con mayor frecuencia las plantas de café en el municipio de Iliatenco. Proporcionar un tratamiento a la enfermedad de café detectada. 3 1.3 Justificación Actualmente los agricultores de café del municipio de Iliatenco no cuentan con herramientas o información sobre las enfermedades y tratamiento de los cafetales que les facilite a los productores identificar cuál es la enfermedad que ataca a su cultivo, al mismo su tratamiento para evitar pérdidas de producción e inversión, por ello es necesario el desarrollo de este sistema experto para que proporcione la información adecuada antes mencionada, ya que es fundamental que los productores de café del municipio conozcan las enfermedades que con mayor frecuencia atacan a su cultivo por que dicha producción es una fuente fundamental de ingreso económico para muchas familias. El desarrollo de este sistema experto se realizará tomando en cuenta que el agricultor conoce cuáles son los síntomas mediante las afectaciones que presenta la planta de café, pero desconoce cual es la enfermedad y tratamiento, de acuerdo a ello, el sistema experto le mostrará preguntas relacionadas a las enfermedades de café que afectan al municipio, donde el agricultor solo responderá si o no y mediante a ello el sistema experto determinará cuál es la enfermedad y su tratamiento. La implementación de este sistema experto beneficiará directamente a los agricultores del municipio de Iliatenco, debido a que proporcionará información de enfermedades y tratamiento que facilite controlar las enfermedades del café para evitar riesgos de contagio y reducir su propagación evitando así pérdidas de producción. 4 Cronograma de Actividades 5 1.4 Preguntas de investigación ¿Cómo desarrollar un Sistema experto para el diagnóstico de enfermedades del café en el municipio de Iliatenco? 6 2. Antecedentes Nombre y fecha CADUCEUS 1980 Autores Harry Pople Resultado Pretendía mejorar el MYCIN,sistema focalizado sobre las bacterias infecciosas de la sangre (Nebendahl, 1991). 3. Iliatenco Iliatenco es uno de los 81 municipios que conforman el estado de Guerrero, al sur de México. Forma parte de la región de La Montaña de la entidad, y su cabecera es la población de Iliatenco. 3.1 Reseña histórica Según Wikipedia (s.f.), Iliatenco fue fundado en 1866 por 38 familias provenientes de Malinaltepec. El 5 de enero de 1890, el Congreso local le otorgó la categoría de pueblo. Los primeros pobladores se dedicaban al cultivo del algodón, cuyo producto transformaban en hilo para la elaboración de telas; cultivaban además caña de azúcar, maíz, frijol, aguacate, mango, cítricos y piña. Los dirigentes de esta comunidad formalizaron diversas solicitudes para la creación del municipio; la primera el 2 de noviembre de 1968 y la última el 24 de julio de 2004. En sesiones de cabildo de 22 de septiembre de 2004 y 8 de noviembre de 2004, los ayuntamientos de Malinaltepec y San Luis Acatlán, respectivamente, dieron su consentimiento para la conformación del nuevo municipio con parte de su territorio. Al revisar la Comisión Dictaminadora del Congreso del estado, en marzo de 2005, el expediente y el estudio socioeconómico realizado al efecto, para la creación del nuevo municipio, encontraron que no se pone en riesgo la estabilidad social, política, 7 económica y financiera de Malinaltepec y de San Luis Acatlán, como municipios afectados por la segregación de 29 localidades, y por ello, el 29 de septiembre de 2005 entró en vigor el Decreto de creación del municipio de Iliatenco. 3.2 Ubicación geográfica Según Candela et. al (2007) Iliatenco se ubica al sur de la región Montaña del estado de Guerrero, sus propiedades agrarias son comunal y ejidal. El primer tipo de tenencia cubre una superficie estimada de 10,0667.84 ha y los segundos de 10,730.32 ha. Ambos tipos de terrenos conforman una unidad territorial de 20,798.16 ha. Los terrenos ejidales-comunales de Iliatenco colindan al norte con: la comunidad de Paraje Montero, al oeste con la de Tilapa de Guerrero, al noroeste con San Miguel el Progreso y Colombia de Guadalupe; al sur con San José Vista Hermosa, Pueblo Hidalgo y Santa Cruz del Rincón; al sureste con Pueblo Hidalgo (estas dos últimas comunidades pertenecientes al municipio de San Luis Acatlán) y al este con las comunidades Comotetenco, Buena Vista y el río Bandera; del municipio de San Luis Acatlán. Las coordenadas extremas son: 16°58´15´´ y 17°07´52´´ latitud norte y 98°33´33´´ y 98°44´25´´ longitud oeste El rango altitudinal va desde los 800 m, en las inmediaciones de Hondura Tigre (límite en el extremo sur), hasta cerca de los 2,800 m, en las cumbres de los cerros Cuate, Cabeza de Tigre y la Uña (p. 13). Ver figura 1. Figura 1. Ubicación geográfica de Iliatenco. 8 4. Café El café es la bebida que se obtiene a partir de los granos tostados y molidos de los frutos de la planta del café (cafeto). Es una bebida altamente estimulante por su contenido de cafeína. Suele tomarse durante el desayuno, después de éste o incluso como único desayuno, aunque también se acostumbra tomarlo después de las comidas o cenas, para entablar conversaciones o sólo por costumbre. Es una de las bebidas sin alcohol más socializadoras en muchos países. Las formas más populares de tomarlo son negro y con leche (con o sin azúcar); también se le suele añadir crema o nata, leche condensada, chocolate o algún licor, dependiendo de la receta hay diversas formas de prepararlo. Se sirve habitualmente caliente, pero también se toma frío o con hielo como en España o Grecia. En España, Portugal, Paraguay y Brasil es frecuente el consumo de café torrado o torrefacto, es decir, tostado en presencia de azúcar. 4.1 Aspectos Generales Sobre el Cultivo del Café 4.1.1 Altitud Incide en forma directa sobre los factores de temperatura y precipitación. La altitud óptima para el cultivo de café se localiza entre los 500 y 1700 msnm. Por encima de este nivel altitudinal se presentan fuertes limitaciones en relación con el desarrollo de la planta. 4.1.2 Precipitación La cantidad y distribución de las lluvias durante el año son aspectos muy importantes, para el buen desarrollo del cafeto. Con menos de 1000 mm anuales, se limita el crecimiento de la planta y por lo tanto la cosecha del año siguiente; además, un período de sequía muy prolongado propicia la defoliación y en última instancia la muerte de la planta. Con precipitaciones mayores de 3000 mm, la calidad física del café oro y la calidad 9 de taza puede comenzar a verse afectada; además el control fitosanitario de la plantación resulta más difícil y costoso. 4.1.3 Temperatura La temperatura promedio anual favorable para el cafeto se ubica entre los 17 a 23 °C. Temperaturas inferiores a 10 °C., provocan clorosis y paralización del crecimiento de las hojas jóvenes. 4.1.4 Humedad relativa Cuando alcanza niveles superiores al 85%, se propicia el ataque de enfermedades fungosas que se ven notablemente favorecidas. 4.1.5 Viento Fuertes vientos inducen a la desecación y al daño mecánico de tejido vegetal, asimismo favorecen la incidencia de enfermedades. Por esta razón es conveniente escoger terrenos protegidos del viento, o bien establecer rompe vientos para evitar la acción de éste. 4.2 Enfermedades 4.2.1 Broca La broca del café (hypothenemus hampei) es un insecto volador coleóptero curculiónido; originario de África cuyo tamaño es aproximado al de la cabeza de un alfiler. En el mundo, este insecto es una de las plagas más perjudiciales para los cultivos de café. También es llamado gorgojo del café o taladrador de cerezas del cafeto. Este insecto (específicamente la hembra) taladra el fruto del cafeto. Por lo general en la corola u ombligo, aunque también lo puede hacer por un lado; hasta llegar al endosperma del fruto para construir una serie de galerías en las que dos días después pondrá entre 35 y 50 huevos. Para que se de este proceso es necesario que el endosperma esté en estado sólido, por lo que si el fruto al ser atacado aun tiene un endosperma líquido e inmaduro, la broca se queda en el mesodermo esperando varias semanas hasta que madure; lo que podría significar incluso, su propia muerte (antes de causar daño real al fruto). 10 Los huevos eclosionan unos 25 o 45 días después de que la hembra los coloca dentro del fruto del café, en una proporción de 13 hembras por cada macho. Dependiendo de la temperatura y la consistencia del endosperma de la semilla, las larvas tardan de una semana a un mes en llegar a su etapa adulta; entonces las nuevas hembras se aparean con los machos dentro de la semilla. Algunas hembras terminan depositando sus huevos en la misma planta en la que eclosionaron, otras pueden mudarse a otras plantas. Los machos por el contrario, son incapaces de volar y nunca abandonan el fruto. De este modo, en una misma planta generalmente se pueden detectar más de tres generaciones de broca, y en los frutos más maduros se pueden llegar a encontrar más de 100 individuos. 4.2.2 El ojo de gallo Es una enfermedad que se presenta con mayor importancia en zonas altas de cultivo, se ve favorecida por condiciones de precipitaciones constantes, alta humedad y temperaturas frescas. Los síntomas consisten en manchas circulares de color cafégrisáceo que se desarrollan sobre las hojas, los tallos tiernos y los frutos; donde se forman las gemas (estructuras de diseminación de la enfermedad) durante la época lluviosa. El daño principal es la caída de hojas que causa un debilitamiento en la planta y una reducción de la cosecha para el siguiente año, así como también una caída de frutos que reduce la cosecha presente en la planta. Plantaciones sin manejo de la enfermedad, pueden sufrir una defoliación del 95 % entre los meses de setiembre y octubre, así como una reducción de la cosecha de un 80%. 4.2.3 La roya del café Es una enfermedad que esta presente en todo el país y durante la mayor parte del año. Su importancia es mayor en zonas cafetaleras de altura media y baja. La enfermedad se ve favorecida por las temperaturas cálidas y ambientes húmedos y 11 lluviosos. Los síntomas consisten en la formación de manchas con apariencia amarillenta en la parte superior de la hoja y la formación de un polvo anaranjado en la parte inferior (envés). Las lesiones viejas pueden mostrar un color negro con borde amarillento, sobre todo al inicio de la época lluviosa. En ataques severos, el daño principal es provocado por la caída de gran cantidad de hojas, que causan un debilitamiento general de la planta, una maduración muy irregular de la cosecha y una reducción de la producción para el siguiente año, alrededor de un 20%. 5. Herramientas 5.1 Prolog PROLOG es un lenguaje de programación especialmente indicado para modelar problemas que impliquen objetos y las relaciones entre ellos. Está basado en los siguientes mecanismos básicos: unificación, estructuras de datos basadas en árboles y backtracking automático. La sintaxis del lenguaje incluye la declaración de hechos, preguntas y reglas. Con la definición de este pequeño conjunto de conceptos se consigue un lenguaje de programación muy potente y flexible, ampliamente utilizado (junto con el lenguaje de programación LISP) en aplicaciones que utilizan técnicas de Inteligencia Artificial. 5.1.1 Evolución Histórica Prolog (del francés, PROgrammation en LOGique) fue el primer lenguaje de programación basado en el paradigma de la programación lógica. Se implemento por primera vez a principios de los años setenta en la Universidad de Marsella (Francia), por un equipo dirigido por A. Colmeraeur, utilizando resultados teóricos aportados por R. Kowalski (Universidad de Edimburgo). Aunque con ciertas dificultades iniciales, debido principalmente a la novedad del paradigma y a la escasa eficiencia de las implementaciones disponibles, el lenguaje 12 se fue expandiendo rápidamente, sobre todo en Europa y en Japón (en este ultimo país la programación lógica se incluyo como parte central del proyecto de ordenadores de quinta generación de los años ochenta). En 1995 el lenguaje se normaliza con el correspondiente estándar ISO. En la actualidad Prolog se ha convertido en una herramienta de desarrollo de software practica y de gran aceptación para la que se dispone de múltiples compiladores, tanto comerciales como de libre distribución. 5.1.2 Esquema general de trabajo en Prolog El esquema general de trabajo en Prolog es el siguiente: 1. Escribir un programa lógico en Prolog. Como se ha visto en el tema anterior, un programa lógico es un conjunto finito de formulas lógicas, que reflejan el conocimiento del que se dispone acerca del problema a resolver. Por lo tanto, un programa en Prolog estará formado por una serie de formulas lógicas que, evidentemente, tendrán que adaptarse a la sintaxis especifica del lenguaje (esta se detalla mas adelante). Podrán asimismo incluirse comentarios: % El símbolo % precede los comentarios en una única linea /* Los comentarios en varias lineas empiezan con /* y terminan con */ */ Los programas se pueden escribir mediante cualquier editor de textos, aunque, como se vera después, existen editores especiales que facilitan la escritura de programas en Prolog. Una vez escrito un programa, este se deberá guardar en un fichero (la extensión habitual para los programas en Prolog es \.pl") 2. Iniciar el sistema Prolog y cargar un programa. Cuando se inicia un sistema Prolog, este muestra por pantalla una linea con el 13 siguiente formato: ?que indica que el sistema esta esperando la introducción por parte del usuario de alguna consulta. Para poder trabajar con un programa escrito previamente, es necesario cargar el fichero correspondiente en el sistema Prolog. Lo anterior se puede hacer de dos formas distintas: - interpretando el programa por medio del interprete del lenguaje. Esta solución es la mas habitual cuando se esta probando un programa, y la acción se conoce como \consultar" un fichero. Para realizarla, basta con utilizar el predicado del sistema consulta, con el nombre del fichero que se quiere cargar: ?- consult(’c:/Prolog/prueba.pl’). 3. Activar un programa desde el sistema Prolog. Una vez que se ha cargado correctamente un programa, el sistema esta preparado para recibir las consultas del usuario relativas al problema que se pretende resolver. Para ello bastara con escribir dichas consultas, siguiendo la sintaxis especifica del lenguaje, en la linea de consultas del sistema. 4. Salir del sistema Prolog. Para salir del sistema Prolog basta con escribir el predicado del sistema halt en la linea de comandos: ?- halt. 5.2 SWI-Prolog SWI-Prolog es un compilador de Prolog de dominio publico diseñado e implementado en la Universidad de Amsterdam, compatible con el estándar ISO y disponible para distintas plataformas. Se puede obtener en la dirección http://www.swi-prolog.org. La versión para Windows consta de un único automáticamente el sistema. Este se utiliza de 14 fichero ejecutable que instala acuerdo con el esquema general de trabajo en Prolog descrito mas arriba. 6. Sistema Experto Un sistema experto es un programa que se comporta como un experto para algún dominio de aplicación, normalmente reducido. Debe ser capaz de explicar las decisiones que ha ido tomando y el razonamiento subyacente. Algunas veces es interesante que los sistemas expertos manejen incertidumbre y conocimiento incompleto. 6.2 Estructura Los SE están compuestos por dos partes principales: el ambiente de Desarrollo y el ambiente de consulta. El ambiente de desarrollo es utilizado por el constructor para crear los componentes e introducir conocimiento en la base de conocimiento. El ambiente de consulta es utilizado por los no-expertos para obtener conocimiento experto y consejos (Turban, 1995). Los siguientes son los componentes básicos de un SE: Subsistema de adquisición de conocimiento Es la acumulación, transferencia y transformación de la experiencia para resolver problemas de una fuente de conocimiento a un programa de computadora para construir o expandir la base de conocimiento. El estado del arte actual requiere un ingeniero en conocimiento que interactúe con uno o más expertos humanos para construir la base de conocimiento. Base de conocimiento Contiene el conocimiento necesario para comprender, formular y resolver problemas. Incluye dos elementos básicos: heurística especial y reglas que dirigen el uso del conocimiento para resolver problemas específcos en un dominio particular. Base de hechos Es una memoria de trabajo que contiene los hechos sobre un problema, 15 alberga los datos propios correspondientes a los problemas que se desean tratar. Motor de inferencia Es el cerebro del SE, también conocido como estructura de control o interpretador de reglas. Este componente es esencialmente un programa de computadora que provee metodologías para razonamiento de información en la base de conocimiento. Este componente provee direcciones sobre cómo usar el conocimiento del ¿ Sistema para armar la agenda que organiza y controla los pasos para resolver el problema cuando se realiza una consulta. Tiene tres elementos principales: 1. Intérprete, ejecuta la agenda seleccionada 2. Programador, mantiene el control sobre la agenda 3. Control de consistencia, intenta mantener una representación consistente de las soluciones encontradas. Subsistema de justificación Se encarga de explicar el comportamiento del SE al encontrar una solución. Permite al usuario hacer preguntas al sistema para poder entender las líneas de razonamiento que este siguió. Resulta especialmente benefcioso para usuarios no expertos que buscan aprender a realizar algún tipo de tarea. Figura 2 – Estructura de un Sistema Experto 6.3 Tipos de sistemas expertos Basados en reglas previamente establecidas 16 Los sistemas basados en reglas trabajan mediante la aplicación de reglas, comparación de resultados y aplicación de las nuevas reglas basadas en situación modifcada. También pueden trabajar por inferencia lógica dirigida, bien empezando con una evidencia inicial en una determinada situación y dirigiéndose hacia la obtención de una solución, o bien con hipótesis sobre las posibles soluciones y volviendo hacia atrás para encontrar una evidencia existente (o una deducción de una evidencia existente) que apoya una hipótesis en particular. Representación del conocimiento Hay numerosas formas de representar el conocimiento en IA, sin embargo, los Sistemas Expertos suelen ser llamados sistemas basados en reglas. Reglas “Si...entonces...” Las reglas “si.. entonces..” son el principal tipo de conocimiento usado en Sistemas Expertos, donde dichas normas se utilizan para capturar razonamiento de expertos que emplean a menudo. Sin embargo, con el tiempo los investigadores comenzaron a desarrollar e integrar otras formas de representación del conocimiento, tales como el razonamiento basado en casos. Los sistemas que incluyen múltiples tipos de conocimiento a veces se conocen como sistemas híbridos, o etiquetados después de un determinado tipo de representación del conocimiento, por ejemplo, basado en casos (O’Leary, 2008). Basados en casos El razonamiento basado en casos es el proceso de solucionar nuevos problemas basándose en las soluciones de problemas anteriores. Un mecánico de automóviles que repara un motor porque recordó que otro auto presentaba los mismos síntomas está usando razonamiento basado en casos. Un abogado que apela a precedentes legales para defender alguna causa está usando razonamiento basado en casos. También un ingeniero cuando copia elementos de la naturaleza, está tratando a esta como una “base de datos de soluciones”. El Razonamiento basado en casos es una manera de razonar haciendo analogías. Se ha argumentado que el razonamiento 17 basado en casos no sólo es un método poderoso para el razonamiento de computadoras, sino que es usado por las personas para solucionar problemas cotidianos. Más radicalmente se ha sostenido que todo razonamiento es basado en casos porque está basado en la experiencia previa. Basados en redes bayesianas Una red bayesiana, red de Bayes, red de creencia, modelo bayesiano o modelo probabilístico en un gráfco acíclico dirigido es un modelo gráfco probabilístico (un tipo de modelo estático) que representa un conjunto de variables aleatorias y sus dependencias condicionales a través de un gráfco acíclico dirigido (DAG por sus siglas en inglés). Por ejemplo, una red bayesiana puede representar las relaciones probabilísticas entre enfermedades y síntomas. Dados los síntomas, la red puede ser usada para computar las probabilidades de la presencia de varias enfermedades. Sistemas Expertos difusos Los Sistemas Expertos difusos se desarrollan usando el método de lógica difusa, la cual trabaja con incertidumbre. Esta técnica emplea el modelo matemático de conjuntos difusos, simula el proceso del razonamiento normal humano permitiendo a la computadora comportarse menos precisa y más lógicamente que las computadoras convencionales. Este enfoque es utilizado porque la toma de decisiones no es siempre una cuestión de blanco y negro, verdadero o falso; a veces involucra áreas grises y el término “quizás” (Holland, 1992). 6.3 Ventajas y limitaciones Ventajas Mientras que un experto humano tiene limitaciones y percances propias de su condición humana, es decir: se enferma, envejece, migra a otras empresas, el Sistema Experto, respecto a sus pares humanos, no sufre de estas cuestiones y se convierte en una herramienta estable para su entorno y fable porque sus actividades son completamente replicables (siempre contesta de la misma manera a menos que se le cambie el diseño). A esto se le suma la velocidad de procesamiento que es 18 mayor al de un ser humano. Debido a la escasez de expertos humanos en determinadas áreas, los SE pueden almacenar su conocimiento para cuando sea necesario poder aplicarlo. Así mismo los SE pueden ser utilizados por personas no especializadas para resolver problemas. Además, si una persona utiliza con frecuencia un SE aprenderá de él. Finalmente, si se evalúa el costo total del empleo de esta tecnología, la replicabilidad y estabilidad, asociado a la seguridad que provee, resulta una ecuación favorable, aun considerando que las inversiones iniciales pueden ser relativamente elevadas. Limitaciones Es evidente que para actualizar se necesita de reprogramación de estos (tal vez este sea una de sus limitaciones más acentuadas) otra de sus limitaciones puede ser el elevado costo en dinero y tiempo, además que estos programas son poco flexibles a cambios y de difícil acceso a información no estructurada. Los Sistemas Expertos carecen de sentido común, para un SE no hay nada obvio Además no podemos mantener una conversación informal con estos sistemas. Para un sistema experto es muy complicado de aprender de sus errores y de errores ajenos. No son capaces de distinguir cuales son las cuestiones relevantes de un problema y separarlas de cuestiones secundarias. Por otra parte, la inteligencia artificial no ha podido desarrollar sistemas que sean capaces de resolver problemas de manera general o de aplicar el sentido común para resolver situaciones complejas ni de controlar situaciones ambiguas. 7. Metodologías para el desarrollo de un sistema experto Al igual que para desarrollar un sistema de información convencional existen varias metodologías de desarrollo como la ingeniería de la información, tendencias estructuradas y orientadas a objetos, así existen varias metodologías para desarrollar un sistema experto. 19 Como ya sabemos el área de sistemas expertos es relativamente joven por lo cual no se dispone de una única metodología sino de cada autor propone una de acuerdo a su forma de desarrollo. Sin embargo, existen algunas que han mantenido más éxito que otras lo cual ha llevado a su mayor difusión. A continuación, se exponen las metodologías que se podrían usar en la construcción del sistema experto: 7.1 Metodología Grover La metodología de Grover propone tres fases para el desarrollo del proceso de adquisición del conocimiento, cada una acompañada de una documentación detallada que reemplazan parcialmente al experto y sirven como medio de documentación y referencia para usuarios y diseñadores. Figura 3: Fases del ciclo de adquisición del conocimiento. Las tres fases que propone la metodología Grover son: Definición del dominio, formulación del conocimiento fundamental y consolidación del conocimiento basal. Estas tres fases son expuestas a continuación: 20 A. Definición del dominio Esta etapa consiste en realizar una cuidadosa interpretación del problema. El objetivo es la producción de un Manual de Definición de Dominios, cuyo contenido se describe a continuación: Descripción general del problema. Bibliografía de los documentos referenciados Identificación de expertos. Definición de métricas de performance apropiadas para evaluar el rendimiento del Sistema Experto. Descripción de escenarios para ejemplos posibles B. Formulación del conocimiento fundamental Esta etapa consiste en examinar los escenarios seleccionados por el experto a partir de criterios de evaluación y reclasificarlos según: El más importante El más esperado. El más arquetípico. El mejor entendido. Para obtener el conocimiento fundamental se usa la técnica de simulación del proceso y reclasificación que consiste en que el experto simule la solución de un problema construyendo verbalmente. las reglas de razonamiento que utiliza. Luego se procede a analizar estas reglas y reclasificarlas en diferentes niveles. Esta base del conocimiento fundamental debe incluir: Definición de fuentes de entrada y formatos. Descripción del estado inicial que incluye el conocimiento base. Conjunto básico de razones y reglas de análisis. Lista de estrategias humanas. Cota de rendimiento mínimo. 21 Definición de métricas aplicables. Técnicas de corrección. Delimitación de las capacidades del sistema experto que pueden ser expandidas. Este cuerpo de conocimientos debe estar escrito y se puede probar implementándolo en una base de conocimientos que contraste con el escenario desde el cual fue adquirido y verificando que se obtenga un comportamiento similar al que tendría el experto en el mismo escenario. C. Consolidación del conocimiento Basal. El conocimiento basal es el conjunto de definiciones necesarias para producir la actividad basal. La actividad basal se define como el menor nivel de actividad esencial para el mantenimiento de las funciones vitales del sistema, es decir, se debe tener desarrollados todos los componentes del sistema experto, pero no en la profundidad en la que estarán desarrollados en la versión final del sistema. Para conocer este nivel de desarrollo se debe contar con estándares mínimos de performance en la definición del domino. 7.2 Metodología IDEAL La metodología IDEAL fue desarrollada en la Facultad de Informática de la Universidad Politécnica de Madrid. Consiste en conseguir desde etapas muy iniciales del desarrollo prototipos que indiquen cómo debe funcionar el sistema experto final. El objetivo de esta metodología es conseguir un proceso de mejora gradual en base al conocimiento del experto y consta de las siguientes fases: FASE I: Identificación de la tarea. En esta fase se definen los objetivos del proyecto del sistema experto, las características del problema y los requisitos para la solución del problema. Se subdivide en las siguientes etapas: 22 1. Etapa 1: Plan de requisitos y adquisición de conocimientos. La primera tarea del ingeniero del conocimiento es identificar las necesidades del cliente escribiendo los requisitos del sistema a desarrollar. El plan de requisitos debe contener: Objetivos específicos y generales del sistema. Funcionamiento y rendimiento requeridos. Limitaciones de costo/tiempo. Tecnología disponible. Competencia. Ampliaciones futuras. 2. Etapa 2: Evaluación y selección de la tarea. En esta etapa se estudia la viabilidad de cada una de las tareas y el grado de dificultad que presentan. 3. Etapa 3: Definiciones de las características del sistema. En esta etapa se definen las características que tendrá el sistema experto. Los puntos a tocar son: Especificación, técnica del sistema emitida por el ingeniero del conocimiento en base al plan de requisitos. Criterios de éxito, que consiste en identificar las necesidades reales de los usuarios finales. Casos de prueba, para validar la calidad del sistema experto. Recursos materiales y humanos, necesarios para desarrollar el sistema experto. Plan de desarrollo del proyecto. Al terminar esta primera fase se conoce el ámbito del problema y se definen las funcionalidades del sistema experto, logrando que el ingeniero de conocimiento y los usuarios clientes tengan la misma percepción de los objetivos del sistema FASE II: Desarrollo de los prototipos. Los sistemas basados en el conocimiento se construyen de forma incremental, desarrollando distintos prototipos que permitan comprender mejor los requisitos de los usuarios y las especificaciones del sistema. 23 Primero se desarrolla un prototipo de investigación que se convierte en un prototipo de campo y finalmente se desarrolla un prototipo de operación. Para poder desarrollar estos prototipos se deben de llevar a cabo. Las siguientes etapas: Etapa 1: Concepción de la solución. Consiste en producir un diseño general del sistema en base a las especificaciones obtenidas en la primera fase. Esta etapa está conformada de un desarrollo del diagrama de flujo de datos y la especificación del diseño arquitectónico del sistema. Etapa 2: Adquisición y conceptualización de conocimientos. La adquisición de conocimientos se alterna con la conceptualización de los mismos para poder modelar el conocimiento del experto. Etapa 3: Formalización de conocimientos. Esta etapa está conformada de la definición de estructuras que permitan representar el conocimiento del experto y de la realización del diseño detallado del sistema experto. Etapa 4: Implementación. Si se ha elegido una herramienta de desarrollo adecuada, la implementación es inmediata. Etapa 5: Validación y Evaluación. Consiste en realizar las siguientes acciones: Casos de prueba. Permiten comparar las respuestas arrojadas por el sistema experto con la respuesta que brindaría el experto ante la solución del mismo problema. Ensayo en paralelo. Consiste en que el experto utilice el sistema para encontrar discrepancias en los resultados, se examina la interfaz de usuario y la calidad de las explicaciones que brinda el motor de inferencia. Etapa 6: Evaluación de nuevos requisitos, especificaciones y diseño. Consiste en la definición de los requisitos, especificaciones y diseño del siguiente prototipo. Esta fase termina con la construcción del sistema experto completo. FASE III: Ejecución de la construcción del sistema integrado. Esta fase está conformada de las siguientes etapas: 24 Etapa 1: Requisitos y diseño de la integración. Comprende el estudio y diseño de interfaces con otros sistemas. Etapa 2: Implementación y evaluación del sistema integrado. Se implementa la integración del sistema experto con otros sistemas existentes para conseguir un sistema final. Etapa 3: Aceptación del sistema por el cliente. El usuario prueba el sistema, el cual deberá de satisfacer con sus requerimientos de fiabilidad y eficiencia. FASE IV: Actuación para conseguir el mantenimiento perfectivo. Comprende las siguientes etapas: Etapa 1: Definir el mantenimiento del sistema global. Consiste en realizar un mantenimiento correctivo y un mantenimiento perfectivo del sistema. Etapa 2: Definir el mantenimiento de las bases de conocimientos. Considera la adquisición de nuevos conocimientos por parte de la base de conocimientos que se generan por el propio uso del sistema, definiendo los métodos necesarios para llevar a cabo este proceso. Etapa 3: Adquisición de nuevos conocimientos. Incorporación de nuevos conocimientos que se generan por el propio uso del sistema experto. FASE V: Lograr una adecuada transferencia tecnológica. Comprende las siguientes etapas: Etapa V.1: Organizar la transferencia tecnológica. El desarrollador del sistema experto se debe reunir con los usuarios para brindar una explicación del manejo del sistema experto y de la documentación laborada. Etapa V.2: Completar la documentación del sistema experto construido. Elaborar un manual de usuario. 25 7.3 Metodología BGM La metodología BGM desarrollado por Blanqué y García Martínez que se describe a continuación consta de 5 etapas: (Ramón GARCIA MARTINEZ, Metodologías de educción de conocimiento para la construcción de sistemas informáticos expertos, 2001) Etapa 1: Adquisición de Conocimiento Esta etapa consiste en pedirle al experto de campo que hable sobre el conocimiento involucrado, recordándole al experto que el ingeniero de conocimiento es lego en el tema. El conocimiento asociado a un dominio que tiene un experto puede visualizarse mediante el siguiente esquema: El conocimiento de campo ocupa una parte del conocimiento del experto, este conocimiento tiene conexos otros conocimientos que permiten que el experto lo articule, estos conocimientos conexos no son específicos del dominio de aplicación, pero tienen que ver con él, es decir, hacen al sentido común necesario para aplicar esa área de conocimiento. Este conocimiento conexo también debe ser incluido en la BC. Este conocimiento es el que resulta de pedirle al experto de campo que piense su exposición para personas que desconocen el tema, así se fuerza inconscientemente al expositor a explorar en busca de conocimiento conexo, o sea, conocimiento para no especializados en el tema. Etapa 2: Enunciación de Conceptos En esta etapa se debe tomar nota de los conceptos más frecuentemente utilizados. Esto se logra observando la recurrencia del experto de campo sobre determinadas ideas, en esta etapa, la experiencia ha demostrado la conveniencia de mostrar una lista de tales conceptos al experto de campo y que él realice una clasificación del tipo: Conceptos primarios y secundarios Conceptos primarios, vinculantes y secundarios. Etapa 3: Parametrización de Conceptos 26 Parametrizar los conceptos involucrados. Estos parámetros suelen estar asociados a valores tales como: Presencia / Ausencia Mucho / Poco / Nada Alto / Bajo / Medio Verdadero / Falso Valores de confianza Valores Estadísticos, Probabilísticos Resultados numéricos de expresiones aritméticas o lógicas Estos parámetros "ad hoc" suelen englobarse en formalismos de representación de conocimiento. El trabajo del ingeniero de conocimiento consistirá en descubrir tales valores en el discurso del experto de campo, y llegado el caso, plantearle si tales valores le parecen aceptables o si es necesario considerar modificaciones. Etapa 4: Planteo de Causalidades Establecer relaciones de causalidad entre los conceptos mencionados y redactar las reglas asociadas. Etapa 5: Verificación Verificar la aceptabilidad de las reglas con el experto de campo. Esto se realizará usando casos de testeo que sean considerados típicos, se compararán los resultados con los dados para esos mismos casos por los expertos humanos, y en base a esa comparación, se decidirá si modificar, eliminar, o aceptar las reglas involucradas. Se usarán casos de la bibliografía proporcionada para producir los testeas iniciales. Se utilizarán casos extremos para testear, verificar la consistencia y ampliar la base de conocimiento, si es posible. Se usarán casos de testeo típicos para generar grupos adicionales de casos, variando ciertos aspectos de los primeros. Se verificará la aplicabilidad del modelo, corriendo el prototipo, o el sistema experto en paralelo con expertos humanos 27 (diferentes de aquellos con los cuales se realizó el sistema) en situaciones reales, y se llevarán estadísticas acerca de su comportamiento, tratando de detectar posibles problemas conceptuales a partir del análisis de las respuestas. Agregar información de las enfermedades Síntomas Tratamiento 8. Formulación del conocimiento fundamental Enfermedad: Roya Síntomas Pregunta1 = Hojas con manchas color amarillo Pregunta2= Plantas sin hojas 3. Se caen las hojas 4. Se seca la mata 5. Ya no enverdece Posibles respuestas Si=1 No=0 Regla 1 If (Pregunta1=1 y Pregunta2=1 y Pregunta3=1 y Pregunta4=1 y Pregunta5=1){ Enfermedad es Roya } Regla 2 If(Pregunta10=1 ) Regla 1 Regla 2 Regla 2 28 9. Consolidación del conocimiento basal En primer lugar se abre la interfaz del sistema experto para la detección de plagas en plantas de café y nos da las opciones comenzar y salir. Figura. 1 interfaz principal. Se da iniciar al programa y enseguida nos abre la interfaz para empezar a hacer el diagnostico a partir de las preguntas que realizara el sistema experto. Figura 2. interfaz para empezar diagnóstico. 29 Al iniciar el diagnostico aparece la interfaz de la primera pregunta y se puede elegir dos opciones “si” o “no”. Figura 3. interfaz de la primera pregunta para el diagnóstico. Al dar si a la primera pregunta se abrirá una segunda interfaz con las mismas opciones “si o “no”. Si la opción elegida es “si” se abrirá una tercera interfaz haciendo una tercera pregunta. Figura 4 interfaz de segunda pregunta para el diagnóstico. 30 Al terminar las preguntas y si todas cumplen con la regla se abre la interfaz de respuesta según sea el caso. Figura 5. interfaz de respuesta del sistema experto. Al diagnosticar la enfermedad el sistema experto puede dar un tratamiento a la enfermedad diagnosticada. Figura 6. interfaz de tratamiento para la enfermedad diagnosticada. 31 Conclusión Se logró desarrollar un sistema fácil de usar y con una interfaz amigable que interactúa con el cliente mediante preguntas, mostrando posibles curas para contrarrestar el azote de las plagas y enfermedades del café. Se puede concluir que un sistema inteligente como el que se plantea, tiene una función de prevención y de informar a los agricultores de las posibles plagas que puedan existir en sus cultivos, dándoles así datos acerca de ellas y una posible solución a este problema. Este sistema inteligente no solo es una herramienta de prevención, sino que brinda la información necesaria para para poder darle solución a los problemas que tiene el sector cafetalero en cuanto al control de plagas. Gracias a este sistema inteligente, los usuarios se verán beneficiados debido a los resultados proporcionados, mejorando así su productividad y evitando los posibles daños que afectarían sus cultivos. 32 Bibliografía Bratko, I., PROLOG. Programming for Artificial Intelligence. 4ª edición. Ed. Addison-Wesley, 2011. Instituto del Café de Costa Rica (ICAFE) Guía Técnica para el Cultivo del Café 1a ed. Heredia Costa Rica. 2013: ICAFE-CICAFE 72 p. ISBN 978-9977-55-041 W.F CLOCKSIN C.S MELLISH 2014 PROGRAMACION EN PROLOG (EN PAPEL) Editorial GUSTAVO GILI Acerca de sistemas expertos Recuperado el 13 de mayo del 2019 de: https://www.gestiopolis.com/sistemas expertos.html/ 33