SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
1
Algoritmo Gen´etico para predecir los cuatro
mejores Equipos de F´utbol del Mundial 2014
Armijos-Cartuche, Andrea-Elizabeth and Rojas-Livisaca, Ronald-Fabricio. (Estudiantes Ingenier´ıa en Sistemas)
Paz-Arias, Henry-Patricio Ingeniero en Sistemas
Resumen—Genetic algorithms are an achievement of Artificial
Intelligence in its attempt to replicate biological behaviors, with
scientific advances that implies, through computation. They are
search algorithms based on the mechanics of natural selection
and genetics. They use historical data to find new points of search
for an optimal solution of the problem. In this paper a genetic
algorithm is performed to predict the top four teams of the World
Cup 2014.
Index Terms—Algoritmos Gen´eticos, Equipos de F´utbol, Mun-
dial 2014
I. INTRODUCCI ´ON
El comportamiento del ser humano en su entorno con el
paso del tiempo ha ido aumentando. As´ı mismo, va compren-
diendo que, si era capaz de controlar muchos aspectos de la
vida cotidiana, y su actuar con lo que le rodeaba, no lo era
para otros.
Pues es as´ı que la inteligencia artificial es responsable de
muchos de esos logros. Los pioneros de esta ciencia estaban
tan interesados en la electr´onica, como en la biolog´ıa, y por
eso sus aplicaciones iban desde tratar de modelizar el cerebro,
de imitar el proceso de aprendizaje humano, y de simular la
evoluci´on biol´ogica[3].
Tras varios a˜nos se marca el florecimiento del inter´es
de la comunidad cient´ıfica por estos temas computacionales
inspirados en la biolog´ıa, que han visto como su desarrollo
les llevaba a cosas inimaginables, primero en el campo de las
Redes Neuronales, luego en el del Aprendizaje, y por ´ultimo
en lo que ahora se conoce como “computaci´on evolutiva”,
de la que los algoritmos gen´eticos constituyen su m´aximo
exponente[3].
II. ESTADO DEL ARTE
II-A. Algoritmos Gen´eticos
II-A1. Antecedentes hist´oricos: Los algoritmos gen´eticos
tienen sus antecedentes en la biolog´ıa y comienzan con Charles
Darwin, que con su libro El origen de las especies por
medio de la selecci´on natural o la preservaci´on de las razas
favorecidas en su lucha por la vida, nos habla sobre los
principios de la selecci´on natural.
Charles Darwing Los principios b´asicos de los algoritmos
gen´eticos se derivan de las Leyes de la Vida Natural descritos
por Darwin:
A. Armijos, Universidad Nacional de Loja, Loja, Ecuador, E-mail:
aearmijosc@unl.edu.ec
R. Rojas, Universidad Nacional de Loja, Yanzatza, Ecuador, E-mail:
rfrojasl@unl.edu.ec
Existe una poblaci´on de individuos con diferentes propie-
dades y habilidades. As´ı mismo existe una limitaci´on sobre el
n´umero de individuos que existen en una determinada pobla-
ci´on. La naturaleza crea nuevos individuos con propiedades
similares a los individuos existentes. Los individuos m´as pro-
metedores se seleccionan m´as a menudo para la reproducci´on
de acuerdo con la selecci´on natural. Los algoritmos gen´eticos
imitan los principios de la vida descritos y los utilizan para
prop´ositos de optimizaci´on.
Una de las principales deficiencias del argumento de Darwin
es que, a pesar de que la herencia juega un papel preponde-
rante en su teor´ıa, no ofrece una explicaci´on acerca de su
funcionamiento. Sin embargo, desde Mendel se conoce que la
herencia se produce a trav´es del c´odigo gen´etico presente en
las c´elulas reproductivas [5].
II-A2. Definici´on: Los Algoritmos Gen´eticos (AGs) son
m´etodos adaptativos que pueden usarse para resolver pro-
blemas de b´usqueda y optimizaci´on. Est´an basados en el
proceso gen´etico de los organismos vivos. A lo largo de las
generaciones, las poblaciones evolucionan en la naturaleza
de acorde con los principios de la selecci´on natural y la
supervivencia de los m´as fuertes, postulados por Darwin.
Por imitaci´on de este proceso, los Algoritmos Gen´eticos son
capaces de ir creando soluciones para problemas del mundo
real. La evoluci´on de dichas soluciones hacia valores ´optimos
del problema depende en buena medida de una adecuada
codificaci´on de las mismas[1].
B´asicamente, el Algoritmo Gen´etico funciona como sigue:
en cada generaci´on, se crea un conjunto nuevo de “criaturas
artificiales” (cadenas) utilizando bits y partes m´as adecuadas
del progenitor. Esto involucra un proceso aleatorio que no es,
en absoluto, simple. La novedad que introducen los Algorit-
mos Gen´eticos es que explotan eficientemente la informaci´on
hist´orica para especular sobre nuevos puntos de b´usqueda,
esperando un funcionamiento mejorado[2].
Una de sus caracter´ısticas principales es la de ir perfec-
cionando su propia heur´ıstica en el proceso de ejecuci´on,
por lo que no requiere largos per´ıodos de entrenamiento
especializado por parte del ser humano, principal defecto de
otros m´etodos para solucionar problemas, como los Sistemas
Expertos[1].
II-A3. Clases de Algoritmos Gen´eticos: A continuaci´on,
se describen las clases de algoritmos gen´eticos:
Generacionales: Se asemejan a la forma de reproducci´on
de los insectos, donde una generaci´on pone huevos, se
aleja geogr´aficamente o muere y es sustituida por una
2
nueva.
De estado fijo: Utilizan el esquema generacional de
los mam´ıferos y otros animales de vida larga, donde
coexisten padres y sus descendientes, permitiendo que los
hijos sean educados por sus progenitores, pero tambi´en
que a la larga se genere competencia entre ellos.
Paralelo: Se origina dos modelos que toman en cuenta
esta variaci´on, y utilizan no una poblaci´on como los
anteriores sino m´ultiples concurrentemente.
Modelos de Isla: Si se tiene una poblaci´on de indivi-
duos, esta se divide en sub-poblaciones que evolucionan
independientemente. Ocasionalmente se producen migra-
ciones entre ellas permiti´endoles intercambiar material
gen´etico.
Modelo celular: Los individuos est´an distribuidos al
azar sobre la matriz. Posteriormente empiezan a emerger
zonas como cromosomas y adaptaciones semejantes. La
reproducci´on y selecci´on local crea tendencias evolutivas
aisladas[2].
II-A4. Representaci´on: Todos los organismos vivos est´an
constituidos por c´elulas, y cada c´elula contiene uno o m´as
cromosomas (cadenas de ADN), que le sirven como una
especie de “plano” al organismo. Un cromosoma puede ser
conceptualmente dividido en genes cada uno de los cuales
codifica una prote´ına. En t´erminos generales, se puede decir
que un gen se codifica como si fuera un rasgo, como puede
serlo el color de ojos. Cada gen se encuentra en una posici´on
particular del cromosoma, y est´a formado por alelos.
Se supone que los individuos, pueden representarse como un
conjunto de par´ametros (genes), los cuales agrupados forman
una ristra de valores, a menudo referida como cromosoma.
Debe existir una representaci´on de estos genes para poder
utilizarlos posteriormente en el algoritmo gen´etico y dotarles
de unos valores. Se pueden considerar tres tipos b´asicos de
representaci´on o codificaci´on de los genes[5]
Binaria: en ella se utiliza un vector cuya longitud es la
del n´umero de genes de cada individuo y el valor que
puede tomar cada elemento es un n´umero binario.
Entera: en ella se utiliza un vector cuya longitud es la
del n´umero de genes de cada individuo y el valor que
puede tomar cada elemento es un n´umero entero.
Real: en ella se utiliza un vector cuya longitud es la del
n´umero de genes de cada individuo y el valor que puede
tomar cada elemento es un n´umero real[5].
II-B. Algoritmo
Fig 1: Esquema Algoritmo
Desarrollado por John H. Holland, el algoritmo gen´etico
opera entonces a nivel de genotipo de las soluciones mediante
la siguiente secuencia:
1. Comenzar con una poblaci´on inicial, la cual puede ser
generada de manera aleatoria.
2. Calcular el fitness (aptitud) de cada individuo.
3. Aplicar el operador de selecci´on con base en el fitness
de la poblaci´on.
4. Aplicar los operadores gen´eticos de reproducci´on, cruce
y mutaci´on a la poblaci´on actual para generar a la
poblaci´on de la siguiente generaci´on.
5. Ir al paso 2 hasta que la condici´on de parada se satisfaga.
6. Cuando se cumple la condici´on de parada, se devuelve
al mejor individuo encontrado (bien el mejor de todas
las generaciones, bien el mejor de la ´ultima generaci´on).
Al igual que en muchas otras heur´ısticas, el comportamien-
to del algoritmo gen´etico es altamente dependiente de los
par´ametros iniciales (tama˜no de la poblaci´on, porcentaje de
cruce, porcentaje de mutaci´on, n´umero de generaciones, etc.),
por lo que ser´a necesario ajustar esos par´ametros para tratar
de mejorar la soluci´on para los objetivos del problema. A
cada iteraci´on de este proceso se le denomina una generaci´on.
Un algoritmo gen´etico t´ıpicamente se itera de 50 a 500 o
incluso m´as generaciones. El conjunto entero de generaciones
se denomina una ejecuci´on. Al final de una ejecuci´on existen
a menudo uno o varios cromosomas altamente adecuados en
la poblaci´on, y que pueden ser elegidos como soluci´on al
problema.
La funci´on de evaluaci´on o de fitness de un problema es
realmente la funci´on que se desea optimizar. Su dise˜no es junto
con el del genotipo, una de las caracter´ısticas m´as importantes
a la hora de encontrar la mejor soluci´on a un problema.
II-B1. Elementos de Algoritmos Gen´eticos: Como los AGs
se encuentran basados en los procesos de evoluci´on de los
seres vivos, casi todos sus conceptos se basan en biolog´ıa y
gen´etica que son f´aciles de comprender.
Individuos: Un individuo es un ser que caracteriza su
propia especie. El individuo es un cromosoma y es el
c´odigo de informaci´on sobre el cual opera el algoritmo.
Cada soluci´on parcial del problema a optimizar est´a co-
dificada en forma de cadena o String en un alfabeto
determinado, que puede ser binario[2].
Fig 1: Individuos
3
Poblaci´on: A un conjunto de individuos (Cromosomas)
se le denomina poblaci´on. El m´etodo de AGs consiste en
ir obteniendo de forma sucesiva distintas poblaciones.
Operadores Gen´eticos: Son los diferentes m´etodos u ope-
raciones que se pueden ejercer sobre una poblaci´on y que nos
permiten poblaciones nuevas[2]:
Selecci´on: El proceso de selecci´on sirve para escoger a
los individuos de la poblaci´on mejor adaptados, para que
act´uen de progenitores de la siguiente generaci´on. En la
naturaleza existen varios factores que intervienen para
que un individuo pueda tener descendencia.
Sin embargo, en la realidad es posible que “el mejor”
individuo no pueda reproducirse, pero otro individuo de
“peor calidad” pueda conseguirlo. Aunque este hecho es
menos probable, sigue siendo posible. En los algoritmos
gen´eticos, la selecci´on es un conjunto de reglas que
sirven para elegir a los progenitores de la siguiente
generaci´on. Estos progenitores se reproducir´an y gene-
rar´an descendencia. Un sistema muy utilizado en los
algoritmos gen´eticos es la selecci´on por torneo. Este sis-
tema consiste en escoger aleatoriamente de la poblaci´on
un cierto n´umero de individuos. De esos individuos se
escoge el mejor de todos para ser el padre. Para escoger
la madre se repite el proceso[5].
Reproducci´on: En este contexto, se entender´a por “re-
producci´on” la clonaci´on de un individuo. Es decir, un
individuo pasar´a a la siguiente generaci´on sin modifi-
caci´on. De esta manera, la reproducci´on es un operador
gen´etico que se contrapone al cruce y la mutaci´on, puesto
que estos ´ultimos modifican los individuos que pasan a
la siguiente generaci´on. El objetivo de la reproducci´on
es mantener en la siguiente generaci´on a individuos con
fitness alta de la presente generaci´on.
Relacionado con el concepto de reproducci´on est´a el de
“elitismo”, el cual mantiene a los mejores individuos de
una generaci´on a la siguiente, para que no se pierda su
informaci´on[5].
Cruce: Se trata de un operador cuya labor es elegir
un lugar, y cambiar las secuencias antes y despu´es de
esa posici´on entre dos cromosomas, para crear nueva
descendencia (por ejemplo, las cadenas 10010011 y
11111010 pueden cruzarse despu´es del tercer lugar para
producir la descendencia 10011010 y 11110011). Imita la
recombinaci´on biol´ogica entre dos organismos haploides.
Fig 2: Cruce
Mutaci´on: Este operador produce variaciones de modo
aleatorio en un cromosoma (por ejemplo, la cadena
00011100 puede mutar su segunda posici´on para dar
lugar a la cadena 01011100). La mutaci´on puede darse
en cada posici´on de un bit en una cadena, con una
probabilidad, normalmente muy peque˜na (por ejemplo
0.001)[2].
Fig 3: Mutaci´on
Estructura de Algoritmos Gen´eticos:
Fig 4: Estructura General de Algoritmos Gen´eticos
Codificaci´on: los elementos caracter´ısticos del problema
se pueden representar de tal forma que resulte sencilla
su implementaci´on y comprensi´on.
Poblaci´on inicial: para constituir la poblaci´on inicial,
que ser´a la poblaci´on base de las sucesivas generaciones,
existen varios m´etodos.
Funci´on Fitness: asigna a cada cromosoma un n´umero
real, que refleja el nivel de adaptaci´on al problema del
individuo representado por el cromosoma. La funci´on de
aptitud (fitness) es la que permite valorar la aptitud de
los individuos y debe tomar siempre valores positivos.
Ambas funciones suelen ser iguales, pero puede ser
que la funci´on objetivo sea muy compleja, tome valores
negativos, o no proporcione un valor num´erico y, por
lo tanto, sea necesario definir una funci´on de aptitud
diferente. En un algoritmo gen´etico la informaci´on ha de
codificarse para poder trabajar adecuadamente con ella.
C´omo hemos visto, existen numerosos sistemas de codifi-
caci´on, aunque nosotros utilizaremos la codificaci´on real.
Una vez definido el sistema de codificaci´on a emplear se
ver´a c´omo act´uan los operadores b´asicos de selecci´on,
cruce y mutaci´on sobre este c´odigo.
Selecci´on: es el proceso por el cual se eligen una o varias
parejas de individuos de la poblaci´on inicial para que
desempe˜nen el papel de progenitores, cruz´andose poste-
riormente y obteniendo descendencia o permaneciendo
en la siguiente generaci´on.
Cruzamiento: el operador cruce permite el intercam-
bio de informaci´on entre individuos de una poblaci´on,
recombinando los cromosomas, dando lugar a nuevos
individuos.
Mutaci´on: el operador mutaci´on se aplica tras el
cruce con el objetivo de incrementar la diversidad
poblacional[2].
II-B2. Implementaci´on de Algoritmos Gen´eticos en Java:
Para la implementaci´on de algoritmos gen´eticos, disponemos
de un framework para Java llamado JGAP (Java Genetic
Algorithms Package)
4
JGAP proporciona los m´etodos y mecanismos b´asicos para
implementarlo. Fue dise˜nado para que fuera muy f´acil de
usar, siendo altamente modular y configurable, llegando a
ser realmente f´acil crear incluso nuevos y personalizados
operadores gen´eticos.
Se distribuye bajo licencia GPL. En su p´agina web podemos
encontrar gran variedad de ejemplos de uso y documenta-
ci´on[5].
A continuaci´on mostramos el diagrama de clases implemen-
tado en JGAP:
Fig 5: Diagrama de clases implementado en JGAP
JGAP: El mismo est´a dise˜nado para hacer casi todo el tra-
bajo evolutivo para que de una manera relativamente gen´erico.
Sin embargo, no se tiene conocimiento de la problem´atica
espec´ıfica que en realidad est´as tratando de resolver, y por
lo tanto no tiene manera intr´ınseca de decidir si una posible
soluci´on es mejor que otra posible soluci´on para su problema
espec´ıfico. Ah´ı es donde la funci´on de aptitud entra en juego:
se trata de un m´etodo ´unico que debe implementar que acepte
una soluci´on potencial problema y devuelve un valor entero
que indica lo bien (o .ajuste”) que la soluci´on est´a en relaci´on
con otras posibles soluciones. Cuanto mayor sea el n´umero,
mejor ser´a la soluci´on. Cuanto m´as bajo sea el n´umero (1
es el valor m´as bajo de la aptitud legal), el m´as pobre es la
soluci´on. JGAP utilizar´a estas mediciones de la aptitud para
evolucionar la poblaci´on de soluciones hacia un sistema m´as
´optimo de las soluciones[6].
II-C. Mundial 2014
La Copa Mundial de la FIFA Brasil 2014 ser´a la XX edici´on
de la Copa Mundial de F´utbol. Esta versi´on del torneo se
realizar´a en Brasil entre el 12 de junio y el 13 de julio de
2014, siendo la segunda vez que este certamen deportivo se
realiza en Brasil despu´es de la Copa Mundial de F´utbol de
1950.
En 2004, la FIFA eligi´o a Sudam´erica como sede de la
Copa Mundial de 2014. Pese al entusiasmo inicial de algunos
pa´ıses, solo Brasil y Colombia presentaron sus candidaturas
oficiales antes del cierre del plazo, el 18 de diciembre de
2006. Algunos meses despu´es, Colombia retir´o su candidatura,
dejando como ´unico postulante a Brasil. El 30 de octubre de
2007, la FIFA design´o de manera oficial a Brasil como el pa´ıs
que albergar´a la Copa del Mundo de F´utbol de 2014.
El ganador del torneo participar´a en su calidad de campe´on
del mundo en Copa FIFA Confederaciones 2017, a realizarse
en Rusia.
Como dato destacable, por primera vez en una Copa Mun-
dial de F´utbol, los partidos utilizar´an la tecnolog´ıa que ofrece
el bal´on inteligente, para determinar en jugadas dudosas, si el
bal´on cruz´o o no toda la l´ınea de gol.
II-C1. Grupos del Mundial :
Fig 6: Grupos Mundial 2014
II-C2. Ranking de la FIFA :
Fig 7: Ranking FIFA Mundial 2014
5
II-C3. N´umero de Campeonatos Obtenidos :
Fig 8: Equipos Campeonatos
III. RESULTADOS
III-A. Vistas Equipos del Mundial 2014
Pantalla Principal
Para inicializar tenemos la pantalla principal donde me
presenta el men´u archivo que contiene diversas opciones
que se podr´an efectuar en este proyecto.
Fig 9: Pantalla Principal
Men´u Archivo
En la cual tenemos las opciones de: Agregar Equipos, Ver
Grupos clasificados, Generar cuatro mejores equipos del
mundial 2014, Buscar equipos y Ver equipos clasificados.
Fig 10: Men´u Archivo
Men´u Agregar Equipos
Nos presenta la pantalla donde se van a ingresar los
datos de cada equipo, los cuales son c´odigo, continente,
nombre del equipo, puntos del ranking, posici´on del
ranking, grupo en el cual se encuentra, t´ıtulos ganados
y la informaci´on acerca de los tres ´ultimos partidos
jugados.
Fig 11: Agregar Equipos
Men´u Ver Grupos
Donde podremos visualizar los grupos que contiene a los
equipos clasificados para el mundial 2014.
Fig 12: Ver Grupos
Men´u Generar cuatro mejores equipos
En esta pantalla se podr´a efectuar la generaci´on de
acuerdo al algoritmo gen´etico de los cuatro mejores
equipos del mundial 2014.
Fig 13: Generar cuatro mejores equipos
6
Para darnos cuenta que de acuerdo a la funci´on fitness
los equipos no siempre ser´an los mismos, se presenta tres
ejecuciones efectuadas, donde se var´ıa los equipos gene-
rados como los cuatros mejores del mundo. Y adem´as
la consola que presenta las interacciones realizadas para
efectuar esta generaci´on.
1. Primera Ejecuci´on
Fig 14: Primera Ejecuci´on
2. Segunda Ejecuci´on
Fig 15: Segunda Ejecuci´on
Men´u Buscar Equipo En esta pantalla se podr´a efectuar
b´usquedas sea por c´odigo, equipo, grupo o contiene.
Fig 16: Buscar Equipo
1. B´usqueda por Grupo
Fig 17: B´usqueda por Grupo
Modificar Equipo
Dentro de la pantalla b´usqueda adem´as tenemos la opci´on
de Editar Equipo, la cual nos env´ıa a una nueva pantalla
para editar los datos de cada equipo, tomando en cuenta
que no se puede dejar campos vac´ıos.
Fig 18: Modificar Equipo
1. Resultado Equipo Modificado
Fig 19: Equipo Modificado
Men´u Ver Equipos Clasificados En esta pantalla se vi-
sualiza todos los equipos ingresados.
Fig 20: Equipos Clasificados
7
III-B. Funci´on Fitness
M´etodo FitnessFunction(evaluate): En este m´etodo nos
da el valor de aptitud de acuerdo al problema a resolver.
Adem´as realiza un recorrido de la poblaci´on para obtener
los individuos de la poblaci´on e ir comparando para
escoger la soluci´on optima.
Fig 21: FitnessFunction(evaluate)
M´etodo getGenreScore: En este m´etodo obtengo los
valores de cada individuo para determinar s´ı es o no el
mejor.
Fig 22: getGenreScore
M´etodo SeleccionarFittestEquipos: Es un m´etodo para
presentar los valores en consola de acuerdo a la poblaci´on
evolucionada.
Fig 23: SeleccionarFittestEquipos
M´etodo testSelectFitnesstEquipos: Me permite obtener el
valor de la poblaci´on de acuerdo al valor de aptitud o
fitness.
Fig 24: testSelectFitnesstEquipos
M´etodo TestEquipoFitness: Este m´etodo es toda la con-
figuraci´on inicial.
Fig 25: TestEquipoFitness
8
IV. CONCLUSIONES
• Los algoritmos gen´eticos tienen la ventaja de ofrecer un
mecanismo adaptativo de resoluci´on de problemas, de
forma que aunque el problema cambie, ´este se pueda
seguir resolviendo. Resolver un problema cambiante”,
llevado al l´ımite, es igual a Resolver cualquier problema”.
Seg´un este planteamiento podr´ıamos pensar en dise˜nar
un esquema com´un que facilite a los agentes aprender
en cualquier entorno de problema.
• Los algoritmos gen´eticos garantizan la b´usqueda de una
soluci´on optima para las condiciones particulares del
problema a trav´es de un procedimiento aleatorio de
ensayo y error.
• En el desarrollo de un algoritmo gen´etico se realiza
un an´alisis, se plantea la estructura del cromosoma,
la poblaci´on con la que se trabajar´a, los m´etodos de
evaluaci´on, selecci´on, cruzamiento y mutaci´on.
• Estos tienen un gran atractivo debido a la capacidad para
encontrar un balance de explotaci´on y exploraci´on de
soluciones a lo largo de su evoluci´on.
• En algoritmos gen´eticos la parte m´as importante es la
funci´on de .adaptaci´on2
a que de acuerdo a esta evolucio-
nan los par´ametros indicados.
• La estructura general del algoritmo usualmente es la
misma para cualquier aplicaci´on pr´actica, por lo cual
perfectamente pudo dar la soluci´on de los cuatro mejores
equipos del mundial 2014.
V. RECOMENDACIONES
• En cuanto al desarrollo de un algoritmo inform´atico
es preferible realizar un estudio sobre el tama˜no de la
poblaci´on y la cantidad de evoluciones que es propicio
utilizar en el modelo a implementarse, ya que esto im-
plica en el comportamiento del Algoritmo y la ejecuci´on
del sistema.
• Realizar un estudio m´as profundo del tema algoritmos
gen´eticos ya que este permite dar soluciones a problemas
de diversa complejidad.
• Para los alumnos de la carrera profesional, efectuar in-
vestigaci´on en cuanto a inteligencia artificial, algoritmos
gen´eticos y sus ramas afines, para contribuir al desarrollo
y mejoramiento tanto personal como institucional.
VI. ENLACE
Disponible en:
http://mundial-ageneticos.googlecode.com/svn/trunk/
mundialBrasil/MundialBrasil2014/
https://github.com/anelar21/Mundial2014
AlgoritmosGeneticos.git
REFERENCIAS
[1] @inproceedingsgeneticos2007, title=Algoritmos G´en´eticos,
url=http://nando1-utb.blogspot.com/p/algoritmos-geneticos.html,
year=2011,
[2] @inproceedingsSocorro2012, author = Socorro, Ingrid and Sevilla,
Patricia and Gamez, Patricio, booktitle = Algoritmos Gen´eticos,
pages = 18, title = expo1-121113073140-phpapp01, url =
http://www.slideshare.net/MarcoGmez/algoritmo-genetico-15154635,
year = 2012
[3] @articleRodriguez-pinero1960, author = Rodr´ıguez-pi˜nero, Piedad
Tolmos, keywords = algoritmo gen´etico, bits,cadena de, capacidad, gen
cromosoma,operador,optimizaci´on, poblaci´on, problemas de b´usqueda,
title = Introducci´on a los algoritmos gen´eticos y sus aplicaciones,
url=http://www.uv.es/asepuma/X/J24C.pdf, year = 1960
[4] @articleRussell, author = Russell, S, file = Tema-3 4 algoritmos
geneticos.pdf:pdf, title = TEMA 3: ´Areas de la IA: Ejemplos de in-
vestigaci´on actual., url = http://personales.upv.es/ccarrasc/extdoc/Tema-
3 4 algoritmos geneticos.pdf
[5] L ´OPEZ Juan Carlos, “Introducci´on a los algoritmos gen´eticos: como
implementar un algoritmo gen´etico en JAVA”, 2010, Recuperado de:
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=jgap
[6] Meffert Klaus, “Primeros Pasos con JGAP”, 2012, Recuperado de:
http://jgap.sourceforge.net/doc/tutorial.html
Andrea Armijos
Estudiante de la Carrera de Ingenier´ıa en Sistemas de la
Universidad Nacional de Loja, Conocedora en An´alisis y Dise˜no de
Software, Gesti´on de Redes, Mantenimiento y Seguridad, Provincia
de Loja, Ciudad Loja, Ecuador, 2014.
Ronald Rojas
Estudiante de la Carrera de Ingenier´ıa en Sistemas de la
Universidad Nacional de Loja, Programador Junior en Matlab, Pro-
gramador Senior en Java, Provincia de Zamora Chinchipe, Ciudad
Yanzatza, Ecuador, 2014.

