Está en la página 1de 57

INTELIGENCIA ARTIFICIAL

DOCENTE: ING. LUIS TENORIO CABRERA

INTEGRANTES: CHAVARRY CHAVARRY JIHMMY CHINCHAYAN VELASQUEZ ERICK ESPINAL BAZAN JOHN MORALES BURGOS IRVIN QUIROZ CABANILLAS JAIRO VASQUEZ SANCHEZ SHULIANA

COMPUTACIN EVOLUTIVA

COMPUTACION EVOLUTIVA

Est compuesta por modelos de evolucin basados en poblaciones cuyos elementos representan soluciones a problemas.

La simulacin de este proceso en un ordenador resulta ser una tcnica de optimizacin probabilstica, que con frecuencia mejora a otros mtodos clsicos en problemas difciles.

Darwin

Weismann

Mendel

Neo-Darwinismo
El cual establece que toda la vida en el planeta puede ser explicada a travs de slo 4 procesos:

Reproduccin

Mutacin

Competencia

Seleccin

Dentro de la computacin evolutiva tenemos:


ALGORITMOS GENETICOS (Holland 1975)

ESTRATEGIAS EVOLUTIVAS (Rechenberg 1962)

PROGRAMACION GENETICA (Kosa 1992)

ALGORITMOS GENTICOS

Computacin Evolutiva

QU ES UN ALGORITMO?
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solucin aun problema especifico.

QU ES GENTICA?

La gentica es el campo de la biologa que busca comprender la herencia biolgica que se transmite de generacin en generacin

QUE ES UN ALGORITMO GENETICO?

Denominados originalmente planes reproductivos, fueron desarrollados por John H. Holland a principios de los 1960s.

Son mtodos que se usan para resolver problemas de bsqueda y optimizacin. Estn basados en el proceso gentico de los organismos vivos. Que utilizan operadores genticos sobre cromosomas. Su caracterstica principal es que se basan en tcnicas inspiradas en la evolucin biolgica.

SIMILITUD CON SISTEMAS BIOLGICOS


Sistemas Biolgicos
Los miembros de una

Algoritmos Genticos
Muchas soluciones compiten por resolver el problema y reproducirse Las soluciones que mejor resuelven el problema son las que tienen ms posibilidades de reproducirse. A partir de 2 soluciones se obtienen otras mediante el operador crossover.(fusin)

poblacin compiten por sobrevivir y reproducirse. Las especies que mejor se adapten a su ambiente son las que tienen ms posibilidades de reproducirse Los hijos son un hbrido de sus padres.

GENES
En un AG los genes son evaluados segn una llamada Fitness Function y los mejores son los que pasaran ala prxima iteracin.

REPRESENTACION DE LOS GENES EN UN AG


En un algoritmo gentico (ejemplos):

En la naturaleza:

Una secuencia de nucletidos A C C T G C A G G

Un valor numrico (178) expresado en binario

CROMOSOMAS
Es un sistema de los parmetros que definen una solucin propuesta al problema que el algoritmo gentico est intentando solucionar

Ejemplo
Suponga que el problema es encontrar el valor del nmero entero de x entre 0 y 255
Secuencias binarias de 8 dgitos Si un cromosoma dado en la poblacin representa el valor 155, su cromosoma sera:

CRUZAMIENTO
1. 2. Se decide con alguna probabilidad si se aplica la cruza o no. De aplicarse se selecciona con alguna probabilidad la posicin del arreglo donde se aplica.

Gen A Gen B

1 0

0 0

1 1

1 1

0 1

0 0

1 0

0 1

1
0

0
0

1
1

1
1

1
0

0
0

0
1

1
0

MUTACION

En un AG
1.
2. 3.

Se decide con alguna probabilidad si se aplica la mutacin o no.


De aplicarse se selecciona con alguna probabilidad el bit (o item del arreglo) a mutar. De no ser un bit (que sera negado) se elije con alguna probabilidad en que muta.

APLICACIONES

EL ALGORITMO BASICO ES EL SIGUIENTE


