Documentos de Académico
Documentos de Profesional
Documentos de Cultura
html
cada uno 3 puntos. Si uno delata y el otro no, el delator obtiene 4 puntos y el otro 0. Al
cabo de un nmero determinado de interrogatorios (rondas) el que obtenga ms puntos
gana. Este problema ha sido usado como modelo en multitud de situaciones, desde el
nivel de las relaciones personales hasta las negociaciones entre grandes corporaciones.
Desde el punto de vista del presente trabajo, el inters del artculo se centra en el
apartado dedicado a la representacin del conocimiento. En teora, el sistema debera ser
lo suficientemente flexible como para encontrar una solucin nica y novedosa, aunque
en la prctica suele ser necesario, e incluso deseable, proporcionar cierto tipo de
conocimiento sobre la solucin para agilizar el proceso de bsqueda. En el sistema de
Hicklin, por ejemplo, este conocimiento es representado en forma de programa,
generado por medio de una serie de producciones. El grado de flexibilidad del sistema y
el grado de conocimiento incorporado depender en cmo sean definidas dichas
producciones. Para el artculo, en concreto, se us un conjunto restringido de
expresiones LISP, que demostr ser de gran utilidad y funcionalidad. Aunque no sea
explcitamente mencionado en el artculo, podemos constatar nuevamente como la
forma de representacin (LISP, con su facilidad para trabajar con estructuras en forma
de rbol) es vital para conseguir resultados adecuados.
Sin embargo, el considerado "padre" de la PG es John R. Koza. l acu el trmino que
da ttulo a este trabajo con la publicacin del libro "Programacin Gentica" (1992).
Este libro es el que establece de modo formal las bases de la PG sobre la que se trabaja
hoy en da. Posteriormente, el mismo autor ha publicado "Programacin Gentica II"
(1994) y, muy recientemente, "Programacin Gentica III" (1999), que exploran nuevas
posibilidades para la PG.
2.2. Qu es la Programacin Gentica?
A lo largo del perodo de evolucin de los seres vivos, se han ido seleccionando
conductas que son adecuadas para la supervivencia. Las especies y los individuos que
sobreviven son aquellos que estn mejor adaptados al ambiente que les rodea. En la
lucha por sobrevivir, los individuos mejor adaptados sobreviven ms fcilmente y por
tanto pueden reproducirse y transferir a sus descendientes las cualidades beneficiosas
que les permitieron estar mejor adaptados, lo cual constituye el proceso de seleccin
natural explicado por Charles Darwin en su libro "El origen de las especies" (1859).
Todos aquellos rasgos que faciliten la supervivencia del individuo tendern a
mantenerse, mientras que lo que constituya una dificultad o debilidad para la adaptacin
tender a desaparecer, pues su poseedor no tendr oportunidad de legarlo a su
descendencia.
Segn [MITC97], la PG es "una forma de Computacin Evolutiva en la que los
individuos de la poblacin evolutiva son programas de ordenador en vez de cadenas de
bits". Al igual que en los AGs, la poblacin se selecciona siguiendo el principio
darwiniano ya explicado de supervivencia del ms fuerte. Los conceptos utilizados aqu
son los mismos que en AGs, para mayor informacin se recomienda visitar la pgina de
Algoritmos Genticos.
Como ya hemos comentado previamente, la representacin del conocimiento es de gran
importancia en la PG. En [KOZA92], por ejemplo, podemos encontrar un captulo
completo dedicado a ello. Generalmente, los programas manipulados en PG estn
representados por rboles que corresponderan al rbol parse del programa. Cada
llamada a funcin se representara por un nodo en el rbol, y los argumentos de la
funcin vendran dados por sus nodos descendientes. En la siguiente figura podemos ver
un ejemplo de esto:
En este caso, estamos representando por medio de un rbol la expresin 0,234*Z+X0,789 para su posterior utilizacin con PG. Para ello, deberemos definir previamente un
conjunto de terminales y primitivas que nos permitan aplicar la bsqueda evolutiva
sobre los programas que pueden ser descritos con dichos elementos.
De forma similar a los AGs, el algoritmo de PG mantiene una poblacin de individuos
(programas representados por rboles), que en cada iteracin producen una nueva
generacin por medio de seleccin, mutacin y cruce.
Las siguientes figuras muestran ejemplos de esta ltima operacin genticas aplicadas
sobre programas.
En la primera vemos los dos rboles que van a ser los padres en el cruce:
En la tercera vemos a los padres despojados de dichos subrboles para que sean
intercambiados:
La cuarta muestra los hijos generados con el intercambio de los subrboles anteriores:
La aplicacin de pg
Hay aplicaciones numerosas de programacin gentica. Tenemos particularmente
inters en ejercer programacin gentica para
Boicotee a Art Problems, como la sntesis automatizada de analog circuitos
elctricos, los controladores, las antenas, las redes de reacciones qumicas,
sistemas pticos, y otras reas de diseo
Programando al Unprogrammable implicar la creacin automtica de
computadora programa para dispositivos poco convencionales de computacin
como sistemas de autmatas celulares, del multiagente, igualan sistemas
programadores, los conjuntos imponentes programables en campo de la portilla,
la inteligencia del analog de programable en campo conjuntos imponentes, de la
hormiga de colonias, del enjambre, los sistemas distribuidos, y algo semejante, y
(PTU)
Inventions (CUNI) comercialmente Nuevo til implicando el uso de
programacin gentica como una "mquina" automatizada de "invencin" para
creando comercialmente invenciones nuevas utilizables.
Andamos constantemente buscando que reas nuevas de para dominio en las cuales
ejerzan las tcnicas de programacin gentica para lograr inteligencia competitiva en
humano de la mquina.
93], encontraron que las ventajas parecen estar relacionadas con la alta tasa de
crecimiento inicial, ellos dicen que los mismos efectos pueden ser obtenidos en rangos
de adaptacin exponencial o seleccin por competencia. No encontraron evidencia que
este modelo sea mejor que el Generacional.
Algoritmos Genticos Paralelos.
Parte de la metfora biolgica que motivo a utilizar la bsqueda gentica consiste en
que es inherentemente paralela, donde al evolucionar se recorren simultneamente
muchas soluciones, cada una representada por un individuo de la poblacin. Sin
embargo, es muy comn en la naturaleza que no solo sea una poblacin evolucionando,
si no varias poblaciones, normalmente aisladas geogrficamente, que originan
respuestas diferentes a la presin evolutiva. Esto origina dos modelos que toman es
cuenta esta variacin, y utilizan no una poblacin como los anteriores si no mltiples
concurrentemente.
Modelos de Islas.
Si se tiene una poblacin de individuos, esta se divide en subpoblaciones que
evolucionan independientemente como un Algoritmo Gentico normal. Ocasionalmente,
se producen migraciones entre ellas, permitindoles intercambiar material gentico.
Con la utilizacin de la migracin, este modelo puede explotar las diferencias en las
subpoblaciones; esta variacin representa una fuente de diversidad gentica. Sin
embargo, si un nmero de individuos emigran en cada generacin, ocurre una mezcla
global y se eliminan las diferencias locales, y si la migracin es infrecuente, es probable
que se produzca convergencia prematura en las subpoblaciones.
Modelo Celular
Coloca cada individuo en una matriz, donde cada uno slo podr buscar reproducirse
con los individuos que tenga a su alrededor (mas cerca de casa) escogiendo al azar o al
mejor adaptado. El descendiente pasara a ocupar una posicin cercana.
No hay islas en este modelo, pero hay efectos potenciales similares. Asumiendo que el
cruce esta restringido a individuos adyacentes, dos individuos separados por 20 espacios
estn tan aislados como si estuvieran en dos islas, este tipo de separacin es conocido
como aislamiento por distancia.
Luego de la primera evaluacin, los individuos estn todavia distribuidos al azar sobre
la matriz. Posteriormente, empiezan a emerger zonas como cromosomas y adaptaciones
semejantes. La reproduccin y seleccin local crea tendencias evolutivas aisladas, luego
de varias generaciones, la competencia local resultara en grupos mas grandes de
individuos semejantes.
determinado, que puede ser binario. Una cadena representa a un cormosoma, por lo
tanto tambien a un individuo y cada posicin de la cadena representa a un gen. Esto
significa que el algoritmo trabaja con una codificacin de los parametros y no con los
parametros en si mismos.
El genotipo, es el conjunto de genes ordenados y representa las caracteristicas del
individuo. Cada individuo tinen una medida de su adecuacin como solucin al
problema.
Poblacin
A un conjunto de individuos (Cromosomas) se le denomina poblacin. El mtodo de
A.Gs consiste en ir obteniendo de forma sucesiva distintas poblaciones. Por otra parte
un Algoritmo Gentico trabaja con un conjunto de puntos representativos de diferentes
zonas del espacio de bsqueda y no con un solo punto (como lo hace Hillclimbing).
Funcin Fitness.
La nica restriccin para usar un algoritmo gentico es que exista una funcin llamada
fitness, que le informe de cuan bueno es un individuo dado en la solucin de un
problema. Esta funcin fitness o de evaluacin es el principal enlace entre el Algoritmo
Gentico a un problema real, es la efectividad y eficiencia de la funcin fitness que se
tome, por lo tanto debe procurarse que la funcin fitness sea similar, si no igual a la
funcin objetivo que se quiere optimizar. Esta medida se utiliza como parmetro de los
operadores y gua la obtencin de nuevas poblaciones.
OPERADORES GENETICOS.
Son los diferentes mtodos u operaciones que se pueden ejercer sobre una poblacin y
que nos permite obtener poblaciones nuevas. Una vez que se ha evaluado cada
individuo sobre una funcin fitness, se aplican los operadores genticos. En Algoritmos
Genticos se destacan los siguientes operadores.
Operador de Seleccin.
El paso siguiente a la evaluacin es escoger los miembros de la poblacin que sern
utilizados para la reproduccin. Su meta es dar mas oportunidades de seleccin a los
miembros ms aptos de la poblacin. As funciona: se calcula el cociente entre el valor
fitness de un individuo y la suma total de los valores fitness de todos los individuos de
la poblacin. Este resultado mide la probabilidad de seleccin Ps (i) de cada individuo.
utilizado, esto supondr que con los operadores de reproduccin y cruce, nunca
cambiara dicho elemento, por lo que puede ocurrir que jamas se alcance la solucin ms
optima a nuestro problema. La probabilidad de aparicin del operador de mutacin no
debe ser grande para no perjudicar la correcta construccin de bloques. El operador de
mutacin origina variaciones elementales en la poblacin y garantiza que cualquier
punto del espacio de bsqueda pueda ser alcanzado.
Evaluacin;
Seleccin;
Reproduccin;
Generacin ++;
3.Mostrar resultados;
Fin de la generacin
Estas caractersticas de los AG, a su vez, describen las diferencias entre ellos, y otros
mtodos normales de optimizacin.
1. Un Algoritmo Gentico trabaja con codificacin de los parmetros que busca
optimizar y no con los parmetros en s mismo.
2. Un Algoritmo Gentico trabaja con un conjunto de puntos representativos de
diferentes zonas del espacio y no con un solo punto. Por el contrario necesita
considerables recursos de computacin.
3. La aplicacin de AG no depende de ninguna propiedad de la funcin a optimizar
(derivable, continua, ni siquiera conocida), o de que el conjunto de posibles soluciones
sea finito o no lo sea.
4. Un AG utiliza reglas de transicin probabilisticas, no deterministas, lo cual hace que
dos aplicaciones consecutivas de un AG a un mismo problema puedan producir dos
soluciones distintas.
EL ejemplo siguiente nos da una pequea ilustracin de un Pseudocdigo de Algoritmo
Gentico.
BEGIN /* Algoritmo Gentico */
Generar una poblacin inicial.