Latest Posts:

Mostrando las entradas con la etiqueta programacion. Mostrar todas las entradas
Mostrando las entradas con la etiqueta programacion. Mostrar todas las entradas

4 de enero de 2013

Experimento permite controlar una cucaracha por Twitter

tweetroach

La artista Brittany Ransom creó a la “cucaracha Twitter”, un insecto que puede ser controlado por los mensajes que recibe en su cuenta, @TweetRoach. Basta enviar un mensaje con un comando para darle instrucciones a la cucaracha.

La cucaracha está equipada con una mini-mochila electrónica conocida como RoboRoach, que estimula los nervios en las antenas de la cucaracha, permitiendo hacer que el insecto doble a la izquierda o a la derecha presionando un botón. Ransom trabajó con este aparato, agregando además un Arduino y su propio software para unir a la cucaracha a Twitter.

De esta manera, basta enviar un mensaje mencionando a @TweetRoach indicando #TweetRoachLeft o #TweetRoachRight para hacer que doble a la izquierda o a la derecha.

La cucaracha no está todo el día conectada, sino que utiliza la mochila por cortos periodos de tiempo durante los cuales está disponible para los usuarios de Twitter, explicó Ransom a CNET. Para no volver loca a la cucaracha, el sistema además está programado para recibir un sólo comando cada 30 segundos.

El plan de Ransom con este extraño proyecto es observar si la cucaracha puede aprender a adaptarse e ignorar el efecto de la mochila, haciendo un paralelo a la sobre-estimulación digital en la que vivimos los seres humanos hoy



Tomado de:

FayerWayer

2 de enero de 2013

España: Más competitivos, menos humanistas

Los planes de estudios tienden cada vez más hacia lo práctico y relegan otras materias clásicas

Los especialistas defienden su trascendencia para formar conciencias críticas y reflexivas

 


Visita escolar a un museo arqueológico. / SALVADOR BARKI (GETTY)

En lo más íntimo, cada español debe esconder un reformador de la enseñanza. Eso explicaría por qué cuando un español es nombrado ministro de Educación, va y la reforma. Desde 1978, cuando se aprobó la Constitución, se han aprobado seis leyes orgánicas. Alguna nació y murió sin rozar siquiera la vida de los escolares (la de 2002). Otras duraron un lustro, tiempo para acompañar escasamente a una promoción.

También el actual ministro de Educación, Cultura y Deporte, José Ignacio Wert tiene su idea para la escuela. De lo diseñado se confirma un rumbo que sí han compartido los sucesivos Gobiernos, junto a la hiperactividad legisladora (reveladora de que la educación nunca ha sido política de Estado): el refuerzo de una visión pragmática de la enseñanza, de su aproximación a las exigencias del mundo real, de encauzar cuanto antes a los alumnos hacia aquello que les facilitará el acceso a un empleo. Y el griego, por más que le espante al reciente premio Nacional de las Letras, el helenista Francisco Rodríguez-Adrados (“si no se tiene esa base se desdeña uno de los aspectos esenciales y ejemplares para aprender a razonar”), no se ve como una catapulta hacia el futuro.

Quienes defienden las humanidades suelen mirar al espíritu. Quienes propugnan pegarse a lo práctico miran al mercado de trabajo. Un bipartidismo casi perfecto. “Lo que nos estamos jugando no es un problema de que salgan más o menos eruditos, sino que salgan personas más libres”, advierte Víctor García de la Concha, actual director del Instituto Cervantes y antes de la Real Academia Española. “Se ha pensado que lo más útil es lo inmediatamente práctico, y no se consideran las ciencias del espíritu que es lo que configura al hombre”, agrega.

La reforma de Wert prima la lengua, las matemáticas y el inglés

“Sin entender modelos matemáticos sencillos, lo que estos pueden predecir y lo que no, los supuestos que requieren, la confianza que merecen, es prácticamente imposible participar activamente en campos aparentemente tan poco matemáticos como la biología, la economía, las finanzas, la contabilidad, la sociología, la ciencia climática, la ciencia política, la medicina o el marketing”, defendía con vehemencia en un artículo publicado en este periódico Luis Garicano, catedrático de Economía y Estrategia de la London School of Economics.

A grandes rasgos, la reforma de Wert contentará más a Garicano que a García de la Concha. El tronco sobre el que pivotará la enseñanza serán las matemáticas, la lengua y el inglés. Se revalorizan los idiomas (novedoso campo de las humanidades muy apreciado por el mercado) y se minimizan las clásicas, que cotizan cada vez más a la baja. Saber latín no es un pilar elemental de la formación. No digamos griego. En el anteproyecto, el latín aparece por vez primera en el currículo en 4º de la ESO, pero será solo opcional para aquellos alumnos que elijan el bloque de enseñanzas académicas para el Bachillerato. Filosofía, otra clásica de las Humanidades, será también una asignatura específica a elegir.

