Newsletter LANIA 51 Y 52

download Newsletter LANIA 51 Y 52

of 8

Transcript of Newsletter LANIA 51 Y 52

  • 7/23/2019 Newsletter LANIA 51 Y 52

    1/8

    URGENTE: UNA DILISISPARA MI EMPRESA!

    AO 15 VOLMENES 51 y 52

    Beatriz Gutirrez Almaraz*

    Juan Prez recibe doble paga por-que el sistema de nmina lo tiene

    registrado dos veces? El catlogo deproductos no reeja el contenido delinventario de almacn? Los ingresosy egresos realizados no cuadran conlos registros de contabilidad ? Estosson escenarios en los que indudable-mente no nos gustara estar inmersos;sin embargo, si en nuestra empresaexiste una constante generacin deinormacin adems de mltiples ac-cesos a sta desde diversas reas, laprobabilidad de encontrarse en algunade las situaciones planteadas aumentapaulatinamente.

    En la actualidad, las empresas cen-tran su atencin en la administracindel conocimiento, donde se considerael conocimiento integral del equipohumano como uno de los activos msvaliosos; esto da pie al surgimientode diversas tecnologas que permi-ten la gestin de la inormacin. Lasempresas tienden a adoptar sistemastransaccionales que les permiten laautomatizacin de los procesos denegocio, un paso adelante para la ges-tin de la inormacin.

    Sin embargo, ante un hecho irre-utable de la vida, la nica constantees el cambio, es posible considerarque las empresas presenten alteracio-nes tanto en el ambiente de trabajocomo en el exterior, convirtindoseestas alteraciones en ortalezas - debi-lidades (si provienen del interior de laempresa) y oportunidades - amenazas(si provienen del entorno).

    Bien podemos creer que no hay dequ preocuparnos; la inormacin, apesar del revuelo de sucesos a su al-rededor, sigue guardada y disponiblepara cuando deseemos consultarla.

    Y es ah cuando nos percatamosde algunos sucesos extraos, aconte-cimientos que quiz por la premurade la solicitud de la inormacin o lasmltiples actividades en las que se estsumergido no recibieron la atencinadecuada; notamos que al consultaren nuestro sistema de inormacin, va-rios clientes aparecen registrados msde una vez, que el catlogo de produc-tos muestra duplicados y sus preciosno reejan las cantidades adecuadas;la hora de la junta est cercana, se debe

    presentar el concentrado de produc-tos existentes as como un listado de

    productos adquiridos por clientes yno hay orma de que el sistema arrojela inormacin que necesitamos.

    Qu hacer? Inmediatamente co-menzamos a orquestar un sinn deactividades para tener esos reportes;solicitamos al personal que consultelos archiveros del inventario, se bus-can las acturas de venta y se clasifcanpor clientes; se obtienen unos listadosaproximados, se imprime y tenemos elinorme necesario para salir del paso.

    Se posee una cantidad considera-ble y valiosa de inormacin, pero lasconsultas no reejan la realidad de laempresa. De qu sirve tener tecnolo-ga de gestin de inormacin, si losdatos almacenados no son confables?Qu opciones tengo ante tales esce-narios?

    Dos opciones saltan a la vista: haceruna evaluacin de los procesos de laempresa, validando cada dato existen-te a travs de expedientes, archivos,sistemas transaccionales o inorma-cin de diversas uentes que se tengana la mano y hacer las correcciones

    pertinentes; o bien dejar de utilizartodos los sistemas individuales que

    pudiesen existir en la empresa (conta-bles, inventarios, directorio de clien-tes, etctera) y adquirir un sotwarenuevo que integre todas las reas dela empresa, como por ejemplo losERP (lo que signifca, por sus siglasen ingls,Planifcacin de RecursosEmpresariales).

    Sin lugar a dudas, ambas opcionesinvolucran gastos de tiempo y dine-ro; la primera opcin da cabida a lageneracin de errores por omisin oallos en los canales de comunicacin,y donde quizs todos los recursos in-vertidos no hayan sido ructeros. Enla segunda opcin, es probable quelos gastos se eleven considerablemen-te al comprar un sotware ERPy a lavez contratar consultores que tratarnde ajustar los procesos de la empresaa la orma en que trabaja elERPy noa la inversa, convirtindolo en un pro-ceso extremadamente complejo.

    Existe otra alternativa, que puedellegar a solucionar los escenariosplanteados en un principio y que noinvolucra un cambio drstico en las

    actividades de la empresa. La alternati-vaes contratar consultores que proce-

    dan a laExtraccin, TransormacinyCarga de los datos existentes en laempresa, desde sus diversas uentesde inormacin, concentrndolos enun almacn comn de datos. Dichoalmacn ser la reerencia de inor-macin confable y donde tanto elpersonal como los sistemas existentespodrn establecer peticiones de inor-macin.

    Es cil determinar cundo es ac-tible optar por esta ltima solucin:si el paciente manifesta una posiblecorrupcin de datos, cuenta con siste-

    mas transaccionales que poseen datosinconsistentes y/o duplicados, y a fnalde cuentas la inormacin no reejala realidad de la empresa, entoncesse recomienda recurrir a unadilisisempresarial.

    En trminos mdicos, una dilisiselimina los elementos dainos de lasangre a travs de un proceso me-diante el cual se extrae la sangre delcuerpo; una mquina lava y drena lasangre inectada, y posteriormente ladevuelve al torrente sanguneo delcuerpo. Es decir, se trata de un procesode purifcacin.

    En esta analoga, los miles de datosalmacenados en la empresa represen-tan las clulas sanguneas del cuerpo,y cuando esos datos presentan con-taminacin es necesario: 1. extraer-los, 2. procesarlos por mecanismosde purifcacin, y 3. devolverlos altorrente de inormacin empresarial.Una vez que la empresa recibe sus datos

    NEWSLETTERLaboratorio Nacional de

    Informtica Avanzada, A.C.

    Contina en la pgina 2.

    EN ESTE NMERO

    Herencia: Una herramienta para mejorar...... 2la aplicabilidad de los algoritmos evolutivosa problemas del mundo real.

    Urgente: Una dilisis para mi empresa! ........1

    Todo menos los datos ..........................................4

    Architectura de sistemas en capas .................. 6

    Carlos Coello: Premio de investigacin ............ 8cientfca de la Academia Mexicanade Ciencias 2007.

    Cmputo bio-inspirado ~ una mirada ............ 7a lo natural.

    1

  • 7/23/2019 Newsletter LANIA 51 Y 52

    2/8

    purifcados vuelve a la vida, y puedeentonces confar en su inormacin.

    La mquina de purifcacin de nues-tra dilisis empresarial es el lugar don-de se concentran diversos mecanismosque procesan la inormacin recopiladapara poder recuperar inormacin con-fable y consistente que permitan orta-

    lecer las actividades de la empresa.Extraer la inormacin no es una

    tarea sencilla. Acaso toda la inorma-cin empresarial est concentrada enun solo lugar? Muy probablemente larespuesta sea un rotundo NO. La in-ormacin puede estar concentrada endiversos lugares y de dierentes ormas,en inormacin en papel, tarjeteros y/oen medios electrnicos: desde unabase de datos hasta archivos en die-rentes ormatos tales como documen-tos, grfcas, hojas de clculo, texto. Serecurre entonces a tecnologas encar-

    gadas de la recopilacin e integracinde inormacin, actividad conocidacomo reconciliacin de datos.

    Puesto que la extraccin de inor-

    macin no slo abarcar las partesdaadas, sino tambin aquellos datoso inormes que servirn para corrobo-rar, fltrar y ajustar los datos propor-cionados se requiere un proceso en elcual se identifquen las posibles incon-sistencias, proceso conocido comovalidacin de datos.

    Una vez extrada y validada la in-ormacin, contina el proceso depurifcacin, que involucra la trans-ormacin de los datos, esto es, su co-locacin en contenedores homogneosque aciliten a diversas tecnologas laaplicacin de tcnicas y metodologaspara su correcto procesamiento y an-lisis.

    Ms all de realizar una compara-cin e integracin de inormacin elreto del proceso de purifcacin, cono-cido como integracin de datos, con-siste en la identifcacin de objetos me-

    diante diversos medios, esto es, poderdistinguir cundo dierentes objetos endierentes uentes de inormacin re-presentan al mismo elemento y por lo

    tanto deberan ser considerados comoun mismo objeto.(1)

    Por ejemplo, consideremos unaempresa que a nivel de sus sistemastransaccionales identifque al personalpor su CURP, en el rea contable atravs de su nmero de nmina, y endiversos documentos slo contemplen

    el nombre completo de la persona. Laherramienta de integracin de datosdebe determinar que los datos: CURPPEHJ651203MVZEWQ7, nombre: JuanPrez Hernndez y el nmero de n-mina 5796 se estn refriendo a unamisma persona y no a tres dierentes.

    La inormacin ya fltrada y proce-sada se incorpora nuevamente al to-rrente empresarial, a travs de bancosde datos existentes o inclusive nuevos,que permitirn al personal de la em-presa acceder a los datos requeridos.Es as como los ujos de inormacin

    se revitalizan, se vuelven confables,consistentes y homogneos.Se empiezan a notar los primeros

    eectos, el sistema despliega inorma-

    cin de los clientes, sin presentar du-plicados, y ahora es posible consultartodos los productos adquiridos por elcliente; consultando el catlogo de pro-ductos podemos determinar su preciocorrecto y cuntos hay en existencia.Se imprime el reporte y se entrega atiempo.

    La empresa se transorma, mejoranlos tiempos de respuesta, la inorma-cin uye, va y viene, se actualiza, vuel-ve a ocupar el nivel de confanza perdi-do; una vez ms la dilisis empresarialha salvado a su paciente de un posiblecolapso de inormacin.

    * Unidad de Desarrollo de Sotware -LANIA.Correo electrnico: [email protected]

    Reerencias:1)Matthias Jarke, Maurizio Lenzerini, Yannis

    Vassiliou, Panos Vassiliadis, Fundamentals o

    Data Warehouses. Second Edition. EditorialSpringer-Verlag 2002, 2003.

    HERENCIAUna herramienta paramejorar la aplicabilidad de los

    algoritmos evolutivos aproblemas del mundo real

    i bien es cierto que los algoritmos evolutivos han sido muy exitosos resol-viendo problemas de optimizacin, como el diseo de ingeniera, asignacin

    de horarios, control automtico, entre otros, su aplicacin introduce un costocomputacional que crece considerablemente con respecto al que requiere la eva-luacin del problema a resolver. Esto se debe a la naturaleza de los algoritmosevolutivos, (que en su gran mayora son de los llamados poblacionales).

    Los algoritmos evolutivos poblacionales usan un conjunto de posibles solucio-nes al problema (llamado poblacin), las cuales se evalan un cierto nmero deveces (llamadas generaciones). As, para obtener una solucin al problema porresolver, representado por la uncin objetivo, sta se evala tantas veces comoel tamao de la poblacin por el nmero de generaciones. De esta manera, laaplicacin de los algoritmos evolutivos a problemas del mundo real se ve limitadacuando la uncin objetivo tarda demasiado tiempo en ser evaluada: horas, das,semanas o incluso meses.

    Por ello, en los ltimos aos se ha puesto especial inters en el diseo dealgoritmos ms efcientes, en trminos del nmero de evaluaciones de la uncinobjetivo que se requieren para obtener una solucin al problema. Una de las pro-puestas ms recientes se basa en el uso del concepto de herencia.

    Este concepto, originalmente propuesto por Smith y sus colaboradores(1) enel ao de 1995, consiste en asignar a un nuevo individuo una aptitud (o valorde la uncin objetivo) que se calcula usando los valores correspondientes desuspadres (esto es, los individuos correspondientes de la generacin anterior).As, cuando se usa la herencia, no es necesario evaluar a cada individuo en cadageneracin y el nmero de evaluaciones se disminuye y, por consiguiente, el costocomputacional se reduce tambin.

    SMargarita Reyes Sierra*

    viene de la pgina 1. URGENTE: DILISIS...

    Contina en la pgina 3.

    2

  • 7/23/2019 Newsletter LANIA 51 Y 52

    3/8

    En el Grupo de Computacin Evolutiva del CINVESTAV-IPN, llamado EVOCINV,se propuso recientemente la aplicacin del concepto de herencia a un algoritmopara optimizacin multi-objetivo basado en cmulos de partculas.

    La optimizacin mediante cmulos de partculas (mejor conocida comoParticleSwarm Optimization -PSO) est basada en el uso de una poblacin llamada c-mulo, cuyos individuos son llamados partculas y que, a dierencia de la granmayora de los algoritmos evolutivos, no usa operadores de cruza y/o mutacinpara su evolucin, en su versin original(2). En este caso, las partculas modifcan

    su posicin en el espacio de bsqueda bajo la inuencia de la experiencia de susvecinos, as como la suya propia. En particular, dada la posicin x(t) de una part-cula x en el espacio de bsqueda en el tiempo t, sta se actualiza a cada generacinpor medio de la siguiente rmula:x(t+1)=x(t)+v(t+1)Donde v(t+1) es un vector llamado velocidad y se calcula de la siguiente orma:v(t+1)=w*v(t)+c1*r1(pbest-x(t))+c2*r2(lder-x(t))

    Donde w es llamado peso de inercia, c 1 y c2 son llamados actores de apren-dizaje (comnmente defnidos como constantes), y r1 y r2 son valores aleatoriosentre 0 y 1. La posicinpbestcorresponde a la mejor posicin visitada hasta ahorapor la partcula x y la posicin ldercorresponde a la posicin de la partcula delcmulo que gua la bsqueda. Comnmente, se considera como partculalderala mejor partcula del cmulo (versin global); sin embargo, tambin es posibleconsiderar como lder a la mejor partcula dentro de una cierta vecindad (versin

    local). As pues, el actor de aprendizaje c1 es llamado actor cognitivo y el actorc2 es llamado actor social.La propuesta de EVOCINV consiste en incorporar una tcnica de herencia a

    uno de los algoritmos basados en cmulos de partculas para optimizacin multi-ob-jetivo, propuestos por el grupo. El algoritmo utilizado es llamado MOPSO (Multi-Objective Particle Swarm Optimization) y su uncionamiento se muestra en lasiguiente fgura:

    Como se puede ver en la fgura, en el caso de optimizacin multi-objetivo nose tiene un solo lder sino un conjunto de lderes. Esto se debe a que un problemamulti-objetivo generalmente no tiene una solucin nica, sino un conjunto de so-luciones. De esta orma, se pretende que cada lder unja como gua para unasolucin distinta. Por otro lado, en el caso del algoritmo MOPSO se hace uso deun archivo externo en el que se almacenan las mejores soluciones obtenidas hastael momento (bajo ciertos esquemas de distribucin y/o convergencia al ptimo) yque sern devueltas como la salida correspondiente del algoritmo. As tambin, elalgoritmo MOPSO incorpora un operador de mutacin con el fn de mantener di-versidad dentro del cmulo de partculas. Todos los detalles del algoritmo MOPSOpueden consultarse en (3).

    Ahora bien, como se muestra en la fgura anterior, el concepto de herencia seaplica con una cierta probabilidad, llamada proporcin de herencia ph. Esta pro-babilidad indica qu tan seguido se va heredar la aptitud (o valores de la uncinobjetivo) de una partcula. De lo contrario, se evala la uncin de aptitud.

    Para llevar a cabo la herencia en el algoritmo MOPSO, se propuso el uso de unarmula muy similar a la presentada previamente para actualizar la posicin delas partculas en el espacio de bsqueda. Sin embargo, en este caso, la rmula esaplicada en el espacio de las unciones objetivo (es decir, la propuesta de EVOCINVes heredar los valores de las unciones objetivo):(t+1)=(t)+v(t+1)v(t+1)=w*v(t)+c1*r1(pbest-(t))+c2*r2(lder-(t))

    Puede verse que aqu simplemente se ha sustituido (t) por x(t) en la ecuacinanterior. Por otro lado, se propusieron seis tcnicas distintas para adaptar el valorde la proporcin de herencia (a lo largo del proceso de bsqueda), ph, con el fnde obtener el mayor ahorro posible en el nmero de evaluaciones de la uncinobjetivo. Todos los detalles de esta propuesta pueden consultarse en (4) y (5).

    En la siguiente tabla, se muestran resultados de las seis tcnicas de adaptacinpropuestas (denotadas como T1, T2, T3, T4, T5 y T6), usando cuatro uncionesde prueba tomadas de la literatura de optimizacin evolutiva multi-objetivo(6). Losvalores mostrados corresponden al promedio de soluciones ptimas encontradaspor los dierentes algoritmos (en 30 corridas), medidas sobre un total de ciensoluciones obtenidas. En la tabla se muestran los resultados del algoritmo MOPSOsin herencia, y posteriormente los resultados del algoritmo MOPSO con herenciay con las seis tcnicas de adaptacin propuestas, con el correspondiente ahorro

    obtenido con cada una de ellas. Adems, en las ltimas dos columnas se muestranlos resultados obtenidos por los dos algoritmos ms representativos del estado delarte: el NSGA-II(7) y el SPEA2(8). Los valores de los parmetros de todos los algo-ritmos ueron ajustados de orma que todos llevaran a cabo 20,000 evaluacionesde la uncin objetivo. As, por ejemplo, el algoritmo MOPSO con herencia usandolas tcnicas tres y cinco de adaptacin, llev a cabo aproximadamente 10,000evaluaciones.

    Como se puede ver en la tabla, los resultados obtenidos son muy satisactoriospues el nmero de soluciones ptimas encontradas es considerablemente altotomando en cuenta el ahorro obtenido en el nmero de evaluaciones. En general,podemos ver que es posible ahorrar hasta un 30% del nmero de evaluaciones,sin aectar signifcativamente los resultados, especialmente en las unciones ZDT2,ZDT3 y ZDT4. Por otro lado, aunque los resultados son notablemente aectados enlos casos en los que se ahorra el 50% (o ms) del nmero de evaluaciones, pode-mos ver que an en estos casos, los resultados obtenidos son de mejor calidad que

    los obtenidos por los algoritmos NSGA-II y SPEA2. En los casos de las uncionesZDT1 y ZDT3, es posible obtener la misma calidad en los resultados que los algo-ritmos NSGA-II y SPEA2, pero llevando a cabo un 65 y 50% menos evaluaciones,respectivamente. Por otra parte, en los casos de las unciones ZDT2 y ZDT4, anllevando a cabo un 80% menos de evaluaciones, la calidad sigue siendo superior.

    As pues, hemos visto que el uso de herencia disminuye notablemente el costocomputacional, mientras que mantiene la calidad de los resultados aceptablemente.

    Como trabajo uturo, el grupo EVOCINV est considerando la incorporacin delconcepto de herencia a dierentes algoritmos evolutivos (algoritmos genticos,estrategias evolutivas, etctera.), as tambin como su aplicacin a problemas delmundo real.* Grupo de Computacin Evolutiva (EVOCINV). Seccin Computacin, Departa-mento de Ing. Elctrica CINVESTAV-IPN.

    Correo electrnico: [email protected]

    Reerencias:1) Robert E. Smith, B. A. Dike and S. A. Stegmann.Fitness Inheritance in Genetic Algorithms.In SAC 95: Proceedings of the 1995 ACM Symposium on Applied Computing, pages 345350,Nashville, Tennessee, USA, 1995. ACM Press.2) James Kennedy and Russell C. Eberhart.Particle Swarm Optimization. In Proceedings o the1995 IEEE International Conference on Neural Networks, pages 19421948, Piscataway, New

    Jersey, 1995. IEEE Service Center.3) Margarita Reyes Sierra and Carlos A. Coello Coello.Improving PSO-based Multi-objectiveOptimization using Crowding, Mutation and Dominance . In Third International Conerence onEvolutionary Multi-Criterion Optimization, EMO 2005., pages 505519, Guanajuato, Mxico, 2005.LNCS 3410, Springer-Verlag.4) Margarita Reyes-Sierra and Carlos A. Coello Coello.Dynamic ftness inheritance or Multi-objective particle swarm optimization. In Genetic and Evolutionary Computation Conerence,pages 89-90, Seattle, WA, USA, 2006.

    5) Margarita Reyes-Sierra and Carlos A. Coello Coello.Dynamic Fitness Inheritance Proportionor Multi-objective Particle Swarm Optimization. Technical Report EVOCINV-03-2006, Seccinde Computacin, Departamento de Ingeniera Elctrica, CINVESTAV-IPN, Mxico, April 2006.6) Eckart Zitzler, Kalyanmoy Deb, and Lothar Thiele.Comparison o Multi-objective Evolutionary

    Algorithms: Empirical Results.Evolutionary Computation, 8(2):173195, Summer 2000.7) Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, and T. Meyarivan. A Fast and Eli tist Multi-objective Genetic Algorithm: NSGAII. IEEE Transactions on Evolutionary Computation, 6(2) :182197, April 2002.8) Eckart Zitzler, Marco Laumanns, and Lothar Thiele.SPEA2: Improving the Strength Pareto

    Evolutionary Algorithm or Multiobjective Optimization. In K.C. Giannakoglou et al., editor, Pro-ceedings o the EUROGEN2001Conerence, pages 95100, Barcelona, Spain, 2002. CIMNE.

    Inicio

    Inicializar cmulo de partculasInicializar conjunto de lderesInicializar archivo externog=0

    Mientras g=gmax

    ParaCada

    particulaSeleccionar lderActualizar MutacinSi (rand(0,1)=ph)

    HeredarSi no EvaluarActualizar pbest

    FinParaCadaActualizar conjunto de lderesActualizar archivo externog=g+1

    FinMientrasReportar resultados en archivo externo

    Fin

    Funcin MOPSO T1 T2 T3 T4 T5 T6 NSGA-11 SPEA2

    ZDT1

    ZDT2

    ZDT3

    ZDT4

    Ahorro

    87

    92

    76

    96

    0%

    84

    93

    73

    94

    19%

    74

    89

    72

    93

    32%

    71

    83

    53

    89

    49% 49%

    68

    84

    59

    90

    53

    69

    37

    77

    65%

    21 21

    45

    16

    47

    78%

    6

    44

    0 0

    0% 0%

    27

    7

    39

    viene de la pgina 2. HERENCIA...

    3

  • 7/23/2019 Newsletter LANIA 51 Y 52

    4/8

    udwig Wittgenstein, flsoo austriaco, con su clebre rase(7) dijo que lo msimportante de su libro el Tractatus es aquello que no est contenido en l.

    Esta paradoja sugiere que recuentemente la identidad de algo se puede delinearmediante la descripcin de lo que no es: as, podemos determinar la ubicacin denuestro coche en un estacionamiento si recordamos todos los lugares donde nonos estacionamos. A primera vista, esta sugerencia aparenta ser, simplemente, unamanera inefciente de representar la misma inormacin; un anlisis ms atento,sin embargo, revela que existen dierencias en cuanto a la orma de acceder aella. Qu tan til es revelar el 50% de los lugares en donde no est mi coche?No mucho si lo que se busca es simplemente ubicar el auto; ms bien, lo quesugiere es que almacenar datos negativos podra rendir dividendos en cuanto ala seguridad de la inormacin que representan.

    En lo que sigue tratar sobre la posibilidad de representar negativamente una

    base de datos y describir un esquema cuyas caractersticas permiten limitar lamanera en que stas pueden ser explotadas.

    BASES DE DATOS NEGATIVASSupongamos que se tiene una base de datos con los nombres y direcciones de losempleados de una empresa. Una base de datos negativa es una representacinde todos los posibles nombres y direcciones excepto los de la base original. Merefero a la base con los datos de inters inmediato (los nombres y direcciones porejemplo) como base positiva y la abrevio como DB; la base de datos con todo lodems es la base de datos negativa y me refero a ella comoNDB.

    Para ser ms preciso defno una base de datos como un conjunto de cadenasde longitud fja - una cadena es una sucesin de smbolos alanumricos: unarase en espaol es una cadena de letras. Al restringir las cadenas de una basede datos a cierta longitud se limita tambin el nmero de cadenas posibles que la

    base puede contener; por ejemplo, si estamos hablando de cadenas de letras delongitud 4, hay 274 posibles combinaciones (27 letras del abecedario). El eectode limitar el nmero de cadenas posibles es que la cantidad de cadenas o registrosque no estn en una base de datos es fnito, simplifcando la tarea de crear unabase negativa. Sin embargo, esto por si mismo no es sufciente para el objetivo realde crear una base de datos negativa en tiempo y espacio razonables - (usaremosel trmino razonable con el signifcado de que sea una uncin polinomial en eltamao deDB). Si la base de datos en cuestin contiene, digamos, 1000 cadenasde longitud 100, el nmero de entradas que deben ser representadas en su negativoes 27100 - 1000, bastante ms que la cantidad de tomos en el universo. Lo quese necesita, entonces, es una manera de representar tal nmero de cadenas demanera compacta y un algoritmo que genere NDBsin tener que enumerar todoslos elementos que representa.

    Con este fn es conveniente enocar nuestro anlisis a cadenas binarias:

    asumimos que los registros almacenados en una base de datos positiva sonsucesiones de unos y ceros exclusivamente. Cabe notar que una cadena binariapuede ser interpretada como una cadena de letras (o smbolos de cualquier otroalabeto) mediante la agrupacin de subcadenas de bits. Una base de datos negativaes un conjunto de cadenas defnidas sobre el alabeto ternario {0,1,*}. El nuevosmbolo *, llamado comodn, permite que una sola entrada en NDBrepresentemltiples sucesiones binarias (ver la siguiente tabla).

    El universo, U, de posibles cadenas binarias de longitud tres; una base dedatos positiva DB; las cadenas que no estn en DB (U-DB); y una base

    de datos negativa, NDB, representando U-DB.

    Una cadena con un comodn en la posicin i (cualquier posicin) representados cadenas con los mismos smbolos que la original excepto en la posicin i,

    donde una tiene un cero y la otra un uno. Una cadena con n comodines representa2n cadenas binarias (ver la siguiente fgura ).

    Existen varios algoritmos (1,2,3,6) que toman como entrada una base de datospositiva y producen, en un tiempo y de un tamao razonable, una base negativa. Laidea detrs de todos ellos es encontrar subconjuntos de 2n cadenas en U-DBquediferan en slo n posiciones para representarlos con una sola entrada en NDB(ver tabla anterior). Por ejemplo, el algoritmo del prefjo(1) busca subconjuntosde cadenas con prefjos que no estn enDB. Los distintos mtodos generan bases

    negativas con distintas propiedades, pero la de mayor inters para la actualexposicin es la de reversibilidad.

    REVERSIBILIDADDierentes algoritmos crean bases de datos negativas con dierentes caractersticasen dos aspectos: uno, en cuanto al nmero de comodines que cada registro tiene,y otro, en cuanto a si cada entrada enNDBrepresenta un sub-conjunto exclusivoo no de cadenas binarias. En este ltimo punto surge la pregunta de qu tan ciles recuperar la base de datos positiva representada por ciertaNDB. A primeravista es de suponer que, dado que es cil obtener la base negativa, es igualmentecil recuperar la positiva; sin embargo, ste no es siempre el caso y dependede los detalles deNDB. El trabajo en (1) demuestra que el problema general derecuperar una base positiva pertenece a la clase de problemas NP-Duros(5), lo que

    TODO MENOS LOS DATOSFernando Esponda*

    L

    U DB U-DB NDB

    000 000001

    001

    01

    100 010 0*0

    010

    011

    011

    100

    101

    101

    110

    111

    111

    110 1*1

    0010100*01 00*1*1

    00001

    000101

    000111

    001101

    001111

    4

    Dos cadenas binarias iguales excepto en una posicin, pueden serrepresentadas por una sola cadena con un comodn en la posicin en

    que dieren. Cuatro cadenas que dieran en slo dos posiciones

    son representadas por una entrada con dos comodines.

    Contina en la pgina 5.

  • 7/23/2019 Newsletter LANIA 51 Y 52

    5/8

    signifca que no se conoce (y se conjetura que no existe) un algoritmo efcientepara lograr esta tarea. En (3) y (6) se investiga como generar bases de datosnegativas que son diciles de revertir.

    APLICACIONESUna base de datos negativa dicil de revertir es potencialmente de utilidad paraaplicaciones en donde los datos de la base original contienen inormacin delicada.Supongamos que se trata de una lista con los nombres de los cien mejores clientesde un banco (los ms ricos, por ejemplo); crear una base negativa irreversiblede esta lista protege los nombres e incluso el nmero de clientes incluidos en lalista. Pero si la lista original no se puede recuperar, de qu sirve, entonces? Unacaracterstica de las bases de datos negativas es que aun cuando son diciles derevertir es cil verifcar si una entrada en particular, un nombre en este caso,est o no representado en ella - una cadena binariaxest representada enNDBsi y slo si existe un registro z en NDB donde para cada posicin el valor dexyzson iguales o el valor de zes * (ver ejemplo en la tabla). De esta orma,usandoNDB, podemos responder a preguntas del tipo Est Julio Regalado en lalista? mientras que preguntas como Quin est en la lista?, Quin de apellidoJimnez est en la lista? o Cuntos nombres hay en la lista? no son posibles decontestar en un tiempo razonable.

    Ms all de poder determinar la existencia de un dato enDB, es posible hacerotro tipo de manipulaciones de la base de datos utilizando nicamente NDB,como insertar y suprimir entradas deDB, as como realizar muchas operacionesdel algebra relacional(4). Por ejemplo, dos compaas, A y B, quieren sabercules clientes tienen en comn, sin revelar el nombre de cualquier otro cliente ysin revelar cuntos clientes tiene cada uno. Una manera de realizar esta operacines mediante el intercambio de las bases negativas correspondientes a sus listasde clientes; la compaa A determina qu clientes tiene en comn con B alestablecer qu nombres de su base de datos (positiva) no estn en la base negativade B. B hace lo mismo. Gracias a que las bases negativas de A y B sondiciles de revertir, los nombres de los clientes que caen uera de la interseccin,as como el tamao de las bases originales, permanecen protegidos.

    Supongamos que adems del nombre se cuenta tambin con el nmero detarjeta de crdito del cliente. Mediante las operaciones descritas en (4), dadas lasbases de datos negativas apropiadas, podemos generar una tercera que representa

    los nombres y nmeros de tarjeta para aquellos clientes que estn registradosen ambas compaas. Podemos tambin restringir los contenidos de dicha basea clientes que tengan slo la tarjeta Visa o Visa y Amex por ejemplo (el tipo detarjeta est determinado en los primeros dgitos de su nmero). Lo que resultainteresante es que todas estas manipulaciones son hechas sin saber el contenidode las bases positivas, es decir, sin saber el nombre de los clientes y sin saber qutarjetas tienen.

    CONCLUSINEn esta nota describ un simple cambio de perspectiva en lo que signifca tenerun dato; desde el punto de vista de la inormacin que representa, lo mismoes almacenar el dato que todos los posibles datos excepto se. Sin embargo,circunstancias donde el dato en s tiene un valor inmediato crean la oportunidadde explotar la representacin alterna para fnes especfcos. En particular, expusecmo se puede aprovechar una representacin negativa de la inormacin pararestringir los usos que se le dan a una base de datos. La tecnologa descrita esnueva pero la evidencia sugiere que tiene un lugar en el mbito de la seguridad deinormacin.

    *Instituto Tecnolgico Autnomo de MxicoCorreo electrnico: [email protected]

    Reerencias:

    1) F. Esponda,Negative Representations o Inormation, PhD Thesis, University o New Mexico.2004.2) F. Esponda, Elena S. Ackley, Stephanie Forrest and Paul Helman,On-line Negative Databases(Extended version). International Journal o Unconventional Computing, Vol.1. pp 201-220. 2005.

    3) F. Esponda, E.S. Ackley, P. Helman, H. Jia, and S. Forrest.Protecting Data Privacy throughHard-to-Reverse Negative Databases. In proceedings o the 9th Inormation Security Conerence(ISC06). Springer LNCS. Pginas 72-84, 2006.4) F. Esponda, S. Forrest and E. Trias.An Algebra or Negative Databases. En revision. 2007.5) M. R. Garey and D.S. Johnson. Computers and Intractability: A Guide to the Theory o NP-Completeness. W.H. Freeman & Company. 1978.6) M. de Mare and R. Wright.Secure Set Membership Using 3SAT. In proceedings o the 8thInternational Conerence on Inormation and Communication Security (ICICS 06). 2006.7) L. Wittgenstein. Carta a Ludwig von Ficker. Octubre. 1919.

    5

  • 7/23/2019 Newsletter LANIA 51 Y 52

    6/8

    or lo general, un equipo de de-sarrollo de sotware est con-

    ormado por personas con distintosroles tales como analista, arquitecto desotware, programador, verifcador de

    calidad, lder de proyecto; aunque enla realidad encontramos situaciones enlas que una sola persona desempeatodos o la mayora de los roles men-cionados.

    Por tal motivo, es recomendableque todos los integrantes de un equipode desarrollo de sotware conozcan elABC para la creacin de sistemas, quese compone de las siguientes ases:1) Recopilacin de requerimientos yanlisis2) Diseo y desarrollo3) Realizacin de pruebas

    4) Liberacin y puesta en marcha. Cadaase conlleva sus propios tiempos y ac-tividades a realizar.

    Pero, qu sucede cuando llegamosal cuarto paso y el sistema se entrega alcliente? En ocasiones el cliente quedainsatisecho porque el sistema no cum-ple con sus expectativas. Es importantemencionar que no podemos sealar aun nico responsable causante de estasituacin no deseada. Existen mltiplesactores que aectan la creacin desotware y muchos de stos se concen-tran en una palabra: cambio. Cambios

    en los intereses del cliente, en el entornoeconmico, socio-poltico, tecnolgico,en el equipo de desarrolladores, entreotros ms, impactan sustancialmenteal producto fnal.

    Ante tales circunstancias, el equipode desarrollo debe hacer su trabajolo sufcientemente exible para poderadaptarse al entorno dinmico delexterior y de esta orma realizar unaconstruccin de sistemas inteligibles,coherentes, descriptivos, uncionalesy efcientes. Una orma de lograrlo esevitando caer en errores de diseo desotware. De acuerdo con Robert C.Martin, existen cuatro indicadores in-terrelacionados sobre problemas en eldiseo de sotware que hay que evitar(malas prcticas)(1):

    RIGIDEZDifcultad de comprensin decdigo, incertidumbre de lasunciones que realizan.(1)

    La experiencia de involucrarse en cdi-go de terceras personas puede resultardesagradable. El programador analista

    ARQUITECTURA DE SISTEMASEN CAPAS

    est propenso a enrentar diversos obs-tculos tales como: 1) un conglomera-do de archivos con nombres sin signi-fcado pagcons, agrtodos, clieli delos cuales se desconoce las unciones

    que realizan 2) los archivos que con-orman al sistema estn dispersos endierentes computadoras y no se sabecul es la versin fnal del cdigo; 3)el cdigo no est documentado, de talorma que es dicil saber con exactitudel objetivo de los mtodos defnidosdentro del cdigo, consecuentementeel seguimiento para la actualizacindel mismo se vuelve una tarea ardua.

    INMOVILIDADReescritura en lugar dereutilizacin.(1)

    Durante el desarrollo de un sistema esrecuente encontrar uncionalidadessemejantes entre los diversos mdu-los que se deben implementar. Entreprogramadores, existe la tendencia decopiar dichas uncionalidades en re-petidas ocasiones y pegarlas en loslugares donde se les necesita (en lugarde implementarlas slo una vez e invo-carlas desde los diversos lugares quelo requieran). El inconveniente de dichatendencia, es que vuelve ms compli-cado el mantenimiento del cdigo yms costosa la realizacin de modif-

    caciones, puesto que en lugar de cam-biar una sola vez el cdigo, se tiene quecambiar por cada copia existente en elsistema.

    VISCOSIDADEs cil hacerlo maly dicil hacerlo bien.(1)

    Esto se manifesta cuando el cdigo delsistema posee instrucciones diciles decambiar debido a la alta dependenciaque tienen con otros componentes desotware. Dentro del argot del progra-mador, el parchar sotware es unaprctica recuente, sucede cuando hayque realizar cambios en poco tiempo aun sistema o sotware existente, dadoque el actor tiempo es de suma impor-tancia, la orma de corregir el cdigoes impropia y es bien sabido que unsotware con demasiados parches tien-de a comportarse de manera errtica.

    FRAGILIDADTodo lo que tocas se rompe,un cambio mnimo en el cdigoimplica problemas.(1)

    Beatriz Gutirrez Almaraz*

    Siguiendo con el cdigo de terceraspersonas, es posible que el programa-dor haya tenido la sensacin de jugarJenga al momento de eectuar cam-bios al cdigo, debido a que no le esposible determinar si dichos cambiosaectarn el rendimiento o la correctauncionalidad del sistema. Cuando elcdigo de un sistema presenta viscosi-dad y rigidez cualquier cambio realiza-do se convierte en una posibilidad deinestabilidad en el sistema. Al progra-

    mador slo le queda crear respaldosy cruzar los dedos para que las mo-difcaciones realizadas no provoquenms problemas de los que intentabanresolver.

    Para evitar las situaciones mencio-nadas y optimizar la ase del diseo desotware se usan dos tcnicas impor-tantes en la ingeniera del sotware: pa-trones y arquitectura de sotware.

    Mientras que la arquitectura desotware describe la orma y estruc-tura del sotware, es decir, sus com-ponentes y cmo estos interactan, unpatrn describe un problema queocurre una y otra vez en el entorno, ypropone una solucin a ese problema,de tal orma que se puede utilizar dichasolucin una y otra vez(2).

    El equipo de desarrollo de sotwarees el responsable de elegir las tcni-cas convenientes para la realizacinde los sistemas encomendados. Si seest pensando en crear un sistema quemantenga separados e independien-tes los diversos mdulos de cdigoque lo conormaran se sugiere el uso

    de un patrn de diseo llamado MVC-Modelo-Vista-Control(Model-View-Control). ste posee tres separacioneslgicas; la primera de ellas conocidacomo Modelo, donde se realiza el ac-ceso a los datos que maneja el siste-ma de inormacin, y que es necesariopara obtener y actualizar la inorma-cin del sistema. Posteriormente apare-ce el Control, donde se localiza la lgicadel negocio y todo el cdigo necesariopara determinar el comportamiento

    del sistema y por ltimo la Vista, que esresponsable del despliegue de la inor-macin solicitada y que posee todos loselementos visuales del sistema con loscuales el usuario podr interactuar.

    A nivel abstracto nos queda claroen-tonces lo que debemos realizar, sepa-rar el cdigo concerniente a la interazdel usuario de todo el cdigo asociadoa las reglas del negocio y de la recupe-racin o actualizacin de datos. Peroan nos queda saber cmo podemoshacerlo?

    Una opcin es utilizarrameworksMVC que acilitan la distribucin delcdigo de nuestro sistema, adems deproveer uncionalidades para la inter-comunicacin entre las separacioneslgicas anteriormente mencionadas.Algunos ejemplos derameworks MVCson: Struts(3), Spring(4), Tapestry(5) yWicket(6).

    Otra opcin es el manejo de laarquitectura en capas (ambas opcio-nes no son excluyentes y pueden serimplementadas a la vez para un solosistema). Considero que el aspecto

    Qu tiene en comn los sistemas de inormacin y las cebollas? Capas. En eecto, las cebollas tienen capas, los sistemas tienen capas,

    aunque, claro est, no a todos les gusta la cebolla,al igual que no a todos les gusta implementar sistemas en capas.

    P

    6

    Contina en la pgina 7.

  • 7/23/2019 Newsletter LANIA 51 Y 52

    7/8

    cin de arquitectura en capas son:v Lleva a la reduccin de costosde mantenimiento de sistemas.Al poder identifcar la arquitectura delsistema y la uncin de cada capa osubcapa contenida es ms sencillo de-terminar el lugar donde se debern e-

    ectuar los cambios solicitados. De talorma que la palabra cambio deja deser sinnimo de inestabilidad en el sis-tema, permitiendo eectuar las actuali-zaciones solicitadas de orma eectiva,sin contratiempos en el menor tiempoposible.v Reutilizacin de cdigo y dis-minucin de tiempos de entrega.Dada la separacin lgica de los di-versos componentes que integran al

    sistema realizado, es posible extraerun componente y utilizarlo en otrosdesarrollos de sistemas que requieranuna uncionalidad similar. El planearel desarrollo de sistemas basados enmdulos independientes permite lareutilizacin de cdigo y la posibilidadde crear una propia biblioteca de ser-

    vicios o uncionalidades que estarndisponibles para desarrollos uturos.Lo cual se convierte en una ventajacompetitiva que permite agilizar lostiempos de desarrollo y entrega de sis-temas solicitados.v Promueve mejores prcticas en-tre el personal.Se incrementa el aprovechamiento delecciones aprendidas hacia otros desa-rrollos de sistemas, esto es, el equipode desarrollo puede aplicar los cono-cimientos adquiridos en otros sistemasque posean caractersticas en comn;

    la transicin de conocimiento se vuelveenriquecedora, ortaleciendo cada de-sarrollo realizado y dando pie al mejo-ramiento de lo aprendido.v Fomenta la especializacin delpersonal.Permite la asignacin de recursos atareas especfcas de acuerdo con lashabilidades de cada integrante delequipo de desarrollo, es decir, si el in-tegrante presenta mayores habilidadesen la creacin de interaces de usuario,ste se encargar de construir la capa

    con la cual el usuario interactuar, siposee mayores habilidades de anlisis,entonces podra enocarse nicamentea la parte de extraccin y actualizacinde datos. Implica un menor esuerzode aprendizaje y promueve la concen-tracin de sus habilidades en sus reasde inters.

    La adopcin de la arquitectura encapas dentro del ambiente laboral enocasiones no es un proceso sencillo. Larazn ms comn de esto es le renuen-cia del personal a cambiar su orma detrabajar; no a todos les gusta moversede su sitio de conort. Sin embargo elcontar con las ventajas de dicha arqui-tectura amerita el esuerzo requeridopor toda la empresa y su personal.

    *Unidad de Desarrollo de Sotware,LANIA.Correo electrnico: [email protected]

    Reerencias:1) Robert C. Martin. Design Principles and

    Design Patterns. www.objectmentor.com2) Roger S. Pressman. Sotware Engineering,

    a Practitioners Approach.Editorial McGraw-Hill, 6ta. edicin.3) Pgina ofcial de struts: http://struts.apache.org/4) Pgina ofcial de spring: http://www.sprin-gramework.org/5) Pgina ofcial de tapestry: http://tapestry.apache.org/

    6) Pgina ofcial de wicket: http://wicket.apache.org/

    clave de la arquitectura de capas ra-dica en su simplicidad, al contemplaruna capa como unaseparacin lgicadel sotware(2). Es responsabilidad delprogramador defnir cules sern losalcances y limitaciones de las capasque decida implementar.

    La implementacin de capas en un sis-tema puede ser tan simple al dividir sucdigo en las tres capas sugeridas porel patrn MVC, o tan complejas al creardentro de cada capa, subcapas que po-seen actividades ms especfcas, lle-vando el diseo del sistema a un nivelms complejo en su estructura peroque acilita la identifcacin de tareas yuncionalidades del sistema.

    Algunas ventajas de la implementa-

    a dinmica del mundo actual exige cada vez ms la solucin de problemascomplejos. Ejemplo de ello son los problemas de optimizacin, que consis-

    ten en encontrar la mejor solucin de entre un conjunto de posibilidades (porejemplo, encontrar el camino ms corto entre dos ciudades unidas por dierentesrutas) y que con recuencia se presentan en reas como el diseo en ingeniera,el control automtico, la calendarizacin de tareas y el ruteo de paquetes en redesde computadoras, entre otras.

    El rea de la investigacin de operaciones orece una gama de tcnicas dise-adas para resolver este tipo de problemas. Pero existen tcnicas alternativas quepermiten obtener una solucin aceptable en un tiempo moderado, aunque singarantizar que sea la mejor solucin posible. A estas tcnicas se les conoce comoheursticas, cuyo uso puede llevar a obtener una solucin aceptablemente buenapara un problema determinado sin invertir mucho tiempo en ello.

    A partir del esuerzo paralelo de tres investigadores con dierentes motivacionesen la dcada de los sesenta, a saber, John Holland en la Universidad de Michigan,Lawrence Fogel en la Universidad de Caliornia en Los ngeles e Ingo Rechenbergen la Universidad Tcnica de Berln, surgi el rea conocida hoy como Computa-cin Evolutiva. La Computacin Evolutiva engloba una serie de tcnicas heursticasbasadas en la teora neo-Darwinista y que emulan de una manera simple la evolu-cin de las especies y la supervivencia del ms apto. En los algoritmos derivadosde dichas tcnicas se representa y evala un conjunto de posibles soluciones a unproblema de optimizacin de acuerdo a un valor de calidad que determina qu tanbuena es una solucin con respecto a otras. Estas soluciones, llamadas individuos,son escogidas de acuerdo a su valor de calidad o aptitud mediante un proceso deseleccin, de orma que las soluciones ms aptas sean las que se reproduzcan, esdecir, generen nuevas soluciones utilizando operadores de variacin (recombinacin)

    Cmputo Bio-InspiradoUna mirada a lo natural

    Efrn Mezura-Montes*

    L

    7

    viene de la pgina 6. ARQUITECTURA...

    Contina en la pgina 8.

  • 7/23/2019 Newsletter LANIA 51 Y 52

    8/8

    l Premio de Investigacin de laAcademia Mexicana de Ciencias

    ue instituido en 1961 y se otorga a in-vestigadores no mayores de 40 aos,que realicen investigacin de punta en

    las reas de ciencias exactas, naturales,sociales, humanidades, ingeniera. Es ladistincin ms importante que otorgala Academia Mexicana de Ciencias yse lo concedieron por vez primeraa un doctor en Computacin. CarlosCoello orm parte del cuerpo deinvestigadores de LANIA de 1997 al2000, a su regreso del doctorado en laUniversidad Tulane en EUA, por lo quenos honra reproducir un extracto de sudiscurso ante la Academia el da de supremiacin. Ver discurso y entrevistacompleta en: @rrob@, Columna Semanalde la Jornada de Oriente del 23 deJunio del 2008.

    En 2007 tuve la ortuna de habersido galardonado con este importantepremio, convirtindome as en el pri-mer computlogo en obtenerlo. Algocurioso es que lo recib en el rea deCiencias Exactas (donde tuve quecompetir contra sicos, qumicos ymatemticos), debido a que el reade Ingeniera y Tecnologa (que amuchos pudiera parecerles un sitioms adecuadopara la computacin),

    slo considera a tecnlogos quecuenten, preerentemente, con paten-tes. La competencia para obtener este

    premio es muy dura, sobre todo si seconsidera que no participan (y nunca

    lo hanhecho) computlogos en ningunade las comisiones evaluadoras. Cabemencionar que particip en tres aosconsecutivos y que el premio lo obtuveen mi ltima oportunidad, justo antesde cumplir el lmite de edad impuestoen la convocatoria, y cuando ya haba

    perdido toda esperanza de ganarlo.Sobra decir que este premio es, sin

    lugar a dudas, un enorme incentivopara continuar nuestra labor comoinvestigadores. Este reconocimiento locompartimos tambin con nuestrosestudiantes y colaboradores, sin cuyo

    apoyo, no estaramos aqu. Y a pro-psito de reconocimientos, uno muyespecial merecen tambin nuestras

    amilias. Pero este da, la elicidad

    eclipsa, aunque sea por un momento,a la realidad. Este da, no pensaremosen las enormes limitantes que debemosenrentar los cientfcos mexicanos

    para poder realizar nuestro trabajo.Este da, nos olvidaremos de los tor-tuosos sistemas de evaluacin a los queestamos sujetos. Este da, pensaremosque somos otro Mxico; un Mxicoen el cual la ciencia se ve como la

    puerta al desarrollo. Slo quisieraque este da no se acabara, si bien

    mi entrenamiento como cientfco,me impide ignorar la ingrata certezade que esta ilusin no vivir hastamaana.

    * El Dr. Carlos Artemio Coello Coello,ex-investigador de LANIA, es miembrodel Sistema Nacional de InvestigadoresNivel 3, especialista en optimizacinevolutiva, egresado de la UniversidadAutnoma de Chiapas y actualmente esinvestigador y jee del Departamentode Ingeniera Elctrica, Seccin deComputacin del CINVESTAV.

    e-mail: [email protected]://delta.cs.cinvestav.mx/~ccoello/

    Carlos Coello: Premio de InvestigacinCientfca de la Academia Mexicana

    de Ciencias 2007*

    Diseoeilustracin:SusanFlaherty

    Impresin:OffsetRebosan

    y mutacin principalmente). Estos operadores son manipulaciones aleatorias dealgunas de las partes de los individuos ms competitivos y emulan la transmisinde caractersticas entre padres y descendientes. Finalmente, mediante un procesode reemplazo se elige de entre padres e hijos a los que sobrevivirn para ormarparte de la poblacin de la siguiente generacin (una iteracin).

    Gracias a su simplicidad conceptual y de implementacin, los algoritmos evo-lutivos han sido ampliamente aplicados en problemas donde los mtodos de lainvestigacin de operaciones no han podido proporcionar soluciones competitivas

    o bien su aplicacin se considera complicada.Desde fnales de los aos ochentas hasta mediados de los noventas surgen,

    con dierentes motivaciones, otras tcnicas evolutivas: la programacin genticay la evolucin dierencial. La primera, gracias al uso de estructuras de rbol pararepresentar soluciones, se orienta a la optimizacin simblica (optimizacin decdigo o de circuitos lgicos combinatorios, entre muchas otras aplicaciones),mientras que la segunda se dise con base en elementos propios de la optimiza-cin clsica en un esquema evolutivo con vistas a resolver problemas de optimi-zacin numrica.

    Hacia mediados de los aos noventas, el rea del cmputo evolutivo se extien-de al surgir nuevos modelos inspirados en otros enmenos encontrados en lanaturaleza, dierentes de la evolucin de las especies. Tales propuestas han sidoagrupadas en un rea conocida como inteligencia colectiva (en ingls, SwarmIntelligence). En ella se distinguen dos paradigmas seminales: laoptimizacin

    mediante enjambre de partculas (Particle Swarm Optimization, o PSO) y lacolonia de hormigas. La optimizacin mediante enjambre de partculas estbasada en las coreograas que orman algunas aves al moverse de un lugar aotro. Existe en ese caso un lder que gua a la parvada, pero sus integrantes secomunican entre ellos y cada uno toma decisiones de acuerdo con su propio co-nocimiento y con el comportamiento de sus vecinos. En cambio, en la colonia dehormigas se plantea la modelacin de dierentes comportamientos cooperativosencontrados en algunos tipos de especies de hormigas. El modelo ms conocidoes el Ant System, que emula el comportamiento de orrajeo, o bsqueda decomida, de las hormigas al salir del nido, de orma que encuentran el caminoms corto entre su nido y la uente de comida. Esto se realiza mediante la comu-nicacin indirecta entre hormigas mediante el depsito de una sustancia llamadaeromona, que se va evaporando con el tiempo. Las hormigas que vienen detrs

    darn preerencia a los caminos ms cargados de eromona.Recientemente se han propuesto nuevos algoritmos basados en comportamien-

    tos sociales en grupos de seres vivos simples, que en conjunto pueden resolverproblemticas muy complejas. Ejemplo de ello es lacolonia artifcial de abejas,que emula la bsqueda del nctar de las ores por parte de esos insectos. Alinterior de la colmena se da una comunicacin mediante danzas que indican ladireccin y calidad de las uentes de alimento. De esta manera, las abejas son ca-paces de concentrar la bsqueda en las zonas donde las uentes de alimento sean

    ms abundantes.La optimizacin mediante enjambre de lucirnagas es otro modelo pro-

    puesto recientemente. En l, las lucirnagas se comunican unas a otras mediantela intensidad de su luz, de orma que las que estn ubicadas en zonas con mejorescondiciones, atraern al resto. Adems, cada lucirnaga cuenta con un radio devisibilidad determinado, por lo que este algoritmo avorece la ormacin de gru-pos, lo que se lleva muy bien con la optimizacin multimodal, donde se busca en-contrar dierentes soluciones, todas de buena calidad. Laoptimizacin medianteel orrajeo de bacterias es otra propuesta reciente. Los movimientos originadospor los agelos de la bacteriaE. Coli le permiten nadar o cambiar de direccindependiendo de lo avorable que sean las condiciones de la zona del ambiente enla que se encuentre. Este proceso ha sido modelado e incluido en un algoritmo debsqueda en espacios complejos. Dentro de esta propuesta tambin se consideranelementos de reproduccin y eliminacin de bacterias.

    En el Laboratorio Nacional de Inormtica Avanzada, en Xalapa, Veracruz, secuenta con un grupo de trabajo dedicado al estudio, diseo y aplicacin de estetipo de tcnicas heursticas, englobadas bajo el nombre de cmputo bio-inspirado,a problemas prcticos. Actualmente se tienen aplicaciones exitosas en reas comoel control automtico, el diseo mecnico, el diseo electrnico y el registro deimgenes mdicas.

    Sin duda, el cmputo bio-inspirado un rea joven dentro de la InteligenciaComputacional es terreno rtil para la investigacin bsica y aplicada, y en eluturo cercano se vislumbra un crecimiento de la comunidad especializada enMxico, que lleva a cabo anualmente una conerencia sobre el tema, desde 2003,y cada vez atrae ms el inters de investigadores y estudiantes.

    *LANIA. Correo electrnico: [email protected]

    8

    viene de la pgina 7. CMPUTO...

    E

    Laboratorio Nacional de Informtica Avanzada, LANIA A.C.

    Rbsamen 80, Col. Centro, A.P. 696, Xalapa, Veracruz 91000, Mxico.

    Tels: (52) (228) 841-6100 Fax: (52) (228) 841-6101

    Direcciones electrnicas: [email protected] http://www.lania.mx/

    DIRECTORIO

    INVESTIGADORES YCOLABORADORES

    Julio Csar Aguilar CabreraEdgard Ivn Bentez Guerrero

    Beatriz Gutirrez AlmarazErn Mezura Montes

    Miguel Angel Ponce RuzEricka Janet Rechy Ramrez

    Miguel Angel Snchez Martnez

    Mauricio Aranda SolaresIvn Gutirrez GuevaraLeticia Medina Salazar

    Luis Guillermo Osorio Hernndez

    DIRECTOR GENERALCristina Loyo Varela

    DIRECTORA DE OPERACIONESCora Beatriz Excelente Toledo

    DIRECTOR DE EDUCACINPedro Nolasco Vzquez

    ADMINISTRACINMara Contreras

    SOPORTE TCNICOJuan Manuel Gutirrez Mndez

    PRESIDENTE DEL COMIT TCNICODEL FIDEICOMISOSergio Autrey Maza

    Edicin a cargo de:Cora B. Excelente