Chapter 5: Secondary prevention
5.11 Oral contraception
Es posible que una de las razones por las cuales al identificar la necesidad de desarrollo de un Sistema Experto no se opte por él, es que se presenta como una solución muy compleja, sin embargo, existen programas que permiten desarrollar con gran facilidad un sistema experto, a este tipo de herramientas se les conoce con el nombre de “Shell”.
Un Shell facilita la codificación del programa pero no elimina la tarea del análisis profundo y la representación del conocimiento, esto sigue siendo una tarea que el profesional de sistemas debe afrontar.
Estas herramientas incorporan el motor de inferencia, independiente de las bases de hechos y de conocimiento. Suelen estar desarrollados en los lenguajes LISP o PROLOG para aumentar su eficiencia. En muchos casos incorporan procesadores de texto, gráficos y herramientas de análisis.
A continuación, se presenta algunos de los Shells disponibles en el medio:
1. Exsys Developer
Esta herramienta se basa en reglas de producción. El motor de inferencias permite el encadenamiento hacia adelante y encadenamiento hacia atrás.
Posee un editor de reglas que provee dos métodos para la creación de las mismas: una interfaz visual de árboles de decisión y un editor de reglas simples. Los diagramas de árboles permiten crear rápidamente reglas en un entorno gráfico que permite visualizar y desarrollar la lógica de un problema al mismo tiempo. La figura No.1-2 muestra una de las pantallas del programa.
Por otro lado, ofrece interfaces externas mediante comandos SQL sobre bases de datos. Se incorpora un generador de reportes. El costo de esta herramienta es de $16,580.00.
Asimismo, Exsys Developer provee un sistema de validación para detectar errores en la lógica, mediante pruebas automáticas y sistemáticas que utilizan todas las posibles combinaciones de entrada para verificar una amplia variedad de errores comunes19.
Figura No. 1-2 Pantalla del Programa Exsys Developer
2. Corvid
La interfaz de este shell es sumamente amigable, se basa en la definición de reglas lógicas. Estas reglas lógicas se almacenan en bloques dentro del sistema, es la única forma de ingresarlas.
Su diseño está basado en la plataforma Java 20.
El motor inferencial determina la posible solución al problema, qué datos se requieren para determinar si una respuesta es apropiada, cuál respuesta es la más próxima de acuerdo a las reglas. La figura No.1-3 presenta la pantalla para registrar bloques lógicos.
Esta herramienta cuenta con una opción que permite acceder a la aplicación vía web. Esta opción se recomienda para reducir la cantidad de consultas que se hacen directamente a un ser humano, con el consiguiente ahorro de recursos.
Provee acceso a diferentes bases de datos utilizando ODBC.
Es posible descargar de la página web de la compañía una versión de demostración que permite el uso de la herramienta por 30 días, esta versión no tiene las mismas capacidades que la comercial, pero permite el desarrollo de algunos sistemas pequeños. El autor del presente trabajo desarrolló un primer prototipo utilizando esta herramienta. El trabajo se desarrolló como parte de la asignatura de Sistemas Expertos durante el ciclo académico 2003-2 en la Universidad Peruana de Ciencias (U.P.C.), el título del mismo fue “Sistema
Experto para la solución de oposiciones a nombres de dominios nacionales”21. La
herramienta se presentó como de fácil de usar y muy práctica para el ingreso de las reglas de producción.
El costo de este producto es de $15,995.00 por licencia de desarrollo para solo un usuario y 20 copias para distribución de aplicaciones.
20 Cfr.Corvid 2004
Figura No.1-3 Pantalla del Programa Corvid
3. Atenea
Esta herramienta fue desarrollada en el Perú por Maria Luisa Bravo. El desarrollo de esta herramienta le permitió obtener el título de Ingeniero de Sistemas en la Universidad Peruana de Ciencias Aplicadas. La mencionada herramienta opera con el sistema operativo Windows de Microsoft, desde la versión 95’. Para registrar los hechos y las reglas utiliza la base de datos SQL Server 7, se utilizó como lenguaje de programación Object Pascal con el entorno de desarrollo Delphi de Borland. El producto cuenta con un manual técnico y la documentación del sistema. Atenea trabaja en base a reglas de producción.
4. CLIPS
Esta herramienta se basa en reglas de producción. El motor de inferencias permite encadenamiento hacia adelante y encadenamiento hacia atrás.
Utiliza como base el lenguaje de programación “C”. Permite la construcción de estructuras complejas. El lenguaje de desarrollo es similar, en la sintaxis, al lenguaje LISP, permite el desarrollo de funciones, procedimientos y módulos. CLIPS tiene capacidad de comunicarse con otros lenguajes de programación y es de distribución y uso libre. Esta herramienta se ha utilizado en el desarrollo de una gran cantidad de aplicaciones a nivel internacional y es muy flexible porque el desarrollador puede construir, por medio de comandos interfaces, la base de conocimientos y manipular la misma sin utilizar interfaces rígidas22.
Se encuentra disponible una gran cantidad de material para el uso de la mencionada herramienta, tanto manuales como código de ejemplo. Este shell y sus fuentes son de distribución gratuita.
Figura No.1-4 Pantalla de la interface CLIPS para windows