Está en la página 1de 12

SISTEMAS EXPERTOS

Es una aplicación informática capaz de solucionar un conjunto de problemas


que exigen un gran conocimiento sobre un determinado tema. Un sistema
experto es un conjunto de programas que, sobre una base de
conocimientos, posee información de uno o más expertos en un área
específica. Se puede entender como una rama de la inteligencia artificial,
donde el poder de resolución de un problema en un programa de
computadora viene del conocimiento de un dominio específico. Estos
sistemas imitan las actividades de un humano para resolver problemas de
distinta índole (no necesariamente tiene que ser de inteligencia artificial).
También se dice que un SE se basa en el conocimiento declarativo (hechos
sobre objetos, situaciones) y el conocimiento de control (información sobre
el seguimiento de una acción).

Los sistemas expertos son llamados así porque emulan el comportamiento


de un experto en un dominio concreto y en ocasiones son usados por éstos.
Con los sistemas expertos se busca una mejor calidad y rapidez en las
respuestas dando así lugar a una mejora de la productividad del experto.

Para que un sistema experto sea herramienta efectiva, los usuarios deben
interactuar de una forma fácil, reuniendo dos capacidades para poder
cumplirlo:
1. Explicar sus razonamientos o base del conocimiento: los sistemas
expertos se deben realizar siguiendo ciertas reglas o pasos
comprensibles de manera que se pueda generar la explicación para
cada una de estas reglas, que a la vez se basan en hechos.
2. Adquisición de nuevos conocimientos o integrador del sistema: son
mecanismos de razonamiento que sirven para modificar los
conocimientos anteriores. Sobre la base de lo anterior se puede decir
que los sistemas expertos son el producto de investigaciones en el
campo de la inteligencia artificial ya que ésta no intenta sustituir a los
expertos humanos, sino que se desea ayudarlos a realizar con más
rapidez y eficacia todas las tareas que realiza.

Debido a esto en la actualidad se están mezclando diferentes técnicas o


aplicaciones aprovechando las ventajas que cada una de estas ofrece para
poder tener empresas más seguras. Un ejemplo de estas técnicas sería los
agentes que tienen la capacidad de negociar y navegar a través de recursos
en línea; y es por eso que en la actualidad juega un papel preponderante en
los sistemas expertos.

Características de un sistema experto


Cuando se modelan sistemas expertos se busca que tengan las siguientes
características que son propias de los humanos:
- Habilidad para llegar a una solución en forma rápida y certera.
- Habilidad para explicar los resultados a la persona que no
cuenta con ese conocimiento.
- Habilidad para aprender de las experiencias.
- Habilidad de reestructurar el conocimiento para que se adapte
al ambiente.
- Conciencia de sus limitaciones.
Estructura básica de un sistema experto
Un Sistema Experto está conformado por:

Base de conocimientos (BC): Contiene conocimiento modelado extraído


del diálogo con un experto. Una Base de Conocimiento (o knowledgebase en
inglés; KB, kb or Δ) es un tipo especial de base de datos para la gestión del
conocimiento. Provee los medios para la recolección, organización y
recuperación computarizada de conocimiento.

Dentro de la base de conocimientos existen tres tipos de conocimiento para


construir un sistema experto:
- Reglas
- Hechos y relaciones entre los componentes
- Afirmaciones y preguntas

Para representar estos tipos de conocimientos en la base de conocimientos,


se utilizan tres métodos:

- Reglas: las reglas son una serie de declaraciones estructuradas en


forma de oraciones condicionales y están expresadas a través de las
estructuras condicionales IF-THEN-ELSE. Con ellas se pueden hacer
reglas que regulen el resultado de determinada información y
proporcionar distintos caminos que nos lleven a un proceso más
eficiente. Generalmente son usados en desiciones binarias o más
sencillas.

- Estructuras: contienen una jerarquía de componentes y de atributos


