introducción a la inteligencia artificial

Post on 14-Aug-2015

135 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Grupo de Computación Natural - UPM

Kiko CisnerosAlejandro Figueroa

Paula Cordero

Introducción a la Inteligencia Artificial

Algoritmos Bioinspirados

Outline

• Introducción

• Algoritmos Bioinspiradoso Redes de Neuronas Artificiales

o Algoritmos Genéticos

o Inteligencia Colectiva

• Preguntas

• Definiciones

Introducción I

“Desarrollo de agentes racionales no vivos.”

“Construcción de 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.”

“Investigación de la posibilidad de que un ordenador simule el proceso de razonamiento humano. Pretende también que

el ordenador sea capaz de modificar su programación en función de su experiencia y que «aprenda».”

“El estudio de cómo lograr que las computadoras realicen tareas que por el momento, los humanos

hacen mejor”

*****

“La Inteligencia Artificial es un sistema programado y creado por el ser humano para lograr mejorar o agilizar

las actividades que realiza el hombre”.

[Rich y Knight]

Introducción II

Introducción III

“La Inteligencia Artificial es la implementación de razonamientos

inteligentes mediante técnicas propias de la Computación.”

[Hayes]

Robótica

Sistemas de apoyo a la decisión

VideojuegosSmart Process Management

Mundos virtuales

Aplicaciones Médicas

Lingüística computacional

Minería de datos

Análisis de sistemas dinámicos

Redes Neuronales Artificiales

Redes Neuronales ArtificialesConcepto

Paradigma de aprendizaje y procesamiento automático.

Se clasifican comúnmente en tres tipos:

Redes de pesos fijos: Sin entrenamiento Redes no supervisadas Redes supervisadas

Redes Neuronales ArtificialesConcepto

Se dividen en capas Los nodos se caracterizan por tener:

Una función de Activación asociada Un valor umbral

El aprendizaje puede ser online u offline: ONLINE: La red puede aprender durante su funcionamiento OFFLINE: El aprendizaje supone la desconexión de esta (mayor

estabilidad) El entrenamiento se realiza a partir de conjuntos de datos conocidos.

Redes Neuronales ArtificialesReglas de aprendizaje no supervisado

Reglas de Aprendizaje no Supervisado de Hebb

“cuando un axón de una célula A está lo suficientemente cerca para excitar a una célula B, y toma parte repetidamente en el proceso de disparo de dicha célula, se produce algún tipo de cambio metabólico en una de las células (o en las dos), que hace que la eficacia con la que A disparaba a B se vea incrementada.”

[Donald Hebb]

Redes Neuronales ArtificialesReglas de aprendizaje no supervisado

Reglas de Aprendizaje no Supervisado Interacción Lateral

Cuando un estímulo produce una reacción en una célula, las células de su entorno se ven influenciadas por dicha reacción, de una manera positiva las más cercanas, y negativa las más alejadas. Igualmente, a medida que la señal se aleja de la célula que la produjo, esta influencia va progresivamente debilitándose.

Redes Neuronales ArtificialesReglas de aprendizaje no supervisado

Reglas de Aprendizaje no Supervisado Aprendizaje Competitivo (1)

OBJETIVO: Categorizar los datos de entrada. Capa de clasificación: tantas neuronas como categorías pueda haber

en los datos. (1 célula → 1 prototipo). ENTRADA Capa de competición: compite por la entrada. Tiene conexiones

laterales inhibitorias entre todas las células de su capa, excepto consigo misma, en la que la conexión es excitatoria. En esta capa no hay aprendizaje, los pesos son fijos asignados en el momento de creación de la red. SALIDA

Redes Neuronales ArtificialesReglas de aprendizaje no supervisado

Reglas de Aprendizaje no Supervisado Aprendizaje Competitivo (2)

CARENCIAS: El ruido introducido en el sistema puede perturbar lo ya aprendido

pudiendo provocar respuestas incorrectas. El número de las entradas que puede recibir y categorizar es limitado. Es necesario establecer a priori el número de categorías de la

clasificación, puede producir que haya categorías no utilizadas.

Algoritmos Genéticos

Estructura de un AG INICIO

t = 0inicializar P(t)evaluar P(t)MIENTRAS (no se cumpla condición parada)

HACERt = t + 1seleccionar P(t) desde P(t-1)

cruzar P(t) mutar P(t)

