viernes, 18 de julio de 2008

Álgebra computacional

No, no se trata de "sumar computadoras" ni nada por el estilo, se trata de una de las disciplinas más novedosas que combina lo mejor de la matemática y la computación. Para darles un breve ejemplo, he preparado el siguiente video:

Entonces, ¿qué es el álgebra computacional? bueno... básicamente es el estudio de métodos que nos sirven para manipular ecuaciones y otras expresiones matemáticas de manera simbólica (no numérica). Esto les permite a ti y a tus amiguitos terminar la tarea a tiempo y ver Dragon Ball Z.

Claramente las aplicaciones más obvias de esta disciplina son los programas como el que acabo de mostrar en el video. Sin embargo, esto es muy útil, pues muchos problemas actuales de la ciencia y la ingeniería requieren resolver complejos problemas matemáticos de manera exacta (no aproximada). Entre las aplicaciones más aplaudidas están el razonamiento automático, las redes de Petri, teoría de números computacional, y muchas aplicaciones en áreas tan diversas como la física, química, biología molecular e inclusive criptografía.

Por ejemplo, los mensajes secretos, el comercio electrónico y el manejo de cuentas bancarias no serían posibles sin el álgebra computacional. Gracias a estas tecnologías tú y tus amiguitos se pueden enviar mensajitos cifrados a través del correo electrónico de manera segura (si es que deciden hacerlo ¡claro!).

¿Porqué estoy mencionando todo esto? ¡porque a nadie le interesa ni las matemáticas ni la computación! Es decir, los Chinos han ganado la olimpiada internacional de matemáticas trece veces y mexicanos ni una sola. Si se le pregunta a un joven Mexicano qué es lo que va a estudiar, casi siempre escuchamos las mismas respuestas: contaduría, administración, derecho, informática y medicina. Es muy raro quien quiere una licenciatura en matemáticas o un área de ciencia. Es decir, en este mundo no todos podemos ser abogados, pero por el otro lado ¡casi nadie quiere ser científico!

En parte el problema se encuentra en los libros de texto que se emplean en este país. Basta con hojearlos un poco para descubrir la razón de que los niños mexicanos sienten temor por estas áreas. Los libros explican las matemáticas de la manera más aburrida posible. Lejos de usar un lenguaje sencillo, estos utilizan palabras rebuscadas y frases largas, sin verdaderas aplicaciones a la vida real ni ningún otro elemento que motive el aprendizaje. Para colmo, según recuerdo, los profesores están tan mal capacitados, que en más de una ocasión corregí a mis profesores de la escuela secundaria. Últimamente he presenciado cómo unos cuantos profesores asisten a tomar clase con matemáticos de verdad. Están aprendiendo temas básicos.

Por último, recalco que la matemática no consiste en hacer muchas sumitas y divisiones como cierta persona que conocí, sino en razonar profundamente el porqué de las cosas. La computación es un buen complemento, no es para dejar de razonar, sino para facilitarle el trabajo al que le gusta hacerlo.

sábado, 5 de julio de 2008

De piratería y libertad

Para aquellos que no lo sepan, una computadora sería sólo un conjunto de fierros casi inservibles de no ser por unos programas que se llaman sistemas operativos. Cada computadora personal tiene un sistema operativo. Este se encarga de que tú y tus amiguitos puedan usar la computadora de una manera fácil, sin necesidad de soldar cables o programar en lenguaje máquina.



Aquí en México casi todos los usuarios computadoras utilizan el sistema operativo Windows® de la empresa Microsoft® (ver video más arriba). Este programa cuesta al rededor de dos mil pesos. Las razones por las cuales los mexicanos seguimos usando este programa son simples:

  1. Casi todas las computadoras de marca vienen con Windows® incluido. Y las computadoras que no son de marca (las ensambladas), casi siempre vienen con un Windows® (pirata) y otros programas de utilería (también piratas).
  2. En México se enseña a utilizar Windows® en escuelas (tanto públicas como privadas) . Más aún, se enseña a utilizar Microsoft® Office®.
  3. Lo último es poco probable que cambie, puesto que la SEP a cada rato hace nuevos convenios con Microsoft® en los cuales la empresa hace favorables descuentos a cambio del derecho de exclusividad. El ejemplo más sonado sin duda es la Enciclomedia.