En el Bachillerato, Filosofía (1º) e Historia de España (2º) son troncales, y el latín se limita a los estudiantes de Humanidades. El griego es optativo en dos ramas. Junto a otros barridos, Wert también ha suprimido la Economía —lo que podría hacer pensar que corre contra los tiempos—, pero la ha sustituido con una materia de título pragmático: Iniciación a la Actividad Emprendedora y Empresarial.

García de la Concha: “Nos jugamos que salgan personas más o menos libres”

Para Charo Macías, profesora de Inglés en secundaria desde hace 28 años, el viento de los tiempos sopla a su favor: el inglés es capital, aunque su enseñanza siga dando pie a extrañas contradicciones, como el hecho de que la evaluación en Selectividad se limite a una prueba escrita y no se contemple un examen oral. A pesar de dedicarse a una materia en alza, Macías, acaso porque su formación original fue la Historia, lamenta el arrinconamiento de las Humanidades. “En estos años han sufrido una devaluación, vaivenes continuos y poca reflexión. Es una devaluación que cala en el alumnado, que siente cierta presión para estudiar contenidos que los padres y la sociedad consideran útiles. Ha calado tan hondo que se preguntan para qué sirve estudiar Literatura o Filosofía y las Humanidades van contra el pragmatismo de la enseñanza”, reflexiona. Considera que por el camino de las reformas educativas se ha caído algo sustancial: “El objetivo de contribuir a la formación integral de la persona”. “Falta una conciencia del individuo sobre sí mismo, se pierde la capacidad de reflexión y de crítica”, añade.

En las aulas está ganando la batalla el partido de lo útil, aunque no se trata de un endemismo español. En opinión de Ricardo García Cárcel, catedrático de Historia Moderna de la Universidad Autónoma de Barcelona, “el mundo humanístico está devaluado a escala universal, no solo es un problema de España”. Y añade con rotundidad: “Para nosotros el alumno ideal es el latinoamericano, que está enormemente interesado por la Historia, ávido por saber. El nuestro es apático, más maleado por la influencia del entorno y nuestro mundo de fantasmas políticos”.

Ha de concederse a quienes legislan que el problema reside en priorizar. La entrada de nuevos conocimientos implica el arrinconamiento de otros. La jornada escolar es finita, aunque a veces la sociedad no parezca darse cuenta. “En cuanto surge un problema social, ya sea vial o sexual, se empieza a decir que hay que enseñarlo en el colegio. Eso me horroriza, porque no todo tiene que estar ahí”, advierte Charo Macías.

Los defensores de las humanidades miran al espíritu. Los que propugnan lo práctico, al mercado de trabajo

Contra la sobrecarga lectiva se pronuncia también Antonio Cabrales, catedrático de Economía de la Carlos III: “Comparados con otros países, nuestros chicos dan ahora más horas de clase que la media de los países de la OCDE, pero dan menos horas de Lengua y Matemáticas. Yo me centraría en estas asignaturas instrumentales en exclusiva. Eso es lo que hay que proteger. En el resto tener unos mínimos y a partir de ahí permitir que los estudiantes se construyan un currículum más flexible”.

Cabrales, además, no se arredra a la hora de denunciar presiones interesadas para mantener unas materias determinadas por los colectivos de profesionales que las imparten. Ya sean latinistas, historiadores o economistas. “Cada pequeño grupúsculo considera que su materia es más importante que las demás. En estas críticas influyen quienes defienden intereses particulares, pero el Gobierno tiene que defender el interés general”, subraya.

Sin embargo, el catedrático de Historia Contemporánea de la Universidad de Zaragoza, Julián Casanova, disiente, aunque concede que las protestas pueden parecer corporativas —en su gremio se movilizaron cuando trascendió que la primera intentona de Wert era convertir la Historia Contemporánea en una asignatura optativa para determinados bachilleratos—. “La historia es una poderosa herramienta de búsqueda e interpretación, sobre las causas de los hechos, pero también sobre el cambio y la continuidad. 

La historia no trata sobre el pasado muerto, sino que es una disciplina dinámica, que plantea constantemente nuevas preguntas y que resulta muy molesta a quienes quieren simplificar las cosas y no les gusta explorar en profundidad la condición humana”, señala. Y añade: “Uno puede conmemorar el bicentenario de la guerra de la independencia, pero si es sobre la dictadura de Franco, entonces sale a la luz el famoso argumento de que es mejor no remover el pasado. La historia reciente, no la actual, es incómoda. En realidad, cuando se aplican los instrumentos críticos, como decía Edward H. Carr, toda historia es historia contemporánea. Por eso es mejor relegar la historia obligatoria a las instituciones medievales o a la España de Viriato”.

