Sistema inteligente predictor de enfermedades en cultivos (SIPEC)
Texto completo
(2) Hago constar que el presente trabajo fue realizado en la Universidad Central Marta Abreu de Las Villas como parte de la culminación de los estudios de la especialidad de Ciencias de la Computación, autorizando a que el mismo sea utilizado por la institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos ni publicado sin la autorización de la Universidad.. Firma del autor. Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. Firma del tutor. Firma del jefe del Seminario.
(3) Deseo agradecer a todas las personas que han tenido que ver con este trabajo, a mis profesores, a mis colegas del aula, a Maikel Castillo, a Ridosbey y mis amigos de Fomento que tanto me han apoyado a la largo de estos cinco años, a mi novia Ailén, a mis familiares y muy especialmente a mi Madre Yolanda y mi Padre Manuel..
(4) A mis padres..
(5) Resumen Uno de los factores que más influye en el rendimiento de los cultivos agrícolas son las enfermedades fungosas que atacan a los mismos, que traen como consecuencia una baja producción del cultivo afectado. La determinación a priori de estas enfermedades; resulta de gran conveniencia teniendo en cuenta los costos monetarios, de tiempo y de recursos humanos en la agricultura. Para facilitar un diagnóstico rápido y preciso de estas enfermedades con el progreso de esta investigación se ha desarrollado una aplicación que realiza dicho proceso de forma automática. En este trabajo se aborda el concepto y la utilidad de la Agrometeorología, así como tópicos acerca de los Sistemas Expertos y en particular los Sistemas Expertos Basados en Reglas; además se describe. detalladamente. como se. desarrolló el sistema creado y como se debe operar con el mismo en el momento de su instalación y utilización..
(6) Abstract One of the factors that more influences the yield of the agricultural cultures they are the fungous illnesses that attack the same ones, which bring as consequence a low production of the affected culture. The determination to priori of these illnesses results from big expediency bearing in mind the monetary costs, of time and of human resources in the agriculture. To facilitate a rapid and precise diagnosis of these illnesses with the progress of this investigation there has developed an application that realizes the above mentioned process automatically. In this work there is tackled the concept and the utility of the Agrometeorología, as well as topics about the Expert Systems and in particular the Expert Systems Based on Rules, also there is described elaborately how the created system developed and as it is necessary to operate with the same one in the moment of his installation and use..
(7) Introducción ........................................................................................................... 10 Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 12 1.1 Agrometeorología ........................................................................................ 12 1.1.1. Definición. ........................................................................................ 12. 1.1.2. ¿Qué estudia la Agrometeorología? ................................................ 12. 1.2 Descripción del Problema. ........................................................................... 14 1.3 Sistemas Expertos (SE). .............................................................................. 15 1.3.1 Definición. ............................................................................................. 15 1.3.2 Componentes de un Sistema Experto. .................................................. 17 1.3.3 Razones para usar un Sistema Experto. ............................................... 19 1.3.4 Etapas en el desarrollo de un Sistema Experto..................................... 20 1.3.5 Lenguajes útiles para desarrollar un Sistema Experto. ......................... 21 1.4 Sistemas Basados en Reglas. ..................................................................... 23 1.4.1 Direcciones de búsqueda en los SBR ................................................... 24 1.4.2 Ventajas y desventajas de los SBR....................................................... 25 1.4.3 Estados en el desarrollo de un SBR ...................................................... 26 1.4.4 Ciclo de vida de un SBR. ...................................................................... 27 1.5 Ejemplos de SBR para el diagnóstico de enfermedades en cultivos. .......... 29 Capítulo2:. “Sistema. Inteligente. Predictor. de. Enfermedades. en. Cultivos. (SIPEC.exe) y Servicio para Consultas de Datos Online”. ................................... 32 2.1 Descripción del Sistema. ............................................................................. 32 2.2 Gestión de los datos. ................................................................................... 35 2.3 El Sistema Experto. ..................................................................................... 40 2.3.1 Módulo para el Diagnóstico de Enfermedades por Razonamiento Basado en Reglas o Máquina de Inferencia. .................................................. 43 2.3.2 Módulo de Explicación. ......................................................................... 45 2.3.3 Base de Conocimientos. ....................................................................... 47 2.3.4 Módulo de Manipulación de Reglas en la Base de Conocimientos. ...... 49 2.3.5 Módulo de Gestión de Datos y Estaciones Meteorológicas. ................. 51 2.3.6 Módulo de Elaboración y Almacenamiento de Señales de Aplicación a las Estaciones. ............................................................................................... 52.
(8) 2.3.7 Validación del SE…………………………………………………………….52 2.4 Ventajas que se obtienen con el SE. ........................................................... 53 2.5 Servicio para Consultas de Datos Online. ................................................... 55 2.5.1 Ventajas de PHP. .................................................................................. 55 2.5.2 Desventajas de PHP. ............................................................................ 56 2.5.3 Pasos ejecutados por el servidor para atender al cliente. ..................... 56 Capítulo 3: “Manual de Usuario”. ........................................................................... 58 3.1 Requerimientos e Instalación de los Componentes del Sistema. ................ 58 3.1.1 Instalación de la “Base de Datos”.......................................................... 58 3.1.2 Requerimientos e Instalación del “SIPEC.exe” ..................................... 59 3.1.3 Instalación del “Servicio para Consultas de Datos Online”. ................... 59 3.2 Manejo Óptimo del “SIPEC.exe”. ................................................................. 60 3.2.1 Enfermedad. .......................................................................................... 61 3.2.1.1 Insertar Enfermedad. ........................................................................ 61 3.2.1.2 Eliminar Enfermedad. ....................................................................... 63 3.2.2 Servidor de Datos.................................................................................. 64 3.2.2.1 Mostrar. ............................................................................................ 64 3.2.2.2 Cambiar. ........................................................................................... 65 3.2.3 Estaciones. ............................................................................................ 66 3.2.3.1 Agregar. ........................................................................................... 66 3.2.3.2 Modificar. .......................................................................................... 68 3.2.3.3 Eliminar. ........................................................................................... 69 3.2.3.4 Mostrar. ............................................................................................ 70 3.2.4 Datos Meteorológicos. ........................................................................... 72 3.2.4.1 Introducir De Forma Manual. ....................................................... 72 3.2.4.2 Introducir Usando Fichero .TXT .................................................. 74 3.2.4.3 Mostrar Todos. ............................................................................. 76 3.2.4.4 Mostrar Por Rango de Fecha. ...................................................... 78 3.2.4.5 Modificar. .......................................................................................... 80 3.2.5 Predicciones. ......................................................................................... 82 3.2.5.1 Iniciar Predictor. ............................................................................... 82.
(9) 3.2.5.2 Mostrar Todas. ................................................................................. 83 3.2.5.3 Mostrar Por Estación. ....................................................................... 85 3.2.5.4 Fijar Fechas de Inicio. ...................................................................... 86 3.2.5.5 Cambiar Fecha de Inicio. ................................................................. 88 3.2.6 Mensaje de Señal de Aplicación. .......................................................... 89 3.2.6.1 Mostrar Todos. ............................................................................. 89 3.2.6.2 Mostrar Por Estación. .................................................................. 90 3.2.6.3 Crear. ............................................................................................... 91 3.2.7 Ayuda. ................................................................................................... 93 3.2.7.1 Manual de Usuario. .......................................................................... 93 3.3 Manejo del Sitio Web. .................................................................................. 93 Conclusiones ......................................................................................................... 94 Recomendaciones ................................................................................................. 95 Referencias Bibliografías....................................................................................... 96 Anexos .................................................................................................................. 98 Anexo 1: “Ejemplo de Base de Conocimientos.” ................................................ 98 Anexo 2: “Manejo Óptimo del Sitio Web”. ........................................................ 100 Anexo 3: “Validación del SE”………………………………………………………..104.
(10) Introducción 10. Introducción La determinación a priori de posibles plagas y/o enfermedades en los cultivos constituye una prioridad para la agricultura teniendo en cuenta los costos de mano de obra, costo medioambiental, entre otros; así como la importancia y necesidad del cumplimiento de los planes de producción con eficiencia y calidad. Las enfermedades constituyen actualmente una de las principales limitantes en la potencialidad del rendimiento de los cultivos. La principal herramienta con que cuenta el productor para luchar contra esta problemática es la prevención en el manejo racional de las enfermedades. Este trabajo preventivo es realizado al evaluar un grupo de reglas a partir de un conjunto de datos meteorológicos. La experiencia alcanzada por expertos en el trabajo preventivo ha determinado que dicha tarea se torna lenta y poco precisa dado por las dimensiones de las reglas y el gran volumen de datos entrantes en el proceso. El problema afrontado consiste en predecir con rapidez y precisión que enfermedades1 incidirán en los diferentes cultivos dado un conjunto de datos meteorológicos y tomando en cuenta las reglas descritas por expertos en esta materia con las que se pronostica la aparición de ciertas enfermedades. Podríamos preguntarnos entonces: ¿Podrá la computación y en particular un software hacer diagnósticos rápidos y precisos? Una técnica de Inteligencia Artificial, los Sistemas Expertos, han obtenido buenos resultados en el desarrollo de software para el diagnóstico. El núcleo de este trabajo está enmarcado precisamente en confeccionar un sistema experto capaz de realizar dichos diagnósticos automáticamente usando las reglas y los datos anteriormente mencionados.. Objetivos Elaborar un Sistema Experto para el pronóstico de enfermedades en cultivos a partir de condiciones agro-meteorológicas.. 1. Este trabajo se centra únicamente en enfermedades fungosas..
(11) Introducción 11. Objetivos Específicos: 1) Desarrollar un Sistema Experto Basado en Reglas para la predicción, con rapidez y exactitud, de enfermedades a partir de valores meteorológicos usando. una. metodología. previamente. planteada. por. especialistas. agropecuarios. 2) Mostrar los resultados de los datos meteorológicos para toda la red. El cumplimiento de estos objetivos se basará en la cooperación y ayuda de la dirección de la. Estación Experimental Agrícola “Álvaro Barba Machado” del. Centro de Investigaciones Agropecuarias (CIAP) en la UCLV.. Hipótesis de Investigación. El sistema que se implantará reducirá el tiempo de procesamiento de los datos a la hora de predecir enfermedades, así como que sus resultados serán precisos y fiables.. Estructura del documento. Este documento consta de tres capítulos: Capítulo 1 “La Agrometeorología y Los Sistemas Expertos Basados en Reglas”, Capítulo 2 “Sistema Inteligente Predictor de Enfermedades en Cultivos (SIPEC.exe) y Servicio para Consultas de Datos Online” y Capítulo 3 “Manuel de Usuario”. El Capítulo 1 “La Agrometeorología y Los Sistemas Expertos Basados en Reglas”, hace referencia a las técnicas de Inteligencia Artificial que fueron analizadas para la elaboración del sistema. El Capítulo 2 “Sistema Inteligente Predictor de Enfermedades en Cultivos (SIPEC.exe) y Servicio para Consultas de Datos Online”, brinda una descripción de como ha sido implementado el sistema; tecnologías y herramientas usadas. El Capítulo 3 “Manual de Usuario”, describe los requisitos de instalación del sistema, así como su uso óptimo..
(12) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 12. Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 1.1 Agrometeorología 1.1.1 Definición.. La definición de la Agrometeorología se basa en uno de los conceptos fundamentales de la Biología moderna, el cual considera al organismo y su medio ambiente formando una unidad con caracteres inter-dependientes. Los estudios teóricos y experimentales en la ciencia de la Biología y en la Agricultura han confirmado la validez de este concepto.. Los trabajos sobre Agrometeorología han sido realizados por los más famosos biólogos y agrónomos entre los cuales podemos citar a: P. A. Kóstichev, A. A. Izmail’ski, K. A. Timiriázev, N. A. Maksímov, y otros. Debemos señalar que estos trabajos continúan y a su vez, los nuevos aportes, enriquecen constantemente la ciencia de la Agrometeorología.. La Agrometeorología es la ciencia que trata sobre las características físicas del medio ambiente en el que se efectúa el crecimiento de las plantas y los animales. Se relaciona con el estudio de los procesos físicos que tienen lugar en este medio ambiente y también con la utilización e influencia de estas características físicas y procesos, en interés de la agricultura [VIT71].. 1.1.2 ¿Qué estudia la Agrometeorología? La Agrometeorología estudia la atmósfera, particularmente la capa en la cual crecen y se desarrollan las partes aéreas de las plantas, especialmente el régimen térmico de esta capa y la relación con la capa superficial de suelo. También estudia los movimientos verticales y horizontales del aire en la referida capa de la.
(13) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 13. atmósfera. Estudia además, la energía solar recibida por las plantas cultivadas, así como la utilización técnica de dicha energía.. El objetivo de la Agrometeorología no es solamente el estudio de la capa de atmósfera próxima al suelo –los dos primeros metros–, su estado y los procesos físicos que tienen lugar en ella, sino, también, encontrar métodos para influir en el clima y el estado físico de esta capa como vía para combatir la escarcha, la sequía, los vientos secos y otras condiciones desfavorables. Si es posible cambiar el estado físico del aire cerca del suelo, se está en posición de mejorar el clima en una localización dada y crear condiciones favorables para las plantas [VIT71].. Otra tarea importante de la Agrometeorología es el estudio de la aeración del suelo, así como el balance térmico y de la humedad de su superficie, en relación con su composición, relieve, microclimas latitud y otros factores. Otra cuestión importante está referida a la prevención de plagas y/o enfermedades que inciden en las plantas, ya que muchas de ellas se forman y desarrollan a partir de las condiciones atmosféricas.. Otro objetivo es el desarrollo, en las granjas pertenecientes a las estaciones experimentales. y. otras. instituciones. agrícolas,. de. métodos. nuevos. en. Agrometeorología.. Se debe puntualizar que la Agrometeorología no está relacionada con las propiedades o los procesos químicos que tienen lugar en este medio ambiente, ya que ambos pertenecen a la Agroquímica y Bioquímica, respectivamente.. La Agrometeorología no debe confundirse con la Meteorología General, ciencia esta, que se ocupa del estudio de la atmósfera como un todo y que tiene como una de sus principales tareas el pronóstico del tiempo..
(14) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 14. La Agrometeorología se divide en Fitometeorología –que es la Meteorología aplicada a las plantas de cultivo con inclusión de las plantas forestales– y la Zoometeorología –que es la Meteorología aplicada a la crianza de animales–.. 1.2 Descripción del Problema. Los agricultores actuales, día a día, tratan de que las producciones de los cultivos que atienden sean cada vez mayores y de mejor calidad. Para lograr este propósito, no solo deben hacer una selección adecuada del suelo y la semilla o postura a utilizar en dependencia de lo que vallan a sembrar, también deben aplicar tratamientos biológicos con el propósito de ayudar a las mismas en su desarrollo,. así. como. tratamientos. químicos. para. combatir. plagas. y/o. enfermedades.. Es de mucho interés para los productores, aplicar dichos tratamientos en el momento preciso, esto garantiza la protección y ayuda a la planta, además no crea afectaciones severas al medio ambiente.. En los momentos actuales los productores dan tratamiento a los cultivos siguiendo dos criterios fundamentales: usando la experiencia acumulada durante años de trabajo y transmitida de generación en generación, o tratando el campo cuando este ya ha sido afectado por alguna enfermedad. Por esto se hace necesario tener un diagnóstico a priori acerca de las enfermedades que pudieran incidir en el campo para poder aplicar tratamientos antes de que el mismo sea afectado directamente, contribuyendo de esta manera a la conservación del suelo y del medio ambiente en general.. Para realizar el diagnóstico se cuenta con bibliografía que describe como llevar a cabo dicha tarea, la misma se realiza evaluando un numeroso grupo de reglas a partir de datos meteorológicos con especificaciones propias de esta ciencia, que en ocasiones requieren pre-procesamiento y en general tornan el proceso un poco engorroso para los productores agrícolas..
(15) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 15. Está demostrado (según la práctica) que este proceso se torna lento y poco preciso por el gran volumen de datos manipulados, sin dudas esto constituye un problema prioritario. Esta dificultad conlleva a desarrollar una herramienta que sea capaz de hacer este trabajo predictivo de forma rápida y precisa, ayudando así a una mejor administración de productos biológicos y químicos a las plantas.. 1.3 Sistemas Expertos (SE). 1.3.1 Definición. Los sistemas expertos proceden de la Inteligencia Artificial desde mediados de los años sesenta. En ese período se creía que bastaban unas pocas leyes de razonamiento junto con potentes ordenadores para producir resultados brillantes. Un intento en ese sentido fue el llevado a cabo por los investigadores Alan Newell y Herbert Simon que desarrollaron un programa denominado GPS (General Problem Solver; solucionador general de problemas). Podía trabajar con criptoaritmética, con las torres de Hanoi y con otros problemas similares. Lo que no podía hacer el GPS era resolver problemas del mundo real, tales como un diagnóstico [SAM05].. Algunos investigadores decidieron entonces cambiar por completo el enfoque del problema restringiendo su ambición a un dominio específico e intentando simular el razonamiento de un experto humano. En vez de dedicarse a computarizar la inteligencia general, se centraron en dominios de conocimiento muy concretos. De esta manera nacieron los sistemas expertos.. Para definir que es un SE hay que tener muy en cuenta que este concepto no solo ha evolucionado con el pasar de los años, sino que continua haciéndolo en los días actuales, sus funciones se van ampliando y resulta un concepto cambiante según [CAS89]. A pesar de que este planteamiento fue realizado por Castillo E. y Álvarez E en 1989 todavía está vigente..
(16) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 16. Hace algún tiempo, en el Congreso Mundial de Inteligencia Artificial, Edward Feigenbaum de la Universidad de Stanford definió SE como: “un programa de computador inteligente que usa conocimiento y procedimientos de inferencia para resolver problemas que son lo suficientemente difíciles como para requerir la intervención de un experto humano para su solución”.. Otras personas han emitido sus criterios de como definir los SE:. Según Criado en [CRI00], es un software que imita el comportamiento de un experto humano en la solución de un problema. Pueden almacenar conocimientos de expertos para un campo determinado y solucionar un problema mediante deducción lógica de conclusiones.. Según [VIE03], software que incorpora conocimiento de experto sobre un dominio de aplicación dado, de manera que es capaz de resolver problemas de relativa dificultad y apoyar la toma de decisiones inteligentes en base a un proceso de razonamiento simbólico.. Programas que contienen tanto conocimiento declarativo (hechos a cerca de objetos, eventos y/o situaciones) como conocimiento de control (información a cerca de los cursos de una acción), para emular el proceso de razonamiento de los expertos humanos en un dominio en particular y/o área de experiencia. [CAS02]. Tomando en cuenta la definición de Edward Feigenbaum y los avances obtenidos en la última década evidenciados en las demás definiciones resulta una definición más completa de SE la que sigue: “un sistema informático que simula el proceso de aprendizaje, memorización, razonamiento, comunicación y de acción de un experto humano en una determinada rama de la ciencia, suministrando, de esta manera un consultor que pueda sustituirle con ciertas garantías de éxito en el dominio particular donde se encuentre.”.
(17) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 17. Las características planteadas le permiten almacenar datos y conocimiento, llegar a conclusiones lógicas, tomar decisiones en el momento que su estado lo requiera, aprender de las experiencias y los datos previamente almacenados, comunicarse con otros expertos humanos o SE, explicar el por qué de las decisiones tomadas y realizar acciones consecuentes de todo lo anteriormente dicho. Un SE pretende –en el sentido amplio de la palabra–. primeramente que el. conocimiento que posee perdure en el tiempo, pues en expertos humanos este muere en la mayoría de los casos con la desaparición física; y hacer masivo la accesibilidad del conocimiento existente al multiplicar el número de expertos.. 1.3.2 Componentes de un Sistema Experto. El describir un SE basándonos en las partes que forman el mismo brinda mayor información y claridad para entender su funcionamiento. A continuación se muestran cuales son estos componentes:. a) Subsistema de control de la coherencia. b) Subsistema de adquisición de conocimiento. c) Base de conocimiento. d) Memoria de Trabajo. e) Motor de inferencia. f) Subsistema de demanda de información. g) Interfaz de usuario. h) Subsistema de ejecución de órdenes. i) Subsistema de explicación. j) Subsistema de propagación de la incertidumbre. k) Subsistema de aprendizaje y la base de datos y de experiencias, según [CAS89]..
(18) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 18. Ahora se analizará un poco más profundo la comprensión de los SE, y para esto se pretende definir más clara y detalladamente las funciones que realizan los mismos para así conocer sus posibilidades. Se destacan entre las más importantes:. -. Adquirir conocimiento.. -. Almacenar conocimiento.. -. Razonar e inferir.. -. Demandar nueva información.. -. Aprender.. -. Propagar incertidumbre.. -. Asistir al experto a dar información coherente.. -. Aplicar conclusiones.. -. Realizar acciones como consecuencia del razonamiento.. -. Controlar la coherencia del conocimiento del sistema.. A continuación se especifican algunos componentes específicos. por su. importancia en la construcción del los SE.. Base de conocimientos: Es la parte del sistema experto que contiene el conocimiento sobre el dominio en el que se desempeña. Hay que obtener el conocimiento del experto y codificarlo en la base de conocimientos. Existen diversas formas de r e p r e s e n t a r. el. c o n o c i m i e n t o en. un sistema experto como son: las reglas de producción, los frames, etcétera. Generalmente en la decisión de cual usar está acorde con el propósito del mismo, la forma de obtención del conocimiento, entre otros. Una de las formas más comunes y sencillas son las reglas de producción. Una regla es una estructura condicional que relaciona lógicamente la información contenida en la parte del antecedente con otra información contenida en la parte del consecuente ..
(19) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 19. Motor de inferencia: El mecanismo de inferencia es la unidad lógica con la que se extraen conclusiones de la base de conocimientos, según un método fijo de solución de problemas que está configurado imitando el procedimiento humano de los expertos para solucionar problemas.. Subsistema de explicación: Una particularidad de los sistemas expertos es su capacidad para explicar su razonamiento. Usando el módulo del subsistema de explicación, un sistema experto puede proporcionar una explicación al usuario de por qué está haciendo una pregunta y como ha llegado a una conclusión. Este módulo proporciona beneficios tanto al diseñador del sistema como al usuario. El diseñador puede usarlo para detectar errores y el usuario se beneficia de la transparencia del sistema.. Interfaz de usuario: La interacción entre un sistema experto y un usuario se realiza en lenguaje natural. También es altamente interactiva y sigue el patrón de la conversación entre seres humanos. Para conducir este proceso de manera aceptable para el usuario es especialmente importante el diseño del interfaz de usuario. Un requerimiento básico del interfaz es la habilidad de hacer preguntas. Para obtener información fiable del usuario hay que poner especial cuidado en el diseño de las cuestiones. Esto puede requerir diseñar el interfaz usando menús o gráficos. [VIE03]. 1.3.3 Razones para usar un Sistema Experto. Existen varias razones convincentes del por qué usar los SE, estas son argumentadas a continuación.. 1) Con la ayuda de un Sistema Experto, personas con poca o ninguna experiencia, no especializadas, pueden resolver problemas que requieren un conocimiento formal especializado..
(20) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 20. 2) Los Sistemas Expertos debidamente programados pueden obtener conclusiones y resolver problemas de forma más rápida que los expertos humanos. 3) Los Sistemas Expertos razonan basados en un conocimiento adquirido y no tienen sitio para la subjetividad, por lo que son más fiables ya que con muy baja frecuencia obtienen conclusiones erróneas. 4) Reducción de costes. 5) Eliminan operaciones incómodas o monótonas como son, por citar un simple ejemplo: la evaluación de reglas de producción a partir de grandes volúmenes de datos de entrada. 6) Cuando los expertos humanos en una determinada materia son escasos.. 1.3.4 Etapas en el desarrollo de un Sistema Experto. El desarrollo de un SE con posibilidades de éxito debe programarse muy cuidadosamente siguiendo un programa en el que entre otras, pueden figurar las siguientes etapas:. 1. Definición del problema a resolver. 2. Búsqueda de un experto humano o de los datos o experiencia. 3. Diseño del SE. 4. Elaboración del grado de intervención del usuario. 5. Selección de las tecnologías y lenguajes de desarrollo. 6. Desarrollo de un prototipo. 7. Prueba del prototipo. 8. Refinamiento y generalización. 9. Mantenimiento. 10. Actualización..
(21) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 21. Primeramente y con el auxilio de la búsqueda de requisitos se debe tener una visión bien detallada del problema, o sea, en que consiste el mismo. Esto facilita en gran medida el desarrollo de las etapas posteriores. Después de haberse definido el problema con total exactitud se debe buscar un experto humano que esté en condiciones de resolverlo con éxito. En algunos casos bastará con base de datos o experiencias que jugarán el papel de experto humano. La tercera parte es el diseño del SE en el que se incluyen las estructuras para almacenamiento del conocimiento, el motor de inferencia, los sistemas de explicación, la interfaz de usuario, etc. Una vez diseñado el SE estamos en condiciones de elegir el grado de intervención del usuario. En este momento hay que decidir las tecnologías que permiten describir los modelos obtenidos con mayor facilidad y completitud computacional. Con los medios decididos en la etapa anterior puede procederse al desarrollo de un prototipo y a la prueba del mismo, en un ciclo en forma de espiral hasta que se consiguen los resultados queridos. A esta fase seguirá una de refinamiento y generalización en la que se van puliendo defectos e incluyendo nuevos casos no contemplados en el diseño inicial. Las dos últimas fases son de suma importancia si se quiere llegar a un producto de calidad y con éxito comercial. En esta fase habrá que atender a las demandas de los clientes, resolviendo sus problemas, contestando a sus preguntas, corrigiendo errores y actualizando el sistema con los nuevos avances que se vayan produciendo.. 1.3.5 Lenguajes útiles para desarrollar un Sistema Experto. Elegir las tecnologías adecuadas para describir los modelos obtenidos a partir del problema es de vital importancia para alcanzar los objetivos que persigue el desarrollo del SE. En la actualidad, la cantidad de lenguajes de programación que pueden ser utilizados para desarrollar SE es aceleradamente voluminosa. No obstante hay una opinión generalizada que plantea que los mejores lenguajes son Lisp y Prolog. Sin embargo son cada vez más los desarrolladores que utilizan.
(22) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 22. lenguajes de alto nivel como Java, C++, C#. y Object Pascal, dado por las. bondades que los mismos ofrecen, estas están encaminadas en la rapidez en el procesamiento de datos, su alta capacidad para soportar. estructuras de. almacenamiento de conocimiento complejas, rápida construcción de la interfaz de usuario, así como el rehúso de código fuente que los mismos permiten, todo lo anterior facilita un desarrollo indiscutiblemente rápido de un SE.. Ventajas del Prolog como Máquina de Inferencia (MI) [LEZ00]:. 1. Se destaca la elegancia en la terminación de la aplicación. La facilidad de hacer interfaces con otros lenguajes de programación. 2. Facilidades de manipulación de base de datos. 3. Otro aspecto de mucha importancia está ligado al hecho de que las aplicaciones Prolog son compiladas, lo que hace que el código de sus bases de conocimiento esté oculto a curiosos que le puedan ocasionar daños y mal funcionamiento al sistema. 4. Los sistemas que se entregan de forma independiente (stand-alone) son más rápidos y ocupan menos espacio en disco, ya que no necesitan la MI ni sus herramientas auxiliares, tales como: su compilador, algún editor de texto que pueda poseer, etc. 5. Mejor control sobre la inferencia a partir de los mecanismos de cortes, tijeras y repeat...fail hacen fácil controlarla.. Al analizar el problema que se presenta, se hace prácticamente evidente y necesario aprovechar las ventajas que ofrecen los sistemas basados en reglas (SBR), los cuales se abordan con más detalle a continuación..
(23) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 23. 1.4 Sistemas Basados en Reglas. Los SBR son Sistemas Basados en el Conocimiento, en los que la forma de representación de conocimiento usado son las reglas de producción y como método de inferencia utiliza la regla modus ponens según [BEL02]. Los SBR también son llamados frecuentemente sistemas de producción.. Las reglas de producción son la forma de representación del conocimiento más popular, y para la cual se han desarrollado más herramientas comerciales [BEL98]. Una regla de producción representa una unidad relativamente independiente de conocimiento la cual puede describir relaciones como las siguientes: a) Situación – acción Si esta lloviendo y va a salir, entonces debe buscar una capa. b) Premisa – conclusión Si su temperatura es de 400C, entonces usted tiene fiebre. c) Antecedente – consecuente Si x es un gato, entonces x es un animal.. De manera general las reglas utilizan un formato IF - THEN para representar el conocimiento, la parte IF de una regla es una condición (también llamada premisa o antecedente), y la parte THEN de la regla es una acción (también llamada conclusión o consecuente) que permite inferir un conjunto de hechos nuevos si se verifican las condiciones establecidas en la parte IF [GAL98]. La interpretación de una regla es que si el antecedente se puede satisfacer entonces se obtiene el consecuente..
(24) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 24. 1.4.1 Direcciones de búsqueda en los SBR El proceso de solución de problemas en un SBR es crear una cadena de inferencias que constituye un camino entre la definición del problema y su solución. Esta cadena de inferencias puede construirse por dos direcciones de búsqueda:. 1. Comenzar con todos los datos conocidos y progresar hacia la conclusión (data driven o forward chaining).. 2. Seleccionar una conclusión posible y tratar de probar su validez buscando evidencias que la soporten (goal driven o backward chaining). La dirección forward es apropiada cuando: . Hay pocos datos de entrada.. . La cantidad de conclusiones posibles es grande.. Entre los campos de aplicación para esta dirección de búsqueda están monitoreo y diagnóstico en sistemas de control en tiempo real, diseño y planificación, según [GAL98].. La dirección backward es apropiada cuando: . Hay pocas conclusiones posibles. . Los valores obtenidos no son adquiridos automáticamente.. Según [GAL98], los problemas de diagnóstico y clasificación son frecuentemente resueltos con esta dirección de búsqueda siempre y cuando cumpla con las condiciones antes mencionadas. Para dar solución al problema enfrentado se ha usado la dirección de búsqueda forward, pues los datos de entrada del problema se obtienen automáticamente lo cual constituye una desventaja del uso de la dirección de búsqueda backward..
(25) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 25. 1.4.2 Ventajas y desventajas de los SBR. Ventajas de los SBR 1. Modularidad: Los SBR son altamente modulares. Cada regla es una unidad de conocimiento que puede ser añadida, modificada o removida, independientemente de las otras reglas existentes. Esto da flexibilidad al desarrollo de la base de conocimientos. 2. Uniformidad: Todo conocimiento del sistema se expresa en el mismo formato. 3. Naturalidad: Las reglas son un formato natural para expresar conocimiento en algunos dominios. Los expertos, lógicamente, piensan en los problemas y sus soluciones usando las situaciones existentes para indicar las conclusiones deseadas.. Desventajas de los SBR 1. Encadenamiento infinito. 2. Adición de nuevo conocimiento que pueda resultar contradictorio. 3. Modificación de las reglas existentes. 4. El reconocimiento de que reglas son aplicables en cada ciclo es altamente ineficiente. 5. Visión parcial, se pierde la perspectiva global del conjunto de reglas. 6. Hay dominios en que las entradas varían mucho y requerirán miles de reglas para considerar todas las situaciones.. Es importante destacar que para la construcción de los SBR deben contarse con dos fuentes muy importantes, los expertos que se han convertido en una fuente casi imprescindible y la literatura científico-técnica sobre el dominio de la aplicación..
(26) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 26. 1.4.3 Estados en el desarrollo de un SBR Según lo planteado en [GAL98], los estados por los que transita un SBR son los que a continuación mostramos:. 1. Propósito demostrativo: Se trabajan uno o dos casos. El sistema contiene de 50 a 100 reglas. Se alcanza en aproximadamente 3 meses. 2. Prototipo de investigación: El conocimiento almacenado en la BC cubre todo el dominio, aunque no está probado. La BC contiene entre 200 y 500 reglas. Este estado alcanza entre el 1er y 2do año de trabajo. Casi todos los SBR llegan hasta este estado. 3. Prototipo de campo: El SBR muestra buenos resultados funcionando extensivamente en ambiente del usuario. La BC contiene entre 500 y 1000 reglas. Se alcanza entre el 2do y 3er año de trabajo. 4. Módulo de producción: El SBR muestra una alta calidad, confiabilidad, rapidez y eficiencia en su trabajo. Este estado se alcanza entre el 2do y 4to años. 5. Sistema comercial: El SBR es un producto comercial.. El caso particular tratado se limita al primer estado, propósito demostrativo, ya que el tiempo con que se cuenta para la construcción del módulo basado en reglas es demasiado corto. Sin embargo se piensa que se pudiera seguir trabajando en este sentido con el propósito de llevar el SBR hasta el quinto estado..
(27) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 27. 1.4.4 Ciclo de vida de un SBR.. Análisis. Especificación. Diseño Preliminar. Prototipo Inicial Evaluación Corrección del Diseño Final. Diseño. Implementación. Prueba Mantenimiento.
(28) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 28. A continuación se describen las etapas de los ciclos de vida del SBR:. 1) Análisis del problema: Evaluar el problema y los recursos necesarios disponibles para determinar la amplitud de una solución basada en el conocimiento.. 2) Especificación de los requisitos: Formalizar y escribir lo que fue aprendido durante la etapa de análisis. Delinear los objetivos del proyecto y los medios para obtenerlos. Este documento debe discutir los objetivos y los rasgos del sistema, su ambiente usuario, y sus restricciones. Por su naturaleza heurística tal documentación resulta más beneficiosa en la construcción de Sistemas Basados en el Conocimiento (SBC) que en los proyectos de software tradicional; esto es especialmente cierto cuando varios ingenieros de conocimiento trabajan en paralelo.. 3) Diseño preliminar: Esta etapa comprende solamente las decisiones de alto nivel necesarios para comenzar y desarrollar rápidamente el prototipo inicial. En esta etapa se determina la Forma de Representación del Conocimiento (FRC), se selecciona la herramienta para desarrollar el prototipo y los expertos. Una adquisición considerable del conocimiento general desde los expertos o fuentes públicas pueden ser requerida en esta etapa para tomar decisiones importantes sobre la FRC y la herramienta.. 4) Prototipo inicial y evaluación: El prototipo inicial debe parecerse al sistema completo que será limitado en amplitud. Debe incluir una buena interfaz usuario y un subconjunto de conocimiento razonablemente robusto que permita a los usuarios juzgar su aceptabilidad.. 5) Diseño final: El diseño final comprende la selección de las herramientas y recursos requeridos para desarrollar el sistema delineado. También se incluye la selección de una FRC, lo cual es determinante en la elección de las herramientas..
(29) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 29. 6) Implementación: Esta etapa es la que más tiempo consume. Comprende el proceso de adquisición del conocimiento completo para todos los subsistemas. Es en esta etapa donde se realiza el desarrollo incremental.. 7) Prueba: Los objetivos de la prueba en los SBC son los mismos que en el software convencional. Solo aparecen diferencias significativas a nivel de la implementación detallada.. 8) Ajuste del diseño: Si los cambios en el diseño son significativos en alcance esto puede llevar a un cambio de paradigma.. 9) Mantenimiento: Esta etapa es bastante similar a la del software convencional.. 1.5 Ejemplos de SBR para el diagnóstico de enfermedades en cultivos. Se han desarrollado una gran gama de SE para el diagnóstico de enfermedades en cultivos agrícolas principalmente en el exterior, no así en nuestro país, todos ellos han contribuido a un mejor rendimiento de los cultivos y apreciables ahorros monetarios, sin dejar por alto la protección del medio ambiente.. El CITPATH, Sistema de diagnóstico y descripción de enfermedades en cítricos, fue desarrollado en Florida [THO99] en el año1995, consiste de dos piezas de software: un sistema experto para el diagnóstico de las enfermedades (dados los síntomas) y un texto en hypertext que describe las enfermedades y las ilustra por medio de diapositivas que se despliegan en la pantalla. El SE fue elaborado para la predicción de enfermedades en cítricos, para ello usa un SBR que evalúa un árbol de reglas a partir de preguntas que son respondidas por el usuario del sistema evidenciando los síntomas que presenta el cultivo..
(30) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 30. CALEX, es un sistema experto que fue desarrollado para la diagnosis de los problemas de la planta del melocotón y de la nectarina por la universidad de California. CALEX es un SBR y utiliza factores de certeza, la base de conocimiento del sistema de diagnóstico de CALEX contiene aproximadamente 600 reglas para la diagnosis de 120 problemas de melocotones y de nectarinas, representando la mayoría de los problemas de la producción en California. [THO99]. VITIS, es otro ejemplo de SBR para el diagnóstico de enfermedades en la uva, fue desarrollado en 1992 con la cooperación de los especialistas de Pensylvania, de New York, de Ohio, y de Michigan [THO99].. Dos programas de diagnóstico computarizados, CIT-Xpert y TFRUIT- Xpert, fueron desarrollados para asistir rápidamente a productores comerciales en el diagnóstico de enfermedades en cultivos agricolas, El CIT-Xpert se centra en la fruta cítrica, mientras que el TFRUIT-Xpert se centra específicamente en el aguacate, carambola, mango y papaya. Los sistemas fueron desarrollados con la cooperación con los especialistas de la investigación y de la extensión con maestría en el área de las enfermedades a diagnosticar. La metodología de los sistemas reproduce el proceso de diagnóstico del razonamiento de estos expertos. [THO99]. E n n u e s t ro p a í s se desarrolló en la provincia de Cienfuegos un software llamado Pronostizón, el cual se encarga de pronosticar Tizón Tardío en la papa. Según los especialistas que hemos podido entrevistar por su experiencia en el uso de este programa, aseguran que los resultados obtenidos por el mismo son alentadores. Por último se quiere abordar el siguiente software el cual fue construido para dar solución a un problema muy similar al que se presenta. CASTOR 2.0 es un programa para el manejo de datos meteorológicos y la predicción del Tizón Tardío.
(31) Capítulo 1: “La Agrometeorología y Los Sistemas Expertos Basados en Reglas” 31. en la papa y en el tomate. Fue desarrollado en el 2002 en la Universidad de Florida, Estados Unidos, este consta con un módulo basado en reglas, el cual es evaluado automáticamente a partir de datos meteorológicos obtenidos de estaciones meteorológicas automáticas, dando como salida las predicciones realizadas usando el método BliteCast [HEN97]..
(32) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 32. Capítulo2: “Sistema Inteligente Predictor de Enfermedades en Cultivos (SIPEC.exe) y Servicio para Consultas de Datos Online”. En este capítulo se aborda el desarrollo y funcionamiento del sistema ante las características del problema a resolver, se describen detalladamente los componentes y módulos del mismo, así como las tecnologías computacionales que se usaron para la implementación.. 2.1 Descripción del Sistema. Los valores meteorológicos son obtenidos por una serie de estaciones meteorológicas que se encuentran distribuidas en distintos lugares de la provincia de Villa Clara. Estas estaciones envían los datos diariamente a una estación central ubicada en nuestra universidad, la Estación Experimental Agrícola “Álvaro Barba Machado”. Y es en este lugar donde se realiza el procesamiento de estos datos; o sea, donde se evalúan las reglas para obtener las predicciones de enfermedades que incidirán en los cultivos en cada zona en específico. El sistema será instalado en esta estación con el fin de que esta tarea se realice de forma automática con rapidez y efectividad.. Son varios los casos de uso del sistema extraídos del problema a resolver, dando cumplimiento en la implementación de los mismos se ha logrado la integridad del sistema en este sentido. Al referirse a la gestión de los datos, el sistema posee un módulo que se encarga de la inserción manual y/o inserción usando ficheros, modificación, eliminación,. y muestra de los mismos, dando así al usuario. facilidades de manipulación y almacenamiento de estos en una base de datos. También cuenta con disposiciones para la inserción, modificación y eliminación de reglas para el diagnóstico de enfermedades en la base de conocimientos, esta.
(33) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 33. habilidad hace flexible el conocimiento a analizar, ya que la base de conocimientos puede sufrir cambios con el paso del tiempo, lo cual no constituye un problema a considerar por las bondades ofrecidas por el sistema para tratar este aspecto. Otro de los requisitos al que se le da cumplimiento, consiste en mostrar los datos meteorológicos para toda la red, para esto se ha desarrollado un sitio web que se nutre de la base de datos para lograr este propósito. El sistema está preparado para eliminar, modificar atributos e insertar nuevas estaciones meteorológicas proveedoras de datos meteorológicos. El proceso de predicción constituye el caso de uso donde se ha hecho un énfasis especial por la gran importancia del mismo, ya que constituye la base principal y razón de desarrollo de esta investigación, para dar cumplimiento a esta tarea se ha implementado un módulo que realiza el diagnóstico apoyándose en la base de conocimientos. La figura 2.1.1 muestra el diagrama de casos de uso del sistema:. Figura 2.1.1: Diagrama de casos de uso.. El sistema usa tecnologías cliente-servidor. El SE al ocuparse de la gestión de datos se comporta como un cliente de la base de datos, esta última al actuar como servidor atiende las consultas del SE. Por otra parte, el servidor donde está.
(34) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 34. alojado el sitio web, recibe pedidos de los diferentes browser que puedan ser utilizados por los usuarios para obtener visualmente información acerca de los datos. El servidor web también se comporta como cliente al hacerle consultas a la base de datos, ya que este realiza consultas para satisfacer los pedidos de los usuarios.. La figura 2.1.2 muestra la relación que existe entre las componentes del sistema y los datos que fluyen entre las mismas:. Figura 2.1.2: Diagrama de Relación Entre Componentes del Sistema..
(35) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 35. 2.2 Gestión de los datos. El almacenamiento de los datos no solo se limita a los valores meteorológicos recibidos de las distintas estaciones meteorológicas, también hay que tener en cuenta, los datos particulares (dirección, nombre, identificador) de cada estación, datos acerca de las enfermedades que se tratan, las predicciones hechas con sus diagnósticos, las fechas de inicio para comenzar a predecir una enfermedad en una estación en particular, así como los mensajes de aplicación emitidos para las distintas estaciones.. Las variables meteorológicas cuyos valores son objeto de almacenamiento en nuestra base de datos son descritas a continuación con el objetivo de que se tenga una idea de la información más relevante tratada.. Nombre. tMax. Unidad de Medida. ºC. Descripción. temperatura. Valores Límites Min. Max. -20. 50. máxima tMed. ºC. temperatura media. -20. 50. tMin. ºC. temperatura. -20. 50. -20. 50. -20. 50. mínima tMaxHR. ºC. temperatura máxima con la humedad relativa por encima del 90%. tMedHR. ºC. temperatura media con la humedad relativa por encima del 90%.
(36) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 36. tMinHR. ºC. temperatura. -20. 50. 0. 100. 0. 100. 0. 100. 0. 100. 0.00. 24.00. 0. 5000. 1. 400. -. -. mínima con la humedad relativa por encima del 90% hMax. %. humedad relativa máxima. hMed. %. humedad relativa media. hMin. %. humedad relativa mínima. HR. %. humedad relativa a las 7:00 AM. Horas. Horas y Minutos. cantidad de horas que la humedad relativa estuvo por encima del 90%. Lluvia. Mm. cantidad de milímetros de lluvia caída. Viento. Km/h. velocidad del viento. DireccionViento. Cadena de tamaño. dirección del. 3 caracteres como. viento. máximo. Ej (ENE). Como resultado del análisis cuidadoso de toda la información a tratar, se desarrolló un modelo que respondiera a las exigencias de dicho análisis. Un primer diseño de la base de datos a construir se obtuvo usando el Modelo Entidad Relación de Peter Chen. A partir del modelo anterior, se desarrollo otro modelo, el.
(37) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 37. relacional o lógico [ELM00], mostramos las tablas y relaciones más significativas de este último en al figura 2.2:. Figura 2.2: Modelo Relacional de la Base de Datos.. Existen numerosas tecnologías donde implementar el modelo anterior con posibilidades de éxito, entre las más destacadas se encuentran Oracle, SQLite, MySQL, MS SQL SERVER, entre otras. Oracle es una tecnología muy fuerte, entre sus muchas características y facilidades, se puede mencionar la alta seguridad que implementa, lo cual no constituye una gran ventaja para el desarrollo de nuestro sistema. SQLite, es poco utilizada en nuestro país, esto hace que el conocimiento previo sobre la misma sea muy escaso. MySQL es una tecnología de las más usadas a nivel mundial, consta con muchas facilidades, aunque no implementa funciones y procedimientos almacenados, cualidad que ayuda en gran medida a la rapidez en el proceso de gestión de datos, tampoco brinda posibilidades de relaciones entre tablas en sus versiones más usadas. MS.
(38) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 38. SQL SERVER es una tecnología dotada de muchas bondades, las cuales facilitan las exigencias de nuestro problema, a continuación se aborda un poco más sobre esta.. Por sus características, la tecnología escogida para la implantación del modelo relacional fue MS SQL SERVER 2000. Este es un servidor de bases de datos de los más populares actualmente, debido a su gran potencialidad. Brinda muchas posibilidades de gestión de la información y para la administración de las bases de datos que alberga, tanto de los datos que estas contienen como de las operaciones, usuarios, procesos, etc. Brinda servicio de transformación de datos y servicio de gerencia (el cual incluye posibilidad de ver en cualquier momento los procesos que están ejecutándose y datos de estos) entre otros.. Para el manejo de la seguridad de las bases de datos que hospeda, brinda la posibilidad de creación de usuarios. A estos se les puede asignar roles, que son privilegios de seguridad a nivel de servidor, y se le puede dar permisos en cada base de datos por separado, lo que determina las operaciones que puede realizar en cada una de ellas. Permite además, tener usuarios de Windows como usuarios suyos; o sea, realiza el proceso de autentificación de los usuarios verificando contraseñas suyas y de Windows. Como servicios de soporte tiene un Coordinador de Transacciones Distribuidas y un servicio denominado Full Text Search (Búsqueda completa de texto), que posibilita hacer búsquedas con mayores facilidades en las consultas de selección de datos.. Para el trabajo con cada base de datos en específico aporta muchas facilidades. Entre las más relevantes se pueden mencionar la posibilidad de tener funciones y procedimientos almacenados; estos son gestiones de datos, o sea, combinaciones de consultas de selección, inserción, modificación o eliminación en una o más tablas de la base de datos. La gran ventaja de estos procedimientos es que ya se encuentran compilados en el servidor SQL y en el momento de llamarlos desde cualquier aplicación, el tiempo de obtención de los resultados se reduce al tiempo.
(39) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 39. de ejecución del procedimiento almacenado, lo cual no sucede con las consultas creadas y ejecutadas en tiempo real, que necesitan ser compiladas primeramente.. A continuación se enuncian y describen de una forma breve los procedimientos almacenados más relevantes que fueron implementados para garantizar una óptima gestión de los datos.. -. dbo.InsertarDatos: inserta valores meteorológicos pasados como parámetros.. -. dbo.ModificarDatos: modifica valores meteorológicos ubicados por la fecha de obtención, la cual se pasa como parámetro.. -. dbo.InsertarEstacion: inserta una nueva estación, sus atributos son pasados como parámetros.. -. dbo.ModificarEstacion: modifica una estación, los nuevos atributos son pasados como parámetros.. -. dbo.EliminarEstacion: elimina una estación, el identificador de la misma es pasado como parámetro.. -. dbo.InsetarEnfermedad: inserta una nueva enfermedad, los atributos son pasados como parámetros.. -. dbo.ModificarEnfermedad: los nuevos atributos son pasados como parámetros.. -. dbo.EliminarEnfemedad: el nombre es pasado como parámetro.. -. dbo.InsertarFechaInicio: la fecha, el identificador de la estación y el nombre de la enfermedad son pasados como parámetros.. -. dbo.ModificarFechaInicio: la nueva fecha a establecer es pasada como parámetro.. -. dbo.EliminarFechaInicio: el identificador de la estación y el nombre de la enfermedad son pasados como parámetros.. -. dbo.InsertarPrediccion: este procedimiento es muy importante, pues garantiza la inserción de las predicciones realizadas por el SE, que posteriormente serán objeto de visualización para el usuario..
(40) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 40. -. dbo.select_Datos_Por_Estacion: devuelve los datos meteorológicos de una estación determinada pasándole el identificador de la estación como parámetro.. -. dbo.select_Datos_Por_idEst_Fecha:. devuelve. meteorológicos de una estación determinada. los. datos. en un rango de tiempo. comprendido entre una fecha inicial y una fecha final, estos valores son pasados como parámetros. -. dbo.select_Mensaje_idEst: devuelve los mensajes de aplicación guardados en la base de datos de una estación determinada por su identificador, el mismo es pasado como parámetro.. -. dbo.Mostrar_Por_Rango_Fecha:. devuelve. todos. los. datos. meteorológicos comprendidos entre una fecha inicial y otra final, estos valores de tiempo son pasados como parámetros. -. dbo.Mostrar_Todos: devuelve todos los datos meteorológicos que han sido almacenados ordenados por fecha descendentemente.. -. dbo.select_Predicciones_Por_Est:. devuelve. las. predicciones. correspondientes a una estación determinada pasándole el identificador de la estación. -. dbo.select_Todas_Predicciones: devuelve todas las predicciones realizadas.. -. dbo.select_Todos_Mensajes: devuelve todos los mensajes que han sido guardados en la base de datos.. 2.3 El Sistema Experto. Para la construcción del SE, se analizó primeramente toda la bibliografía explicada en el capítulo 1. Posteriormente se pasó a escoger las. tecnologías para. implementar el mismo, en este caso se decidió usar Borland Delphi 6 para implementar la máquina de inferencia y el lenguaje Prolog para describir las reglas, o sea, para crear la base de conocimientos..
(41) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 41. Borland Delphi 6 es una tecnología dotada de muchas facilidades y ventajas; desarrollado por Borland Corporation. La rapidez con que se pueden desarrollar las aplicaciones es un aspecto a tener muy presente, pues es de vital importancia para los usuarios tener el producto final lo más rápido posible en la mayoría de los casos. Compila un lenguaje fuertemente tipado, el Object Pascal, dicha característica brinda al programador, en la generalidad de los casos, seguridad en los tratamientos de variables, ya que este no tiene que preocuparse por la compatibilidad entre las mismas, pues el compilador se encarga de esta tarea. Otras de las ventajas que ofrece esta tecnología es su rapidez en el procesamiento de datos, su alta capacidad para soportar estructuras de almacenamiento complejas, el rehúso de código fuente, así como la disponibilidad de la Visual Component Library (VCL) que dota al diseñador de la interfaz de usuario de las aplicaciones de muchas componentes que enriquecen y embellecen estas, además de proporcionarle a los programadores otras componentes que implementan muchas funcionalidades rehusables para estos. Una de estas componentes y de mucho valor en el desarrollo de este SE en particular, es la librería de componentes ActiveX Data Object (ADO), la cual ha sido muy utilizada con el objetivo de lograr comunicación entre el servidor de base de datos y el SE.. La programación lógica pertenece al paradigma de la programación declarativa. El Prolog es un lenguaje de programación lógica que surge en 1970 en la Universidad de Marsella (Francia). El mismo hace búsquedas dirigidas por objetivo y a ciegas (primero en profundidad), además utiliza el mecanismo de regreso a atrás (backtracking).. Prolog realiza la descripción de problemas a través del cálculo de predicados de primer orden. Su programación consiste en añadir hechos y reglas a una base de conocimientos (BC), usando como sentencias cláusulas de Horn.. A continuación se enumeran algunas de las ventajas que ofrece el Lenguaje Prolog:.
(42) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 42. 1) Problemas complejos se resuelven con facilidad. 2) Los programas se mantienen sin dificultad en su ciclo de vida. 3) Obliga al programador a especificar una descripción bien estructurada del problema. 4) Tiempo corto de desarrollo. 5) Fácil de aprender, de leer y de modificar. 6) Fácil manipulación de estructuras de datos complejas (listas, árboles, grafos, etc).. Para escribir la base de conocimientos en lenguaje Prolog se usó particularmente el Amzi Prolog, ya que este ambiente se torna cómodo y eficaz para los propósitos perseguidos.. El sistema experto no solo se ocupa de realizar los diagnósticos y del enriquecimiento de la base de conocimientos de forma automática a partir de opciones escogidas por los especialistas, sino también han sido implementados otros módulos para apoyar la gestión y visualización de datos y predicciones en un ambiente favorable para el usuario.. Después de haber desarrollado la implementación de los requerimientos del sistema, se obtuvo como producto final el SIPEC.EXE, este brinda solución al problema inicialmente planteado, posibilita el uso de otros servicios que se fueron incorporando con el avance y desarrollo del mismo.. Para modelar el problema se usó el Modelo Orientado a Objetos (MOO), este brinda muchas bondades de incorporación de nuevas entidades en el diseño inicial, así como modularidad y claridad del modelo en cuestión [BOO94]. A continuación se muestran los distintos módulos implementados para el funcionamiento óptimo de SIPEC..
(43) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 43. 2.3.1 Módulo para el Diagnóstico de Enfermedades por Razonamiento Basado en Reglas o Máquina de Inferencia.. Para la implementación de este módulo se crearon distintas units que apoyan el proceso de diagnóstico. Este proceso debe de realizarse de forma rápida y precisa, ya que estas son algunas de las dificultades que poseía el mismo antes de que se pensara en un SE que realizara dicha tarea. La relación que existe entre las mismas es mostrada en la figura 2.3.1.1:. Figura 2.3.1.1: Relación Entre Units del Módulo de Diagnóstico.. Como. puede. observarse. la. unit. IniciarPredictor.Pas. usa. a. Uprediction.Pas, la cual a su vez usa a UObjectPrediction.Pas y a Amzi.Pas, esta última utiliza a Amzi.dll para realizar sus operaciones..
(44) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 44. El módulo realiza las predicciones a través de las funcionalidades implementadas en Uprediction.Pas, básicamente lo que se hace es extraer de la base de datos los valores meteorológicos de cada una de las estaciones meteorológicas respectivamente, para esto es usada la unit UObjectPrediction.Pas que es la encargada de conectarse con la base de datos y realizarle consultas, posteriormente son evaluados dichos valores en las reglas descritas en la base de conocimientos gracias a los subprogramas implementados en Amzi.Pas que se apoya en Amzi.dll para realizar dicha tarea. La unit UPrediction.Pas ofrece objetos para tomar los valores meteorológicos y mandarlos a evaluar, si el resultado de la evaluación es verdadero estamos en presencia de una predicción positiva de alguna enfermedad, entonces se puede mandar a almacenar y visualizar este resultado, la visualización es realizada gracias a las funcionalidades implementadas. en. IniciarPredictor.Pas,. posteriormente. se. siguen. analizando los juegos de datos restantes. Si al terminar el proceso de predicción no se ha hecho ninguna inferencia, el sistema emite un mensaje declarando esta situación.. El diagrama de transición de estados que se muestra en la figura 2.3.1.2 brinda una descripción más detallada del proceso de predicción..
(45) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 45. Figura 2.3.1.2: Diagrama de Transición de Estados del Proceso de Diagnóstico.. 2.3.2 Módulo de Explicación. Este módulo está creado para brindar al usuario una información detallada relacionada con las predicciones realizadas. Esta información está descrita principalmente por -. las enfermedades que atacarán a los cultivos respectivos.. -. cuántos días faltan para que cada ataque en particular sea de forma directa en el campo.. -. por qué sistemas se obtuvo la inferencia.. -. en que zonas se realizarán los ataques.. -. diagnósticos relacionados..
(46) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 46. Es importante destacar que la información que se expone en este módulo es de gran importancia para el usuario, no solo porque visualiza las predicciones que se han. realizado en la temporada actual para que se tomen las decisiones. pertinentes de como combatirlas; también se muestra un resumen de todas las predicciones realizadas a lo largo de la historia para una estación determinada, lo cual da una medida de cuan factible es cultivar una variedad determinada en una zona en particular, o sea, que riesgos se corren al sembrar dicha variedad y que ganancias se pueden obtener al ahorrar productos químicos y biológicos aplicables, así como mano de obra y medios de producción.. La figura 2.3.2 muestra las units implementadas para este propósito y la relación que existe entre las mismas.. Figura 2.3.2: Relación Entre Units del Módulo de Explicación. MostrarTodasPredicciones.Pas. y. MostrarPrediccionesEst.Pas. muestran visualmente las predicciones realizadas ordenadas descendentemente por fecha de predicción y las predicciones realizadas para una estación determinada también ordenada por fecha de predicción respectivamente. Para esto se auxilian de UobjectPrediccion.Pas que es la unit que posee las implementaciones relacionadas con el acceso y consultas a la base de datos..
(47) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 47. 2.3.3 Base de Conocimientos. Después de un período de revisión de literatura especializada y de varias entrevistas con el experto en Agrometeorología se realizó un prototipo del sistema de reglas, este fue revisado en reiteradas ocasiones por el experto hasta llegar a una primera versión.. Las reglas han sido escritas en lenguaje Prolog y son analizadas por la máquina de inferencia (MI), la cual las carga y libera de memoria tantas veces sea necesario con el objetivo de optimizar esta última.. Esta base de conocimientos puede ser enriquecida, modificada o reducida por el usuario del sistema, que en este caso particular es un experto, en el momento que este decida conveniente gracias a una interfaz gráfica que facilita dicho proceso. La interfaz provee al usuario de varias opciones que con tan solo completarlas el sistema genera las cláusulas Prolog automáticamente y las inserta o modifica en la base de conocimientos, también está capacitado para eliminar algunas reglas que han pasado a un estado obsoleto con el paso del tiempo.. Según lo planteado en la bibliografía especializada en Agrometeorología; se dice que un “sistema” se ha cumplido, si se cumplen todas las reglas que describen al mismo durante un periodo de tiempo t (en días); y se dice que una “enfermedad” está lista para afectar a un cultivo x, si se cumple al menos uno de los sistemas que la describen.. La BC es un conjunto de reglas escritas en lenguaje Prolog. Las mismas son escritas siguiendo los patrones siguientes:. Para sistemas: Las reglas de este tipo describen los sistemas..
(48) Capítulo 2: “El SIPEC.exe y El Servicio para Consultas de Datos Online” 48. s#(NE, NS,V1,V2, . . . , Vm) :- R1, R2, …, Rn.. Donde: # . Es un número entero positivo. Este es usado para diferenciar los. sistemas de una misma enfermedad. NE Identifica el nombre de la enfermedad a la que pertenece el sistema NS. NS Identifica el nombre del sistema. V1 Primera variable meteorológica. V2 Segunda variable meteorológica. …… Vm m-ésima variable meteorológica. R1 Primera regla que describe al sistema NS. R2 Segunda regla que describe al sistema NS. .… Rn n-ésima regla que describe al sistema NS.. Para medir tiempo de cumplimiento de un sistema: Las reglas de este tipo, miden el tiempo que se ha cumplido un sistema para una enfermedad determinada.. enf(NE,NS,DC):-DC>=N.. Donde: NE Identifica el nombre de la enfermedad a la que pertenece el sistema NS. NS Identifica el nombre del sistema. DC Días que se ha cumplido el sistema. N Días que debe cumplirse el sistema..
Figure
Outline
Documento similar
Por características antes expuestas respecto a “Fernanda” de que es un juego orientado a niños, con ciertas concesiones lógicas ya explicadas y con características
Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan
Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción
Después de una descripción muy rápida de la optimización así como los problemas en los sistemas de fabricación, se presenta la integración de dos herramientas existentes
diabetes, chronic respiratory disease and cancer) targeted in the Global Action Plan on NCDs as well as other noncommunicable conditions of particular concern in the European
La propuesta de guía didáctica para la enseñanza de la Cinemática Lineal consta de tres capítulos: en el primer capítulo, se realiza descripciones sobre
La siguiente y última ampliación en la Sala de Millones fue a finales de los años sesenta cuando Carlos III habilitó la sexta plaza para las ciudades con voto en Cortes de
La Ley 20/2021 señala con carácter imperativo los procesos de selección. Para los procesos de estabilización del art. 2 opta directamente por el concurso-oposición y por determinar