¿Cómo debo responder esta pregunta de la entrevista de Facebook: “¿Cuántas personas en el mundo están usando un teléfono celular AHORA MISMO?”

Estas preguntas son realmente muy relevantes. Se denominan colectivamente problemas de Fermi y se utilizan para calcular una estimación decente de la respuesta al problema que enfrenta sin perder demasiado tiempo. Poder razonar y aproximar razonablemente las respuestas a varias preguntas que surgen al diseñar una aplicación a escala es algo que sucede con bastante frecuencia, ya sea cuánto tiempo se ejecutará algo o cuánto espacio se necesitará o cuántas transacciones son posibles en una hora. para un sistema determinado o el tiempo de respuesta de algo en una red dado un número de usuarios conectados al sistema.

Una respuesta “correcta” a esta pregunta específica requiere un poco de comprensión. La clave es darse cuenta de que la fracción del tiempo que una persona promedio pasa hablando por teléfono es igual a una fracción de la cantidad de personas que están hablando ahora. De esa comprensión puede derivar una fórmula como (tiempo promedio de conversación por día) / (duración del día) = (número de personas que hablan en este momento) / (número total de personas con teléfono celular)
Luego, solo hace algunas estimaciones sensatas para las variables. Ocasionalmente, como el (número total de personas) o la población del mundo, simplemente hace una suposición razonable como 6 * 10 ^ 9 o 7 * 10 ^ 9. Para estimaciones más complicadas, la forma adecuada de obtener estos números es tomar un valor mínimo y máximo y tomar la media geométrica de estos. Por ejemplo, podría decir que un usuario de un teléfono celular pasará al menos 1 minuto y menos de 1000 minutos hablando, lo que le da una estimación de 30 minutos por día. Para encontrar el número estimado de personas con un teléfono celular, usted supone algo así como al menos el 1% y menos del 100% de la población tiene un teléfono celular que luego le da una estimación promedio del 10%.

Al conectar nuestras estimaciones y resolver (número de personas que hablan en este momento) obtienes algo como = 6 * 10 ^ 9 personas * .10 * 30 minutos / (24 * 60 minutos) te da algo así como 12500000 o ~ 10 ^ 7 personas .

Cuando realiza este tipo de cálculos, es importante comprender e incorporar un factor de seguridad para compensar los errores en la estimación de los parámetros y la ignorancia general del espacio del problema. En nuestro caso, podemos estar razonablemente seguros de que estamos dentro de un factor de 10 a la respuesta real a pesar del rango bastante grande entre las estimaciones superiores e inferiores para nuestros parámetros porque utilizamos la media.

Entonces 10 ^ 7 + – un factor de 10 sería una respuesta razonable.

La mayoría de estos problemas, dada una pequeña idea, deberían poder resolverse rápidamente y sin una calculadora.

Realmente largo, divagante, y no corregido, por lo que probablemente haya errores, pero espero que entiendas la idea.

Ver también
Columna 7 de la segunda edición de las Perlas de programación de Jon Bentley
http://en.wikipedia.org/wiki/Fer…

Comenzaría señalando que un plan de teléfono celular típico de los EE. UU. Es de 1000 minutos al mes. Luego divides 1000 por la cantidad de minutos en un mes y multiplicas por la población mundial, que como sabes es [matemáticas] 10 ^ {10} [/ matemáticas]. Y voilá.

¿Es correcta la respuesta? No: puedes hacer agujeros en cada una de las estimaciones. ¿Son 1000 minutos realmente típicos? ¿Es realmente Estados Unidos una buena aproximación para el resto del mundo? ¿La población mundial es realmente [matemáticas] 10 ^ {10} [/ matemáticas]?

Pero es mucho más importante multiplicar los números correctos que estimarlos perfectamente.

Esto significa que para mejorar la respuesta, lo primero que debe hacer es pensar si necesita números adicionales para multiplicarse: la fracción de personas que tienen teléfonos celulares, por ejemplo.

El siguiente paso es pensar qué información puede que desee recopilar para refinar sus estimaciones de todos los números que está multiplicando. Si está en una entrevista, por lo general se espera que lo mantenga durante un tiempo a menos que se le indique lo contrario.

Hay tres claves básicas para preguntas como esta:

a) Haz una estimación aproximada, un orden de magnitud.
b) Al igual que un detective, busque cantidades adivinables que puedan conducir a la respuesta. Las conjeturas solo tienen que ser semi-sensatas. Nadie espera que sepas cosas como exactamente cuántas computadoras portátiles hay en el mundo. Sería un poco raro si lo hicieras.
c) Es bueno conocer algunos números básicos: población de la tierra, población de los EE. UU., diámetro de la tierra, etc.

Entonces, para esta pregunta, es probable que desee adivinar cuánto tiempo pasa una persona cada mes en su teléfono celular. ¿una hora? ¿Dos? Cerrar. Luego estima cuántas personas tienen teléfonos celulares en la tierra: ¿1.5 mil millones? Tal vez. Ahora es un problema de álgebra sencillo.

¿Cuántas pelotas de ping pong caben en un 747? Supongamos que la cabina es un cilindro. Que ancho 25 pies? ¿Cuánto tiempo? Hmm … unos 6 pies por fila: ¿cuántas filas más en un 747? No recuerdo porque tengo miedo de volar, digamos 40. Así que ahora se puede calcular el volumen de ese cilindro. ¿Cuál es el volumen de una pelota de ping pong? Bueno, es una esfera sobre yay grande. Claro, las bolas no encajarán sin desperdiciar espacio, pero eso no es nada comparado con los errores en nuestras conjeturas anteriores, así que ignore eso. Ahora es un problema de geometría de un libro de texto de secundaria.

No se preocupe por la precisión de sus conjeturas iniciales; no importa, especialmente si se buscan fácilmente. Solo que no están locos. Lo que importa es que estás reduciendo un problema aparentemente intratable a problemas más pequeños y manejables, y no te asusta la incertidumbre.

El problema del ping pong plantea un cuarto punto (tres era solo una estimación):

d) No haga cálculos dolorosamente precisos sobre conjeturas aproximadas.

Es posible que sienta la tentación de calcular cuánto espacio se desperdicia empaquetando esferas en un cilindro. Esto no tiene sentido ya que su estimación del volumen del avión ya está apagada en un 50% más o menos. El espacio entre las bolas no puede ser superior al 20%, así que olvídalo. Puede ir por la borda y comenzar a preocuparse por el algoritmo de embalaje óptimo para las bolas en una esfera. Enorme bandera roja aquí, que señala una trampa común de algunas personas muy brillantes: te atascas en problemas difíciles que en realidad no importan.

Todo esto es muy pertinente para el mundo real. “¿Cuál será la carga de la base de datos si mi genial aplicación para compartir fotos obtiene tecnología reducida?”

“Bueno, la población de los EE. UU. Es de 300 millones, tal vez el 2% lo probará en una semana. Entonces, 5 millones de personas subirán, ¿qué? ¿10 imágenes cada una? Con la resolución típica de iPhone …”