Más allá del informe PISA, que constata un nivel insuficiente en comprensión lectora, competencia matemática y competencia científica entre los escolares españoles, ¿hay evidencias de la influencia de las asignaturas?

Ricardo García Cárcel cree que hay un deterioro del conocimiento histórico

No, según el economista Antonio Cabrales. Cuando los profesores de Economía alentaron la protesta por la supresión de su asignatura del Bachillerato —reconvertida en algo de título imposible, la ya citada Iniciación a la Actividad...—, el catedrático de la Carlos III decidió hacer unas pesquisas. “Me puse a buscar la evidencia del impacto de las asignaturas. Se dice que es un desastre que quiten esto o aquello, pero no sabemos si es más importante tener latín, historia o física. No hay evidencias. Nadie se ha preocupado hasta ahora de evaluar la importancia de las materias”, explica.

De lo que sí tiene evidencias Ricardo García Cárcel, tras cuatro décadas de enseñanza de Historia en la Universidad Autónoma de Barcelona, es del deterioro del conocimiento histórico con el que llegan sus nuevos alumnos. Da un ejemplo ilustrativo: “Tienen dificultades para ubicar cronológicamente a Felipe II”. Su pesimista diagnóstico se debe sobre todo a la situación de su especialidad en los programas educativos. 

“Tenemos algunos alumnos muy politizados, impregnados de discursos nacionalistas. En mi ámbito veo que no solo ignoran la historia de España, sino también la historia de Cataluña. La reducen a símbolos, a una historia de buenos y malos. Conocen por ejemplo la figura de Companys en su aspecto simbólico de mártir, pero apenas saben la historia de la Segunda República o la Guerra Civil”, plantea.

Víctor García de la Concha recurre a algo tan poco científico como un poeta, Pedro Salinas, para apoyar una de sus impresiones, que tampoco es literatura de la evidencia, pero sí fineza de oído: “Muchos muchachos apenas articulan una frase, eso significa un empobrecimiento del ciudadano y, al final, de la sociedad. Muchos muchachos son, como decía Salinas, ‘tullidos de la expresión”.

Fuente:

El País Sociedad

29 de diciembre de 2012

El código, el lenguaje que nos permitirá una nueva forma de pensar

Ojo con código de computación

Escribir con la tecnología significa explorar el universo de la programación

A comienzos de 2012, el alcalde de Nueva York, Michael Bloomberg, tuiteó: "Mi propósito para Año Nuevo es aprender código en una academia".

Y a lo largo de todo el año, "aprender código" parece haber sido uno de los temas de moda en los medios.

Casi a la vez que Bloomberg tuiteaba sus propósitos, el ministro de Educación de Reino Unido, Michael Gove, anunció un plan para reemplazar del currículum escolar las clases de nuevas tecnologías por un programa de ciencias de la computación.

Los actuales cursos se centran a menudo en la "alfabetización digital", enseñar programas específicos de software como los procesadores de texto.

Los cambios son un intento por llegar a un sentido más equilibrado de "alfabetización". Es decir, no sólo ser capaz de "leer" la tecnología usándola, sino también poder "escribir" con ella.

Y en el mundo de la computación, escribir con la tecnología significa explorar el universo de la programación.

Para hablar con fluidez un idioma hace falta pensar en esa lengua. No se trata de pensar en español para luego traducir al inglés, sino pensar en inglés.

Y para hablar realmente ese idioma no basta sólo con aprender el vocabulario básico de los diferentes lenguajes de programación

Una escultura

Código

El código está en nuestros hogares, en nuestros bolsillos

Tenemos que entender cómo llegar a ideas que puedan adecuarse a la manera en que trabajan las computadoras. Tenemos que aprender a expresar nuestros pensamientos en el lenguaje de las máquinas. 

Esas son las habilidades que se necesitan hoy en día para innovar e inventar con las nuevas tecnologías.

A menudo programar se relaciona con un trabajo de ingeniería de software. Pero en cuanto uno aprende a pensar el idioma de la computadora debería estar claro que programar no es sólo ingeniería.

De hecho, en gran medida es como hacer una escultura. Los datos, el código, como si fuera un pedazo de arcilla, se manipula, se explora, se siente entre tus dedos, y de convierte en algo con significado.

Es prácticamente lo contrario de la ingeniería. Es una disciplina artística: comienzas haciendo bocetos y después trabajas sobre ellos hasta que emerge una estructura final.

