domingo, 29 de agosto de 2010

La matemática le da vida al software


¿De qué me van a servir las funciones en la vida? Todos lo pensamos en algún momento. Algunos, incluso, nos aseguramos de estudiar algo que no tuviera que ver con las matemáticas. No supimos, entonces, que ellas seguirían estando cerca, a solo un clic de distancia.
Actualmente, todo software requiere de matemáticas para su desarrollo y funcionamiento. Cuanto más básico sea el lenguaje de computación, más evidente será la presencia de las matemáticas. Conforme se hace software más avanzado, estas van quedando escondidas hasta ser totalmente imperceptibles para el usuario; pero lo cierto es que, sin ellas, el programa no podría funcionar.
Sería imposible hacer una película de animación digital sin matemáticas”, asegura Javier Trejos, del Centro de Investigación de Matemática Pura y Aplicada de la Universidad de Costa Rica (UCR).
Para que BuzzLightyear (el astronauta deToy Story ) pueda volar del punto A al punto B, se utilizan funciones matemáticas de suavizamiento. Estas toman los puntos de la imagen que se parecen y los pegan, para que el movimiento se vea continuo, no segmentado”, detalló Trejos.
Otro programa donde es crucial la matemática es en los simuladores de entrenamiento para disciplinas como la aviación, por ejemplo, o en software ingenieril para analizar y modelar estructuras. “No se puede hacer un puente para saber si va a servir; se hace un modelo”, dijo Mario Marín, profesor de la Escuela de Matemática del Instituto Tecnológico de Costa Rica (TEC), como tampoco se somete al piloto al vuelo antes de entrenarlo en escenarios posibles y simulados.
Los modelos de ambos ejemplos se basan en cálculos de velocidad, temperatura, aceleraciones, fricciones y otros.
La optimización de procesos también es un problema cuya solución es matemática. Dos aplicaciones de este tipo son WMS y NAF, sistemas para automatizar, de manera eficiente, la administración de bodegas y de rutas, respectivamente. Desarrolladas por la firma Codisa (Costa Rica), ambas utilizan algoritmos de optimización, de forma tal que la distribución –de rutas y de mercancías– sea eficaz. “Para ello se definen parámetros de medición de este factor, por ejemplo, cantidad máxima de visitas por día que puede hacer un rutero”, dijo Manfred Mejías, director de operaciones de Codisa.
WMS utiliza algoritmos de ordenamiento de matrices y vectores que determinan el recorrido óptimo para alistar un determinado pedido en la bodega. También usa variables de peso y volumen de los artículos, posiciones en bodega y su ocupación, para que el sistema sugiera los sitios ideales para almacenar el producto.
Las transmisión de datos protegidos y criptografía también requieren matemática. Específicamente, utilizan la teoría de números y la probabilidad. Los token de seguridad son dispositivos electrónicos que cada cierto tiempo muestran al usuario una clave, que es la que le permite autenticarse en servicios computarizados como los que tiene HP, Boston Scientific o el BAC San José en línea.
El número no cayó del cielo. Es un número programado con base en la teoría de números primos y la teoría de módulos (que es una manera de dividir elementos). Si uno logra descubrir el modelo, tendrá la fórmula para calcular el próximo número”, dijo Trejos, de la UCR.
Las soluciones de SmartSoft, que permiten a instituciones financieras analizar patrones de comportamiento de clientes y predecir conductas, son otro ejemplo en el cual la lógica y la matemática ocupan un rol fundamental. “Utilizan componentes basados en inteligencia artificial, sistemas de reconocimiento de patrones, estadística avanzada y análisis de datos”, dijo Daniel Cañas, director de inteligencia artificial e investigación. Con base en ello pueden analizar el riesgo del perfil del cliente y detectar fraude y lavado de dinero, o bien, emprender acciones de fidelización.
Tanto para las soluciones de Codisa como para las de Smartsoft, se sabía desde antes de crearlas que requerirían matemáticas para su desarrollo. “Por la complejidad de los problemas que se debían resolver, era completamente claro que se iba a necesitar matemática avanzada para solucionarlos”, dijo Cañas.
Además de sus aplicaciones en el desarrollo de software , la matemática se utiliza en el campo financiero para optimizar portafolios, calcular riesgos de crédito y riesgos operativos, modelar los mercados económicos. “En la valoración de precios de mercado se utilizan funciones trigonométricas y en el cálculo de riesgos de seguros, ciencias actuariales. También la estadística sirve para calcular la probabilidad de que determinado escenario ocurra en una empresa”, dijo Juan Muñoz, profesor de economía de la UCR.
Smartsoft usa la matemática y la lógica para ayudar a las entidades financieras a analizar patrones de comportamiento de sus clientes:
Árboles de decisión y redes neuronales: Son algoritmos de aprendizaje que se usan para la predicción de fraude. Para entrenarlas, se introducen datos previamente clasificados entre transacciones fraudulentas y transparentes. A partir de funciones, estadísticas, probabilidades y relaciones, generan un dato que indica la probabilidad de que esas transacciones introducidas sean fraude o no.
Como los datos habían sido clasificados previamente, el desarrollador sabe si la herramienta se equivocó o no. Los errores son utilizados para ajustarla hasta que aprende a predecir correctamente y se crea un modelo.
Clustering: Es un algoritmo de aprendizaje no supervisado. Determina relaciones entre los datos y agrupa, mediante una función de similitud, a los que tienen características comunes.
Así, al introducirle una serie de datos, puede agrupar a las transacciones que suelen ser fraudulentas para descubrir el perfil que tienen, por ejemplo.
Motores de reglas: Aplica la lógica compleja para llegar a sugerir si una transacción es sospechosa o no.
Por ejemplo, si se realizan más de determinado número de transacciones en una hora, el sistema genera una alerta porque probablemente la tarjeta fue robada, a menos de que se hayan hecho en las primeras dos semanas de diciembre, cuando suelen haber más transacciones.

No hay comentarios: