Beruflich Dokumente
Kultur Dokumente
Resumen
En el presente trabajo se hablar
a de la implementacion de un algoritmo para la optimizacion
de un circulo usando n
umeros aleatorios.
Se explicar
a lo que se hizo, y los resultados obtenidos del algoritmo implementado asi como el
codigo empleado, mostrando conclusiones y el trabajo que faltara para desarrollar un algoritmo
que muestre resultados positivos y con mayor exactitud posible.
Palabras clave: Optimizaci
on de circulos, n
umeros aleatorios, algoritmo genetico
1.
Introducci
on
Como se menciona en el titulo, se abordara un poco de lo que son los algoritmos geneticos,
Existen muchos metodos para la identificacion de numeros aleatorios, estos son muy usados para
diversas aplicaciones y de como algunos dependiendo de su implementacion son mas precisos a
comparacion de otros metodos.
Los algoritmos geneticos son series de pasos organizados que describen el proceso que se debe
llevar a cabo para llegar a una solucion a un problema especifico. Esta herramienta surgio en el
a
no de 1970 de la mano de John Henry Holland, siendo una linea prometedora en la tematica
de inteligencia artificial. Estos algoritmos deben su nombre a que se inspiraron en la evolucion
biol
ogica y su base genetico-molecular. estos hacen que una poblacion evolucione al someterla a
acciones aleatorias, parecidas a las que sufre la evolucion biologica (mutaciones y recombinaciones
geneticas).
Diferentes tecnicas para la optimizacion de estos algoritmos han sido desarrollados a traves
de los a
nos. Muchos de estos intentos son muy antiguos, y tamabien varia la precision que estos
muestran en su implementaci
on.
1.1.
K-Means
Este es uno de los algoritmos de aprendizaje no supervisado mas simples y conocidos para
resolver el problema de la clasificaci
on automatica.
El procedimiento radica en clasificar un conjunto dado de datos en cierto n numero de grupos(clusters) fijados a priori (se asume k grupos). La idea principal es definir k centroides(n
ucleos),
uno para cada grupo. Posteriormente se analiza cada individuo (punto en el conjunto de datos
inicial) y se asocia con el n
ucleo m
as cercano. [1]
K
D(xi , cj )
Inercia =
j=1 ij
(1)
D(xi , cj ) =
(2)
v=1
La ventaja principal de este algoritmo es la rapidez con la que encuentra la clasificacion optima,
no obstante la agravante es que dicho optimo no es necesariamente el optimo global, ya que por
su estrategia de b
usqueda el algoritmo cae en mnimos locales.
1.2.
Algoritmo gen
etico
2.
(3)
datos =[ rand (350 ,1) rand (350 ,1) rand (350 ,1) ];
figure ;
plot3 ( datos (: ,1) , datos (: ,2) , datos (: ,3) , . r ) ;
hold on
grid on
Figura 1: C
odigo para generacion de n
umeros aleatorios
Con el cual generamos una nube de n puntos aleatorios en (x, y, z) y la graficamos para
observarla en el plano tridimensional de la figura 2.
1
n
ai =
i=1
a1 + a2 + . . . + an
n
(4)
Esta nos hace un promedio al sumar a todos nuestros puntos en el espacio R3 para despues
dividirlo entre el numero total de muestras de nuestra poblacion aleatoria. Para generar una distancia considerable hacemos uso de a desviacion estandar, la cual esta dada por.
s2 =
n
i=1 (xi
x
)2
n1
(5)
Y que nos servira como radio entre la media y la desviacion estandar para generar una esfera
que encierre a nuestros valores mas significativos, discriminando a todos los que se encuentren
fuera de nuestro rango.
Figura 3: Gr
afica con la media aritmetica y la desviacion estandar
En la figura 3 Se puede observar al centroide de los puntos aleatorios que uestra nuestra media
aritmetica y esta representada con una X en color azul, y a un costado, representado en un circulo
en color azul se ubica la desviacion estandar la cual nos muestra el radio de nuestra esfera que
debemos graficar.
2.1.
Programa
A contiuaci
on en la figura 4 se muestra el programa que se obtuvo al final, faltando en el la
discriminacion de los puntos fuera del radio de la desviacion estandar, asi como el ciclo que logre
visualizar la esfera en la grafica en R3 .
clc
clear all
close all
t =0: pi /40:2* pi ;
datos =[ rand (350 ,1) rand (350 ,1) rand (350 ,1) ];
figure ;
plot3 ( datos (: ,1) , datos (: ,2) , datos (: ,3) , . r ) ;
hold on
grid on
med1 = mean ( datos ,1) ;
plot3 ( med1 (: ,1) , med1 (: ,2) , med1 (: ,3) , x ) ;
s = std ( datos ,1) ;
plot3 ( s (: ,1) ,s (: ,2) ,s (: ,3) , o ) ;
x =( s (: ,1) *( cos ( t ) ) + med1 (: ,1) ) ;
y =( s (: ,2) *( sin ( t ) ) + med1 (: ,2) ) ;
z =( s (: ,3) *( sin ( t ) ) + med1 (: ,3) ) ;
plot3 (x ,y ,z , b )
3.
Resultados
La implementaci
on de nuestro algoritmo nos permite visualizar un circulo el cual dentro se
mantienen los valores que deseamos conservar, por el contrario, fuera de este circulo se ubican
aquellos puntos que deseamos discriminar de nuestra grafica, en la figura 5 podemos observar
dicho circulo de color azul.
Figura 5: Gr
afica con la media aritmetica y la desviacion estandar
4.
Conclusiones
En conclusion de este trabajo podemos observar que es posibe filtrar datos que se ubiquen
fuera de un rango eseado, lamentablemente no se ha alcanzado a terminar el codigo que mostrara
el resultado fiinal pero se tiene en mente los alcances que faltan dentro del trabajo, dentro de los
cuales estan elaborar los ciclos for que permitan visualizar el barrido de nuestra esfera en R3 y
que con esto se implementaria un filtro al poder modificar los datos aleatorios que se observan en
la grafica, y eliminar aquellos datos que pretendemos discriminar de nuestro algoritmo.
Referencias
[1] Fabio Fern
andez Jimenez, Alex Murillo Fernandez Clasificaci
on Autom
atica Simb
olica por
medio de Algoritmos Geneticos, Revista de Matematica: Teora y Aplicaciones, (2009)
[2] Bernabe Dorronsoro Daz, Dise
no e Implementaci
on de Algoritmos Geneticos Celulares para
Problemas Complejos, Tesis Doctoral, Lenguajes y Ciencias de la Computacion /Universidad
de M
alaga, (2006)