LO NUEVO EN COMPUTACION |
Nunca esta demás chequear lo nuevo, aquí iré colocando algunos desarrollos que más me llaman la atención
|
BIOMETRICA |
La biométrica se dedica a medir características
biológicas y ha abierto grandes esperanzas en el campo de la seguridad
informática, que normalmente tiene su punto mas débil en la creación,
mantención y uso de passwords o claves secretas. Los problemas de la obtención no autorizada de los
passwords, mediante engaños o medios tecnológicos constituye una de las
estrategias fundamentales de la mayoría de los ataques a la seguridad de los
sistemas informativos actuales. El que la posibilidad de acceder o negar el
acceso a un sistema determinado dependa del simple conocimiento de una palabra
clave es una de las principales debilidades de todo sistema informatico. En mi trabajo me ha tocado hacer peritajes a fraudes
computacionales y he visto cuan poca seguridad existe en un
sistema de palabras clave, las brechas de seguridad mas comunes respecto a
estas claves ocurren porque
En la practica, se eligen a menudo palabras
simple o nombres propios como claves, lo que hace a los sistemas de seguridad
extremadamente débiles en este punto. Para facilitar el recuerdo de las claves
se eligen cosas tales como nombres propios o de familiares, fechas de
nacimiento, RUT y otros párrafos tan obvios que muchas veces ni siquiera es
necesario usar programas de computación para inferirlos. Otra dificultad corriente es el cambio de claves y el
olvido de las mismas. Para los sistemas de seguridad de varios niveles se hace
necesario todo un sistema aparte de mantención y administración de las claves,
con todos los riesgos de seguridad que conlleva tener este sistema. Los problemas antes descritos han llevado a buscar el
método de acceso personal ideal que debe cumplir algunas características como:
La biométrica soluciona estos problemas
pero a la vez crea
otros nuevos como veremos a continuación. Los métodos biométricos consisten en medir
características biológicas que se presumen únicas al poseedor de la clave tales
como huellas digitales, imagen del iris o forma general de la cara. Estas cosas, simples de verificarpor cualquier persona, no lo son tanto para una maquina. Con nuestro superdesarrollado
poder del cerebro hasta un niño puede reconocer a alguien por la forma de su
cara, no ocurre lo mismo cuando tratamos que lo haga una
maquina, de capacidades muchísimo mas limitadas, especialmente en los casos
limites de personas físicamente parecidas o de gemelos idénticos. Las huellas digitales también se usan desde hace tiempo
como medio de identificación biométrico, pero todavía estamos lejos de lograr
programas que puedan reconocer unívocamente un patrón de huella digital entre
otros miles parecidos. El problema, es que para que los métodos de identificación
biométricos sean utilizables en la
practica deben tener un numero muy cercano al cien por ciento de aciertos, no
es posible tener un sistema de identificación de acceso biométrico si, por
ejemplo, reconoce solo ocho de cada diez intentos de acceso. Otra de las dificultades de los métodos biométricos es su irrevocabilidad y la imposibilidad de cambio ya que están basados en características físicas del poseedor, si alguien llega a conocer la clave generada por el dispositivo biométrico no seria posible cambiarla por otra nueva. En todo caso ya hay aplicaciones comerciales de bajo costo (como los Mouse que leen la huella digital) para identificación biométrica, pero yo creo que ocurre lo mismo que con los actuales software de reconocimiento de voz, están todavía lejos de la perfección para su uso masivo. Mientras tanto parece que tendremos que conformarnos con los tradicionales password con todos los problemas que traen aparejados.
|
COMPUTACION
EVOLUTIVA |
"El principio de la evolución es un concepto
primario de unificación en la biología, que relaciona los organismos entre sí
en una cadena histórica de eventos. Cada criatura de la cadena es producto de
una serie de accidentes que han sido sorteados bajo la presión selectiva del
ambiente. Después de muchas generaciones, la variación aleatoria y la selección
natural dan forma al comportamiento de individuos y especies que se adaptan a
las demandas del medio. Esto puede resultar extraordinario, una clara indicación
de que la evolución es creativa. Aunque no tiene un propósito intrínseco -es
meramente el efecto de las leyes físicas que actúan en la propagación de las
especies- es capaz de soluciona problemas de supervivencia que son 'únicos a
cada individuo. Imaginemos cuan útil podría ser el proceso evolutivo
llevado a cabo por computadoras, proveería los medios par solucionar complejos
problemas de la ingeniería -los que envuelven distorsiones caóticas,
aleatoriedad, y dinámicas no lineales complejas- que nuestros tradicionales
algoritmos han sido incapaces de conquistar." Así dice un articulo en el "Spectrum" de
febrero del 2000 (What is evolutionary computation?, David B. Fogel) donde se
resumen los fundamentos de la computación evolutiva, veamos algo mas de este
articulo: "En términos muy generales, la evolución puede describirse como
un proceso iterativo de dos pasos, consistente en variaciones aleatorias
seguidas de selección. El vinculo entre esta descripción y los algoritmos de
optimización que son el fundamento de la computación evolutiva es
conceptualmente simple. "Tal como la evolución natural parte con una
población inicial de criaturas, el enfoque algorítmico parte seleccionando un
conjunto de soluciones competitivas entre sino del problema que se desea
solucionar. Este conjunto puede ser escogido generando soluciones al azar o
utilizando cualquier conocimiento disponible sobre el problema. Estas soluciones padres generan una camada mediante
variación aleatoria por cualquier medio seleccionado de antemano. A las
soluciones resultantes se les evalúa su efectividad y se impone la regla de
"supervivencia de los mas aptos", el proceso es así repetido para las
sucesivas generaciones." El resto del articulo se dedica a desarrollar un ejemplo
practico de como implementar el algoritmo para el problema clásico del
"vendedor viajero" que debe visitar 100 ciudades en su ruta y
necesita determinar la ruta de recorrido mas corta para estos efectos. Luego se
muestran los resultados de la implementación computacional de este algoritmo
después de 4000 generaciones, lo que da una ruta bastante acercada al optimo.
También se muestra la aplicación del método en el diseño de drogas, donde las
variables son afinidad geométrica, interacción electrostática, fuerzas de Van
del Wall, etc. y también muestra un resultado bastante impresionante obtenido
en el diseño de una proteasa para el HIV (SIDA). Otro ejemplo que se coloca es la habilidad de estos
algoritmos para crear programas de juego de damas, haciendo notar que, a
diferencia del programa de Deep Blue para ajedrez que consistió simplemente en
traspasar grandes cantidades de conocimiento experto a un computador, en este
caso los diseñadotes del algoritmo no eran jugadores competentes y que fue el
propio programa el capaz de aprender hasta llegar a un nivel de juego experto,
muy superior a la capacidad de los creadores del programa Finalmente el articulo concluye destacando que "La
habilidad de un computador de obtener preeficiencia en un juego de habilidad como las damas,
simplemente enseñándole las aperturas abre grandes posibilidades: obtener que
los computadores aprendan sobre otras facetas del mundo real sin requerir
personas expertas que los alimenten con conocimientos. A medida que los precios
de computo bajan la factibilidad de la computación evolutiva para resolver
problemas de la vida real crecerá. Esto por la naturaleza paralela de los
procesos evolutivos.... Todo esto me hace recordar los "métodos
numéricos" que estudie en la universidad por los anos 80, que al principio
nos parecían la panacea para evitar las complicaciones del enfoque analítico.
También me acorde de los problemas de convergencia, cuando el método se nos iba
por el lado de los quesos y las soluciones divergían al infinito. Todos estos
métodos que se basan en mecanismos de prueba y error tienen una característica
que tal vez no esta suficientemente te asumida: existe un riesgo de error
considerablemente mayor que respecto a los metodos tadicionales y, yo creo, son
solo aceptables en procesos donde la posibilidad de cometer grandes
equivocaciones sea algo aceptable. Claro, la evolución podrá ser muy sabia, pero también
comete grandes equivocaciones y a veces pierde el camino por largo tiempo (es
cuestión de mirar a algunas personas), así, aunque la posibilidad de admitir márgenes de error es la mejor forma de asegurar
la creatividad no hay que olvidar todo lo que la ciencia y la técnica le deben
a los métodos analíticos y tampoco que el punto fuerte de los computadores es
precisamente el análisis, no la creatividad ni la intuición |
Office 2000 |
Aunque se enojen los detractores de Microisoft (a mi tampoco
me cae muy bien que digamos) Officce 2000 tiene una caractyerística innovadora
que, creo va a ser estándar a todas las futuras "suites" de
aplicaciones de oficina.
Lo característico del Office, especialmente a partir de su edición 2000 es el grado de integración de todas las aplicaciones en un modelo común: el Modelo de Objetos de Microsoft. A primera vista Officce 2000 es solo un conjunto más gordo y pesado que ofrece prácticamente lo mismo para el usuario final, la verdad es que gran parte del aumento de peso no está en las características visibles para el usuario sino más bien en las que vienen disponibles para los programadores. Desde Officce 97, cuando los distintos lenguajes de macros fueron reemplazados por el Visual Basic Para Aplicaciones, la integración del Officce con el Modelo de Objetos comenzó a notarse. Aunque algo de esto venía desde antes, cuando por ejemplo se construyó una especificación de métodos, barras de herramientas y menús comunes para todas las aplicaciones Officce. En Officce 97, solamente tres aplicaciones tenían acceso al VBA, estas eran Word, Excel y, obviamente Acceess. En Officce 2000 todas las aplicaciones tiene objetos, métodos, formularios, etc. que pueden ser manipulados en VBA, particularmente interesante es el Outlook que ahora puede ser programado desde el lado del usuario. Esta característica permite además programar el trabajo conjunto de las distintas aplicaciones, aprovechando los métodos comunes y, al menos en teoría, la comprensión del Modelo de Objetos haría de las tareas de programación de Officce algo más o menos trivial Finalmente, para el programador que quiera trabajar en serio en Officce, existe el ODE (Officce Development Edition) que es el entorno de desarrollo para Officce que permite crear objetos COM que trabajarán en todas las aplicaciones del Officcce, lo que permitirá crear Add inss que funcionen desde el el Word hasta Outlook de igual manera. Estos componentes COM (ver Programación Basada en Componentes en este mismo sitio) cumplen con normas de compatibilidad a nivel binario que las hacen especialmente interesantes para aplicaciones distribuidas por Internet por ejemplo. Hasta el momento no conozco ningún conjunto de aplicaciones de escritorio tan integrado como el Officce 2000, ni tampoco ninguno tan sub utilizado. Creo que en un futuro muy cercano la mayoría de la programación de aplicaciones (inventarios, sistemas de control, etc.) se van a programar desde adentro de estos entornos en lugar de usar los lenguajes de programación tradicionales. El Modelo de Objetos ha resultado una solución elegante y bastante clara, parece que no la hubiera hecho Microsoft. |