Diferencia entre recocido simulado y codicioso múltiple

8

Estoy tratando de entender cuál es la diferencia entre el recocido simulado y la ejecución de múltiples algoritmos codiciosos de escalada.

Según tengo entendido, el algoritmo codicioso llevará la puntuación a un máximo local, pero si comenzamos con múltiples configuraciones aleatorias y aplicamos codicioso a todos ellos, tendremos múltiples máximos locales. Luego elegimos el máximo de ellos.

¿Esto reproducirá lo mismo que el recocido simulado?

Bernardo Braga
fuente

Respuestas:

7

El método que describe se llama reinicio aleatorio de escalada en pendiente (o, a veces , escalada en escopeta ), y es un algoritmo diferente del recocido simulado.

Sí, generalmente como el número de iteraciones. k aumenta ambos métodos finalmente dará una ubicación wi que alcanza un óptimo global w. Esto es por la sencilla razón de que ambos incorporan búsqueda aleatoria. Es decir, un reinicio aleatorio (escalada) o un movimiento aleatorio (recocido simulado) pueden coincidir con un óptimo global. Sin embargo, aquí hay dos diferencias importantes:

  1. El ascenso aleatorio al subir pendientes siempre se mueve a una ubicación aleatoria wi después de un número fijo de iteraciones k. En el recocido simulado, moverse a una ubicación aleatoria depende de la temperaturaT.
  2. La escalada de reinicio aleatorio se moverá a la mejor ubicación del vecindario en la fase de escalada. En el recocido simulado, la ubicación se selecciona al azar, siempre se mueve si es mejor que su ubicación actual pero con alguna probabilidad relacionada conT puedes moverte incluso si es peor.

El recocido simulado es un algoritmo algo más complicado y depende del programa de temperatura que determina T en iteración k. Si la temperaturaTse establece en un valor constante muy pequeño, entonces el recocido simulado se convierte en una escalada de colina estocástica. SiTse establece en un valor constante muy grande, luego el recocido simulado se convierte en una búsqueda aleatoria. La forma en que selecciona el programa de temperatura determina cómo navega entre estos dos tipos diferentes de comportamiento.

tldr: estos son algoritmos diferentes, pero usan ideas similares para incorporar muestreo aleatorio en la búsqueda.

MachineEpsilon
fuente
1
La principal diferencia (en la estrategia) entre la búsqueda codiciosa y el recocido simulado es que la búsqueda codiciosa siempre elegirá la mejor propuesta, donde el recocido simulado tiene una probabilidad (usando una distribución de Boltzman) de rechazar esto y elegir una propuesta peor. Esto ayuda al algoritmo a encontrar un óptimo global saltando del óptimo local. La temperatura y otros parámetros son solo una ventaja secundaria (o desventaja) de SA.
Jon