Más contenido relacionado

La actualidad más candente

Predicción del mundial con Algoritmos Genéticos
Predicción del mundial con Algoritmos GenéticosPredicción del mundial con Algoritmos Genéticos
Predicción del mundial con Algoritmos GenéticosRossy Faican Cango
 
Apunte Algoritmos Geneticos
Apunte Algoritmos GeneticosApunte Algoritmos Geneticos
Apunte Algoritmos GeneticosESCOM
 
10 DiseñO Con Algoritmos GenéTicos
10 DiseñO Con Algoritmos GenéTicos10 DiseñO Con Algoritmos GenéTicos
10 DiseñO Con Algoritmos GenéTicosESCOM
 
Unidad I Ciencia 2016
Unidad I Ciencia 2016Unidad I Ciencia 2016
Unidad I Ciencia 2016peraless
 
Evolución Darwiniana
Evolución DarwinianaEvolución Darwiniana
Evolución DarwinianaClaudia Ortiz
 
Teorias evolucionistas
Teorias evolucionistasTeorias evolucionistas
Teorias evolucionistasRuben Guerra
 
Comentario de textos (antropología)
Comentario de textos (antropología)Comentario de textos (antropología)
Comentario de textos (antropología)Alberto Fernández
 

La actualidad más candente (10)

