Promoter Based Genetic Algorithm
# Promoter Based Genetic Algorithm

El Promoter Based Genetic Algorithm (PBGA) es un algoritmo genético para neuroevolución desarrollado por F. Bellas y R.J. Duro en la Universidade da Coruña. El PBGA evoluciona una perceptrón multicapa de tamaño variable que se codifica en secuencias de genes para construir las unidades básicas que crean la red. Cada unidad neuronal básica está precedida de un gen promotor que actúa como un interruptor determinando si esa unidad en concreto se muestra o no en la red resultante.

# Promoter Based Genetic Algorithm
## PBGA: Conceptos básicos

La unidad básica en el PBGA es una neurona con todas sus conexiones sinápticas entrantes, tal y como se representa en la figura siguiente:
El genotipo de una unidad básica es un conjunto de pesos reales seguidos por los parámetros de la función de activación de la neurona y precedidos por un valor binario que representa al gen promotor, y que determina si dicha neurona estará presente o no en el fenotipo. Concatenando unidades de este tipo en una estructura perceptrón, podemos construir la red completa.
Con esta codificación imponemos que la información que no se expresa en el fenotipo se mantenga en el genotipo durante la evolución, pero protegida de la presión selectiva directa, manteniendo así la diversidad en la población, una de las premisas de diseño del PBGA. Además, con esta codificación se establece una clara diferencia entre el espacio de búsqueda y el espacio de soluciones, permitiendo que la información aprendida almacenada en el genotipo se preserve mediante un simple “apagado” de los genes promotores.

# Promoter Based Genetic Algorithm
## PBGA: Conceptos básicos
### Resultados

El PBGA fue presentado originalmente en dos trabajos en problemas relacionados con la robótica autónoma, concretamente en la obtención en tiempo real de modelos del entorno del robot.
Se ha utilizado en el marco del mecanismo cognitivo MDB (Multilevel Darwinist Brain) desarrollado en la Universidade da Coruña para el aprendizaje en tiempo real de robots autónomos. En otro trabajo se demuestra cómo el uso del PBGA junto con una memoria externa al algoritmo que almacene aquellos modelos de mundo que han resultado satisfactorios, es una estrategia óptima para la adaptación en entornos dinámicos.
Recientemente, el PBGA ha proporcionado resultados superiores a otros algoritmos de neuroevolución en problemas no estacionarios, donde la función de calidad varía con el tiempo.