logica difusa en sistemas expertos

Upload: almendraizaguirregalloso

Post on 22-Feb-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 logica difusa en sistemas expertos

    1/55

    C A P T U L O I : I N T E L I G E N C I A A R T I F I C I A L

    1.1 CONCEPTOS.

    La IA es una ciencia que estudia el comportamiento inteligente de las mquinas lo cual conlleva realizar tareas como: percibir, razonar, aprender, comunicarse y actuar en entornos complejos.

    La IA. es la parte de la informtica concerniente al diseo de sistemas de computacin inteligente, edecir, de sistemas que exhiban o simulen las caractersticas que son comnmente asociadas con linteligencia en la conducta humana (Handbook81).

    Una de las metas a largo plazo de la IA es el desarrollo de mquinas que puedan hacer todas estascosas igual, o quiz incluso mejor, que los humanos.

    Otra meta de la IA es llegar a comprender este tipo de comportamiento, sea en las mquinas, en lohumanos o en otros animales.

    La IA ha estado siempre rodeada de controversia. La cuestin bsica de la IAPueden pensar lasmquinas? ha interesado tanto a filsofos como a cientficos e ingenieros.

    Algunas personas creen que las mquinas pensantes tendran que ser tan complejas, y disponer de unexperiencia tan compleja (por ejemplo, interaccionando con el entorno o con otras mquinas pensantesque nunca seremos capaces de disearas o construirlas.

    Otros puntos de vista sobre el tipo de mquinas que podran ser capaces de desarrollar habilidade pensantes como las de los humanos. Algunas de las hiptesis:

    El cerebro procesa la informacin en paralelo, mientras que los ordenadores convencionales lohacen secuencialmente. Por tanto, tenemos que construir nuevas variedades de ordenadores paralelos para realizar progresos en la IA.

    La maquinaria computacional convencional est basada en la lgica binaria (verdadera y falsa). Potanto, los sistemas realmente inteligentes tendrn que usar algn tipo de lgica borrosa.

    Las neuronas animales son mucho ms complejas que simples conmutadores (los bloquesconstructivos bsicos de los ordenadores actuales). Por tanto, necesitaremos neuronas artificialeverdaderamente realistas para construir mquinas inteligentes.

    1.2 DEFINICIN DE LA IA EN 4 DIMENSIONES

    Entre ellas tenemos las siguientes: Sistemas que actan como humanos. Sistemas que piensan como humanos. Sistemas que piensan racionalmente. Sistemas que actan racionalmente.

    1.2.1. Sistemas que actan como humanos.

    El modelo es el hombre, el objetivo es construir un sistema que pase por humano. Test de Turing: Si un sistema lo pasa es inteligente. Necesitamos mquinas con:

    Procesamiento de lenguaje natural. Representacin del conocimiento. Razonamiento automtico.

  • 7/24/2019 logica difusa en sistemas expertos

    2/55

    Aprendizaje automtico.

    1.2.2. Sistemas que piensan como humanos.

    Su enfoque es el modelo Cognoscitivo. Es necesario disponer de mecanismos que permitan determinar cmo piensan los humanos. Hay 2 Tcnicas.

    Introspeccin: Intentar atrapar nuestros pensamientos conforme van apareciendo. Experimentos psicolgicos.

    Se intenta elaborar teoras precisas y verificables del funcionamiento de la mente humana.

    1.2.3. Sistemas que piensan racionalmente.

    El enfoque de las leyes del pensamiento racional se fundamenta en la lgica (silogismos deAristteles).

    La lgica formal est en la base de los programas inteligentes (logicismo). Hay 2 obstculos:

    Es muy difcil formalizar el conocimiento Hay un gran salto entre la capacidad terica de la lgica y su realizacin prctica.

    1.2.4. Sistemas que actan racionalmente.

    El enfoque del agente racional. Actuar racionalmente significa conseguir unos objetivos dadas unas creencias. El paradigma es el agente racional, que se aplica, por ejemplo, a muchos sistemas robticos. Un agente percibe y acta, siempre teniendo en cuenta el entorno en el que est situado. Las capacidades necesarias:

    Percepcin. Procesamiento del lenguaje natural. Representacin del conocimiento.

    Razonamiento. Aprendizaje automtico.

    1.3 OBJETIVOS

    Desde el punto de vista de los objetivos, la IA puede considerarse en parte como ingeniera y en partcomo ciencia.

    Como ingeni era , el objetivo de la IA es resolver problemas reales, actuando como un conjunto deideas acerca de cmo representar y utilizar el conocimiento, y de cmo desarrollar sistemasinformticos.

    Como ciencia, el objetivo de la IA es buscar la explicacin de diversas clases de inteligencia, a travsde la representacin del conocimiento y de la aplicacin que se da a ste en los sistemas informticodesarrollados.

    1.4 FUNDAMENTOS.

    La IA ha tenido como fundamento las bases de varias disciplinas, entre las cuales mencionaremos lasiguientes:

    Filosofa: Scrates, Platn, Aristteles, Leibniz (abuelo de la IA), desde el ao 428 a.c hasta el presente.

    Lgica: Searle.

  • 7/24/2019 logica difusa en sistemas expertos

    3/55

    Matemtica: (Frege, Tarski) desde el ao 800 a.c, proveyeron las herramientas para manipular lasaseveraciones de certeza lgica as como las inciertas de tipo probabilista. As mismo prepararon eterreno para el manejo del razonamiento con algoritmos de probabilidad, lgebra booleana.

    Psicologa: (Piaget Craik), conductismo, psicologa cognitiva dndose desde el ao 1869 hasta laactualidad.

    Ciencias de la Computacin: Comenz muy poco antes. Las teoras encuentran un medio para suimplementacin (artefactos y modelado cognitivo).

    Lingstica: Se desarroll en paralelo con la IA y sirve de base para la representacin delconocimiento (Chomsky), ao 1957 hasta el presente.

    Neurociencia Cmo procesa la informacin el cerebro?

    1.5 HISTORIA.

    En 1950 con el trabajo de Alan Turing, el matemtico britnico que dise el primer computadoelectrnico digital y funcional del mundo en los aos 1940.Cuando era estudiante de posgrado en Princeton en 1936, Turing publicOn Computable Numbers, unartculo que estableci las bases tericas para todas las ciencias de computacin. Ah describi lo qudenomin Mquina de Turing, un dispositivo terico que poda leer instrucciones de una cinta de pape perforada y ejecutar todas las operaciones crticas de un computador. El artculo fij los lmites de laciencias de la computacin porque demostr que no es posible resolver problemas con ningn tipo dcomputador.Despus de doctorarse en 1938, Turing tuvo la oportunidad de poner en prctica la teora cuando, al prevuna invasin por parte de las fuerzas de Adolf Hitler, el gobierno britnico reuni un equipo dmatemticos e ingenieros con la misin sper secreta de descifrar el cdigo militar alemn. Turing con ugrupo construyCOLOSSUS, una mquina de propsito especfico considerado como el primercomputador digital electrnico.Desde que se complet el Colossus en 1943 hasta que termin la Segunda Guerra Mundial, descifr coxito los cdigos nazis. Muchos expertos creen que Colussus fue responsable de la derrota de los nazis.Turing inaugur el campo de la inteligencia artificial con su artculo publicado en 1950, ComputinMachinery and Intelligence, en el que propuso una prueba concreta para determinar si una mquina er

    inteligente o no. Aos despus Turing se convirti en el adalid que quienes defendan la posibilidad demular le pensamiento humano a travs de la computacin y fue coautor del primer programa para jugaajedrez.En su histrico artculo de 1950, Turing propuso que la pregunta puede pensar una mquina? erademasiado filosfica para tener valor y, para hacerlo ms concreto, propuso un juego de imitacin. En la prueba de Turing intervienen dos personas y una computadora. Una persona, el interrogador, se sienta euna sala y teclea preguntas en la terminal de una computadora. Cuando aparecen las respuestas en lterminal, el interrogador intenta determinar si fueron hechas por otra persona o por una computadora. Sacta de manera inteligente, segn Turing es inteligente. Turing, seal que una mquina podra fracasaran ser inteligente. Aun as crea que las mquinas podran superar la prueba a fin del siglo.

    En 1951 William Shockley inventa el transistor de unin. El invento hizo posible una nueva generacin dcomputadoras mucho ms rpidas y pequeas.En 1956 se acu el trmino "inteligencia artificial" en Dartmouth durante una conferencia convocada pMcCarthy, a la cual asistieron, entre otros, Minsky, Newell y Simon. En esta conferencia se hiciero previsiones triunfalistas a diez aos que jams se cumplieron, lo que provoc el abandono casi total de linvestigaciones durante quince aos.En 1980 la historia se repiti con el desafo japons de la quinta generacin, que dio lugar al auge de losistemas expertos pero que no alcanz muchos de sus objetivos, por lo que este campo sufri una nuevinterrupcin en los aos noventa.En 1987 Martn Fiscales y Oscar Firschein describieron los atributos de un agente inteligente. Al intentdescribir con un mayor mbito (no slo la comunicacin) los atributos de un agente inteligente, la IA se hexpandido a muchas reas que han creado ramas de investigaciones enormes y diferenciadas.

  • 7/24/2019 logica difusa en sistemas expertos

    4/55

    Podemos entonces decir que la IA incluye caractersticas humanas tales como el aprendizaje, la adaptaciel razonamiento, la autocorreccin, el mejoramiento implcito, y la percepcin modular del mundo. As podemos hablar ya no slo de un objetivo, sino de muchos, dependiendo del punto de vista o utilidad qu pueda encontrarse a la IA.Muchos de los investigadores sobre IA sostienen que "la inteligencia es un programa capaz de seejecutado independientemente de la mquina que lo ejecute, computador o cerebro".

    1.6 TCNICAS DE LA IA.

    Entre ellas las siguientes:

    1.6.1. Sistemas Expertos.1.6.1.1. Concepto:

    Consiste de equipos y software que almacenan conocimientos y hacen inferencias, enforma similar a un experto humano. A finales de los cincuenta y principios de los sesentalos ingenieros en computacin trataron de construir computadoras capaces de realizartareas inteligentes. Los esfuerzos se encaminaron a crear un solucionador de problemasgenerales, una mquina capaz de imitar el proceso de razonamiento humano para resolvercualquier problema que un ser humano pudiera solucionar.Los esfuerzos se orientaron al diseo de programas que resolvieran problemas en reas precisas utilizando conocimiento y razonamiento de expertos.

    1.6.1.2. El propsito de los SEEs duplicar el conocimiento no estructurado ni documentado de unos pocos (los expertos)y los pone a disposicin de otros. Debido a la forma en que estn planteados los SE(basados en la experiencia) no puede ayudar a los usuarios que tratan con sucesos que losexpertos no consideraron durante el periodo de creacin. Sin embargo muchos programasavanzados que incluyen redes neuronales aprenden de situacio nes nuevas y formulanreglas adhoc en sus bases de conocimiento para resolver eventualidades no consideradasoriginalmente en su diseo.

    Para construir un SE un ingeniero del conocimiento se entrevista con un experto, traducela informacin en cdigo. Por lo general con la regla SI-Entonces.Otros mtodos son marcos semnticos integrados por cuadros con listas de entidades yatributos; y las redes semnticas, mapas de entidades y sus atributos relacionados.

    1.6.1.3. Caractersticas de un SE Pueden explicar su razonamiento o decisiones sugeridas:La capacidad de

    explicar cmo se lleg a una decisin o solucin. Puede mostrar un comportamiento inteligente: Al examinar un grupo de datos,

    un SE puede proponer nuevas ideas o mtodos para la solucin del problema, o proporcionar asesoramiento en el trabajo para los trabajadores.

    Puede obtener conclusiones de relaciones complejas: Evaluar relacionescomplejas para llegar a conclusiones y solucionar problemas, por ejemplo: un SE propuesto trabajar con un sistema de fabricacin flexible para determinar la mejorutilizacin de las herramientas, y otro sugerir los mejores procedimientos decontrol de calidad.

    Puede proporcionar conocimientos acumulados: Se puede usar para capturarconocimientos de humanos que de lo contrario podran perderse. Ejemplo es el SEdenominado DELTA (Diesel Electronic Locomotive Troble-shooting Aid),desarrollado para conservar el conocimiento de David Smith, nico ingenierocompetente para manejar muchas reparaciones extremadamente tcnicas de esasmquinas, cuando lleg el momento de su jubilacin.

  • 7/24/2019 logica difusa en sistemas expertos

    5/55

    Puede hacer frente a la incertidumbre: Una de las caractersticas ms importantesde un SE es su capacidad para enfrentar conocimientos incompletos o inexactos ensu totalidad. Mediante el uso de las probabilidades, las estadsticas y las heursticas.

    1.6.1.4. Caractersticas que limitan su Utilidad No se han usada o probado en forma extensa: Los SE no se emplean en un gran

    nmero de organizaciones. Dificultad de uso: Algunos sistemas expertos son difciles de controlar y usar. En

    algunos casos se requiere del uso de personal de computacin, o del personascapacitadas en el uso de SE, para ayudar al usuario a obtener todo lo ms posible deestos sistemas.

    Estn limitados a problemas relativamente limitados: Algunos sistemas expertos pueden realizar anlisis de datos complejos, otros estn limitados a problemassencillos.

    No pueden enfrentar con facilidad conocimientos mixtos: Un SE en unaaplicacin quiz no pueda hacer frente a conocimientos que combinen tanto reglascomo casos.

    Posibilidad de error: Algunos sistemas expertos tienen capacidades limitadas paraaprender de la experiencia, la fuente principal de conocimientos es un expertohumano. Si este conocimiento es incorrecto o incompleto, afectar al sistema enforma negativa.

    Dificultad de mantenimiento: Los SE pueden ser difciles de actualizar. Algunosno responden o no se adaptan a condiciones cambiantes.

    Pueden tener costo altos de desarrollo: Cuando se usan los lenguajes y mtodosde programacin tradicionales. Se puede lograr una reduccin considerable en loscostos de desarrollo si se emplea software para el desarrollo de SE.

    Ocasionan preocupaciones legales y ticas: Las personas que toman decisiones yllevan a cabo acciones son responsables, desde el punto de vista legal y tico, por sucomportamiento. Por ejemplo, una persona puede ser procesado y condenada por undelito. Cuando los SE se usan para tomar decisiones o ayudan a tomarlas, quin es

    el responsable de esta decisin?1.6.1.5. Capacidades de los SE

    En comparacin con otros tipos de sistemas de informacin, los SE ofrecen variascapacidades poderosas y beneficios. Por ejemplo, con frecuencia se usa un SEdenominado XCON para disear configuraciones de sistemas computacin, 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 yayudar en la totalidad de las etapas del proceso de solucin de los problemas.

    Fijacin de objetivos estratgicos: Un SE puede ayudar a los administradores dealto nivel de la compaa a determinar los costos y beneficios que existen en producir vinos de mayor calidad y cambiar su imagen en el mercado.

    Planeacin: Un SE puede ayudar a este proceso mediante la sugerencia de factoresque se deben considerar al tomar la decisin final, sobre la base de datos proporcionados por la administracin.

    Diseo: Estos SE usan principios generales de diseo, comprensin de los procedimientos de fabricacin y un grupo de reglas de diseo.

    Toma de decisiones: Pueden sugerir posibles alternativas, formas de contemplar los problemas y mtodos lgicos al proceso de toma de decisiones. Adems, los SE pueden mejorar el proceso de aprendizaje para aquellos que no tienen tantaexperiencia en tomar decisiones.

    Control y supervisin de calidad: Los SE computarizados pueden ayudar asupervisar varios sistemas y proponer soluciones a problemas que se presenten en

  • 7/24/2019 logica difusa en sistemas expertos

    6/55

    ellos. Los SE tambin se pueden usar para supervisar la calidad de los productos.Cuando las mquinas funcionan en forma deficiente, el SE puede ayudar adeterminar las causas posibles.

    Diagnstico: Puede proporcionar al mdico la probable causa de enfermedad y proponer tratamientos u operaciones. En los negocios tambin diagnstica posibles problemas y soluciones.

    1.6.1.6. Cuando usar los SEEl desarrollo se SE complejos puede ser difcil, costoso y requerir de tiempo, por lo tantoes importante asegurarse de que los posibles beneficios valen el esfuerzo y que lasdiversas caractersticas del SE se equilibren, en trminos 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 ms 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 capacitacin y el desarrollo

    con el propsito de compartir los conocimientos y la experiencia de expertoshumanos con un gran nmero de personas.

    1.6.1.7. Componentes de los SE La Base de Conocimientos: Almacena toda la informacin, datos, reglas, casos y

    relaciones importantes que utiliza el SE. Para cada aplicacin nica se tiene quedesarrollar una base conocimientos. Por ejemplo, un SE mdico contendr hechossobre enfermedades y sntomas. La base de conocimientos puede incluirconocimientos genricos provenientes de teoras generales que se han establecidocon el tiempo y conocimientos especficos que provienen de experiencias msrecientes y de reglas prcticas.

    Propsito de una base de conocimientos:Contener los hechos y la

    informacin pertinentes para el SE especfico. Una base de conocimientos essimilar a la suma total de los conocimientos y experiencias de los expertoshumanos que se obtienen a travs de aos de trabajo en un rea o disciplinaespecfica.

    Reunin de expertos humanos: Una base que contiene informacin proporcionada por diversos expertos puede ser extremadamente eficiente yexacta desde el punto de vista de sus sugerencias y pronsticos.

    Utilizacin de la lgica difusa: Otro reto para los diseadores ydesarrolladores de SE es capturar conocimientos y relaciones que no son precisos o exactos.

    El uso de reglas: Una regla es una instruccin condicionada que enlazadeterminadas condiciones con acciones o resultados. La regla se crea pormedio de construcciones de si-entonces.

    El uso de casos: Un SE puede usar casos al desarrollar la solucin a un problema o situacin actual. El proceso incluye:

    1) Encontrar casos almacenados en la base de conocimientos, que seansimilares al problema.

    2) Modificar las soluciones a los casos para adaptarlas, o acomodarlas, al problema o la situacin actual.

    El M otor de Inf erencias : El propsito general de un motor de inferencias es buscarinformacin y relaciones en la base de conocimientos, y proporcionar respuestas, pronsticos y sugerencias en la misma forma en que lo hara un experto humano. Enotras palabras, el motor de inferencias es el que proporciona el consejo experto.

  • 7/24/2019 logica difusa en sistemas expertos

    7/55

    Encadenamiento inverso: Es el proceso de comenzar con conclusiones ytrabajar hacia atrs hasta los hechos de soporte. Si los hechos no apoyan laconclusin, se elige y prueba otra.

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

    Comparacin del encadenamiento inverso y el encadenamiento haciadelante: El encadenamiento hacia delante puede llegar a conclusiones y producir ms informacin con menos consultas para el usuario que elencadenamiento inverso, pero este mtodo requiere ms procesamiento y unmayor grado de sofisticacin.

    Los Recur sos de Explicaciones: Una parte importante del SE son los recursos deexplicaciones que le permiten al usuario, o al responsable de tomar las decisionescomprender en que forma lleg el SE a ciertas conclusiones o resultados.

    Los Recur sos de Adqu isici n de Conocimientos: una tarea difcil en el desarrollo deun sistema experto es el proceso de crear y actualizar la base de conocimientos. Enla actualidad, existe software especializado que le permite a los usuarios y a quienestoman las decisiones crear y modificar sus propias bases de conocimientos.

    La Interfaz del U suar io: Sirve para disear, crear, actualizar y usar los SE. El propsito general de la interfaz del usuario es facilitar a los usuarios y a lostomadores de las decisiones el desarrollo y el uso de un SE.

    1.6.1.8. Desarrollo de los SELos SE requieren de un mtodo de desarrollo sistemtico para obtener los mejoresresultados.

    Proceso De Desarrollo:La especificacin de los requisitos para un SE se inicia conla identificacin de los objetivos del sistema y su uso potencial. Identificar a losexpertos puede ser difcil. En algunos casos, una compaa contar con expertos

    humanos; en otros, se requerir expertos ajenos a la organizacin. Para el desarrollode los elementos del SE son necesarias habilidades especiales. La puesta enoperacin del SE incluye ponerlo en accin y asegurarse de que funciona como sedesea.

    1.6.1.9. Participantes en el Desarrollo y Utilizacin 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 leconoce como dominio. El experto en dominio es la persona o grupo que tiene laexperiencia o el conocimiento al cual se intenta capturar en el SE. Por lo general conla siguiente capacidad:

    Reconocer el problema real Desarrollar una estructura general para la solucin de problemas Formular teoras sobre la situacin Desarrollar y usar reglas generales para solucionar un problema Identificar cundo 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 situacin 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 diseo, desarrollo, puesta

  • 7/24/2019 logica difusa en sistemas expertos

    8/55

    en operacin y mantenimiento de un SE, incluyendo entrenamiento y experienciacon shells de SE. El segundo es quien usa el SE y se beneficia de l.

    1.6.1.10. Herramientas y tcnica para el desarrollo de sistemas expertosEn teora, los sistemas expertos se deben desarrollar a partir de algn lenguaje de programacin. Desde la introduccin de los sistemas de computacin, los lenguajes defciles de usar, ms potentes y cada vez ms capaces de manejar. En los inicios deldesarrollo de SE se usaban los lenguajes Pascal, FORTRAN Y COBOL. LISP fue uno delos primeros lenguajes especiales desarrollados y empleados para aplicaciones deinteligencia 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 yherramientas de software utilizados para disear, desarrollar, poner en operacin ymantener SE con una programacin mnima. Existen shells de SE tanto paracomputadoras personales como para sistemas de macrocomputadoras. Algunos son baratos con costo inferior a los 500 dlares. El usuario introduce los datos o parmetrosapropiados y el SE proporciona el resultado para el problema o situacin. Algunos de losshells ms populares son Exsys de MultilLogic, Inc. Level 5, de Rule MachinesCorporacin y XpertRule, de Attar Software.

    1.6.1.11. Ventajas de los shells y los productos de SE Fciles 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 LIPSson ms difciles de modificar y ms costosos que los SE desarrollados con shells.

    El uso de la satisfaccin: El mtodo tradicional de solucin de problemas intentaencontrar la solucin ptima, o la mejor; los lenguajes avanzados y simblicos pueden hacer frente a problemas ms complejos y producir decisiones muy buenas,aunque no siempre ptimas.

    El uso de la heurstica: Es necesario que los SE puedan manejar relaciones

    imprecisas. La heurstica puede hacerlo y a menudo producir una buena solucinque 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 dedesarrollo. Es frecuente que al desarrollar SE con lenguajes de programacintradicionales se requieran anlisis de sistemas y programacin de computacin, queson costosos y que por lo comn requieren de ms tiempo.

    1.6.1.12. Alternativas de desarrollo de SELos SE se pueden desarrollar desde cero por medio de un shell de SE o mediante un paquete de software de SE ya existente. El mtodo seleccionado depende de los

    beneficios del sistema comparados con el costo, el control y la complejidad de cadaalternativa. Es ms fcil y menos costoso desarrollar un SE utilizando un paqueta yaexistente o un shell de SE. Sin embargo, si la organizacin no cuenta ya con este tipo desoftware, habr un costo adicional para desarrollar un paquete existente o adquirir unshell de SE

    Desarrollo en la propia empresa (desde cero):Es el mtodo ms costoso, pero laorganizacin tiene ms control sobre las caractersticas y los elementos del SE.

    Desarrollo en la propia empresa (desde un shell):Puede ser menos complejo yms fcil de mantener que desarrollarlo desde cero. Sin embargo, quiz seanecesario modificar el SE resultante para que sea idneo para aplicacionesespecficas.

    Compra paquetes ya existentes (uso de paquetes existentes): Mtodo menoscostoso y ms rpido. Aquel cuyo desarrollo corri a cargo de una compaa de

  • 7/24/2019 logica difusa en sistemas expertos

    9/55

    software o de asesora para un campo o rea especficos, tales como el diseo de unnuevo microprocesador para computacin o un sistema para pronosticar y predecirel clima. Estos sistemas pueden ser ms fciles de mantener y actualizar altranscurso del tiempo, pero no pueden satisfacer las necesidades especiales de laorganizacin.

    1.6.1.13. Aplicaciones de los SE y de la IA Otorgar crdito: Para revisar la solicitud de crdito de una persona y el historial

    crediticio que mantiene con las agencias dedicadas a este rubro, para tomar ladecisin de otorgar el crdito.

    Administracin y recuperacin de informacin:Los SE pueden ayudar a este proceso mediante el uso de agentes. Los agentes de SE ayudan a los gerentes aencontrar los datos y la informacin correctos, al mismo tiempo que eliminanhechos sin importancia que puedan obstaculizar la toma de decisiones oportunas.

    IA y SE incorporados a los productos:El sistema de frenos antibloqueo de losautomviles modernos es un ejemplo de un SE rudimentario. Los investigadores deIA tambin estn encontrando formas para usar las redes neuronales y la robtica endispositivos de uso diario, tales como tostadoras de pan, relojes despertadores yaparatos de TV.

    Disposicin de plantas:FLEXPERT es un SE que usa la lgica difusa para realizarel trazado de plantas. El software ayuda a las compaas a determinar la mejorubicacin para los equipos y las instalaciones de fabricacin.

    Instalaciones de hospitales y mdicas:Algunos hospitales usan SE para determinarla posibilidad de que un paciente contraiga cncer u otras enfermedades. MYCIN esun 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 tamao, usa un SE y repuestaverbal para automatizar la funcin del su departamento de ayuda.

    Evaluacin del desempeo de empleados:Un SE de Austin-Hayne, llamadoEmployee Appreiser, les proporciona asesora experta a los gerentes para que lautilicen en las revisiones del desempeo de los empleados y el desarrollo de carreras

    Anlisis de prstamos:KPMG Peat Marwick usa un SE llamado Loan Probe pararevisar las reservas para prdidas en prstamos, con el propsito de determinar si sehan reservado fondos suficientes para cubrir riesgos de que algunos prstamos se

    vuelvan incobrables. Deteccin de virus:IBM utiliza la tecnologa de red neuronal para ayudar a crearsoftware ms avanzado en la erradicacin de los virus de computacin, un problemaimportante para las empresas estadounidenses.

    Reparacin y mantenimiento: AT&T usa el SE ACE para analizar elmantenimiento de las redes telefnicas. Nynex (New York and New EnglandTelephone Exchange) tiene sistemas expertos para ayudar a sus trabajadores alocalizar y resolver problemas telefnicos con referencia a sus clientes.

    Embarques: Lufthansa, una aerolnea alemana, usa un SE, CARGEX-Cargo, paraayudar a determinar las mejores rutas de embarque.

  • 7/24/2019 logica difusa en sistemas expertos

    10/55

    Mercadotecnia: CoverStory es un SE que trae informacin de una base de datos yelabora, en forma automtica, informes de mercadotecnia.

    Optimizacin de almacenes: Unite Distillers emplea un SE para determinar lasmejores combinaciones de existencias, para producir su mezcla de whisky escocs.

    Integracin de SE: Un SE se puede integrar con otros sistemas en una organizacinmediante una base de datos comn. Un SE que identifique a los clientes quedemoran sus pagos y que no deben recibir crdito adicional puede tomar los datos dela misma base de datos que un MIS de facturacin que elabora informes semanalesde las cuentas vencidas. La misma base de datos podra usarse para un sistema deapoyo a las decisiones que realice anlisis de que sucedera s, para determinar larepercusin de los pagos demorados sobre los flujos ejecutivo, ingresos y nivelesgenerales de utilidad.

    1.6.1.14. Limitaciones de los SE Los SE slo manejan reas precisas del conocimiento: Funcionan bien si el

    dominio al que se enfocan est bien definido. Por ejemplo, es difcil que seencuentre un SE mdico general.

    Los SE no tienen sentido comn: El sistema slo resolver aquellos problemas para los que est especficamente programado.

    Los SE Tienen una capacidad limitada de aprendizaje: Los ingenieros delconocimiento deben dirigir los sistemas y proporcionar retroalimentacin continua para que aprenda.

    1.6.2. Lgica Difusa.1.6.2.1. Historia

    Esta simple idea naci en un artculo de Lofti A. Zadeh publicado en 1965 y titulado"Fuzzy Sets" (Conjuntos Difusos). La lgica difusa permite representar de formamatemtica conceptos o conjuntos imprecisos, tales como das fros, meses calurosos,

    personas altas, salarios bajos, guisos con mucho condimento, profesores poco valoradosetc.Pero hay que tener en cuenta que la idea en s de que las cosas no son blancas o negras,sino que existen infinitos matices de grises viene ya desde la poca de los primerosgrandes filsofos como Platn.Posteriormente a ellos, otros grandes pensadores como David Hume o Kant apoyabanesta idea manteniendo que el razonamiento vena dado por las observaciones de las quesomos testigos a lo largo de nuestra vida y la deteccin de algunos principioscontradictorios en la lgica clsica.Tras la publicacin de Lotfi A. Zadeh, se comenz rpidamente a usar la lgica difusa endistintas aplicaciones prcticas, llegando a su mximo auge a principios de los aos 90, ycontinuando ste hasta la poca actual.

    1.6.2.2. Concepto:La lgica difusa se funda en el concepto de que todo es cuestin de grado, lo cual permitemanejar informacin vaga o de difcil especificacin, importante para la resolucin de un problema, por medio de una serie de reglas de "sentido comn" aprendidas con sistemasadaptativos que se nutren de la observacin de las personas o de la formulacin por partedel experto humano.En la actualidad hay un nmero creciente de aplicaciones entre las cuales podemosmencionar:

    La construccin de artefactos electrnicos de uso domstico y de entretenimiento. El diseo de dispositivos artificiales de deduccin automtica.

  • 7/24/2019 logica difusa en sistemas expertos

    11/55

    El diseo de sistemas de diagnstico y de control de complejos procesosindustriales, etc.

    1.6.2.3. FuncionamientoLa lgica difusa se adapta mejor al mundo real en el que vivimos, e incluso puedecomprender y funcionar con nuestras expresiones, del tipo "hace mucho calor", "no esmuy alto", "el ritmo del corazn est un poco acelerado", etc.La clave de esta adaptacin al lenguaje, se basa en comprender loscuantificadores denuestro lenguaje (en los ejemplos de arriba "mucho", "muy" y "un poco").En la teora de conjuntos difusos se definen tambin las operaciones de unin,interseccin, diferencia, negacin o complemento, y otras operaciones sobre conjuntos(ver tambin subconjunto difuso), en los que se basa esta lgica.Para cada conjunto difuso, existe asociada una funcin de pertenencia para sus elementosque indican en qu medida el elemento forma parte de ese conjunto difuso. Las formas delas funciones de pertenencia ms tpicas son trapezoidales, lineales y curvas.Se basa en reglas heursticas de la formaSI (antecedente) ENTONCES (consecuente),donde el antecedente y el consecuente son tambin conjuntos difusos, ya sea puros oresultado de operar con ellos. Sirvan como ejemplos de regla heurstica para esta lgica(ntese la importancia de las palabras "muchsimo", "drsticamente", "un poco" y"levemente" para la lgica difusa):

    SI hace muchsimo calor ENTONCES disminuyo drsticamente la temperatura. SI voy a llegar un poco tarde ENTONCES aumento levemente la velocidad.

    Los mtodos de inferencia para esta base de reglas deben ser simples, veloces y eficaces.Los resultados de dichos mtodos son un rea final, fruto de un conjunto de reassolapadas entre s (cada rea es resultado de una regla de inferencia). Para escoger unasalida concreta a partir de tanta premisa difusa, el mtodo ms usado es el delcentroide,en el que la salida final ser el centro de gravedad del rea total resultante.Las reglas de las que dispone el motor de inferencia de un sistema difuso pueden serformuladas por expertos, o bien aprendidas por el propio sistema, haciendo uso en estecaso de Redes neuronales para fortalecer las futuras tomas de decisiones.

    Los datos de entrada suelen ser recogidos por sensores, que miden las variables deentrada de un sistema. El motor de inferencias se basa enchips difusos, que estnaumentando exponencialmente su capacidad de procesamiento de reglas ao a ao.Un esquema de funcionamiento tpico para un sistema difuso podra ser de la siguientemanera:

    En la figura, el sistema de control hace los clculos en base a sus reglas heursticas,comentadas anteriormente. La salida final actuara sobre el entorno fsico, y los valoresde las nuevas entradas sobre el entorno fsico (modificado por la salida del sistema decontrol) seran tomados por sensores del sistema.Por ejemplo, imaginando que nuestro sistema borroso fuese el climatizador de un cocheque se autorregula segn las necesidades: Los chips borrosos del climatizador recogen losdatos de entrada, que en este caso bien podran ser la temperatura y humedadsimplemente. Estos datos se someten a las reglas del motor de inferencia (como se hacomentado antes, de la forma SI... ENTONCES...), resultando un rea de resultados. Deesa rea se escoger el centro de gravedad, proporcionndola como salida. Dependiendodel resultado, el climatizador podra aumentar la temperatura o disminuirla dependeiendodel grado de la salida.

    1.6.2.4. Ventajas e InconvenientesComo principal ventaja, cabe destacar los excelentes resultados que brinda un sistema decontrol basado en lgica difusa: ofrece salidas de una forma veloz y precisa,disminuyendo as las transiciones de estados fundamentales en el entorno fsico quecontrole. Por ejemplo, si el aire acondicionado se encendiese al llegar a la temperatura de

  • 7/24/2019 logica difusa en sistemas expertos

    12/55

    30, y la temperatura actual oscilase entre los 29-30, nuestro sistema de aireacondicionado estara encendindose y apagndose continuamente, con el gastoenergtico que ello conllevara. Si estuviese regulado por lgica difusa, esos 30 no seranningn umbral, y el sistema de control aprendera a mantener una temperatura estable sincontinuos apagados y encendidos.Del mismo ejemplo puede observarse otra de las principales ventajas de estos sistemas,que es la capacidad de adelantarse en el tiempo a los acontecimientos, estabilizandosiempre el entorno fsico que controla.Como principal incoveniente cabe destacar la dificultad de elegir una correcta funcin de pertenencia para los conjuntos difusos, ya que en ocasiones no es sencillo especificar elefecto de los cuantificadores de nuestro lenguaje en dicha funcin. El hecho de quecualquier funcin de pertenencia del sistema estuviese mal especificada, hara fallar, muy probablemente, todo el sistema completo.Tambin est la indecisin de decantarse por los expertos o por la tecnologa(principalmente mediante Redes neuronales) para reforzar las reglas heursticas inicialesde cualquier sistema de control basado en este tipo de lgica.

    1.6.2.5. AplicacionesLa lgica difusa se utiliza cuando la complejidad del proceso en cuestin es muy alta y noexisten modelos matemticos precisos, para procesos altamente no lineales y cuando seenvuelven definiciones y conocimiento no estrictamente definido (impreciso o subjetivo)En cambio, no es una buena idea usarla cuando algn modelo matemtico ya solucionaeficientemente el problema, cuando los problemas son lineales o cuando no tienensolucin.Esta tcnica se ha empleado con bastante xito en la industria, principalmente en Japn, ycada vez se est usando en gran multitud de campos. La primera vez que se us de formaimportante fue en el metro japons, con excelentes resultados. A continuacin se citanalgunos ejemplos de su aplicacin:

    Sistemas de control de acondicionadores de aire Sistemas de foco automtico en cmaras fotogrficas

    Electrodomsticos familiares (Frigorficos, lavadoras...) Optimizacin de sistemas de control industriales Sistemas de reconocimiento de escritura Mejora en la eficiencia del uso de combustible en motores Sistemas expertos del conocimiento (simular el comportamiento de un experto

    humano) Tecnologa informtica Bases de datos difusas: Almacenar y consultar informacin imprecisa. Para este punto por ejemplo, existe el lenguaje FSQL.

    Y, en general, en la gran mayora de los sistemas de control que no dependen de unS/No.

    1.6.3. Redes Neuronales.1.6.3.1. Historia de las Redes Neuronales

    Conseguir disear y construir mquinas capaces de realizar procesos con ciertainteligencia ha sido uno de los principales objetivos de los cientficos a lo largo de lahistoria. De los intentos realizados en este sentido se han llegado a definir las lneasfundamentales para la obtencin de mquinas inteligentes: En un principio los esfuerzosestuvieron dirigidos a la obtencin deautmatas, en el sentido de mquinas querealizaran, con ms o menos xito, alguna funcin tpica de los seres humanos. Hoy enda se contina estudiando en sta misma lnea, con resultados sorprendentes, existenmaneras de realizar procesos similares a los inteligentes y que podemos encuadrar dentrode la llamadaInteligencia Artificial (IA).

  • 7/24/2019 logica difusa en sistemas expertos

    13/55

    A pesar de disponer de herramientas y lenguajes de programacin diseadosexpresamente para el desarrollo de mquinas inteligentes, existe un enorme problema quelimita los resultados que se pueden obtener: estas mquinas se implementan sobrecomputadoras basadas en la filosofa de Von Neumann, y que se apoyan en unadescripcin secuencial del proceso de tratamiento de la informacin. Si bien el desarrollode estas computadoras es espectacular, no deja de seguir la lnea antes expuesta: unamquina que es capaz de realizar tareas mecnicas de forma increblemente rpida, como por ejemplo clculo, ordenacin o control, pero incapaz de obtener resultados aceptablescuando se trata de tareas como reconocimiento de formas, voz, etc.La otra lnea de la investigacin ha tratado de aplicar principios fsicos que rigen en lanaturaleza para obtener mquinas que realicen trabajos pesados en nuestro lugar. De igualmanera se puede pensar respecto a la forma y capacidad de razonamiento humano; se puede intentar obtener mquinas con esta capacidad basadas en el mismo principio defuncionamiento. No se trata de construir mquinas que compitan con los seres humanos, sino que realicenciertas tareas de rango intelectual con que ayudarle, principio bsico de la InteligenciaArtificial.Las primeras explicaciones tericas sobre el cerebro y el pensamiento ya fueron dadas ya por Platn (427-347 a.C.) y Aristteles (348-422 a.C.). Las mismas ideas tambin lasmantuvo Descartes (1569-1650) y los filsofos empiristas del siglo XVIII.La clase de las llamadas mquinas cibernticas, a la cual la computacin neuronal pertenece, tiene ms historia de la que se cree: Hern (100 a.C) construy un autmatahidrulico.1936 - Alan Turing. Fue el primero en estudiar el cerebro como una forma de ver elmundo de la computacin. Sin embargo, los primeros tericos que concibieron losfundamentos de la computacin neuronal fueron Warren McCulloch, un neurofisilogo, yWalter Pitts, un matemtico, quienes, en 1943, lanzaron una teora acerca de la forma detrabajar de las neuronas (Un Clculo Lgico de la Inminente Idea de la Actividad Nerviosa - Boletn de Matemtica Biofsica 5: 115-133). Ellos modelaron una redneuronal simple mediante circuitos elctricos.

    1949 - Donald Hebb. Escribi un importante libro: La organizacin delcomportamiento, en el que se establece una conexin entre psicologa y fisiologa. Fue el primero en explicar los procesos del aprendizaje (que es el elemento bsico de lainteligencia humana) desde un punto de vista psicolgico, desarrollando una regla decomo el aprendizaje ocurra. Aun hoy, este es el fundamento de la mayora de lasfunciones de aprendizaje que pueden hallarse en una red neuronal. Su idea fue que elaprendizaje ocurra cuando ciertos cambios en una neurona eran activados. Tambinintent encontrar semejanzas entre el aprendizaje y la actividad nerviosa. Los trabajos deHebb formaron las bases de la Teora de las Redes Neuronales.1950 - Karl Lashley. En sus series de ensayos, encontr que la informacin no eraalmacenada en forma centralizada en el cerebro sino que era distribuida encima de l.1956 - Congreso de Dartmouth. Este Congreso frecuentemente se menciona paraindicar el nacimiento de la inteligencia artificial.1957 - Frank Rosenblatt. Comenz el desarrollo del Perceptrn. Esta es la red neuronalms antigua; utilizndose hoy en da para aplicacin como reconocedor de patrones. Estemodelo era capaz de generalizar, es decir, despus de haber aprendido una serie de patrones poda reconocer otros similares, aunque no se le hubiesen presentadoanteriormente. Sin embargo, tena una serie de limitaciones, por ejemplo, su incapacidad para resolver el problema de la funcin OR-exclusiva y, en general, era incapaz declasificar clases no separables linealmente. En 1959, escribi el libro Principios de Neurodinmica, en el que confirm que, bajo ciertas condiciones, el aprendizaje delPerceptrn converga hacia un estado finito (Teorema de Convergencia del Perceptrn).1960 - Bernard Widrow/Marcial Hoff. Desarrollaron el modelo Adaline (ADAptativeLINear Elements). Esta fue la primera red neuronal aplicada a un problema real (filtros

  • 7/24/2019 logica difusa en sistemas expertos

    14/55

    adaptativos para eliminar ecos en las lneas telefnicas) que se ha utilizadocomercialmente durante varias dcadas.1961 - Karl Steinbeck: Die Lernmatrix. Red neuronal para simples realizacionestcnicas (memoria asociativa).1967 - Stephen Grossberg. A partir de sus conocimientos fisiolgicos, ha escritonumerosos libros y desarrollado modelo de redes neuronales. Realiz una red: Avalanchaque consista en elementos discretos con actividad que vara en el tiempo que satisfaceecuaciones diferenciales continuas, para resolver actividades como reconocimientocontino de habla y aprendizaje de los brazos de un robot.1969 - Marvin Minsky/Seymour Papert. En este ao surgieron crticas que frenaron,hasta 1982, el crecimiento que estaban experimentando las investigaciones sobre redesneuronales. Minsky y Papera, del Instituto Tecnolgico de Massachussets (MIT), publicaron un libro Perceptrons. Probaron (matemticamente) que el Perceptrn no eracapaz de resolver problemas relativamente fciles, tales como el aprendizaje de unafuncin no-lineal. Esto demostr que el Perceptrn era muy dbil, dado que las funcionesno-lineales son extensamente empleadas en computacin y en los problemas del mundoreal. A pesar del libro, algunos investigadores continuaron su trabajo. Tal fue el caso deJames Anderson, que desarroll un modelo lineal, llamado Asociador Lineal, queconsista en unos elementos integradores lineales (neuronas) que sumaban sus entradas.Este modelo se basa en el principio de que las conexiones entre neuronas son reforzadascada vez que son activadas. Anderson dise una potente extensin del Asociador Linealllamada Brain State in a Box (BSB).1974 - Paul Werbos. Desarroll la idea bsica del algoritmo de aprendizaje de propagacin hacia atrs (backpropagation); cuyo significado qued definitivamenteaclarado en 1985.1977 - Stephen Grossberg. Teora de Resonancia Adaptada (TRA). La Teora deResonancia Adaptada es una arquitectura de red que se diferencia de todas las dems previamente inventadas. La misma simula otras habilidades del cerebro: memoria a largoy corto plazo.1977 - Teuvo Kohonen. Ingeniero electrnico de la Universidad de Helsinki, desarroll

    un modelo similar al de Anderson, pero independientemente.1980 - Kunihiko Fukushima. Desarroll un modelo neuronal para el reconocimiento de patrones visuales..1985 - John Hopfield. Provoc el renacimiento de las redes neuronales con su libro:Computacin neuronal de decisiones en problemas de optimizacin.1986 - David Rumelhart/G. Hinton. Redescubrieron el algoritmo de aprendizaje de propagacin hacia atrs (backpropagation). A partir de 1986, el panorama fue alentadorcon respecto a las investigaciones y el desarrollo de las redes neuronales. En laactualidad, son numerosos los trabajos que se realizan y publican cada ao, lasaplicaciones nuevas que surgen (sobretodo en el rea de control) y las empresas quelanzan al mercado productos nuevos, tanto hardware como software (sobre todo parasimulacin).Actualmente, son numerosos los trabajos que se realizan y se publican, las aplicacionesnuevas que surgen y las empresas que lanzan al mercado productos nuevos, tantohardware como software, sobre todo para simulacin.

    1.6.3.2. Definiciones de una red neuronalExisten numerosas formas de definir a las redes neuronales; desde las definiciones cortasy genricas hasta las que intentan explicar ms detalladamente qu son las redesneuronales.Por ejemplo:

    1) Una nueva forma de computacin, inspirada en modelos biolgicos.2) Un modelo matemtico compuesto por un gran nmero de elementos procesales

    organizados en niveles.

  • 7/24/2019 logica difusa en sistemas expertos

    15/55

    3) Un sistema de computacin compuesto por un gran nmero de elementos simples,elementos de procesos muy interconectados, los cuales procesan informacin pormedio de su estado dinmico como respuesta a entradas externas.

    4) Redes neuronales artificiales son redes interconectadas masivamente en paralelode elementos simples (usualmente adaptativos) y con organizacin jerrquica, lascuales intentan interactuar con los objetos del mundo real del mismo modo que lohace el sistema nervioso biolgico.

    1.6.3.3. Ventajas que ofrecen las redes neuronalesDebido a su constitucin y a sus fundamentos, las redes neuronales artificiales presentanun gran nmero de caractersticas semejantes a las del cerebro. Por ejemplo, son capacesde aprender de la experiencia, de generalizar de casos anteriores a nuevos casos, deabstraer caractersticas esenciales a partir de entradas que representan informacinirrelevante, etc. Esto hace que ofrezcan numerosas ventajas y que este tipo de tecnologase est aplicando en mltiples reas. Entre las ventajas se incluyen:

    Aprendizaje Adaptativo: La capacidad de aprendizaje adaptativo es una de lascaractersticas ms atractivas de redes neuronales. Esto es, aprenden a llevar a cabociertas tareas mediante un entrenamiento con ejemplos ilustrativos. Como las redesneuronales pueden aprender a diferenciar patrones mediante ejemplos yentrenamientos, no es necesario elaborar modelos a priori ni necesidad de especificarfunciones de distribucin de probabilidad.Las redes neuronales son sistemas dinmicos autoadaptativos. Son adaptables debidoa la capacidad de autoajuste de los elementos procesales (neuronas) que componen elsistema. Son dinmicos, pues son capaces de estar constantemente cambiando paraadaptarse a las nuevas condiciones.En el proceso de aprendizaje, los enlaces ponderados de las neuronas se ajustan demanera que se obtengan ciertos resultados especficos. Una red neuronal no necesitaun algoritmo para resolver un problema, ya que ella puede generar su propiadistribucin de pesos en los enlaces mediante el aprendizaje. Tambin existen redesque continan aprendiendo a lo largo de su vida, despus de completado su perodo

    de entrenamiento.La funcin del diseador es nicamente la obtencin de la arquitectura apropiada. Noes problema del diseador el cmo la red aprender a discriminar. Sin embargo, s esnecesario que desarrolle un buen algoritmo de aprendizaje que le proporcione a la redla capacidad de discriminar, mediante un entrenamiento con patrones.

    Auto-organizacin: Las redes neuronales emplean su capacidad de aprendizajeadaptativo para auto organizar la informacin que reciben durante el aprendizaje y/ola operacin. Mientras que el aprendizaje es la modificacin de cada elemento procesal, la autoorganizacin consiste en la modificacin de la red neuronal completa para llevar a cabo un objetivo especfico.Cuando las redes neuronales se usan para reconocer ciertas clases de patrones, ellasauto organizan la informacin usada. Por ejemplo, la red llamada backpropagation,crear su propia representacin caracterstica, mediante la cual puede reconocerciertos patrones.Esta autoorganizacin provoca la generalizacin: facultad de las redes neuronales deresponder apropiadamente cuando se les presentan datos o situaciones a las que nohaba sido expuesta anteriormente. El sistema puede generalizar la entrada paraobtener una respuesta. Esta caracterstica es muy importante cuando se tiene quesolucionar problemas en los cuales la informacin de entrada no es muy clara;adems permite que el sistema d una solucin, incluso cuando la informacin deentrada est especificada de forma incompleta.

  • 7/24/2019 logica difusa en sistemas expertos

    16/55

    Tolerancia a fallos: Las redes neuronales fueron los primeros mtodoscomputacionales con la capacidad inherente de tolerancia a fallos. Comparados conlos sistemas computacionales tradicionales, los cuales pierden su funcionalidadcuando sufren un pequeo error de memoria, en las redes neuronales, si se produceun fallo en un nmero no muy grande de neuronas y aunque el comportamiento delsistema se ve influenciado, no sufre una cada repentina.Hay dos aspectos distintos respecto a la tolerancia a fallos:a) Las redes pueden aprender a reconocer patrones con ruido, distorsionados oincompletos. Esta es una tolerancia a fallos respecto a los datos. b) Las redes pueden seguir realizando su funcin (con cierta degradacin) aunque sedestruya parte de la red.La razn por la que las redes neuronales son tolerantes a los fallos es que tienen suinformacin distribuida en las conexiones entre neuronas, existiendo cierto grado deredundancia en este tipo de almacenamiento. La mayora de los ordenadoresalgortmicos y sistemas de recuperacin de datos almacenan cada pieza deinformacin en un espacio nico, localizado y direccionable. En cambio, las redesneuronales almacenan informacin no localizada. Por lo tanto, la mayora de lasinterconexiones entre los nodos de la red tendrn sus valores en funcin de losestmulos recibidos, y se generar un patrn de salida que represente la informacinalmacenada.

    Operacin en tiempo real: Una de las mayores prioridades, casi en la totalidad delas reas de aplicacin, es la necesidad de realizar procesos con datos de forma muyrpida. Las redes neuronales se adaptan bien a esto debido a su implementacin paralela. Para que la mayora de las redes puedan operar en un entorno de tiemporeal, la necesidad de cambio en los pesos de las conexiones o entrenamiento esmnima.

    Fcil insercin dentro de la tecnologa existente: Una red individual puede serentrenada para desarrollar una nica y bien definida tarea (tareas complejas, quehagan mltiples selecciones de patrones, requerirn sistemas de redes

    interconectadas). Con las herramientas computacionales existentes (no del tipo PC),una red puede ser rpidamente entrenada, comprobada, verificada y trasladada a unaimplementacin hardware de bajo coste. Por lo tanto, no se presentan dificultades para la insercin de redes neuronales en aplicaciones especficas, por ejemplo decontrol, dentro de los sistemas existentes. De esta manera, las redes neuronales se pueden utilizar para mejorar sistemas en forma incremental y cada paso puede serevaluado antes de acometer un desarrollo ms amplio.

    1.6.3.4. Redes neuronales y computadoras digitales.Para entender el potencial de la computacin neuronal, sera necesario hacer una brevedistincin entre sistemas de computaciones neuronales y digitales: los sistemasneurolgicos no aplican principios de circuitos lgicos o digitales.Un sistema de computacin digital debe ser sncrono o asncrono. Si fuera asncrono, laduracin de los impulsos neuronales debera ser variable para mantener uno de losvalores binarios por periodos de tiempo indefinido, lo cual no es el caso. Si el principiofuera sncrono, se necesitara un reloj global o maestro con el cual los pulsos estnsincronizados. ste tampoco es el caso. Las neuronas no pueden ser circuitos de umbrallgico, porque hay miles de entradas variables en la mayora de las neuronas y el umbrales variable con el tiempo, siendo afectado por la estimulacin, atenuacin, etc. La precisin y estabilidad de tales circuitos no es suficiente para definir ninguna funcin booleana. Los procesos colectivos que son importantes en computacin neuronal no pueden implementarse por computacin digital. Por todo ello, el cerebro debe ser uncomputador analgico.

  • 7/24/2019 logica difusa en sistemas expertos

    17/55

    Ni las neuronas ni las sinapsis son elementos dememoria biestable.Todos los hechosfisiolgicos hablan a favor de las acciones de las neuronas como integradores analgicosy la eficiencia de la sinapsis cambia de forma gradual, lo cual no es caracterstico desistemas biestables.Los circuitos del cerebro no implementancomputacin recursivay por lo tanto no sonalgortmicos.Debido a los problemas de estabilidad, los circuitos neuronales no sonsuficientemente estables para definiciones recursivas de funciones como en computacindigital. Un algoritmo, por definicin, define una funcin recursiva.

    1.6.3.5. Fundamentos de las Redes Neuronales El modelo Biolgico

    Se estima que el cerebro humano contiene ms de cien mil millones de neuronasestudios sobre la anatoma del cerebro humano concluyen que hay ms de 1000sinpsis a la entrada y a la salida de cada neurona. Es importante notar que aunque eltiempo de conmutacin de la neurona (unos pocos milisegundos) es casi un milln deveces menor que en los actuales elementos de las computadoras, ellas tienen unaconectividad miles de veces superior que las actuales supercomputadoras.Las neuronas y las conexiones entre ellas (sinpsis) constituyen la clave para el procesado de la informacin.Algunos elementos ha destacar de su estructura histolgica son:Las dendritas, que son la va de entrada de las seales que se combinan en el cuerpode la neurona. De alguna manera la neurona elabora una seal de salida a partir deellas.El axn, que es el camino de salida de la seal generada por la neurona.Las sinapsis, que son las unidades funcionales y estructurales elementales que medianentre las interacciones de las neuronas. En las terminaciones de las sinapsis seencuentran unas vesculas que contienen unas sustancias qumicas llamadasneurotransmisores, que ayudan a la propagacin de las seales electroqumicas deuna neurona a otra.

    Lo que bsicamente ocurre en una neurona biolgica es lo siguiente: la neurona esestimulada o excitada a travs de sus entradas (inputs) y cuando se alcanza un ciertoumbral, la neurona se dispara o activa, pasando una seal hacia elaxn.Posteriores investigaciones condujeron al descubrimiento de que estos procesos son elresultado de eventos electroqumicos. Como ya se sabe, el pensamiento tiene lugar en elcerebro, que consta de billones de neuronas interconectadas. As, el secreto de lainteligencia -sin importar como se defina- se sita dentro de estas neuronasinterconectadas y de su interaccin.La forma que dos neuronas interactan no est totalmente conocida, dependiendo ademsde cada neurona. En general, una neurona enva su salida a otras por su axn. El axnlleva la informacin por medio de diferencias de potencial, u ondas de corriente, quedepende del potencial de la neurona.Este proceso es a menudo modelado como una regla de propagacin representada por lafuncin de red u (.). La neurona recoge las seales por su sinpsis sumando todas lasinfluencias excitadoras e inhibidoras. Si las influencias excitadoras positivas dominan,entonces la neurona da una seal positiva y manda este mensaje a otras neuronas por sussinpsis de salida. En este sentido la neurona puede ser modelada como una simplefuncin escaln f (.). Como se muestra en la prxima figura, la neurona se activa si lafuerza combinada de la seal de entrada es superior a un cierto nivel, en el caso general elvalor de activacin de la neurona viene dado por una funcin de activacin f (.).

  • 7/24/2019 logica difusa en sistemas expertos

    18/55

    Fgura N 4: Funcin de Activacin

    1.6.3.6. Otras definiciones de Redes NeuronalesUna red neuronal es un procesador masivamente paralelo distribuido que es propenso pornaturaleza a almacenar conocimiento experimental y hacerlo disponible para su uso. Estemecanismo se parece al cerebro en dos aspectos [SH1]:

    El conocimiento es adquirido por la red a travs de un proceso que se denominaaprendizaje.

    El conocimiento se almacena mediante la modificacin de la fuerza o pesosinptico de las distintas uniones entre neuronas.

    Una red neuronal es unmodelo computacional con un conjunto de propiedadesespecficas, como son la habilidad de adaptarse o aprender, generalizar u organizar lainformacin, todo ello basado en un procesamiento eminentemente paralelo.

    1.6.3.7. Elementos de una Red Neuronal ArtificialLas redes neuronales son modelos que intentan reproducir el comportamiento del cerebroLos mismos constan de dispositivos elementales de proceso:

    Las neuronas. A partir de ellas, se pueden generar representaciones especficas,de tal forma que un estado conjunto de ellas puede significar una letra, un nmerou otro objeto. Generalmente se pueden encontrar tres tipos de neuronas:

    1) Aquellas que reciben estmulos externos relacionados con el aparatosensorial, que tomarn la informacin de entrada. Dicha informacin setransmite a ciertos elementos internos que se ocupan de su procesamiento.

    2) Es en las sinapsisy neuronas correspondientes a este segundo nivel dondese genera cualquier tipo de representacin interna de informacin. Comono tienen relacin directa con la informacin de entrada ni con la salida,estos elementos se denominanunidades ocultas.

    3) Una vez finalizado el perodo de procesado, la informacin llega a lasunidades de salida, cuya misin es dar la respuesta al sistema.

    A continuacin se puede ver en la siguiente figura.La misma est constituida por neuronas interconectadas y arregladas en tres capas (estoltimo puede variar). Los datos ingresan por medio de la capa de entrada, pasan atravs de la capa oculta y salen por la capa de salida. Cabe mencionar que la capaoculta puede estar constituida por varias capas.En la siguiente figura se compara una neurona biolgica con una neurona artificial. En lamisma se pueden observar las similitudes entre ambas (tienen entradas, utilizan pesos ygeneran salidas).La neurona artificial pretende mimetizar las caractersticas ms importantes de lasneuronas biolgicas. Cada neurona i-sima est caracterizada en cualquier instante por unvalor numrico denominado valor o estado de activacin)(t a i ; asociado a cada unidad,

    existe una funcin de salida,i f , que transforma el estado actual de activacin en unaseal de salida. Dicha seal es enviada a travs de los canales de comunicacin

  • 7/24/2019 logica difusa en sistemas expertos

    19/55

    unidireccionales a otras unidades de la red; estos canales la seal se modifica de acuerdocon la sinpsis (el peso, jiw ) asociada a cada uno de ellos segn determinada regla. Lasseales moduladas que han llegado a la unidad j-sima se combinan ji

    ii j w y Net entre

    ellas, generando as la entrada total j Net .

    Una funcin de activacin, F, determina el nuevo estado de activacin )1( t a j de la

    neurona, teniendo en cuenta la entrada total calculada y el anterior estado de activacin)(t a j .La dinmica que rige la actualizacin de los estados de las unidades puede ser de dostipos: asncrono y modo sncrono. En el primer caso, las neuronas evalan su estadocontinuamente segn les va llegando informacin, y lo hacen de forma independiente, Enel segundo caso, la informacin llega de forma continua, pero los cambios se realizansimultneamente, como si existiera un reloj interno que decidiera cuando cambiar suestado. Los sistemas biolgicos quedan probablemente entre ambas posibilidades.

    1.6.3.8. Aplicaciones.

    Las caractersticas de las RNA las hacen bastante apropiadas para aplicaciones en las queno se dispone a priori de un modelo identificable que pueda ser programado, pero sedispone de un conjunto bsico de ejemplos de entrada (previamente clasificados o no).Asimismo, son altamente robustas tanto al ruido como a la disfuncin de elementosconcretos y son fcilmente paralelizables.Esto incluye problemas de clasificacin y reconocimiento de patrones de voz, imgenes,seales, etc. Asimismo se han utilizado para encontrar patrones de fraude econmico,hacer predicciones en el mercado financiero, hacer predicciones de tiempo atmosfricoetc.Tambin se pueden utilizar cuando no existen modelos matemticos precisos oalgoritmos con complejidad razonable; por ejemplo la red de Kohonen ha sido aplicada

    con un xito ms que razonable al clsico problema del viajante (un problema para el queno se conoce solucin algortmica de complejidad polinmica).Otro tipo especial de redes neuronales artificiales se ha aplicado en conjuncin con losalgoritmos genticos (AG) para crear controladores para robots. La disciplina que trata laevolucin de redes neuronales mediante algoritmos genticos se denomina RobticaEvolutiva. En este tipo de aplicacin el genoma del AG lo constituyen los parmetros dela red (topologa, algoritmo de aprendizaje, funciones de activacin, etc.) y la adecuacinde la red viene dada por la adecuacin del comportamiento exhibido por el robotcontrolado (normalmente una simulacin de dicho comportamiento).Ejemplos

    Quake II NeuralbotUn bot es un programa que simula a un jugador humano. El Neuralbotes un bot para el juego Quake II que utiliza una red neuronal para decidir su comportamiento y unalgoritmo gentico para el aprendizaje. Es muy fcil probarlo y ver su evolucin.Clasificador No Sesgado de ProtenasEs un programa que combina diversas tcnicas computacionales con el objetivo declasificar familias de protenas. Un posible mtodo consiste en utilizar mtricasadaptativas como por ejemplo: mapas autoorganizados y algoritmos genticos.El problema de clasificacin no sesgada basada en la expresin de las protenas enAminocidos puede reducirse, conceptualmente, a lo siguiente:

    La identificacin de grupos de protenas que compartan caractersticas comunes. La determinacin de las razones estructurales por las cuales las protenas en

    cuestin se agrupan de la manera indicada.

    http://es.wikipedia.org/w/index.php?title=Neuralbot&action=edithttp://es.wikipedia.org/w/index.php?title=Neuralbot&action=edit
  • 7/24/2019 logica difusa en sistemas expertos

    20/55

    Evitar la idea de establecer criterios de clasificacin (sesgados) fundamentadosen ideas preconcebidas para lograr su clasificacin. En este sentido, hay dosasuntos que considerar:

    1) Cmo lograr la caracterizacin de las protenas de manera no sesgada2) Cmo lograr lo anterior sin apelar a medidas de agrupamiento que, a su

    vez, impliquen algn tipo de sesgo sobre dicho agrupamiento.

    Las RNA han sido aplicadas a un nmero en aumento de problemas en la vida real y deconsiderable complejidad, donde su mayor ventaja es en la solucin de problemas queson bastante complejos para la tecnologa actual, tratndose de problemas que no tienenuna solucin algortmica cuya solucin algortmica es demasiado compleja para serencontrada.En general, debido a que son parecidas al las del cerebro humano, las RNA son biennombradas ya que son buenas para resolver problemas que el humano puede resolver pero las computadoras no. Estos problemas incluyen el reconocimiento de patrones y la prediccin del tiempo. De cualquier forma, el humano tiene capacidad para elreconocimiento de patrones, pero la capacidad de las redes neuronales no se ve afectada por la fatiga, condiciones de trabajo, estado emocional, y compensaciones.Se conocen cinco aplicaciones tecnolgicas aplicadas:

    Reconocimiento de textos manuscritos Reconocimiento del habla Simulacin de centrales de produccin de energa Deteccin de explosivos Identificacin de blancos de radares

    1.6.4. Los Algoritmos genticos.1.6.4.1. Antecedentes

    El algoritmo gentico es una tcnica de bsqueda basada en la teora de la evolucin deDarwin, que ha cobrado tremenda popularidad en todo el mundo durante los ltimos aosSe presentarn aqu los conceptos bsicos que se requieren para abordarla, as como unos

    sencillos ejemplos que permitan a los lectores comprender cmo aplicarla al problema desu eleccin.En los ltimos aos, la comunidad cientfica internacional ha mostrado un crecienteinters en una nueva tcnica de bsqueda basada en la teora de la evolucin y que seconoce como elalgoritmo gentico. Esta tcnica se basa en los mecanismos de seleccinque utiliza la naturaleza, de acuerdo a los cuales los individuos ms aptos de una poblacin son los que sobreviven, al adaptarse ms fcilmente a los cambios que se producen en su entorno. Hoy en da se sabe que estos cambios se efectan en los genes deun individuo (unidad bsica de codificacin de cada uno de los atributos de un ser vivo),y que sus atributos ms deseables (i.e., los que le permiten adaptarse mejor a su entorno)se transmiten a sus descendientes cuando ste se reproduce sexualmente.Un investigador de la Universidad de Michigan llamado John Holland era consciente dela importancia de la seleccin natural, y a fines de los 60s desarroll una tcnica que permiti incorporarla a un programa. Su objetivo era lograr que las computadorasaprendieran por s mismas. A la tcnica que invent Holland se le llam originalmente"planes reproductivos", pero se hizo popular bajo el nombre "algoritmo gentico" tras la publicacin de su libro en 1975.Una definicin bastante completa de un algoritmo gentico es la propuesta por JohnKoza:"Es un algoritmo matemtico altamente paralelo que transforma un conjunto de objetosmatemticos individuales con respecto al tiempo usando operaciones modeladas deacuerdo al principio Darwiniano de reproduccin y supervivencia del ms apto, y trashaberse presentado de forma natural una serie de operaciones genticas de entre las quedestaca la recombinacin sexual. Cada uno de estos objetos matemticos suele ser una

  • 7/24/2019 logica difusa en sistemas expertos

    21/55

    cadena de caracteres (letras o nmeros) de longitud fija que se ajusta al modelo de lascadenas de cromosomas, y se les asocia con una cierta funcin matemtica que refleja suaptitud.

    1.6.4.2. Definiciones Los Algoritmos Genticos (AGs) son mtodos adaptativos que pueden usarse para

    resolver problemas de bsqueda y optimizacin. Estn basados en el proceso genticode los organismos vivos. A lo largo de las generaciones, las poblaciones evolucionanen la naturaleza de acorde con los principios de la seleccin natural y la supervivenciade los ms fuertes, postulados por Darwin. Por imitacin de este proceso, losAlgoritmos Genticos son capaces de ir creando soluciones para problemas del mundoreal. La evolucin de dichas soluciones hacia valores ptimos del problema dependeen buena medida de una adecuada codificacin de las mismas.

    Un algoritmo gentico consiste en una funcin matemtica o una rutina de softwareque toma como entradas a los ejemplares y retorna como salidas cuales de ellos debengenerar descendencia para la nueva generacin.

    Versiones ms complejas de algoritmos genticos generan un ciclo iterativo quedirectamente toma a la especie (el total de los ejemplares) y crea una nuevageneracin que reemplaza a la antigua una cantidad de veces determinada por su propio diseo. Una de sus caractersticas principales es la de ir perfeccionando su propia heurstica en el proceso de ejecucin, por lo que no requiere largos perodos deentrenamiento especializado por parte del ser humano, principal defecto de otrosmtodos para solucionar problemas, como los Sistemas Expertos.

    Los algoritmos genticos son el resultado de los recientes avances de la computacinevolutiva y la gentica y se constituyen en una de las principales herramientastecnolgicas de la inteligencia artificial.Estos algoritmos simulan la mecnica de la seleccin natural y de la genticautilizando la informacin histrica para encontrar nuevos puntos de bsqueda de unasolucin ptima, permitiendo obtener soluciones a un problema que por sucomplejidad no tiene ningn mtodo de solucin de forma preciso. Dicha solucin

    exige clculos complejos que de manera normal tomaran demasiado tiempo.1.6.4.3. Ventajas y Desventajas

    No necesitan conocimientos especficos sobre el problema que intentan resolver. Operan de forma simultnea con varias soluciones, en vez de trabajar de forma

    secuencial como las tcnicas tradicionales. Cuando se usan para problemas de optimizacin maximizar una funcin objetivo-

    resultan menos afectados por los mximos locales (falsas soluciones) que lastcnicas tradicionales.

    Resulta sumamente fcil ejecutarlos en las modernas arquitecturas masivamente paralelas.

    Usan operadores probabilsticas, en vez de los tpicos operadores determinsticosde las otras tcnicas. Pueden tardar mucho en converger, o no converger en absoluto, dependiendo en

    cierta medida de los parmetros que se utilicen tamao de la poblacin, nmerode generaciones, etc.-.

    Pueden converger prematuramente debido a una serie de problemas de diversandole.

    1.6.4.4. LimitacionesEl poder de los Algoritmos Genticos proviene del hecho de que se trata de una tcnicarobusta, y pueden tratar con xito una gran variedad de problemas provenientes dediferentes reas, incluyendo aquellos en los que otros mtodos encuentran dificultades. S bien no se garantiza que el Algoritmo Gentico encuentre la solucin ptima, del

  • 7/24/2019 logica difusa en sistemas expertos

    22/55

    problema, existe evidencia emprica de que se encuentran soluciones de un nivelaceptable, en un tiempo competitivo con el resto de algoritmos de optimizacincombinatoria. En el caso de que existan tcnicas especializadas para resolver undeterminado problema, lo ms probable es que superen al Algoritmo Gentico, tanto enrapidez como en eficacia. El gran campo de aplicacin de los Algoritmos Genticos serelaciona con aquellos problemas para los cuales no existen tcnicas especializadas.Incluso en el caso en que dichas tcnicas existan, y funcionen bien, pueden efectuarsemejoras de las mismas hibridndolas con los Algoritmos Genticos.

    1.6.4.5. Como saber si es posible usar un Algoritmo GenticoLa aplicacin ms comn de los algoritmos genticos ha sido la solucin de problemas deoptimizacin, en donde han mostrado ser muy eficientes y confiables. Sin embargo, notodos los problemas pudieran ser apropiados para la tcnica, y se recomienda en generaltomar en cuenta las siguientes caractersticas del mismo antes de intentar usarla:

    Su espacio de bsqueda (i.e., sus posibles soluciones) debe estar delimitadodentro de un cierto rango.

    Debe poderse definir una funcin de aptitud que nos indique qu tan buena o malaes una cierta respuesta.

    Las soluciones deben codificarse de una forma que resulte relativamente fcil deimplementar en la computadora.

    El primer punto es muy importante, y lo ms recomendable es intentar resolver problemas que tengan espacios de bsqueda discretos aunque stos sean muy grandes.Sin embargo, tambin podr intentarse usar la tcnica con espacios de bsquedacontinuos, pero preferentemente cuando exista un rango de soluciones relativamente pequeo.La funcin de aptitud no es ms que la funcin objetiva de nuestro problema deoptimizacin. El algoritmo gentico nicamente maximiza, pero la minimizacin puederealizarse fcilmente utilizando el recproco de la funcin maximizante (debe cuidarse por supuesto, que el recproco de la funcin no genere una divisin por cero). Unacaracterstica que debe tener esta funcin es que tiene ser capaz de "castigar" a las malas

    soluciones, y de "premiar" a las buenas, de forma que sean estas ltimas las que se propaguen con mayor rapidez.La codificacin ms comn de las soluciones es a travs de cadenas binarias, aunque sehan utilizado tambin nmeros reales y letras. El primero de estos esquemas ha gozado demucha popularidad debido a que es el que propuso originalmente Holland, y adems porque resulta muy sencillo de implementar.

    1.6.4.6. Marco de DesarrolloAntes de continuar ahondando en la tcnica de los Algoritmos Genticos sera interesantedejarla situada dentro de un marco ms amplio. Nos referimos a la rama de la InteligenciaArtificial que se ha denominado Computacin Evolutiva.El trmino Computacin Evolutiva se refiere al estudio de los fundamentos yaplicaciones de ciertas tcnicas heursticas de bsqueda basadas en los principiosnaturales de la evolucin. Una gran variedad de algoritmos evolutivos han sido propuestos pero principalmente pueden clasificarse en: Algoritmos Genticos,Programacin Evolutiva, Estrategias Evolutivas, Sistemas Clasificadores y ProgramacinGentica. Esta clasificacin se basa sobre todo en detalles de desarrollo histrico ms queen el hecho de un funcionamiento realmente diferente, de hecho las bases biolgicas enlas que se apoyan son esencialmente las mismas. Las diferencias entre ellos se centran enlos operadores que se usan en cada caso y en general en la forma de implementar laseleccin, reproduccin y sustitucin de individuos en una poblacin.Aunque los detalles de la evolucin no han sido completamente comprendidos, inclusohoy en da, existen algunos puntos en los que se fundamentan:

  • 7/24/2019 logica difusa en sistemas expertos

    23/55

    La evolucin es un proceso que opera a nivel de cromosomas, y no a nivel deindividuos. Cada individuo es codificado como un conjunto de cromosomas.

    La seleccin natural es el mecanismo mediante el cual los individuos mejoradaptados son los que tienen mayores posibilidades de reproducirse.

    El proceso evolutivo tiene lugar en la etapa de la reproduccin. Es en esta etapadonde se producen la mutacin, que es la causante de que los cromosomas de loshijos puedan ser diferentes a los de los padres, y el cruce, que combina loscromosomas de los padres para que los hijos tengan cromosomas diferentes.

    De forma breve, pasamos a comentar cada una de los algoritmos mencionadosanteriormente, para que pueda tener una idea de las similitudes y diferencias entre ellos.

    Los Algoritmos Genticos resuelven los problemas generando poblacionessucesivas a las que se aplican los operadores de mutacin y cruce. Cada individuorepresenta una solucin al problema, y se trata de encontrar al individuo querepresente a la mejor solucin.

    La Programacin Gentica funciona igual que la tcnica anterior pero se centraen el estudio de problemas cuya solucin es un programa. De manera que losindividuos de la poblacin son programas que se acercan ms o menos a realizaruna tarea que es la solucin.

    La Programacin Evolutivaes otro enfoque de los algoritmos genticos, en estecaso el estudio se centra en conseguir operadores genticos que imiten lo mejor posible a la naturaleza, en cada caso, ms que en la relacin de los padres con sudescendencia. En este caso no se utiliza el operador de cruce, tomando la mximaimportancia el operador de mutacin.

    Estrategias Evolutivas se centran en el estudio de problemas de optimizacin eincluyen una visin del aprendizaje en dos niveles: a nivel de genotipo, y a nivelde fenotipo. Y por ltimo los Sistemas Clasificadores engloban el estudio de problemas en los que la solucin buscada se corresponde con toda una poblacin.

    Para finalizar se muestra un esquema en el que se sitan las tcnicas mencionadas conrespecto a otros procedimientos de bsqueda conocidos.

    1.6.4.7. AplicacionesComo hemos podido observar, el rea de aplicacin de los AG es muy amplia, y engeneral sus aplicaciones se pueden implementar a muchos de los problemas de la vidacotidiana, de igual forma, se hayan aplicado a diversos problemas y modelos eningeniara, y en la ciencia en general cabe destacar entre ellos:Las principales aplicaciones de los algoritmos genticos en el campo de la gestinfinanciera empresarial son:

    La prediccin de la bancarrota de una empresa. Evaluacin y prediccin de la capacidad financiera de una empresa para absorber

    un prstamo y con el fin de decidir el otorgamiento del mismo, la inferencia dereglas que indiquen las mejores decisiones sobre la asignacin de recursos con base en informacin histrica de varios aos.

    Generalmente, los algoritmos genticos se emplean con bastante xito en la investigacinde operaciones para resolver problemas de optimizacin numrica y combinatoria.

    1.6.4.8. Ciclo general de un algoritmo gentico estndarEl AG estndar se puede expresar en pseudocdigo con el siguiente ciclo:

    1. Generar aleatoriamente la poblacin inicial de individuos P (0).2. Mientras ( numero _ generaciones

  • 7/24/2019 logica difusa en sistemas expertos

    24/55

    Reproduccin;Generacin ++;

    }3. Mostrar resultados.4. Fin de la generacin.

    1.6.4.9. Funcin de evaluacin y seleccinLa funcin de evaluacin define el criterio para ordenar las hiptesis que potencialmente pueden pasar a formar parte de la siguiente generacin.La seleccin de las hiptesis que formarn parte de la siguiente generacin o que sernusadas para aplicarles los operadores genticos, puede realizarse de varias formas. Lasms usuales son:

    Seleccin proporcional. En este mtodo la probabilidad de que una hiptesis seaseleccionada viene determinada por:

    Seleccin mediante tor neo. Se eligen dos hiptesis al azar. Seleccin por rango. La probabilidad de que una hiptesis sea seleccionada ser proporcional a su posicin en dicha lista ordenada, en lugar de usar el valor devuelto por la funcin de evaluacin.

    1.6.4.10. Clases de algoritmos genticos Algoritmos Genticos Generacionales. Algoritmos Genticos de estado Fijo. Algoritmos Genticos Paralelos. Modelos de Islas. Modelo Celular

    1.6.4.11. Operadores genticos Los dos operadores ms comunes son la mutacin y el cruce. Adems existen varios tipos de cruce:

    Cruce Simple

    Cruce Doble

    Mutacin. Generalmente se aplica despus de hacer uso del operador cruce. Suobjetivo es producir diversidad en la poblacin.

  • 7/24/2019 logica difusa en sistemas expertos

    25/55

    1.6.5. Razonamiento basado en Casos.1.6.5.1. Concepto

    Se ocupa del estudio de los mecanismos mentales necesarios para repetir lo que se hahecho o vivido con anterioridad, ya sea por experiencia propia o por casos concretosrecopilados en la bibliografa o en la sabidura popular. Los diversos casos son del tipo"Si X, entonces Y" con algunas adaptaciones y crticas segn las experiencias previasen el resultado de cada una de dichas reglas.

    RBC es razonar por recuerdo RBC resuelve problemas nuevos adaptando soluciones que se han usado en la

    solucin de problemas viejos RBC es una nueva aproximacin a la resolucin de problemas y el aprendizaje RBC es una forma con que las personas resolvemos problemas usando casos a la vez

    que una manera para construir mquinas que los usen.

    1.6.5.2. Ventajas: Tcnica de adquisicin de conocimientos. Tcnica de resolucin de problemas. Dominios de difcil estructuracin.

    1.6.5.3. Inconvenientes Memoria Manipulacin de la incertidumbre.

    1.6.5.4. Etapas Recuperacin Adaptacin Evaluacin Aprendizaje

    1.6.5.5. El ciclo del razonamiento basado en casos

    Un ciclo de vida CBR est formado esencialmente por los cuatro procesos siguientes (verfigura):Recuperar el caso casos pasados ms similares (RETRIEVE). Esto es, retomar

    1. La experiencia de un problema anterior que se cree es similar al nuevo.2. Reutilizar la informacin y conocimiento de este caso casos recuperados para

    resolver el nuevo problema (REUSE). Esto es, copiar o integrar la solucin delcaso casos recuperados.

    3. Revisar la solucin propuesta (REVISE).4. Guardar la nueva solucin una vez ha sido confirmada validada (RETAIN). Se

    guardan aquellas partes de la experiencia de una manera tal que sea til pararesolver problemas futuros.

    Es decir, un problema nuevo se resuelve recuperando uno o ms casos previos (yaexperimentados), reutilizando el caso de una manera u otra, revisando la solucin propuesta, y guardando la nueva experiencia incorporndola a la base de conocimientoexistente (base de casos).A este respecto hay que hacer varias aclaraciones:

    Los cuatro procesos no son tareas nicas, es decir, cada uno de ellos implica llevar acabo una serie de tareas ms especficas

    Si bien se ha dado a entender que en el proceso de reutilizacin se lleva a cabo toda la problemtica de adaptacin del caso casos recuperados para el nuevo problema, enmuchas aplicaciones prcticas las fases de reutilizacin y revisin apenas sedistinguen, y muchos investigados hablan de fase de adaptacin, que combina ambas.

  • 7/24/2019 logica difusa en sistemas expertos

    26/55

    No obstante, la adaptacin es quiz uno de los frentes ms abiertos en los sistemasCBR debido a su complejidad.

    En la figura podemos observar lo comentado sobre el ciclo CBR. Una descripcin de un problema define un nuevo caso, que se usa en la RECUPERACIN de un caso de entrela coleccin de casos pasados. El caso recuperado se combina con el nuevo caso para, atravs de la REUTILIZACIN, proponer un caso que sea una solucin al problemainicial. En una fase de EVALUACIN se verificar el xito de la solucin, por ejemplosiendo comprobada en el mundo real (habitualmente por un agente humano), y sereparar si falla. Durante el ALMACENAMIENTO, la experiencia til se guarda parauna futura reutilizacin, y el caso base se actualiza por un nuevo caso aprendido, o poruna modificacin de algunos casos existentes.Adems, la figura nos muestra cmo el conocimiento general juega un papel importanteen el ciclo, dando soporte a los procesos CBR. Dependiendo del tipo de mtodo CBR,este soporte puede variar, desde una consideracin dbil ( nula) a un soporte muy fuerteSe trata, por tanto, de un conocimiento general, frente al conocimiento especficoencerrado en los casos. Por ejemplo, en el diagnstico mdico por analoga con casos de pacientes previos, el conocimiento general podra consistir en un modelo de anatoma junto con relaciones causales entre estados patolgicos, formulados quiz a modo de unconjunto de reglas.

    1.7 REAS DE LA IA

    Las definiciones anteriores implican que las mquinas para ser consideradas inteligentes deben exhibciertas habilidades, suficientemente complejas como para ser tratadas como reas independientes. Lforma de abordaje de cada una de estas reas suele ser tan dismil, que es difcil reconocerles un origecomn.

    1.7.1. Procesamiento del lenguaje natural.Una de las ramas ms importantes de la Inteligencia Artificial es aquella orientada a facilitar lcomunicacin hombre-computadora por medio del lenguaje humano, o lenguaje natural.

    El Procesamiento del Lenguaje Natural(PLN) es la disciplina encargada de producir sistemasinformticos que posibiliten dicha comunicacin, por medio de la voz o del texto. Se trata de undisciplina tan antigua como el uso de las computadoras (aos 50), de gran profundidad, y conaplicaciones tan importantes como la traduccin automtica o la bsqueda de informacin enInternet.

    El procesamiento del lenguaje natural presenta mltiples aplicaciones: Correccin de textos: Permite la deteccin y correccin de errores ortogrficos y

    gramaticales, Para detectar este tipo de errores, la computadora necesita entender encierto grado el sentido del texto. Los correctores de gramtica detectan las estructurasincorrectas en las oraciones aunque todas las palabras en la oracin estn bien escritas enel lenguaje en cuestin. El problema de detectar los errores de este tipo es complejodebido a la existencia de gran variedad de estructuras permitidas.Para describir las estructuras de las oraciones en el idioma, se usan las llamadasgramticas formales, o sea conjuntos de reglas de combinacin de palabras y su ordenrelativo en las oraciones.

    La traduccin automtica: Se refiere a la traduccin correcta de un lenguaje a otro,tomando en cuenta lo que se quiere expresar en cada oracin.

    En el campo de la recuperacin de la informacin han desarrollado sistemas que permiten obtener informacin sobre estadsticas deportivas, informacin turstica,geografa etc. En lugar de buscar los documentos para encontrar en ellos la respuesta a su pregunta, el usuario podra hacer su pregunta a la computadora: Cmo se llama el

  • 7/24/2019 logica difusa en sistemas expertos

    27/55

    Presidente de Francia?, Cules son los centros ms avanzados en Procesamiento delLenguaje Natural?, y otras.

    Por otra parte Se han desarrollado sistemas con lacapacidad de crear resmenes dedocumentos a partir de los datos suministrados. Estos sistemas son capaces de realizarun anlisis detallado del contenido del texto y elaborar un resumen.

    Tambin se han desarrolladosistemas inteligentes que permiten modelar elcomportamiento del estudiante, reconocer y procesar sus errores, desarrollar habilidades en la resolucin de problemas y otras actividades del proceso enseanza yaprendizaje. En ellos el Procesamiento del Lenguaje Natural juega un papel de relevanteimportancia en la creacin y desarrollo de interfaces amigables.

    1.7.2. Visin Artificial.La visin artificial (machine vision) es la adquisicin automtica de imgenes sin contacto y suanlisis tambin automtico con el fin de extraer la informacin necesaria para controlar un proceso o una actividad como:

    Control de calidad. Ordenacin por calidades ( grading ). Manipulacin de materiales. Test y calibracin de aparatos. Monitorizacin de procesos.

    El propsito de la visin artificial es programar un computador para que "entienda" una escenao las caractersticas de una imagen.

    Los objetivos tpicos de la visin artificial incluyen: La deteccin, segmentacin, localizacin y reconocimiento de ciertos objetos en

    imgenes (por ejemplo, caras humanas). La evaluacin de los resultados (ej.: segmentacin, registro).

    Registro de diferentes imgenes de una misma escena u objeto, i.e., hacer concordar unmismo objeto en diversas imgenes. Seguimiento de un objeto en una secuencia de imgenes. Mapeo de una escena para generar un modelo tridimensional de la escena; tal modelo podra ser usado por un robot para navegar por la escena.

    Estimacin de las posturas tridimensionales de humanos. Bsqueda de imgenes digitales por su contenido. Estos objetivos se consiguen por medio de reconocimiento de patrones, aprendizaje

    estadstico, geometra de proyeccin, procesado de imgenes, teora de grficosy otroscampos. La visin artificial cognitivaest muy relacionada con la psicologa cognitiva yla computacin biolgica.

    1.7.3. Robtica.Es la ciencia encaminada a disear y construir aparatos y sistemas capaces de realizar tareas propias de un ser humano. No es un campo propio de la Inteligencia Artificial pero es quiz todun conjunto de circuito c