Lo que pone en marcha el mundo

Claro que a la hora de la verdad se necesitan ambas disciplinas. Arte e ingeniería a la vez. Así que tal vez la arquitectura es una mejor analogía.

Es algo estético, pero con fundamento en la física, con fines prácticos pero también intención artística. El código es ya parte de la arquitectura del mundo en el que vivimos.

Es lo que pone en marcha las finanzas, los negocios y el entretenimiento, está en nuestros hogares y en nuestros bolsillos.

Y como la arquitectura necesita gente que habite los edificios, el código no se puede separar de sus usuarios o de sus escritores.

Las computadoras y el código nos sirven como prótesis. Algunas sirven para aumentar nuestra memoria, almacenando información y recuperándola más de prisa. Otras prótesis nos sirven como esqueletos que amplían nuestras capacidades.

La magia de estas prótesis, la magia que descansa en lo más profundo de la verdadera innovación, no necesariamente está en la habilidad que nos dan para hacer las cosas más rápidos. Nos permiten pensar ideas nuevas.

No se trata de pensar lo mismo más rápido, sino de pensar cosas diferentes, ideas que nunca habríamos tenido sin el código.

Por eso necesitamos más gente que pueda tener nuevas ideas.
 
Nuevas posibilidades 
 
Niños con computadoras. Archivo

La educación debería girar en torno a cómo pensar en este nuevo mundo, dice el autor

El entrenamiento de los más jóvenes debería girar en torno a cómo pensar en este nuevo mundo, aprender qué es posible hacer en él.

Cultivar un sentido del olfato y del equilibrio para vivir en este mundo asistido por el código.

Siempre vamos a necesitar ingenieros, pero también necesitamos artistas, periodistas o políticos que entiendan las prótesis y esqueletos de este mundo digital, que puedan usar las herramientas que nos permitan despegar hacia nuevos y más extraños mundos.

La enseñanza de la tecnología no se debería limitar, por tanto, a las habilidades técnicas. Más bien debería tratarse de ofrecer un nuevo conjunto de valores, una manera de pensar.

Cuando Michael Bloomberg dijo que su propósito de Año Nuevo era aprender código, no se refería a cambiar de pronto su carrera profesional y dedicarse a crear sitios webs. Estaba diciendo algo mucho más profundo.

Estaba diciendo: "Mi propósito es aprender a pensar de una manera moderna".
Eso es lo que significa realmente vivir en un mundo asistido por el código: comprender qué significa usar las máquinas para poder pensar con ellas. Eso es precisamente lo que significa "pensar" en el siglo XXI.

Fuente:

BBC Ciencia

22 de diciembre de 2012

Nuevo programa informático permite sustituir al jefe por un ordenador

La herramienta es capaz de delegar tareas en trabajadores humanos a través de plataformas de crowdsourcing. ¿Será una mezcla de HAL 9000 y Dilbert?
  
Investigadores de la Universidad de Massachusetts, en Estados Unidos, han desarrollado el primer sistema basado en crowdsourcing totalmente automático, al incluir de forma novedosa tareas propias de un jefe como gestionar a los trabajadores, mandarles trabajos, aceptarlos o rechazarlos y hacer los pagos. Bautizada como AutoMan, el objetivo de la herramienta es mejorar el rendimiento del crowdsourcing, favoreciendo la creación de una nueva clase de empleos que podría convertirse en un sector emergente de la economía mundial. 

El reconocimiento de matrículas es una tarea habitual de crowdsourcing. Fuente: UMASS
El reconocimiento de matrículas es una tarea habitual de crowdsourcing. Fuente: UMASS 
A pesar de los continuos avances en Inteligencia Artificial (IA), los ordenadores siguen con complicaciones para completar tareas que resultan de gran facilidad para el hombre, como leer la matrícula de un coche o entender el sentido de la ironía o de un chiste. Para salvar este escollo cada vez es más habitual el uso de plataformas de crowdsourcing, donde se aprovechan las posibilidades que brindan las tecnologías web 2.0. para que la multitud pueda colaborar.
Sin embargo, la utilidad de estos métodos también es limitada, pues al no estar totalmente automatizados existen dificultades para dirigir tareas complejas o interrelacionadas. En otras palabras, falta un jefe que organice y dé el visto bueno al trabajo. En este propósito trabajan los investigadores de la Universidad de Massachusetts (UMASS), en Estados Unidos, que han desarrollado Automan.

“Preferiría tener como jefe a un ordenador que a un imbécil”, afirma contundente Daniel Barowy en un artículo publicado en Newscientist. Este informático de la UMASS ha creado junto a su equipo el primer sistema totalmente automático capaz de delegar tareas en trabajadores humanos a través de plataformas de crowdsourcing como Mechanical Turk de Amazon.