Ahora, si bien es cierto de que Windows® es un sistema operativo popular, también es muy conocido entre los expertos por ser un sistema con muchas deficiencias. Además de todo, este sistema operativo es muy costoso, y eso trae graves consecuencias morales. Es un hecho que, enseñar a utilizar productos que suman más de tres mil pesos (con descuento para estudiantes), es fomentar la piratería en este país. Es decir, si un estudiante a decide que quiere hacer su tarea en la computadora de casa, lo más probable es que tenga el deseo de utilizar los mismos programas que le han enseñado en la escuela.

Hace unos años pregunté por la posibilidad de distribuir el software del proyecto Enciclomedia a travez de internet, a lo cual el Ing. Arturo Saravia Orduña, Representante del Instituto Latinoamericano de la Comunicación Educativa, me respondió lo siguiente:
"si ponemos el software en la página para disposición del público en primera estamos cometiendo un acto ilegal ya que los permisos de diferentes autores de terceros que participan en el programa solo están permitidos para la SEP [...] y no al público en general."
Como he mencionado, es poco probable cambiar el sistema educativo de este país que se niega a abandonar este tipo de contratos restrictivos. Mientras este tipo de situaciones persistan, México se encuentra en un dilema moral severo. Sin embargo, y a pesar de todo, existen alternativas. En España, China, Argentina y otros países ya se está optando por otro tipo de Software que nos ofrece la libertad de compartirlo con los estudiantes, amigos, y todos los demás. Me refiero al Software libre.




Tal como se menciona en el video, por alguna razón a la gente le es difícil distinguir entre gratis y libre (tal vez debido a tan malas traducciones que abundan en la literatura). También hace algunos años escribí una carta dirigida a la precidencia de la república comentando sobre este tema y pidendo una opinión al respecto. La respuesta que obtuve, del Coordinador de la Red Federal de Servicio a la Ciudadanía, Benigno Alardo Fernández fue la siguiente:
"El C. Presidente Vicente Fox Quesada reconoce el envío de tu escrito en el que expresas diversos comentarios relacionados con el tema de la piratería y el acceso a la tecnología para que el software sea gratuito."[...]
Es decir ¿"Para que el software sea gratuito"? ¡Pero si ya es gratuito, lo que estaba sugiriendo es que lo aprovecháramos, sobre todo porque ya existe y porque sí lo podemos hacer!

Por fortuna parece ser que los primeros pasos hacia la migración del software libre ya se están dando, pero no por parte de la educación, sino del comercio. Hace pocos meses, la empresa Dell comenzó a vender en México y otras regiones de latinoamérica computadoras con el sistema operativo Ubuntu. Puedes comprobarlo tú mismo haciendo clic aquí.

Esta sí es una gran novedad para los usuarios de computadoras personales, pues ahora tenemos la posibilidad de adquirir una PC de marca sin necesidad de pagar el sistema operativo Windows®, que nos obligaba a comprar su sistema operativo.

Sin embargo después de leer toda esta verborrea ¡¿A quién realmente le importa este asunto?!. ¡Adiós!

Nota importante: El adjetivo pirata se usa comunmente como sinónimo de clandestino. Pido una gran disculpa a los bucaneros que se sientan ofendidos con esta publicación.

jueves, 12 de junio de 2008

Café gourmet a la mexicana

Los fresas de México, hoy por hoy prefieren beber café en un changarro de Starsucks aunque sepa más feo que el que vende la típica doña Chole de la esquina. Ciertamente las bebidas que ahí se venden son, en su gran mayoría, exóticas. En el menú podemos encontrar café de Kenia, de la India, y de muchos otros países en distintos sabores, aromas y colores. Podría despotricar cómo este tipo de negocios les toman el pelo a los mexicanos que no saben distinguir los aromas y sabores del buen café (en realidad estos últimos sólo van por disfrutar del ambiente mientras beben un café mal hecho), pero esa es arena de otro costal.

Ahora bien, la palabra exótico significa que es extraño y que proviene de otro país, especialmente si este es muy lejano. En este contexto, es obvio que el café de Kenia no es exótico si se bebe en Kenia. Bien dicho de otro modo: el café de México es exótico si se bebe fuera de México. En México tenemos variedades de café que son originarias de esta región, y también tenemos distintas maneras de prepararlo, pero sin duda alguna la manera más popular es el café de la olla.

El café de olla es una bebida típica de México con muchísimas maneras de prepararlo. La característica principal de esta bebida es que está hecho a base de café con tueste Viena, canela y especias mexicanas como piloncillo, miel, chocolate, clavo, cáscara de naranja o alguna combinación de las anteriores. Pero lo más común es usar piloncillo.

