algorithm - pass - mejores atracciones disneyland paris
¿Es válida la FastPass Teoría de Cola Útil de Disney? (21)
En Disney World, utilizan un sistema llamado Fastpass para crear una segunda línea más corta para atracciones populares. La idea es que puede esperar en la línea estándar, a menudo con una espera de más de una hora, o puede obtener un FastPass que le permite regresar durante un bloque de tiempo especificado (generalmente un par de horas más tarde) y solo esperar 10 minutos o menos Solo puede estar "esperando" un viaje a la vez con un FastPass.
He estado tratando de descubrir la teoría de cola detrás de este concepto, pero la única explicación que he encontrado es que está diseñada para alejar a las personas y hacer cosas que traerán ingresos adicionales (compras, comida, etc.).
¿Es por eso que se implementó FastPass, o hay un problema real de eficiencia del visitante que está resolviendo? ¿Hay aplicaciones de software que hayan aplicado una lógica similar? ¿Hay aplicaciones de software que deberían aplicar una lógica similar?
Parte del problema que veo al implementar algo similar en el software es que se basa en que los usuarios elijan su cola. En cuanto a los ciclos de espera más rápidos en el software, creo que una buena aplicación de esta teoría requeriría que la aplicación sea lo suficientemente inteligente como para saber qué colas colocar a las personas en función de sus necesidades sin requerir la elección del usuario final.
la única explicación que he encontrado es que está diseñada para alejar a las personas y hacer cosas que generarán ingresos adicionales (ir de compras, comer, etc.).
Creo que has llegado al punto principal, pero lo haces sonar más corporativo-malvado de lo que quizás merece. Ciertamente preferiría "prácticamente hacer cola" mientras hago las compras y las comidas que hacer fila físicamente.
Teóricamente, FastPass podría tratar de programar más personas en momentos en que la demanda natural era menor; eso es lo que haría para obtener más rendimiento de una cola real programada. Pero en la práctica, sospecho que las atracciones funcionan prácticamente a plena capacidad durante la mayor parte del día, por lo que se puede obtener muy poca productividad.
Creo que de alguna manera podrías comparar esto con un modelo de programación asíncrono .
Le pide al sistema que ejecute una acción y volverá más tarde para obtener el resultado.
La gran diferencia es que usted especifica qué evento / devolución de llamada llamar cuando está listo o si desea ingresar la espera a la vez cuando está listo para esperar. No he visto un mecanismo que le diga que regrese más tarde y que se le garanticen menores tiempos de espera.
Dado que se está explotando , tendrías que confiar en los usuarios de la cola ;-)
Desde mi clase de cadena de suministro, el aspecto de las colas que me llegó de inmediato es que reduce el tiempo de espera percibido, por lo que a las personas no les importa esperar. No creo que acorte las líneas principales, pero alivia la ansiedad de alguien por esperar en la línea regular, ya que saben que tan pronto como se bajen de la atracción, pueden volver por segunda vez (si su paso rápido el tiempo se acabó, de todos modos).
Sé que percibo que puedo viajar mucho más rápido con el paso rápido, aunque no sé si realmente es así o si es solo un inteligente replanteamiento de mi tiempo de espera.
En una cola ordinaria, no se puede calcular realmente la velocidad con la que se conduce. Estás nervioso y a veces piensas en abandonar la idea.
Con FastPass "sabes" que el viaje se llevará a cabo en un período de tiempo definido con precisión. Está "seguro" de cuándo sucede esto y piensa en dejar de fumar con menos frecuencia. Usted va de compras y come y regresa cuando sea necesario. Es probable que regrese ya que ha solicitado el viaje con anticipación y siente el compromiso. Joel Spolsky describe una idea de compromiso similar utilizada en las colas de Starbucks .
Así que FastPass es una especie de conveniencia para el parque y los visitantes. Los visitantes están más encantados y el parque puede venderlos más mientras esperan.
Solo un ejemplo de buena ingeniería social.
Está en el mejor interés de Disney satisfacer a sus clientes. Si bien la comercialización es sin duda un ingreso importante, obtener clientes habituales es mucho más valioso.
Si pago $ 150 por un boleto de estacionamiento de 1 día y solo consigo 10 viajes porque las líneas son tan largas, cuestionaría si esos viajes realmente valen $ 15 dólares por pieza. Sin embargo, si hay una manera de hacer 30 viajes, tendré una mejor experiencia, será menos probable que cuestione el valor de esa experiencia y será más probable que regrese y le dé a Disneyland otros $ 150 + comida + mercadería.
Antes de FastPass, el único diferenciador entre mis 10 paseos y 30 atracciones era lo apretado que estaba el parque. Este es un problema común que otras atracciones deseables han intentado abordar de otras maneras. Por ejemplo, la estación de esquí de Northstar en Tahoe limitará el número de boletos de elevación que venden en un día determinado (o al menos solían hacerlo). Esto también aborda el problema, pero de una manera que afecta los ingresos de forma más negativa.
En software, un paradigma similar sería cargar una página web. En la antigüedad, este proceso tenía un único hilo: obtener todo el contenido, renderizar todo el contenido y mostrar la página. A medida que aumentó el tráfico y los datos (específicamente la incorporación de imágenes), este modelo se enfrentó al mismo problema que Disneyland. Si había muchas imágenes en la página y tardaba mucho tiempo en cargarse, no esperaría el contenido ni me molestaría volver a ese sitio.
Ahora los días las páginas web se cargan de manera diferente. El contenido se carga, representa y muestra primero mientras otro hilo carga, representa y muestra las imágenes. Esto mejora enormemente la experiencia del usuario y, siempre que haya contenido deseable, continuaré volviendo al sitio y puede convertir mis repetidas visitas de página en $$$.
Esto es genial. Disney básicamente está haciendo dos colas, con tarifas de servicio linealmente más bajas dependiendo de la cantidad de FASTpass distribuido.
La corta cola FASTpass se puede modelar como una cola que siempre está en equilibrio para una espera corta. Mantener la cola corta minimiza la retroalimentación entre las dos colas, lo que es bueno para el modelado estocástico. La otra cola es una cola típica, con una tasa de servicio más lenta.
Por supuesto, si la cuota de FASTpass fuera demasiado grande, se produciría una reversión entre las dos colas, haciendo que el sistema fuera caótico y minimizando el efecto de los modelos de cola para describir los resultados.
Otra estrategia es minimizar las esperas de los usuarios que serían estrictamente programar desplazamientos por cita, en cuyo caso se trata de una cola de lotes pura, y fácil de optimizar. No creo que eso funcione en los Estados Unidos. :-)
Esto se asemeja a un sistema operativo en tiempo real en algún aspecto.
Algunos procesos tienen un pase rápido y están marcados como en tiempo real.
Tienen una garantía de que obtendrán el recurso dentro de un cierto período de tiempo. No pueden saltar la cola, ¡pero pueden presionar! Si bien no usan el viaje, otros invitados que no lo usan pueden usarlo.
-Alex
FastPass básicamente implementa visitantes que no bloquean con algún tipo de cola de prioridad. No bloquean, no duermen, gastan dinero. Funciona porque John lo usa a las 11:00 AM, Joe lo usa a las 11:15 AM (o 11:01 a.m.). Ahora, si todos tuvieran un pase rápido, la línea regular sería mucho más rápida, mientras que la mayoría de los visitantes gastaban más dinero en comida y regalos. Para Disney, este es el efecto deseado, hasta cierto punto.
El pase hace algunas suposiciones y tiene algunas limitaciones. Asume que los titulares de paso rápido son la minoría ... si eso cambiara, tendrían que hacer que el pase funcione en múltiples viajes, o los titulares de paso rápido gastarían dinero mientras veían a muy pocas personas en la línea regular ... contraproducente. Como solo se admite un viaje, no hay dos portadores de paso rápido que soliciten el mismo viaje a la vez.
Ahora, considerando que Joe podría dejar el parque antes de tomar su turno, tendrías que encontrar algún tipo de visitante ''futex'' para hacer que el sistema sea eficiente. Si Joe se fue, y John llegó temprano, John podría montar. Además, John se preguntaría por qué su pase rápido no le notificaba que podía andar nn minutos antes. Ahí es donde realmente se divierte, ¿qué pasaría si Joe se fuera solo para sacar un poco de protector solar del auto y regresar? Después de todo, su turno está a dos horas de distancia, a menos que 200 personas más antes de él salieran del parque mientras él bloqueaba (mientras se ponía bloqueador solar), una tarea que no puede ser interrumpida. Entonces, en ese caso, ponemos a Joe en una especie de disco de sueño o de sueño que no puede ser interrumpido o asesinado. No recibe señales, no está sondeando nada, está fuera del parque.
Este es el tipo de teoría que impulsa la programación práctica sin bloqueo. Es tan interesante como el problema de los filósofos del comedor , de hecho más.
En lo que respecta a Disney ... esto no es un error, es una característica, la gente está menos inclinada a dejar el parque y se inclina más a gastar dinero.
FastPass le permite esperar en múltiples líneas al mismo tiempo. Le permite evitar esperar, pero aumenta el tiempo de espera promedio porque las líneas se alargan de manera efectiva.
Pero la mayoría de la gente no pasa todo el tiempo yendo a los paseos. Algunos eventos, como los desfiles, realmente no tienen un tiempo de espera. Al usar un pase rápido, puede ir a más de estos eventos sin línea o de línea corta sin sacrificar tantos viajes de línea larga.
Hay dos lugares que me vienen a la mente que tienen un comportamiento similar en el desarrollo de software para mí. Sin embargo, tampoco es una analogía exacta, ya que ambos requieren
El primero es la programación asincrónica. Como se mencionó anteriormente , existen algunas diferencias entre el modelo asincrónico y el modelo fastpass, en términos de cómo esperas. Sin embargo, algunos otros modelos de programación (como Message Passing Interface ) le brindan algunas otras opciones, que probablemente se acerquen un poco más al modelo FastPass.
En particular, estaba pensando en los métodos MPI_Gather en MPI: usan un modelo que probablemente esté un poco más cerca. Cada función se distribuye por el clúster y luego puede llamar a reunir desde la raíz para obtener los datos procesados actualmente. El objetivo es el mismo (mantener a todos esperando menos [no bloqueando al usuario] y caminando, gastando [o procesando datos]).
El otro lugar donde puedo ver una similitud es en modelos avanzados de programación con hilos, como el nuevo programador en el TPL . Una de las principales ventajas del TPL incluido en C # 4 es que el planificador permitirá el robo de trabajo, lo que para mí parece una implementación clara en el software de intentar cambiar las líneas de forma dinámica, lo que se relaciona con FastPass. Una de las cosas agradables con el paso rápido es que te sientas en la cola menos, andas más y te mueves más. Con TPL, hay (con suerte) menos bloqueo y espera, ya que un hilo que ha terminado su cola puede robar tareas de otras colas.
He probado FastPass, y así es como lo veo:
Digamos que vas a un paseo con 1 hora de espera esperada, si vas a FastPass, obtendrás un período de tiempo asignado donde tienes garantizado el ingreso inmediato. Por lo general, después de más de 1 h.
Recibimos FastPasses para los paseos populares, y durante ese tiempo, hicimos cola en 10-15m colas, lo que nos permitió hacer cola e ir a 3 atracciones mientras estábamos en la cola virtual de FastPass. También nos dieron FastPasses adicionales no contados para algunos paseos muy impopulares, si los utilizáramos obtendríamos algo de carga de los juegos más populares y llenaríamos los muy impopulares.
Aquí hay un gráfico que compara el tiempo que pasamos frente a la opción de no paso rápido:
paso rápido http://img259.imageshack.us/img259/5173/fastpass.png
Me parece una teoría de colas válida, que permite que se ejecuten recursos con tiempos de espera menos esperados, mientras que se demora aún más uno con un tiempo de espera más alto.
La única analogía de software que puedo ver es que este método evita el desbordamiento del búfer de la cola, si todos los clientes intentan agregar a la cola más o menos al mismo tiempo que podría llenar rápidamente esa cola. Si se les pide a los clientes que esperen un período de tiempo determinado, deberán almacenar sus (relativamente) pocos elementos localmente antes de agregarlos a la cola.
En la mayoría de los otros casos, sin embargo, esto conduce a un rendimiento menos eficiente, ya que podría llevar a la cola a morir de hambre si los tiempos de espera son mal elegidos.
Intente escribir una aplicación de prueba que utilice la cola con y sin ''FastPass'' bajo varias métricas y comparando los resultados, ¡y avísenos si encuentra algo interesante! :)
La idea de FastPass para mí parece una solución para los sistemas en los que necesito realizar tareas de 1 a N y en base a cierto conocimiento que tengo de mí (en Disney, podría saber que mis hijos estarían encantados de montar Test Track mientras esperaban el Soarin ''FastPass time slice to arrive) Pude programarme para entrar en la cola'' FastPass ''para la tarea N y también entrar en la cola estándar para la tarea M. Esto funcionaría donde el orden de la tarea no es necesariamente importante y donde el tiempo de cola era conocido y podía estimar cuánto tardaría en realizar la tarea M o N. Sin embargo, no estoy seguro de que tenga un buen ejemplo de programación del mundo real: gran parte de nuestro pensamiento es de naturaleza lineal y, por lo tanto, nuestros flujos de trabajo tienden a ser así. .
La línea de paso rápido obviamente no va a aumentar el rendimiento total en una determinada cola de recorrido, pero sí ayuda en la programación de recursos y la asignación de recursos donde las personas y los paseos son los recursos.
Como dije, no vas a crear más rendimiento total para dicho viaje, pero puede que los viajes no se utilicen en otro lugar. Si ahora puede montar estos paseos, así como los paseos que tiene que esperar, puede aumentar la eficiencia general del parque. Lo que quiero decir con eso es minimizar la cantidad de viajes que se están ejecutando por debajo de la capacidad de pasajeros.
Si tiene los recursos de la computadora inactivos, esperando realizar una tarea que podría llevar mucho tiempo, tiene sentido utilizar este recurso para otra cosa mientras tanto, ¿verdad? Es simple desde esa perspectiva.
No sé cómo se aplicaría en el software. Pero el sistema definitivamente tiene sus ventajas para los visitantes: puedes tener un Fastpass para un viaje, y mientras tanto ir a otro viaje cuya línea no es tan larga (o, como dices, ir de compras, comer, etc.). Fue bastante el salvavidas cuando mi familia y yo estuvimos allí (aunque admitimos que fue fuera de temporada).
No tienes más paseos. Las líneas para líneas impopulares son más largas ahora, porque cada vez son más las personas que les quitan el tiempo mientras esperan a que maduren sus populares pases. Capacidad es capacidad
"Actualmente, Twitter está muy ocupado. Vuelva entre las 15:00 y 15:15 y le garantizamos que obtendrá sus tweets en 5 segundos o menos".
Para mí esto parece una cola de prioridad .
Cuando se toma por primera vez un SpeedPass, se obtiene una mayor prioridad. Luego, cuando aparece la general line queue
SpeedPass tiene una mayor prioridad en la cola.
Y si estamos de acuerdo en que esta es una cola de prioridad, entonces la implementación de software más obvia es la programación del sistema operativo
Modificado a partir del artículo wiki de programación:
El programador de Disney Land se preocupa principalmente por:
- Uso de viaje: para mantener el viaje lo más ocupado posible.
- Rendimiento: cantidad de personas que completan su viaje por unidad de tiempo.
- Rendimiento: cantidad de tiempo para ejecutar un viaje en particular.
- Tiempo de espera: la cantidad de tiempo que una persona ha estado esperando en la lista de espera.
- Tiempo de respuesta: tiempo que demora desde que se colocó la cola hasta que se produjo la primera respuesta.
- Equidad - Igualdad de tiempo de viaje para cada persona.
Se trata de la acumulación, no de la eficiencia de la cola.
Fastpass funciona porque hace que los elementos individuales en la cola sean más eficientes para "consumir" algo. No es tanto una cola como un procesador esperando que se ejecuten las instrucciones, ya que es la gente que espera en la cola la comida.
En el caso de las personas en Disneyland, les permite maximizar su diversión .
Piense en un procesador que acepta instrucciones. Cada instrucción está esperando para ejecutarse en la cola, para realizar su tarea. Ahora cámbialo - imagina cada instrucción esperando en línea no para ejecutar una instrucción, sino para obtener algo del procesador - cada vez que golpea un procesador es recompensado con una estrella de oro, y su trabajo es acumular tantos de estos como sea posible.
Fastpass es como permitir que las instrucciones vayan a otro lado, a un procesador diferente, para obtener una estrella dorada allí, antes de regresar al procesador principal para obtener la estrella dorada.
En el caso de los usuarios de Disneyland, les interesa divertirse: acumular experiencias de viaje. El Fastpass permite una maximización al permitir al usuario encontrar un paseo diferente con una línea más corta, para que puedan acumular más en menos tiempo.
Se trata de la programación de recursos para paseos populares, así como una forma de generar ingresos adicionales mediante la venta de mercancías. Si está esperando en una línea, significa que no tiene la oportunidad de gastar más dinero.
Un aspecto interesante de FastPass es que introduce un canal de retroalimentación para Disney. Al tener una sola línea que casi siempre espera que la atracción esté disponible, no hay mucho que pueda hacer, excepto de alguna manera medir cuánto tiempo la línea está en intervalos de tiempo fijos durante el día. El uso de FastPass Disney recopila datos de demanda y tráfico por atracción en tiempo real y ya digitalizados; debe ir directamente a su almacén de datos para la minería.
Tiendo a aceptar que aquellos que califican FastPass como un sistema de asignación de recursos más que un sistema de cola de recursos. Otra analogía sería tratar a todos los clientes de Disney como un proceso de sistema operativo que tiene un único hilo hasta que un cliente reciba un FastPass. Esto hace que el cliente tenga un proceso de dos hilos que siga circulando por el parque como antes y que esté ejecutando otro hilo que espera su turno para el recurso designado (atracción FastPass). Permitir múltiples FastPasses a los usuarios (procesos) hará que dichos procesos sean más multiproceso. La sincronización de subprocesos tiene lugar cuando el cliente finalmente llega a la atracción FastPass para disfrutarla.