En computación evolutiva , un algoritmo genético basado en humanos ( HBGA ) es un algoritmo genético que permite a los humanos contribuir con sugerencias de soluciones al proceso evolutivo. Para este propósito, un HBGA tiene interfaces humanas para la inicialización, mutación y cruce recombinante. También puede tener interfaces para la evaluación selectiva. En resumen, un HBGA externaliza las operaciones de un algoritmo genético típico a los humanos.
Sistemas genéticos evolutivos y agencia humana
Entre los sistemas genéticos evolutivos, el HBGA es el análogo informático de la ingeniería genética (Allan, 2005). En esta tabla se comparan los sistemas según la línea de acción humana:
Un patrón evidente en la tabla es la división entre sistemas orgánicos (arriba) y sistemas informáticos (abajo). Otro es la simetría vertical entre sistemas autónomos (arriba y abajo) y sistemas interactivos con humanos (en el medio).
Mirando hacia la derecha, el selector es el agente que decide la aptitud del sistema. Determina qué variaciones se reproducirán y contribuirán a la próxima generación. En las poblaciones naturales y en los algoritmos genéticos, estas decisiones son automáticas, mientras que en los sistemas HBGA típicos las toman las personas.
El innovador es el agente del cambio genético. El innovador muta y recombina el material genético para producir las variaciones sobre las que actúa el selector. En la mayoría de los sistemas orgánicos y basados en computadoras (superiores e inferiores), la innovación es automática y funciona sin intervención humana. En HBGA, los innovadores son personas.
La HBGA es similar a la ingeniería genética. En ambos sistemas, los innovadores y selectores son personas. La principal diferencia radica en el material genético con el que trabajan: datos electrónicos o secuencias de polinucleótidos.
Diferencias con un algoritmo genético simple
- Los cuatro operadores genéticos (inicialización, mutación, cruce y selección) pueden delegarse a los humanos mediante interfaces apropiadas (Kosorukoff, 2001).
- La inicialización se considera un operador, en lugar de una fase del algoritmo. Esto permite que un HBGA comience con una población vacía. Los operadores de inicialización, mutación y cruce forman el grupo de operadores de innovación.
- La elección del operador genético también puede delegarse en los humanos, de modo que no estén obligados a realizar una operación particular en un momento dado.
Características funcionales
- HBGA es un método de colaboración e intercambio de conocimientos que fusiona las competencias de sus usuarios humanos creando una especie de inteligencia simbiótica entre humanos y máquinas (véase también inteligencia artificial distribuida ).
- La innovación humana se facilita tomando muestras de soluciones de la población, asociándolas y presentándolas en diferentes combinaciones a un usuario (ver técnicas de creatividad ).
- HBGA facilita el consenso y la toma de decisiones integrando las preferencias individuales de sus usuarios.
- HBGA utiliza una idea de aprendizaje acumulativo mientras resuelve un conjunto de problemas simultáneamente. Esto permite lograr sinergia porque las soluciones se pueden generalizar y reutilizar entre varios problemas. Esto también facilita la identificación de nuevos problemas de interés y la asignación equitativa de recursos entre problemas de diferente importancia.
- La elección de la representación genética, un problema común de los algoritmos genéticos, se simplifica enormemente en HBGA, ya que el algoritmo no necesita conocer la estructura de cada solución. En particular, HBGA permite que el lenguaje natural sea una representación válida.
- El almacenamiento y muestreo de la población suele seguir siendo una función algorítmica.
- Un HBGA suele ser un sistema multiagente , que delega operaciones genéticas a múltiples agentes (humanos).
Aplicaciones
- Gestión evolutiva del conocimiento , integración de conocimientos procedentes de diferentes fuentes.
- Organización social , toma de decisiones colectivas y gobernanza electrónica .
- Áreas tradicionales de aplicación de los algoritmos genéticos interactivos : arte informático , diseño centrado en el usuario , etc.
- Resolución colaborativa de problemas utilizando el lenguaje natural como representación.
- Beneficios educativos y académicos de la simulación en tiempo real con modelado curricular sintético utilizando entornos de nube de puntos dinámicos.
La metodología HBGA surgió en 1999-2000 a partir del análisis del proyecto Free Knowledge Exchange, que se puso en marcha en el verano de 1998 en Rusia (Kosorukoff, 1999). Se utilizaron la innovación y la evaluación humanas para apoyar la resolución colaborativa de problemas. Los usuarios también tenían la libertad de elegir la siguiente operación genética que realizar. En la actualidad, varios otros proyectos implementan el mismo modelo, siendo el más popular Yahoo! Answers , lanzado en diciembre de 2005.
Investigaciones recientes sugieren que los operadores de innovación basados en el ser humano son ventajosos no sólo cuando es difícil diseñar una mutación y/o cruce computacional eficiente (por ejemplo, cuando se desarrollan soluciones en lenguaje natural), sino también en el caso en que se dispone de buenos operadores de innovación computacional, por ejemplo, cuando se desarrollan una imagen abstracta o colores (Cheng y Kosorukoff, 2004). En este último caso, la innovación humana y computacional pueden complementarse entre sí, produciendo resultados cooperativos y mejorando la experiencia general del usuario al garantizar que no se pierda la creatividad espontánea de los usuarios.
Además, los algoritmos genéticos basados en humanos demuestran ser una medida exitosa para contrarrestar los efectos de la fatiga introducidos por los algoritmos genéticos interactivos . [1]
Véase también
- Computación basada en humanos
- Computación evolutiva basada en el ser humano
- Interacción entre humanos y computadoras
- Algoritmo genético interactivo
- Memética
- Computación social
Referencias
- Kosorukoff, Alex (1999). Intercambio de conocimientos gratuito. Archivo de Internet
- Kosorukoff, Alex (2000). Algoritmo genético basado en humanos. en línea
- Kosorukoff, Alex (2001). Algoritmo genético basado en el ser humano. En IEEE International Conference on Systems, Man, and Cybernetics , SMC-2001, 3464-3469. texto completo
- Cheng, Chihyung Derrick y Alex Kosorukoff (2004). El problema interactivo de un máximo permite comparar el rendimiento de los algoritmos genéticos interactivos y basados en humanos. En Genetic and Evolutionary Computational Conference , GECCO-2004. texto completo
- Milani, Alfredo (2004). Algoritmos genéticos en línea. Revista internacional de teorías y aplicaciones de la información, págs. 20-28
- Milani, Alfredo y Silvia Suriani (2004), ADAN: Periódicos adaptativos basados en programación evolutiva, en IEEE/WIC/ACM International Conference on Web Intelligence (WI'04), pp. 779–780, IEEE Press, 2004
- Allan, Michael (2005). Diseño recombinante simple. SourceForge.net, proyecto textbender, versión 2005.0, archivo _/description.html. Archivos de versiones, versión posterior en línea
- Kruse, Jan (2015). Computación evolutiva interactiva en aplicaciones de diseño para mundos virtuales. Texto completo
- Kruse, Jan y Connor, Andy (2015). Sistemas evolutivos multiagente para la generación de mundos virtuales complejos. Texto completo
Enlaces externos
- Free Knowledge Exchange, un proyecto que utiliza HBGA para la resolución colaborativa de problemas expresados en lenguaje natural.
- ParEvo, ParEvo es un método para desarrollar escenarios futuros alternativos, utilizando un proceso evolutivo participativo.