Mostrando entradas con la etiqueta Cómputo. Mostrar todas las entradas
Mostrando entradas con la etiqueta Cómputo. Mostrar todas las entradas

jueves, 15 de marzo de 2018

La vida alrededor de los algoritmos y la justicia

Algoritmos, casi todos hemos escuchado esa palabra al menos una vez, a muchos incluso puede causar enfado o un poco de temor, debido sobre todo a esa tonta aversión a las matemáticas que nos infunden desde pequeños.
Sin embargo, la vida cotidiana cada vez está más supeditada al influjo de los algoritmos.
Pero, vamos desde el principio, ¿qué es un algoritmo?. Un algoritmo es un conjunto de instrucciones o reglas bien definidas y ordenadas que permite llevar a cabo una actividad mediante pasos sucesivos que no generen dudas a quien deba hacer dicha actividad. Se piensa que es una derivación del  nombre del matemático persa Al-Juarismi (~780-850 DC), que fue de los primeros en usarlos. En términos más llanos, podemos pensar en los algoritmos como recetas matemáticas (y su derivación a recetas de computación).
Pero, ¿porqué dijimos que los algoritmos están ahora detrás de nuestras vidas cotidianas?. Resulta que los algoritmos se usan cada vez con más frecuencia para determinar el tipo de personas que realizan alguna actividad de interés para otras personas. Esto puede ser político, económico, comercial, o social. Claro que el uso de los algoritmos en la ciencia es cosa común desde hace ya mucho tiempo, pero no es este el tema de la discusión.
En particular, el concepto tan en boga de "Aprendizaje Automático" o "Machine Learning", descansa en el uso de algoritmos para predecir el comportamiento o patrón detrás de un juego de datos (información colectada previamente). Sin embargo, estos algoritmos han sido desarrollados por una o varias personas que necesariamente introducen un sesgo personal (o de grupo) en su estructura, el cual es  difícil (que no imposible) evitar. Lo anterior nos lleva a cuestionar las decisiones que basemos en las recomendaciones de encuestas, redes sociales, comerciales, o artículos periodísticos, los cuales pueden entrar dentro este mismo sesgo. O sea, la justicia de los algoritmos.
Esta idea ha alcanzado extremos interesantes, pues existe un grupo llamado la "Liga de la Justicia Algortímica" (Algortihmic Justice League), fundado por una estudiante graduada de matemáticas del MIT, Joy Buolamwini, que incluye a activistas, programadores, artistas, académicos, compañías, ciudadanos de a pie, políticos, y administradores. Este grupo se dedica a luchar contra la discriminación ocasionada por la práctica y empleo de los algoritmos.

Para saber más:

Algorithmic Justice League

Libro Weapons of Math Destruction por Cathy O´Neal

InCoding in the Beginning

Leer toda la nota...

martes, 10 de mayo de 2016

Algunos Números Primos pueden ser ¡ilegales!



!Cuidado con tus cálculos, pues pueden llevarte a prisión! Se sabe que la distribución de ciertos tipos de código es ilegal en algunos países; por ejemplo, el código que está destinado a evitar la protección contra copias de películas o el que permite desencriptar datos bancarios. A algunos activistas les gusta enfatizar lo ridículo de la prohibición de la distribución de código, que es sólo un montón de letras y números, después de todo. Por ejemplo, hay a quien le gusta imprimir el código en una camiseta y usarla, o cantar una canción con la letra del código, para demostrar cómo estas restricciones (como muchas otras) no tienen sentido.

Los números ilegales son números que son codificaciones de dicho código ilegal. En teoría, el escribir tal número y difundirlo es un crimen en los EU.  Los primos ilegales son sólo un subconjunto interesante de estas cifras - ya que hay sistemas con bases en los números primos y los números primos grandes son especialmente útiles. Así que en principio hay números primos ilegales, lo cual es ridículo.

Lo que a la gente a menudo se le olvida es que un programa (cualquier archivo en realidad) es una cadena de bits (dígitos binarios), por lo que cada programa es un número. Algunos de estos son primos. Phil Carmody encontró uno de ellos en marzo de 2001. Cuando éste número primo se escribe en base 16 (hexadecimal), este primo constituye un archivo gzip del código fuente original C - sin tablas- que descifra el esquema de cifrado de las películas  DVD (DeCSS). Era ilegal distribuir el código fuente en los Estados Unidos, por lo que esto hizo que el número también fuera ilegal.

