viernes, 23 de mayo de 2008

Coeficiente de Correlación

La correlación es una técnica estadística usada para determinar la relación entre dos o más variables.

El coeficiente de correlación es un valor cuantitativo de la relación entres dos o más variables y puede variar desde -1 hasta 1.

La correlación de proporcionalidad directa o positiva se establece con los valores +1 y de proporcionalidad inversa o negativa con los valores de -1. No existe relación entre las variables cuando el coeficiente es de 0.



Para calcular el coeficiente de correlación en EXCEL podemos utilizar las siguientes funciones: COEF.DE.CORREL o PEARSON (http://es.wikipedia.org/wiki/Coeficiente_de_correlaci%C3%B3n_de_Pearson)

Una aplicación práctica sería la siguiente figura. Muestra los aforos de vehículos de dos días diferentes durante 24 horas. (N=24; X=valores día 24/01/2007; Y=valores día 12/01/2005).

Se puede apreciar la alta correlación entre ambos días mirando el coeficiente de correlación (r = 98.01%) y gráficamente consultando las líneas describiendo casi los mismos trazos.


lunes, 12 de mayo de 2008

TRUCOS JAVACUP 2008

Bueno, referente a la táctica del concurso JavaCup 2008, voy a explicar algún truquillo que puede ser interesante.

El framework de Javacup, por cada movimiento de balón itera cada una de las tácticas que están en juego, por lo que sería lógico, dentro de cada táctica, iterar todos y cada uno de los 11 jugadores con sus comandos (movimientos, pases o tiros a puerta) correspondientes.

Otro y si cabe, más interesante, sería anticiparse a las acciones del contrario, calculando previamente la posición futura del balón. Esto se haría más o menos:


distanciaRecorridaBalonEjeX = bola.getX() - posicionBalonAnterior.getX();
distanciaRecorridaBalonEjeY = bola.getY() - posicionBalonAnterior.getY();

posicionBalonSiguiente.setLocation(bola.getX() + distanciaRecorridaBalonEjeX, bola.getY() + distanciaRecorridaBalonEjeY);

bola = posicionBalonSiguiente;

Con el nuevo objeto bola y sus nuevas coordenadas ya podemos seguir con nuestra táctica; movimientos de los jugadores, siempre respecto a la nueva posición de la bola.
Una vez se haya acabado nuestra táctica en el enésimo movimiento del balón según el framework, hay que actualizar la posición del balón anterior con la posición de la bola utilizada de la siguiente manera:

this.posicionBalonAnterior.setLocation(sj.getBola());

Para rematar la faena, nos interesa cubrir al contrario o mejor dicho, anteponernos entre el balón y el contrario.
Para ello podemos utilizar el siguiente código:


//nCon en el índice del vector contrarios, es decir, el contrario a cubrir

double x = sj.getBola().getX() - sj.getContrario()[nCon].getX();
double y = sj.getBola().getY() - sj.getContrario()[nCon].getY();

//Distancia del contrario a la bola
double n = Math.sqrt(Math.pow(x,2) + Math.pow(y,2));

//Posiciona al jugador en un punto intermedio de la recta que une el contrario y la bola
double nx = sj.getContrario()[nCon].getX() + (x/n)*20;

double ny = sj.getContrario()[nCon].getY() + (y/n)*20;

lunes, 5 de mayo de 2008

Baila el Javascripy

Para los que alguna vez han programado en el magnífico lenguaje JavaScript y ahora que se acerca Eurovisión 2008 con la canción del Chiki Chiki, aquí va una versión de lo más currada.

Baila el Javascripy

(la música ya la conocéis)

¡¡¡Teclea, teclea!!!
El javascripy mola mogollón,
funciona en Explorer y también en Firefox.
Ponle javascripy a esa paginita,
que el javascripy la deja muy bonita.
Abre ventanas,
muestra mensajes,
valida formularios,
mi amol ya tu sabes!
Programan los seniors,
Programan los juniors,
Programa mi jefe con acentos en el function!
Y el javascripy se programa asi:
1 - el tag "script"
2 - el function vars
3 - el alert-confirm
4 - el return trú
Programa el javascripy,
Programa el javascripy,
programan los heavys también los frikis
Programan en la offis, programan en la uni,
Programan los fruittis y también los lunnis.
Programa Maradona esnifando una raya,
y Juan Carlos le dice: ¿Porque no usas ajax?
En el formulario de un triste portal,
pusieron javascripy y ya pudo validar
¡¡¡Validar!! ¡¡Validar, validarr, validarrr!!!
Y el javascripy se programa asi:
1 - el tag "script"
2 - el function vars
3 - el alert-confirm
4 - el return trú.

JAVACUP 2008

Ya hace un año leí en la revista "Sólo Programadores" un artículo sobre un torneo de fútbol para programadores Java. Ahora vuelve la segunda edición (http://javacup.javahispano.org/) con mucha más fuerza y mejores premios.
Entre las empresas involucradas está Sun Microsystems Ibérica, lo que indica del alto prestigio del torneo.

Se trata de hacer una táctica (una clase Java) sobre un framework programado por Jorge Rubira que ofrece todo lo referente a la posición del balón, de los jugadores, pases, chutes, etc. Esta táctica puede ser lo más sofisticada que se pueda para auparse al número 1 del podio, aunque creo que es muy difícil por lo ya visto en el 2007. El vídeo de la final de 2007 lo puedes encontrar en : http://mx.youtube.com/watch?v=IcC-Pg34Wa4&feature=related.

¿ Te atreves?.