Los algoritmos culturales (AC) son una rama de la computación evolutiva en la que existe un componente de conocimiento llamado espacio de creencias además del componente de población . En este sentido, los algoritmos culturales pueden considerarse una extensión de un algoritmo genético convencional . Los algoritmos culturales fueron introducidos por Reynolds (ver referencias).
Espacio de creencias
El espacio de creencias de un algoritmo cultural se divide en categorías distintas. 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. Los mejores individuos se pueden seleccionar utilizando una función de aptitud que evalúa el desempeño de cada individuo en la población, de manera similar a 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 de la población, 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 de la situación Ejemplos específicos de eventos importantes, por ejemplo, soluciones exitosas/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 mejores individuos de la población pueden actualizar el espacio de creencias a través de la función de actualización. Además, las categorías de conocimiento del espacio de creencias pueden afectar al componente de la población a través de la función de influencia. La función de influencia puede afectar a la población alterando 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 conocimientos específicos del dominio y rangos de valores normativos)
- Repetir hasta que se cumpla la condición de terminación
- Realizar acciones de los individuos en el espacio poblacional.
- Evalúe a cada individuo utilizando la función de aptitud
- Seleccionar a los padres para reproducir una nueva generación de crías.
- Deje que el espacio de creencias altere el genoma de la descendencia utilizando la función de influencia
- Actualice el espacio de creencias utilizando la función de aceptación (esto se hace permitiendo que los mejores individuos afecten el espacio de creencias)
Aplicaciones
Véase también
Referencias
- ^ M. Omran, Un nuevo algoritmo cultural para la optimización de parámetros reales. Revista internacional de matemáticas informáticas, doi :10.1080/00207160.2015.1067309, 2015.
- Robert G. Reynolds, Ziad Kobti, Tim Kohler: Modelado basado en agentes del cambio cultural en enjambres utilizando algoritmos culturales
- RG Reynolds, “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 de conocimientos y enjambres sociales en sistemas culturales. Journal of Mathematical Sociology. 29:1-18, 2005
- Reynolds, RG y Ali, M. Z, “Incorporación de un componente de tejido social en el conjunto de herramientas de algoritmos culturales para una optimización mejorada de la ingeniería basada en el conocimiento”, 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 enjambres de población a través de un kit de herramientas de simulación de algoritmos culturales basado en agentes (CAT), en las actas del Congreso IEEE sobre Inteligencia Computacional 2007.