Trabajo de sistemas expertos

5,342 views

Published on

Arquitectura SE

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,342
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
242
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Trabajo de sistemas expertos

  1. 1. Universidad José Carlos Mariátegui 2013 INTRODUCCIÓNSe considera a alguien un experto en un problema cuando este individuo tieneconocimiento especializado sobre dicho problema. En el área de los (SE) a este tipo deconocimiento se le llama conocimiento sobre el dominio. La palabra dominio se usapara enfatizar que el conocimiento pertenece a un problema específico.Antes de la aparición del ordenador, el hombre ya se preguntaba si se le arrebataría elprivilegio de razonar y pensar. En la actualidad existe un campo dentro de lainteligencia artificial al que se le atribuye esa facultad: el de los sistemas expertos(SE).Estos sistemas también son conocidos como Sistemas Basados en Conocimiento, loscuales permiten la creación de máquinas que razonan como el hombre, restringiéndosea un espacio de conocimientos limitado. En teoría pueden razonar siguiendo los pasosque seguiría un experto humano (médico, analista, empresario, etc.) para resolver unproblema concreto.Este tipo de modelos de conocimiento por ordenador ofrece un extenso campo deposibilidades en resolución de problemas y en aprendizaje. Su uso se extenderáampliamente en el futuro, debido a su importante impacto sobre los negocios y laindustria. 1 Sistemas Expertos- Fabiola Aranibar Valdivia
  2. 2. Universidad José Carlos Mariátegui 2013 SISTEMAS EXPERTOSI. DEFINICIONES DE LOS SISTEMAS EXPERTOS ¿Qué es un sistema experto? 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). 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 2 Sistemas Expertos- Fabiola Aranibar Valdivia
  3. 3. Universidad José Carlos Mariátegui 2013más seguras. Un ejemplo de estas técnicas sería los agentes que tienen la capacidad denegociar y navegar a través de recursos en línea; y es por eso que en la actualidadjuega un papel preponderante en los sistemas expertos.¿Por qué utilizar un Sistema Experto? 1. Con la ayuda de un Sistema Experto, personas con poca experiencia pueden resolver problemas que requieren un "conocimiento formal especializado". 2. Los Sistemas Expertos pueden obtener conclusiones y resolver problemas de forma más rápida que los expertos humanos. 3. Los Sistemas Expertos razonan pero en base a un conocimiento adquirido y no tienen sitio para la subjetividad. 4. Se ha comprobado que los Sistemas Expertos tienen al menos, la misma competencia que un especialista humano. a. Cuando los expertos humanos en una determinada materia son escasos. b. En situaciones complejas, donde la subjetividad humana puede llevar a conclusiones erróneas. c. Cuando es muy elevado el volumen de datos que ha de considerarse para obtener una conclusión.Ejemplos de Sistemas ExpertosA continuación se presentan algunos Sistemas Expertos que se han desarrollado parala solución de diversos problemas.  MYCIN es un Sistema Experto para la realización de diagnósticos en el área de la medicina, iniciado por Ed Feigenbaum y posteriormente desarrollado por E. Shortliffe y sus colaboradores. Su función es la de aconsejar a los médicos en la investigación y determinación de diagnósticos en el campo de las enfermedades infecciosas de la sangre[CRIA].  XCON es un Sistema Experto para configuraciones, desarrollado por la Digital EquipmentCorporation. Según los deseos individuales del clientese configuran redes de ordenadores VAX. Ya que el abanico de productos que se ofrecen en el mercado es muy amplio, la configuración completa y correcta de un sistema de estas características es un problema de gran complejidad. Responde esencialmente a dos preguntas: ¿Pueden conjugarse los componentes solicitados 3 Sistemas Expertos- Fabiola Aranibar Valdivia
  4. 4. Universidad José Carlos Mariátegui 2013 por el cliente de forma conveniente y razonable? Y ¿Los componentes de sistema especificados son compatibles y completos?. Las respuestas a estas preguntas son muy detalladas. XCON es capaz de comprobar y completar los pedidos entrantes mucho más rápido y mejor que las personas encargadas de hacerlo antes que él [CRIA]. DELTA, sistema experto que ayuda a los mecánicos en el diagnóstico y reparación de locomotoras diesel-eléctricas, DELTA no sólo da consejos expertos, sino que también presenta informaciones por medio de un reproductor de vídeo [IBAR]. En 1978 se desarrollo otro sistema experto de éxito: PROSPECTOR. Este quizás impulso más la carrera por desarrollar mejores sistemas expertos, dado que su misión era predecir la posibilidad de encontrar depósitos de minerales en una región en concreto. Minerales como petróleo,gas natural, helio.La composición de un Sistema Experto, sus aplicaciones, ventajas y desventajas, yalgunos ejemplos sobre estos; han sido los puntos generales que se han tratado a lolargo de este artículo, con el fin de crear una mayor conciencia del uso real de estetipo de sistemas.Un sistema experto puede, sin duda alguna, darnos el mismo resultado que unexperto humano; lo que sí debemos reconocer es que ningún sistema experto, hastaahora, puede resolver diferentes problemáticas dentro de una empresa, ya que estosson siempre muy específicos. Sin embargo, es de esperarse que con los avances quetienen las herramientas tecnológicas se produzcan un desarrollo cercano alcomportamiento humano en muchas áreas, con estos avances en el terreno delos negocios se podría ser más eficiente y productivo.A pesar de los dramáticos avances logrados, la inteligencia artificial no ha sidocapaz de desarrollar sistemas capaces de resolver problemas de tipo general, deaplicar sentido común para la solución de situaciones complejas, de manejarsituaciones ambiguas ni de utilizar efectivamente información incompleta. Estasúltimas son características inherentes de la inteligencia natural. 4 Sistemas Expertos- Fabiola Aranibar Valdivia
  5. 5. Universidad José Carlos Mariátegui 2013II. ARQUITECTURA DE UN SISTEMA EXPERTO Un sistema Experto consta de 7 elementos los cuales son: a. Base de conocimientos. b. Base de hechos c. Motor de inferencia. d. Subsistema de explicación. e. Interfaz de usuario. f. Módulo de adquisición de conocimiento g. Módulo de comunicaciones 5 Sistemas Expertos- Fabiola Aranibar Valdivia
  6. 6. Universidad José Carlos Mariátegui 2013a. Base de conocimientos. Esta contiene el conocimiento que se debe del experto y codificarlo en la base de conocimientos. La forma clásica de representar el conocimiento en un sistema experto son la utilización de reglas es decir básicamente constituye la descripción de los objetos y las relaciones entre ellos, así como de casos particulares y excepciones.b. Base de hecho. Contiene los hechos sobre un problema que se han descubierto durante una consulta. Se trata de una memoria temporal auxiliar que almacena los datos del usuario, datos iniciales del problema, y los resultados intermedios obtenidos a lo largo del proceso de resolución.c. Motor de inferencia o Intérprete de Reglas. Este motor de inferencia trabaja con la información contenida en la base de conocimientos y la base de hechos para deducir nuevos hechos. Se encarga de las operaciones de búsqueda y selección de las reglas a utilizar en el proceso de razonamiento. Contrasta los hechos particulares de la base de hechos con el conocimiento contenido en la base de conocimientos para obtener conclusiones acerca del problema.d. Subsistema de explicación. Básicamente lo que trata es de explicar al usuario tanto las reglas usadas como el conocimiento aplicado en la resolución de un 6 Sistemas Expertos- Fabiola Aranibar Valdivia
  7. 7. Universidad José Carlos Mariátegui 2013 determinado problema. Usando el módulo del subsistema de explicación, un sistema experto puede proporcionar una explicación al usuario de por qué está haciendo una pregunta y cómo ha llegado a una conclusión.e. Interfaz de usuario. Todo sistema dispone de una interfaz de usuario, que gobierna el diálogo entre el sistema y el usuario lo que hace posible la comunicación. Por tanto debe ser interactiva siguiendo el patrón de la conversación entre seres humanos. Un requerimiento básico del interfaz es la habilidad de hacer preguntas. Para obtener información fiable del usuario hay que poner especial cuidado en el diseño de las cuestiones.f. Módulo de adquisición de conocimiento. Le sirve al experto para que pueda construir la base de conocimiento de una forma sencilla, así como disponer de una herramienta de ayuda para actualizar de la base de conocimiento cuando sea necesario. El módulo de adquisición del conocimiento, forman el esqueleto o sistema esencial, y que, separadas de las bases de conocimiento y de hechos, constituyen una herramienta software para el desarrollo de los sistemas basados en el conocimiento.g. Módulo de comunicaciones Puesto que los sistemas basados en el conocimiento no viven aislados sino que interactúan con otros sistemas es decir no solo son capaces de interactuar con el experto sino con estos sistemas, para poder recoger información o consultar bases de datos. 7 Sistemas Expertos- Fabiola Aranibar Valdivia
  8. 8. Universidad José Carlos Mariátegui 2013III. CARACTERÍSTICAS DE LOS SISTEMAS EXPERTOS Para que un sistema actúe como un verdadero experto, es deseable que reúna, en lo posible, lo más importante de las características de un experto humano, esto es:  Habilidad para adquirir conocimiento.  Fiabilidad, para poder confiar en sus resultados o apreciaciones.  Solidez en el dominio de su conocimiento.  Capacidad para resolver problemas. Dada la complejidad de los problemas que usualmente tiene que resolver un SE, puede existir cierta duda en el usuario sobre la validez de respuesta obtenida. Por este motivo, es una condición indispensable que un SE sea capaz de explicar su proceso de razonamiento o dar razón del por qué solicita tal o cual información o dato.IV. VENTAJAS  Están disponibles ininterrumpidamente de día y noche, ofreciendo siempre su máximo desempeño.  Pueden duplicarse ilimitadamente, tener tantos de ellos como se requieran.  Pueden trabajar en entornos hostiles y peligrosos.  Siempre se ajustan a las normas establecidas y son consistentes en su desempeño, no desarrollan apreciaciones subjetivas, tendenciosas, irracionales o emocionales. No padece de olvido, fatiga, dolor o comete errores de cálculo.  No requiere un sueldo, promociones, seguros médicos, incapacidades.  Siempre están dispuestos a dar explicaciones, asistir o enseñar a la gente, así como a aprender.  Pueden tener una vida de servicio ilimitada.V. DESVENTAJAS  El conocimiento es difícil de extraer de los expertos humanos.  La aproximación de cada experto a la situación evaluada puede ser diferente.  Tienen una noción muy limitada acerca del contexto de problema, no pueden percibir todas las cosas que un experto humano puede apreciar de una situación. 8 Sistemas Expertos- Fabiola Aranibar Valdivia
  9. 9. Universidad José Carlos Mariátegui 2013  Pueden existir decisiones que sólo son de competencia para un ser humano y no una máquina.  No saben como subsanar sus limitaciones, no son capaces de trabajar en equipo o investigar algo nuevo.  Son muy costosos de desarrollar y mantener.VI. LIMITACIONES El desarrollo de un SE complejo 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 equilibran, en términos de costo, control y complejidad.  No se han usado o probado en forma extensa.  Dificultad de uso.  Están limitados a problemas relativamente limitados.  No pueden enfrentar con facilidad a conocimientos  Posibilidad de error.  Dificultad de mantenimiento.  Pueden tener costo altos de desarrollo.  Ocasionan preocupaciones legales y éticas.VII. TIPOS DE SISTEMAS EXPERTOS. 1. Interpretación: infieren la descripción de situaciones por medio de sensores de datos. Estos S.E. usan datos reales, con errores, con ruidos, incompletos etc. Ejemplos: medición de temperatura, reconocimiento de voz, análisis de señales etc. 2. Predicción: Infieren probables consecuencias de situaciones dadas. Algunas bases usan modelos de simulación para generar situaciones que puedan ocurrir. Ejemplos: predecir daños a cosechas por algún tipo de insecto. 3. Diagnostico: Infieren las fallas de un sistema en base a los síntomas. Utilizan las características de comportamiento, descripción de situaciones o conocimiento sobre el diseño de un componente para inferir las causas de la falla. Ejemplos: diagnostico de enfermedades en base a síntomas, encontrar componentes defectuosos o fallas en circuitos. 9 Sistemas Expertos- Fabiola Aranibar Valdivia
  10. 10. Universidad José Carlos Mariátegui 2013 4. Diseño: Configuración de objetos. Utilizan un conjunto de limitaciones y restricciones para configurar objetos. Utilizan un proceso de análisis para construir un diseño parcial y una simulación para verificar o probar las ideas. Ejemplos: configuración de equipos de oficina, de equipos de computo. 5. Planeación: Diseñan un curso completo de acción, se descompone la tarea en un subconjunto de tareas. Ejemplo: transferir material de un lugar a otro, comunicaciones, ruteo, planificación financiera. remediar estas fallas y monitorear la ejecución de este. 6. Monitoreo: Comparan observaciones del comportamiento del sistema con el comportamiento standard, se compara lo actual con lo esperado. Ejemplo: asistir a un paciente de cuidados intensivos, tráfico aéreo, uso fraudulento de tarjetas de créditos 7. Depuración:(debugging) sugieren remedios o correcciones de una falla. Ejemplo: sugerir el tipo de mantenimiento a cables dañados, la prescripción medica a un paciente. 8. Instrucción: diagnostican, revisan y reparan el comportamiento de un estudiante. Ejemplo: educar a un estudiante de medicina, usa un modelo del estudiante y planea la corrección de deficiencias. 9. Control: Gobierna el comportamiento del sistema. Requieren interpretar una situación actual, predecir el futuro, diagnosticar las causas de los problemas que se pueden anticipar, formular un plan para remediar estas fallas y monitorear la ejecución de este.VIII. DESARROLLO DE UN SISTEMA EXPERTO. Como primera aproximación es necesario indicar que las herramientas pueden clasificarse en tres grupos en función de las diferentes etapas del proyecto en que interviene:  Estudio de viabilidad: Se intenta verificar si el problema justifica el desarrollo de un sistema basado en el conocimiento (este punto es muy importante, ya que algunas veces se ha intentado resolver con este tipo de tecnología problemas que no eran los adecuados, lo que llevó a resultados decepcionantes). Las herramientas 10 Sistemas Expertos- Fabiola Aranibar Valdivia
  11. 11. Universidad José Carlos Mariátegui 2013 deben ser flexibles y de uso muy sencillo. Muchas veces en esta etapa no es necesario el uso de una herramienta específica ya que puede utilizarse un lenguaje de programación de propósito general.  Desarrollo del prototipo: En esta fase las herramientas deben poseer una serie de características a nivel de estructuras de control, permitir probar y comparar los diferentes enfoques de la resolución del problema (representación del conocimiento, estrategia de control, etc.) y ofrecer facilidades a los ingenieros del conocimiento (traza, gestión de coherencia, etc.) en el desarrollo del sistema.  Desarrollo del sistema: El factor más importante es la eficiencia. Asimismo, debe disponer de módulos explicativos evolucionados para una efectiva compilación de la base de conocimiento y los métodos de inferencia. En resumen, deben adaptarse perfectamente al problema. El desarrollo de estos sistemas suele pasar por cuatro fases:  Identificación de la aplicación y concepción de la solución.  Desarrollo del (de los) prototipo(s).  Ejecución y construcción del sistema completo.  Alcanzar la integración del nuevo sistema con los anteriores y la asimilación del uso de la nueva tecnología.La tarea más importante a la hora de desarrollar un sistema basado en elconocimiento consiste en la modelización del problema que se quiere resolver, esto es,representar el conocimiento que posee el experto en un lenguaje que permita razonaral sistema. Consiste en formalizar y estructurar los objetos y las relaciones entre ellosen la base de conocimiento.De la misma forma que no existe ningún lenguaje de programación universal, tampocose ha encontrado un lenguaje ideal para poder representar el conocimientoformalmente. La elección dependerá, principalmente, de la naturaleza y magnitud delproblema. 11 Sistemas Expertos- Fabiola Aranibar Valdivia
  12. 12. Universidad José Carlos Mariátegui 2013Así, existen formalismos que permiten representar fácilmente mecanismos derazonamiento puramente lógicos; otros, sin embargo, se adaptan mejor a unarepresentación por analogía.Existen tres tipos de representación:  La representación procedural expresa explícitamente las relaciones entre los fragmentos de conocimiento que son complejas de modificar. No obstante, ofrece una gran facilidad en el uso de lameta conocimiento.  La representación declarativa incluye el cálculo de predicados, las reglas de producción y las redes semánticas. El conocimiento queda estructurado en fragmentos independientes unos de otros y que, por tanto, son fácilmente modificables. Estos módulos de conocimiento se combinan mediante un mecanismo general de razonamiento y deducción.  La representación mixta, como los objetos y marcos, emplea los dos métodos de representación anteriores.A continuación se explican con mayor detalle algunos ejemplos de representación:  Reglas de producción: Es una representación formal de una relación, una información semántica o una acción condicional. Una regla de producción tiene, generalmente, la siguiente forma: SI Premisa ENTONCES Consecuencia. Ofrecen una gran facilidad para la creación y la modificación de la base de conocimiento. Permite introducir coeficientes de verosimilitud para ponderar el conocimiento (estos coeficientes se van propagando durante el proceso de razonamiento mediante unas fórmulas de cálculo establecidas) y, en teoría, el método asegura que cuantas más reglas posea más potente es. Sin embargo, aunque es la forma de representación más intuitiva y rápida, cuando el número de reglas es grande aumenta la dificultad de verificación de todas las posibilidades con el consiguiente riesgo de perder la coherencia lógica en la base de conocimiento. Los hechos y las reglas asociadas de la base de conocimiento normalmente no son exactos; es decir se tiene incertidumbre sobre el grado de certeza de algunos hechos y también sobre el campo de validez de algunas de las reglas. Para el manejo de la incertidumbre en los 12 Sistemas Expertos- Fabiola Aranibar Valdivia
  13. 13. Universidad José Carlos Mariátegui 2013 sistemas de reglas se han utilizado varios sistemas; los tres más conocidos son los Factores de Certeza (utilizados en MYCIN), la lógica de DempsterShafer, y la Lógica Difusa ( FuzzyLogic). El método de tratar la incertidumbre es una de las características más importantes de las herramientas de desarrollo, y actualmente se encuentra en discusión la validez de estas lógicas para tratar con la incertidumbre. En sustitución se han propuesto las Redes Bayesianas que tienen una base matemática más firme. De todas formas es un campo actual de investigación que permanece abierto.  Lógica proposicional: Es similar a las reglas de producción. Su diferencia principal con éstas es que separa los elementos que componen la base de conocimiento de aquellos que controlan la operación del sistema.  Redes semánticas: Es un método que consiste en representar el conocimiento en forma de redes o grafos; los nodos representan conceptos u objetos, y los arcos que los interconectan describen relaciones entre ellos.  Marcos: Consiste en asociar propiedades a los nodos que representan los conceptos u objetos. Las propiedades son descritas en términos de atributos y los valores asociados.  Objetos: La diferencia con los marcos reside en que, en un entorno de programación orientada a objetos, éstos pueden actuar como entidades independientes. De esta forma, el control del sistema se consigue mediante el envío de mensajes del sistema a los objetos y entre ellos mismos.  Representaciones múltiples: Es posible, e incluso muy frecuente, combinar dos o más formas de representar el conocimiento en el mismo sistema para obtener la modelización más adecuada a cada problema por lo que es bueno que una herramienta de desarrollo de sistemas basados en el conocimiento contemple más de una forma de representación.En el desarrollo del sistema es necesario idear el mecanismo de inferencia que reflejelo más fielmente posible cómo piensa o actúa el experto. Este mecanismo, que sedenomina motor de inferencia, es la parte más importante del sistema basado en elconocimiento junto con la base de conocimiento. Los mecanismos de razonamiento queutilizan reglas de producción son los de la lógica formal: modus ponendoponensy 13 Sistemas Expertos- Fabiola Aranibar Valdivia
  14. 14. Universidad José Carlos Mariátegui 2013modus tollendotollens. Además existe otro método que difiere de los anteriores y quees la búsqueda en árboles.Existen además cinco modos de razonamiento que a continuación se explican:  Encadenamiento hacia adelante: El motor de inferencia parte de los hechos para llegar a los resultados, esto es, selecciona las reglas que verifiquen las condiciones de la parte izquierda (premisas).  Encadenamiento hacia atrás: En este caso el motor de inferencia parte de los resultados y trata de volver a los hechos para comprobar si encajan con el problema planteado.  Encadenamiento mixto: Este modo ofrece varias posibilidades que resultan de combinar el encadenamiento hacia adelante y hacia atrás para paliar sus limitaciones y mantener las ventajas.  Algoritmos de búsqueda heurística: En los casos en los que la naturaleza de la base de conocimiento permita construir una estructura de árbol, el proceso de inferencia se convierte en un problema de búsqueda en un árbol. Existen diversos métodos, y la elección dependerá, por lo tanto, de la naturaleza del problema.  Herencia: Es el método de inferencia utilizado en entornos orientados a objetos. Un objeto hijo hereda propiedades y hechos de sus padres. Así, la asignación de nuevas propiedades a un objeto se realiza a través de las relaciones entre ese objeto y el resto.Dentro de los modos de razonamiento los factores de incertidumbre son valoresasignados a hechos o reglas que indican la certeza o grado de confianza que el expertotiene en una regla o el usuario en un hecho. No representan, ni mucho menos, unaprobabilidad en el sentido estricto de la palabra.Un sistema que usa factores de incertidumbre asociados a las reglas o propiedades delos objetos puede realizar varias recomendaciones indicando el grado de confianza onivel de certidumbre de cada una. No todos los problemas requieren un conocimientobasado en grados de incertidumbre, es conveniente que la herramienta para eldesarrollo de un sistema basado en el conocimiento incluya este conocimiento 14 Sistemas Expertos- Fabiola Aranibar Valdivia
  15. 15. Universidad José Carlos Mariátegui 2013 probabilístico porque incorpora una utilidad que refleja en gran manera la forma de trabajar de los expertos en mucha áreas. Asimismo, es necesario tener claro el algoritmo o método que se utiliza para calcular el grado de incertidumbre asociado a una recomendación o acción final.IX. LENGUAJES Y GENERADORES DE SISTEMAS EXPERTOS. Para el desarrollo de sistemas basados en el conocimiento se han venido utilizando tanto lenguajes de programación específicos de la inteligencia artificial (LISP y PROLOG) como de propósito general (C, PASCAL, etc.).El lenguaje LISP es uno de los más utilizados desde los comienzos de la I.A. Se trata de uno de los lenguajes de alto nivel más antiguos. Se creó en 1950 en el MIT por John McCarthy. Es un lenguaje cuya principal estructura de datos son las listas, aun cuando se han ido incorporando otras estructuras más sofisticadas como pueden ser los objetos.Tiene como ventaja el manejo de sus estructuras a muy alto nivel lo que facilita la implementación rápida de los modelos y su facilidad de modificación. Como desventaja está su relativa lentitud frente a lenguajes de propósito general como C. La mayoría de las primeras herramientas de desarrollo de sistemas basados en el conocimiento fueron escritas en LISP y, en la actualidad, conviven con otras que se han desarrollado en C++.El lenguaje PROLOG fue creado por Alain Colmenauer en la Universidad de Marsella en 1972. Se trata de un lenguaje declarativo frente a los lenguajes de programación más usuales que son procedurales.Los lenguajes declarativos, a diferencia de los procedurales, no describen secuencialmente el algoritmo de resolución del problema, sino que se limitan a describir los hechos conocidos y las relaciones existentes entre ellos. Los lenguajes procedurales están orientados al "cómo" mientras que los declarativos están orientados al "qué". Es el lenguaje declarativo, en el caso que nos ocupa PROLOG, quien a partir de los datos introducidos deduce nuevos hechos y resuelve el problema automáticamente. PROLOG tiene incluido, por tanto, un motor de inferencia que se encarga de realizar búsquedas en su base de hechos. Programar con PROLOG, por tanto, consiste en acertar hechos sobre objetos y preguntar al sistema sobre sus relaciones. Este lenguaje, aun cuando se le reconocen sus bondades, no ha tenido una gran utilización (si se exceptúa Francia, Gran Bretaña y Japón con el proyecto de 5ª generación, en el que se adoptó como lenguaje de programación 15 Sistemas Expertos- Fabiola Aranibar Valdivia
  16. 16. Universidad José Carlos Mariátegui 2013 PROLOG) siendo su principal aplicación el manejo de bases de datos relacionales junto con lenguajes de bases de datos de 4ª generación asociados a éstas.En la actualidad, es común la utilización de lenguajes orientados a objeto (tales como C++) para el desarrollo de generadores de sistemas expertos y de Los propios sistemas basados en el conocimiento por su rendimiento, en términos de tiempo de ejecución, superior al de las herramientas generales. La incorporación de la programación orientada a objetos al lenguaje C ha facilitado la labor de modelización que requiere todo sistema basado en el conocimiento y su rapidez de ejecución así como el hecho de ser uno de los lenguajes de programación más conocidos ha hecho que su uso vaya en aumento.Una herramienta para la construcción de sistemas basados en el conocimiento no es sólo un lenguaje de programación de alto nivel orientado al desarrollo de estos sistemas. Este equipo lógico de desarrollo tiene, entre otras, las siguientes características o utilidades:  Posibilidades para el desarrollo de prototipos.  Un motor de inferencia.  Un método o varios para la representación del conocimiento.  Una o varias técnicas para el manejo de la incertidumbre.  Un generador de interfaces gráficos (no siempre). Estas herramientas están muy orientadas hacia el usuario final de la aplicación y, por lo tanto, es fundamental elegir la herramienta adecuada al entorno de aplicación. Son muchos los factores que influyen a la hora de tomar una decisión. En primer lugar es necesario conocer el alcance real del proyecto, esto es, si primero va a construirse una maqueta para estudiar la viabilidad del proyecto, o si por el contrario ya está decidido el desarrollo del sistema basado en el conocimiento.X. INTEGRACIÓN Y MIGRACIÓN DE LOS SISTEMAS EXPERTOS Los sistemas expertos, salvo excepciones, no están aislados sino que forman parte de otros sistemas, expertos o convencionales. Existen dos tipos básicos de arquitectura de integración. En la primera, el sistema basado en el conocimiento forma parte de otro sistema principal. Así, si el sistema necesita comunicarse con el sistema basado en el conocimiento, entablará una comunicación directamente o a través de una red. 16 Sistemas Expertos- Fabiola Aranibar Valdivia
  17. 17. Universidad José Carlos Mariátegui 2013 En la segunda el sistema basado en el conocimiento es el sistema principal y está conectado a otros sistemas basados en el conocimiento o convencionales, que le ayudan en su operación. Como ejemplo están los subsistemas que realizan complejos cálculos matemáticos necesarios durante el proceso de razonamiento. En ambos casos debe garantizarse una comunicación fluida de todos los sistemas, aunque estén funcionando en plataformas diferentes, ya sea directamente o a través de una red local. Este aspecto es crítico en sistemas basados en el conocimiento en tiempo real, los cuales requieren un rápido acceso a la información relevante y a las bases de datos para poder ofrecer una solución inmediata y satisfactoria. Por tanto, habrá que fijarse en las posibilidades de conexión a las bases de datos más conocidas y, en especial, a aquélla que se esté utilizando como estándar en la organización así como la posibilidad de llamar a rutinas externas en diferentes lenguajes y viceversa, o la invocación del sistema basado en el conocimiento desde otros sistemas. Un aspecto fundamental a tener en cuenta es la portabilidad de la herramienta (herramientas multiplataforma). En este aspecto hay que valorar no sólo si la herramienta es susceptible de funcionar en diferentes plataformas sino también el coste del cambio de plataforma. Existen herramientas que permiten pasar de una plataforma a otra sin apenas esfuerzo, lo que facilitará la comercialización y el uso de los sistemas que se desarrollen.XI. TENDENCIAS FUTURAS DE LOS SISTEMAS EXPERTOS El mercado de herramientas para el desarrollo de SE está sufriendo una profunda transformación debido a una reorganización en el mercado informático y al cambio de estrategia de las compañías dedicadas al desarrollo de estas herramientas. Son cada vez más las compañías que antaño se dedicaban exclusivamente a la inteligencia artificial y que han decidido introducirse en otros mercados más amplios. Esto ha provocado una confusión que irá en aumento a medida que las empresas que integraban el grupo del mercado de la inteligencia artificial pasen a comercializar otro tipo de productos. 17 Sistemas Expertos- Fabiola Aranibar Valdivia
  18. 18. Universidad José Carlos Mariátegui 2013El mercado se ha ido reconfigurando aprovechando las experiencias del pasado y elavance tecnológico. Así se ha pasado de utilizar máquinas específicas (por ejemplomáquinas LISP) a usar ordenadores comunes (estaciones de trabajo, ordenadorespersonales, etc.). Las aplicaciones eran muy específicas y ahora el ámbito es muchomás amplio. Los sistemas basados en el conocimiento estaban pensados para trabajarde forma aislada y ahora se conciben integrados con otros sistemas. Y, finalmente, elnúmero de personas formadas en estas técnicas es mucho mayor que las existenteshace unos años.Las herramientas de desarrollo de sistemas basados en el conocimiento se puedenclasificar de varias formas.Según la plataforma de desarrollo y de operación que lo estructuran podemosdistinguir cuatro tipos:  Herramientas para PCs y Macintosh: Hasta hace poco, las herramientas que existían para estos entornos estaban orientadas al desarrollo de sistemas pequeños y prototipos. Actualmente, y dado el aumento de la potencia de los PCs, hay herramientas que antes sólo funcionaban en estaciones de trabajo y ahora tienen versiones para PC.  Herramientas para estaciones de trabajo: Aunque el número de herramientas en este sector no ha sufrido grandes variaciones, la aparición de nuevas herramientas catalogadas como herramientas orientadas a dominios específicos podrían incluirse en esta categoría. Este mercado presenta el mayor volumen de ventas, y puede ser considerado sin duda, junto con el de los PCs, el que tiene más proyección de futuro. De hecho, aquellas compañías que no ofrecen una buena herramienta para estaciones de trabajo están realizando esfuerzos para colocar en el mercado un producto capaz de competir en este entorno.  Herramientas para mainframes: El número de herramientas en este mercado es pequeño y se prevé que en los próximos años descienda lenta pero continuamente hasta desaparecer, ya que las compañías que los comercializan se están desplazando hacia las herramientas para estaciones de trabajo y PCs. 18 Sistemas Expertos- Fabiola Aranibar Valdivia
  19. 19. Universidad José Carlos Mariátegui 2013  Herramientas Lisp: Son ordenadores con arquitecturas especiales para ejecutar programas Lisp. El interés por herramientas Lisp continúa descendiendo así como el número de productos en el mercado. Se prevé un descenso continuo en los próximos años.Según el alcance de la herramienta podemos dividirlas en:  Herramientas de Propósito General. No están especialmente concebidas para tratar problemas específicos. Tienen como ventaja su capacidad para ser empleadas en gran variedad de problemas.  Orientadas a dominios y problemas específicos. Esta última categoría representa el mayor grupo de herramientas en el mercado. Se trata de herramientas que abordan problemas o áreas específicos. Ahorran mucho tiempo de desarrollo en el caso de ser aplicadas en los dominios para los que se diseñaron. El número permanece estable aunque con perspectivas de crecimiento en los años venideros debido al gran interés existente en este tipo de herramientas.Por último podemos realizar una última división atendiendo al lenguaje o técnica parael que sirve la herramienta y así podemos distinguir entre:  Herramientas CBR (Case-BasedReasoning): La demanda de herramientas de este tipo se está consolidando mediante la mejora de la calidad de sus productos con más utilidades y nuevos componentes. Son herramientas de razonamiento basadas en casos, para a partir de ellos inducir las reglas y criterios por similitud.  Herramientas para lenguajes Lisp, Prolog, C++. Son entornos de desarrollo; proporcionan las utilidades necesarias (editores, compiladores, depuradores) para poder programar de forma cómoda en estos lenguajes. (Se incluye el C++ porque cada vez hay más programas basados en el conocimiento que se desarrollan en él).  Shells. Son entornos de desarrollos completos y particulares. Contienen un motor de inferencia y utilizan métodos propios de representación del conocimiento que pueden ser más o menos parecidos al Lisp o al Prolog. Sirven 19 Sistemas Expertos- Fabiola Aranibar Valdivia
  20. 20. Universidad José Carlos Mariátegui 2013 principalmente para el desarrollo de prototipos aunque también pueden utilizarse como herramientas finales. Algunos ejemplos son CLIPS, ART, G2. Algunos de los campos actuales de investigación y de aplicación son:  Aprendizaje: Se pretende que sea el propio ordenador el que adquiera el conocimiento. Existen muchas técnicas aplicables o no dependiendo del problema: aprendizaje inductivo, deductivo, redes neuronales, algoritmos genéticos.  Redes Neuronales: Consisten en nodos conectados con otros mediante enlaces, simulando las conexiones que forman las neuronas en el cerebro. Se investiga su utilización en muchas áreas; Visión Artificial, Razonamiento, Aprendizaje, Comprensión Lenguaje Natural.  Redes Bayesianas: Técnica para tratar el razonamiento con incertidumbre. Su base es el teorema de Bayes que es el método matemático exacto para tratar las probabilidades. Consiste en una red donde los nodos son hechos ciertos o no y los enlaces entre los nodos son las probabilidades condicionadas de unos hechos con respecto a otros. Propagando las probabilidades a través de la red, se pueden obtener los resultados más probables a partir de los hechos que se conocen (razonamiento). El ejemplo típico son los sistemas de diagnóstico médico.  Algoritmos genéticos: Son métodos de aprendizaje inspirados en la evolución natural, y que utilizan las nociones de individuos, apareamiento, recombinación de cromosomas, mutación genética, adaptación y selección natural. Son la base de las investigaciones en Vida Artificial. Otras técnicas que se pueden mencionar son la utilización de Ontologías para representar el conocimiento, Data Mining para obtención de conocimiento en bases de datos y los Agentes Inteligentes para la recuperación de información en Internet.XII. APLICACIONES DE LOS SISTEMAS EXPERTOS. 1. Factores que justifican el desarrollo de un sistema experto:  El coste para formar nuevos expertos es muy alto. 20 Sistemas Expertos- Fabiola Aranibar Valdivia
  21. 21. Universidad José Carlos Mariátegui 2013  Existe el riesgo de perder los conocimientos y la experiencia en posesión de los expertos.  Los expertos reconocidos que resuelven ese tipo de problemas son escasos.  Es conveniente disponer de expertos sin restricciones de tiempo y lugar.  Los expertos tienen que trabajar en ambientes hostiles.2. Tipo de problemas que hacen apropiado el desarrollo de un sistema experto.  Las tareas requieren principalmente tratamiento y razonamiento simbólico.  Las tareas admiten el uso de métodos heurísticos.  Las tareas no son demasiado fáciles.  Las tareas tienen un valor eminentemente práctico.  Las tareas tienen un tamaño razonable, esto es, el número de conceptos que deben ser manejados es limitado y no requiere conocimientos de muchas áreas diferentes.3. Campo de aplicaciones de los SE.Según el tipo de problema a resolver, los ámbitos de aplicación en los que más se hanutilizado los sistemas basados en el conocimiento son los siguientes:  Sistemas de ayuda a la toma de decisiones. Se trata de sistemas que a partir de una problemática determinada sugieren la solución que consideran más idónea a partir del conocimiento incluido en el sistema. En la actualidad, en España se procede al desarrollo del Sistema de Información Normativo Aplicado al Control (SINAC) fruto de la colaboración entre la Intervención General de la Administración del Estado y la Dirección General de Informática Presupuestaria. Su función primordial consiste en ayudar en la fiscalización y control de la actividad económica del Sector Público. Otro ejemplo significativo podría ser la Metodología de Análisis y Gestión de Riesgos de los sistemas de Información de las AdminisTraciones públicas(MAGERIT), elaborada por un equipo interdisciplinar del Comité Técnico de Seguridad de los Sistemas de 21 Sistemas Expertos- Fabiola Aranibar Valdivia
  22. 22. Universidad José Carlos Mariátegui 2013 Información y Tratamiento Automatizado de Datos Personales, SSITAD, del Consejo Superior de Informática y que consiste en un método formal para investigar los riesgos que soportan los Sistemas de Información, y para recomendar las medidas apropiadas que deberían adoptarse para controlar estos riesgos; por tanto, permite aportar racionalidad en el conocimiento del estado de seguridad de los Sistemas de Información y en la introducción de medidas de seguridad. Configuración. Se encargan de la selección y planificación de los componentes que se necesitan en un proceso determinado. Un caso típico son los sistemas que ayudan a configurar los equipos físicos a partir de los componentes existentes y de las restricciones establecidas. Diagnóstico. Se trata de sistemas que a partir de unos "síntomas" determinan las causas que lo producen. Ejemplo de ellos son los sistemas basados en el conocimiento de diagnóstico de enfermedades o de averías. Interpretación y Análisis. Sirven para tratar grandes volúmenes de información, interpretarla, dar un informe explicativo y sugerir las acciones a tomar. Ejemplo de ellos pueden ser los sistemas de evaluación de resistencia de estructuras frente a terremotos o sistemas de supervisión de procesos industriales. Monitorización. En algunas situaciones se considera un caso particular de sistemas de interpretación y análisis, pero debido a su frecuente uso se suelen considerar aparte. Estos sistemas suelen encargarse de monitorizar procesos suministrando una salida de control como respuesta. Existen muchos ejemplos de monitorización de procesos en factorías, plantas químicas, centrales nucleares, etc. Son sistemas que deben funcionar en tiempo real. Planificación. Son sistemas que establecen las etapas y recursos necesarios para alcanzar un determinado objetivo. Ejemplo de ellos podría ser un sistema basado en el conocimiento de planificación de trabajos en una factoría. Interfaces inteligentes. Hacen de puente entre las personas y equipos complejos y de difícil utilización. Caso típico son los interfaces inteligentes de acceso a base de datos. Diseño. Son aquéllos que efectúan la planificación o trazado de un objeto o sistema en base a los requisitos especificados. Suelen ser capaces de dar22 Sistemas Expertos- Fabiola Aranibar Valdivia
  23. 23. Universidad José Carlos Mariátegui 2013 diferentes soluciones de forma que el usuario pueda elegir aquélla que le convenga. Ejemplo de este tipo son los sistemas de ayuda al diseño de puentes, presas, microcircuitos electrónicos, etc.A modo de resumen y sin ser exhaustivos, pues el ámbito de aplicación de los sistemasbasados en el conocimiento es muy amplio, el siguiente cuadro indica algunas de lasáreas en las que se han aplicado sistemas basados en el conocimiento y el tipo deproblema que abordan: DOMINIO PROBLEMAS Ámbito Administrativo: - Reglamentación. - Aligerar el tiempo de procedimientos. - Derecho interpretado. - Disminución de costes de tramitación. - Procesos. - Homogeneidad de las interpretaciones legales. - Procedimientos. - Disponibilidad de la información. Gestión: - Ejecutivos. - Manejo de un volumen creciente de información. - Gestores. - Acceso a expertos o consultores para la resolución de un problema determinado. - Planificación estratégica. - Reducción de la complejidad organizativa. - Dirección. - Consultores. Operaciones: - Operación de maquinaria. - Mejora de la coordinación de la organización, programación y gestión complejas. - Controles de calidad. - Vigilancia de sistemas complejos para poder tomar decisiones rápidamente. - Controles de inventario. - Previsión de resultados de procesos complejos y dinámicos. - Control de maquinaria Servicios de Apoyo: - Relaciones Públicas. - Comunicación de procedimientos nuevos y complejos - Entrenamiento de personal. - Examen y explicación de las decisiones tomadas. - Servicios de proceso de datos. - Control y reducción de los costes de desarrollo y mantenimiento de sistemas informáticos. - Mantenimiento y construcción. - Entrenamiento de operarios en tareas complejas - Investigación y desarrollo. - Problemas legales. 23 Sistemas Expertos- Fabiola Aranibar Valdivia
  24. 24. Universidad José Carlos Mariátegui 2013Finanzas: - Gestores de cartera. - Necesidad de disponer de herramientas inteligentes para la planificación. - Contabilidad financiera. - Vigilancias de sistemas complejos existentes. - Gestores financieros. - Auditoría - Control.Mercadotecnia: - Ventas. - Necesidad de asistencia experta para examinar cuestiones mercadotécnicas. - Publicidad. - Necesidad de programas de servicio de clientes, asistencia y control. - Investigación mercado- técnica. - Gestión de pedidos.Automatización del Trabajo de Oficina: - Proceso de textos. - Necesidad de incremento en el manejo, comunicación, recuperación y distribución de información. - Gestión de bases de datos.Servicios Profesionales: - Consultoría de gestión. - Acceso a la información de otros consultores o expertos. - Abogacía. - Realización de informes. - Medicina. - Modelización y simulación. - Contabilidad. - Control de un volumen creciente de información. 24 Sistemas Expertos- Fabiola Aranibar Valdivia
  25. 25. Universidad José Carlos Mariátegui 2013XIII. CONCLUSIONES Actualmente el duro, difícil y cambiante mercado competitivo se vuelve más complejo por la gran diversidad de información que se ven obligados a almacenar y analizar, razón por la cual las empresas se ven en la necesidad de recurrir a poderosas y/o robustas herramientas o sistemas que les sirvan de soporte a la hora de tomar decisiones. De esta forma estos inteligentes, precisos y eficientes sistemas son adoptados por más organizaciones, en las cuales se convierten y/o transforman en una importante estrategia de negocio. Por otra parte es importante mencionar que estos seguirán siendo usados en los todos y cada una de las áreas y/o campos donde los expertos humanos sean escasos. Por consecuencia de lo anterior estos sistemas son utilizados por personas no especializadas, por lo cual el uso frecuente de los (SE) les produce y/o genera conocimiento a los usuarios. 25 Sistemas Expertos- Fabiola Aranibar Valdivia
  26. 26. Universidad José Carlos Mariátegui 2013XIV. BIBLIOGRAFÍA  www.informaticaintegral.net/sisexp.html  www.gestiopolis.com/canales2/gerencia/1/sisexp.htm  www.fortunecity.com/skyscraper/ chaos/279/docs/sistexpertos.htm  http://www.slideshare.net/ruttbar/sistemas-expertos-4637427#btnNext  http://maricelamaldonado.wordpress.com/2011/03/23/arquitectura-de-un- sistema-experto/  http://html.rincondelvago.com/sistemas-expertos_1.html  http://rigo-fdr.blogspot.com/  http://www.monografias.com/trabajos16/sistemas-expertos/sistemas- expertos.shtml  http://www.angelfire.com/ak6/ilb_ebustosf/6_3.pdf  Samper Márquez Juan José (2004). Introducción a los sistemas expertos. Consultado en 06, 03, 2004 o http://www.redcientifica.com/doc/doc199908210001.html.  Criado Briz José Mario (2002). Introducción a los sistemas expertos. Consultado en 06, 05, 2004 en o http://ingenieroseninformatica.org/recursos/tutoriales/sist_exp/cap1.php.  Wikipedia (2004). Sistema experto. Consultado en 06, 03, 2004 en http://es.wikipedia.org/wiki/Sistema_experto.  Félix Justo (2004). Aplicaciones, ventajas y limitaciones de los sistemas expertos. Consultado en 06, 04, 2004 en o http://efelix.iespana.es/efelix/expertaplicaciones.htm. 26 Sistemas Expertos- Fabiola Aranibar Valdivia

×