Ciertamente muchos extranjeros que en alguna visita a nuestro país probaron el café de olla se sintieron enamorados con este sabor tan mágico, tan sólo basta Googlear un poco para convencerse de ello. Sin embargo, es curioso notar como los jóvenes mexicanos consideran a café de olla como algo muy corriente y a veces de mal gusto. Ciertamente estos ignorantes no saben disfrutar del buen sabor esta exótica variedad de café. Pero estoy seguro de que no dirían lo mismo si se vendiera en esos lugares fresas de los cuales ya he hablado. Se vale soñar ¿no?

Mientras tanto me despido con un buen sabor de boca, recordándoles que lo exótico a veces puede estar más cerca de lo que se cree.

sábado, 16 de febrero de 2008

No, yo no voy a arreglar tu computadora

Veamos estas tres fotografías... ¿Puede usted notar las diferencias?

Adivine quién es informático, computólogo o ingeniero en sistemas.

Me he percatado de que existe una gran confusión respecto al significado de computación. En varias ocasiones se me ha acercado gente para pedirme que arregle su computadora o que le instale tal programa. Es cierto que sí sé como reparar algunas cuantas cosas. Eso lo aprendí como pasatiempo, pero no por el hecho de que esté estudiando computación.

Vamos a aclarar las cosas. La noción de cómputo es más elemental que la noción de computadora, dado que un cómputo se puede llevar a cabo sin utilizar ninguno de estos aparatos. De hecho, hemos realizado cómputos desde que estábamos en la escuela primaria, principalmente utilizando lápiz y papel. Desde aquel entonces hemos estado sumando, restando, multiplicando, dividiendo, calculando perímetros, áreas, volúmenes y muchas otras cosas. En todos estos cómputos hemos seguido una serie de reglas que son claras, precisas y bien definidas. Estas reglas son el objeto de estudio de la computación. Si estas reglas están expresadas de una manera explícita, se le llama algoritmo. Los algoritmos son ante todo medios de comunicación, puesto que sirven para comunicar de manera clara y concreta la forma de resolver problemas. Así, otras personas (o computadoras) pueden entender la manera de llegar a la solución de un problema. Cuando un algoritmo está escrito con una sintaxis de un lenguaje específico que una computadora digital es capaz de comprender, se le llama programa.

Pese a su nombre, la computación no se dedica a estudiar a las computadoras. Vale la pena recordar la siguiente frase de Edsger W. Dijkstra:
La ciencia de la computación no se trata de computadoras más allá de lo que la astronomía se trata de telescopios
Para expresar los algoritmos es necesario elegir un modelo de cómputo, es decir, las herramientas que ocuparemos para expresar algoritmos. Esta elección determinará qué cómputos se pueden llevar a cabo y cuales no. Por ejemplo, en la antigua Grecia se usaba la regla y compás. Bajo este esquema, únicamente se permiten hacer cómputos usando construcciones geométricas con regla y compás. Por ejemplo, es posible crear reglas explícitas (algoritmos) para biseccionar un segmento de recta, biseccionar un ángulo, construir segmentos de recta cuya proporción sea una raíz cuadrada determinada, y muchas otras cosas. Sin embargo, bajo este modelo de cómputo es imposible cuadrar un círculo o triseccionar un ángulo, pues para ello se necesita un transportador. Para hacer cómputos aritméticos existen varios modelos como por ejemplo las calculadoras de bolsillo, reglas de cálculo, ábacos e inclusive lápiz y papel entre otros. Cada modelo de cómputo nos brinda nuevas maneras de resolver un mismo problema.

Una vez que se elige un modelo de cómputo y que se crea un algoritmo, es necesario demostrar matemáticamente que dicho algoritmo es correcto, es decir, que nuestro algoritmo es capaz de resolver el problema de manera correcta. Además, es común disponer de varios algoritmos para un mismo problema bajo un mismo modelo de cómputo. Siempre es deseable elegir el algoritmo más eficiente, es decir, el que requiera la menor cantidad de recursos. Usualmente es preferible optar por aquel algoritmo que requiera efectuar la menor cantidad de operaciones.

La computación es el arte y ciencia de efectuar cómputos. Se trata de una ciencia con un sinfín de aplicaciones en la vida real. Pero definitivamente no enseña a instalar antivirus.