Una historia interesante

Via Steve Hsu, encontré una interesante entrevista a Daniel Kahneman. Me resultó particularmente interesante el siguiente fragmento (en aquel entonces vivía en una parte de Francia ocupada por los alemanes luego de 1940):

It must have been the fall of ’41, when there was a curfew for Jews. We were also supposed to be wearing a yellow star, and there was a curfew which I think was 6:00 PM. I was in first or second grade and I’d gone to play with a friend and I was going home and I missed the curfew, I was late. And so, I turned my sweater inside out and walked home, and as I was coming close I remember the street was deserted and there was this German soldier walking towards me. He was wearing the black uniform and I knew that was not good. That was the uniform of the SS. We were walking towards each other and as we were coming close he sort of beckoned me, and of course I went there, and he picked me up and hugged me. I remember being terrified that he would see the Star of David inside my sweater. Then he put me down and took out his wallet and showed me a picture of a boy and gave me some money. That’s a formative memory because of what it meant about the complexity of things. I remember being very fascinated at the time by this and by stories of Hitler liking flowers and kissing babies. The complexity of evil was much on my mind as a seven- or eight-year-old.

Advertisements

Un problema de sumas

Sea v un vector formado por n enteros y sea s un número entero. El problema consiste en determinar de la forma más eficiente posible si existen dos elementos en v, vi y vj (i != j), tales que vi + vj = s.

Es simple hacerlo en tiempo cuadrático O(n2) mediante el algoritmo “de fuerza bruta”:

def sum1_nsq(s, v):
    for i in xrange(len(v)):
        for j in xrange(len(v)):
            if j >= i:
                break
            if v[i] + v[j] == s:
                return True
    return False

pero lo interesante es ver si puede mejorarse este tiempo…

Un problema de termos – Solución

[Continuación de Un problema de termos]

Una suposición implícita al resolver esta clase de problemas es que el estado del agua en el interior del termo puede describirse solo mediante su cantidad y su temperatura. Esto implica un estado de cuasi-equilibrio, lo que es razonable si se tiene en cuenta que el termo forma una barrera térmica a la interacción con el medio.

Evaluemos primero entonces el caso en que el tiempo transcurrido tiende a infinito (en lugar de las cinco horas especificadas en el problema). La temperatura del agua en el termo tenderá a la temperatura ambiente en ambos casos, por lo que es lógico que la temperatura final será menor en el segundo caso respecto al primero (en el segundo caso se mezclará un 90% de agua a temperatura ambiente con un 10% de agua a 80 °C, mientras que en el primero se mezclará un 90% de agua a 80 °C con un 10% de agua a temperatura ambiente).

Para evaluar el caso general podemos hacer algunas simplificaciones “evidentes” a primera vista:

  • La capacidad calorífica del agua es constante.
  • El trabajo efectuado sobre el agua es despreciable.
  • La capacidad calorífica del aire contenido en el termo es despreciable.
  • La pérdida de calor a través de las paredes del termo crece monótonamente cuando la temperatura del agua sube.
  • El termo pierde calor mientras la temperatura del contenido sea mayor a la externa.

Una simplificación menos evidente es suponer que la velocidad de pérdida de calor no depende de la cantidad de agua contenida. Pero es razonable si tenemos en cuenta que la pérdida de calor depende solo de la temperatura de la pared interior del termo y que el interior del termo puede considerarse en equilibrio térmico con dicha pared.

Llamemos q_1 a la cantidad de calor perdida en el primer caso (10% de agua remanente) y q_2 a la cantidad de calor perdida en el segundo caso (90% de agua remanente). Si llamamos T_{1f} y T_{2f} a las temperaturas finales correspondientes, M a la masa total de agua y C_e a su calor específico, tendremos:

T_{1f} = 0.1 \left( 80 - \frac{q_1}{0.1 M \cdot C_e} \right) + 0.9 \cdot 80 y

T_{2f} = 0.9 \left( 80 - \frac{q_2}{0.9 M \cdot C_e} \right) + 0.1 \cdot 80.

Simplificando:

T_{1f} = 0.1 \cdot 80 - 0.1 \frac{q_1}{0.1 M \cdot C_e} + 0.9 \cdot 80

T_{1f} = 80 - 0.1 \frac{q_1}{0.1 M \cdot C_e}

T_{1f} = 80 - \frac{q_1}{M \cdot C_e}

T_{2f} = 0.9 \cdot 80 - 0.1 \frac{q_2}{0.9 M \cdot C_e} + 0.1 \cdot 80

T_{2f} = 80 - 0.9 \frac{q_2}{0.9 M \cdot C_e}

T_{2f} = 80 - \frac{q_2}{M \cdot C_e}

Podemos ver que cual de las temperaturas sea mayor dependerá exclusivamente de cuanto calor se haya perdido y no de la fracción de agua remanente en el termo, excepto a través del efecto de esta fracción en las pérdidas de calor. El problema queda reducido entonces a determinar cual es la relación entre los valores de q_1 y q_2.

Si llamamos \dot{q}(T) al flujo de pérdida de calor del termo (dependiente por hipótesis solo de la temperatura), tendremos:

q_1 = \int_0^{5\,hs} dt\,\dot{q}(T_1(t)) y

q_2 = \int_0^{5\,hs} dt\,\dot{q}(T_2(t)).

Si escribimos las ecuaciones diferenciales de las temperaturas,

\dot{T_1}(t) = -\left(\frac{1}{0.1 M \cdot C_e}\right) \dot{q}(T_1(t)) y

\dot{T_2}(t) = -\left(\frac{1}{0.9 M \cdot C_e}\right) \dot{q}(T_2(t)),

podemos observar que solo difieren en una constante multiplicativa. Si definimos T_3(t) = T_2(9t), podemos ver que

\dot{T_3}(t) = \dot{T_2}(9t) \cdot 9 = -\left(\frac{9}{0.9 M \cdot C_e}\right) \dot{q}(T_2(9t)) = -\left(\frac{1}{0.1 M \cdot C_e}\right) \dot{q}(T_3(t)).

Como T_3 obedece la misma ecuación diferencial que T_1 y además cumplen con las mismas condiciones iniciales, podemos concluir que son idénticas. En consecuencia,

T_1(t) = T_2(9t).

Como ambas funciones son monótonamente decrecientes y como 9t > t para todo t positivo, sabemos que

T_1(t) < T_2(t).

Ahora, de acuerdo con las suposiciones anteriormente realizadas, eso implica que

\dot{q}(T_1(t)) < \dot{q}(T_2(t))

y, en consiguiente,

q_1 < q_2.

Finalmente, eso nos lleva a la conclusión supuesta en base a los resultados obtenidos bajo la condición t \rightarrow \infty:

T_{1f} > T_{2f}.