Antologia de IA
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Antologia de IA

  • 3,225 views
Uploaded on

Es una antología realizada por una de mis compañeras del instituto.. espero les sirva!

Es una antología realizada por una de mis compañeras del instituto.. espero les sirva!

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to like this
No Downloads

Views

Total Views
3,225
On Slideshare
3,225
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
145
Comments
1
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. LIC. INFORMATICA ANTOLOGIA DE LA MATERIA TECNICAS INTELIGENCIA ARTIFICIAL Y SISTEMAS MULTIAGENTES NANCY MACIAS CHAVARRIA MC. HECTOR DE JESUS CARLOS PEREZ SEMESTRE: AGOSTO-DICIEMBRE 2009
  • 2. INDICE INDICE ........................................................................................................................................... 2 UNIDAD 1 INTRODUCCION A LA INTELIGENCIA ARTIFICIAL ............................................................. 6 1.1 QUE ES INTELIGENCIA ARTIFICIAL (IA)? ........................................................................... 6 1.2 LOS FUNDAMENTOS DE LA IA ......................................................................................... 6 1.3 HISTORIA DE LA IA .......................................................................................................... 7 1.4 EL ESTADO DEL ARTE DE LA IA (LOS ULTIMOS AVANCES) ...................................................... 9 UNIDAD 2 ALGORITMOS GENETICOS ............................................................................................ 11 2.1 INTRODUCCIÓN .............................................................................................................. 11 2.2. DEFINICIÓN ................................................................................................................... 11 2.2 TEOREMA DEL ESQUEMA ............................................................................................... 12 2.3 APLICACIONES DE LOS ALGORITMOS GENETICOS............................................................ 13 UNIDAD 3 REDES NEURONALES.................................................................................................... 14 3.1 INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES ...................................................... 14 3.2 FUNDAMENTOS DE LAS REDES NEURONALES ................................................................. 14 3.3 APRENDIZAJE.................................................................................................................. 15 3.3.1 APRENDIZAJE ADAPTATIVO.......................................................................................... 15 3.3.2 AUTO-ORGANIZACIÓN ................................................................................................. 16 3.3.3 TOLERANCIA A FALLOS................................................................................................. 16 3.3.4 OPERACIÓN EN TIEMPO REAL ...................................................................................... 17 3.4 ESTRUCTURA DE UNA RED NEURONAL ........................................................................... 17 3.5 UNIDADES DE PROCESO: LA NEURONA ARTIFICIAL ......................................................... 20 3.5.1 FUNCIÓN DE SALIDA O TRANSFERENCIA ...................................................................... 21 3.5.1.1 NEURONA DE FUNCIÓN ESCALÓN ............................................................................. 21 3.5.1.2 NEURONA DE FUNCIÓN LINEAL O MIXTA .................................................................. 22 2
  • 3. 3.5.1.3 NEURONA DE FUNCIÓN CONTINUA (SIGMOIDAL) ..................................................... 23 3.5.1.4 FUNCIÓN DE TRANSFERENCIA GAUSSIANA ............................................................... 24 3.5.2 CONEXIONES ENTRE NEURONAS .................................................................................. 24 3.5.2.1 FUNCIÓN O REGLA DE ACTIVACIÓN .......................................................................... 25 3.5 MODELO DE OPERACIÓN ................................................................................................ 26 3.6 PERCEPTRON .................................................................................................................. 26 3.6.1 ARQUITECTURA ........................................................................................................... 26 3.7 REDES NEURONALES (BACKPROPAGATION, RETROPROPAGATION)................................. 27 UNIDAD 4 LOGICA FUZZY ............................................................................................................. 28 4.1 INTRODUCCION .............................................................................................................. 28 4.2 CONCEPTOS BASICOS ..................................................................................................... 28 4.3 REGLAS FUZZY IF-THEN ................................................................................................... 29 4.4 ESTRUCTURA BASICA DE UN MODELO BASADO EN LOGICA FUZZY .................................. 32 4.5 APLICACIONES DE MODELOS BASADOS EN LOGICA FUZZY .............................................. 35 4.5.1 APLICACIONES DE LA LÓGICA BORROSA .............................................................................. 36 4.5.1.1 INTRODUCCIÓN AL CONTROL BORROSO ................................................................... 37 4.5.1.2 REGLAS DE CONTROL BORROSO ............................................................................... 37 4.5.2 VENTAJAS E INCONVENIENTES ..................................................................................... 38 UNIDAD 5 CONSTRUCCION DE AGENTES INTELIGENTES Y SISTEMAS MULTIAGENTES ................... 39 5.1 AGENTES INTELIGENTES ..................................................................................................... 39 5.1.1 CONCEPTOS BASICOS................................................................................................... 39 5.1.2 ARQUITECTURA DE UN AGENTE COGNITIVO ................................................................ 40 5.2 SISTEMAS MULTI AGENTE................................................................................................... 42 5.2.1 PLANEACIÓN ................................................................................................................... 42 5.2.1.1 PLANEACIÓN PARA MÚLTIPLES AGENTES .................................................................. 43 5.2.1.2 REPARTICIÓN DE TAREAS .......................................................................................... 43 5.2.1.3 COMPARTIR RESULTADOS ............................................................................................ 44 5.3 PLANEACIÓN DISTRIBUIDA ................................................................................................. 44 5.3.1 PLANEACIÓN CENTRALIZADA PARA PLANES DISTRIBUIDOS .............................................. 45 5.3.2 PLANEACIÓN DISTRIBUIDA PARA PLANES CENTRALIZADOS .............................................. 45 5.3.3 PLANEACIÓN DISTRIBUIDA PARA PLANES DISTRIBUIDOS ................................................. 45 3
  • 4. UNIDAD 6 SISTEMAS EXPERTOS ................................................................................................... 46 6.1 APLICACIONES DE SE´s ........................................................................................................ 46 6.2 FUTURO DE LOS SISTEMAS EXPERTOS................................................................................. 48 7 BIBLIOGRAFIA........................................................................................................................ 49 4
  • 5. 5
  • 6. UNIDAD 1 INTRODUCCION A LA INTELIGENCIA ARTIFICIAL 1.1 QUE ES INTELIGENCIA ARTIFICIAL (IA)? Se denomina inteligencia artificial a la rama de la ciencia informática dedicada al desarrollo de agentes racionales no vivos. Para explicar la definición anterior, entiéndase a un agente como cualquier cosa capaz de percibir su entorno (recibir entradas), procesar tales percepciones y actuar en su entorno (proporcionar salidas), y entiéndase a la racionalidad como la característica que posee una elección de ser correcta, más específicamente, de tender a maximizar un resultado esperado (este concepto de racionalidad es más general y por ello más adecuado que inteligencia para definir la naturaleza del objetivo de esta disciplina). Por lo tanto, y de manera más específica la inteligencia artificial es la disciplina que se encarga de construir procesos que al ser ejecutados sobre una arquitectura física producen acciones o resultados que maximizan una medida de rendimiento determinada, basándose en la secuencia de entradas percibidas y en el conocimiento almacenado en tal arquitectura. La inteligencia artificial consiste en crear teorías y modelos que muestren la organización y funcionamiento de la inteligencia. Actualmente, el mayor esfuerzo en la búsqueda de la inteligencia artificial se centra en el desarrollo de sistemas de procesamientos de datos que sean capaces de imitar a la inteligencia humana, realizando tareas que requieran aprendizaje, solución de problemas y decisiones. A veces llamada inteligencia de máquina, la inteligencia artificial o AI (Artificial Intelligence) cubre una vasta gama de teorías y prácticas. 1.2 LOS FUNDAMENTOS DE LA IA La inteligencia artificial se basa en dos áreas de estudio: el cuerpo humano y el ordenador electrónico. Puesto que la meta es copiar la inteligencia humana, es necesario entenderla. Sin embargo, a pesar de todos los progresos en Neurología y Psicología, la inteligencia del hombre se conoce poco, exceptuando sus manifestaciones externas. Muchos estudiosos de la inteligencia artificial se han vuelto – para obtener su modelo de inteligencia – hacia el estudio de la Psicología cognoscitiva, que aborda la forma de percibir y pensar de los seres humanos.. Después comprueban sus teorías programando los ordenadores para simular los procesos cognoscitivos en el modelo. Otros investigadores intentan obtener 6
  • 7. teorías generales de la inteligencia que sean aplicables a cualquier sistema de inteligencia y no solo al del ser humano. 1.3 HISTORIA DE LA IA La Inteligencia Artificial "nació" en 1943 cuando Warren McCulloch y Walter Pitts propusieron un modelo de neurona del cerebro humano y animal. Estas neuronas nerviosas abstractas proporcionaron una representación simbólica de la actividad cerebral. Más adelante, Norbert Wiener elaboró estas ideas junto con otras, dentro del mismo campo, que se llamó "cibernética"; de aquí nacería, sobre los años 50, la Inteligencia Artificial. Los primeros investigadores de esta innovadora ciencia, tomaron como base la neurona formalizada de McCulloch y postulaban que: "El cerebro es un solucionador inteligente de problemas, de modo que imitemos al cerebro". Pero si consideramos la enorme complejidad del mismo esto es ya prácticamente imposible, ni que mencionar que el hardware de la época ni el software estaban a la altura para realizar semejantes proyectos. Se comenzó a considerar el pensamiento humano como una coordinación de tareas simples relacionadas entre sí mediante símbolos. Se llegaría a la realización de lo que ellos consideraban como los fundamentos de la solución inteligente de problemas, pero lo difícil estaba todavía sin empezar, unir entre sí estas actividades simples. Es en los años 50 cuando se logra realizar un sistema que tuvo cierto éxito, se llamó el Perceptrón de Rossenblatt. Éste era un sistema visual de reconocimiento de patrones en el cual se asociaron esfuerzos para que se pudieran resolver una gama amplia de problemas, pero estas energías se diluyeron enseguida. Fue en los años 60 cuando Alan Newell y Herbert Simon, que trabajando la demostración de teoremas y el ajedrez por ordenador logran crear un programa llamado GPS (General Problem Solver: solucionador general de problemas). Éste era un sistema en el que el usuario definía un entorno en función de una serie de objetos y los operadores que se podían aplicar sobre ellos. Este programa era capaz de trabajar con las torres de Hanoi, así como con criptoaritmética y otros problemas similares, operando, claro está, con microcosmos formalizados que representaban los parámetros dentro de los cuales se podían resolver problemas. Lo que no podía hacer el GPS era resolver problemas ni del mundo real, ni médicos ni tomar decisiones importantes. El GPS manejaba reglas heurísticas (aprender a partir de sus propios descubrimientos) que la conducían hasta el destino deseado mediante el método del ensayo y el error. En los años 70, un equipo de investigadores dirigido por Edward Feigenbaum comenzó a elaborar un proyecto para resolver problemas de la vida cotidiana o que se centrara, al menos, en problemas más concretos. Así es como nació el sistema experto. El primer sistema experto fue el denominado Dendral, un intérprete de espectrograma de masa construido en 1967, pero el más influyente resultaría ser el Mycin de 1974. El Mycin era 7
  • 8. capaz de diagnosticar trastornos en la sangre y recetar la correspondiente medicación, todo un logro en aquella época que incluso fueron utilizados en hospitales (como el Puff, variante de Mycin de uso común en el Pacific Medical Center de San Francisco, EEUU). Ya en los años 80, se desarrollaron lenguajes especiales para utilizar con la Inteligencia Artificial, tales como el LISP o el PROLOG. Es en esta época cuando se desarrollan sistemas expertos más refinados, como por el ejemplo el EURISKO. Este programa perfecciona su propio cuerpo de reglas heurísticas automáticamente, por inducción. Desarrollo Histórico (según Jackson, 1986) 1950-1965 Periodo "clásico"  Gestación (McColluck y Pitts, Shannon, Turing)  Inicio - reunión de Darmouth College en 1956 (Minsky, McCarthy)  Redes neuronales, robótica (Shakey)  Búsqueda en un espacio de estados, Heurísticas, LISP  Solucionador general de problemas (GPS) (Newell, Simon)  Juegos, prueba de teoremas  Limitaciones de pura búsqueda, explosión combinatoria. 1965-1975 Periodo "romántico"  Representación "general" del conocimiento.  Redes semánticas (Quillian)  Prototipos (frames) (Minsky)  Perceptrón (Minsky y Papert)  Lógica (Kowalski)  Mundo de bloques (SHDRLU) (Winograd)  Compresión de lenguaje, visión, robótica.  Dificultades de representación "general", problemas de "juguete". 1975-Hoy Periodo "moderno". Inteligencia "especifica" vs. "general"  Representación explícita del conocimiento específico del dominio.  Sistemas expertos o basados en conocimiento.  Regreso de redes neuronales (Hopfield, Rumelhart, Hinton), algoritmos genéticos (Holland, Goldberg) Reconocimiento de voz (HMM), incertidumbre (RB, Lógica difusa), planeación, aprendizaje. Aplicaciones "reales" (medicina, finanzas, ingeniería, exploración, etc.).  Limitaciones: conocimiento "superficial" Desarrollo Histórico (según Russell y Norvig, 1995): Gestación (1943-1956):  McCullock y Pitts (1943)  Hebb (1949)  Shannon (1950)  Turing (1953)  Minsky y Edmonds (1951) 8
  • 9.  Darmouth College (1956)  McCarthy, Newell y Simon, « The Logic Theorist » Entusiasmo y grandes expectativas (1952-1969):  Samuel - checkers (1952)  McCarthy (1958): LISP: time sharing, Programs with common sense.  Minsky y McCarthy en MIT moldearon mucho del área.  Minsky, Evans, Student, Waltz, Winston, Winograd, etc.  Trabajo en RN: Hebb, Widrow, Rosenblatt Dosis de realidad (1966-1974):  Simon predecía que en 10 años se tendría una máquina inteligente.  Predicciones similares en traducción automática y ajedrez.  Teoría de NP- completness.  Experimentos en machine evolution (ahora algoritmos genéticos; estaban bien fundados pero no produjeron nada.) (Friedberg, 1958)  Minsky y Papert Perceptrons (1969) (aunque irónicamente el mismo año se descubrió backpropagation (Bryson y Ho)) Sistemas basados en conocimiento (1969-1979):  Dendral, Mycin, HPP, Prospector, Winograd, SHDRLU, Shank (no hay sintáxis), frames, Prolog, Planner IA como industria (1980-1988):  R1/XCON, proyecto de la quinta generación, shells y máquinas de LISP. Regreso de redes neuronales (1986-presente):  Hopfield, Rumelhart y Hinton y descenso de los SE Eventos recientes (1987-presente):  Cambio gradual hacia los técnicos y lejos de los rudos (implica cierto grado de madurez y estabilidad) ej., reconocimiento de voz (HMM), incertidumbre (Bayes), planeación (Tweak), robótica, aprendizaje (PAC), etc. 1.4 EL ESTADO DEL ARTE DE LA IA (LOS ULTIMOS AVANCES) Con poco más de diez años de antigüedad, la Vida Artificial se ha convertido en un punto de referencia sólido de la ciencia actual. 9
  • 10. En septiembre de 1987, 160 científicos en informática, física, biología y otras disciplinas se reunieron en el Laboratorio Nacional de Los Álamos para la primera conferencia internacional sobre Vida Artificial. En aquella conferencia se definieron los principios básicos que han marcado la pauta desde entonces en la investigación de esta disciplina. Un concepto básico dentro de este campo es el de comportamiento emergente. El comportamiento emergente aparece cuando se puede generar un sistema complejo a partir de reglas sencillas. Para que se dé este comportamiento se requiere que el sistema en cuestión sea reiterativo, es decir, que el mismo proceso se repita de forma continua y además que las ecuaciones matemáticas que definen el comportamiento de cada paso sean no lineales. Por otra parte, un autómata celular consiste en un espacio n-dimensional dividido en un conjunto de celdas, de forma que cada celda puede encontrarse en dos o más estados, dependiendo de un conjunto de reglas que especifican el estado futuro de cada celda en función del estado de las celdas que le rodean. Hay dos posturas dentro de la Vida Artificial: la fuerte y la débil. Para los que apoyan la postura débil, sus modelos son solamente representaciones simbólicas de los síntomas biológicos naturales, modelos ciertamente muy útiles para conocer dichos sistemas, pero sin mayores pretensiones. Para los que defienden la versión fuerte, dicen que se puede crear vida auténtica a partir de un programa de ordenador que reproduzca las características básicas de los seres vivos. Desde este punto de vista, la vida se divide en vida húmeda, que es lo que todo el mundo conoce como vida, vida seca, formada por autómatas físicamente tangibles, y vida virtual, formada por programas de computador. Las dos últimas categorías son las que integran lo que genéricamente se conoce como Vida Artificial. Para defender un punto de vista tan radical, los defensores de la postura fuerte, aluden a un conjunto de reglas que comparten las tres categorías anteriores:  La biología de lo posible: La Vida Artificial no se restringe a la vida húmeda tal como la conocemos, sino que "se ocupa de la vida tal como podría ser". La biología ha de convertirse en la ciencia de todas las formas de vida posibles.  Método sintético: La actitud de la Vida Artificial es típicamente sintética, a diferencia de la biología clásica, que ha sido mayoritariamente analítica. Desde este punto de vista, se entiende la vida como un todo integrado, en lugar de desmenuzarlo en sus más mínimas partes.  Vida real (artificial): La Vida Artificial es tal porque son artificiales sus componentes y son artificiales porque están construidos por el hombre. Sin embargo, el comportamiento de tales sistemas depende de sus propias reglas y en ese sentido es tan genuino como el comportamiento de cualquier sistema biológico natural.  Toda la vida es forma: la vida es un proceso, y es la forma de este proceso, no la materia, lo que constituye la esencia de la vida. Es absurdo pretender que sólo es vida genuina aquella que está basada en la química del carbono, como es el caso de la vida húmeda.  Construcción de abajo hacia arriba: la síntesis de la Vida Artificial tiene lugar mejor por medio de un proceso de información por computador llamado programación de abajo hacia arriba. Consiste en partir de unos pocos elementos constitutivos y unas reglas básicas, dejar que el sistema evolucione por sí mismo y que el comportamiento emergente haga el resto. Poco a poco el sistema se organiza espontáneamente y empieza a surgir orden donde antes sólo había caos. 10
  • 11. Esta clase de programación contrasta con el principio de programación en la Inteligencia Artificial. En ella se intenta construir máquinas inteligentes hechos desde arriba hacia abajo, es decir, desde el principio se intenta abarcar todas las posibilidades, sin dejar opción a que el sistema improvise. El principio de procesamiento de información en la Vida Artificial se basa en el paralelismo masivo que ocurre en la vida real. A diferencia de los modelos de Inteligencia Artificial en los que el procesamiento es secuencial, en la Vida Artificial es de tipo paralelo, tal y como ocurre en la mayoría de fenómenos biológicos.[11] UNIDAD 2 ALGORITMOS GENETICOS 2.1 INTRODUCCIÓN Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. En los años 1970, de la mano de John Henry Holland, surgió una de las líneas más prometedoras de la inteligencia artificial, la de los algoritmos genéticos. Son llamados así porque se inspiran en la evolución biológica y su base genético-molecular. Estos algoritmos hacen evolucionar una población de individuos sometiéndola a acciones aleatorias semejantes a las que actúan en la evolución biológica (mutaciones y recombinaciones genéticas), así como también a una Selección de acuerdo con algún criterio, en función del cual se decide cuáles son los individuos más adaptados, que sobreviven, y cuáles los menos aptos, que son descartados. También es denominado algoritmos evolutivos, e incluye las estrategias de evolución, la programación evolutiva y la programación genética [1] 2.2. DEFINICIÓN Los Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización. Están basados en el proceso genético de los organismos vivos. A lo largo de las generaciones, las poblaciones evolucionan en la naturaleza de acorde con los principios de la selección natural y la supervivencia de los más fuertes, postulados por Darwin. Por imitación de este proceso, los Algoritmos Genéticos son capaces de ir creando soluciones para problemas del mundo real. La evolución de dichas soluciones hacia valores óptimos del problema depende en buena medida de una adecuada codificación de las mismas. 11
  • 12. 2.2 TEOREMA DEL ESQUEMA Las bases teoricas de un AG recaen en el concepto de esquema.Los esquemas son plantillas los cuales parcialmente especifican una solucion. Si los genotipos son cadenas que usan simbolos de un alfabeto A. los esuqmas son cadenas cuyos simbolos pertenecen a A U {*}. Proporciona el fundamento teórico de porqué los GA pueden resolver diversos problemas. En su análisis se considera el proceso de selección y los operadores de cruce y mutación. Un esquema se construye utilizando un nuevo símbolo (*) para representar un comodín (no importa) que puede aparear ambos valores (0 o 1). E.g., el esquema 11*00* representa las cadenas: 111001, 111000, 11ll0001, 110000. El orden de un esquema es el número de elementos que no son ``*'' dentro del esquema. La longitud que define a un esquema es la distancia entre la primera posición fija y la última posición fija. El teorema dice que si exiten instancias de un esquema en una población al tiempo , en el siguiente tiempo el valor esperado de instancias en la nueva población esta acotado por: donde es la aptitud del esquema , es la aptitud promedio de la población, y es un término que refleja el potencial del algoritmo genético de destruir instancias del esquema . El teorema regresa solo un valor esperado de la siguiente generación, por lo que tratar de extrapolar y decir que los esquemas buenos crecen exponencialmente en las siguientes generaciones (como a veces se dice) es completamente absurdo. 12
  • 13. Existen también argumentos sobre la hipótesis de bloques constructores, en donde pequeños esquemas o bloques constructores se usan para construir la solución óptima, sin embargo, no existe evidencia de esto. [2] 2.3 APLICACIONES DE LOS ALGORITMOS GENETICOS  Diseño automatizado, incluyendo investigación en diseño de materiales y diseño multi- objetivo de componentes automovilísticos: mejor comportamiento ante choques, ahorros de peso, mejora de aerodinámica, etc.  Diseño automatizado de equipamiento industrial.  Diseño automatizado de sistemas de comercio en el sector financiero.  Construcción de árboles filogenéticos.  Optimización de carga de contenedores.  Diseño de sistemas de distribución de aguas.  Diseño de topologías de circuitos impresos.  Diseño de topologías de redes computacionales.  En Teoría de juegos, resolución de equilibrios.  Análisis de expresión de genes.  Aprendizaje de comportamiento de robots.  Aprendizaje de reglas de Lógica difusa.  Análisis lingüístico, incluyendo inducción gramática, y otros aspectos de Procesamiento de lenguajes naturales, tales como eliminación de ambigüedad de sentido.  Infraestructura de redes de comunicaciones móviles.  Optimización de estructuras moleculares.  Planificación de producción multicriteria.  Predicción.  Aplicación de Algoritmos Genéticos al Dilema del Prisionero Iterado  Optimización de sistemas de compresión de datos, por ejemplo, usando wavelets.  Predicción de Plegamiento de proteínas.  Optimización de Layout.  Predicción de estructura de RNA.  En bioinformática, Alineamiento múltiple de secuencias.  Aplicaciones en planificación de procesos industriales, incluyendo planificación job-shop.  Selección optima de modelos matemáticos para la descripción de sistemas biológicos.  Manejo de residuos sólidos.  Ingeniería de software.  Construcción de horarios en grandes universidades, evitando conflictos de clases.  Problema del viajante.  Hallazgo de errores en programas.  Optimización de producción y distribución de energía eléctrica.  Diseño de redes geodésicas (Problemas de diseño).[3] 13
  • 14. UNIDAD 3 REDES NEURONALES 3.1 INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES Las redes de neuronas artificiales (denominadas habitualmente como RNA o en inglés como: "ANN" ) son un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que funciona el sistema nervioso de los animales. Se trata de un sistema de interconexión de neuronas en una red que colabora para producir un estímulo de salida. En inteligencia artificial es frecuente referirse a ellas como redes de neuronas o redes neuronales. 3.2 FUNDAMENTOS DE LAS REDES NEURONALES El modelo Biológico Se estima que el cerebro humano contiene más de cien mil millones de neuronas estudios sobre la anatomía del cerebro humano concluyen que hay más de 1000 sinápsis a la entrada y a la salida de cada neurona. Es importante notar que aunque el tiempo de conmutación de la neurona ( unos pocos milisegundos) es casi un millón de veces menor que en los actuales elementos de las computadoras, ellas tienen una conectividad miles de veces superior que las actuales supercomputadoras. 14
  • 15. Las neuronas y las conexiones entre ellas (sinápsis) constituyen la clave para el procesado de la información. Algunos elementos ha destacar de su estructura histológica son: Las dendritas, que son la vía de entrada de las señales que se combinan en el cuerpo de la neurona. De alguna manera la neurona elabora una señal de salida a partir de ellas. El axón, que es el camino de salida de la señal generada por la neurona. Las sinapsis, que son las unidades funcionales y estructurales elementales que median entre las interacciones de las neuronas. En las terminaciones de las sinapsis se encuentran unas vesículas que contienen unas sustancias químicas llamadas neurotransmisores, que ayudan a la propagación de las señales electroquímicas de una neurona a otra. Lo que básicamente ocurre en una neurona biológica es lo siguiente: la neurona es estimulada o excitada a través de sus entradas (inputs) y cuando se alcanza un cierto umbral, la neurona se dispara o activa, pasando una señal hacia el axón. Posteriores investigaciones condujeron al descubrimiento de que estos procesos son el resultado de eventos electroquímicos. Como ya se sabe, el pensamiento tiene lugar en el cerebro, que consta de billones de neuronas interconectadas. Así, el secreto de la "inteligencia" -sin importar como se defina- se sitúa dentro de estas neuronas interconectadas y de su interacción. La forma que dos neuronas interactúan no está totalmente conocida, dependiendo además de cada neurona. En general, una neurona envía su salida a otras por su axón. El axón lleva la información por medio de diferencias de potencial, u ondas de corriente, que depende del potencial de la neurona. Este proceso es a menudo modelado como una regla de propagación representada por la función de red u(.). La neurona recoge las señales por su sinápsis sumando todas las influencias excitadoras e inhibidoras. Si las influencias excitadoras positivas dominan, entonces la neurona da una señal positiva y manda este mensaje a otras neuronas por sus sinápsis de salida. En este sentido la neurona puede ser modelada como una simple función escalón f(.). Como se muestra en la próxima figura, la neurona se activa si la fuerza combinada de la señal de entrada es superior a un cierto nivel, en el caso general el valor de activación de la neurona viene dado por una función de activación f(.). 3.3 APRENDIZAJE 3.3.1 APRENDIZAJE ADAPTATIVO La capacidad de aprendizaje adaptativo es una de las características más atractivas de redes neuronales. Esto es, aprenden a llevar a cabo ciertas tareas mediante un entrenamiento con ejemplos ilustrativos. Como las redes neuronales pueden aprender a diferenciar patrones mediante ejemplos y entrenamientos, no es necesario elaborar modelos a priori ni necesidad de especificar funciones de distribución de probabilidad. Las redes neuronales son sistemas dinámicos auto-adaptativos. Son adaptables debido a la capacidad de autoajuste de los elementos procesales (neuronas) que componen el sistema. Son 15
  • 16. dinámicos, pues son capaces de estar constantemente cambiando para adaptarse a las nuevas condiciones. En el proceso de aprendizaje, los enlaces ponderados de las neuronas se ajustan de manera que se obtengan ciertos resultados específicos. Una red neuronal no necesita un algoritmo para resolver un problema, ya que ella puede generar su propia distribución de pesos en los enlaces mediante el aprendizaje. También existen redes que continúan aprendiendo a lo largo de su vida, después de completado su período de entrenamiento. La función del diseñador es únicamente la obtención de la arquitectura apropiada. No es problema del diseñador el cómo la red aprenderá a discriminar. Sin embargo, sí es necesario que desarrolle un buen algoritmo de aprendizaje que le proporcione a la red la capacidad de discriminar, mediante un entrenamiento con patrones. 3.3.2 AUTO-ORGANIZACIÓN Las redes neuronales emplean su capacidad de aprendizaje adaptativo para auto-organizar la información que reciben durante el aprendizaje y/o la operación. Mientras que el aprendizaje es la modificación de cada elemento procesal, la auto-organización consiste en la modificación de la red neuronal completa para llevar a cabo un objetivo específico. Cuando las redes neuronales se usan para reconocer ciertas clases de patrones, ellas auto- organizan la información usada. Por ejemplo, la red llamada back-propagation, creará su propia representación característica, mediante la cual puede reconocer ciertos patrones. Esta auto-organización provoca la generalización: facultad de las redes neuronales de responder apropiadamente cuando se les presentan datos o situaciones a las que no había sido expuesta anteriormente. El sistema puede generalizar la entrada para obtener una respuesta. Esta característica es muy importante cuando se tiene que solucionar problemas en los cuales la información de entrada no es muy clara; además permite que el sistema dé una solución, incluso cuando la información de entrada está especificada de forma incompleta. 3.3.3 TOLERANCIA A FALLOS Las redes neuronales fueron los primeros métodos computacionales con la capacidad inherente de tolerancia a fallos. Comparados con los sistemas computacionales tradicionales, los cuales pierden su funcionalidad cuando sufren un pequeño error de memoria, en las redes neuronales, si se produce un fallo en un número no muy grande de neuronas y aunque el comportamiento del sistema se ve influenciado, no sufre una caída repentina. Hay dos aspectos distintos respecto a la tolerancia a fallos: a) Las redes pueden aprender a reconocer patrones con ruido, distorsionados o incompletos. Esta es una tolerancia a fallos respecto a los datos. b) Las redes pueden seguir realizando su función (con cierta degradación) aunque se destruya parte de la red. 16
  • 17. La razón por la que las redes neuronales son tolerantes a los fallos es que tienen su información distribuida en las conexiones entre neuronas, existiendo cierto grado de redundancia en este tipo de almacenamiento. La mayoría de los ordenadores algorítmicos y sistemas de recuperación de datos almacenan cada pieza de información en un espacio único, localizado y direccionable. En cambio, las redes neuronales almacenan información no localizada. Por lo tanto, la mayoría de las interconexiones entre los nodos de la red tendrán sus valores en función de los estímulos recibidos, y se generará un patrón de salida que represente la información almacenada. 3.3.4 OPERACIÓN EN TIEMPO REAL Una de las mayores prioridades, casi en la totalidad de las áreas de aplicación, es la necesidad de realizar procesos con datos de forma muy rápida. Las redes neuronales se adaptan bien a esto debido a su implementación paralela. Para que la mayoría de las redes puedan operar en un entorno de tiempo real, la necesidad de cambio en los pesos de las conexiones o entrenamiento es mínimo. 3.4 ESTRUCTURA DE UNA RED NEURONAL La mayoría de los científicos coinciden en que una RNA es muy diferente en términos de estructura de un cerebro animal. Al igual que el cerebro, una RNA se compone de un conjunto masivamente paralelo de unidades de proceso muy simples y es en las conexiones entre estas unidades donde reside la inteligencia de la red. Sin embargo, en términos de escala, un cerebro es muchísimo mayor que cualquier RNA creada hasta la actualidad, y las neuronas artificiales también son más simples que su contrapartida animal. Biológicamente, un cerebro aprende mediante la reorganización de las conexiones sinápticas entre las neuronas que lo componen. De la misma manera, las RNA tienen un gran número de procesadores virtuales interconectados que de forma simplificada simulan la funcionalidad de las neuronas biológicas. En esta simulación, la reorganización de las conexiones sinápticas biológicas se modela mediante un mecanismo de pesos, que son ajustados durante la fase de aprendizaje. En una RNA entrenada, el conjunto de los pesos determina el conocimiento de esa RNA y tiene la propiedad de resolver el problema para el que la RNA ha sido entrenada. 1. Por otra parte, en una RNA, además de los pesos y las conexiones, cada neurona tiene asociada una función matemática denominada función de transferencia. Dicha función genera la señal de salida de la neurona a partir de las señales de entrada. La entrada de la función es la suma de todas las señales de entrada por el peso asociado a la conexión de entrada de la señal. Algunos ejemplos de entradas son la función escalón de Heaviside, la lineal o mixta, la sigmoide y la función gaussiana, recordando que la función de transferencia es la relación entre la señal de salida y la entrada.[4] 17
  • 18. Las redes neuronales son modelos que intentan reproducir el comportamiento del cerebro. Los mismos constan de dispositivos elementales de proceso: las neuronas. A partir de ellas, se pueden generar representaciones específicas, de tal forma que un estado conjunto de ellas puede significar una letra, un número u otro objeto. Generalmente se pueden encontrar tres tipos de neuronas: Aquellas que reciben estímulos externos relacionados con el aparato sensorial, que tomarán la información de entrada. Dicha información se transmite a ciertos elementos internos que se ocupan de su procesamiento. Es en las sinapsis y neuronas correspondientes a este segundo nivel donde se genera cualquier tipo de representación interna de información. Como no tienen relación directa con la información de entrada ni con la salida, estos elementos se denominan unidades ocultas. Una vez finalizado el período de procesado, la información llega a las unidades de salida, cuya misión es dar la respuesta al sistema. A continuación se puede ver en la siguiente figura, un esquema de una red neuronal: La misma está constituida por neuronas interconectadas y arregladas en tres capas (esto último puede variar). Los datos ingresan por medio de la "capa de entrada", pasan a través de la "capa oculta" y salen por la "capa de salida". Cabe mencionar que la capa oculta puede estar constituida por varias capas. En la siguiente figura se compara una neurona biológica con una neurona artificial. En la misma se pueden observar las similitudes entre ambas (tienen entradas, utilizan pesos y generan salidas). 18
  • 19. La neurona artificial pretende mimetizar las características más importantes de las neuronas biológicas. Cada neurona i-ésima está caracterizada en cualquier instante por un valor numérico denominado valor o estado de activación ; asociado a cada unidad, existe una función de salida, , que transforma el estado actual de activación en una señal de salida. Dicha señal es enviada a través de los canales de comunicación unidireccionales a otras unidades de la red; estos canales la señal se modifica de acuerdo con la sinápsis (el peso, ) asociada a cada uno de ellos según determinada regla. Las señales moduladas que han llegado a la unidad j-ésima se combinan entre ellas, generando así la entrada total . Una función de activación, F, determina el nuevo estado de activación de la neurona, teniendo en cuenta la entrada total calculada y el anterior estado de activación . La dinámica que rige la actualización de los estados de las unidades puede ser de dos tipos: asíncrono y modo síncrono. En el primer caso, las neuronas evalúan su estado continuamente según les va llegando información, y lo hacen de forma independiente, En el segundo caso, la información llega de forma continua, pero los cambios se realizan simultáneamente, como si existiera un reloj interno que decidiera cuando cambiar su estado. Los sistemas biológicos quedan probablemente entre ambas posibilidades. 19
  • 20. 3.5 UNIDADES DE PROCESO: LA NEURONA ARTIFICIAL Si se tienen N unidades (neuronas), podemos ordenarlas arbitrariamente y designar la j- ésima unidad como . Su trabajo es simple y único, y consiste en recibir las entradas de las células vecinas y calcular un valor de salida, el cual es enviado a todas las células restantes. En cualquier sistema que se esté modelando, es útil caracterizar tres tipos de unidades: entradas, salidas y ocultas. Las unidades de entrada reciben señales del entorno, éstas pueden ser provenientes de censores o de otros sectores del sistema. Las unidades de salida envían la señal fuera del sistema; éstas pueden controlar directamente potencias u otros sistemas. Las unidades ocultas son aquellas cuyas entradas y salidas se encuentran dentro del sistema; es decir no tienen contacto con el exterior. Se conoce como nivel o capa a un conjunto de neuronas cuyas entradas provienen de la misma fuente, y cuyas salidas se dirigen a un mismo destino. Estado de Activación Junto al conjunto de unidades, la representación necesita los estados del sistema en un tiempo t. Esto se especifica en un vector de N números reales A(t), que representa el estado de activación del conjunto de unidades de procesamiento. Cada elemento del vector representa la activación de una unidad en el tiempo t. La activación de una unidad Ui en el tiempo t se designa por ; es decir: El procesamiento que realiza la red se ve como la evolución de un patrón de activación en el conjunto de unidades que lo componen a través del tiempo. Todas las neuronas que componen la red se hallan en cierto estado. Podemos decir que hay dos posibles estados, reposo y excitado, a los que denominaremos estados de activación y a cada uno de los cuales se le asigna un valor. Los valores de activación pueden ser continuos o discretos. Además pueden ser limitados o ilimitados. Si son discretos, suelen tomar un conjunto pequeño de valores o bien valores binarios. En notación binaria, un estado activo se indicaría por un 1, y se caracteriza por la emisión de un impulso por parte de la neurona (potencial de acción), mientras que un estado pasivo se indicaría por un 0. En otros modelos se considera un conjunto continuo de estados de activación, en cuyo caso se asigna un valor entre [0,1] o en el intervalo [- 1,1], generalmente siguiendo una función sigmoidal. Los criterios o reglas que siguen las neuronas para alcanzar tales estados dependen de dos factores: 20
  • 21. Dado que las propiedades macroscópicas de las redes neuronales no son producto de actuación de elementos individuales, es necesario tener idea del mecanismo de interacción entre las neuronas. El estado de activación estará fuertemente influenciado por tales interacciones ya que el efecto que producirá una neurona sobre otra será proporcional a la fuerza, peso de la conexión entre ambas. La señal que envía cada una de las neuronas a sus vecinas dependerá de su propio estado de activación. 3.5.1 FUNCIÓN DE SALIDA O TRANSFERENCIA Asociada a cada unidad Ui (neurona) hay una función de salida , que transforma el estado actual de activación en una señal de salida: . En algunos modelos, esta salida es igual al nivel de activación de la unidad, en cuyo caso la función es la función identidad, . A menudo, es de tipo sigmoidal, y suele ser la misma para todas las unidades. Existen cuatro funciones de transferencia típicas que determinan distintos tipos de neuronas:  Función escalón  Función lineal y mixta  Sigmoidal  Función gaussiana La función escalón únicamente se utiliza cuando las salidas de la red son binarias. La salida de una neurona se activa sólo cuando el estado de activación es mayor o igual a cierto valor umbral. La función lineal o identidad equivale a no aplicar función de salida. Las funciones mixtas y sigmoidal son las más apropiadas cuando queremos como salida información analógica. 3.5.1.1 NEURONA DE FUNCIÓN ESCALÓN La función escalón se asocia a neuronas binarias en las cuales cuando la suma de las entradas es mayor o igual que el umbral de la neurona, la activación es 1, si es menor, la activación es 0 (ó –1). Las redes formadas por este tipo de neuronas son fáciles de implementar en hardware, pero sus capacidades están limitadas. Función de activación escalón Si el conjunto de los estados de activación es E ={0,1}, tenemos que: 21
  • 22. Si el conjunto es E = {-1,1}, tendremos que: 3.5.1.2 NEURONA DE FUNCIÓN LINEAL O MIXTA La función lineal o mixta corresponde a la función F(x) =x. En las neuronas con función mixta si la suma de las señales de entrada es menor que un límite inferior, la activación se define como 0 (ó –1). Si dicha suma es mayor o igual que el límite superior, entonces la activación es 1. Si la suma de entrada está comprendida entre ambos límites, la activación se define como una función lineal de suma de las señales de entrada. Función de activación lineal o identidad El conjunto de estados E puede contener cualquier número real; el estado de activación coincide con la entrada total que ha llegado a la unidad. 22
  • 23. Función de activación lineal-mixta Con esta función, el estado de activación de la unidad está obligado a permanecer dentro de un intervalo de valores reales prefijados. 3.5.1.3 NEURONA DE FUNCIÓN CONTINUA (SIGMOIDAL) Cualquier función definida simplemente en un intervalo de posibles valores de entrada, con un incremento monotónico y que tengan ambos limites superiores e inferiores (por ejemplo las funciones sigmoidal y arco tangente), podrá realizar la función de activación o transferencia de forma satisfactoria. Con la función sigmoidal, para la mayoría de los valores del estímulo de entrada, el valor dado por la función es cercano a uno de los valores asintóticos. Esto hace posible que en la mayoría de los casos, el valor de salida esté comprendido en la zona alta o baja del sigmoide. De hecho cuando la pendiente es elevada, esta función tiende a la función escalón. La importancia de ésta función es que su derivada es siempre positiva y cercana a cero para los valores grandes positivos o negativos; además toma su valor máximo cuando x es cero. Esto hace que se puedan utilizar las reglas de aprendizaje definidas para la función escalón, con la ventaja respecto a esta función, que la derivada está definida para todo el intervalo. La función escalón no podía definir la derivada en ele punto de transición y esto no ayuda a los métodos de aprendizaje en los cuales se usan derivadas. 23
  • 24. Función de activación sigmoidal Es una función continua, por tanto el espacio de los estados de activación es un intervalo del eje real. Para simplificar la expresión de la salida de una neurona i, es habitual considerar la existencia de una neurona ficticia, con valor de salida unidad, asociada a la entrada de cada neurona i mediante una conexión con peso de valor .De esta forma la expresión de salida quedará: [5] 3.5.1.4 FUNCIÓN DE TRANSFERENCIA GAUSSIANA Los centros y anchura de estas funciones pueden ser adaptados, lo cual las hace más adaptativas que las funciones sigmoidales. 3.5.2 CONEXIONES ENTRE NEURONAS Las conexiones que unen las neuronas que forman una RNA tienen asociado un peso que es el que hace que la red adquiera conocimiento. Consideremos como el valor de salida de una neurona i en un instante dado. Una neurona recibe un conjunto de señales que le dan información del estado de activación de todas las neuronas con las que se encuentra conectada. Cada conexión 24
  • 25. (sinápsis) entre la neurona i y la j está ponderada por un peso . Normalmente, como simplificación, se considera que el efecto de cada señal es aditivo, de tal forma que la entrada neta que recibe una neurona , es la suma de cada señal individual por el valor de la sinapsis que conecta ambas neuronas: Esta regla muestra el procedimiento a seguir para combinar los valores de entrada a una unidad con los pesos de las conexiones que llegan a esa unidad y es conocida como regla de propagación. 3.5.2.1 FUNCIÓN O REGLA DE ACTIVACIÓN Así como es necesaria una regla que combine las entradas de una neurona con los pesos de las conexiones, también se requiere una regla que combine las entradas con el estado actual de la neurona para producir un nuevo estado de activación. Esta función F produce un nuevo estado de activación en una neurona a partir del estado que existía y la combinación de las entradas con los pesos de las conexiones ( ). Dado el estado de activación de la unidad Ui y la entrada total que llega, , el estado de activación siguiente, , se obtiene aplicando una función F, llamada función de activación. En la mayoría de los casos la función F es la función identidad, por lo que el estado de activación de la neurona en t+1 coincidirá con el Net de la misma t. En este caso, el parámetro que se le pasa a la función de salida , de la neurona será directamente el Net. Es estado de activación anterior no se tiene en cuenta. Según esto, la salida de una neurona quedará según la expresión: Por tanto, y en lo sucesivo, consideraremos únicamente la función , que denominaremos de transferencia o de activación. Además, la misma no está centrada en el origen del eje que representa el valor de entrada neta sino que existe cierto desplazamiento debido a las características internas de la neurona y que no es igual en todas ellas. Este valor se denota como y representa el umbral de activación de la neurona i. 25
  • 26. 3.5 MODELO DE OPERACIÓN 3.6 PERCEPTRON Rumelhart, Hinton y Williams (1986) formalizaron un método para que una red del tipo perceptrón multicapa aprendiera la asociación que existe entre un conjunto de patrones de entrada y sus salidas correspondientes. Este método, conocido como backpropagation error (propagación del error hacia atrás) --también denominado método de gradiente decreciente--, ya había sido descrito anteriormente por Werbos (1974), Parker (1982) y Le Cun (1985), aunque fue el Parallel Distributed Processing Group (grupo PDP) --Rumelhart y colaboradores--, quien realmente lo popularizó. La importancia de la red backpropagation consiste en su capacidad de organizar una representación interna del conocimiento en las capas ocultas de neuronas, a fin de aprender la relación que existe entre un conjunto de entradas y salidas. Posteriormente, aplica esa misma relación a nuevos vectores de entrada con ruido o incompletos, dando una salida activa si la nueva entrada es parecida a las presentadas durante el aprendizaje. Esta característica importante es la capacidad de generalización, entendida como la facilidad de dar salidas satisfactorias a entradas que el sistema no ha visto nunca en su fase de entrenamiento. 3.6.1 ARQUITECTURA Un perceptrón multicapa está compuesto por una capa de entrada, una capa de salida y una o más capas ocultas; aunque se ha demostrado que para la mayoría de problemas bastará con una sola capa oculta (Funahashi, 1989; Hornik, Stinchcombe y White, 1989). En la figura podemos observar un perceptrón típico formado por una capa de entrada, una capa oculta y una de salida. 26
  • 27. 3.7 REDES NEURONALES (BACKPROPAGATION, RETROPROPAGATION) Algoritmo backpropagation En el algoritmo backpropagation podemos considerar, por un lado, una etapa de funcionamiento donde se presenta, ante la red entrenada, un patrón de entrada y éste se transmite a través de las sucesivas capas de neuronas hasta obtener una salida y, por otro lado, una etapa de entrenamiento o aprendizaje donde se modifican los pesos de la red de manera que coincida la salida deseada por el usuario con la salida obtenida por la red ante la presentación de un determinado patrón de entrada Variantes del algoritmo backpropagation Desde que en 1986 se presentara la regla backpropagation, se han desarrollado diferentes variantes del algoritmo original. Estas variantes tienen por objeto acelerar el proceso de aprendizaje. A continuación, comentaremos brevemente los algoritmos más relevantes. La regla delta-bar-delta (Jacobs, 1988) se basa en que cada peso tiene una tasa de aprendizaje propia, y ésta se puede ir modificando a lo largo del entrenamiento. Por su parte, el algoritmo QUICKPROP (Fahlman, 1988) modifica los pesos en función del valor del gradiente actual y del gradiente pasado. El algoritmo de gradiente conjugado (Battiti, 1992) se basa en el cálculo de la segunda derivada del error con respecto a cada peso, y en obtener el cambio a realizar a partir de este 27
  • 28. valor y el de la derivada primera. Por último, el algoritmo RPROP (Resilient propagation) (Riedmiller y Braun, 1993) es un método de aprendizaje adaptativo parecido a la regla delta-bar- delta, donde los pesos se modifican en función del signo del gradiente, no en función de su magnitud. Etapa de funcionamiento Cuando se presenta un patrón p de entrada Xp: xp1,...,xpi,...,xpN, éste se transmite a través de los pesos wji desde la capa de entrada hacia la capa oculta. Las neuronas de esta capa intermedia transforman las señales recibidas mediante la aplicación de una función de activación proporcionando, de este modo, un valor de salida. Este se transmite a través de los pesos vkj hacia la capa de salida, donde aplicando la misma operación que en el caso anterior, las neuronas de esta última capa proporcionan la salida de la red. Etapa de aprendizaje En la etapa de aprendizaje, el objetivo que se persigue es hacer mínima la discrepancia o error entre la salida obtenida por la red y la salida deseada por el usuario ante la presentación de un conjunto de patrones denominado grupo de entrenamiento. Por este motivo, se dice que el aprendizaje en las redes backpropagation es de tipo supervisado, debido a el usuario (o supervisor) determina la salida deseada ante la presentación de un determinado patrón de entrada.[6] UNIDAD 4 LOGICA FUZZY 4.1 INTRODUCCION La lógica borrosa o difusa se basa en lo relativo de lo observado. Este tipo de lógica toma dos valores aleatorios, pero contextualizados y referidos entre sí. Así, por ejemplo, una persona que mida 2 metros es claramente una persona alta, si previamente se ha tomado el valor de persona baja y se ha establecido en 1 metro. Ambos valores están contextualizados a personas y referidos a una medida métrica lineal.[7] 4.2 CONCEPTOS BASICOS 28
  • 29. En 1921 Lofti A. Zadeh, formuló la teoría de los conjuntos borrosos en Azerbaiyán. Conjunto borroso: También llamado fuzzy set es aquel que no está formado por números sino por etiquetas lingüísticas. Etiqueta lingüística: Es una palabra o conjunto de palabras. Podemos también que son los nombres de los conjuntos borrosos. Se distinguen dos tipos: Tipo 1: son los operadores, como por ejemplo: “muy‿, “bastante‿, “poco‿,… Tipo 2: son las etiquetas que se necesitan para describir como afectan en los elementos del conjunto Para explicar que es un conjunto borroso de forma más clara, se van a basar en los conjuntos clásicos. En estos conjuntos se sabe si un elemento de un universo de discurso pertenece o no a él acudiendo a la lógica booleana. Es decir, estos conjuntos se pueden definir con un predicado que asigne a cada elemento del conjunto el valor 0 ó 1, en función de su pertenencia al conjunto. Esto no es posible en los conjuntos borrosos, ya que si normalizamos la pertenencia o no en el 0 y 1, en este caso hemos de tomar el intervalo cerrado [0,1] y el valor que se asocie a cada elemento no será absoluto, sino gradual. Al igual que en los conjuntos clásicos, esto se define mediante un predicado que por su forma de actuar se denomina predicado vago. Así, el elemento tendrá un valor asociado dentro del conjunto que indicará en qué “cantidad" pertenece a dicho conjunto. Esto es lo que se define como grado de pertenencia. Por ello, un conjunto borroso es la unión de los grados de pertenencia de todos aquellos elementos que forman parte de su universo de discurso. Subconjuntos difusos • Un subconjunto difuso F de un conjunto A es un par ordenado en el conjunto, cuyo primer elemento es un elemento a de A, y e segundo elemento es un numero real entre 0 y 1, llamado el grado de membresia de a en F. 4.3 REGLAS FUZZY IF-THEN La lógica difusa se basa en reglas heurísticas de la forma SI (IF, antecedente) ENTONCES (THEN, consecuente), donde el antecedente y el consecuente son también conjuntos difusos, ya sea puros o resultado de operar con ellos. Sirvan como ejemplos de regla heurística para esta 29
  • 30. lógica (nótese la importancia de las palabras "muchísimo", "drásticamente", "un poco" y "levemente" para la lógica difusa):  SI – IF hace muchísimo calor ENTONCES - THEN disminuyo drásticamente la temperatura.  SI – IF voy a llegar un poco tarde ENTONCES - THEN aumento levemente la velocidad. Los métodos de inferencia para esta base de reglas deben ser simples, veloces y eficaces. Los resultados de dichos métodos son un área final, fruto de un conjunto de áreas solapadas entre sí (cada área es resultado de una regla de inferencia). Para escoger una salida concreta a partir de tanta premisa difusa, el método más usado es el del centroide, 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 ser formuladas por expertos, o bien aprendidas por el propio sistema, haciendo uso en este caso de redes neuronales para fortalecer las futuras tomas de decisiones. Los datos de entrada suelen ser recogidos por sensores, que miden las variables de entrada de un sistema. El motor de inferencias se basa en chips difusos, que están aumentando exponencialmente su capacidad de procesamiento de reglas año a año. Un esquema de funcionamiento típico para un sistema difuso podría ser de la siguiente manera: Funcionamiento de un sistema de control difuso 30
  • 31. En la figura, el sistema de control hace los cálculos con base en sus reglas heurísticas, comentadas anteriormente. La salida final actuaría sobre el entorno físico, y los valores sobre el entorno físico de las nuevas entradas (modificado por la salida del sistema de control) serían tomadas por sensores del sistema. Por ejemplo, imaginando que nuestro sistema difuso fuese el climatizador de un coche que se autor regula según las necesidades: Los chips difusos del climatizador recogen los datos de entrada, que en este caso bien podrían ser la temperatura y humedad simplemente. Estos datos se someten a las reglas del motor de inferencia (como se ha comentado antes, de la forma SI... ENTONCES...), resultando un área de resultados. De esa área se escogerá el centro de gravedad, proporcionándola como salida. Dependiendo del resultado, el climatizador podría aumentar la temperatura o disminuirla dependiendo del grado de la salida. La teoría de conjuntos Fuzzy define operadores difusos en conjuntos fuzzy. El problema en la aplicación de esto es que el operador fuzzy puede ser desconocido. Por esta razón, la lógica difusa por lo general utiliza reglas IF-THEN, o construcciones que son equivalentes. Las reglas se expresa generalmente en la forma: Si (IF) la variable es característica entonces (THEN) acción Por ejemplo, un regulador de temperatura simple que utiliza un ventilador puede ser como este: IF la temperatura es muy fría THEN dejar de ventilador. IF la temperatura es fría THEN baje ventilador. IF la temperatura es normal THEN mantener el nivel. IF la temperatura es caliente THEN acelerar ventilación. 31
  • 32. No hay "Else" (SI NO) todas las reglas son evaluadas, ya que la temperatura podría ser "frío" y "normal", al mismo tiempo en diferentes grados. AND, OR, y NOT,los operadores de la lógica booleana, existen en la lógica difusa, que suele definirse como el mínimo, máximo, y complemento, cuando se definen de esta manera, se les llama a los operadores Zadeh. Así que para las variables fuzzy x y y: NOT X = (1 - la verdad (x)) X AND Y = mínimo (verdad (x), verdad (y)) X OR Y = máximo (verdad (x), verdad (y)) Hay también otros operadores, más de naturaleza lingüística, llamado coberturas que pueden ser aplicados. Se trata generalmente de adverbios como "muy" o "algo", que modifican el significado de un conjunto con una fórmula matemática. Una vez definidas las relaciones borrosas, es posible desarrollar borrosa bases de datos relacionales. La primera base de datos relacional difusa, FRDB, apareció en tesis de María Zemánková's. Más tarde, algunos otros modelos surgieron como las hebillas modelo Petry, el Prade-Testemale modelo, el modelo de Umano Fukami o el modelo de GEFRED por JM Medina, MA Vila et al. En el contexto de bases de datos borrosos, algunos lenguajes de consulta difusa se han definido, destacando el SQLf por P. Bosc et y el FSQL por J. Galindo . Estos lenguajes definen algunas estructuras, a fin de incluir los aspectos difusos en los estados de SQL, como las condiciones borrosa, comparadores difusos, constantes borrosos, dificultades difusas, umbrales difusos, etiquetas lingüísticas y así sucesivamente. 4.4 ESTRUCTURA BASICA DE UN MODELO BASADO EN LOGICA FUZZY Un Sistema Basado en Reglas Difusas (SBRD) está formado por: Base de conocimiento. • Base de Reglas. 32
  • 33. • Base de Datos. Motor de inferencia. Realiza las operaciones de inferencia a partir de las reglas. Además en sistemas con entradas y/o salidas nítidas, se incluye un interfaz de fuzzyficación y un interfaz de defuzzyficación. 33
  • 34. El funcionamiento de estos sistemas expertos es el siguiente: Se comparan los valores numéricos de entrada al sistema con las funciones de pertenencia asociadas a los términos lingüísticos de la parte del antecedente de la regla asociada a esa entrada. Se calcula el grado de pertenencia a dichos términos. A este paso se le conoce como fuzzyficación. Se combinan los grados de pertenencia a cada término asociado con el antecedente de la regla para determinar el grado de cumplimiento de la misma. Se genera un consecuente para cada regla en función del grado de cumplimiento de cada una. Se obtiene una salida numérica a partir de todos los consecuentes obtenidos. A este paso se le conoce como defuzzyficación.[8] 34
  • 35. 4.5 APLICACIONES DE MODELOS BASADOS EN LOGICA FUZZY Nivel uno - control mediante lógica difusa. Reemplazar un operador humano por un sistema de difuso basado en reglas. Metro Sendai (Hitachi) Cemento Kiln (F.L. Smidth) Control de elevador (Fujitec, Hitachi, Toshiba) Carro de Sugeno Robot de Hirota Péndulo invertido de Yamakawua. Reactor nuclear (Hitachi, Bernard) Transmisión automática (Nissan, Subaru) Control Bulldozer (Terano) Producción de ethanol (Filev) Nivel dos: Análisis de decisión basado en lógica difusa Reemplazo de un operador humano por un sistema experto basado en lógica difusa Medicina ((CADAG, Adlssnig), Arita, OMRON) Seguridad (Yamaichi, Hitachi) Comprobante de crédito (Zimmermann) Asignación de daños (Yao, Hadipriono) Diagnostico de fallas (Guangzhou) Planeación de producción (Turksen) Productos al consumidor 35
  • 36. • Lavadoras • Hornos de microondas • Procesadores de arroz • Limpiadores al vacío • Cámaras de video • Televisores • Sistemas térmicos • Traductores Sistemas • Elevadores • Trenes • Automóviles (máquinas, transmisiones, frenos) • controles de tráfico Sotfware • Diagnóstico Médico • Seguridad • Compresión de datos 4.5.1 APLICACIONES DE LA LÓGICA BORROSA 36
  • 37. 4.5.1.1 INTRODUCCIÓN AL CONTROL BORROSO El control borroso consiste en llevar la salida del proceso aun valor deseado con las acciones de control calculadas tomando la decisión en base a una descripción borrosa del proceso. El control es el mayor campo de aplicación de la lógica borrosa. Es realmente útil en el caso de problemas de control complejos donde no existe un modelo preciso del proceso y la información disponible es de carácter cualitativo. Pondremos un ejemplo sencillo: Vas en tu coche y sientes calor pero no demasiado, y evaluas el grado de apertura de la ventanilla. Este tipo de procesos son de elevada complejidad (aunque a nosotros no nos parezca gran cosa) que un operador humano resuelve satisfactoriamente. Esto no es aplicable de forma trivial a una máquina. La idea en la que se basa el control borroso consiste en usar la experiencia de operación de control de un operador humano para el diseño de un sistema de control automatizado. 4.5.1.2 REGLAS DE CONTROL BORROSO Los sistemas de control borroso permiten describir el conjunto de reglas que usaría un ser humano y generara partir de ellas las acciones de control. Estos sistemas poseen la misma imprecisión de los lenguajes naturales (por eso se llaman también controladores lingüísticos). Los algoritmos de control de estos sistemas se establecen como un conjunto de relaciones borrosas entre las variables que condicionan el proceso y la actuación. Siguiendo con nuestro ejemplo: SI temperatura es alta ENTONCES abre ligeramente la ventana. Las variables de condición serán las variables del proceso (temperatura, posición, etc.) o valores relacionados (error, incremento del error, tendencia, etc.).La variable de salida es la acción de control (o su incremento). Funcionamiento del controlador borroso Se proporciona al sistema el valor de las variables de entrada y se obtiene el valor de las de salida, calculado mediante un método de inferencia borrosa, que debe ser sencillo y rápido. Proceso de diseño de controladores borrosos 37
  • 38. Diseñar equivale a escribir las reglas, determinando antecedentes y consecuentes. Para diseñar antecedentes debemos: Seleccionar la información de entrada que se va a incluir. Fijar las particiones borrosas. Fijarla forma y parámetros de las funciones de pertenencia. Sin embargo, para el diseño de consecuentes: Fijar los parámetros de las funciones de pertenencia. (Normalmente la salida del controlador borroso es ya el propio actuador). El problema en el diseño de controladores borrosos reside en determinar los antecedentes. Para evitar estos problemas hay que recurrir a expertos, intentando que concreten el conocimiento mediante reglas SI..ENTONCES entendibles para el sistema. 4.5.2 VENTAJAS E INCONVENIENTES La utilización de la lógica borrosa para el control de sistemas tiene sus ventajas y desventajas y por lo tanto hay que conocerlas y analizarlas, entre otras plantearemos las siguientes: 1. Con los sistemas basados en la lógica borrosa se pueden evaluar mayor cantidad de variables, entre otras, variables lingüísticas, no numéricas, simulando el conocimiento humano. 2. Se relacionan entradas y salidas, sin tener que entender todas las variables, permitiendo que el sistema pueda ser más confiable y estable que uno con un sistema de control convencional. 3. Se puede simplificar la asignación de soluciones previas a problemas sin resolver. 4. Es posible obtener prototipos, rápidamente, ya que no requiere conocer todas las variables acerca del sistema antes de empezar a trabajar, siendo su desarrollo más económico que el de sistemas convencionales, porque son más fáciles de designar. 5. También se simplifica la adquisición y representación del conocimiento y unas pocas reglas abarcan gran cantidad de complejidades. [8] 38
  • 39. UNIDAD 5 CONSTRUCCION DE AGENTES INTELIGENTES Y SISTEMAS MULTIAGENTES 5.1 AGENTES INTELIGENTES 5.1.1 CONCEPTOS BASICOS Un agente es todo aquello que puede considerarse que percibe su ambiente mediante sensores y que responde o actúa en tal ambiente por medio de efectores. Los agentes humanos tienen ojos, oídos y otros órganos que le sirven de sensores, así como manos, piernas, boca y otras partes de su cuerpo que le sirven de efectores. En el caso de agentes robóticos, los sensores son sustituidos por cámaras infrarrojas y los efectores son reemplazados mediante motores. En el caso de un agente de software, sus percepciones y acciones vienen a ser la cadena de bits codificados. Se clasifican en varios tipos de agentes: Agente racional: Es aquel que hace lo correcto, lo correcto se afirmará que es que el agente tenga el mejor desempeño. Agente reactivo es un agente de bajo nivel, que no dispone de un protocolo ni de un lenguaje de comunicación y cuya única capacidad es responder a estímulos. Los agentes reactivos no son individualmente inteligentes, sino globalmente inteligentes. Los sistemas reactivos por lo general están compuestos por un gran número de agentes reactivos que realizan acciones entre todos, para esto es necesario tener en cuenta nuevas teorías de cooperación y comunicación que permitan el desempeño de estas acciones Un Agente Cognitivo es aquel que es capaz de efectuar operaciones complejas, es individualmente inteligente (es un sistema más o menos experto, con capacidad de razonamiento sobre su base de conocimiento), puede comunicarse con los demás agentes y llegar a un acuerdo con todos o algunos de ellos, sobre alguna decisión. Un sistema cognitivo está compuesto por un pequeño número de agentes cognitivos. Características de un Agente Cognitivo Los avances en los trabajos de IAD en SMA permitieron definir las siguientes características:  Intencionalidad: Un agente cognitivo es guiado por sus metas, las cuales describen las situaciones que son deseables para el agente. Una intención es la declaración explícita de sus metas y medios para llegar a ellas, y los planes se pueden definir como secuencia de acciones que lleven a un agente a obtener su meta.  Racionalidad: Un agente cognitivo posee criterios de evaluación de acciones y de selección, de tal manera que lo que decida sea en beneficio de él (adquirir más conocimiento, obtener respuestas, etc.). Además, es capaz de justificar sus decisiones. 39
  • 40.  Compromiso: Un agente cognitivo cooperativo3 planifica sus acciones por coordinación y negociación con los otros agentes. Los agentes que participan en la coordinación de actividades obran bajo el supuesto de que en condiciones normales, cada uno de los participantes cumplirá con el plan con el que se comprometió.  Adaptabilidad: Un agente cognitivo es capaz de controlar sus aptitudes y comportamiento de acuerdo al rol que asuma en un sistema.  Inteligente: Un agente cognitivo es inteligente si es racional, intencional y adaptable. Un agente inteligente debe ser capaz de operar exitosamente en varios ambientes, si se toma el suficiente tiempo para adaptarse 5.1.2 ARQUITECTURA DE UN AGENTE COGNITIVO La estructura interna de un agente cognitivo se puede clasificar de manera general así: . Funcionalidad Es el conjunto de funciones o tareas que el agente sabe hacer y que los demás agentes pueden conocer que él hace [Lab93]. Dentro de estas funciones pueden estar las funciones de comunicación con otros agentes, de selección de agentes para una tarea específica, de obtener información del sistema, de información del estado interno del agente, etc. Creencias 40
  • 41. Son el conocimiento subjetivo o conjunto de opiniones que el agente tiene de él mismo y de los demás agentes [Lab93]. Puede comenzar como una opinión o conocimiento inicial y cambiar con las acciones y desempeño de cada uno de los agentes, incluido él mismo, cuando el sistema esté en funcionamiento. Conocimiento Es el conocimiento que cada agente tiene y que usa para la resolución de un problema [Lab93], es decir, es la representación de lo que sabe y del conocimiento que ha adquirido en experiencias pasadas y que le sirve para hallar soluciones o seleccionar acciones a seguir en cualquier momento. El conocimiento le permite al agente entender el mundo, lo que los demás agentes tratan de decirle y sus razonamientos internos y explicar sus ideas y decisiones a los demás agentes. Hay tres clases de conocimiento importantes a tener en cuenta:  Conocimiento Inicial: Es el conocimiento propio o básico del agente una vez éste existe, y no puede cambiar con el tiempo.  Know-That: Es el conocimiento de hechos o saber qué hacer ante un problema o un conjunto de acciones. Este tipo de conocimiento puede cambiar con el tiempo y la experiencia adquirida por el agente.  Know-How: Es el conocimiento de cómo actuar o cómo hacer las cosas. Es decir, es la habilidad para ejecutar acciones convenientes (dependiendo de la solución del problema) en un mundo cambiante. Más concretamente se puede definir como la habilidad o potencial de un agente para tomar una acción efectiva, y las destrezas que él demuestra cuando hace cosas que le atribuyen inteligencia. Al igual que el Know-That este tipo de conocimiento puede cambiar con el tiempo y la experiencia adquirida por el agente[10] ¿Cómo se caracteriza un agente? Un agente va a venir caracterizado por una serie de calificativos, los cuales vienen a denotar ciertas propiedades a cumplir por el agente. Esto nos lleva a plantear otra definición bastante aceptada de agente donde se emplean tres calificativos que, según, el autor se consideran básicos. Esta definición ve a un agente como un sistema de computación 41
  • 42. Un agente inteligente puede ser una entidad física o virtual. Si bien el término agente racional se refiere a agentes artificiales en el campo de la Inteligencia Artificial, también puede considerarse agentes racionales a los animales incluido el hombre ¿De dónde vienen los agentes inteligentes? Inteligencia a partir de agentes tontos ¿Agentes tontos? ¿Puede la inteligencia surgir de un grupo de máquinas tontas? ¿Podemos estudiar la inteligencia utilizando agentes tontos? Investigadores de la Universidad de Indiana (UI) forman parten de una comunidad creciente que cree que el enfoque basado en agentes tontos permitirá a los investigadores en Inteligencia Artificial (IA) construir sistemas más inteligentes y a los científicos cognitivos estudiar la inteligencia con más amplitud. Estos investigadores están alejándose del enfoque tradicional de la Inteligencia Artificial que modela el comportamiento inteligente diseñando e implementando un agente complejo. La aproximación con un único agente ha tenido éxito en dominios racionales especializados como juegos, razonamiento y planificación de trayectorias.Sin embargo, parece importante reconocer todos los éxitos de la naturaliza, especialmente porque la naturaleza parece estar repleta de agentes inteligentes. 5.2 SISTEMAS MULTI AGENTE Los Sistemas Multi-Agente se preocupan por coordinar la conducta inteligente de agentes autónomos. Estos agentes hacen parte de una colección y pueden coordinar su conocimiento, objetivos, habilidades y planes juntamente para tomar una acción o resolver una meta global, al igual que los DPS estos pueden tener conocimiento parcial sobre el problema y las soluciones. En estos sistemas debe haber un proceso de racionalización para la coordinación del conjunto de agentes [BOND 1988]. Por lo general en estos sistemas MA los agentes con sus creencias, deseos e intenciones construyen el problema y el plan o secuencia de acciones para solucionarlo. 5.2.1 PLANEACIÓN El proceso de generación de un plan es llamado planeación, como ya se vio los planes en la IA son vistos como una secuencia de acciones de un agente, de tal manera que es capaz de cambiar su entorno y lograr uno o más objetivos. 42
  • 43. Las entradas esenciales para un proceso de planeación son: estado inicial del mundo y el conjunto de las posibles acciones, el agente pude cambiar el mundo o ambiente con sus acciones. Una buena planeación solo seria efectiva en entornos altamente predecibles, mientras que en dominios caóticos es poco efectiva, en este caso el agente solo podría reaccionar ante eventos y percepciones. Los métodos de planeación para DPS y sistemas MA son diferentes, la planeación para múltiples agentes se utiliza en DPS, mientras que los métodos para planeación distribuida se aplican a los sistemas MA. Como se vera en las siguientes secciones, en los sistemas DPS un plan debe ser resulto por los agentes, mientras que en los sistemas multi-agente se debe generar y ejecutar un plan por los agentes 5.2.1.1 PLANEACIÓN PARA MÚLTIPLES AGENTES La planeación para múltiples agentes puede ser considerada como un problema distribuido que los agentes tiene que resolver. Cuando se construye este problema distribuido se tienen que hacer algunas suposiciones de las principales propiedades de sus elementos [LUBO 2002]. Existen dos métodos de colaboración entre agentes cuando se soluciona un problema distribuido, la colaboración esta basada en la repartición de tareas y en compartir resultados. 5.2.1.2 REPARTICIÓN DE TAREAS Se basa en la descomposición y repartición de tareas y la habilidad de los agentes para trabajar en paralelo. El método se basa en la descomposición de subtareas a cargo de un agente cuando este se ve sobrecargado por una tarea, la asignación de las subtareas resultantes se hace a los agentes del sistema que tengan las habilidades que se necesiten para resolverla. Una subtarea puede ser dividida y asignada recursivamente si es necesario. Cuando se termine la subtarea(s) el 43
  • 44. resultado es devuelto a un agente que crea la solución final del problema, generalmente este agente es el que descompuso el problema, ya que es muy probable que este sepa sintetizar los resultados. La repartición de tareas se puede hacer en diferentes tipos de sistemas según las capacidades de los agentes: En sistemas homogéneos la repartición de tareas es sencilla ya que los agentes cuentan con las mismas capacidades. En este caso las sub-tareas pueden ser asignadas aleatoriamente a los agentes inactivos del sistema. En sistemas homogéneos la repartición de tareas exige mecanismos más complejos ya que los agentes poseen diferentes habilidades. En este caso cada sub-tarea debe ser asignada a un gente que tenga las capacidades adecuadas para resolverla, esto conlleva a que el agente que descompone el problema debe guardar información sobre las habilidades de cada uno de los agentes del sistema. 5.2.1.3 COMPARTIR RESULTADOS Los agentes con capacidades, conocimiento y representaciones del entorno diferentes pueden llegar a diferentes resultados al ejecutar una misma tarea, de esta manera se busca que estos resultados se compartan de forma que los agentes cooperen para encontrar la solución global del problema. Al basarse en las diferentes soluciones de los agentes, se pueden obtener los siguientes beneficios: Mayor confianza, debido a que si muchos agentes producen la misma solución para un problema determinado, incrementa la probabilidad de que el resultado sea correcto. Mayor integración, ya que cada agente comparte con otros los resultados de todas las tareas que se han completado, de esta manera el grupo de agentes puede completar la solución global de la tarea. Mayor Precisión, teniendo una mayor visión sobre el conjunto de tareas, se permite a los agentes refinar cada uno de los resultados. Mayor Puntualidad, el intercambio de resultados permite a los agentes trabajar en paralelo, minimizando el tiempo gastado en la solución de un mismo problema por muchos agentes. 5.3 PLANEACIÓN DISTRIBUIDA En la planeación distribuida, las tareas y resultados de esta, pueden ser fuente de distribución en un sistema MA, es decir el proceso de planeación es distribuido entre muchos agentes. El resultado de este 44
  • 45. proceso de planeación (el cual es un plan) se distribuye y es ejecutado por varios agentes, a esto se le conoce con el nombre de plan distribuido. Los agentes pueden participan en la creación de un plan distribuido, actuar tras un plan distribuido o participar de las dos maneras. A continuación se presentaran técnicas para planeación distribuida. 5.3.1 PLANEACIÓN CENTRALIZADA PARA PLANES DISTRIBUIDOS En la planeación centralizada un solo agente debe crear un plan. Este plan tiene que ser distribuido entre los agentes del sistema. El agente que genero el plan o un agente coordinador divide el plan en hilos que pueden ser ejecutados en paralelo. Los hilos son distribuidos entre los agentes utilizando técnicas de asignación de tareas y cada agente actúa sobre el sub-plan que recibe. 5.3.2 PLANEACIÓN DISTRIBUIDA PARA PLANES CENTRALIZADOS La planificación distribuida puede existir incluso cuando el plan resultante es ejecutado por un solo agente, la distribución se hace necesaria cuando no hay la suficiente capacidad o conocimiento del agente para hacer el plan y por lo tanto debe buscar cooperación con otros agentes especialistas en planeación. En este tipo de planeación el problema es descompuesto y distribuido entre los agentes especialistas de planeación usando alguna técnica de repartición de tareas. La coordinación se puede lograr mediante los siguientes métodos: [LUBO 2002] Intercambio de un plan parcial especializado en el cual un planificador modifica y expande un plan parcial de acuerdo con sus objetivos. Combinación de resultados en el cual los planificadores generan planes parciales en paralelo e intentan integrarlos para formar un plan general. 5.3.3 PLANEACIÓN DISTRIBUIDA PARA PLANES DISTRIBUIDOS Es la forma más compleja de planeación distribuida, en este método tanto la planeación como la ejecución de los planes son distribuidos. En los sistemas MA este es el caso más general de planeación, como cada agente esta generando su plan, puede suceder que los agentes no sean consientes de la conducta de los otros agentes, debido a esto es imposible e innecesario probar un plan multi-agente completo que comprenda todas las acciones que tomen los agentes del sistema. La mejor forma para que cada uno de los agentes respete los planes de los otros, es tener una buena cooperación entre ellos. [LUBO 2002] 45
  • 46. UNIDAD 6 SISTEMAS EXPERTOS 6.1 APLICACIONES DE SE´s DENDRAL: Análisis químico • Considerado el 1er. SE • Desarrollado a mediados de los 60´s en la Universidad de Stanford. • Identifica estructuras moleculares de compuestos desconocidos. • Utiliza reglas de producción y fue desarrollado en LISP. • No tiene explicación de sus inferencias, simplemente busca soluciones. HEARSAY I y II: Reconocimiento de voz • Demostrar la posibilidad de reconocimiento de voz • Específicamente el sistema tenía una computadora que “entendía” entradas de voz en forma de ondas • Usa múltiples bases de conocimientos • Cada base de conocimiento se concentra en un aspecto del problema de reconocimiento • Tiene un vocabulario de 1000 palabras y puede corregir entrada de voz hasta en un 75% INTERNIST/CADUCEUS: Medicina Interna • Empezado en los 70´s y continúa bajo el nombre de CADUCEUS • Desarrollado en la Universidad de Pittsburgh • Diagnostica la mayoría de las enfermedades asociadas con la medicina interna 46
  • 47. • Se estiman 1040 combinaciones MYCIN: Infecciones de la sangre • Probablemente el SE mas conocido • Desarrollado en la Universidad de Stanford a mediados de los 70´s • Proporciona asistencia a los médicos en el diagnóstico y tratamiento de meningitis y algunas infecciones • Se le puede borrar su base de conocimientos y alimentarle otra para aplicaciones en otras áreas PUFF: Problemas pulmonares • Desarrollado en 1979 y usa el shell vacío del MYCIN. • Interpreta medidas relacionadas con pruebas respiratorias para identificar problemas pulmonares. • Interactúa directamente con instrumentos de pruebas pulmonares. • Como resultado ofrece la interpretación de las medidas, el diagnóstico y el posible esquema de tratamiento. • La 1er. Versión tenía 64 reglas de producción, actualmente cuenta con más de 400. • Coincide con el 90% de los diagnósticos de médicos XCON (R1): Configuración de computadoras • Originalmente se desarrolló para configuración de computadoras VAX de DEC • Las VAX pueden configurarse de muchas formas diferentes y DEC pretendía hacerlo de acuerdo a las necesidades del cliente. 47
  • 48. • Para septiembre de 1979, el sistema configuraba correctamente el 75% de las órdenes de los clientes. • Contiene mas de 8000 reglas de producción corriendo en un sistema basado en LISP que típicamente tiene un encadenamiento hacia delante. DELTA/CATS: Mantenimiento de locomotoras Diesel y Eléctricas • Desarrollado por General Electric a principios de los 80´s • DELTA: Diesel Electric Locomotive Troubleshooting • CATS: Computer Aided Troubleshooting System • Consiste de una base de conocimientos por medio de entrevistas con David Smith (que trabajó 40 años en GE y es un experto reconocido en mantenimiento de estas máquinas) • De 1981 a 1983 se incrementaron las reglas de 45 a 1200. • El sistema original se desarrolló en LISP y luego se convirtió a FORTH para incrementar transportabilidad y velocidad de ejecución • Tiene interfaces visuales, p. Ejem. Pueden imprimirse diagramas de las máquinas y un video-disk puede mostrar la ubicación de las partes. GATES: Asignación de pistas en aerolíneas • Usado en el Aeropuerto JFK de Nueva York • Lo utiliza la TWA para asignar las pistas de aterrizaje y despegue • La base de conocimiento se adquirió de la experiencia de controladores terrestres • Proporciona soluciones rápidas en retrasos de vuelos, mal clima, fallas mecánicas, etc. • Desarrollado en PROLOG e implementado en PCs 6.2 FUTURO DE LOS SISTEMAS EXPERTOS • Avances en capacidades flexibles de las herramientas de desarrollo (especialmente en sistemas híbridos, tales como combinaciones de SE’s, RNA’s, AG’s, etc.) 48
  • 49. • Desarrollo de sistemas y lenguajes • Diseño de mejores formas que ayuden al experto a proporcionar el conocimiento • Mayor uso de agentes inteligentes • Mayores estrategias para manejar múltiples representaciones de conocimiento • Uso de agentes inteligentes para ayudar a desarrolladores • Avances con el enfoque OOP • Uso de herramientas CASE • Incremento de uso de hypermedios, especialmente WWW • Aprendizaje automatizado de bases de datos y texto para inducir reglas y explicaciones inmediatos [9] 7 BIBLIOGRAFIA [1] http://es.wikipedia.org/wiki/Algoritmo_gen%C3%A9tico#Funcionamiento [2] http://ccc.inaoep.mx/~emorales/Cursos/NvoAprend/node101.html [3] http://es.wikipedia.org/wiki/Algoritmo_gen%C3%A9tico#Funcionamiento [4] http://es.wikipedia.org/wiki/Redes_neuronales#Estructura [5] http://gc.ssr.upm.es/inves/neural/ann2/concepts/basis.htm#net [6] http://www.psiquiatria.com/psicologia/revista/61/2833 [7] http://es.wikipedia.org/wiki/L%C3%B3gica_difusa#Tipos_de_l.C3.B3gica [8]http://campusvirtual.unex.es/cala/epistemowikia/index.php?title=L%C3%B3gica_Borrosa/Intro ducci%C3%B3n_a_la_L%C3%B3gica_Borrosa#Padres_de_la_l.C3.B3gica_borrosa [9] http://www.itnuevolaredo.edu.mx/takeyas [10]http://agamenon.uniandes.edu.co/yubarta/agentes/agentes2.htm 49
  • 50. 50