de objetos que pueden ser asignados o heredados de otras
estructuras a través de diversos procedimientos. Los atributos se
encuentran en la casilla de las estructuras. Una estructura, ya sea
como un arreglo, como una estructura o como una casilla de atributo
de una estructura puede ser llamada a través de reglas o expresiones
lógicas.
La diferencia entre una estructura y una regla es que una estructura
puede representar valores iniciales, apuntadores a otras estructuras o
reglas y procedimientos para los cuales se han especificado valores,
términos y condiciones de cualquier acción que necesite ser tomada.
La capacidad de representar procedimientos, términos y condiciones
con valores o acciones que son requeridas, es útil para conectar
varios componentes de información en un sistema experto. En una
estructura podemos tener representaciones descriptivas así como
representaciones procedimentales.

- Lógica: las expresiones lógicas cuentan con predicados, valores y


átomos para evaluar hechos del mundo real. El objeto puede ser una
constante o una variable que puede variar a través del tiempo. Un
predicado puede tener uno o más argumentos que son los objetos
que describe.
Base de hechos (Memoria de trabajo): contiene los hechos sobre un
problema que se ha descubierto durante el análisis.

Motor de inferencia: Modela el proceso de razonamiento humano. Una


vez que la base de conocimientos esta completa, necesita ser ejecutada por
un mecanismo de razonamiento y un control de búsqueda para resolver
problemas. 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 esta configurado imitando el procedimiento
humano de los expertos para solucionar problemas. El método más común
de razonamiento en los sistemas expertos es la aplicación del modus
ponens:
A->B
A->B y B->c entonces A->C

En un sistema experto existirá un hecho sólo cuando esté contenido en la


base de conocimientos.

Las funciones del motor de inferencia son:


- Determinar que acciones tendrán lugar, el orden en que lo harán y
como lo harán.
- Determinar cómo y cuándo se procesaran las reglas, y dado el caso,
también la elección de qué reglas deberán procesarse.
- Control del dialogo con el usuario.

Módulos de justificación: Explica el razonamiento utilizado por el sistema


para llegar a una determinada conclusión.

Interfaz de usuario: es la interacción entre el SE y el usuario, y se realiza


mediante el lenguaje natural. La interfaz de usuario es el elemento más
débil pero también uno de los más críticos en un sistema experto, ya que
determina que también los sistemas serán aceptados por los usuarios.

Tipos de sistemas expertos


Principalmente existen tres tipos de sistemas expertos:

- Basados en reglas previamente establecidas.


- Basados en casos o CBR (Case Based Reasoning).
- Basados en redes bayesianas.

En cada uno de ellos, la solución a un problema planteado se obtiene:

- Aplicando reglas heurísticas apoyadas generalmente en lógica difusa


para su evaluación y aplicación.
- Aplicando el razonamiento basado en casos, donde la solución a un
problema similar planteado con anterioridad se adapta al nuevo
problema.
- Aplicando redes bayesianas, basadas en estadística y el teorema de
Bayes.
Ventajas de un Sistema Experto

- Los conocimientos de un sistema experto pueden ser copiados y


almacenados fácilmente, siendo muy dificil la pérdida de éstos.
- Otra ventaja de los sistemas expertos sobre los humanos es que
el experto computarizado siempre está a pleno rendimiento.
Cuando un humano se cansa, la exactitud de sus consejos puede
decaer. Sin embargo, el experto computerizado siempre
proporcionará las mejores opiniones posibles dentro de las
limitaciones de sus conocimientos.
- Otra ventaja menos importante de un sistema experto radica en
su falta de personalidad. Como probablemente sabrá, las
personalidades no son siempre compatibles. Si no se lleva bien
con el humano experto, puede que se encuentre reticente a
recabar sus conocimientos.
- Rapidez: Un SE puede obtener información de una base de datos
y realizar cálculos numéricos mucho más rápido que cualquier ser
humano.
- Bajo costo: A pesar de que el costo inicial pueda ser elevado,
gracias a la capacidad de duplicación el coste finalmente es bajo.
- Entornos peligrosos: Un SE puede trabajar en entornos peligrosos
o dañinos para el ser humano.
- Una última ventaja de un sistema experto está en que después de
que un experto computerizado exista, usted puede crear un nuevo
experto simplemente copiando el programa de una máquina a
otra. Un humano necesita mucho tiempo para convertirse en un
especialista en ciertos campos, lo que hace difícil que puedan
aparecer nuevos especialistas humanos.