evaluar P(t) END

END

Generar Población Inicial

Evaluación Individuos

Generar Nueva Población

Operadores GenéticosPOBLACIÓN

FINALSOLUCIÓN

Representación de los individuos I• Debemos disponer de un mecanismo para representar un individuo como

un genotipo que se corresponde con una solución al problema (fenotipo).

• Existe un proceso de codificación (y su inverso de decodificación) que permite pasar de fenotipo a genotipo y viceversa.

• El tipo de representación depende de las características del problema a resolver.

• Una vez elegida una representación, tenemos que tener en cuenta cómo serán evaluados los genotipos y qué operadores genéticos hay que utilizar.

Representación de los individuos II• Definiciones:

Cromosoma, Individuo: Vector completo que codifica la solución.

Gen: Parte de la solución. Elemento mínimo del cromosoma.

Locus: Posición de un gen en un cromosoma.Alelo: Valores que pude tomar cada gen.Fenotipo: Solución decodificada.Genotipo: Solución codificada.

Representación de los individuos III

Población

Cro

mos

oma/

Indi

vidu

o

Individuoi

Genes

Datos manejados por un AG

Codificación de los individuos

Espacio genotípicoOperaciones

Genéticas

Operaciones

Genéticas

Espacio fenotípico Evaluación y

Selección

Evaluación y

Selección

codificar

decodificar

Representación Binaria

1 010 10 0 1

Gen

Cromosoma

Alelos= {0,1}

Genotipo: 8 bits Fenotipo: Entero, Número real, Secuencia…

Representación Binaria II

Fenotipo como números enteros: Fenotipo como números reales:

Genotipo

Genotipo

Fenotipo

Fenotipo= 163

= 13,9609

Ejemplo: número real entre 2.5 y 20.5 utilizando 8 dígitos binarios.

Representación Real• Una forma natural de codificar una solución es utilizando valores reales

como genes.

• Los individuos se representan como vectores de valores reales:

• La función de evaluación asocia a un vector un valor real de evaluación:

Representación de Orden• Los individuos se representan como permutaciones.

• Se utilizan para problemas de secuenciación.

• Ejemplo famoso: Viajante de Comercio, donde cada ciudad tiene asignado un único número entre 1 y n.

Ejemplo, 6 ciudades:(2, 1, 4, 6, 3, 5)

• Necesita operadores especiales para garantizar que el resultado de aplicar un operador sigue siendo una permutación.

El problema de la codificación I• Representar adecuadamente las soluciones codificándolas en cromosomas.

Obligatoriamente:

– Completitud: cada solución se puede codificar en un cromosoma.

– Cerradura: cada cromosoma equivale a una posible solución.

Preferiblemente:

– Uniformidad: todas las soluciones deben estar representadas por la misma cantidad de cromosomas.

– Localidad: un pequeño cambio en el genotipo debe conllevar también un pequeño cambio en el fenotipo.

El problema de la codificación• Codificaciones Binarias vs Codificaciones no Binarias

1. Interpretación más directa.2. Mejor en dominios continuos.3. Exploración gradual de funciones.4. Problema: Exactamente 2l puntos en el espacio de

búsqueda.

Espacio genotípico

Espacio fenotípico

Espacio

fenotípicofactible

infactible

ilegal

Inicialización de la población• Generación de la población inicial de forma aleatoria.• Uniforme sobre el espacio de búsqueda.

Cadena binaria: 0 ó 1 con probabilidad 0.5Representación real: uniforme sobre un intervalo dado (para

valores acotados)

• Resultado de búsqueda por medio de un optimizador local.Ventaja: aceleración del algoritmo.Desventaja: prematura convergencia hacia óptimos locales.

• Importante: diversidad estructural de la población. Convergencia Prematura

La Función de Evaluación I• Devuelve un valor de ajuste o adaptación, proporcional a la habilidad del

individuo.

• Es diseñada específicamente para cada problema que se quiere resolver.

Debe cumplir ciertas regularidades.

• Es el paso más costoso para una aplicación real. Puede ser interesante el cálculo de valores aproximados.

• Con múltiples objetivos se busca una solución de compromiso.

Ejemplo de AG

• Objetivo: Encontrar el máximo de la función

• Alfabeto de codificación {0,1}• Cadenas de longitud 5 • 25 = 32 puntos del espacio de búsqueda

