Ok

By continuing your visit to this site, you accept the use of cookies. These ensure the smooth running of our services. Learn more.

domingo, 03 marzo 2013

De picas y de famas (3)

programación, informática Cuando mi amigo Rodrigo supo que yo estaba escribiendo un programa para jugar Picas y Famas se interesó mucho en el algoritmo y en las bases matemáticas que empleaba. En esa época, él trabajaba en un ministerio, quizás el de hacienda. Se le ocurrió que la fórmula podría servir para encontrar no sé qué similitud entre los números de las cédulas de ciudadanía. Programó una prueba para ver si le funcionaba pero se equivocó en los parámetros pues en lugar de imprimir unas pocas páginas, usó una caja entera o más de papel perforado con copia de carbón que era de los más caros. Me contó que le tocó inventar una excusa para evitar problemas.

No sé quién nos dio la idea de escribir un artículo para una revista especializada. Lo cierto es que nunca lo escribimos y lo único que quedó fue el programa de demostración para cuando los estudiantes de informática fueran a visitar el centro de cálculo. Ni siquiera guardé copia para mí. Cuando cambiaron el computador solo me quedó el recuerdo.

Pasaron más de diez años hasta que tuve otra oportunidad de revivir la fórmula de las picas y famas para una aplicación diferente. Se trataba de un corrector ortográfico que propusiera palabras correctas suficientemente cercanas a la equivocada. Era para una base de datos terminológica. Me acordé del juego y empecé a ver si podía escribir una fórmula que cumpliera con la definición matemática de distancia.

Una función de distancia o métrica debe cumplir tres condiciones:

  1. La distancia entre dos puntos debe ser cero o positiva.
  2. Debe ser simétrica, es decir la distancia de A a B debe ser igual a la distancia de B a A y
  3. Las distancias entre tres puntos A, B y C deben cumplir la desigualdad triangular, es decir la suma de las distancias de A a B y de B a C siempre debe ser mayor a la distancia de A a B cualesquiera que sean los puntos A, B y C.

La función que me inventé calculaba un valor entre 0 y 1 a partir del número de picas y famas que tenían dos palabras entre sí. Mientras más parecidas, el valor era más cercano a cero; mientras más diferentes, el valor era más cercano a uno.

Pasé días tratando de probar matemáticamente que mi fórmula era una distancia. Lo pude demostrar para palabras que tuvieran el mismo número de letras, pero todo se complicaba con longitudes desiguales pues no llegaba a demostrar la desigualdad triangular.