Introducción a la inteligencia artificial
-
Upload
paula-cordero-moreno -
Category
Documents
-
view
135 -
download
0
Transcript of 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
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…