Para una comparación detallada, consulte un buen libro de texto o un libro de Kalyanmoy Deb o Melanie Mitchell.
En resumen, un algoritmo genético es un modelo computacional de selección natural, utilizado para resolver problemas de optimización. Los pasos generales en una AG son:
- Identificar el problema de optimización a resolver y escribir una función objetivo
- Definir una función de aptitud que pueda distinguir entre diferentes soluciones candidatas.
- Generando estocástica o probabilísticamente una población aleatoria de soluciones candidatas basadas en los parámetros a optimizar
- Recorriendo iterativamente:
- Selección de las soluciones candidatas con mayor aptitud.
- Recombine soluciones candidatas para llenar el espacio de población que se ganó al descartar soluciones candidatas no aptas
- Mutar algunas de las soluciones candidatas cambiando / ajustando algún parámetro
- Según el número de iteraciones de la AG y la naturaleza del ajuste, la selección y la recombinación, podemos llegar a un conjunto final de soluciones que proporcionan un conjunto de valores de parámetros óptimos.
Puede configurar los problemas de maximización o minimización aquí, aunque la norma es configurar los problemas como problemas de minimización. Cuando configura cualquier problema de optimización, describe el problema como una función objetivo. La función objetivo en un algoritmo genético se usa para generar otra función llamada función de aptitud. Se genera aleatoriamente una población de soluciones candidatas para el problema. De esta población, seleccionamos iterativamente, recombinamos y mutamos soluciones individuales. En el proceso de recombinación en una AG, utilizamos técnicas de codificación y decodificación y operaciones de cruce de bits o cadenas, para intercambiar elementos del “contenido genético” entre soluciones candidatas. A medida que seguimos eligiendo subconjuntos de la población más en forma y en forma, y replicando aquellos para llenar el conjunto de la población, eliminamos las soluciones candidatas menos elegibles y nos limitamos a las soluciones que funcionan bien.
Naturalmente, si hay mínimos locales y globales en la función objetivo, dependiendo de cuán aleatoriamente extienda el espacio de la población, puede obtener diferentes niveles de convergencia. Podría obtener soluciones candidatas que podrían “converger” a mínimos locales y globales, si la población es muy amplia.
- ¿Qué es mejor CSE en Lovely o Chitkara o Chandigarh University o Chandigarh group of colleges?
- ¿Cuáles son mis posibilidades de que me ofrezcan admisión en NIT Trichy o BITS Goa (CSE) en la cuota internacional con un puntaje de 2390 en la materia?
- Nunca he hecho el tema de las computadoras antes de esto, ¿crees que podré hacer ciencias de la computación en la universidad de ingeniería a partir del próximo año?
- ¿Qué es mejor para CSE: BIT Durg o NIT Raipur?
- ¿Cuánto puntaje en Viteee 2016 me asegura de manera segura un asiento para CSE en el campus principal de VIT?
Los algoritmos de optimización de enjambre de partículas son un modelo de problemas de inteligencia de enjambre. Este es un algoritmo más simple de visualizar, ya que es similar a una búsqueda de parámetros. Sin embargo, la búsqueda de parámetros realizada aquí se asemeja a las abejas y al enfoque que pueden tomar para encontrar la flor adecuada para recolectar miel o enjambres de pájaros y cómo se comportan en colaboración, como un superorganismo. Los pasos generales seguidos en una PSO son los siguientes:
- Inicialice una población de soluciones aleatorias (para n variables de decisión, hay un espacio n en el que existen estas soluciones) como partículas. Cada partícula tendrá n variables, junto con la memoria de partículas que almacena la mejor aptitud para sí misma y para el enjambre en su conjunto.
- Para cada iteración:
- Calcule la aptitud (función objetivo) para cada uno de estos
- Almacene el mejor valor de aptitud de la partícula y comunique la aptitud de la partícula a los vecinos (a cierta distancia euclidiana) en el enjambre
- Cada partícula identificará el mejor global, mediante una comparación de todos los mejores valores de partícula que ha recibido
- Identifique el vector que tomaría esta partícula en la dirección del mejor global (desde la posición actual hasta el mejor global actual)
- Mueva la partícula en el espacio n sobre un paso de tiempo específico. La distancia movida será la velocidad X tiempo (en la dirección del vector de velocidad).
- Con el tiempo, las partículas identificarán mejores y mejores valores de mejor global (gbest) y navegarán hacia ellas y también mejorarán su mejor partícula (pbest) sobre las iteraciones.
- Observe que aquí también, existe la posibilidad de que las partículas prefieran los mínimos o máximos locales, si la dispersión de las partículas es demasiado local para comenzar. Por el contrario, si las partículas están demasiado extendidas, no convergerán.
Algunas de las cosas clave a observar son:
- En PSO, no hay creación o eliminación de individuos. Las personas simplemente se mueven en un paisaje donde su estado físico se mide con el tiempo. Esto es como una bandada de pájaros u otras criaturas que se comunican
- En GA, hay una selección proporcional de aptitud y recombinación genética. Los equivalentes de esto en PSO son la mejor selección y el movimiento de las partículas mismas.
- Ambos enfoques deben ajustarse para poder funcionar en dominios de problemas específicos
- Los algoritmos de PSO requieren la normalización de los vectores de entrada para alcanzar una “convergencia” más rápida (como algoritmos heurísticos, ambos no convergen realmente). Los GA pueden trabajar con características que son continuas o discretas.