El funcionamiento de esta web es sencillo: una serie de empresas o usuarios (llamados requesters) suben a la plataforma diferentes tipos de pequeñas tareas. Los usuarios trabajadores (o workers) hacen esos encargos, y cuando los requesters verifican que se han ejecutado de forma correcta, remuneran económicamente a quienes hayan tomado parte en el trabajo.

Con Automan se completa el círculo, pues el software está diseñado para gestionar a los trabajadores, mandar trabajos, aceptarlos o rechazarlos y efectuar los pagos. “Estamos reemplazando los jefes de carne y hueso por ordenadores”, destaca Barowy.


Garantía de calidad

Para el investigador se trata de un nuevo tipo de computación. “Esto cambia el tipo de cosas que se pueden hacer”, añade.

Y es que hasta ahora hay que planificar a los trabajadores para reducir la latencia, lo que supone un desembolso económico, además de monitorear y reprogramar las tareas cuando no se completan o se hace de forma errónea.

Esto sin contar la dificultad para predecir el tiempo y dinero que se debe presupuestar para una tarea específica.

Por el contrario, la garantía de calidad es la contribución más importante que aporta el nuevo software. “Sin un mecanismo para dirigir la calidad del rendimiento de los trabajadores, no es posible la automatización completa”, destaca Barowy.

A diferencia de las plataformas de crowdsourcing, AutoMan no intenta predecir la fiabilidad de sus trabajadores en base a actuaciones anteriores. En cambio, si no está seguro de haber obtenido la respuesta correcta, sigue publicando la misma tarea, aumentando cada vez la remuneración, hasta estar seguro de que se llevará a cabo.
Otra forma de verlo es que aporta la visión interesante, creativa o divertida de los usuarios, algo difícil de conseguir con una máquina. “Aúna realmente lo mejor de ambos mundos. El ordenador hace el trabajo sucio”, señala Barowy.
Por supuesto, el trabajo humano no es gratuito. Cada desarrollador de aplicación presentará un presupuesto a AutoMan, que será programado para mantener costos bajos. Las respuestas rápidas o de alta calidad costarán más, pero el sistema gestionará todo esto de forma automática. El objetivo es que el cualquier usuario de un software híbrido no sepa si está interactuando con una máquina, con personas, o con ambos a la vez.

Por otra parte, los investigadores también han tenido en cuenta a los trabajadores, y a cómo se sentirán al recibir órdenes directamente de un ordenador. Hasta el momento, en las pruebas con Mechanical Turk, Barowy ha recibido una respuesta positiva. Y es que cuando un jefe rechaza un trabajo, puede parecer algo personal o injusto, algo que no ocurre con AutoMan. “Al personal le terminó gustando el sistema porque es imparcial”, reconoce el informático.


Esquema de la ejecución real de Automan. Fuente: UMASS
Esquema de la ejecución real de Automan. Fuente: UMASS

 
Universalización del software
 

El equipo presentó el trabajo en la conferencia OOPSLA en Tucson, Estados Unidos, el mes pasado. Se trata de un foro anual organizado por ACM donde se dan a conocer las mejores ideas para optimizar el desarrollo de software.
“Cualquier programador puede hacerse con este sistema y utilizarlo”, dijo al respecto Michael Bernstein, de la Universidad de Stanford en California, quien lo definió como una herramienta “muy poderosa”. Bernstein es un estudioso de la materia, y ha desarrollado sus propios sistemas informáticos híbridos como Soylent, un procesador de texto que utiliza crowdworkers para editar el texto.


En concreto, AutoMan podría utilizarse en aplicaciones como VizWiz, que permite a las personas ciegas tomar una foto de su entorno y recibir una descripción de la escena. El algoritmo podría incorporarse a esta aplicación, enviar las fotos a crowdworkers, que eligieran las descripciones correctas y enviarlas de vuelta al usuario.


El equipo de Barowy espera que su sistema popularice aún más si cabe el crowdsourcing, convirtiéndolo en una corriente dominante que permita a un software delegar tareas en trabajadores por todo el mundo. “AutoMan podría incluso ayudar al crecimiento de una nueva clase de trabajo que diera lugar a un nuevo sector de la economía mundial", augura Emery Berger, otro miembro del equipo también de la UMASS.


Fuente:

Tendecnias21 

21 de diciembre de 2012

Investigadores desarrollan un algoritmo para determinar si un tuiteo es mentira


(cc) Juampe López

