antologia de ia

50
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

Upload: carlos9168126

Post on 20-Jun-2015

2.347 views

Category:

Education


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Antologia de IA

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

Page 2: Antologia de IA

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

Page 3: Antologia de IA

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

Page 4: Antologia de IA

4

UNIDAD 6 SISTEMAS EXPERTOS ................................................................................................... 46

6.1 APLICACIONES DE SE´s ........................................................................................................ 46

6.2 FUTURO DE LOS SISTEMAS EXPERTOS................................................................................. 48

7 BIBLIOGRAFIA........................................................................................................................ 49

Page 5: Antologia de IA

5

Page 6: Antologia de IA

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

Page 7: Antologia de IA

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

Page 8: Antologia de IA

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)

Page 9: Antologia de IA

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.

Page 10: Antologia de IA

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.

Page 11: Antologia de IA

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.

Page 12: Antologia de IA

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.

Page 13: Antologia de IA

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]

Page 14: Antologia de IA

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.

Page 15: Antologia de IA

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

Page 16: Antologia de IA

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.

Page 17: Antologia de IA

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]

Page 18: Antologia de IA

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).

Page 19: Antologia de IA

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.

Page 20: Antologia de IA

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:

Page 21: Antologia de IA

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:

Page 22: Antologia de IA

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.

Page 23: Antologia de IA

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.

Page 24: Antologia de IA

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

Page 25: Antologia de IA

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.

Page 26: Antologia de IA

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.

Page 27: Antologia de IA

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

Page 28: Antologia de IA

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

Page 29: Antologia de IA

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

Page 30: Antologia de IA

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

Page 31: Antologia de IA

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.

Page 32: Antologia de IA

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.

Page 33: Antologia de IA

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.

Page 34: Antologia de IA

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]

Page 35: Antologia de IA

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

Page 36: Antologia de IA

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

Page 37: Antologia de IA

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

Page 38: Antologia de IA

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]

Page 39: Antologia de IA

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.

Page 40: Antologia de IA

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

Page 41: Antologia de IA

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

Page 42: Antologia de IA

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.

Page 43: Antologia de IA

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

Page 44: Antologia de IA

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

Page 45: Antologia de IA

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]

Page 46: Antologia de IA

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

Page 47: Antologia de IA

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.

Page 48: Antologia de IA

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.)

Page 49: Antologia de IA

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

Page 50: Antologia de IA

50