introducción a la inteligencia artificial

38
Grupo de Computación Natural - UPM Kiko Cisneros Alejandro Figueroa Paula Cordero Introducción a la Inteligencia Artificial Algoritmos Bioinspirados

Upload: paula-cordero-moreno

Post on 14-Aug-2015

135 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción a la inteligencia artificial

Grupo de Computación Natural - UPM

Kiko CisnerosAlejandro Figueroa

Paula Cordero

Introducción a la Inteligencia Artificial

Algoritmos Bioinspirados

Page 2: Introducción a la inteligencia artificial

Outline

• Introducción

• Algoritmos Bioinspiradoso Redes de Neuronas Artificiales

o Algoritmos Genéticos

o Inteligencia Colectiva

• Preguntas

Page 3: Introducción a la inteligencia artificial

• 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».”

Page 4: Introducción a la inteligencia artificial

“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

Page 5: Introducción a la inteligencia artificial

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

Page 6: Introducción a la inteligencia artificial

Redes Neuronales Artificiales

Page 7: Introducción a la inteligencia artificial

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

Page 8: Introducción a la inteligencia artificial

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.

Page 9: Introducción a la inteligencia artificial

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]

Page 10: Introducción a la inteligencia artificial

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.

Page 11: Introducción a la inteligencia artificial

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

Page 12: Introducción a la inteligencia artificial

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.

Page 13: Introducción a la inteligencia artificial

Algoritmos Genéticos

Page 14: Introducción a la inteligencia artificial

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

Page 15: Introducción a la inteligencia artificial

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.

Page 16: Introducción a la inteligencia artificial

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.

Page 17: Introducción a la inteligencia artificial

Representación de los individuos III

Población

Cro

mos

oma/

Indi

vidu

o

Individuoi

Genes

Datos manejados por un AG

Page 18: Introducción a la inteligencia artificial

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

Page 19: Introducción a la inteligencia artificial

Representación Binaria

1 010 10 0 1

Gen

Cromosoma

Alelos= {0,1}

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

Page 20: Introducción a la inteligencia artificial

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.

Page 21: Introducción a la inteligencia artificial

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:

Page 22: Introducción a la inteligencia artificial

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.

Page 23: Introducción a la inteligencia artificial

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.

Page 24: Introducción a la inteligencia artificial

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

Page 25: Introducción a la inteligencia artificial

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

Page 26: Introducción a la inteligencia artificial

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.

Page 27: Introducción a la inteligencia artificial

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

Page 28: Introducción a la inteligencia artificial

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

Page 29: Introducción a la inteligencia artificial

Ejemplo Espacio de Búsqueda

fitne

ss

Espacio de solución

promedio

maxfit

ness

Espacio de solución

promedio

max

padreshijosmutantes

Page 30: Introducción a la inteligencia artificial

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

Page 31: Introducción a la inteligencia artificial

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

Page 32: Introducción a la inteligencia artificial

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

Page 33: Introducción a la inteligencia artificial

Inteligencia Colectiva

Page 34: Introducción a la inteligencia artificial

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

sistemas descentralizados y auto-organizados.”

Inteligencia Colectiva (I) Swarm Intelligence

Page 35: Introducción a la inteligencia artificial

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.

Page 36: Introducción a la inteligencia artificial

• 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

Page 37: Introducción a la inteligencia artificial

• 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

Page 38: Introducción a la inteligencia artificial

Preguntas

Dudas….Sugerencias….Propuestas…