Predicción del mundial con Algoritmos Genéticos
Predicción del mundial con Algoritmos GenéticosPredicción del mundial con Algoritmos Genéticos
Predicción del mundial con Algoritmos Genéticos
 
Algoritmo genético presentacion
Algoritmo genético presentacionAlgoritmo genético presentacion
Algoritmo genético presentacion
 
Apunte Algoritmos Geneticos
Apunte Algoritmos GeneticosApunte Algoritmos Geneticos
Apunte Algoritmos Geneticos
 
10 DiseñO Con Algoritmos GenéTicos
10 DiseñO Con Algoritmos GenéTicos10 DiseñO Con Algoritmos GenéTicos
10 DiseñO Con Algoritmos GenéTicos
 
Unidad I Ciencia 2016
Unidad I Ciencia 2016Unidad I Ciencia 2016
Unidad I Ciencia 2016
 
Origen
Origen Origen
Origen
 
Biologia matematica
Biologia matematicaBiologia matematica
Biologia matematica
 
Evolución Darwiniana
Evolución DarwinianaEvolución Darwiniana
Evolución Darwiniana
 
Teorias evolucionistas
Teorias evolucionistasTeorias evolucionistas
Teorias evolucionistas
 
Comentario de textos (antropología)
Comentario de textos (antropología)Comentario de textos (antropología)
Comentario de textos (antropología)
 

