Cómo construir un horario usando un algoritmo genético

Puede encontrar uno de los mejores tutoriales que he leído en el sitio web de AI Junkie aquí: Tutorial de algoritmos genéticos

Para construir un horario, deberá codificar su horario en una cadena. Por ejemplo, suponga que existen las siguientes restricciones:

Un día tiene ocho ranuras (por lo que necesitará 3 bits para codificar la ranura)
Hay 5 días hábiles por semana. (nuevamente 3 bits para codificar esta información)
Cada ranura puede tener 4 opciones de temas (2 bits).

Ahora, si considera su horario como una tabla de 8 por 5 (8 espacios x 5 días), puede codificar cada espacio con 8 bits (3 + 3 + 2). Por lo tanto, su representación general del horario debe ser ((8 × 5) x8) bits.

Ahora para generar su horario, necesitará una función de acondicionamiento físico que tome una cadena de 320 bits y le diga qué tan buena es. Este puntaje de bondad podría basarse en qué tan bien el horario dado minimiza los enfrentamientos y se optimiza para otras condiciones previas.

Una vez que tenga la codificación, y un método para evaluar qué tan “bueno” es el calendario representado por esa codificación, puede usarlos con GA.

Tenga en cuenta que he tratado de dar ejemplos teniendo en cuenta la simplicidad. Puede que no sea práctico (o incluso completamente correcto). En realidad, deberá desarrollar la función de codificación y aptitud por su cuenta, en función de su aplicación.

Avíseme si alguna información es incorrecta, falta o está incompleta. Con gusto refinaría mi respuesta, si es útil.

More Interesting

¿Cuál es la relación entre relevancia y aprendizaje automático?

Tengo un conjunto de datos (audios y transcripciones), necesito saber cómo entrenaré estos datos para crear un modelo acústico que se utilizará para un reconocimiento de voz.

¿Crees que Robot puede realizar todas las tareas humanas con Deep Learning?

¿Cuál sería el mejor desafío de Kaggle para mí como entusiasta del aprendizaje automático de nivel intermedio?

¿Cuáles son los principales avances en el procesamiento del lenguaje natural en 2015?

¿Por qué la resolución de las imágenes de entrada en la red convolucional debe tener la misma dimensión (ancho y alto)?

¿Qué IIT en India tiene el mejor programa de CS para el aprendizaje automático?

¿Sigue siendo el curso de aprendizaje automático de Andrew Ng el mejor curso de aprendizaje automático disponible?

Codificación dispersa: ¿cuál es la implementación paso a paso para la codificación dispersa? ¿Qué representa la norma l0 / norma l1 / regularización?

¿Es el número de nodos en una capa oculta más que la capa de entrada? ¿Es esto un problema? ¿Qué se puede aprender en tales redes neuronales?

¿Qué factores se basan en comenzar un gráfico de dibujo de una red bayesiana?

¿Debería incluirse el error de salida en la retropropagación en el bucle?

¿Una máquina de máquina virtual de big data ayuda a analizar archivos grandes?

Cómo configurar las dimensiones de la capa y la conectividad en Caffe para reproducir una CNN a partir de un trabajo de investigación

¿En qué se diferencia el método de agrupamiento en el aprendizaje automático de disparar una consulta SQL 'select' para agrupar personas u objetos? ¿Cuáles son las diferencias y necesidades reales?