Principal >> Entradas con la etiqueta ‘programacion probabilistica’

Entradas con la etiqueta ‘programacion probabilistica’

Todo está a punto de cambiar radicalmente

Lunes, octubre 4th, 2010

Sólo un breve apunte, para luego poder decir “ya lo dijimos!”.

La semana pasada fue publicado en Nature que científicos de la Universidad de Carolina habían logrado entrelazar 3 cubits. Imaginad las poquitas cosas que se pueden hacer con 3 bits, todavía no hay suficiente espacio de memoria para ejecutar una máquina de turing. Pues con 3 cubits pasa lo mismo, poquita cosa se puede hacer!

Pero la cosa es que un ordenador de 48 kilobits era por ejemplo el ordenador ZX Spectrum con el que jugábamos de chicos al Ikari Warriors o al Fernando Martín. Bien, un ordenador de 48Qbits sería la máquina más poderosa de la tierra. Por poner un ejemplo no habría llave de seguridad que no pudiera tirar abajo en nanosegundos.

Si la ley de moore que tan bien ha funcionado para predecir la miniaturitación creciente de puertas lógicas booleanas funciona de manera parecida con las puertas lógicas cuánticas, estamos a punto de vivir una revolución sin precedentes.

Por cierto, sabes en que parte de tu cuerpo abundan las puertas cuánticas?

Por qué la programación probabilistica revolucionará la informática

Jueves, septiembre 23rd, 2010

A raíz del artículo Open Goverment: Cada vez más datos y menos expertos, un lector me pide que desarrolle más el concepto de la programación probabilística, y después de un rato de pensar me doy cuenta de la dificultad que implica explicar el tema :)

La programación probabilística se apoya en varias ramas de las mátemáticas y requiere un cambio radical en la manera de afrontar problemas de computación, y también del perfil de las personas que pueden resolverlos.

Básicamente implica la generación de azar dentro del algoritmo, que este no sea determinístico, y técnicas estadísticas para repetir el algoritmo varias veces y aumentar la confianza en el resultado. Muchos fenómenos naturales que nos rodean no siguen patrones algorítmicos o lineales, son más bien el resultado de complejas “no linealidades” en muchas dimensiones. Cuando encontrar un algoritmo que nos permita “encontrar un camino a través de todas esas dimensiones” no es sencillo, una vía alternativa es abrir las posibilidades del algoritmo para que deje de ser determinado, y confiar en que la fuerza bruta de la máquina encuentre el camino apropiado.

En este punto la programación probabilistica intersecciona sensacionalmente con la computación en la nube y con la teoría de la complejidad (que de manera muy sencilla explica si podemos esperar resolver un problema en un tiempo razonable llamado NP). Los árboles de probabilidades que puede abrir la programación estocástica, son muy susceptibles de ser llevados a sistemas de computación distribuida como Hadoop.

Pero para poder diseñar algoritmos y arquitecturas de este tipo, muchos de los profesionales que tenemos no van a valer. Cualquiera con un poco de maña puede autoformarse para hacer chapucillas en su blog o para instalar Elgg, en un curso de 300 horas podemos formar un buen programador de c++ o un diseñador de bases de datos relacionales, pero las matemáticas no se aprenden en dos días, requieren el tipo de esfuerzo acumulativo que nuestra sociedad cada vez premia menos. Por eso dije que las ciudades con las mejores facultades de matemáticas estaban comprando el futuro.

Open Goverment: Cada vez más datos, y cada vez menos expertos

Martes, agosto 24th, 2010

En un post anterior “Necesitamos expertos en la ciencia de los datos“, comentaba la impresionante demanda de expertos en tecnologías avanzadas para manejar datos, como computación en la nube (como Amazon o Google), almacenamiento (bases de datos nosql), distribución (como Hadoop), rastreo y recuperación (Nutch, Apache Lucene) y tantas otras variantes. Marc desde su trabajo en Londres donde tuvo que emigrar para trabajar en lo suyo (computación distribuida) me comenta:

” Que alegría ver una empresa española que hable de la ‘ciencia de datos’. Actualmente estoy en Londres y sólo se habla de esto, en España parece que vamos unos años por detrás en temas tecnológicos. En fin, parece que hay esperanza. “

Cada vez hay más datos ahí fuera, y cada vez es más difícil de manejarlos sin tecnología. Las bases de datos relacionales  se quedan pequeñas, los centros de datos se quedan pequeños, los paradigmas de programación tradicionales… bueno, estos aguantan el tirón a duras penas, pero tengan por seguro que los programadores del futuro estarán más cerca de ser científicos expertos en matemáticas, computación cuántica, y programación probabilística que diseñadores de algoritmos. Sin lugar a dudas, las ciudades con mejores facultades de matemáticas dominarán el desarrollo tecnológico los próximos 50 años.

Ahora se aproxima una nueva avalancha de datos disponibles: el Open Goverment. Las administraciones públicas, siguiendo la estela del gobierno Obama, se han convencido a si mismas de que poner datos en internet mejorará de alguna manera la calidad de los ciudadanos. Lideran este movimiento los gobiernos americano (data.gov) y británico (data.gov.uk). En España son ejemplos representativos las comunidades de Euskadi y Asturias, y los Ayuntamientos de Zaragoza y Gijón. Todos ellos volcados en el tema del RISP (reutilización de información en el sector público).

Si 5000 municipios de tamaño medio – grande de España comienzan a publicar en tiempo real decenas de fuentes de información. Tendremos una base de datos semiestructurada que crecerá a un ritmo de 1GB x segundo y necesitará 500 horas / máquina a la hora para poder “masticar” estos datos. Por supuesto, nadie se encargará de almacenarlo todo, ni nadie se encargará de masticarlo todo (Precisamente el paradigma del Open Data es que las administraciones hacen públicos datos para que cada uno coja y utilice lo que quiera) ¿o sí?