GENERAR UNA POBLACION (ALEATORIA) DE UNA POBLACION CALCULAR APTITUD DE CADA INDIVIDUO SELECCIONAR (PROBALISTICAMENTE) CON BASE EN APTITUD APLICAR OPERADORES GENETICOS (CRUCE Y MUTACION) PARA GENERAR LA SIGUIENTE POBLACION CICLAR HASTA QUE CIERTA CONDICION SE SATISFAGA

CUANDO USAR LOS A.G

Si la funcin a optimizar tiene muchos mximos/mnimos locales se requerirn ms iteraciones del algoritmo para "asegurar" el mximo/mnimo global. Si la funcin a optimizar contiene varios puntos muy cercanos en valor al ptimo, solamente podemos "asegurar" que encontraremos uno de ellos (no necesariamente el ptimo).

COMO SABER SI ES POSIBLE USAR UN A.G

Su espacio de bsqueda (i.e., sus posibles soluciones) debe estar delimitado dentro de un cierto rango. Debe poderse definir una funcin de aptitud que nos indique qu tan buena o mala es una cierta respuesta. Las soluciones deben codificarse de una forma que resulte relativamente fcil de implementar en la computadora.

VENTAJAS
Son intrnsecamente paralelos. Pueden evaluar implcitamente muchos esquemas a la vez. Se desenvuelven bien en problemas donde la funcin de aptitud es discontinua, ruidosa, cambia con el tiempo, o tiene muchos ptimos locales. Tienen habilidad para manipular muchos parmetros simultneamente.

DESVENTAJAS
El lenguaje utilizado para especificar soluciones candidatas debe ser robusto. El problema de cmo escribir la funcin de aptitud debe considerarse cuidadosamente para que se pueda alcanzar una mayor aptitud y verdaderamente signifique una solucin mejor para el problema dado. El problema de cmo escribir la funcin de aptitud debe considerarse cuidadosamente para que se pueda alcanzar una mayor aptitud y verdaderamente signifique una solucin mejor para el problema dado.

ESTRATEGIAS EVOLUTIVAS

Computacin Evolutiva

ESTRATEGIAS EVOLUTIVAS

Fueron desarrolladas en 1964 en Alemania para resolver problemas hidrodinmicos de alto grado de complejidad por un grupo de estudiantes de ingeniera encabezado por Ingo Rechenberg

Versin original (1+1) EE (SIMPLES)

Usaba un solo padre y con l se generaba un solo hijo. Este hijo se mantena si era mejor que el padre, o de lo contrario se eliminaba
SELECCIN EXTINTIVA

EE SIMPLES: (1+1) EE

En la (1+1)-EE, un individuo nuevo es generado usando:

x t+1 = x t + N(0, )

Donde

Se refiere a la generacin (o iteracin) en la que nos encontramos.

N(0,) Es un vector de nmeros Gaussianos independientes con una media cero y desviacin estndar .

EE MLTIPLES (+) EE (,) EE


Tamao de la poblacin ( ) Tamao de la descendencia ( ) Reemplazo por inclusin ( +) se juntan los descendientes con los progenitores en una nica poblacin y en ella se muestrean miembros (normalmente los mejores) Reemplazo por insercin ( , )

Se muestrean (segn un criterio: normalmente los peores) miembros


de la poblacin para ser eliminados y sustituidos por sus descendientes

Permiten corregir la convergencia hacia sub-ptimos

Los operadores de recombinacin de las Estrategias


Evolutivas pueden ser: SEXUALES: el operador acta sobre 2 individuos

elegidos aleatoriamente de la poblacin de padres.

PANMTICOS: se elige un solo padre al azar, y se mantiene fijo mientras se elige al azar un segundo padre (de entre toda la poblacin) para cada componente de sus vectores.

APLICACIONES

PROGRAMACIN GENTICA

Computacin Evolutiva

PROGRAMACIN GENETICA
La programacin gentica provee un mecanismo automtico para la creacin
de programas de alto nivel (tambin se conoce como sntesis o induccin de

programas).
La idea consiste en evolucionar en forma iterativa una poblacin de