Cuando ocurre un desastre natural o una tragedia, nunca falta gente que se dedica a inventar información y subirla a Internet, quizás con el ánimo de ser chistosos, o simplemente para divertirse confundiendo a la gente. Así para el huracán Sandy aparecieron fotos de gente buceando en las estaciones de metro o tiburones en la ciudad, o para el terremoto de 2010 en Chile salieron personas diciendo que Ricardo Arjona había muerto o que el Huáscar había desaparecido de Talcahuano.

Los investigadores Carlos Castillo (Qatar Research Institute), Marcelo Mendoza (Universidad Técnica Federico Santa), y Bárbara Poblete (Departamento de Ciencias de la Computación de la Universidad de Chile) escribieron en 2010 en paper [PDF] analizando los tuiteos emitidos tras el terremoto de 8,8 grados de magnitud, llegando a varias conclusiones que ahora aplicaron en un algoritmo.

Este “detector automático de eventos” usa 16 características para determinar la credibilidad de tuits noticiosos, y será publicado en la revista Internet Research el próximo mes.

“Nuestros datos muestran que es posible separar eventos que corresponden a noticias confirmadas de aquellos que en realidad son rumores”, explicó a FayerWayer Marcelo Mendoza, doctor en Ciencias de la Computación de la Universidad de Chile y académico de la UTFSM. “Twitter registra volúmenes muy significativos de tweets que no tienen valor informativo. Sin embargo, nuestro algoritmo puede detectar tweets informativos y extraer información relevante desde ellos”.

Entre las conclusiones de 2010, los investigadores determinaron que los rumores falsos tenían una alta probabilidad de ser tuiteados junto a un signo de interrogación, o una indicación de duda o negación. También concluyeron que los tuits verdaderos tienden a ser más largos e incluir URLs, que las personas que tuitean cosas verdaderas suelen tener más seguidores, y que los mensajes que son ciertos suelen ser más negativos que positivos en el tono en que están escritos. Además, los tuiteos verdaderos no suelen incluir signos de interrogación, exclamación o pronombres en primera o tercera persona.

El nuevo algoritmo desarrollado por Castillo, Mendoza y Poblete funciona bastante bien, logrando clasificar como “verdaderos” a los tuiteos verdaderos un 86% de las veces.

“El algoritmo realiza análisis agregado, es decir, caracteriza “grupos” de tweets (no tweets aislados). La fortaleza radica principalmente en la caracterización de eventos a partir de grandes volúmenes”, dice Mendoza. “Más tweets permiten mejores estimaciones”.

Por supuesto, no es un sistema perfecto y quizás una persona entrenada en el uso de redes sociales podría obtener un mejor resultado intentando determinar la veracidad de un mensaje. De todos modos, un algoritmo funciona muchísimo más rápido que una persona, y podría servir como un “primer filtro” para marcar los tuiteos dudosos.

De acuerdo al trabajo que saldrá publicado, “antes de que una noticia se transforme en trending topic es posible estimar la credibilidad de ella. Nosotros aplicamos nuestro algoritmo a los tweets del terremoto del 27-F mostrando que era posible validar las alarmas del tsunami antes de que éstas llegaran a Juan Fernández. Con un tráfico adecuado, la validación de la credibilidad de un evento puede realizarse durante los primeros 15 a 20 minutos transcurridos desde el primer tweet relacionado con el evento”, afirma Mendoza.

Quizás podría ahorrarnos algo de confusión entre los usuarios de la red social, aunque siempre habrá gente ingeniosa que intentará engañar al resto.

Link: Social media hoaxes: Could machine learning debunk false Twitter rumors before they spread? (Slate)

Fuente:

FayerWayer

4 de noviembre de 2012

Criptografía: Matemática para guardar secretos


No soy una persona que tenga mucho que esconder, pero hay cosas que más vale mantener en secreto. Por mi parte, lo típico: el pin del móvil y el de la tarjeta de crédito, las claves del banco, de las cuentas de correo, del ordenador, y poco más. Si alguien llegara a acceder a mi cuenta bancaria, dependiendo del día del mes, igual hasta le tocaba pagar, y en mi cuenta de correo tampoco hay ningún secreto de estado.

Sin embargo, hay secretos de los que dependen cosas mucho más importantes. A nadie se le escapa que la clave del correo de un presidente de gobierno o de un empresario importante es harina de otro costal. Con un poco de información privilegiada, ganar en la bolsa puede llegar a ser un juego de niños (está claro que no hay otra forma de acceder a esa información privilegiada que accediendo ilegalmente a sus correos, porque nadie duda de la integridad de los que manejan esa información ¿verdad?).

El caso es que aquella mañana de Lunes, durante el desayuno, alguien sacó el tema -creo que el sr. Lego- y, por supuesto, a pesar de mis intentos por desviar la conversación a ámbitos más mundanos, Sofía no podía resistir la tentación de enfrascarse en cualquier conversación que oliera a seguridad informática.