Desventajas de un Sistema Experto


- Creatividad: los humanos pueden responder creativamente a
situaciones inusuales, los sistemas expertos no pueden.
- Experiencia Sensorial: los humanos tienen un amplio rango de
disponibilidad de experiencia sensorial. Y los sistemas expertos
actualmente dependen de una entrada simbólica.
- Degradación: los sistemas expertos no son bueno para reconocer
cuando no existen respuestas o cuando los problemas están fuera de
su área.
- Programación: Difícil de elaborar y precisan mantenimiento complejo
- El elevado costo: En tiempo y dinero para extraer el conocimiento de
los especialistas humanos.
- Poca flexibilidad a cambios: Hay que reprogramar el sistema.
- Dificultad para manipular información no estructurada: Especialmente
la información incompleta, inconsistente o errónea.
- Lenguaje natural: Con un experto humano podemos mantener una
conversación informal mientras que con un SE no podemos.
- Capacidad de aprendizaje: Cualquier persona aprende con relativa
facilidad de sus errores y de errores ajenos, que un SE haga esto es
muy complicado.
- Perspectiva global: Un experto humano es capaz de distinguir cuales
son las cuestiones relevantes de un problema y separarlas de
cuestiones secundarias.

SAP (Sistemas, Aplicaciones y Productos)

El nombre de SAP proviene de: Sistemas, Aplicaciones y Productos en


Procesamiento de datos. EL nombre SAP es al mismo tiempo el nombre de
una empresa y el de un sistema informático. Este sistema comprende
muchos módulos completamente integrados, que abarca prácticamente
todos los aspectos de la administración empresarial. Cada módulo realiza
una función diferente, pero esta diseñado para trabajar con otros módulos.

La integración total de los módulos ofrece real compatibilidad a lo largo de


las funciones de una empresa. Esta es la característica más importante del
sistema SAP y significa que la información se comparte entre todos los
módulos que la necesiten y que pueden tener acceso a ella. La información
se comparte, tanto entre módulos, como entre todas las áreas.

SAP establece e integra el sistema productivo de las empresas. Se


constituye con herramientas ideales para cubrir todas las necesidades de la
gestión empresarial -sean grandes o pequeñas- en torno a: administración
de negocios, sistemas contables, manejo de finanzas, contabilidad,
administración de operaciones y planes de mercadotecnia, logística, etc.
SAP proporciona productos y servicios de software para solucionar
problemas en las empresas que surgen del entorno competitivo mundial, los
desarrollos de estrategias de satisfacción al cliente, las necesidades de
innovación tecnológica, procesos de calidad y mejoras continuas, así como,
el cumplimiento de normatividad legal impuesta por las instituciones
gubernamentales. Los Módulos de aplicación son los siguientes:

- Gestión financiera (FI). Libro mayor, libros auxiliares, ledgers


especiales, etc.

- Controlling (CO). Gastos generales, costes de producto, cuenta de


resultados, centros de beneficio, etc.

- Tesorería (TR). Control de fondos, gestión presupuestaria, etc.

- Sistema de proyectos (PS). Grafos, contabilidad de costes de


proyecto, etc.

- Gestión de personal (HR). Gestión de personal, cálculo de la nómina,


contratación de personal, etc.

- Mantenimiento (PM). Planificación de tareas, planificación de


mantenimiento, etc.

- Gestión de calidad (QM). Planificación de calidad, inspección de


calidad, certificado de, aviso de calidad, etc.
- Planificación de producto (PP). Fabricación sobre pedido, fabricación
en serie, etc.

- Gestión de material (MM). Gestión de stocks, compras, verificación de


facturas, etc.

- Comercial (SD). Ventas, expedición, facturación, etc.

- Workflow (WF), Soluciones sectoriales (IS), con funciones que se


pueden aplicar en todos los módulos.

SAP también ofrece diseño y estrategias de procesos, así como, servicios