programas de computadora generados aleatoriamente.


Se utiliza un conjunto de terminales para representar las variables independientes del problema, las funciones sin parmetros y las constantes. Se maneja un conjunto de funciones primitivas que pueden ser aplicadas sobre los terminales.

Emplea cuatro operadores


Emplea cuatro operadores: Reproduccin: copia un programa a la nueva poblacin. Cruzamiento: crea nuevo(s) programa(s) combinando partes de dos programas. Mutacin:

crea un nuevo programa, modificando una parte de un programa ya


existente.

Operacin de cambio de arquitectura:


selecciona una operacin de la biblioteca de este tipo de

operaciones y la aplica a un programa.

DEFINICIN DE UN PROBLEMA EN PG
1.Conjunto de smbolos terminales Variables independientes. Funciones con aridad= 0 (sin operandos) Constantes aleatorias 2.Conjunto de funciones permitidas junto con la aridad de cada funcin (nde operandos)

3.Mtodo para evaluar el desempeo de los programas


4.Valores de los parmetros que controlan el desarrollo del proceso evolutivo Tamao de la poblacin Probabilidades de los operadores genticos Tcnica de creacin de los individuos (programas) de la poblacin inicial

5.Criterio de terminacin

EJEMPLO DE REPRESENTACION DE PG

VENTAJAS DE LAS TCNICAS EVOLUTIVAS

Simplicidad Conceptual. Amplia aplicabilidad. Superiores a las tcnicas tradicionales en muchos problemas del mundo real. Tienen el potencial para incorporar conocimiento sobre el dominio y para hibridarse con otras tcnicas de bsqueda/optimizacin. Pueden explotar fcilmente las arquitecturas en paralelo.

Son robustas a los cambios dinmicos.

NEUROCOMPUTACIN

INTRODUCCION

La neurocomputacin es una forma, inspirada en la biologa, de resolver algunas tareas encontradas frecuentemente cuando se trata de reproducir mediante computadoras habilidades atribuidas a la inteligencia humana.

Se Busco en la Biologa la inspiracin para resolver tareas con computadoras las cuales son propiamente humanas. Esto implica necesariamente recurrir a la Neurobiologa para tratar de entender la forma en que nuestros cerebros realizan tareas diferentes

Los desarrollos actuales de los cientficos se dirigen al estudio de las capacidades humanas como una fuente de nuevas ideas para el diseo de las nuevas mquinas. As, la inteligencia artificial es un intento por descubrir y describir aspectos de la inteligencia humana que pueden ser simulados mediante mquinas. Esta disciplina se ha desarrollado fuertemente en los ltimos aos teniendo aplicacin en algunos campos como visin artificial, demostracin de teoremas, procesamiento de informacin expresada mediante lenguajes humanos... etc.

Si se examinan con atencin aquellos problemas que no pueden expresarse a travs de un algoritmo, se observar que todos ellos tienen una caracterstica en comn: la experiencia. El hombre es capaz de resolver estas situaciones acudiendo a la experiencia acumulada

En definitiva, las redes neuronales no son ms que un modelo artificial y simplificado del cerebro humano, que es el ejemplo ms perfecto del que disponemos para un sistema que es capaz de adquirir conocimiento a travs de la experiencia.

DATOS HISTORICOS

1943 Teora de las Redes Neuronales Artificiales

Walter Pitts junto a Bertran Russell y Warren McCulloch intentaron explicar el funcionamiento del cerebro humano, por medio de una red de clulas conectadas entre s, para experimentar ejecutando operaciones lgicas. Partiendo del menor suceso psquico (estimado por ellos): el impulso todo/nada, generado por una clula nerviosa.

1949 Conductividad de la sinapsis en las Redes Neuronales.

McCulloch y Pitts mostraran sus Redes Neuronales, el fisilogo Donald O. Hebb (de la McGill University) expuso que estas (las redes neuronales) podan aprender. Su propuesta tena que ver con la conductividad de la sinpsis, es decir, con las conexiones entre neuronas (Ahumentar la conductividad).
1951 Primera Red Neuronal.

