martes, 9 de diciembre de 2014

Algoritmo sobre las personas que caben en la Plaza Mayor de Madrid

En una tarea anterior se nos pidió que estudiásemos la manera de contar las personas que caben en un recinto, en este caso la Plaza Mayor de Madrid. 

Para esta tarea, antes de proponer una solución (que será la misma mencionada en la tarea mencionada anteriormente), vamos a realizar un breve análisis del programa de Scratch mencionado en el enunciado de la tarea:


Dicho programa ha sido modificado para poder observar detenidamente su comportamiento, añadiendo pausas en lugares determinados:



- Usa la aleatoriedad para ir situando a personas en la plaza. Esta característica, en principio deseable para dotar de realismo el programa, tal como está realizada es tremendamente ineficiente porque obliga a muchos intentos antes de dar con un lugar apropiado para colocar a una persona. (hasta nueve intentos he contado cuando había 1 persona solamente ya colocada en la plaza).
- El inicio del cálculo de personas empieza en la coordenada (0,0), lo cual no lo considero adecuado porque está muy cerca de una zona roja, lo cual obligará, en muchos casos, a recalcular posiciones.
- ¿En qué se basa el programa para establecer que 2 personas están correctamente colocadas si 2 cuadrados verdes no se tocan?
- En mil intentos seguidos sin conseguir establecer una posición de una persona se termina el programa. ¿Hasta cuánto de fiable es esto?
- La ineficiencia del programa se acentúa en el cálculo de personas en zonas próximas a los bordes de la plaza, esto es, pintadas de rojo.

Tras analizar el algoritmo anterior, pienso que la solución que aporté en una tarea anterior es válida para calcular el número de personas de la plaza, y de cualquier recinto, esto es, el cálculo basado en los trabajos sobre el tema del profesor de periodismo Herbert Jacobs. En esencia, se trata de averiguar el espacio en metros cuadrados (el autor original hablaba de pies cuadrados). Una vez calculado (por medio de fotografías aéreas, buscando documentación sobre el recinto o bien efectuarlo a mano), hay tres opciones:

a) Multitud fluida, donde hay una persona por cada 10 pies cuadrados.
b) Multitud densa, donde hay una persona por cada 4,5 pies cuadrados.
c) Multitud muy densa, donde hay una persona cada 2,5 pies cuadrados.

El algoritmo a emplear sería: partiendo de la superficie del recinto en metros cuadrados, elegir una opción de densidad de personas (multitud fluida, multitud densa y multitud muy densa) y dividir la superficie entre los metros cuadrados que ocupa una persona según su densidad.
Por lo tanto, sabiendo que:

- La Plaza Mayor de Madrid tiene una superficie de 120x90=10800 m2 (según http://josesanpepe.blogspot.com.es/2013/03/plaza-mayor-de-madrid.html)
- por Google, un pie cuadrado son 0,09290304 metros cuadrados, podemos efectuar el cálculo del número de personas según su densidad:
  • Si se considera una multitud fluida, en la Plaza Mayor habría:

10 pies cuadrados son 10*0,09290304= 0,9290304 metros cuadrados

Número de personas: 10800: 0,9290304=11.625 personas
  • Si se considera una multitud densa, en la Plaza Mayor habría:

4,5 pies cuadrados son 4,5*0,09290304= 0,41806368 metros cuadrados

Número de personas: 10800: 0,41806368=25.833 personas

  • Si se considera una multitud muy densa, en la Plaza Mayor habría:

2,5 pies cuadrados son 2,5*0,09290304= 0,2322576 metros cuadrados

Número de personas: 10800: 0,2322576=46.500 personas  

He implementado esta solución en Scratch, que es válida para cualquier recinto, dada su superficie:










1 comentario:

  1. Hola,
    Primero de todo comentar que tu solución está muy bien detallada y explicada.

    Destacaría las variables que has tenido en cuenta: multitud fluida, densa y muy densa, que yo en mi caso no las he contemplado.

    Me gusta la idea que recuerdes que ese problema puede ser aplicado a otras situaciones similares.

    Lo único que yo añadiría es una imagen, ya que creo, que con un apoyo visual, ese, nos puede ayudar a entender mejor el problema.

    ResponderEliminar