Similar a Algoritmo Genético (20)

Algoritmos Geneticos - Teoria.pdf
Algoritmos Geneticos - Teoria.pdfAlgoritmos Geneticos - Teoria.pdf
Algoritmos Geneticos - Teoria.pdf
 
Int.art.equipo02
Int.art.equipo02Int.art.equipo02
Int.art.equipo02
 
Algotitmos geneticos mundial
Algotitmos geneticos mundialAlgotitmos geneticos mundial
Algotitmos geneticos mundial
 
AGs
AGsAGs
AGs
 
Algoritmos genéticos
Algoritmos genéticosAlgoritmos genéticos
Algoritmos genéticos
 
Jgap algritmos geneticosss
Jgap  algritmos geneticosssJgap  algritmos geneticosss
Jgap algritmos geneticosss
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
Genetica y evolucion
Genetica y evolucionGenetica y evolucion
Genetica y evolucion
 
Vida Artificial
Vida ArtificialVida Artificial
Vida Artificial
 
Algoritmos genéticos 2 s lun 30 sep-13
Algoritmos genéticos 2 s lun 30 sep-13Algoritmos genéticos 2 s lun 30 sep-13
Algoritmos genéticos 2 s lun 30 sep-13
 
Artículo predicción mundial 2014 algoritmos geneticos
Artículo predicción mundial 2014   algoritmos geneticosArtículo predicción mundial 2014   algoritmos geneticos
Artículo predicción mundial 2014 algoritmos geneticos
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
computacion Evolutiva
computacion Evolutivacomputacion Evolutiva
computacion Evolutiva
 