Durante el verano de 1951, Minsky y Edmonds montaron la primera mquina de redes neuronales, compuesta bsicamente de 300 tubos de vaco y un piloto automtico de un bombardero B-24. Llamaron a su creacin "Sharc", se trataba nada menos que de una red de 40 neuronas artificiales que imitaban el cerebro de una rata

EJEMPLO

Cada neurona hacia el papel de una posicin del laberinto y cuando se activaba daba a entender que la "rata" saba en qu punto del laberinto estaba. Las neuronas que estaban conectadas alrededor de la activada, hacan la funcin de alternativas, la activacin de la siguiente neurona, es decir, la eleccin entre "derecha" o "izquierda" en este caso estara dada por la fuerza de sus conexiones con la neurona activada

CARACTERISTICAS:

PESOS: Las RNA pueden tener factores de pesos fijos o adaptables. Las que tienen pesos adaptables emplean leyes de aprendizaje para ajustar el valor de la fuerza de una interconexin con otras neuronas. Si utilizan pesos fijos entonces su tarea deber estar previamente definida. Dos fases de operacin : Entrenamiento de la red. El usuario proporciona a la red un nmero "adecuado" de estmulos de entrada, y de salida, la red entonces ajusta su pesos de interconexin o sinapsis hasta que la salida de la red esta "lo suficientemente cerca" de la salida correcta. Recuperacin de lo aprendido. A la red se le presenta un conjunto de estmulos de entrada y esta simplemente calcula su salida.

Requieren de algn tipo de patrn

La clase de problemas que mejor se resuelven con las redes neuronales son los mismos que el ser humano resuelve mejor: Asociacin, evaluacin, y reconocimiento de patrones. Las redes neuronales son perfectas para problemas que son muy difciles de calcular pero que no requieren de respuestas perfectas, slo respuestas rpidas y buenas

VENTAJAS

1 2

Aprendizaje Adaptativo: capacidad de aprender a realizar tareas basadas en un entrenamiento o en una experiencia inicial.
Auto-organizacin: una red neuronal puede crear su propia organizacin o representacin de la informacin que recibe mediante una etapa de aprendizaje.
Tolerancia a fallos: la destruccin parcial de una red conduce a una degradacin de

3 4
5

su estructura ; sin embargo, algunas capacidades de la red se pueden retener, incluso sufriendo un gran dao. Operacin en tiempo real. Los cmputos neuronales pueden ser realizados en paralelo; para esto se disean y fabrican mquinas con hardware especial para obtener esta capacidad. Fcil insercin dentro de la tecnologa existente. Se pueden obtener chips especializados para redes neuronales que mejoran su capacidad en ciertas tareas. Ello facilitar la integracin modular en los sistemas existentes.

CONCEPTO:

Los procesos colectivos que son importantes en computacin neuronal no pueden implementarse por computacin digital. Por todo ello, el cerebro debe ser un computador analgico.
FUNDAMENTOS DE LAS REDES NEURONALES:

Las Redes Neuronales Artificiales fueron originalmente una simulacin abstracta de los sistemas nerviosos biolgicos, formados por un conjunto de unidades llamadas "neuronas" o "nodos" conectadas unas con otras.

MODELOS Redes Neuronales de tipo Biolgico

Se estima que el cerebro humano contiene ms de cien mil millones de neuronas y sinapsis en el sistema nervioso humano. Estudios sobre la anatoma del cerebro humano concluyen que hay ms de 1000 sinapsis a la entrada y a la salida de cada neurona.

Hay tres partes en una neurona:

el cuerpo de la neurona, ramas de extensin llamadas dendritas para recibir las entradas. un axn que lleva la salida de la neurona a las denditras de otras neuronas.

Las caractersticas son las siguientes: Auto Organizacin y Adaptabilidad:


Utilizan algoritmos de aprendizaje adaptativo y auto organizacin

Procesado no Lineal

Es la capacidad de la red de aproximar, clasificar y su inmunidad frente al ruido.

Procesado paralelo

Normalmente se usa un gran nmero de clulas de Procesado por el alto nivel de interconectividad.