Tamaño de población = para este ejemplo vamos a escoger 4 individuos.

Población inicial generada aleatoriamente. • Lanzamiento de moneda: 5*4=20 lanzamientos.

Población InicialNúmero de individuo Genotipo Fenotipo

1 01101 132 11000 243 01000 84 10011 19

OPERADORES GENÉTICOS

• Los considerados fundamentales son:– Selección

• Mejora la población mediante un proceso en el cual se obtienen individuos de acuerdo a cierta ley de probabilidad• La probabilidad de ser elegido depende de la proximidad al optimo buscado• Sólo selecciona individuos entre la población existente

– Mutación• Actúa con cierta probabilidad, sobre las cadenas, cambiando algunos de sus valores• Se obtiene individuos nuevos (pertenecientes ó no a la población actual)para ser evaluados• No existe el concepto de herencia

– Cruce• Actúa con cierta probabilidad, obteniendo nuevos individuos llamados descendencia• Se emplean dos individuos padres, para generar una descendencia nueva de otros dos individuos (los cuales

“heredan” características de sus padres)• Enriquece la población existente

Ejemplo Espacio de Búsqueda

fitne

ss

Espacio de solución

promedio

maxfit

ness

Espacio de solución

promedio

max

padreshijosmutantes

Ejemplo problemas Mutación

Generación población

Cruzamiento

Mutación

Representación

Combinar soluciones

Soluciones inexploradas

El operador de mutación es usado para asegurar la exploración de todas las soluciones.

Es necesario, ya que algunos casos pueden no estar considerados en la población inicial o se hayan perdido con el paso de las generaciones

Paso Ventaja

Mínimo local

Mínimo global

Mutación, ejemplo TSP: Problema del viajante

Mínimo alcanzado

Mínimo global

Objetivo: Madrid – Barcelona < distancia

Ciudades: Madrid, Barcelona, Zaragoza, Valencia

Trayectos (genes):• Madrid – Zaragoza (2)• Zaragoza – Barcelona (3)• Zaragoza – Valencia (3)• Valencia – Barcelona (2)• Madrid – Valencia (4)• ….

Madrid – Valencia – BarcelonaMadrid – Zaragoza – Valencia - Barcelona ….

M – V – B = 3 + 3 = 6M – Z – V – B = 2 + 3 + 3 = 8….

Tras un mal cruzamiento:

Siguiente generación:

Finaliza en Zaragoza - Barcelona

Finaliza en Valencia - Barcelona

Ejemplo f(x)=x2

• La diversidad genética de la población inicial favorece la convergencia al máximo valor.

• Los operadores exploran en anchura (exploración) y en profundidad (explotación) la solución.

• Excesiva exploración -> no converge el algoritmo

• Excesiva explotación -> convergencia prematura

Inteligencia Colectiva

“Rama de la Inteligencia Artificial que se basa en el comportamiento colectivo de

sistemas descentralizados y auto-organizados.”

Inteligencia Colectiva (I) Swarm Intelligence

Colonias de hormigas

Alineamiento de aves en vuelos

Comportamientos de rebaños

Crecimiento bacteriano

Comportamiento de cardúmenes

Inteligencia Colectiva (II) Swarm Intelligence

- Agentes simples que interactúan entre ellos y con su ambiente.

- Siguen reglas simples.

- No existe estructura de control.

- Las interacciones locales conducen a un comportamiento emergente.

• Algoritmo de optimización por colonia de hormigas

Inteligencia Colectiva (III) Swarm Intelligence

ESTÍMULO - UMBRAL

FEROMONAS

ASIGNACIÓN DE TAREAS – GESTIÓN DE RECURSOS

• Algoritmos de inteligencia colectiva

Inteligencia Colectiva (IV) Swarm Intelligence

PSO – Particle Swarm Optimization Optimización por Enjambre de Partículas

SDS – Stochastic Diffusion SearchAlgoritmo de Búsqueda por Difusión Estocástica

GSA – Gravitational Search AlgorithmAlgoritmo de Búsqueda Gravitacional

IWD- Intelligent Water Drops algorithm Optimización por Gotas Inteligentes

RFD – River Formation DinamycsOptimización por Dinámica de Formación de Ríos

ACO - Ant Colony OptimizationOptimización por Colonias de Hormigas

Preguntas

Dudas….Sugerencias….Propuestas…

top related