domingo, 27 de abril de 2014

Sistemas Expertos - Lenguaje Shell - Contenido Adicional Juegos Educativos

En el siguiente enlace pueden encontrar varios juegos relacionados con el contenido de "Lenguaje Shell"

Sistemas Expertos - Desarrollo de Sistemas expertos - Contenido Adicional Video

Los sistemas expertos no solo se basan en el software (programas, aplicaciones), sino que también se necesita el hardware especifico para que el Sistema Experto sea viable.

El siguiente vídeo explica precisamente como se podría implementar un sistema experto en base a hardware barato sin necesidad de sacrificar rendimiento y calidad con una solución de IBM.




sábado, 5 de abril de 2014

Sistemas Expertos - Aplicaciones y Dominios de los Sistemas Expertos

Aplicaciones de los Sistemas Expertos

Los sistemas expertos pueden ser aplicados a casi todos los campos del conocimiento, Algunos se han diseñado como herramientas de investigación, mientras que otros, satisfacen importantes funciones de negocios e industriales, a continuación detallo un ejemplo enfocado al campo de la agricultura.

Todos los sistemas expertos difieren muy poco o casi nada de otros sistemas expertos, y un sistema experto enfocado a la agricultura no es diferente, dado que utiliza un sistema base de conocimientos,

Podemos desarrollar un sistema experto para diagnosticar pestes y enfermedades para un cultivo en especifico y sugerir medidas preventivas y curativas para estas. El sistema base de conocimiento debe incluir pestes y enfermedades, así como sus características para poder identificarlas y así poder sugerir medidas preventivas y curativas.

Otro Sistema Experto puede ser utilizado para la aplicación de fertilizantes, protección de sembradíos, el horario de irrigacion y el diagnostico de enfermedades antes y después de recoger la cosecha de frutas y vegetales.

Y así muchos otros ejemplos claros de Sistemas Expertos.

Dominios de los Sistemas Expertos

Para construir un Sistema Experto, es necesario decidir el método adecuado, dependiendo del tipo de problemas a resolver, para así elegir si usar un sistema de programación convencional o un sistema experto, algunas de las preguntas que se deben hacer, son

¿Puede solucionarse eficazmente el problema con programación convencional?
¿Esta bien delimitado el dominio?

¿Existe la necesidad y el deseo de tener un sistema experto?

¿Existe al menos un especialista dispuesto a cooperar con el proyecto?

¿Puede este experto explicar el conocimiento en forma comprensible al ingeniero del conocimiento?

¿El conocimiento para resolver el problema es principalmente heurístico e incierto?

Dependiendo de la respuesta (si o no) a las preguntas, podemos determinar fácilmente si un sistema experto es la mejor opción o si por el contrario un sistema convencional es más eficiente. 

Sistemas Expertos - Lenguaje Shell y herramientas

Lenguaje Shell y Herramientas

El lenguaje shell es un ambiente de desarrollo de software  el cual contiene todos los componentes de un sistema experto, asociado al shell, se encuentran métodos prescritos de construcción de aplicaciones, para construir los sistemas expertos se debe configurar e instanciar estos componentes, algunos de los componentes genéricos se muestran en la figura debajo de estas lineas.


En la figura de arriba, se dibuja el diagrama del lenguaje shell, sus componentes son los siguientes.

  • Knowledge base: (Base de conocimiento) Un almacenamiento de conocimiento Heuristico o Factico, Una herramienta de Sistemas Expertos que proporciona una o mas representaciones esquematicas del conocimiento sobre el dominio de la aplicación, algunas herramientas de esta clase, utilizan reglas tanto de Objetos como Si-Entonces.
  • Inference Engine: (Motor de inferencia) Un mecanismo de manipulación de información y conocimiento simbólico en la base de conocimiento para formar una linea de razonamiento para resolver un problema, el mecanismo puede ir de simple encadenamiento "modus ponens" de reglas Si-Entonces hasta razonamiento basado en el tipo de caso.
  • Knowledge base editor: (Editor de Bases de Conocimiento) Un subsistema que ayuda a expertos a construir las bases de conocimiento. Capturar conocimiento necesario para resolver problemas y construir bases de conocimiento es un cuello de botella en la construcción de Sistemas Expertos
  • Explanation Subsystem: (Subsistema de explicaciones) Un subsistema que explica las acciones del sistema mismo, estas explicaciones pueden ir de como se llego a la parte intermedia o final de la solución hasta incluso justificar la necesidad de datos adicionales.
  • User Interface: (Interfaz de usuario) La forma de comunicarse con el usuario, por lo general no es parte de la tecnología de un Sistema Experto.

Herramientas

Existen muchas herramientas en la actualidad para construir sistemas expertos, las hay desde tipo "Freeware" (gratuitos) hasta los comerciales (de pago), los siguientes son solo algunas herramientas (tanto freeware como comerciales) usadas para la construcción de sistemas expertos)

  • ART-IM
  • CBR Express v1.1
  • Nex-Expert Object v.2.0
  • Exsys Corvid
  • Xpertrule
  • G2
  • Visual Prolog
  • Jess
  • Winprolog
  • Clisps
  • Expert System Builder

Sistemas Expertos - Ciclo de vida de un Sistema Experto

Ciclo de vida de un Sistema Experto


Los sistemas expertos están basados en procesos heurísticos, se desarrolla un prototipo del sistema, dado que permite probar supuestos sobre como codificar los hechos, las relaciones y el conocimiento más profundo del campo del conocimiento maestro.

El ciclo de vida es el siguiente:

  • Análisis
  • Especificación
  • Diseño Preliminar
  • Prototipo Inicial
  • Evaluación
  • Diseño Final
  • Ajustes al Diseño
  • Implementación
  • Pruebas
  • Instalación, Implementación, Mantenimiento.


Sistemas Expertos - Desarrollo de Sistemas Expertos

Desarrollo de Sistemas Expertos

viernes, 4 de abril de 2014

Foros

 


Para todos aquellos que se encuentren usando Internet Explorer o Firefox, pueden usar este enlace para ir a los foros "Enlace"