Genoma Humano
Genoma HumanoGenoma Humano
Genoma Humano
 

Último

CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfJessLeonelVargasJimn
 
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfAdelaHerrera9
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfpaola110264
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Exposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónExposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónjas021085
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadANDECE
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendioseduardochavezg1
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfReneBellido1
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptxJhordanGonzalo
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxEtse9
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 

Último (20)

CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdf
 
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Exposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónExposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporación
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidad
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendios
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptx
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 

Algoritmo Genético

  • 1. 1 Algoritmo Gen´etico para predecir los cuatro mejores Equipos de F´utbol del Mundial 2014 Armijos-Cartuche, Andrea-Elizabeth and Rojas-Livisaca, Ronald-Fabricio. (Estudiantes Ingenier´ıa en Sistemas) Paz-Arias, Henry-Patricio Ingeniero en Sistemas Resumen—Genetic algorithms are an achievement of Artificial Intelligence in its attempt to replicate biological behaviors, with scientific advances that implies, through computation. They are search algorithms based on the mechanics of natural selection and genetics. They use historical data to find new points of search for an optimal solution of the problem. In this paper a genetic algorithm is performed to predict the top four teams of the World Cup 2014. Index Terms—Algoritmos Gen´eticos, Equipos de F´utbol, Mun- dial 2014 I. INTRODUCCI ´ON El comportamiento del ser humano en su entorno con el paso del tiempo ha ido aumentando. As´ı mismo, va compren- diendo que, si era capaz de controlar muchos aspectos de la vida cotidiana, y su actuar con lo que le rodeaba, no lo era para otros. Pues es as´ı que la inteligencia artificial es responsable de muchos de esos logros. Los pioneros de esta ciencia estaban tan interesados en la electr´onica, como en la biolog´ıa, y por eso sus aplicaciones iban desde tratar de modelizar el cerebro, de imitar el proceso de aprendizaje humano, y de simular la evoluci´on biol´ogica[3]. Tras varios a˜nos se marca el florecimiento del inter´es de la comunidad cient´ıfica por estos temas computacionales inspirados en la biolog´ıa, que han visto como su desarrollo les llevaba a cosas inimaginables, primero en el campo de las Redes Neuronales, luego en el del Aprendizaje, y por ´ultimo en lo que ahora se conoce como “computaci´on evolutiva”, de la que los algoritmos gen´eticos constituyen su m´aximo exponente[3]. II. ESTADO DEL ARTE II-A. Algoritmos Gen´eticos II-A1. Antecedentes hist´oricos: Los algoritmos gen´eticos tienen sus antecedentes en la biolog´ıa y comienzan con Charles Darwin, que con su libro El origen de las especies por medio de la selecci´on natural o la preservaci´on de las razas favorecidas en su lucha por la vida, nos habla sobre los principios de la selecci´on natural. Charles Darwing Los principios b´asicos de los algoritmos gen´eticos se derivan de las Leyes de la Vida Natural descritos por Darwin: A. Armijos, Universidad Nacional de Loja, Loja, Ecuador, E-mail: aearmijosc@unl.edu.ec R. Rojas, Universidad Nacional de Loja, Yanzatza, Ecuador, E-mail: rfrojasl@unl.edu.ec Existe una poblaci´on de individuos con diferentes propie- dades y habilidades. As´ı mismo existe una limitaci´on sobre el n´umero de individuos que existen en una determinada pobla- ci´on. La naturaleza crea nuevos individuos con propiedades similares a los individuos existentes. Los individuos m´as pro- metedores se seleccionan m´as a menudo para la reproducci´on de acuerdo con la selecci´on natural. Los algoritmos gen´eticos imitan los principios de la vida descritos y los utilizan para prop´ositos de optimizaci´on. Una de las principales deficiencias del argumento de Darwin es que, a pesar de que la herencia juega un papel preponde- rante en su teor´ıa, no ofrece una explicaci´on acerca de su funcionamiento. Sin embargo, desde Mendel se conoce que la herencia se produce a trav´es del c´odigo gen´etico presente en las c´elulas reproductivas [5]. II-A2. Definici´on: Los Algoritmos Gen´eticos (AGs) son m´etodos adaptativos que pueden usarse para resolver pro- blemas de b´usqueda y optimizaci´on. Est´an basados en el proceso gen´etico de los organismos vivos. A lo largo de las generaciones, las poblaciones evolucionan en la naturaleza de acorde con los principios de la selecci´on natural y la supervivencia de los m´as fuertes, postulados por Darwin. Por imitaci´on de este proceso, los Algoritmos Gen´eticos son capaces de ir creando soluciones para problemas del mundo real. La evoluci´on de dichas soluciones hacia valores ´optimos del problema depende en buena medida de una adecuada codificaci´on de las mismas[1]. B´asicamente, el Algoritmo Gen´etico funciona como sigue: en cada generaci´on, se crea un conjunto nuevo de “criaturas artificiales” (cadenas) utilizando bits y partes m´as adecuadas del progenitor. Esto involucra un proceso aleatorio que no es, en absoluto, simple. La novedad que introducen los Algorit- mos Gen´eticos es que explotan eficientemente la informaci´on hist´orica para especular sobre nuevos puntos de b´usqueda, esperando un funcionamiento mejorado[2]. Una de sus caracter´ısticas principales es la de ir perfec- cionando su propia heur´ıstica en el proceso de ejecuci´on, por lo que no requiere largos per´ıodos de entrenamiento especializado por parte del ser humano, principal defecto de otros m´etodos para solucionar problemas, como los Sistemas Expertos[1]. II-A3. Clases de Algoritmos Gen´eticos: A continuaci´on, se describen las clases de algoritmos gen´eticos: Generacionales: Se asemejan a la forma de reproducci´on de los insectos, donde una generaci´on pone huevos, se aleja geogr´aficamente o muere y es sustituida por una
  • 2. 2 nueva. De estado fijo: Utilizan el esquema generacional de los mam´ıferos y otros animales de vida larga, donde coexisten padres y sus descendientes, permitiendo que los hijos sean educados por sus progenitores, pero tambi´en que a la larga se genere competencia entre ellos. Paralelo: Se origina dos modelos que toman en cuenta esta variaci´on, y utilizan no una poblaci´on como los anteriores sino m´ultiples concurrentemente. Modelos de Isla: Si se tiene una poblaci´on de indivi- duos, esta se divide en sub-poblaciones que evolucionan independientemente. Ocasionalmente se producen migra- ciones entre ellas permiti´endoles intercambiar material gen´etico. Modelo celular: Los individuos est´an distribuidos al azar sobre la matriz. Posteriormente empiezan a emerger zonas como cromosomas y adaptaciones semejantes. La reproducci´on y selecci´on local crea tendencias evolutivas aisladas[2]. II-A4. Representaci´on: Todos los organismos vivos est´an constituidos por c´elulas, y cada c´elula contiene uno o m´as cromosomas (cadenas de ADN), que le sirven como una especie de “plano” al organismo. Un cromosoma puede ser conceptualmente dividido en genes cada uno de los cuales codifica una prote´ına. En t´erminos generales, se puede decir que un gen se codifica como si fuera un rasgo, como puede serlo el color de ojos. Cada gen se encuentra en una posici´on particular del cromosoma, y est´a formado por alelos. Se supone que los individuos, pueden representarse como un conjunto de par´ametros (genes), los cuales agrupados forman una ristra de valores, a menudo referida como cromosoma. Debe existir una representaci´on de estos genes para poder utilizarlos posteriormente en el algoritmo gen´etico y dotarles de unos valores. Se pueden considerar tres tipos b´asicos de representaci´on o codificaci´on de los genes[5] Binaria: en ella se utiliza un vector cuya longitud es la del n´umero de genes de cada individuo y el valor que puede tomar cada elemento es un n´umero binario. Entera: en ella se utiliza un vector cuya longitud es la del n´umero de genes de cada individuo y el valor que puede tomar cada elemento es un n´umero entero. Real: en ella se utiliza un vector cuya longitud es la del n´umero de genes de cada individuo y el valor que puede tomar cada elemento es un n´umero real[5]. II-B. Algoritmo Fig 1: Esquema Algoritmo Desarrollado por John H. Holland, el algoritmo gen´etico opera entonces a nivel de genotipo de las soluciones mediante la siguiente secuencia: 1. Comenzar con una poblaci´on inicial, la cual puede ser generada de manera aleatoria. 2. Calcular el fitness (aptitud) de cada individuo. 3. Aplicar el operador de selecci´on con base en el fitness de la poblaci´on. 4. Aplicar los operadores gen´eticos de reproducci´on, cruce y mutaci´on a la poblaci´on actual para generar a la poblaci´on de la siguiente generaci´on. 5. Ir al paso 2 hasta que la condici´on de parada se satisfaga. 6. Cuando se cumple la condici´on de parada, se devuelve al mejor individuo encontrado (bien el mejor de todas las generaciones, bien el mejor de la ´ultima generaci´on). Al igual que en muchas otras heur´ısticas, el comportamien- to del algoritmo gen´etico es altamente dependiente de los par´ametros iniciales (tama˜no de la poblaci´on, porcentaje de cruce, porcentaje de mutaci´on, n´umero de generaciones, etc.), por lo que ser´a necesario ajustar esos par´ametros para tratar de mejorar la soluci´on para los objetivos del problema. A cada iteraci´on de este proceso se le denomina una generaci´on. Un algoritmo gen´etico t´ıpicamente se itera de 50 a 500 o incluso m´as generaciones. El conjunto entero de generaciones se denomina una ejecuci´on. Al final de una ejecuci´on existen a menudo uno o varios cromosomas altamente adecuados en la poblaci´on, y que pueden ser elegidos como soluci´on al problema. La funci´on de evaluaci´on o de fitness de un problema es realmente la funci´on que se desea optimizar. Su dise˜no es junto con el del genotipo, una de las caracter´ısticas m´as importantes a la hora de encontrar la mejor soluci´on a un problema. II-B1. Elementos de Algoritmos Gen´eticos: Como los AGs se encuentran basados en los procesos de evoluci´on de los seres vivos, casi todos sus conceptos se basan en biolog´ıa y gen´etica que son f´aciles de comprender. Individuos: Un individuo es un ser que caracteriza su propia especie. El individuo es un cromosoma y es el c´odigo de informaci´on sobre el cual opera el algoritmo. Cada soluci´on parcial del problema a optimizar est´a co- dificada en forma de cadena o String en un alfabeto determinado, que puede ser binario[2]. Fig 1: Individuos
  • 3. 3 Poblaci´on: A un conjunto de individuos (Cromosomas) se le denomina poblaci´on. El m´etodo de AGs consiste en ir obteniendo de forma sucesiva distintas poblaciones. Operadores Gen´eticos: Son los diferentes m´etodos u ope- raciones que se pueden ejercer sobre una poblaci´on y que nos permiten poblaciones nuevas[2]: Selecci´on: El proceso de selecci´on sirve para escoger a los individuos de la poblaci´on mejor adaptados, para que act´uen de progenitores de la siguiente generaci´on. En la naturaleza existen varios factores que intervienen para que un individuo pueda tener descendencia. Sin embargo, en la realidad es posible que “el mejor” individuo no pueda reproducirse, pero otro individuo de “peor calidad” pueda conseguirlo. Aunque este hecho es menos probable, sigue siendo posible. En los algoritmos gen´eticos, la selecci´on es un conjunto de reglas que sirven para elegir a los progenitores de la siguiente generaci´on. Estos progenitores se reproducir´an y gene- rar´an descendencia. Un sistema muy utilizado en los algoritmos gen´eticos es la selecci´on por torneo. Este sis- tema consiste en escoger aleatoriamente de la poblaci´on un cierto n´umero de individuos. De esos individuos se escoge el mejor de todos para ser el padre. Para escoger la madre se repite el proceso[5]. Reproducci´on: En este contexto, se entender´a por “re- producci´on” la clonaci´on de un individuo. Es decir, un individuo pasar´a a la siguiente generaci´on sin modifi- caci´on. De esta manera, la reproducci´on es un operador gen´etico que se contrapone al cruce y la mutaci´on, puesto que estos ´ultimos modifican los individuos que pasan a la siguiente generaci´on. El objetivo de la reproducci´on es mantener en la siguiente generaci´on a individuos con fitness alta de la presente generaci´on. Relacionado con el concepto de reproducci´on est´a el de “elitismo”, el cual mantiene a los mejores individuos de una generaci´on a la siguiente, para que no se pierda su informaci´on[5]. Cruce: Se trata de un operador cuya labor es elegir un lugar, y cambiar las secuencias antes y despu´es de esa posici´on entre dos cromosomas, para crear nueva descendencia (por ejemplo, las cadenas 10010011 y 11111010 pueden cruzarse despu´es del tercer lugar para producir la descendencia 10011010 y 11110011). Imita la recombinaci´on biol´ogica entre dos organismos haploides. Fig 2: Cruce Mutaci´on: Este operador produce variaciones de modo aleatorio en un cromosoma (por ejemplo, la cadena 00011100 puede mutar su segunda posici´on para dar lugar a la cadena 01011100). La mutaci´on puede darse en cada posici´on de un bit en una cadena, con una probabilidad, normalmente muy peque˜na (por ejemplo 0.001)[2]. Fig 3: Mutaci´on Estructura de Algoritmos Gen´eticos: Fig 4: Estructura General de Algoritmos Gen´eticos Codificaci´on: los elementos caracter´ısticos del problema se pueden representar de tal forma que resulte sencilla su implementaci´on y comprensi´on. Poblaci´on inicial: para constituir la poblaci´on inicial, que ser´a la poblaci´on base de las sucesivas generaciones, existen varios m´etodos. Funci´on Fitness: asigna a cada cromosoma un n´umero real, que refleja el nivel de adaptaci´on al problema del individuo representado por el cromosoma. La funci´on de aptitud (fitness) es la que permite valorar la aptitud de los individuos y debe tomar siempre valores positivos. Ambas funciones suelen ser iguales, pero puede ser que la funci´on objetivo sea muy compleja, tome valores negativos, o no proporcione un valor num´erico y, por lo tanto, sea necesario definir una funci´on de aptitud diferente. En un algoritmo gen´etico la informaci´on ha de codificarse para poder trabajar adecuadamente con ella. C´omo hemos visto, existen numerosos sistemas de codifi- caci´on, aunque nosotros utilizaremos la codificaci´on real. Una vez definido el sistema de codificaci´on a emplear se ver´a c´omo act´uan los operadores b´asicos de selecci´on, cruce y mutaci´on sobre este c´odigo. Selecci´on: es el proceso por el cual se eligen una o varias parejas de individuos de la poblaci´on inicial para que desempe˜nen el papel de progenitores, cruz´andose poste- riormente y obteniendo descendencia o permaneciendo en la siguiente generaci´on. Cruzamiento: el operador cruce permite el intercam- bio de informaci´on entre individuos de una poblaci´on, recombinando los cromosomas, dando lugar a nuevos individuos. Mutaci´on: el operador mutaci´on se aplica tras el cruce con el objetivo de incrementar la diversidad poblacional[2]. II-B2. Implementaci´on de Algoritmos Gen´eticos en Java: Para la implementaci´on de algoritmos gen´eticos, disponemos de un framework para Java llamado JGAP (Java Genetic Algorithms Package)
  • 4. 4 JGAP proporciona los m´etodos y mecanismos b´asicos para implementarlo. Fue dise˜nado para que fuera muy f´acil de usar, siendo altamente modular y configurable, llegando a ser realmente f´acil crear incluso nuevos y personalizados operadores gen´eticos. Se distribuye bajo licencia GPL. En su p´agina web podemos encontrar gran variedad de ejemplos de uso y documenta- ci´on[5]. A continuaci´on mostramos el diagrama de clases implemen- tado en JGAP: Fig 5: Diagrama de clases implementado en JGAP JGAP: El mismo est´a dise˜nado para hacer casi todo el tra- bajo evolutivo para que de una manera relativamente gen´erico. Sin embargo, no se tiene conocimiento de la problem´atica espec´ıfica que en realidad est´as tratando de resolver, y por lo tanto no tiene manera intr´ınseca de decidir si una posible soluci´on es mejor que otra posible soluci´on para su problema espec´ıfico. Ah´ı es donde la funci´on de aptitud entra en juego: se trata de un m´etodo ´unico que debe implementar que acepte una soluci´on potencial problema y devuelve un valor entero que indica lo bien (o .ajuste”) que la soluci´on est´a en relaci´on con otras posibles soluciones. Cuanto mayor sea el n´umero, mejor ser´a la soluci´on. Cuanto m´as bajo sea el n´umero (1 es el valor m´as bajo de la aptitud legal), el m´as pobre es la soluci´on. JGAP utilizar´a estas mediciones de la aptitud para evolucionar la poblaci´on de soluciones hacia un sistema m´as ´optimo de las soluciones[6]. II-C. Mundial 2014 La Copa Mundial de la FIFA Brasil 2014 ser´a la XX edici´on de la Copa Mundial de F´utbol. Esta versi´on del torneo se realizar´a en Brasil entre el 12 de junio y el 13 de julio de 2014, siendo la segunda vez que este certamen deportivo se realiza en Brasil despu´es de la Copa Mundial de F´utbol de 1950. En 2004, la FIFA eligi´o a Sudam´erica como sede de la Copa Mundial de 2014. Pese al entusiasmo inicial de algunos pa´ıses, solo Brasil y Colombia presentaron sus candidaturas oficiales antes del cierre del plazo, el 18 de diciembre de 2006. Algunos meses despu´es, Colombia retir´o su candidatura, dejando como ´unico postulante a Brasil. El 30 de octubre de 2007, la FIFA design´o de manera oficial a Brasil como el pa´ıs que albergar´a la Copa del Mundo de F´utbol de 2014. El ganador del torneo participar´a en su calidad de campe´on del mundo en Copa FIFA Confederaciones 2017, a realizarse en Rusia. Como dato destacable, por primera vez en una Copa Mun- dial de F´utbol, los partidos utilizar´an la tecnolog´ıa que ofrece el bal´on inteligente, para determinar en jugadas dudosas, si el bal´on cruz´o o no toda la l´ınea de gol. II-C1. Grupos del Mundial : Fig 6: Grupos Mundial 2014 II-C2. Ranking de la FIFA : Fig 7: Ranking FIFA Mundial 2014
  • 5. 5 II-C3. N´umero de Campeonatos Obtenidos : Fig 8: Equipos Campeonatos III. RESULTADOS III-A. Vistas Equipos del Mundial 2014 Pantalla Principal Para inicializar tenemos la pantalla principal donde me presenta el men´u archivo que contiene diversas opciones que se podr´an efectuar en este proyecto. Fig 9: Pantalla Principal Men´u Archivo En la cual tenemos las opciones de: Agregar Equipos, Ver Grupos clasificados, Generar cuatro mejores equipos del mundial 2014, Buscar equipos y Ver equipos clasificados. Fig 10: Men´u Archivo Men´u Agregar Equipos Nos presenta la pantalla donde se van a ingresar los datos de cada equipo, los cuales son c´odigo, continente, nombre del equipo, puntos del ranking, posici´on del ranking, grupo en el cual se encuentra, t´ıtulos ganados y la informaci´on acerca de los tres ´ultimos partidos jugados. Fig 11: Agregar Equipos Men´u Ver Grupos Donde podremos visualizar los grupos que contiene a los equipos clasificados para el mundial 2014. Fig 12: Ver Grupos Men´u Generar cuatro mejores equipos En esta pantalla se podr´a efectuar la generaci´on de acuerdo al algoritmo gen´etico de los cuatro mejores equipos del mundial 2014. Fig 13: Generar cuatro mejores equipos
  • 6. 6 Para darnos cuenta que de acuerdo a la funci´on fitness los equipos no siempre ser´an los mismos, se presenta tres ejecuciones efectuadas, donde se var´ıa los equipos gene- rados como los cuatros mejores del mundo. Y adem´as la consola que presenta las interacciones realizadas para efectuar esta generaci´on. 1. Primera Ejecuci´on Fig 14: Primera Ejecuci´on 2. Segunda Ejecuci´on Fig 15: Segunda Ejecuci´on Men´u Buscar Equipo En esta pantalla se podr´a efectuar b´usquedas sea por c´odigo, equipo, grupo o contiene. Fig 16: Buscar Equipo 1. B´usqueda por Grupo Fig 17: B´usqueda por Grupo Modificar Equipo Dentro de la pantalla b´usqueda adem´as tenemos la opci´on de Editar Equipo, la cual nos env´ıa a una nueva pantalla para editar los datos de cada equipo, tomando en cuenta que no se puede dejar campos vac´ıos. Fig 18: Modificar Equipo 1. Resultado Equipo Modificado Fig 19: Equipo Modificado Men´u Ver Equipos Clasificados En esta pantalla se vi- sualiza todos los equipos ingresados. Fig 20: Equipos Clasificados
  • 7. 7 III-B. Funci´on Fitness M´etodo FitnessFunction(evaluate): En este m´etodo nos da el valor de aptitud de acuerdo al problema a resolver. Adem´as realiza un recorrido de la poblaci´on para obtener los individuos de la poblaci´on e ir comparando para escoger la soluci´on optima. Fig 21: FitnessFunction(evaluate) M´etodo getGenreScore: En este m´etodo obtengo los valores de cada individuo para determinar s´ı es o no el mejor. Fig 22: getGenreScore M´etodo SeleccionarFittestEquipos: Es un m´etodo para presentar los valores en consola de acuerdo a la poblaci´on evolucionada. Fig 23: SeleccionarFittestEquipos M´etodo testSelectFitnesstEquipos: Me permite obtener el valor de la poblaci´on de acuerdo al valor de aptitud o fitness. Fig 24: testSelectFitnesstEquipos M´etodo TestEquipoFitness: Este m´etodo es toda la con- figuraci´on inicial. Fig 25: TestEquipoFitness
  • 8. 8 IV. CONCLUSIONES • Los algoritmos gen´eticos tienen la ventaja de ofrecer un mecanismo adaptativo de resoluci´on de problemas, de forma que aunque el problema cambie, ´este se pueda seguir resolviendo. Resolver un problema cambiante”, llevado al l´ımite, es igual a Resolver cualquier problema”. Seg´un este planteamiento podr´ıamos pensar en dise˜nar un esquema com´un que facilite a los agentes aprender en cualquier entorno de problema. • Los algoritmos gen´eticos garantizan la b´usqueda de una soluci´on optima para las condiciones particulares del problema a trav´es de un procedimiento aleatorio de ensayo y error. • En el desarrollo de un algoritmo gen´etico se realiza un an´alisis, se plantea la estructura del cromosoma, la poblaci´on con la que se trabajar´a, los m´etodos de evaluaci´on, selecci´on, cruzamiento y mutaci´on. • Estos tienen un gran atractivo debido a la capacidad para encontrar un balance de explotaci´on y exploraci´on de soluciones a lo largo de su evoluci´on. • En algoritmos gen´eticos la parte m´as importante es la funci´on de .adaptaci´on2 a que de acuerdo a esta evolucio- nan los par´ametros indicados. • La estructura general del algoritmo usualmente es la misma para cualquier aplicaci´on pr´actica, por lo cual perfectamente pudo dar la soluci´on de los cuatro mejores equipos del mundial 2014. V. RECOMENDACIONES • En cuanto al desarrollo de un algoritmo inform´atico es preferible realizar un estudio sobre el tama˜no de la poblaci´on y la cantidad de evoluciones que es propicio utilizar en el modelo a implementarse, ya que esto im- plica en el comportamiento del Algoritmo y la ejecuci´on del sistema. • Realizar un estudio m´as profundo del tema algoritmos gen´eticos ya que este permite dar soluciones a problemas de diversa complejidad. • Para los alumnos de la carrera profesional, efectuar in- vestigaci´on en cuanto a inteligencia artificial, algoritmos gen´eticos y sus ramas afines, para contribuir al desarrollo y mejoramiento tanto personal como institucional. VI. ENLACE Disponible en: http://mundial-ageneticos.googlecode.com/svn/trunk/ mundialBrasil/MundialBrasil2014/ https://github.com/anelar21/Mundial2014 AlgoritmosGeneticos.git REFERENCIAS [1] @inproceedingsgeneticos2007, title=Algoritmos G´en´eticos, url=http://nando1-utb.blogspot.com/p/algoritmos-geneticos.html, year=2011, [2] @inproceedingsSocorro2012, author = Socorro, Ingrid and Sevilla, Patricia and Gamez, Patricio, booktitle = Algoritmos Gen´eticos, pages = 18, title = expo1-121113073140-phpapp01, url = http://www.slideshare.net/MarcoGmez/algoritmo-genetico-15154635, year = 2012 [3] @articleRodriguez-pinero1960, author = Rodr´ıguez-pi˜nero, Piedad Tolmos, keywords = algoritmo gen´etico, bits,cadena de, capacidad, gen cromosoma,operador,optimizaci´on, poblaci´on, problemas de b´usqueda, title = Introducci´on a los algoritmos gen´eticos y sus aplicaciones, url=http://www.uv.es/asepuma/X/J24C.pdf, year = 1960 [4] @articleRussell, author = Russell, S, file = Tema-3 4 algoritmos geneticos.pdf:pdf, title = TEMA 3: ´Areas de la IA: Ejemplos de in- vestigaci´on actual., url = http://personales.upv.es/ccarrasc/extdoc/Tema- 3 4 algoritmos geneticos.pdf [5] L ´OPEZ Juan Carlos, “Introducci´on a los algoritmos gen´eticos: como implementar un algoritmo gen´etico en JAVA”, 2010, Recuperado de: http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=jgap [6] Meffert Klaus, “Primeros Pasos con JGAP”, 2012, Recuperado de: http://jgap.sourceforge.net/doc/tutorial.html Andrea Armijos Estudiante de la Carrera de Ingenier´ıa en Sistemas de la Universidad Nacional de Loja, Conocedora en An´alisis y Dise˜no de Software, Gesti´on de Redes, Mantenimiento y Seguridad, Provincia de Loja, Ciudad Loja, Ecuador, 2014. Ronald Rojas Estudiante de la Carrera de Ingenier´ıa en Sistemas de la Universidad Nacional de Loja, Programador Junior en Matlab, Pro- gramador Senior en Java, Provincia de Zamora Chinchipe, Ciudad Yanzatza, Ecuador, 2014.