Ajedrez por votación e inteligencia colectiva

Al parecer en chess.com tienen una competicion por equipos en la que se vota la jugada. No lo he mirado con detalle, pues no tengo equipo, pero me da a mi que hay en este caso un par de detalles a resolver:

  • El tiempo: ¿Cuando se decide que ya se puede ejecutar una jugada? La mayoría necesaria debería ser una función del tiempo restante y del quorum, de manera que cuando quede poco tiempo se acepten mayorías simples, y que si hay una mayoría aplastante de más del 90% se juegue de inmediato la jugada, sin seguir gastando reloj.
  • El peso: Dado que la diferencia de ELO entre dos jugadores se traduce en la probabilidad de que uno de estos gane una partida, se podría considerar que también es la probabilidad de que cada uno de ellos tenga razón en su propuesta de movimiento. La complicación aquí es que esta probabilidad va por emparejamientos y por tanto dentro de un quorum de votación habría que calcular los pesos sumando a todos los emparejamientos. Como la produccion en sí se calcula mediante una sigmoide de la diferencia de ELOs, tenemos una matriz con un monton de calculos de logistic, que se va actualizando cada vez que un nuevo participante añade al quorum

Por supuesto siempre se puede jugar con tiempo fijo y con regla de una persona un voto.

Otra cuestión es si hay inteligencia colectiva, esto es, si es mayor el ELO del equipo que el mejor ELO individual. El problema aquí es que habría que normalizar de alguna forma el ELO de equipo para que coincidiera con el de partidas individuales. Una solución intermedia sería estudiar si es posible predecir, dada la puntuación de cada uno de los participantes de un equipo, la puntuación del equipo conjunto. Y ver si esta predicción usa a todos los jugadores o le basta con mirar los de mayor ELO, y también si la precisión de la predicción depende del tamaño del equipo.

Access Mac from Nintendo Switch

well try this path. No, seriously, no.

He estado intentando acceder al mac via VPN desde la Nintendo Switch

Para ello hay que usar el truco de forzar el lanzamiento del WifiWebAuthApplet. En principio parece funcionar: te instalas un servicio de DNS como el dnsmasq, activas el compartir wifi del iMac, y con eso engañas al Applet para que vaya a tu web para autenticarte, cuando conectas la Switch a la wifi. Si no quieres tener que volverte loco viendo como pushear el DNS en el momento que la consola se conecte al Mac, puedes modificar los settings y poner a mano el dns, y luego reconectar. Por supuesto también tienes que estar corriendo un servidor web en los puertos estándar.

El problema principal de ese truco es que tiene un timeout, así que incluso para ojear la web no es muy conveniente. Tiene mas logica si hubieran encontrado alguna manera de hackear la Nintendo a partir de inyectar páginas web trucadas, pero no es el caso, así que es casi una anécdota. Ah, por github se puede encontrar css y html preparado para dar una apariencia más «switch», pero no me he molestado en instalarlo.

El resto una vez consigues que la consola cargue una página html es ya la típica pesadilla. Hay que usar el cliente web, esto es, noVNC, que soporta algunos formatos modernos pero no muchos de los antiguos. Así que el servidor nativo de Mac básicamente le envía raw sin comprimir y ni siquiera se pone de acuerdo para los updates de pantalla. Por otro lado, los servidores VNC libres no están preparados para enviar las resoluciones altas que tienen los macintosh hoy en dia, asi que hay que compilar (configure, make, vi, make) una versión de x11vnc para osX que sí que sabe reconocer estas resoluciones… pero usa una librería anticuada sin websockets, y por tanto hay que lanzar el noVNC con la versión que hace un puente entre websockets y TCP. En resumen:

x11vnc/x11vnc -nonap -xd_area 0 -wait 20 -defer 10  -rfbauth /path_to_passwd -localhost

./utils/launch.sh --vnc localhost:5900 

Inmunidad de grupo

En el anterior post de epidemiologia de salon comentabamos la diferencia entre los ajustes por funcion logistica o por funcion de Gompertz y los ajustes mediante modelo SIR, en una de las versiones de Kermack-McKendrick.

Veamos cuando se produce el pico de infectados en cada uno de los modelos:

Para Logistic \(y» = \beta y’ (N – 2y)\) asi que tenemos un maximo en \(y=N/2\).

Para Gompertz $$y» = – b y’ (1 + \log \frac y k )$$ asi que el maximo ocurre con \(y = k e^{-1}\)

