miércoles, 21 de noviembre de 2012

Fundamentos de los Sistemas Expertos

2.1 Introducción


Aplican experiencia de una manera eficiente para solucionar problemas, realizando inferencias a partir de datos incompletos o inciertos.

Explican y justifican lo que están haciendo. Se comunican con otros expertos y adquieren nuevo conocimiento.

Reestructuran y reorganizan el conocimiento. Pueden quebrantar reglas, interpretar simultáneamente el
espíritu y la letra. Determinar cuando un problema está en el dominio de su experiencia, determinación de la relevancia del problema.


2.2 Definición estructural y funcional de los Sistemas Expertos


Es un programa que soluciona problemas y da consejos en un área especializada de conocimiento. Pueden resolver problemas muy difíciles como los expertos humanos, razonan pero en base a un conocimiento adquirido, funcionan con datos que contienen errores, contemplan múltiples hipótesis en competición simultáneamente, y pueden justificar sus conclusiones. Los programas convencionales utilizan datos exactos lo que es una indudable ventaja de los computadores. Esta clase de datos se denomina conocimiento factual o preciso. Los humanos usamos una mezcla de ese conocimiento factual y de conocimiento heurístico (o sea la intuición lógica), que es una indisputable ventaja de los humanos. Los sistemas expertos tratan de emular ese conocimiento heurístico, lo que los hace superiores a los programas convencionales ya que pueden tratar con datos "inciertos", o sea, no precisos.

2.3 Inferencia y Control


La mayoría de los sistemas expertos almacenan su conocimiento en forma de reglas de inferencia: sí esto, entonces eso; sí eso, entonces aquello otro. Las reglas de inferencia permiten relacionar hechos o situaciones del mundo real para deducir otros hechos que, en principio, no son evidentes sin la utilización de dicha reglas. MODELO (REPRESENTACION DEL CONOCIMIENTO).- Como habíamos mencionado antes existen dos clases de conocimiento a tratar: 1.Conocimiento factual, o sea, aquel que por naturaleza es preciso y libre de "ruido". Se caracteriza también por ser objetivo y fácil de representar. 2.Conocimiento heurístico, es el conocimiento que usamos intuitivamente pero en forma consciente. NO es preciso ya que generalmente es subjetivo y es difícil de representar. Existen varias maneras de representar el conocimiento, tales como: Redes semánticas, Marcos, Reglas de producción, Lógica de predicados, Libretos, Híbridos. En la construcción de los sistemas expertos el modelo mas usado es el de las reglas de producción por su versatilidad. Sin embargo recientemente los modelos híbridos, o sea, la combinación de algunos de los modelos, han tenido mucho éxito en su aplicación, especialmente para la representación del conocimiento heurístico. Las reglas de producción generalmente son escritas en la forma IF-THEN, donde: IF premisa, THEN conclusión IF entrada, THEN salida IF condición, THEN acción IF antecedente, THEN consecuente IF datos, THEN resultados IF acción, THEN meta. La parte IF generalmente contiene varias cláusulas unidas por los conectivos lógicos AND, OR. La parte THEN consiste en una o más frases que especifican la acción a tomar.

Metodologías y entornos de desarrollos


Una metodología de desarrollo de software se refiere a un framework que es usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de información. A lo largo del tiempo, una gran cantidad de métodos han sido desarrollados diferenciándose por su fortaleza y debilidad. El framework para metodología de desarrollo de software consiste en: Una filosofía de desarrollo de programas de computacion con el enfoque del proceso de desarrollo de software Herramientas, modelos y métodos para asistir al proceso de desarrollo de software.

Estos frameworks son a menudo vinculados a algún tipo de organización, que además desarrolla, apoya el uso y promueve la metodología. La metodología es a menudo documentada en algún tipo de documentación formal. 

El desarrollo de los sistemas tradicionales de ciclo de vida se originó en la década de 1960 para desarrollar a gran escala funcional de sistemas de negocio en una época de grandes conglomerados empresariales. La idea principal era continuar el desarrollo de los sistemas de información en una muy deliberada, estructurada y metódica, reiterando cada una de las etapas del ciclo de vida. Los sistemas de información en torno a las actividades resueltas pesadas para el procesamiento de datos y rutinas de cálculo. Metodologías de Desarrollo de Software tiene como objetivo presentar un conjunto de técnicas tradicionales y modernas de modelado de sistemas que permitan desarrollar software de calidad, incluyendo heurísticas de construcción y criterios de comparación de modelos de sistemas. Para tal fin se describen, fundamentalmente, herramientas de Análisis y Diseño Orientado a Objetos (UML), sus diagramas, especificación, y criterios de aplicación de las mismas. 

Como complemento se describirán las metodologías de desarrollo de software que utilizan dichas herramientas, ciclos de vida asociados y discusión sobre el proceso de desarrollo de software más adecuado para las diferentes aplicaciones ejemplos que se presentarán. Principalmente, se presentará el Proceso Unificado el cual utiliza un ciclo de vida iterativo e incremental.

No hay comentarios:

Publicar un comentario