Si se tienen N unidades (neuronas), donde su trabajo consiste en recibir las entradas de las clulas vecinas y calcular un valor de salida. Unidades de entrada
Se caracterizan por 3 tipos de Unidades Unidades de salida Unidades ocultas
Recibir seales del entorno Envan seales afuera del sistema
Son aquellas donde las entradas y salidas se encuentran dentro del Sistema.No tiene contacto con el exterior.

= 1 , . . , ()

N nmeros reales. A(t), que representa el estado de activacin del conjunto de unidades de procesamiento t el tiempo

Existen 2 estados de activacin

Se le asigna un valor binario por un 0, si se encuentra en un estado pasivo


Se le asigna un valor binario por un 1(emisin de impulso)

Asociada a cada unidad Ui (neurona) hay una funcin de salida ( ()), que transforma el estado actual de activacin en una seal de salida: = .

Existen 3 funciones:

Funcin escaln Funcin lineal o mixta. Funcin Sigmoidal

La funcin escaln 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 activacin escuando menor, la 1, si es la pendiente es elevada, esta funcin activacin es 0 ( 1). tiende a la funcin escaln. La

importancia de sta funcin es que su lineal o mixta corresponde a la La funcin derivada es siempre positiva y cercana a F(x) =x. En las neuronas con funcin cero para los valores grandes positivosmixta si la suma de las seales de funcin o negativos; adems toma su valor mximo menor que un lmite inferior, la entrada es cuando x es cero. activacin se define como 0 ( 1). Si dicha suma es mayor o igual que el lmite superior, entonces la activacin es 1.

Parmetros: Es la organizacin de las neuronas en la red formando capas o agrupaciones de neuronas ms o menos alejadas de la entrada y salida de la red
El nmero de capas El nmero de neuronas por capa El grado de conectividad Tipo de conexiones entre neuronas

Los cambios que se producen durante el proceso de aprendizaje se reducen a:

Es el proceso por el cual una red neuronal modifica sus pesos en respuesta a una informacin de entrada.

Destruccin modificacin creacin de conexiones entre las neuronas.

se realiza mediante un entrenamiento controlado por un agente externo (supervisor o maestro) que determina la respuesta que debera generar la red a partir de una entrada determinada. El supervisor comprueba la salida de la red y en caso de que sta no coincida con la deseada, se proceder a modificar los pesos de las conexiones, con el fin de que la salida obtenida se aproxime a la deseada.

Existen 3 formas:

Aprendizaje por correccin de error Aprendizaje por refuerzo Aprendizaje estocstico

w ji yi (d j y j )

Consiste en ajustar los pesos de las conexiones de la red en funcin de la diferencia entre los valores deseados y los obtenidos en la salida de la red

= ( )

: Es la variacin del peso de la conexin entre las neuronas (= )

: : valor de la salida deseado para la neurona j : (0 << 1)

Es un aprendizaje ms lento que el anterior, que se basa en la idea de no disponer de un ejemplo completo del comportamiento deseado; es decir, de no indicar durante el entrenamiento exactamente la salida que se desea que proporcione la red ante una determinada entrada. En el aprendizaje por refuerzo la funcin del supervisor se reduce a indicar mediante una seal de refuerzo si la salida obtenida en la red se ajusta a la deseada (xito = +1 o fracaso = -1), y en funcin de ello se ajustan los pesos basndose en un mecanismo de probabilidades.

Consiste bsicamente en realizar cambios aleatorios en los valores de los pesos de las conexiones de la red y evaluar su efecto a partir del objetivo deseado y de distribuciones de probabilidad.

Las redes con dicho aprendizaje no requieren de influencia externa para ajustar los pesos de las conexiones entre sus neuronas. La red no recibe ninguna informacin por parte del entorno que le indique si la salida generada en respuesta de una entrada es o no correcta. Suele decirse que estas redes son capaces de autoorganizarse. Estas redes deben encontrar las caractersticas, regularidades, correlaciones o categoras que se pueden establecer entre los datos que se presentan en su entrada.

GRACIAS
=)

También podría gustarte