Para Kermack-McKendrick es otra historia. Para empezar conviene tener en cuenta que aquí la ecuación diferencial de infectados ha salido al despejar un sistema de dos ecuaciones, así que en realidad hay otra subyacente que tendríamos que considerar si queremos hacer cosas como diferentes condiciones iniciales, ajustes por tramos o alguna variación temporal de los parámetros. Para la ecuacion que hemos despejado, la derivada segunda es

$$y» = y’ (-\alpha (1+ \log(1- \frac y N )) + \beta (N – 2 y) )$$ asi que tenemos un pico cuando el valor de y cumple

$$ -\frac \alpha {N \beta} (1 + \log(1- \frac y N )) = 1 – 2 \frac y N $$ mientras que por otro lado el valor final del total contagiado por la infeccion se obtenia resolviendo

$$ -\frac \alpha {N \beta} \log(1- \frac k N ) = \frac k N $$ Por supuesto nos interesa la solución y/N que es menor que k/N. Lo interesante es que estas fracciones (o su cociente y/k) todavía dependen de los parámetros, mientras que en Logistic o en Gompertz son cantidades fijas, respectivamente 1/2 o exp(-1).

Un aire acondicionado aun más flojito

Pues una vez solucionado lo de tener un poco de fresquito (vease el post anterior), tambien me ha llegado una cosa de bastante poca eficiencia: un kit de cuatro celulas peltier para refrigerar por agua.

En teoria hay que darle una caña de 288W para conseguir una potencia de enfriamiento de 170W. Supongo que el total de 458W se lo tendrá que llevar el agua, eso es bastante gordo. Pero al menos aquí no tenemos dudas de si a volumen constante o a presion constante. Pasamos calorias a julios y tenemos 4.18 kJ por Kilogramo y Grado.

Por ejemplo con un calentamiento de 25 grados, tendremos que bombear 0.458/(25*4.18) = 4.38 gramos de agua por segundo. ¡Unos 15-16 litros por hora! Eso explica que la refrigeracion por agua de circuito abierto ya no se venda, claro.

Un aire acondicionado flojito

Pues me acabo de comprar un aire acondicionado que dice que es capaz de proporcionar un flujo de aire de 320 metros cúbicos a la hora y enfriar con una potencia de 2050W.

Cómo 2050 W son 7380 kilojulios por hora tiene pinta de que es capaz de ir quitando calor a raíz de 23062.5 julios de cada metro cúbico, o unos 23 julios de cada litro de aire.

A 20 grados (y supongo 1 atmósfera) un metro cúbico contiene 1.20 Kg. Usease que estamos hablando de enfriar a ritmo de 19218 J/Kg. Ahora nos faltaría tener el calor específico del aire. En algún sitio he leido que es de unos 1000 julios/kg, asi que a ojo, dividiendo, tendrá que enfriar el aire unos 20 grados O_O

Poniendo termómetros en la entrada y en la salida me sale que enfria solo unos diez o doce grados. Al menos es el orden de magnitud. Pero claro, hay que tener en cuenta lo de los cambios de presiones al pasar por los ventiladores y todo esto.

Me pregunto como se podrá medir con más precisión, y si hay laboratorios que lo hacen para los electrodomésticos o se limitan a contar los efectos de los componentes. En particular me pregunto si esos 2050W son contando o sin contar con el calor generado por la propia máquina (785W) . Si tuviera que disipar ademas el calor generado, tendriamos que en vez de bajar 19.2 grados apenas podría bajar unos 11 o 12 grados, lo que me encajaría con lo que veo en los termómetros. Pero sería un poco estafa ¿no? Asi que mas bien puede ser que estoy perdiendo un factor dos debido a tanta aproximación, a que no es ni presión ni volumen constante con tanto compresor, o a que no se trata de aire seco, o a que la temperatura hay que medirla fuera del flujo. O todo un poco.

AÑADIDO: Hoy por la mañana, aunque refrescaba, he probado de nuevo, permitiendo distintos circuitos de aire: que el aire para la rejilla caliente no fuera el mismo que el aire interior, el de la rejilla fria. Parece que se veía un poco mejor: unos 15-16 grados de diferencia, y 39 grados en la salida de aire caliente

Da la impresión de que el punto donde se coloque el sensor de temperatura influye, pero también ayuda que no haya succión del aire, no se exactamente por qué; no sé si la máquina usa uno o dos motores para la circulación del aire. Esto puede que también se refleje en la potencia consumida: 580 a 650 watts he ido midiendo.