Ya, de perdidos al río -pensé- así que traté de volver a entrar en la conversación:

- ¿Os imagináis tener que mantener en secreto algo como los códigos de lanzamiento de unos misiles nucleares?

¡Vaya! Ya está Alberto con sus paranoias -pude leer en la expresión de el Sr. Lego.

Sofía, sin embargo, fue mucho más directa y menos sutil:

- ¡No digas tonterías! ¿tu te fiarías de alguien tanto como para darle las claves de lanzamiento de un misil nuclear? ¿Y si se vuelve loco y le da por desatar la tercera guerra mundial?

- Quizás se podría dividir la clave en varios fragmentos y repartirlos entre varias personas, así nadie sabe la clave completa y nadie puede lanzar los misiles por su cuenta -dije tratando de impresionar a Sofía.

- Entonces, si fuera un país enemigo sólo tendría que matar a uno de los que tienen la clave para evitar que pudiera lanzar los misiles... o bastaría esperar a que a alguno le de un infarto... ¡jaque mate!

- A ver -continuó el Sr. Lego- necesitamos una forma de repartir fragmentos de la clave entre varias personas de forma que ninguna conozca la clave completa, y además, queremos ser capaces de reconstruir la clave si falla una o más de una de las personas que tienen los fragmentos. Me parece que no es posible.

- Pues siento decir que te equivocas -sonrió Sofía.


En criptografía -continuó Sofía- para resolver este tipo de asuntos se utilizan los llamados esquemas de compartición de secretos. Para este caso concreto se utilizan los esquemas de umbral. Por ejemplo, si queremos repartir un secreto entre m personas y que el secreto pueda recuperarse con n personas, hablamos de un esquema de umbral (m,n), donde n es el umbral.

Parar a Sofía a estas alturas, estaba ya fuera del alcance de cualquier mortal, así que mi única salida fue preguntar, no sin cierta resignación:

Vale, pero ¿cómo funcionan esos esquemas?

Sofía apuró el café que le quedaba en el vaso, se detuvo unos instantes como para componer en su cabeza lo que iba a decir, y continuó:

Hay varios métodos, el más sencillo, quizás, es usar el esquema vectorial, introducido por el matemático George Blakley de la universidad A&M de Texas: Si queremos compartir un secreto con un esquema de umbral (m,n) hacemos corresponder el secreto con un punto P del espacio m-dimensional, y los fragmentos serán hiperplanos de dimensión m-1 que tienen a P como punto de intersección. De esta forma, con m hiperplanos, podemos reconstruir el secreto.

- Por la cara del Sr. Lego, hacía rato que ya no seguía a Sofía. Yo, por mi parte tampoco, pero creía que estaba controlando mejor mi expresión facial hasta que Sofía me miró y sonrió con esa sonrisa piedosa del que se sabe muy por encima de su interlocutor.

Está bien -dijo Sofía tratando de simplificar un poco el asunto- imaginemos que quiero compartir en secreto las tres siguientes cifras: 3,10,5. Y lo quiero hacer entre 4 personas, de forma que sólo con 3 pueda recuperar la clave. Como son tres cifras, podemos pensar en ellas como en un punto P(x,y,z) del espacio de 3 dimensiones. Sólo tendríamos que crear 4 ecuaciones como las siguientes.



Si damos una ecuación a cada una de las cuatro personas, ninguna de ellas podrá conocer el valor del punto P(x,y,z). Sin embargo, si cualquiera de ellas tres se reúnen y resuelven el sistema que forman sus tres ecuaciones, habrán conseguido descifrar el secreto P(3,10,5), aunque no esté una de las personas.

Bastante ingenioso -pensé- no se me hubiera ocurrido, y eso que una vez que conoces el sistema, es bastante obvio.

Otro esquema, algo más elaborado -continuó Sofía- es el esquema de Shamir, que inventó el matemático Adi Shamir. Este esquema es conceptualmente bastante simple, aunque su uso implica algo más que resolver un simple sistema de ecuaciones.

Sofía paró un momento como tratando de ordenar toda la información que tenía en la cabeza y seguidamente preguntó:

- Si dibujo dos puntos en un papel, ¿cuantas líneas rectas existen que pasen exactamente por esos dos puntos?

El Sr. Lego y yo nos miramos unos instantes antes de responder al unisono: una.

- Bien -continuó Sofía- del mismo modo que sólo necesito dos puntos para definir una recta, sólo necesito tres para definir una parábola ¿verdad?

Esto ya no era tan obvio, pero haciendo un acto de fe el Sr. Lego y yo asentimos con la cabeza.

