Estoy tratando de encontrar el mejor algoritmo para el siguiente problema de clasificación.¿Cuál es el mejor algoritmo de clasificación de asientos reservados?
Hay N = K x M asientos en un auditorio con un pasillo, K filas, y M asientos por pasillo. Se asume que K es más grande que M, pero no creo que eso sea muy importante. Hay N personas que están en biyección con los asientos (asientos asignados). Suponiendo que a la gente no le guste , ¿cuál es la forma más rápida de alinearlos para obtenerlos todos en sus asientos lo más rápido posible?
que corrieron algunos experiements simples (utilizando permutaciones aleatorias) y parecía que dejar que ellos se alinean es al azar más rápido que tener los personas en el tercer frente (más abajo en el pasillo) se alinean en primer lugar, a continuación, el tercio medio , luego el tercio posterior. Eso me parece equivocado.
Estoy escribiendo esto en MatLab si eso importa en absoluto. Alguna idea o respuesta?
Creo que es difícil responder a esto sin saber más sobre el modelo. ¿Cuántas entradas hay y dónde están ubicadas? ¿Qué causa que la gente tenga que esperar y por cuánto tiempo? ¿Toma más tiempo sentarse en su asiento si tiene que pasar a alguien en la misma fila que ya está sentado? ¿La gente siempre va directamente a su asiento correcto o a veces vagabundea de un lado a otro buscando la fila correcta? etc ... –
Solo una entrada, y se necesita una unidad de tiempo para mover una fila hacia abajo o un asiento a lo largo. – Daniel
Tal vez estoy viendo esto de la manera equivocada, pero si tuviera una multitud de personas altamente eficientes que nunca dejaran de moverse en el camino hacia su asiento (incluso sin demorarse para girar y caminar por una isla), no lo haría importa a qué orden van. Alternativamente, ¿no podría tener una persona de cada línea fila (primera fila = frente de línea, última fila = último lugar), todos caminan por la isla, luego todos giran y caminan por sus filas respectivas a la vez (enjuague y repetir). –