Un programa de Perl para extraer el código fuente de este número primo fue escrito por Jamie McCarthy.

Si quieren leer más sobre el tema:

The nth Prime Page
El primer número primo ejecutable
DVD descrambler encoded in ‘illegal’ prime number
The Prime Pages
Illegal Prime numbers, Wikipedia

Leer toda la nota...

miércoles, 21 de mayo de 2014

Un vistazo a las publicaciones geocientíficas del futuro



Es un hecho que los avances en tecnología han cambiado radicalmente la manera de hacer ciencia por un lado, y de comunicar los resultados, por el otro.

En fechas recientes me llamaron la atención sobre un software que permite la creación de diagramas completamente tridimensionales, incluyendo la habilidad de maniobrarlos directamente (por ejemplo rotarlos o hacer zoom), basado únicamente en un juego de fotografías de buena resolución del objeto o la zona tomadas en diferentes perspectivas.
El software en cuestión se llama Photoscan (http://www.agisoft.ru/products/photoscan) producto de la firma Agisoft. Es en verdad un software muy poderoso y versátil al cual se le empieza a conocer su potencial en el campo de las geociencias.

Esto me hizo imaginar lo que puede pasar en un futuro, cuando escribamos un artículo y nos sea necesario (como lo es comúnemente) mostrar datos referentes a alguna zona geográfica, geológica, tectónica etc y queramos enfatizar y discutir sus características.
A continuación un botón de muestra de lo que pienso podría ser un artículo de Geociencias en un futuro cercano (Nota: es necesario salvar el pdf ya que el visualizador no permite la versión dinámica).

http://www.geociencias.unam.mx/~ramon/Ejemplofotogram.pdf

Photoscan tiene dos versiones, Standard y Professional con costos no muy onerosos para la comunidad académica, pero también existe una versión gratuita que se llama StereoScan (http://www.agisoft.ru/) y que funciona con sólo un par de fotos que compartan un traslape (semejante a las estereofotos). Los invito a experimentar con él y a escribir sus comentarios.


Leer toda la nota...

viernes, 25 de abril de 2014

¿Cómo es que la Tierra obtuvo sus placas tectónicas?


Por 
Monte Morín, Los Angeles Times
6 de abril 2014



  
Simulación que muestra como los límites de las placas tectónicas emergieron debido al daño heredado después de un cambio en las fuerzas que empujan a las placas. (David Bercovici)

 Si alguna vez has sentido el movimiento de la Tierra debajo de tus pies durante un terremoto, no eres ajeno a los efectos de la constante inquietud de las placas tectónicas.
Mientras que los científicos han vinculado los movimientos de estos rígidos rompecabezas con los eventos de nuestro planeta más violentos, como los terremotos, tsunamis, erupciones volcánicas, etc, ellos han tenido problemas para explicar exactamente cómo llegaron a existir en primer lugar.


Ahora, en la revista Nature, dos geofísicos han propuesto que la capa más externa de la Tierra, o litosfera, fue microscópicamente debilitada hecha quebradiza por el movimiento en las capas viscosas debajo de ella miles de millones de años atrás.
Los autores del estudio David Bercovici, de la Universidad de Yale y Yanick Ricard de la Univerisdad de Lyon notan que la Tierra es el único planeta en el sistema solar que parece tener placas tectónicas que se mueven libremente en su superficie, impulsadas por el movimiento de las capas inferiores.
"La aparición de la tectónica de placas es posiblemente un momento definitorio de la Tierra", escriben . "Cómo es que en nuestro planeta, el único de los cuerpos terrestres conocidas, se desarrolló ese único mecanismo de convección del manto con las placas tectónicas, sigue siendo un enigma".
Los autores han creado un modelo matemático para la ruptura de la litosfera en pedazos , y consiste en la simulación de la convección del manto, siguiendo patrones como los de la lava.
Los autores sostienen que cuando las secciones de enfriamiento del manto se movieron hacia abajo, extendían las rocas en la litosfera suprayacente y esta deformación causó cambios microscópicos en su estructura cristalina.
A partir de ahí 
ocurrió una "retroalimentación de auto- debilitación"  e hizo que estas zonas deformadas se transformaran en zonas debilitadas.  Estas áreas debilitadas fueron ampliadas mientras el movimiento de hundimiento del manto se desplazó a otras zonas, argumentan.
"Aunque este caso es muy idealizado, muestra que una placa completamente desarrollada puede evolucionar a partir de sólo un hundimiento", escribieron.
El proceso probablemente comenzó hace unos 4 mil millones de años, y causó fracturas completas hace 3 mil millones de años, escriben los autores.
Los autores también ofrecen una explicación de por qué al menos otro planeta, Venus, carece de placas similares .
Debido a temperaturas mucho más cálidas, los daños causados ​​en la superficie quedarían sanadas con el tiempo, de acuerdo a su modelo.
"Sólo las zonas sutilmente débiles se acumulan porque el daño en sí es más débil, mientras que la cicatrización es más fuerte", escribieron los autores.

Traducción libre por Ramón Zúñiga.

Referencias:

Leer toda la nota...

jueves, 9 de enero de 2014

El Futuro del Almacenamiento de Datos

Es posible que ya hayan tenido problemas con datos que tengan guardados en medios obsoletos como los floppies u otro forma. Pues resulta que el problema es serio.
Hay datos relevantes que no pueden ser recuperados debido a que ya no es fácil encontrar la manera para su reproducción. Yo tengo en mi gaveta un par de cintas magnéticas con datos de sismogramas de Hawaii, programas de cómputo y hojas de cálculo, que de requerirlos tendría que buscar algun laboratorio perdido donde tengan todavía alguno de esos monstruos de lectores de cinta. Y si tuviera la fortuna de encontrar una máquina de ésas funcionando, también me tendría que enfrentar a que habría que recordar el protocolo en que fueron guardados, porque en esos tiempos existían un buen número de protocolos diferentes (bits por pulgada, encabezado, encriptado, velocidad, etc.).
Lo mismo pasa ahora con los floppies de 5 1/4" (¿se acuerdan de ellos?) e incluso con los más recientes de 3.5" (¿tienen alguna PC a la mano que los pueda leer ?)
¿Cuánto creen que podrán durar las memorias USB?.

On borrowed time: the days of CDs and similar media are numbered

En el artículo que a continuación les refiero, se hace alusión al problema de los medios de almacenamiento de datos, los cuales cambian a una velocidad que no hace posible mantener maneras de recuperación de la información a largo plazo. Como ejemplo se menciona que un libro sobre Guillermo el Conquistador que data del siglo XIV todavía puede ser leído en el Archivo Nacional en Londres, pero el resultado de una comisión sobre ese mismo libro, que fue llevada a cabo como parte de su 900 aniversario, tuvo que ser extraído por medio de un proyecto específico de recuperación ya que estaban grabados en discos láser.
Existen diferentes ideas sobre cómo solventar este problema, pero uno de los que ofrece mayores ventajas es emplear el DNA, ya que de por sí es un medio super eficiente para codificar información. 
Una vez más la naturaleza nos lleva ventaja.

Más información en la liga siguiente:
http://www.telegraph.co.uk/science/10553626/Can-DNA-reign-supreme-in-the-digital-dark-age.html 






Leer toda la nota...

miércoles, 8 de octubre de 2008

¿Estamos aprovechando la capacidad de cómputo actualmente a nuestro alcance?


















 

Imágenes de 
http://archive.computerhistory.org/resources/still-image/IBM/IBM_360/

Cuando inicié mis estudios en la Facultad de Ingeniería de la UNAM, allá por el 75, la posibilidad
de aprender un lenguaje de computación y de aplicarlo o al menos de correr un programa, se daba únicamente a través del sistema IBM 360 de la propia Facultad (foto 3). Este tipo de computadora era uno de los sistemas más sofisticados de aquella época, pero estaba la salvedad de que la teníamos que compartir con TODO el personal académico y estudiantes (algo así como 3,000 personas). A un sistema que se comparte por el personal de alguna organización se le denomina "mainframe" (marco principal, o gabinete principal) debido al tipo de gabinete de la IBM 360. Este nombre todavía se usa para los sistemas de gran demanda de cómputo, compartidos por muchos usuarios, que son compatibles con el viejo sistema 360. Otros sistemas actuales similares no compatibles con el 360 serían los "servers", las "supercomputadoras", e incluso los sistemas de cómputo en paralelo.
Volviendo al caso de la vieja 360, para poder correr un programa, ya sea que nosotros lo hubiéramos escrito o que lo hubiéramos conseguido de alguna manera, requeríamos de una lectora de tarjetas perforadas. Claro está que antes de esto teníamos que PERFORAR las tarjetas en otra máquina (perforadora, foto 2). Posteriormente le entregábamos el paquete de tarjetas, previamente atadas con una liga (o si el programa constaba de muchas "líneas" se requería una caja) al operador de entrada que las alimentaba a una "lectora de tarjetas". Cabe mencionar la posibilidad de que se rompiera la liga o tuviéramos un percance con la caja, lo cual invariablemente llevaba a tener que recoger y reorganizar las tarjetas (si es que era prácticamente posible). Finalmente teníamos que esperar al día siguiente a que nos entregaran la "salida" impresa, la cual frecuentemente constaba de un encabezado que tomaba toda una hoja (ia identificación del usuario y la máquina) y un par de líneas como las siguientes.

********************************************************************************

Hago énfasis en que no teníamos una interfase directa con el sistema.
Al correr el tiempo me involucré en investigación en los Institutos de Ingeniería y de Geofísica y ahí tuve la oportunidad de usar la computadora más poderosa de la UNAM, el sistema Burroughs del IIMAS la cual tenía la novedad para nosotros de que nos podíamos sentar frente a un "teletipo" (una especie de máquina de escribir de tamaño de un pequeño piano eléctrico, ver foto 3) y escribir comandos directamente al sistema donde podíamos esperar un par de segundos y "ver la respuesta" en la hoja de papel enfrente a nosotros. Una terminal era casi impensable, aunque llegó su hora poco después. Durante mis estudios de posgrado en la Universidad de Colorado, tuve oportunidad de usar otros "mainframes" (de mayor capacidad de cómputo) tales como VAX, PDP y otros, los cuales requerían de mantenimiento constante a los discos duros (foto 4), lectoras de cinta magnética e impresoras. Las interfases de entrada seguían siendo los teletipos y las terminales, aunque éstas últimas no tenían la posibilidad de graficar por lo que recurríamos a otro tipo de interfase (llamada Tektronix que era un tipo de monitor de rayos catódicos, ver foto 1).
Todo este preámbulo me lleva a considerar si le estamos sacando todo el provecho que podríamos a los recursos que tenemos en la actualidad. En esos tiempos nos deteníamos con varios intentos sólo porque no disponíamos de dónde almacenar datos o resultados. Hoy en día podemos disponer de Terabytes. Sólo les quiero dejar la pregunta en el aire como"pan para la mente". Y finalizo con algunos datos sobre la computadora que ayudó a llevar al hombre a la luna durante el proyecto Apollo de la NASA, uno de los modelos del sistema IBM 360, la cual palidece de forma abrumadora ante un ..... ¡IPOD!.

Announced January 18, 1966 and withdrawn February 20, 1967.
The following is the text of an IBM Data Processing Division press backgrounder distributed on January 16, 1968.
The IBM System/360 Model 91 at NASA's Goddard Space Flight Center here, is the fastest, most powerful computer now in user operation.
It is specifically designed to handle ultra-high-speed data processing for scientific applications such as space exploration, theoretical astromony, sub-atomic physics and global weather forecasting.
The Model 91's immense computing power results from a combination of several key factors, including:

  1. Advanced circuits that switch in billionths of a second;
  2. High-density circuit packaging techniques; and
  3. A high degree of concurrency, or parallel operations.
The Model 91 CPU cycle time is 60 nanoseconds. This is the time it takes to perform a basic processing operation. Its memory cycle time - - the time it takes to fetch and store eight bytes of data in parallel -- is 780 nanoseconds.
The main memory, however, is organized into 16 interleaved elements, so that the CPU may start a memory cycle with a different element every 60 nanoseconds instead of waiting the full 780 nanoseconds. This means that the CPU will rarely get a "busy signal" from the memory, and few machine cycles are wasted waiting for data.
The NASA Model 91 operates with 2,097,152 bytes of main memory interleaved 16 ways. Model 91s can accommodate up to 6,291,496 bytes (6 Mb, ¡¡¡wow!!!) of main storage.
In addition to main memory, NASA's Model 91 can store over 300 million characters (300 Mb, si se usa 1 byte por caracter ¡¡¡Caramba!!!) in two IBM 2301 drum and IBM 2314 direct access storage units. It also has 12 IBM 2404 magnetic tape units for data analysis applications, such as the processing of meteorlogical information relayed from satellites. Three IBM 1403 printers give the system a 3,300-line a-minute printing capability. Punched card input/output is provided through an IBM 2540 card read punch.

Leer toda la nota...