En general, necesitamos n+1 puntos en el plano para definir una curva (polinomio) de grado n ¿os lo demuestro? -preguntó Sofía.

Me apresuré a decir que no era necesario antes de que se lanzara a hacer la demostración matemática.

En general -siguió Sofía- si quiero compartir un secreto repartiéndolos en m fragmentos y con un umbral de n fragmentos, tengo que construir un polinomio de grado n-1.

Imaginemos entonces que quiero compartir en secreto el pin de mi tarjeta de crédito que, digamos, es 3254. Y lo quiero hacer entre 4 personas con un umbral de 3. Necesito, por lo tanto, un polinomio de grado 2 (es decir n-1) que tendrá la forma siguiente:



A los términos a0, a1 y a2 los llamamos coeficientes del polinomio. A a0, que es el término independiente, le asignamos el valor del secreto: en este caso a0=3254. Al resto de coeficientes le asignamos valores aleatorios.

Por ejemplo: a1=12 y a2=25. Una vez definido nuestro polinomio, como quiero repartir el secreto entre 4 personas, necesito el valor de cuatro puntos cualesquiera de la función. Por ejemplo:



En este caso hemos escogido los puntos 1, 2, 3 y 4, pero podrían ser cualesquiera.

A cada una de las personas les damos un par con uno de los puntos y el valor que toma la función en dicho punto. Es decir tendríamos los siguientes cuatro fragmentos:

(1, 3291)
(2, 3378)
(3, 3515)
(4, 3702)

Pero según hemos dicho antes, un polinomio de grado n está definido de forma inequívoca por por n+1 puntos, así que como nuestro polinomio era de grado 2, sólo necesitamos 3 de los puntos (fragmentos) para poder reconstruirlo.

La idea está clara -respondí- pero ¿cómo se reconstruye un polinomio a partir de unos puntos?

No te preocupes, Alberto, eso lo resolvió Lagrange hace ya algunos añitos. Podemos usar el polinomio interpolador de Lagrange para obtener el polinomio original, pero ¿realmente necesitamos todo el polinomio original? -nos desafió Sofía.

No, sólo el término independiente del polinomio, que es el que contiene el secreto -respondió el Sr. Lego sorprendiendo a propios y a extraños.

Efectivamente Sr. lego. No voy a entrar en detalles matemáticos, que son un poco aburridos, pero tras jugar un poco con el polinomio de Lagrange, podemos llegar a la siguiente formulita que nos devuelve el término independiente del polinomio.



Siendo las x los puntos y las y los valores que toma la función en dichos puntos.

Como véis, la formulita de marras se puede modelar muy bien con un par de bucles así que es fácil hacer un programa para generar y develar secretos con el esquema de Shamir.

A la vuelta del desayuno, ya en la oficina, Sofía nos envió las siguientes dos funciones para generar secretos y para desvelarlos. Eso sí -nos advirtió- ningún secreto está a salvo para siempre.


  1. from math import ceil
  2. from random import random
  3. def gen_secret(secret, users, threshold):
  4.     out = []
  5.     max_value=100   # valor maximo factores
  6.     n=threshold     # grado del polinomio
  7.     # generar polinomio grado n
  8.     factores=[]
  9.     fragmentos=[]
  10.     factores.append(secret)
  11.     for i in range (1,n):
  12.         t=ceil(random()*max_value)
  13.         factores.append(t)
  14.    
  15.     # generar n fragmentos
  16.     for i in range(users):
  17.         # escogemos punto t de la funcion aleatorio
  18.         t=int(ceil(random()*max_value))
  19.         # calcular valor de f(t)
  20.         v=factores[0]
  21.         for j in range(1,n):
  22.           v=v+factores[j]*(t**j)
  23.      
  24.         fragmentos.append([t, int(v)])
  25.     out=fragmentos
  26.     return out
  27. def recover_secret(fragments, threshold):
  28.     out = 0
  29.     if len(fragments)<threshold:
  30.         print "faltan fragmentos"
  31.     else:
  32.         for i in range(threshold):
  33.             tmp_j=1
  34.             for j in range(threshold):
  35.                 if j!=i:
  36.                     tmp_j=tmp_j*(fragments[j][0]/float((fragments[j][0]-fragments[i][0])))
  37.             out=out+(fragments[i][1]*tmp_j)
  38.     return int(out)
  39. # calculamos 4 fragmentos para secreto 1234 con umbral 3
  40. s=gen_secret(1234,4,3)
  41. # recuperamos el secreto con 3 fragmentos
  42. print recover_secret(s, 3)

Fuente:

google.com, pub-7451761037085740, DIRECT, f08c47fec0942fa0