Los algoritmos culturales (AC) son una rama de la computación evolutiva que incorpora un componente de conocimiento, denominado espacio de creencias, además del componente poblacional . En este sentido, los algoritmos culturales pueden considerarse una extensión de un algoritmo genético convencional . Los algoritmos culturales fueron introducidos por Reynolds (véanse las referencias).
Espacio de creencias
El espacio de creencias de un algoritmo cultural se divide en distintas categorías. Estas categorías representan diferentes dominios de conocimiento que la población tiene del espacio de búsqueda .
El espacio de creencias se actualiza después de cada iteración con los mejores individuos de la población. Estos mejores individuos se seleccionan mediante una función de aptitud que evalúa el rendimiento de cada individuo en la población, de forma similar a como se hace en los algoritmos genéticos.
Lista de categorías de espacios de creencias
- Conocimiento normativo: Una colección de rangos de valores deseables para los individuos en el componente poblacional, por ejemplo, comportamiento aceptable para los agentes en la población.
- Conocimiento específico del dominio Se aplica información sobre el dominio del problema del algoritmo cultural.
- Conocimiento situacional. Ejemplos específicos de eventos importantes, por ejemplo, soluciones exitosas o fallidas.
- Conocimiento temporal. Historia del espacio de búsqueda, por ejemplo, los patrones temporales del proceso de búsqueda.
- Conocimiento espacial Información sobre la topografía del espacio de búsqueda
Población
El componente poblacional del algoritmo cultural es aproximadamente el mismo que el del algoritmo genético .
Protocolo de comunicación
Los algoritmos culturales requieren una interfaz entre la población y el espacio de creencias. Los individuos más destacados de la población pueden actualizar el espacio de creencias mediante la función de actualización. Asimismo, las categorías de conocimiento del espacio de creencias pueden influir en el componente poblacional a través de la función de influencia. Esta función puede afectar a la población modificando el genoma o las acciones de los individuos.
Pseudocódigo para algoritmos culturales
- Inicializar el espacio de población (elegir población inicial )
- Inicializar el espacio de creencias (por ejemplo, establecer el conocimiento específico del dominio y los rangos de valores normativos).
- Repita hasta que se cumpla la condición de terminación.
- Realizar acciones de los individuos en el espacio de población
- Evalúe a cada individuo utilizando la función de aptitud física.
- Seleccionar a los padres para reproducir una nueva generación de descendencia.
- Deja que el espacio de creencias altere el genoma de la descendencia mediante el uso de la función de influencia.
- Actualiza el espacio de creencias utilizando la función de aceptación (esto se hace permitiendo que los mejores individuos influyan en el espacio de creencias).
Aplicaciones
- Diversos problemas de optimización
- Simulación social
- Optimización de parámetros reales [ 1 ]
Véase también
Referencias
- Robert G. Reynolds, Ziad Kobti, Tim Kohler: Modelado basado en agentes del cambio cultural en enjambres mediante algoritmos culturales
- RG Reynolds, “Una introducción a los algoritmos culturales”, en Actas de la 3ª Conferencia Anual sobre Programación Evolutiva, World Scientific Publishing, págs. 131–139, 1994.
- Robert G. Reynolds, Bin Peng. Aprendizaje del conocimiento y enjambres sociales en sistemas culturales. Revista de Sociología Matemática. 29:1-18, 2005
- Reynolds, RG y Ali, M. Z, “Incorporación de un componente de tejido social en un conjunto de herramientas de algoritmos culturales para una optimización de ingeniería basada en el conocimiento mejorada”, International Journal of Intelligent Computing and Cybernetics (IJICC), vol. 1, n.º 4, págs. 356–378, 2008.
- Reynolds, R G., y Ali, M Z., Exploración del conocimiento y los enjambres de población mediante un conjunto de herramientas de simulación de algoritmos culturales basados en agentes (CAT), en las actas del Congreso IEEE sobre Inteligencia Computacional 2007.
- Algoritmos evolutivos
- Algoritmos genéticos
- Metaheurísticas inspiradas en la naturaleza
