introducción a los sistemas expertos

Upload: delta56

Post on 03-Mar-2016

23 views

Category:

Documents


1 download

DESCRIPTION

Introducción a los sistemas expertos

TRANSCRIPT

  • UNIVERSIDAD DE PANAM

    CENTRO REGIONAL UNIVERSITARIO DE VERAGUAS

    FACULTAD DE INFORMTICA, ELECTRNICA Y

    COMUNICACIN

    INTRODUCCIN A LOS SISTEMAS EXPERTOS.

    Por:

    ADRIANO LEONARDO ZAMBRANO VSQUEZ

    CDULA: 9-738-1629

    SANTIAGO, REPBLICA DE PANAM

    15/09/15

  • TABLA DE CONTENIDOS

    NDICE DE ILUSTRACIONES .............................................................................. 4

    1. INTRODUCCIN. ........................................................................... 5

    2. CONCEPTO DE SISTEMA EXPERTO. .......................................... 6

    3. CONCEPTOS Y CARACTERSTICAS GENERALES DE

    LOS SISTEMAS EXPERTOS. ........................................................ 7

    3.1 CONCEPTOS ................................................................................. 7

    3.2 CARACTERSTICAS ...................................................................... 9

    4. TIPOS DE SISTEMAS EXPERTOS. ............................................. 11

    4.1 POR LA FORMA DE ALMACENAR EL CONOCIMIENTO. .......... 11

    4.2 POR LA NATURALEZA DE LA TAREA A REALIZAR. ................. 11

    4.3 POR LA INTERACCIN DEL USUARIO. ..................................... 12

    4.4 A LA LIMITACIN DEL TIEMPO AL TOMAR UNA

    DECISIN. .................................................................................... 12

    4.5 VARIABILIDAD TEMPORAL DEL CONOCIMIENTO. ................... 13

    4.6 POR LA NATURALEZA DEL CONOCIMIENTO

    ALMACENADO. ............................................................................ 13

  • 4.7 POR LA CERTEZA DE LA INFORMACIN. ................................ 13

    5. LENGUAJES Y HERRAMIENTAS. ............................................... 14

    5.1 LENGUAJES ................................................................................. 14

    5.2 HERRAMIENTAS. ......................................................................... 15

    6. PARADIGMAS. ............................................................................. 15

    6.1 LENGUAJES DE PROCEDIMIENTO. ........................................... 16

    6.2 LENGUAJES QUE NO SON DE PROCEDIMIENTO. ................... 17

    7. VENTAJAS Y DESVENTAJAS DE UN SISTEMA

    EXPERTO. .................................................................................... 18

    8. SISTEMAS EXPERTOS Y APRENDIZAJE INDUCTIVO. ............. 20

    9. CONCLUSIONES ......................................................................... 20

    10. REFERENCIAS BIBLIOGRFICAS. ............................................. 21

  • NDICE DE ILUSTRACIONES

    Ilustracin 1: Mecanismo de un sistema experto. ................................................. 8

    Ilustracin 2: Lenguajes de procedimiento. ........................................................ 16

    Ilustracin 3: Lenguajes de no procedimiento. ................................................... 17

  • 1. INTRODUCCIN.

    El estudio y desarrollo de los sistemas expertos (SE) comenz a mediados de la

    dcada del 60. Entre 1965 y 1972 fueron desarrollados varios de estos sistemas,

    muchos de ellos tuvieron un alcance muy limitado, otros como MYCIN,

    DENDRAL y PROSPECTOR, constituyeron la base histrica de los SE y an en

    la actualidad son de gran inters para los investigadores que se dedican al

    estudio y construccin de los mismos.

    Los sistemas expertos (SE) son programas de computadora diseados para

    resolver problemas que requieren de expertos humanos (EH) para su solucin,

    donde EH es la persona que tiene conocimientos profundos de un cierto tema y

    tiene experiencia en resolver con ellos problemas tiles; como por ejemplo:

    diagnosticar enfermedades en el caso del Mdico, disear catalizadores en el

    caso del Qumico, disear un puente en el caso de un Ingeniero Civil, detectar

    una falla en un automvil en el caso de un Ingeniero Mecnico y otros.

    La mayora de las computadoras ejecutan hoy en da una gran cantidad de

    programas que realizan decisiones lgicas, con poca cantidad de conocimiento y

    que utilizan algoritmos y datos, donde los primeros explican los pasos y los

    datos son parmetros particulares, y los expertos humanos, no siguen este

    modelo para resolver un problema, estos usan fragmentos de conocimiento y su

    experiencia, para alcanzar la solucin de un problema en particular.

    Los SE representan estos fragmentos de experiencia y conocimiento en una

    base de conocimientos (BC), que posteriormente es accedida para razonar

    sobre un problema en particular, lo que hacen diferir con los programas

    convencionales en su arquitectura, en la forma en que se incorpora el

  • conocimiento, en la manera interactiva en que se ejecutan y en la impresin a

    los usuarios.

    Los SE tienen capacidad para resolver problemas muy difciles, tan bien o mejor

    que un EH, razonar heursticamente utilizando reglas que los EH consideran

    eficaces, interactuar eficazmente y en lenguaje natural con las personas,

    manipular expresiones simblicas y razonar sobre ellas, funcionar con datos

    errneos y reglas imprecisas, contemplar mltiples hiptesis alternativas,

    explicar por qu plantean sus preguntas cuando estn intentando resolver un

    problema, y justificar sus conclusiones.

    2. CONCEPTO DE SISTEMA EXPERTO.

    Un sistema experto es un sistema de cmputo que emula, que un sistema

    experto tiene el objetivo de actuar en todos los aspectos de los humanos, la

    habilidad de tomar decisiones de un especialista humano, donde la emulacin

    supone un nivel mucho mayor que una simulacin, donde solo se necesita

    actuar como la realidad.

    Donde los sistemas expertos buscan dar una aproximacin a la solucin de los

    problemas clsicos de la inteligencia artificia, donde se use la capacidad de

    conocimiento y los procedimientos de inferencia, para resolver problemas de que

    tardaran tiempo y experiencia al conocimiento humano.

    Los sistemas expertos son una rama de la inteligencia artificial, cuya base son el

    uso del conocimiento especializado (cualquier rea) para resolver problemas a

    un nivel de especialista humano, a diferencia con los sistemas expertos iniciales

    donde se componan de neto conocimiento especialista, hoy en da se clasifican

    en aspectos de hardware y software.

  • El trmino sistema basado en conocimiento y sistema experto basado en

    conocimiento da a entender lo mismo, y para sistema experto podra referirse a

    sistemas con conocimientos generales pero sin experiencia.

    3. CONCEPTOS Y CARACTERSTICAS GENERALES DE

    LOS SISTEMAS EXPERTOS.

    3.1 CONCEPTOS

    Para el funcionamiento de un sistema experto este debe considerar los

    siguientes conceptos especficos:

    Usuario: es el que aporta los hechos u informacin al sistema

    Hechos: son los conocimientos aportados por el usuario al

    sistema.

    Aptitudes: son las conclusiones o respuestas recibidas del

    sistema experto hacia el usuario.

    Base de conocimiento: es la que contiene el conocimiento que le

    permite al mecanismo de inferencia sacar conclusiones.

    Mecanismo de inferencia: es el que permite transmitir las

    aptitudes a la consulta especializada del usuario.

    El funcionamiento de un sistema experto se puede ver en la siguiente ilustracin:

  • Ilustracin 1: Mecanismo de un sistema experto.

    Adems de estos tambin es necesario mencionar como por decir que el

    conocimiento de un sistema experto puede representarse de varias maneras ya

    sea en objetos y reglas, regla como SIENTONCESHACER_X, por as

    decirlo, donde SI existe el hecho se satisface la regla y se ejecuta la accin de

    HACER_X.

    Consideremos los siguientes conceptos inmiscuidos en los sistemas expertos:

    Ingeniera del conocimiento: es una serie de procesos para

    construir un sistema experto, y consiste en la adquisicin de

    conocimiento a partir de un especialista humano u otra fuente, para

    su codificacin en el sistema experto.

    Sistema basado en el conocimiento: a saber cmo es la

    aplicacin de tecnologa basada en el conocimiento, que puede

    usarse para la creacin de sistemas expertos.

  • Facilidad de explicacin: integral en los sistemas expertos, ya

    que debe permitir al usuario la exploracin de mltiples lneas de

    conjetura.

    Induccin de reglas: el sistema crea reglas a partir de las tablas

    de datos.

    Conocimiento heurstico: del griego descubrir, es un mtodo

    prctico o conocimiento emprico obtenido de la experiencia y que

    ayuda en la solucin en la mayora de los casos.

    3.2 CARACTERSTICAS

    Cuando se disea un sistema experto se propone que tenga las siguientes

    caractersticas generales [GIAR02]:

    Alto desempeo: el sistema debe tener la capacidad de responder

    a un nivel de competencia igual o superior al de un especialista en

    el campo de aplicacin, donde la calidad de consejo por parte del

    sistema tiene que ser de alto nivel.

    Tiempo de respuesta adecuado: el tiempo en el que acta el SE

    debe ser razonable, en comparacin con el de un especialista para

    lograr una decisin, de modo que esta sera una caracterstica

    determinable de la eficiencia o no del SE, aplicables ms a

    sistemas en tiempo real.

    Confiabilidad: la confianza debe reducir la probabilidad de cadas

    o la posibilidad de no ser usado.

  • Comprensibilidad: un SE debe ser capaz de explicar los pasos de

    su razonamiento mientras se ejecutan, brindando as

    comprensibilidad, donde sea visible el concepto de caja negra,

    que brinda capacidad de explicar el razonamiento sobre la solucin

    de un problema como lo hara un especialista.

    La comprensibilidad dada a travs de la explicacin, es durante la

    fase de desarrollo, donde se debe especificar que el conocimiento

    adquirido se ha recibido y se est utilizando correctamente, ya que

    puede haber errores entre en la informacin de entrada y as

    malentendidos entre el ingeniero del conocimiento y el especialista.

    Flexibilidad: por la gran cantidad de conocimiento que un sistema

    experto puede tener es importante contar con un mecanismo de

    aadir, modificar y eliminar conocimiento, caracterstico en los SE

    de capacidad de almacenaje eficiente y modular de reglas.

    Habilidad de aprender de las experiencias: los SE deben

    aprender tanto de sus propias experiencias como de la experiencia

    de los dems, estar al da de los cambios en la base de

    conocimiento as como a modificar procesos de razonamiento.

    Restructurar el conocimiento adaptable al ambiente: usar la

    porcin de conocimiento adecuado a la necesidad para resolver un

    problema, pudiendo as reducir el tiempo de respuesta, usando

    distintos puntos de vista.

    Conciencia de limitaciones: los SE son capaces de evaluar su

    capacidad para resolver un problema dado y determinar la

    posibilidad de resolverlo de acuerdo a sus capacidades.

  • 4. TIPOS DE SISTEMAS EXPERTOS.

    Existen diversos puntos de vista por el cual podemos clasificar los sistemas

    expertos:

    4.1 POR LA FORMA DE ALMACENAR EL CONOCIMIENTO.

    Se pueden encontrar sistemas basados en reglas, que es en donde el

    conocimiento se almacena en forma de hechos y reglas por el cual el motor de

    inferencia funciona a travs de ordenamiento hacia atrs y adelante, y los

    sistemas basados en probabilidad, es donde la base de conocimientos est

    constituida por hechos y sus dependencias probabilsticas,

    En los sistemas probabilsticos el motor de inferencia es ms rpido, debido a

    que todas las implicaciones estn presentes y solo se determina la probabilidad

    de una determinada aplicacin, en cambio los basados en reglas ofrece un

    mecanismo de explicacin ms sencillo y solo usan las reglas necesarias.

    4.2 POR LA NATURALEZA DE LA TAREA A REALIZAR.

    Podemos considerar los siguientes:

    Diagnstico o clasificacin: se conocen soluciones y se tratan de

    clasificarlas de acuerdo a una serie de datos, ya sea de acuerdo a

    un propsito o campo de aplicacin.

    Monitorizacin: anlisis del comportamiento del sistema buscando

    fallas, poniendo nfasis en la evolucin y los cambios.

  • Diseo: se busca la construccin de la solucin a un problema que

    en principio es desconocida a partir de datos y restricciones a

    satisfacer.

    Prediccin: se basa en el comportamiento del sistema.

    4.3 POR LA INTERACCIN DEL USUARIO.

    Apoyo: son los sistemas que aconsejan al usuario, con la

    capacidad de una ltima decisin.

    Control: son sistemas autnomos sin intervencin humana o

    especialista.

    Crtica: tienen la misin de analizar y criticar decisiones tomadas

    por el usuario.

    4.4 A LA LIMITACIN DEL TIEMPO AL TOMAR UNA DECISIN.

    Tiempo ilimitado: usan el conocimiento casual en un problema ya

    ocurrido y su anlisis no es necesario de inmediatez.

    Tiempo limitado o tiempo real: son aquellos SE que necesitan

    actuar controlando o monitorizando dispositivos y que tomen

    decisiones inmediatas frente a los problemas que surjan, como es

    el caso de control de redes.

  • 4.5 VARIABILIDAD TEMPORAL DEL CONOCIMIENTO.

    Estticos: la base de conocimiento permanece sin cambios

    durante el proceso de decisin.

    Dinmicos: ocurren cambios en la base de conocimientos durante

    la toma de decisiones, los cuales pueden ser predecibles o no, y

    que adems pueden aadir o modificar la informacin existente.

    4.6 POR LA NATURALEZA DEL CONOCIMIENTO

    ALMACENADO.

    Estn los basados en experiencia, los cuales el conocimiento se basa en

    experiencias, o hechos ocasionados conocidos por el experto, y los basados en

    relaciones causa y efecto.

    4.7 POR LA CERTEZA DE LA INFORMACIN.

    Completa o perfecta: se conocen todos los datos y reglas

    necesarias para la decisin.

    Imperfecta: la base de conocimientos puede estar incompleta o los

    datos son falsos, o que contengan conocimientos inciertos o que

    tengan terminologa ambigua.

  • 5. LENGUAJES Y HERRAMIENTAS.

    5.1 LENGUAJES

    La conveniencia de escoger un lenguaje o paradigma depende del conocimiento

    existente para resolver un problema, dependiendo si es necesario utilizar la

    programacin convencional o valerse la IA, aun siendo los sistemas expertos

    una rama de la IA, existen lenguajes especiales para los SE.

    Un lenguaje para SE es un lenguaje de orden ms alto que los lenguajes LISP o

    C, ya que da mayor facilidad para realizar ciertas cosas y que tambin permite

    usarlo sobre un rango pequeo de problemas, dependiendo se debe salir a la

    programacin convencional para resolver ciertos problemas.

    A diferencia con los lenguajes tradicionales o convencionales que definen un tipo

    de dato para cada propsito, los SE propone una abstraccin de datos y

    suministrando el encapsulamiento y paquetes, con formas ms robustas y

    flexibles de representar el conocimiento, en dos niveles como lo son la

    abstraccin de datos y la abstraccin de conocimiento permitiendo as separar

    los hechos de las reglas respectivamente.

    Para el diseo de programas, que en los lenguajes convencionales se debe

    mantener un control por estrecho entrelazamiento de los datos, pero que en los

    lenguajes de SE proporcionan una separacin explcita de los datos y

    conocimientos, permitiendo as mayor grado de paralelismo y modularidad.

    La necesidad de utilizar un sistema experto depende si se desea programa la

    experiencia de un especialista humano, si es que existe y afinar su cooperacin,

  • de ah depende su definicin de xito, y tambin depende de que actualmente

    existen una gran cantidad de lenguajes.

    Por la confusin de trminos como herramientas, Shell, o entornos

    integrados, es necesario definir el trmino de lenguaje:

    Lenguaje: es un traductor de comandos escritos en una sintaxis especfica,

    proporcionando un mecanismo de inferencia que ejecute las instrucciones del

    lenguaje, dependiendo de su mecanismo puede proporcionar encadenamiento

    hacia adelante o hacia atrs o ambos, la conveniencia de un lenguaje, su

    eficiencia y velocidad influyen directo en que lenguaje debe estar escrito el

    software.

    5.2 HERRAMIENTAS.

    Es un lenguaje adicionalmente asociado con programas de utileras para facilitar

    el desarrollo, la depuracin y el uso de los programas de aplicacin, los de

    utileras pueden incluir editores de texto e imgenes, depuradores,

    administradores de archivos y generadores de cdigo, ciertas herramientas

    pueden admitir uso de paradigmas diferentes.

    En ciertos casos se puede integrar una herramienta con todos sus utilitarios en

    un solo ambiente, presentando al usuario una interfaz comn, dicho ambiente

    permite el intercambio de datos entre varios programas utilitarios dentro de s.

    6. PARADIGMAS.

    Consideremos dos paradigmas principales:

  • Programacin de procedimientos: algortmica, convencional suelen

    usarse para indicar que no usan la IA, las instrucciones se realizan paso a

    paso, y su eje est en que el programador debe especificar exactamente

    el cmo debe codificarse la solucin de un problema.

    Programacin de no procedimientos: da las bases de conocimientos

    suficientes como para encontrar una o varias soluciones.

    6.1 LENGUAJES DE PROCEDIMIENTO.

    Podemos considerar lenguajes de procedimientos y sus conceptos con el fin de

    obtener la diferencia con los no procedimentales que se acercan ms a los

    sistemas expertos, a continuacin se muestra un esquema de los lenguajes

    procedimentales secuenciales (Con propsito ilustrativo):

    Ilustracin 2: Lenguajes de procedimiento.

    Lenguajes de procedimientos (secuenciales)

    Imperativos

    ADA

    PASCAL

    C

    Funcionales

    LISP

    APL

  • Consideremos ahora el aspecto conceptual de dicho lenguajes:

    Programacin imperativa: u orientada a las afirmaciones, donde

    estas representan rdenes que indican a la computadora lo que

    tiene que hacer, una desventajas es la determinacin de que si los

    programas estn bien.

    Programacin funcional: su propsito es combinar las funciones

    simples para producir funciones ms potentes, se centra en las

    funciones.

    6.2 LENGUAJES QUE NO SON DE PROCEDIMIENTO.

    Ilustracin 3: Lenguajes de no procedimiento.

    Lenguajes que no son de procedimientos

    Declarativos

    Orientado a objetos

    Smalltak

    Lgicos Prolog

    Basados en Reglas

    CLIPS

    ART

    OPS5

    Basado en marcos

    KEE

    No declarativos

    Basado en inducciones

    Maestro de reglas

    Sistema neuronal artificial

  • La programacin declarativa separa la meta de los mtodos utilizados para

    alcanzarla, el usuario especifica la meta mientras que el mecanismo subyacente

    de implementacin trata de satisfacerla, considerando paradigmas declarativos:

    Programacin orientada a objetos: considerado en el aspecto

    imperativo, y parte en el declarativo, la idea es disear un

    programa considerando los datos usados en l como objetos y

    despus implementando operaciones con esos objetos.

    Sistemas expertos: los sistemas expertos pueden considerarse

    como declarativos debido a que el programador no especifica

    como el programador alcanza su objetivo al nivel de un algoritmo.

    La programacin no declarativa, pueden ser usados de forma individual o junto

    con otros paradigmas, en el caso basado en la induccin el programa aprende a

    partir de ejemplos.

    7. VENTAJAS Y DESVENTAJAS DE UN SISTEMA

    EXPERTO.

    Dentro de las ventajas podemos mencionar:

    Mayor disponibilidad: para cualquier hardware de cmputo

    adecuado, un sistema experto es la produccin masiva de

    experiencia.

    Costo reducido: poner la experiencia a disposicin del usuario es

    reducida en costes.

  • Peligro reducido: pueden ser utilizados en ambientes peligrosos

    para un ser humano.

    Permanencia: la experiencia es permanente o indefinido lo que no

    ocurre con especialistas humanos.

    Experiencia mltiple: el conocimiento de varios especialistas

    pueden estar a disposicin simultneamente y continuamente en

    un problema, y superar la capacidad de un especialista.

    Mayor confiabilidad: al incrementar las opiniones en comn

    incrementa la confianza a la hora de tomar decisiones.

    Explicacin: un SE puede explicar clara y detalladamente el

    razonamiento que conduce a una conclusin aumenta la confianza.

    Respuesta rpida.

    Tutora inteligente: el SE puede actuar como un tutor inteligente,

    dejando que el estudiante ejecute programas de ejemplo y

    explicando su razonamiento.

    Base de datos inteligentes.

    Consideremos algunas complicaciones que pueden tener los SE:

    La indisponibilidad de un especialista humano para adquirir el

    conocimiento.

    La falta de comunicacin y entendimiento entre el conocimiento

    que explica el experto al ingeniero del conocimiento.

  • Si el conocimiento es heurstico e incierto, la base de

    conocimientos que posee los sistemas expertos, es decir que est

    basado netamente en la experiencia.

    8. SISTEMAS EXPERTOS Y APRENDIZAJE INDUCTIVO.

    Es posible construir sistemas expertos usando los ANS, donde los sistemas

    expertos usan el aprendizaje inductivo es decir el sistema induce la informacin

    en su BC (Base de conocimientos) a travs de ejemplos, y la induccin es el

    proceso de inferir casos generales a partir de casos especficos, el objetivo del

    aprendizaje inductivo es reducir o eliminar la dificultad de obtener conocimientos

    y que trae como beneficio colocar el esfuerzo de adquisicin de conocimiento en

    el SE reduciendo tiempos y aumentando confiabilidad.

    9. CONCLUSIONES

    La utilizacin y familiarizarse con paradigmas orientados a la

    programacin de sistemas expertos aumenta la aplicacin del uso

    de los conocimientos especialistas a el desarrollo y aplicacin de

    una base de conocimientos a disposicin de problemas especficos

    o generales.

    Los sistemas expertos al estar basados en conocimiento pueden

    usarse con efectividad en problemas de tiempo real y de difciles

    formas de resolver.

  • 10. REFERENCIAS BIBLIOGRFICAS.

    [GIAR02] GIARRATANO, Joseph; GARY, Riley. Sistemas Expertos:

    Principios y Programacin. Tercera Edicin, Editorial Thompson,

    China, 2002.