¿Qué es un algoritmo basado en población? ¿Cuál es el propósito de esto?

Los algoritmos genéticos son el mejor ejemplo de algoritmo basado en la población.

Considere el problema de la mochila en el que n objetos reciben cada uno con un peso y tienen que seleccionar un grupo de objetos sin exceder el límite de peso total para la mochila. Los objetos juntos que pueden proporcionar el peso total máximo sin exceder la capacidad de la mochila serán la solución óptima.

Al resolver esto usando un algoritmo genético, el primer paso es representar las posibles soluciones al problema. Cada posible solución se llama como un individuo o cromosoma . Estas posibles soluciones juntas forman la población.

Por ejemplo:

Considerar 5 objetos se da. Tome una matriz de longitud 5. Rellene con 0s y 1s, donde un cero representa que el objeto está ausente y uno representa que está presente.

Posibles soluciones para el problema de la mochila:

  1. 1 0 1 0 0 – (objeto 1, se elige el objeto 3)
  2. 0 1 1 0 0
  3. 0 0 1 1 1
  4. 0 1 0 1 0

Las posibles soluciones mencionadas anteriormente se denominan población. El puntaje de aptitud física de cada individuo en la población se puede calcular sumando los pesos de los objetos presentados en ese. No es necesario que cada solución sea la óptima. Pero estos sirven como la población inicial para el algoritmo genético y las operaciones de selección, cruce, mutación se realizan en esta población inicial para obtener las óptimas.

Este tipo de algoritmos que comienza con una población inicial generada aleatoriamente y que converge a la solución óptima son los algoritmos basados ​​en la población.

La aplicación del algoritmo basado en población se puede encontrar en problemas de optimización y en Inteligencia Artificial.

More Interesting

¿Por qué un árbol de segmentos necesita una matriz de tamaño 4n? ¿Por qué no 2n-1?

¿Cuál es un buen algoritmo de hash para identificar de forma exclusiva una URL en una base de datos?

¿Cómo podemos hacer un programa para encontrar la suma y el promedio de los valores de la matriz? ¿Por favor ayuda?

¿Cuál sería el algoritmo para encontrar subárboles duplicados en un árbol binario?

¿Hay algún modelo físico o fenómeno que permita resolver rápidamente los problemas NP-hard?

Cómo encontrar un elemento en un árbol de búsqueda binario

¿Cuáles son los algoritmos que se pueden usar en R para la predicción de datos categóricos?

Dada una biblioteca que proporciona una coincidencia aproximada de cadenas, ¿cuáles son algunos procedimientos adicionales que pueden explicar una mejor coincidencia de cadenas?

¿Existe una mejor complejidad que O (n log n) para ordenar?

Soy un desarrollador web que trabaja en el marco Python Django durante el año pasado. ¿Puedo aprender estructuras de datos y algoritmos si paso solo 2-3 horas diarias?

¿Cómo manejan las personas el error de profundidad de recursión máxima excedida sin reescribir el código de forma iterativa? (en la programación dinámica de arriba hacia abajo)

¿Cómo se fragmentan los archivos en el hadoop en 64 MB o 128 MB? ¿Cuál es el algoritmo utilizado para fragmentar los archivos?

¿Cómo funcionan los algoritmos de procesamiento de cadenas en CUDA?

Cómo verificar si la suma de los números de la primera mitad y la segunda mitad de una matriz es la misma

¿Qué opina sobre la preferencia del algoritmo de alimentación de Quora para distribuir contenido más nuevo?