¿Cómo funciona el algoritmo de armonía?

Se refiere a una decodificación de búsqueda de armonía.

El algoritmo encuentra la minimización de una función objetivo [matemática] f (\ bold x) = f (x_1,…, x_n) [/ matemática].

Muy clásico: s Comience con un conjunto de m vectores [math] (\ bold x ^ 1,…, x ^ m) [/ math], elija un nuevo vector [math] \ bold x ‘[/ math] y reemplace el peor vector de su conjunto, por [math] \ bold x ‘[/ math], si [math] \ bold x’ [/ math] es mejor que su peor vector. Iterar hasta la convergencia o iteración máxima.

Toda la originalidad radica en la forma de elegir el nuevo vector [math] \ bold x ‘[/ math]. Para cada una de sus coordenadas [matemáticas] x’_i [/ ​​matemáticas], puede:

  1. elija un número totalmente aleatorio (marque todas las restricciones, si las hay, se cumplen)
  2. elija la coordenada de un vector [matemática] \ negrita x ^ k [/ matemática] en su conjunto de vectores m , todos los vectores tienen la misma posibilidad de ser tomados. En ese caso, también puede incrementar (o no) el coodinado en una pequeña cantidad [math] x’_1 = x ^ k_i + \ delta [/ math].

Los parámetros del algoritmo son

  • hms = m el número de vectores.
  • hmcr la probabilidad de elegir la opción (2) en lugar de (1) anterior.
  • par la probabilidad de agregar un valor pequeño en la opción (2)
  • [math] \ delta [/ math] el valor pequeño, que se fija cuando [math] x_i [/ ​​math] es discreto y el máximo de un ajuste aleatorio si [math] x_i [/ ​​math] es continuo.

Si trabaja con la búsqueda de armonía, tal vez debería saber sobre el hecho de que la búsqueda de armonía es de hecho un caso especial de estrategias de evolución y que algunos resultados reportados por el “inventor” de la búsqueda de armonía, ZW Geem, parecen extremadamente improbables: la búsqueda de armonía Algoritmo: mi experiencia personal con esta metaheurística “novedosa”

More Interesting

¿Es posible simular / emular / codificar el poder de pensamiento de una CPU en una GPU?

¿Qué algoritmo posible utiliza WhatsApp para determinar los emoticonos utilizados recientemente?

¿Los árboles binarios / árboles de búsqueda binaria se usan realmente en la práctica o se usan principalmente con fines didácticos?

¿Cómo puedo extender el algoritmo KMP a 2 dimensiones?

Como senior que busca postularse a empresas como Google, Palantir, etc., ¿cómo puedo mejorar mis estructuras de datos avanzadas, algoritmos y cursos de bioinformática y tener más confianza en mí mismo al ingresar a un aula y no pensar automáticamente que soy estúpido? ?

¿Qué estructuras de datos y algoritmos básicos se deben aprender antes de comenzar la programación competitiva?

Quiero usar una cola prioritaria en un problema. Creo que implementar una cola prioritaria usando una matriz es más fácil que usar un montón. ¿Qué piensas y por qué?

¿Es [math] | \ mathbb {Q} | = | \ mathbb {N} | [/ math]?

Soy bueno en algoritmos y estructuras de datos, ¿cuál debería ser mi estrategia para comenzar una carrera independiente en este dominio?

¿Cuál es el libro de estructura de datos mejor y más fácil de entender para un estudiante promedio?

¿De qué sirve el hashing en C?

Cómo escribir un buen algoritmo

¿Cuál es el enfoque para resolver la interpretación de datos en CAT? ¿Se usa lápiz y papel para dibujar estructuras o se mantiene al mínimo?

¿Cuáles son los algoritmos de detección de spam social de última generación?

¿Alguien puede explicar la solución del problema LabelMaker de Hacker Cup de Facebook?