Tesis doctoral de César Estébanez Tascón
Las funciones hash no criptográficas son una de las herramientas más ampliamente utilizadas en las ciencias de la computación. Sus innumerables campos de aplicación van desde analizadores léxicos y compiladores, hasta bases de datos, cachés, redes de comunicaciones, bloom filters, algoritmos de reconocimiento de patrones, juegos de ordenador, servidores dns, sistemas de archivos, y prácticamente cualquier trozo de código en el que sea necesario consultar o indexar información a gran velocidad. Su tremenda utilidad se debe a que pueden llevar a cabo búsquedas en tiempo constante, independientemente del tamaño del conjunto en el que se busca. sin embargo, el diseño de estas expresiones matemáticas sigue siendo, a día de hoy, una tarea poco conocida por los ingenieros de software, escasamente documentada, y tradicionalmente llevada a cabo por expertos en procesos prácticamente artesanales. La principal razón es que una buena función hash debe generar salidas pseudoaleatorias, aparentemente impredecibles, y por tanto su diseño involucra estructuras altamente no lineales y sistemas caóticos. Este tipo de diseño, por definición, es muy poco intuitivo y plantea dificultades importantes, incluso para expertos en hashing. Pero por otro lado, estas mismas características que resultan tan exigentes para los humanos, parecen muy apropiadas para que técnicas de inteligencia artificial como la programación genética (pg) automaticen el trabajo, sustituyendo a los expertos en la producción de buenas funciones hash. en esta tesis se presenta gp-hash, un sistema basado en pg capaz de generar de forma automática funciones hash no criptográficas de alta calidad. En este documento se demostrará empíricamente que gp-hash puede generar funciones hash de propósito general con un rendimiento igual o superior al de las más utilizadas por la industria, todas ellas creadas por algunos de los mayores expertos en hasing del mundo, y que forman el estado del arte actual. Este resultado por si solo ya es importante, puesto que permite sostener que la pg es capaz de igualar (y en ocasiones superar) a los humanos en una tarea que claramente requiere cierto nivel de inteligencia. además, gp-hash también puede utilizarse para generar funciones hash a medida, específicamente diseñadas para ofrecer un rendimiento óptimo en un problema en concreto. Se justificará que, si se entrena al sistema gp-hash bajo ciertas condiciones, un porcentaje muy alto de las funciones generadas superan fácilmente en el problema en cuestión a las funciones de propósito general más utilizadas. Esto permitiría a los ingenieros de software -con o sin conocimientos específicos sobre hashing- evitar una de las decisiones más comprometidas y que más problemas de rendimiento generan en este tipo de sistemas: la elección de una función hash adecuada a su caso particular. En lugar de eso, podrían utilizar gp-hash para obtener una función específicamente diseñada para su problema, que muy probablemente desarrollará un rendimiento excelente en el mismo. Las aplicaciones prácticas de un sistema así son enormes e inmediatas, y podrían llegar a tener un importante impacto en la industria del software. por último, durante el desarrollo de esta investigación se observó que no existía un método estandarizado y universalmente aceptado para comparar funciones hash no criptográficas entre si, lo cual suponía un problema de base para los objetivos de esta tesis: no se puede afirmar que una función hash es competitiva si no hay una manera objetiva de compararla con otras funciones. La última aportación de este trabajo es la de llenar este vacío estructural: se recopilarán y analizarán las métricas de hashing más utilizadas en la literatura, y se propondrá a la comunidad científica un marco de referencia sistemático y estructurado para estandarizar la evaluación de funciones hash no criptográficas.
Datos académicos de la tesis doctoral «Diseño automático de funciones hash no criptográficas«
- Título de la tesis: Diseño automático de funciones hash no criptográficas
- Autor: César Estébanez Tascón
- Universidad: Carlos III de Madrid
- Fecha de lectura de la tesis: 18/11/2011
Dirección y tribunal
- Director de la tesis
- Yago Saez Achaerandio
- Tribunal
- Presidente del tribunal: José manuel Molina lopez
- Juan Manuel Sánchez pérez (vocal)
- Francisco Javier Segovia pérez (vocal)
- María Naya plasencia (vocal)