Inicio > Historias > Toda la potencia en Visual Basic 6

Toda la potencia en Visual Basic 6

por Malambo en Bloxito.Ciencia | 2006-01-11 | 3 Comentarios


Estoy haciendo un programita para medir algunas propiedades de las redes complejas y aunque debo confesar que el proyecto fue desarrollado íntegramente en Visual Basic 6, creo no cometer otro gran pecado.

El objetivo es comprobar (o no) el cumplimiento de la ley de potencias de algunos datos que tengo almacenados en bases de datos Access (los puristas vuelvan a cerrar los ojos), pero me falta un módulo que los lea de forma rápida para transformarlos en dibujitos y coeficientes útiles (probé con DAO, ADO SQLServer y el motor de la base de datos de Access, pero todos me resultan algo lentos).

Redes. El programita tiene unos cuantos objetos, algunos más generales, para cálculos de clustering, grados de los nodos, etc. y otros (e.g. CMundoPequeno), con funciones específicas. En la imagen se puede ver el proyecto corriendo sobre la ventana de edición del VB6.


Red de mundo pequeño con N = 24, kinicial = 6 y han pasado 4 unidades de tiempo.
Imagen: Invariancia de escala

Para evaluar el desarrollo del proyecto y poner a prueba distancias medias entre nodos, coeficientes de clustering y demás lindezas creé unos modulitos para redes completamente aleatorias, otros para rejillas (completamente ordenadas) y unos terceros para un tipo de redes que son una transición entre el orden y el desorden, las redes de mundo pequeño, ideadas por primera vez por Duncan Watts y Steven Strogatz en 1998.

Una red de mundo pequeño es una a la que se le agrega un conector con cada tic-tac del reloj. Comienza con N nodos, todos de grado k y en cada golpe de reloj se agregan "atajos", de manera que lo que al principio era una estructura regular paulatinamente se va desordenando. En cada paso Watts y Strogatz calcularon el clustering (una medida de cuanto se conocen entre sí los amigos de uno) y la distancia media entre cada par de nodos y obtuvieron la evolución de estos índices a medida que la red se va haciendo más y más aleatoria.

Yo hice lo mismo y los resultados no fueron tan malos, después de todo:

A la izquierda la medición del clustering con mi programa, a la derecha los resultados (cuadrados blancos) de Watts y Strogatz, en "Collective dynamics of small-world networks (pdf)", el trabajo de 1998. La diferencia en las escalas surge porque ellos normalizaron sus resultados y yo no; la gráfica inferior del trabajo profesional (puntos negros) corresponde a la distancia media entre dos nodos cualesquiera de la red a medida que avanza la "aleatorización". [Click en las imágenes para agrandar]





Bloxito.Ciencia | Toda la potencia en Visual Basic 6 (2006-01-11 03:27) | 3 Comentarios

Etiquetas:

Referencias (TrackBacks)

URL de trackback de esta historia http://bloxito.blogalia.com//trackbacks/36438

Comentarios

1
De: JuanPablo Fecha: 2006-01-15 14:30

cerré los ojos, y se me ocurre una sola pregunta, por más que intento no me la puedo sacar de la cabeza...

¿con qué algoritmo calculás si es power law?...

y por supuesto, me desfilan opciones y preguntas asociadas: ¿cuadrados mínimos, máxima verosimilitud (y si es este, ¿cuál?), acumulada?... para cualquiera de estos, ¿dónde hacés el corte para empezar a buscar la curva? ¿donde hacés el corte en la cola? Sobre la cola, ¿usás bins o no?, y si lo usás, ¿logarítmico?

realmente me interesa la respuesta, si preferís responderme por mail, tanto mejor.



2
De: malambo Fecha: 2006-01-15 17:11

Por ahora hice un modulito que calcula el exponente con la ecuación usual. El corte, todavía, es a ojo ;·) Los datos "feos" (en los extremos de la función) directamente no los incluyo, así, de guapo.

Sospecho que decantaré por la distribución acumulada, que es la más suave; pero a estas alturas eso es un prejuicio. Posiblemente haga un modulito para cada opción para luego contrastarlos con datos prefabricados, todo antes de analizar los de verdad.



3
De: JuanPablo Fecha: 2006-01-16 15:51

ajá, así dice MEN, por lo menos... y de curioso, ¿hasta qué error relativo aceptarías...? un 30 por ciento?



portada | subir
La barra superior pertenece a Tobias Bergius (Listamatic)
(CC) 2005-2007 - Malambo