permanentes que ayudan a emigrar los sistemas empresariales de acuerdo
con los cambios de las TI. SAP ayuda a sus clientes “a dirigirlos durante
dichas transiciones, de los entornos de min (SAP R/2 ®) a los de cliente-
servidor (SAP R/3 ®) y de estos a la arquitectura hacia la arquitectura
orientada a los servicios (ESA)”. Asimismo, ofrece estrategias de resistencia
al cambio en los sistemas de soluciones de negocios pues se involucra en
los procesos de capacitación de los usuarios finales del sistema.
LENGUAJE UNIFICADO DE MODELADO (UML)

El Lenguaje Unificado de Modelado prescribe un conjunto de notaciones y


diagramas estándar para modelar sistemas orientados a objetos, y describe
la semántica esencial de lo que estos diagramas y símbolos significan.
Mientras que ha habido muchas notaciones y métodos usados para el
diseño orientado a objetos, ahora los modeladores sólo tienen que aprender
una única notación.

Es un lenguaje gráfico para visualizar, especificar, construir y documentar


un sistema. UML ofrece un estándar para describir un "plano" del sistema
(modelo), incluyendo aspectos conceptuales tales como procesos de negocio
y funciones del sistema, y aspectos concretos como expresiones de
lenguajes de programación, esquemas de bases de datos y componentes
reutilizables.

UML no puede compararse con la programación estructurada, pues UML


significa Lenguaje Unificado de Modelado, no es programación, solo se
diagrama la realidad de una utilización en un requerimiento. Mientras que,
programación estructurada, es una forma de programar como lo es la
orientación a objetos, sin embargo, la programación orientada a objetos
viene siendo un complemento perfecto de UML, pero no por eso se toma
UML sólo para lenguajes orientados a objetos.

UML se puede usar para modelar distintos tipos de sistemas: sistemas de


software, sistemas de hardware, y organizaciones del mundo real. UML
cuenta con varios tipos de diagramas, los cuales muestran diferentes
aspectos de las entidades representadas, entre ellos están:
- Diagramas de Casos de Uso para modelar los procesos ’business’.
- Diagramas de Estado para modelar el comportamiento de los objetos
en el sistema.
- Diagramas de Secuencia para modelar el paso de mensajes entre
objetos.
- Diagramas de Colaboración para modelar interacciones entre objetos.
- Diagramas de Actividad para modelar el comportamiento de los Casos
de Uso, objetos u operaciones.
- Diagramas de Componentes para modelar componentes.
- Diagramas de Clases para modelar la estructura estática de las clases
en el sistema.
- Diagramas de Objetos para modelar la estructura estática de los
objetos en el sistema.
- Diagramas de Implementación para modelar la distribución del
sistema.

Diagramas de casos de uso


Este tipo de diagramas describe cómo se usa el sistema, partiendo desde el
punto de vista del usuario final. Esto da una buena pauta para conocer más
a fondo los requisitos que deberá tener el sistema a desarrollar. El objetivo
de este tipo de diagramas es mostrar la manera en la que un usuario final
va a interactuar con el sistema a desarrollar, sin preocuparse por la forma
en la que se va a lograr implementar eso, técnicamente hablando, es decir,
sin tomar en cuenta los mecanismos que se van a utilizar para crear o hacer
funcionar el sistema.

En el diagrama de casos de uso se representa también el sistema como una


caja rectangular con el nombre en su interior. Los casos de uso están en el
interior de la caja del sistema, y los actores fuera, y cada actor está unido a
los casos de uso en los que participa mediante una línea. Ejemplo de un
diagrama de caso de uso:

Diagramas de estado
Un Diagrama de Estados muestra la secuencia de estados por los que pasa
bien un caso de uso, bien un objeto a lo largo de su vida, o bien todo el
sistema. En él se indican qué eventos hacen que se pase de un estado a
otro y cuáles son las respuestas y acciones que genera.
En cuanto a la representación, un diagrama de estados es un grafo cuyos
nodos son estados y cuyos arcos dirigidos son transiciones etiquetadas con
los nombres de los eventos.
Un estado se representa como una caja redondeada con el nombre del
estado en su interior. Una transición se representa como una flecha desde
el estado origen al estado destino.
La caja de un estado puede tener 1 o 2 compartimentos. En el primer
compartimiento aparece el nombre del estado. El segundo compartimiento
es opcional, y en él pueden aparecer acciones de entrada, de salida y
acciones internas.
Diagramas de secuencia
Un diagrama de Secuencia muestra una interacción ordenada según la
secuencia temporal de eventos. En particular, muestra los objetos
participantes en la interacción y los mensajes que intercambian ordenados
según su secuencia en el tiempo. El eje vertical representa el tiempo, y en
el eje horizontal se colocan los objetos y actores participantes en la
interacción, sin un orden prefijado. Cada objeto o actor tiene una línea
vertical, y los mensajes se representan mediante flechas entre los distintos
objetos. El tiempo fluye de arriba abajo. Se pueden colocar etiquetas (como
restricciones de tiempo, descripciones de acciones, etc.) bien en el margen
izquierdo o bien junto a las transiciones o activaciones a las que se refieren.

Diagrama de colaboraciones
Un Diagrama de Colaboración muestra una interacción organizada
basándose en los objetos que toman parte en la interacción y los enlaces
entre los mismos (en cuanto a la interacción se refiere). A diferencia de los
Diagramas de Secuencia, los Diagramas de Colaboración muestran las
relaciones entre los roles de los objetos. La secuencia de los mensajes y los
flujos de ejecución concurrentes deben determinarse explícitamente
mediante números de secuencia.
Diagrama de actividades
El diagrama de actividades sirve para representar el sistema desde otra
perspectiva, y de este modo complementa a los anteriores diagramas
vistos. Gráficamente un diagrama de actividades será un conjunto de arcos
y nodos. Desde un punto de vista conceptual, el diagrama de actividades
muestra cómo fluye el control de unas clases a otras con la finalidad de
culminar con un flujo de control total que se corresponde con la consecución
de un proceso más complejo. Por este motivo, en un diagrama de
actividades aparecerán acciones y actividades correspondientes a distintas
clases. Colaborando todas ellas para conseguir un mismo fin.
Básicamente un diagrama de actividades contiene:
• Estados de actividad
• Estados de acción
• Transiciones
• Objetos

Cada actividad se representa por un rectángulo con las esquinas


redondeadas (más angosto y ovalado que la representación del estado). El
procesamiento dentro de una actividad se lleva a cabo y, al realizarse, se
continúa con la siguiente actividad. Una flecha representa la transición de
una a otra actividad. Al igual que el diagrama de estados, el de actividad
cuenta con un punto inicial (representado por un círculo relleno) y uno final
(representado por una diana).

Los diagramas de actividades tienen la poderosa herramienta de permitir


tomar decisiones, como se muestra en la siguiente figura:

Diagrama de componentes
Un componente de software es una parte física de un sistema, y se
encuentra en la computadora, no en la mente del analista. Ejemplos de
componentes son tablas, archivos de datos, ejecutables, bibliotecas de
vínculos dinámicos, documentos y cosas por el estilo.
Lo que contiene un diagrama de componentes es lógicamente componentes,
interfaces y relaciones, aunque también pueden aparecer otros tipos de
símbolos vistos anteriormente.
El símbolo principal de un diagrama de componentes es un rectángulo que
tiene otros dos sobrepuestos en su lado izquierdo, con el nombre del
componente dentro del rectángulo más grande.

Diagrama de clases
Una clase se representa mediante una caja subdividida en tres partes: En la
superior se muestra el nombre de la clase, en la media los atributos y en la
inferior las operaciones. Una clase puede representarse de forma
esquemática, con los atributos y operaciones suprimidos, siendo entonces
tan solo un rectángulo con el nombre de la clase. Las asociaciones entre dos
clases se representan mediante una línea que las une. La línea puede tener
una serie de elementos gráficos que expresan características particulares de
la asociación.
Diagrama de objetos
En UML, un objeto se representa por un rectángulo con un nombre
subrayado.

También podría gustarte