Descargar

Herramientas de Software. Inteligencia Artificial y Sistemas Expertos

Enviado por cecyreyesolivans


    1. Definición de inteligencia artificial
    2. Diferencia entre la inteligencia natural y la artificial
    3. Historia de la IA
    4. Prueba de Turing
    5. Visión general de la inteligencia artificial
    6. Naturaleza de la inteligencia
    7. Principales ramas de la IA
    8. Características de un SE
    9. Capacidades de los SE
    10. Cuando usar los SE
    11. Componentes de los SE
    12. Desarrollo de los SE
    13. Participantes en el desarrollo y utilización de los SE
    14. Herramientas y técnica para el desarrollo de sistemas expertos
    15. Ventajas de los Shells y los productos de SE
    16. Alternativas de desarrollo de SE
    17. Aplicaciones de los SE y de la IA

    Una definición estrecha del término "inteligencia" es "la habilidad de aprender". Cuanto mejor equipada esté una persona con herramientas mentales para aprender y aplicar nuevas ideas, mayor será su inteligencia. Es decir, inteligencia es la aptitud para aprender y también para pensar.

    DEFINICIÓN DE INTELIGENCIA ARTIFICIAL

    • Es una de las áreas de las ciencias computacionales encargadas de la creación de hardware y software que tenga comportamientos inteligentes.
    • La IA es la ciencia que enfoca su estudio a lograr la comprensión de entidades inteligentes. Es evidente que las computadoras que posean una inteligencia a nivel humano (o superior) tendrán repercusiones muy importantes en nuestra vida diaria.

    DIFERENCIA ENTRE LA INTELIGENCIA NATURAL Y LA ARTIFICIAL

    Atributos

    Inteligencia Natural

    Inteligencia Artificial

    Capacidad de usar detectores

    Alta

    Baja

    Capacidad de ser creativo

    Alta

    Baja

    Capacidad de aprender de la experiencia

    Alta

    Baja

    Capacidad de adaptación

    Alta

    Baja

    Capacidad de permitirse el costo de adquirir experiencia

    Alta

    Baja

    Capacidad de usar diversas fuentes de información

    Alta

    Alta

    Capacidad de adquirir una gran cantidad de información externa

    Alta

    Alta

    Capacidad de realizar cálculos complejos

    Baja

    Alta

    Capacidad de transferir información

    Baja

    Alta

    Capacidad de hacer una serie de cálculos con rapidez y exactitud

    Baja

    Alta

    HISTORIA DE LA IA

    En 1937 el matemático inglés Alan Mathison Turing (1912-1953) publicó un artículo de bastante repercusión sobre los "Números Calculables", que pueden considerarse el origen oficial de la Informática Teórica.

    En este artículo, introdujo la Máquina de Turing, una entidad matemática abstracta que formalizó el concepto de algoritmo y resultó ser la precursora de las computadoras digitales. Con ayuda de su máquina pudo demostrar que existen problemas irresolubles que ningún ordenador será capaz de solucionar, por ello Turing es considerado el padre de la teoría de la computabilidad.

    También se le considera el padre de la Inteligencia Artificial, por su famosa Prueba de Turing, que permitiría comprobar si un programa de ordenador puede ser tan inteligente como un ser humano.

    PRUEBA DE TURING

    Dos personas y un computador, una de las personas es un interrogador y la otra persona y el computador son los elementos a ser identificados.

    Cada uno de los elementos está en un cuarto distinto.

    La comunicación entre los elementos es escrita y no se puede ver.

    Después de un cierto número de preguntas y respuestas, sí el interrogador no puede identificar quién es el computador y quién la persona, entonces podemos decir que el computador piensa.

    Hoy por hoy, el trabajo que entraña programar una computadora para pasar la prueba es considerable. La computadora debería ser capaz de lo siguiente:

    Procesar un lenguaje natural: Para así poder establecer comunicación satisfactoria, sea en español, inglés o en cualquier otro idioma humano.

    Representar el conocimiento: Para guardar toda la información que se le haya dado antes o durante el interrogatorio. Utilización de Base de Datos para receptar preguntas y luego almacenarlas.

    Razonar automáticamente: Utiliza la información guardada al responder preguntas y obtener nuevas conclusiones o tomar decisiones.

    Autoaprendizaje de la máquina: Con el propósito de adaptarse a nuevas circunstancias. El autoaprendizaje conlleva a la auto-evaluación.

    Para aprobar la prueba total de Turing, es necesario que la computadora esté dotada de:

    Vista: Capacidad de percibir el objeto que se encuentra en frente suyo.

    Robótica: Capacidad para mover el objeto que ha sido percibido.

    La IA ha pasado por diversas situaciones:

    El término fue inventado en 1956, en un congreso en el que se hicieron previsiones triunfalistas a diez años que jamás se cumplieron, lo que provocó el abandono casi total de las investigaciones durante quince años.

    En 1980 la historia se repitió con el desafío japonés de la quinta generación, que dio lugar al auge de los sistemas expertos, pero que no alcanzó muchos de sus objetivos, por lo que este campo ha sufrido una detención en los años noventa.

    En la actualidad estamos tan lejos de cumplir la famosa prueba de Turing como cuando se formuló: Existirá Inteligencia Artificial cuando seamos capaces de distinguir entre un ser humano y un programa de computadora en una conversación a ciegas

    Como anécdota, muchos de los investigadores sobre la IA sostienen que "la inteligencia es un programa capaz de ser ejecutado independientemente de la máquina que lo ejecute, computador o cerebro".

    VISIÓN GENERAL DE LA INTELIGENCIA ARTIFICIAL

    Estos sistemas ayudan a elaborar diagnósticos médicos, explorar en busca de recursos naturales, determinar errores en dispositivos mecánicos y ayudar en el diseño y puesta en operación de otros sistemas de computación.

    Los sistemas de inteligencia artificial incluyen a las personas, los procedimientos, el hardware y software, los datos y los conocimientos necesarios para desarrollar sistemas, y máquinas de computación que presenten características de inteligencia. El objetivo del desarrollo de sistemas de IA contemporáneos no es el reemplazo completo de la toma de decisiones de los humanos, pero sí duplicarlas para ciertos tipos de problemas bien definidos.

    NATURALEZA DE LA INTELIGENCIA

    Aprender de la experiencia y aplicar el conocimiento adquirido de ésta: Esto no es natural de los sistemas de computación, por ello se debe tener la capacidad de programar en forma cuidadosa. En la actualidad los investigadores desarrollan sistemas que tienen esta capacidad, por ejemplo los juegos de ajedrez de IA pueden aprender a mejorar su juego mientras se enfrenta a competidores humanos.

    Mejorar situaciones complejas: Desarrollo de sistemas computacionales que puedan manejar situaciones confusas requieren de una planeación cuidadosa y complicada… porque incluso los humanos cometen errores.

    Solucionar problemas cuando se carece de información importante: La esencia de la toma de decisiones es hacer frente a la incertidumbre. En la actualidad, los IA pueden hacer cálculos, comparaciones y tomar decisiones importantes incluso con poca información.

    Determinar qué es importante: El conocimiento de lo verdaderamente importante es lo que distingue a un buen tomador de decisiones. El desarrollo de programas y métodos, que permitan a los sistemas y máquinas de computación identificar la información importante, no es una tarea sencilla.

    Reaccionar en forma rápida y correcta a una nueva situación: Las computadoras no tienen esta capacidad sin una programación complicada.

    Comprender imágenes visuales: La interpretación de imágenes visuales puede implicar gran dificultad, incluso para las computadoras más sofisticadas. Moverse a través de una habitación con sillas, mesas y otros objetos puede ser un asunto sin importancia para las personas, pero es extremadamente complejo para las máquinas, los robots y las computadoras. Estas computadoras requieren una extensión de la comprensión de las imágenes visuales, conocida como sistema perceptivo. Contar con un sistema perceptivo le permite a una máquina aproximarse a la forma en que el ser humano ve, oye y siente los objetos.

    Procesar y manipular símbolos: Aunque las computadoras son excelentes para cálculos numéricos, no son tan eficientes cuando tienen que tratar con símbolos y objetos tridimensionales. Sin embargo, los desarrollos recientes en los equipos y el software para la visión de la máquina permiten que algunas computadoras procesen y manipulen símbolos sobre una base limitada.

    Ser creativos e imaginativos: Pocas computadoras tienen la capacidad de ser verdaderamente imaginativas o creativas en esta forma, aunque se ha desarrollado software que permite a una computadora escribir cuentos cortos.

    Usar la heurística (reglas prácticas producto de la experiencia: En la actualidad, algunos sistemas de computación tienen esta capacidad. Si se cuenta con los programas apropiados, se pueden obtener soluciones que usen aproximaciones, en lugar de intentar buscar una solución óptima que pueda ser difícil desde el punto de vista técnico o requiera demasiado tiempo.

    PRINCIPALES RAMAS DE LA IA

    Los esfuerzos de la IA se clasifican según varias categorías. Mientras la investigación y el desarrollo como robótica y visión artificial, se relacionan con el hardware y software, la investigación y el desarrollo en otras áreas sólo se relacionan con el software.

    Robótica: Incluye el desarrollo de dispositivos mecánicos o de computación que tengan la capacidad de realizar funciones, tales como pintar automóviles, de hacer soldaduras de precisión y realizar otras tareas que requieran de un alto grado de precisión o que sean tediosas o impliquen peligro para los seres humanos. En la robótica contemporánea se combinan las capacidades de alta precisión de la máquina con un software controlador sofisticado.

    Sistema de visión: Incluyen equipos y software que les permite a las computadoras capturar, almacenar y manipular imágenes visuales y fotografías. El Departamento de Justicia de los Estados Unidos usa un sistema de visión para realizar análisis de huellas dactilares, con casi el mismo nivel de precisión que los expertos humanos.

    Los sistemas de visión se pueden usar junto con robots para darles "visión" a estas máquinas y que pueda tomar decisiones con base a lo que ve y reconocer la información visual de acuerdo con patrones generales.

    Procesamiento de lenguaje natural: Son programas diseñados para tomar lenguajes humanos como entrada y traducirlo en un conjunto estándar de instrucciones que una computadora ejecuta. Los programas analizan gramaticalmente oraciones, tratando de eliminar la ambigüedad de un contexto determinado. El propósito de estos complejos programas es permitir a los seres humanos usar su propio lenguaje natural cuando interactúan con programas como sistemas de administración de bases de datos (DBMS) o sistemas de apoyo para la toma de decisiones.

    El objetivo de los procesadores de lenguaje natural es eliminar paulatinamente la necesidad de aprender lenguajes de programación o comandos personalizados para que las computadoras entiendan. Su gran ventaja radica en que pueden usarse junto con dispositivos de reconocimiento de voz a fin de que el usuario de instrucciones a las computadoras para que realicen tareas, sin usar un teclado o cualquier otro dispositivo de entrada.

    Sistemas de aprendizaje: Una combinación de software y equipos que le permite a la computadora cambiar su modo de funcionar o reaccionar a situaciones, basado en la retroalimentación que recibe. Por ejemplo, algunos juegos computarizados tienen capacidades de aprendizaje, si la computadora no ganaun juego en particular, recuerda no hacer los mismos movimientos.

    Redes Neuronales: Es un sistema de computación que puede actuar en la misma forma que funciona el cerebro humano, o simularlo. Además, el software de red neuronal se puede usar para simular una red neuronal por medio de computadoras normales. La redes neuronales pueden procesar muchas piezas de información al mismo tiempo y aprender a reconocer patrones.

    A diferencia de los sistemas expertos, un sistema de red neuronal aprende por ensayo y error.

    Características:

    Capacidad de recuperar información incluso si falla alguno de los nodos neuronales.

    Modificación rápida de los datos almacenados como consecuencia de nueva información.

    Capacidad de descubrir relaciones y tendencias en grandes bases de datos.

    capacidad de resolver problemas complejos para los cuales no se cuento con la información.

    Las redes neuronales son excelentes para el reconocimiento de patrones. Por ejemplo, las computadoras de red neuronal se pueden usar para leer los códigos de barra de los cheques bancarios a pesar de manchas o de una impresión de baja calidad.

    Lógica Difusa: Se basa en reglas que no tienen límites discretos, sino que se prolongan en un continuum, permitiendo a un sistema manejar mejor la ambigüedad. Esto es muy útil para reflejar cómo tienden a pensar las personas, en términos relativos, no absolutos. Cuando la lógica difusa se incorpora a un SE, el resultado es un sistema que limita mejor la manera natural en que un experto humano resolvería un problema.

    Un concepto fundamental en la aplicación de lógica difusa es el de la variable lingüística de una variable matemática; su valor se describe con una palabra en lugar de un número. Ejemplo, la edad se es joven, de los 15 a los 20, pero a los 35 todavía se considera joven.

    Algoritmos genéticos: Son funciones matemáticas que usan los principios de Darwin para mejorar una aplicación. La funciones se diseñan para simular en software, en cuestión de minutos o segundos, lo que sucede en ambientes naturales durante millones de años.

    Agentes inteligentes: La creación más reciente en IA son los agentes inteligentes, programas de computadora que automáticamente revisan enormes cantidades de datos y seleccionan y entregan la información más adecuada para el usuario, de acuerdo con requisitos contextuales o específicos. La aplicación más importante de los agentes inteligentes se encuentra en la WEB.

    El propósito principal de los agentes inteligentes es realizar sus tareas significativas más rápido, con más frecuencia y de manera más efectiva , que la gente. Los expertos dicen que pronto los agentes inteligentes vincularán automáticamente su computadora con sitios favoritos, le avisarán cuando éstos se hayan actualizado y adecuarán páginas específicas a sus preferencias.

    Tipos de agentes

    Agentes de reflejo simple: Este tipo de agente no contiene internamente estados y sus procesos o acciones que realiza son respuestas a la entrada de percepciones, a esta conexión entre percepciones y acciones se las denomina reglas de condición-acción. Ejemplo: Si el carro de adelante está frenando entonces empiece a frenar.

     Agentes bien informados de todo lo que pasa: Este tipo de agente guarda estados internos lo que nos sirve sin consideración para ejecutar una acción. Los sensores no nos pueden informar a la vez de todos los estados que maneja nuestro ambiente, es por este caso que el agente necesita actualizar algo de información en el estado interno. Esto le permite discernir que entre estados del ambiente que generan la misma entrada de percepciones pero, sin embargo; para cada uno de los estados se necesitan acciones distintas.

     Agentes basados en metas: Además de los estados, los agentes necesitan cierto tipo de información sobre sus metas Estas metas van a detallar las situaciones a las que se desea llegar de este modo, el programa de agente puede combinar las metas con la información de los resultados (acciones) que emprenda y de esta manera poder elegir aquellas acciones que permitan alcanzar la meta.

    Agentes basados en utilidad: Las metas por sí solas me garantizan la obtención de una conducta de alta calidad. En mi programa de agente se podría tener un conjunto de metas pero la obtención de éstas no me garantizan distinciones entre estados felices e infelices, mediante una medida de desempeño se podría establecer una comparación entre los diversos estados del mundo (ambientes) para poder encontrar el estado de felicidad para el agente. Este estado ofrecerá una mayor utilidad al agente.

    Sistema Experto: Consiste de equipos y software que almacenan conocimientos y hacen inferencias, en forma similar a un experto humano. A finales de los cincuenta y principios de los sesenta, los ingenieros en computación trataron de construir computadoras capaces de realizar tareas inteligentes. Los esfuerzos se encaminaron a crear un solucionador de problemas generales, una máquina capaz de imitar el proceso de razonamiento humano para resolver cualquier problema que un ser humano pudiera solucionar.

    Los esfuerzos se orientaron al diseño de programas que resolvieran problemas en áreas precisas utilizando conocimiento y razonamiento de expertos.

    El propósito de los SE es duplicar el conocimiento no estructurado ni documentado de unos pocos (los expertos) y los pone a disposición de otros. Debido a la forma en que están planteados los SE (basados en la experiencia) no puede ayudar a los usuarios que tratan con sucesos que los expertos no consideraron durante el periodo de creación. Sin embargo muchos programas avanzados que incluyen "redes neuronales" aprenden de situaciones nuevas y formulan reglas ad hoc en sus bases de conocimiento para resolver eventualidades no consideradas originalmente en su diseño.

    Para construir un SE un ingeniero del conocimiento se entrevista con un experto, traduce la información en código. Por lo general con la regla SI-Entonces.

    Otros métodos son marcos semánticos integrados por cuadros con listas de entidades y atributos; y las redes semánticas, mapas de entidades y sus atributos relacionados.

    CARACTERÍSTICAS DE UN SE

    Pueden explicar su razonamiento o decisiones sugeridas: La capacidad de explicar cómo se llegó a una decisión o solución.

    Puede mostrar un comportamiento "inteligente": Al examinar un grupo de datos, un SE puede proponer nuevas ideas o métodos para la solución del problema, o proporcionar asesoramiento en el trabajo para los trabajadores.

    Puede obtener conclusiones de relaciones complejas: Evaluar relaciones complejas para llegar a conclusiones y solucionar problemas, por ejemplo: un SE propuesto trabajará con un sistema de fabricación flexible para determinar la mejor utilización de las herramientas, y otro sugerirá los mejores procedimientos de control de calidad.

    Puede proporcionar conocimientos acumulados: Se puede usar para capturar conocimientos de humanos que de lo contrario podrían perderse. Ejemplo es el SE denominado DELTA (Diesel Electronic Locomotive Troble-shooting Aid), desarrollado para conservar el conocimiento de David Smith, único ingeniero competente para manejar muchas reparaciones extremadamente técnicas de esas máquinas, cuando llegó el momento de su jubilación.

    Puede hacer frente a la incertidumbre: Una de las características más importantes de un SE es su capacidad para enfrentar conocimientos incompletos o inexactos en su totalidad. Mediante el uso de las probabilidades, las estadísticas y las heurísticas.

    CARACTERÍSTICAS QUE LIMITAN SU UTILIDAD

    No se han usada o probado en forma extensa: Los SE no se emplean en un gran número de organizaciones.

    Dificultad de uso: Algunos sistemas expertos son difíciles de controlar y usar. En algunos casos se requiere del uso de personal de computación, o del personas capacitadas en el uso de SE, para ayudar al usuario a obtener todo lo más posible de estos sistemas.

    Están limitados a problemas relativamente limitados: Algunos sistemas expertos pueden realizar análisis de datos complejos, otros están limitados a problemas sencillos.

    No pueden enfrentar con facilidad conocimientos "mixtos": Un SE en una aplicación quizá no pueda hacer frente a conocimientos que combinen tanto reglas como casos.

    Posibilidad de error: Algunos sistemas expertos tienen capacidades limitadas para aprender de la experiencia, la fuente principal de conocimientos es un experto humano. Si este conocimiento es incorrecto o incompleto, afectará al sistema en forma negativa.

    Dificultad de mantenimiento: Los SE pueden ser difíciles de actualizar. Algunos no responden o no se adaptan a condiciones cambiantes.

    Pueden tener costo altos de desarrollo: Cuando se usan los lenguajes y métodos de programación tradicionales. Se puede lograr una reducción considerable en los costos de desarrollo si se emplea software para el desarrollo de SE.

    Ocasionan preocupaciones legales y éticas: Las personas que toman decisiones y llevan a cabo acciones son responsables, desde el punto de vista legal y ético, por su comportamiento. Por ejemplo, una persona puede ser procesado y condenada por un delito. Cuando los SE se usan para tomar decisiones o ayudan a tomarlas, ¿quién es el responsable de esta decisión?

    CAPACIDADES DE LOS SE

    En comparación con otros tipos de sistemas de información, los SE ofrecen varias capacidades poderosas y beneficios. Por ejemplo, con frecuencia se usa un SE denominado XCON para diseñar configuraciones de sistemas computación, pues realiza, en forma consistente, un mejor trabajo que los seres humanos.

    Los SE se pueden usar para solucionar problemas en todos los campos y disciplinas y ayudar en la totalidad de las etapas del proceso de solución del problemas.

    Fijación de objetivos estratégicos: Un SE puede ayudar a los administradores de alto nivel de la compañía a determinar los costos y beneficios que existen en producir vinos de mayor calidad y cambiar su imagen en el mercado.

    Planeación: Un SE puede ayudar a este proceso mediante la sugerencia de factores que se deben considerar al tomar la decisión final, sobre la base de datos proporcionados por la administración.

    Diseño: Estos SE usan principios generales de diseño, comprensión de los procedimientos de fabricación y un grupo de reglas de diseño.

    Toma de decisiones: Pueden sugerir posibles alternativas, formas de contemplar los problemas y métodos lógicos al proceso de toma de decisiones. Además, los SE pueden mejorar el proceso de aprendizaje para aquellos que no tienen tanta experiencia en tomar decisiones.

    Control y supervisión de calidad: Los SE computarizados pueden ayudar a supervisar varios sistemas y proponer soluciones a problemas que se presenten en ellos. Los SE también se pueden usar para supervisar la calidad de los productos. Cuando las máquinas funcionan en forma deficiente, el SE puede ayudar a determinar las causas posibles.

    Diagnóstico: Puede proporcionar al médico la probable causa de enfermedad y proponer tratamientos u operaciones. En los negocios también diagnóstica posibles problemas y soluciones.

    CUANDO USAR LOS SE

    El desarrollo se SE complejos puede ser difícil, costoso y requerir de tiempo, por lo tanto, es importante asegurarse de que los posibles beneficios valen el esfuerzo y que las diversas características del SE se equilibren, en términos de costo, control y complejidad.

    Proporciona un alto potencial de rendimiento o reduce el riesgo

    Puede capturar y conservar conocimientos humanos irremplazables

    Puede desarrollar un sistema más consistente que los expertos humanos

    Puede proporcionar los conocimientos necesarios en varias ubicaciones al mismo tiempo o en un ambiente hostil peligroso para la salud humana.

    Puede proporcionar conocimientos costosos y poco comunes.

    Puede proporcionar los conocimientos necesarios para la capacitación y el desarrollo con el propósito de compartir los conocimientos y la experiencia de expertos humanos con un gran número de personas.

    COMPONENTES DE LOS SE

    LA BASE DE CONOCIMIENTOS: Almacena toda la información, datos, reglas, casos y relaciones importantes que utiliza el SE. Para cada aplicación única se tiene que desarrollar una base conocimientos. Por ejemplo, un SE médico contendrá hechos sobre enfermedades y síntomas. La base de conocimientos puede incluir conocimientos genéricos provenientes de teorías generales que se han establecido con el tiempo y conocimientos específicos que provienen de experiencias más recientes y de reglas prácticas.

    Propósito de una base de conocimientos: Contener los hechos y la información pertinentes para el SE específico. Una base de conocimientos es similar a la suma total de los conocimientos y experiencias de los expertos humanos que se obtienen a través de años de trabajo en un área o disciplina específica.

    Reunión de expertos humanos: Una base que contiene información proporcionada por diversos expertos puede ser extremadamente eficiente y exacta desde el punto de vista de sus sugerencia y pronósticos.

    Utilización de la lógica difusa: Otro reto para los diseñadores y desarrolladores de SE es capturar conocimientos y relaciones que no son precisos o exactos.

    El uso de reglas: Una regla es una instrucción condicionada que enlaza determinadas condiciones con acciones o resultados. La regla se crea por medio de construcciones de si-entonces.

    El uso de casos: Un SE puede usar casos al desarrollar la solución a un problema o situación actual. El proceso incluye: 1) encontrar casos almacenados en la base de conocimientos, que sean similares al problema, 2) modificar las soluciones a los casos para adaptarlas, o acomodarlas, al problema o la situación actual.

    EL MOTOR DE INFERENCIAS: El propósito general de un motor de inferencias es buscar información y relaciones en la base de conocimientos, y proporcionar respuestas, pronósticos y sugerencias en la misma forma en que lo haría un experto humano. En otras palabras, el motor de inferencias es el que proporciona el consejo experto.

    Encadenamiento inverso: Es el proceso de comenzar con conclusiones y trabajar hacia atrás hasta los hechos de soporte. Si los hechos no apoyan la conclusión, se elige y prueba otra.

    Encadenamiento hacia delante: Se inicia con los hechos y trabajo hacia delante hasta las conclusiones.

    Comparación del encadenamiento inverso y el encadenamiento hacia delante: El encadenamiento hacia delante puede llegar a conclusiones y producir más información con menos consultas para el usuario que el encadenamiento inverso, pero este método requiere más procesamiento y un mayor grado de sofisticación.

    LOS RECURSOS DE EXPLICACIONES: Una parte importante del SE son los recursos de explicaciones que le permiten al usuario, o al responsable de tomar las decisiones comprender en que forma llegó el SE a ciertas conclusiones o resultados.

    LOS RECURSOS DE ADQUISICIÓN DE CONOCIMIENTOS: una tarea difícil en el desarrollo de un sistema experto es el proceso de crear y actualizar la base de conocimientos.

    En la actualidad, existe software especializado que le permite a los usuarios y a quienes toman las decisiones crear y modificar sus propias bases de conocimientos.

    LA INTERFAZ DEL USUARIO: Sirve para diseñar, crear, actualizar y usar los SE. El propósito general de la interfaz del usuario es facilitar a los usuarios y a los tomadores de las decisiones el desarrollo y el uso de un SE.

    DESARROLLO DE LOS SE

    Los SE requieren de un método de desarrollo sistemático para obtener los mejores resultados.

    PROCESO DE DESARROLLO: La especificación de los requisitos para un SE se inicia con la identificación de los objetivos del sistema y su uso potencial. Identificar a los expertos puede ser difícil. En algunos casos, una compañía contará con expertos humanos; en otros, se requerirá expertos ajenos a la organización. Para el desarrollo de los elementos del SE son necesarias habilidades especiales. La puesta en operación del SE incluye ponerlo en acción y asegurarse de que funciona como se desea.

    PARTICIPANTES EN EL DESARROLLO Y UTILIZACIÓN DE LOS SE

    El experto en dominio: Debido al tiempo y el esfuerzo que se requieren para la tarea, se desarrolla un SE para atender un área de conocimiento. A dicha área se le conoce como dominio. El experto en dominio es la persona o grupo que tiene la experiencia o el conocimiento al cual se intenta capturar en el SE. Por lo general con la siguiente capacidad:

    • Reconocer el problema real
    • Desarrollar una estructura general para la solución de problemas
    • Formular teorías sobre la situación
    • Desarrollar y usar reglas generales para solucionar un problema
    • Identificar cuándo deben quebrantarse las reglas
    • Solucionar problemas con rapidez y eficiencia
    • Aprender de experiencias anteriores
    • Identificar lo que es importante y lo que no lo es para solucionar un problema
    • Explicar a otros la situación y las soluciones de problemas.

    El ingeniero del conocimiento y el usuario del conocimiento: el primero es la persona que tiene el entrenamiento y la experiencia en el diseño, desarrollo, puesta en operación y mantenimiento de un SE, incluyendo entrenamiento y experiencia con shells de SE. El segundo es quien usa el SE y se beneficia de él.

    HERRAMIENTAS Y TÉCNICA PARA EL DESARROLLO DE SISTEMAS EXPERTOS

    En teoría, los sistemas expertos se deben desarrollar a partir de algún lenguaje de programación. Desde la introducción de los sistemas de computación, los lenguajes de fáciles de usar, más potentes y cada vez más capaces de manejar. En los inicios del desarrollo de SE se usaban los lenguajes Pascal, FORTRAN Y COBOL. LISP fue uno de los primeros lenguajes especiales desarrollados y empleados para aplicaciones de inteligencia artificial. PROLOG es otro. Sin embargo, actualmente existen otros productos de SE (como los shells) que evitan el trabajo de programar.

    Shells y productos para SE: Un shell (interprete) de SE es un grupo de paquetes y herramientas de software utilizados para diseñar, desarrollar, poner en operación y mantener SE con una programación mínima. Existen shells de SE tanto para computadoras personales como para sistemas de macrocomputadoras. Algunos son baratos con costo inferior a los 500 dólares. El usuario introduce los datos o parámetros apropiados y el SE proporciona el resultado para el problema o situación. Algunos de los shells más populares son Exsys de MultilLogic, Inc. Level 5, de Rule Machines Corporación y XpertRule, de Attar Software.

    VENTAJAS DE LOS SHELLS Y LOS PRODUCTOS DE SE

    Fáciles de desarrollar y modificar: Conforme se dispone de nuevos hechos y reglas y se hace necesario modificar los ya existentes, es deseable hacer cambios a la base de conocimientos. Los sistemas desarrollados por medio de PROLOG y LIPS son más difíciles de modificar y más costosos que los SE desarrollados con shells.

    El uso de la satisfacción: El método tradicional de solución de problemas intenta encontrar la solución óptima, o la mejor; los lenguajes avanzados y simbólicos pueden hacer frente a problemas más complejos y producir decisiones muy buenas, aunque no siempre óptimas.

    El uso de la heurística: Es necesario que los SE puedan manejar relaciones imprecisas. La heurística puede hacerlo y a menudo producirá una buena solución que deje satisfecho al tomador de las decisiones.

    Desarrollo por los ingenieros y usuarios del conocimiento: Con los shells de SE, los ingenieros y usuarios del conocimiento pueden completar el proceso de desarrollo. Es frecuente que al desarrollar SE con lenguajes de programación tradicionales se requieran análisis de sistemas y programación de computación, que son costosos y que por lo común requieren de más tiempo.

    ALTERNATIVAS DE DESARROLLO DE SE

    Los SE se pueden desarrollar desde cero por medio de un shell de SE o mediante un paquete de software de SE ya existente. El método seleccionado depende de los beneficios del sistema comparados con el costo, el control y la complejidad de cada alternativa. Es más fácil y menos costoso desarrollar un SE utilizando un paqueta ya existente o un shell de SE. Sin embargo, si la organización no cuenta ya con este tipo de software, habrá un costo adicional para desarrollar un paquete existente o adquirir un shell de SE

    Desarrollo en la propia empresa (desde cero): Es el método más costoso, pero la organización tiene más control sobre las características y los elementos del SE.

    Desarrollo en la propia empresa (desde un shell): Puede ser menos complejo y más fácil de mantener que desarrollarlo desde cero. Sin embargo, quizá sea necesario modificar el SE resultante para que sea idóneo para aplicaciones específicas.

    Compra paquetes ya existentes (uso de paquetes existentes): Método menos costoso y más rápido. Aquel cuyo desarrollo corrió a cargo de una compañía de software o de asesoría para un campo o área específicos, tales como el diseño de un nuevo microprocesador para computación o un sistema para pronosticar y predecir el clima. Estos sistemas pueden ser más fáciles de mantener y actualizar al transcurso del tiempo, pero no pueden satisfacer las necesidades especiales de la organización.

    APLICACIONES DE LOS SE Y DE LA IA

    Otorgar crédito: Para revisar la solicitud de crédito de una persona y el historial crediticio que mantiene con las agencias dedicadas a este rubro, para tomar la decisión de otorgar el crédito.

    Administración y recuperación de información: Los SE pueden ayudar a este proceso mediante el uso de agentes. Los agentes de SE ayudan a los gerentes a encontrar los datos y la información correctos, al mismo tiempo que eliminan hechos sin importancia que puedan obstaculizar la toma de decisiones oportunas.

    IA y SE incorporados a los productos: el sistema de frenos antibloqueo de los automóviles modernos es un ejemplo de un SE rudimentario. Los investigadores de IA también están encontrando formas para usar las redes neuronales y la robótica en dispositivos de uso diario, tales como tostadoras de pan, relojes despertadores y aparatos de TV.

    Disposición de plantas: FLEXPERT es un SE que usa la lógica difusa para realizar el trazado de plantas. El software ayuda a las compañías a determinar la mejor ubicación para los equipos y las instalaciones de fabricación.

    Instalaciones de hospitales y médicas: Algunos hospitales usan SE para determinar la posibilidad de que un paciente contraiga cáncer u otras enfermedades. MYCIN es un SE creado en la Universidad Stanfor para analizar infecciones en la sangre.

    Departamento de ayuda y asistencia: los departamentos de servicios de ayuda al cliente usan SE para proporcionar asistencia oportuna y exacta. Kaiser Permanente, un HMO (Health Mantenance Organization) de gran tamaño, usa un SE y repuesta verbal para automatizar la función del su departamento de ayuda.

    Evaluación del desempeño de empleados: Un SE de Austin-Hayne, llamado Employee Appreiser, les proporciona asesora experta a los gerentes para que la utilicen en las revisiones del desempeño de los empleados y el desarrollo de carreras.

    Análisis de préstamos: KPMG Peat Marwick usa un SE llamado Loan Probe para revisar las reservas para pérdidas en préstamos, con el propósito de determinar si se han reservado fondos suficientes para cubrir riesgos de que algunos préstamos se vuelvan incobrables.

    Detección de virus: IBM utiliza la tecnología de red neuronal para ayudar a crear software más avanzado en la erradicación de los virus de computación, un problema importante para las empresas estadounidenses.

    Reparación y mantenimiento: AT&T usa el SE ACE para analizar el mantenimiento de las redes telefónicas. Nynex (New York and New England Telephone Exchange) tiene sistemas expertos para ayudar a sus trabajadores a localizar y resolver problemas telefónicos con referencia a sus clientes.

    Embarques: Lufthansa, una aerolínea alemana, usa un SE, CARGEX-Cargo, para ayudar a determinar las mejores rutas de embarque.

    Mercadotecnia: CoverStory es un SE que trae información de una base de datos y elabora, en forma automática, informes de mercadotecnia.

    Optimización de almacenes: Unite Distillers emplea un SE para determinar las mejores combinaciones de existencias, para producir su mezcla de whisky escocés.

    INTEGRACIÓN DE SE: Un SE se puede integrar con otros sistemas en una organización mediante una base de datos común. Un SE que identifique a los clientes que demoran sus pagos y que no deben recibir crédito adicional puede tomar los datos de la misma base de datos que un MIS de facturación que elabora informes semanales de las cuentas vencidas. La misma base de datos podría usarse para un sistema de apoyo a las decisiones que realice análisis de "que sucedería sí", para determinar la repercusión de los pagos demorados sobre los flujos ejecutivo, ingresos y niveles generales de utilidad.

    Limitaciones de los SE

    Los SE sólo manejan áreas precisas del conocimiento: Funcionan bien si el dominio al que se enfocan está bien definido. Por ejemplo, es dofícil que se encuentre un SE médico general.

    Los SE no tienen sentido común: El sistema sólo resolverá aquellos problemas para los que está específicamente programado.

    Los SE Tienen una capacidad limitada de aprendizaje: Los ingenieros del conocimiento deben dirigir los sistemas y proporcionar retroalimentación continua para que aprenda.

    BIBLIOGRAFÍA

    RALPH M. STAIR Y GEORGE E. REYNOLDS,Principios de Sistemas de Información. Inteligencia Artificial y Sistemas expertos, Editorial Thomson, Año 2002, pp. 480-511

    JOHN AVAVA, Inteligencia Artificial. www.fortunecity.com. Año 98.

    GREGORIO ARELLANO, MARTHA AYUQUINA, Proyecto Inteligencia Artificial, http.//cruzrojaguayas.org, Universidad de Guayaquil

    Cecilia Reyes Olivans

    Estudiante de maestría en Ciencias de la Educación

    En la Universidad Autónoma del Noreste, campus Piedras Negras, Coahuila

    20 de agosto de 2005

    Coahuila a 20 de agosto de 2005