viernes, 18 de abril de 2008

Microarreglos de ADN

Un microarreglo de ácido desoxirribonucléico (ADN) es una superficie sólida a la cual se unen una serie de fragmentos de ácido desoxirribonucléico. Las superficies empleadas para fijar el ácido desoxirribonucléico son muy variables y pueden ser vidrio, plástico e incluso chips de silicio. Los arreglos de ácido desoxirribonucléico son utilizados para averiguar la expresión de genes, monitorizandose los niveles de miles de ellos de forma simultanea.

La tecnología del microarreglo de ácido desoxirribonucléico consiste en el desarrollo de una técnica bastante usada en biología molecular. Con esta tecnología se puede observar de forma casi instantánea la expresión de todos los genes del genoma de un organismo. De tal forma que suelen ser utilizados para identificar genes que producen ciertas enfermedades mediante la comparación de los niveles de expresión entre células sanas y células que se encuentran desarrollando ciertos tipos de enfermedades. Los microarreglos de ácido desoxirribonucléico son fabricados usando una gran variedad de tecnologías. El gran desarrollo de esta técnica ha llegado a utilizar robots, que son los que realizan el trabajo de alinear cada uno de los genes en puntos que se separan unos de otros por distancias microscópicas.

Los microarreglos de ácido desoxirribonucléico se pueden usar para detectar ácido ribonucléico, que puede o no ser traducido a proteínas. Los científicos se refieren a esta clase de análisis como “análisis de expresión”. En los cuales pueden ser analizados desde diez a miles de genes, pero cada experimento de microarreglo de ácido desoxirribonucléico debe llevar adjunto los análisis genéticos en paralelo. Los microarreglos de ácido desoxirribonucléico han acelerado de todas formas muchas investigaciones. El uso de estos microarreglos para estudiar la expresión de diversos genes fue publicado el año 1995, en la prestigiosa revista científica "Science" y el primer organismo eucariota con todo el genoma Saccharomyces cerevisiae dispuesto en un microarreglo de ácido desoxirribonucléico fue publicado en 1997 en la misma revista.

Los microarreglos de ácido desoxirribonucléico pueden ser utilizados para “leer” las secuencias de un genoma particular en determinadas posiciones. Los arreglos de polimorfismos de nucleótidos simples son un tipo particular de matrices que son usadas para identificar variaciones individuales y a través de poblaciones. Los oligonucleotidos pequeños son capaces de identificar polimorfismos de un sólo nucleótido que podrían ser los responsables de variaciones genéticas dentro de una población, la fuente de susceptibilidad a distintas enfermedades genéticas e incluso a ciertos tipos de cáncer. En general, la aplicación de estas técnicas de genotipado es forense, ya que son rápidas en descubrir o medir la predisposición de enfermedades o incluso permitir el uso de ciertos medicamentos para tratar ciertas enfermedades según sea el ácido desoxirribonucléico del enfermo o donante. Los microarreglos de ácido desoxirribonucléico correspondientes a nucleótidos simples son también utilizados para la identificación de mutaciones somáticas en el cáncer, sobre todo la perdida de heterocigosis, la amplificación o la atenuación de regiones de ácido desoxirribonucléico en el genoma individual de pacientes afectados, es decir la detección de aberraciones cromosómicas.

Existen muchas variedades de microarreglos de ácido desoxirribonucléico o chips de ácido desoxirribonucléico como también se los denomina. Desde los microarreglos “artesanales” realizados en el laboratorio a los ofrecidos por compañías de biotecnología, el principio que rige su diseño es el mismo: la complementariedad de las cadenas aisladas de ácido desoxirribonucléico o la propiedad de las citadas cadenas de hibridarse con otras cadenas aisladas de ácido desoxirribonucléico que posean una estructura complementaria. Básicamente un microarreglo consiste en una matriz de “pocillos” microminiaturizados sobre un substrato de vidrio en donde se implantan, utilizando diversas técnicas, cadenas simples de oligonucleótidos. El poder adherir una cadena corta de oligo sobre una superficie plana es decisivo en el diseño de los microarreglos.

En la fabricación de microarreglos se emplean técnicas fotolitográficas análogas a las utilizadas en microelectrónica. Un sustrato de vidrio se trata químicamente con determinados grupos reactivos para permitir la implantación de los oligonucleótidos sobre el mismo; a continuación se deposita sobre el substrato una película fotodegradable y mediante la utilización de una plantilla y un haz luminoso, se crea la estructura de celdas del microarreglo. Existen dos técnicas para acoplar los oligos a cada una de las celdas: (1) Implantar en cada celda, mediante un brazo robotizado, el oligonucleótido presintetizado que corresponda. (2) Sintetizar en las propias celdas, mediante ciclos sucesivos de síntesis, los oligonucleótidos correspondientes.

El proceso de síntesis “in situ” de los nucleótidos en el microarreglo se realiza en las siguientes fases: (1) Elaboración previa de un mapa de distribución del tipo de oligonucleótido correspondiente a cada celda del microarreglo. (2) Preparación del sustrato y deposición de una película fotodegradable. (3) Aplicación de una máscara que permita eliminar selectivamente la película protectora en las zonas del microarreglo correspondiente a un determinado nucleótido. (4) Incubación química y acoplamiento del nucleótido previsto. (5) Una nueva capa fotodegradable es aplicada sobre el microarreglo. (6) Se repiten los pasos anteriores para cada nucleótido hasta obtener la secuencia prevista (7) Se elimina definitivamente la película fotodegradable (10).

Las pruebas genéticas son procesos que sirven para encontrar anomalías o mutaciones en el ácido desoxirribonucleico, de una persona, vinculadas a cierta enfermedad o trastorno. Las pruebas genéticas, aunque son una herramienta muy reciente, se han convertido en una disciplina bastante amplia, con un gran número de diferentes aplicaciones en la investigación del cáncer; desde detectar personas con una predisposición genética, normalmente heredada, para desarrollar un cáncer, hasta pronosticar el comportamiento de un tumor. En la actualidad se dispone de un tipo diferente de prueba genética basada en la actividad del genoma que descubre los aspectos críticos del comportamiento de la célula tumoral. El mismo examina también otro tipo de portador de información, el ácido ribonucléico. El ácido ribonucléico revela la actividad de los genes en el tumor. Ya que el comportamiento del tumor está determinado por la actividad de sus genes, se puede obtener información muy importante sobre este comportamiento analizando el ácido ribonucléico del tumor. El uso de microarreglos de ácido desoxirribonucléico para analizar la actividad genética en muestras individuales de tumor permite obtener información sobre el lugar de origen del cáncer, o información sobre su posible comportamiento.

El ácido desoxirribonucléico que se encuentra en cada célula del cuerpo humano contiene los mismos 25000 genes, aunque su actividad es cambiante en cada célula. La actividad de los genes determina el comportamiento de una célula, ya que los genes que expresan se traducen por medio del ácido ribonucléico mensajero a proteínas de la célula. Las proteínas determinan casi todos los aspectos de la vida. De esta forma, los cánceres de mama más agresivos siguen pautas diferentes de actividad genética que otros cánceres de mama menos agresivos, por lo tanto es posible determinar el grado de agresividad de un cáncer de mama si se estudia la actividad de los genes en el cáncer. El año 2002, los investigadores Van't Veer, Bernards, van de Vijver y Friend publicaron sendos artículos en las revistas Nature y New England Journal of Medicine, acerca de un método de determinación de perfil genómico basado en ácido ribonucléico mensajero que pronostica el desarrollo clínico del cáncer de mama por medio de microarreglos de ácido desoxirribonucléico.

La técnica de reparación clásica o, de manera general, el experimento con la tecnología basada en microarreglos, consta de los siguientes pasos: (1) Diseño. (2) Fabricación. (3) Preparación de la muestra. (4) Hibridación y lavado. (5) Revelado. (6) Almacenamiento de resultados. (7) Análisis de resultados. Se destaca que en este punto se aplica una mayor cantidad de elementos de software bioinformático destinados a la extracción de conocimiento del experimento realizado.

Guillermo Choque Aspiazu
www.eldiario.net
Marzo 10 de 2008

Tipos de Aprendizaje Genético

Los algoritmos genéticos representan una de las técnicas inteligentes más utilizadas en la actualidad, principalmente por su versatilidad y notables resultados prácticos. Uno de los temas que más atención ha recibido por parte de la comunidad científica, que experimenta con tales técnicas, es el aprendizaje artificial, disciplina que estudia el proceso de aprendizaje en general, haciendo énfasis en la traslación a las computadoras de lo conocido sobre dicho proceso en los seres vivos. El problema fundamental es que los agentes artificiales, con frecuencia, deben operar en ambientes no deterministas, dinámicos y bastante complejos, por lo que no resulta factible incorporar a priori todo el conocimiento requerido para un rendimiento aceptable; en ocasiones, tal conocimiento ni siquiera se encuentra disponible con antelación. Por ende, resulta imperativo que el agente aprenda sobre el ambiente, utilizando las nuevas percepciones y el conocimiento que posee. Dependiendo de los mecanismos de inferencia a los que recurra el agente, el proceso puede catalogarse como deductivo, inductivo, o abductivo. En este contexto, el algoritmo genético aporta su gran potencial en el manejo de poblaciones de deducciones, observaciones e hipótesis, con las ventajas del paralelismo implícito, y del refinamiento y descubrimiento de información.

Para la descripción de las aplicaciones del aprendizaje deductivo, se utiliza un algoritmo genético en el proceso de generación evolutiva de rostros, con aplicaciones inmediatas en la criminalística, específicamente en la reconstrucción de rasgos faciales. La población inicial es un conjunto de imágenes faciales con los rasgos deseados, y a través de la evolución, se crean nuevos rostros que combinan los rasgos transmitidos por los progenitores. En este mismo contexto, resulta posible agilizar la búsqueda si se dispone de información que pueda indicar al algoritmo genético cuáles imágenes deberían combinarse con preferencia. El proceder es deductivo por cuanto se trata de obtener nuevas imágenes a partir de la combinación de la información más general representada por las imágenes de la población inicial. Esto es precisamente lo que se hace en algunos trabajos, donde se incorporan restricciones geológicas y geométricas a los operadores genéticos, para la interpretación de datos sísmicos. En ambos casos, las imágenes construidas de manera deductiva han resultado ser bastante útiles en la práctica.

En el ámbito de la lingüística computacional, se emplea el aprendizaje deductivo para resolver la cuestión de la ambigüedad de palabras en textos en lenguaje italiano, y para la conversión de un texto en una secuencia de categorías gramaticales. En este caso, las poblaciones representan árboles de categorías gramaticales, y a través de modificaciones a los mismos, también se trata de inducir nuevas reglas de clasificación gramatical. Una muy reciente aplicación de los algoritmos genéticos ha sido dirigida hacia el aprendizaje deductivo y abductivo de las relaciones en las organizaciones humanas, mucho más complejas que las artificiales. Dicha propuesta recibe el nombre de “algoritmo genético basado en humanos”, que trata de un enfoque evolutivo del modelado organizacional. A diferencia del enfoque netamente abductivo, el algoritmo genético basado en humanos confiere al ser humano los roles tanto de crítico como de creador, y todos los operadores genéticos se desarrollan con la intervención de las personas. Se parte con un modelo, y a través de la evolución, el propio algoritmo genético y los miembros de la organización aprenden sobre la misma, considerando las definiciones a priori del modelo, relacionadas con la deducción, y las nuevas hipótesis de funcionamiento organizacional, relacionadas con la abducción.

Enmarcado en la disciplina de lingüística computacional, Echizenya y sus colegas, el año 2001, presentaron un estudio para la traducción al inglés de textos en japonés. Lo relevante es que el algoritmo genético crea las instancias para la inducción de las reglas de traducción. Los algoritmos genéticos también han sido combinados profusamente con otras técnicas de computación inteligente con el propósito de extender el alcance del proceso de aprendizaje. Una de tales combinaciones recibe el nombre de “aprendizaje genético difuso”, y se encarga de reunir reglas difusas con la inferencia evolutiva. Los algoritmos genéticos también se emplean en el contexto de sistemas de bases de datos, para extender un sistema clasificador con reglas difusas y múltiples funciones objetivo. No obstante, el aprendizaje inductivo de este tipo de sistemas se dificulta por la aparición de un elevado número de características que incrementan la dimensión del problema. La dificultad surge del crecimiento exponencial del espacio de búsqueda de reglas difusas. Para abordar esta cuestión, se presenta un proceso de selección genética de características que puede integrarse en un sistema genético de aprendizaje por varias etapas. El estudio se destaca por el uso de las características, que permiten reducir el espacio de búsqueda, y por los resultados en cuanto a la descripción de sistemas con reglas difusas.

Por su parte, la combinación de redes neuronales y algoritmos genéticos recibe el nombre de “neuroevolución”, cuyo problema típico es la determinación del número de capas y nodos, tarea en la que el algoritmo genético puede desenvolverse como una buena heurística. Se emplea la neuroevolución para el refinamiento de redes neuronales expertas, que son redes que no sólo calculan la respuesta, sino también un estimado de lo correcta que es dicha respuesta. Se utiliza un enfoque evolutivo con las redes neuronales para ayudar a mejorar la tolerancia a fallos de las redes en cascada. Los resultados también muestran un incremento en la capacidad de generalización de la red. Por último, se propone una extensión a la neuroevolución basada en la cultura. El proceso de cultura es la transmisión de comportamiento de una población a otra, a través de algún mecanismo no genético. La cultura proporciona enormes ventajas para la supervivencia en el mundo biológico, y al trasladar el concepto a la neuroevolución, se demuestra que es posible obtener mejoras en la velocidad de aprendizaje y en la calidad de la solución, con el agregado adicional de una operación sin cambios en la función de adaptabilidad.

Se revisa el aprendizaje abductivo en el ámbito musical, en el que las composiciones se abordan bajo la figura de hipótesis asociadas a preferencias musicales. En este ámbito se presenta un ambiente virtual complejo, habitado por agentes sónicos, con capacidad para oír y generar sonidos. El sistema mantiene retroalimentación con una audiencia humana, y los agentes evolucionan para conservar lo más que puedan el interés de dicha audiencia. El resultado inmediato de la evolución es la hipótesis que cada agente ofrece sobre las preferencias musicales de la audiencia, codificadas bajo la forma de reglas muy complejas. Además, la investigación cambia el proceder de la teoría evolutiva de Darwin por la teoría de Lamarck, para acelerar la obtención de hipótesis musicales satisfactorias.

Por otra parte, Hamel en los años 1990, combina la programación lógica inductiva, el aprendizaje de conceptos, la programación genética y la lógica de ecuaciones, para definir una nueva área, la programación lógica ecuacional inductiva. Estos sistemas proceden a partir de una población de teorías candidatas, cuya adaptación se encuentra supeditada a lo bien que puedan explicar los ejemplos. Es decir, con el enfoque evolutivo se promueve la subsistencia de las mejores hipótesis. Se presenta también un nuevo enfoque para el reconocimiento de regiones promotoras de genes eucarióticos. Se considera un enfoque abductivo por cuanto el algoritmo genético efectúa la búsqueda de una partición óptima de la región de promotores de los genes, con el propósito de obtener fragmentos que no se sobrepongan para seleccionar las frecuencias significativas de dinucleótidos que aparecen en los mismos. El algoritmo genético demostró ser muy eficiente comparado con los modelos de cadenas de Markov, con las redes neuronales y otras técnicas de análisis discriminante.

Para finalizar este apretado análisis, el año 2004 se presentó un sistema de detección de intrusos de nueva generación, basado en aprendizaje abductivo con algoritmos genéticos. El sistema incorpora una matriz causal que indica, para diversos tipos de ataques, los síntomas que presenta la red. La idea es considerar la red como un ser biológico, que comienza a funcionar mal, y a partir de los síntomas se intenta proponer una explicación de la anomalía. El algoritmo genético opera sobre poblaciones de hipótesis, con una función de evaluación difusa, que considera como mejores individuos a aquellos que proporcionen una buena explicación sobre el ataque que experimenta la red.

Guillermo Choque Aspiazu
http://www.eldiario.net/
Marzo 3 de 2008

Aprendizaje Hebbiano

Desde una óptica conductista aprendizaje significa “cambios adaptativos en el sistema para que realice la misma tarea u otra de la misma clase, con mayor eficacia en la siguiente ocasión”; Se dice que un programa aprende de la experiencia E con respecto a una clase de tareas T y medida de rendimiento P si su rendimiento sobre tareas de T, medido por P, mejora con la experiencia E”. En términos aceptados, al interior del dominio de las redes neuronales artificiales, se considera que las características generales del aprendizaje son las siguientes: (1) Se dice que las células no son individualmente “inteligentes”. (2) La “inteligencia” reside en la estructura de la red neuronal. (3) El aprendizaje tiene lugar mediante la modificación de los pesos asociados a las neuronas. (4) La regla de aprendizaje señala la importancia del algoritmo de cambio de pesos con base en ejemplos. (5) Se dice que un ejemplo consiste en una entrada y su salida correcta.

El aprendizaje implica que el elemento de proceso cambia su comportamiento de entrada/salida en respuesta a un entorno. La salida se calcula como el resultado de una función de transferencia de la entrada ponderada. En el caso más simple se multiplica el elemento de cada entrada particular por su peso y se suma, o, lo que es lo mismo, se haya el producto escalar. El elemento de proceso toma este valor y aplica la función de transferencia para calcular la salida. Normalmente la función de transferencia se fija al construir el elemento y para cambiar la salida en un momento, hay que cambiar los pesos. Así las redes aprenden cambiando los pesos de las entradas. La ley de aprendizaje define precisamente cómo cambiar los pesos como respuesta a una entrada y salida dada. El aprendizaje puede ser supervisado o no. El aprendizaje supervisado significa que la red tiene alguna entrada aparte presente durante el aprendizaje para decirle cuál debería haber sido la respuesta correcta. Las redes entonces tienen un medio para determinar si su salida fue correcta o no, y saben como aplicar su ley de aprendizaje para ajustar sus pesos. El aprendizaje no supervisado significa que la red no tiene conocimiento de la respuesta correcta, y así no puede saber con exactitud la respuesta correcta.

El aprendizaje asociativo, como parte del aprendizaje no supervisado, fue inicialmente estudiado por escuelas de psicología, las cuales se dedicaron al análisis de las relaciones entre el comportamiento humano y el comportamiento animal. Una de las primeras influencias en este campo fue el experimento clásico de Pavlov, en el cual se entrenó a un perro para salivar al escuchar el sonido de una campana si le era presentado un plato de comida, este es un ejemplo del llamado “condicionamiento clásico”. Otro de los principales exponentes de esta escuela fue B.F. Skinner, su experimento involucró el entrenamiento de ratas, las cuales debían presionar un botón para obtener comida, a este tipo de entrenamiento se denomino “condicionamiento instrumental.” Basado en este tipo de comportamiento, Donald Hebb postuló el siguiente principio conocido como la regla de Hebb: “Cuando un axón de una celda A está lo suficientemente cerca de otra celda B como para excitarla y repetidamente ocasiona su activación, un cambio metabólico se presenta en una o ambas celdas, tal que la eficiencia de A, como celda excitadora de B, se incrementa”. Con el término celda, Hebb se refería a un conjunto de neuronas fuertemente conectadas a través de una estructura compleja, la eficiencia podría identificarse con la intensidad o magnitud de la conexión, es decir el peso. Según la regla de aprendizaje de Hebb, la actividad coincidente en las neuronas présináptica y postsináptica es crítica para fortalecer la conexión entre ellas, a esto se denomina mecanismo asociativo pre-post.

Las primeras aportaciones destacables, al estudio de las redes neuronales artificiales, provienen de la neurofisiología: Luria, Lashley y Hebb se enfrentaron a las doctrinas dominantes a finales del siglo XIX, doctrinas que defendían el carácter localista del almacenamiento y de las funciones del cerebro; frente a estas doctrinas defendieron una concepción distribuida de los sistemas de procesamiento y memoria del cerebro. De los tres autores citados es sin duda Donald Hebb el más importante en relación con el desarrollo del conexionismo, particularmente a partir de su libro titulado “La organización de la conducta”, publicado en 1949. Hebb defendió la conexión entre psicología y fisiología, propuso la tesis del carácter distribuido de la información en unidades informativas y formuló uno de los primeros procedimientos de aprendizaje: si un conjunto de neuronas conectadas entre sí se activan repetidamente, sus sinapsis aumentan su conductividad, o de otro modo: conjuntos de neuronas sincrónicamente activadas tienden a organizarse en conjuntos conectados.

Donald Olding Hebb (1904-1985) fue durante el curso de su vida, una figura extraordinariamente influyente para la psicología. Su oposición de principios al conductismo radical y el énfasis por entender qué ocurre entre el estímulo y la respuesta ayudaron a despejar el paso a la revolución cognitiva. Su perspectiva de la psicología como una ciencia biológica y su propuesta neuropsicológica de ensamblados celulares rejuvenecieron el interés por la psicología fisiológica. Desde su muerte, las ideas seminales de Hebb ejercen una influencia en continuo aumento en aquellos que están interesados en la ciencia cognitiva, neurociencia y cómo el cerebro pone en marcha a la mente. Para Hebb “el problema para comprender el comportamiento es el problema de comprender la acción total del sistema nervioso, y viceversa”, la defensa de un esfuerzo interdisciplinario para solucionar este problema neuropsicológico fue su asunto más general. Cuándo el libro de Hebb fue publicado, la psicología fisiológica estaba en declinación y había un movimiento creciente dentro de la psicología para rechazar los conceptos fisiológicos. Los estudios de Hebb marcaron un cambio de dirección de esta tendencia.

La alternativa atractivamente simple de Hebb fue explicar tanto el comportamiento humano y animal como el pensamiento en términos del dispositivo actual que los produce; en el libro mencionado, Hebb presentó justamente algo semejante a una teoría neuropsicológica, con tres postulados esenciales: (1) Las conexiones entre neuronas aumentan en eficacia, en proporción al grado de correlación entre la actividad pre y post sináptica. En palabras de Hebb: “Cuando un axón de la neurona A está lo suficientemente cerca de excitar a B y repetida o persistentemente toma parte en su activación, se produce algún proceso de crecimiento o de cambio metabólico en una o en ambas células tanto que el rendimiento de A como el de las células activadas B, son aumentadas”. En neurociencia, las sinapsis que se comportan según esta propuesta son conocidas como las “sinapsis de Hebb ", mientras que en ciencia cognitiva este postulado, a menudo llamado la “regla de Hebb”, la cual proporciona algoritmo de aprendizaje básico para ajustar las cargas de conexión en los modelos de redes neuronales artificiales. (2) La actividad de los grupos de neuronas que tienden a excitar en forma conjunta a células ensambladas puede persistir después del acontecimiento que desencadena y sirve a bosquejar. Esta propuesta, ilustrada por Hebb en forma esquemática, es considerada por algunos como la contribución conceptual más importante de Hebb. (3) El pensamiento es la activación secuencial de conjuntos de células ensambladas, que constituye el tercer postulados esencial de Hebb.

Hebb redujo los tipos de evidencia fisiológica en 2 categorías principales: (1) La existencia y propiedades de la actividad cerebral continua; (2) La naturaleza de la transmisión sináptica en el sistema nervioso central. Hebb combinó estos dos principios para desarrollar una teoría de cómo ocurre el aprendizaje dentro de un organismo. Propuso que estimulación repetida de receptores específicos lleva lentamente a la formación de “células ensambladas” lo cual puede actuar como un sistema cerrado después que la estimulación ha cesado. Esta actividad cerebral continua sirve solo como prolongación del tiempo para cambios estructurales que ocurren en el aprendizaje, sino también como la más simple instancia de un proceso representativo. El concepto más importante del trabajo de Hebb fue su declaración formal de cómo puede ocurrir el aprendizaje. El aprendizaje estaba basado en la modificación de las conexiones sinápticas entre neuronas. Específicamente: cuando un axón de la célula A está lo suficientemente cerca para excitar una célula B y repetida o persistentemente toma parte en activarla, algún proceso o cambio metabólico toma lugar en una o ambas células tal que la eficiencia de A, como una de las células que activa B, es incrementada. Los principios subyacentes a esta declaración han llegado a ser conocidos como aprendizaje Hebbiano y puede ser descrito como un mecanismo interactivo local, altamente interactivo, con un tiempo dependiente que incrementa la eficacia sináptica como una función de la actividad pre y post sináptica.

Guillermo Choque Aspiazu
www.eldiario.net
Febrero 25 de 2008

Lógica Trivalente

La lógica es el estudio de la estructura y de los principios del razonamiento correcto e intenta establecer los principios que garantizan la validez de los argumentos deductivos. Trabaja con proposiciones, las que constituyen descripciones del mundo, afirmaciones o negaciones de sucesos posibles. La lógica clásica establece que una proposición solamente puede tomar una y sólo una de dos alternativas: es totalmente verdadera o es totalmente falsa. Esta idea se formaliza mediante dos principios fundamentales: (1) Principio del tercero excluido. Que menciona, toda proposición es verdadera o falsa y no cabe otra posibilidad. (2) Principio de no contradicción. Que establece, ninguna proposición es verdadera o falsa simultáneamente. La lógica clásica es bivalente: si/no, verdadero/falso, blanco/negro, citadino/campesino. Esta lógica, profundamente arraigada en la cultura occidental, permitió el desarrollo de la ciencia y la tecnología en procura de la conquista del mundo natural. Sin embargo, una serie de paradojas e “insatisfacciones” teóricas estuvieron siempre presentes.

El sistema de la lógica “clásica” es un sistema regido por la ley de la bivalencia, según la cual toda oración enunciativa o proposición, siguiendo a Aristóteles, es o bien verdadera o bien falsa. Ello quiere decir desde la abstracción del cálculo formal, que el conjunto de los valores consta ni más ni menos que de dos elementos. La lógica polivalente hace referencia a sistemas formales con más de dos valores, de ahí que reciba este nombre de lógica no-clásica o lógica no-aristotélica, guiados, sin duda quienes le aplican este último calificativo, por el famoso pasaje de De Interpretatione, si bien tal denominación no es correcta, dado que fue precisamente Aristóteles en la obra mencionada el primero que puso en tela de juicio la ley de la bivalencia por lo que se refiere a cierto tipo de proposiciones, cuales son las que se refieren a futuros contingentes como es si “mañana habrá una guerra civil”, para seguir el ejemplo de Aristóteles.

Es discutible si existen indicios de lógica trivalente en Aristóteles, futuros contingentes, o en Guillermo de Ockham, conocimiento distinto o conocimiento confuso, pero el hecho cierto es que la primera lógica trivalente fue desarrollada por Vasilev en 1909 eliminando el principio del tercio excluso de la lógica aristotélica. No obstante se reconoce como primer creador de la lógica trivalente a Luckasiewicz, quien en 1920 propuso tres valores de verdad para las proposiciones: verdadero, falso e indeterminado. La confección de las tablas de verdad de los conectores, aparte de ser más extensa, debía definirse con precisión, sobre todo por lo que respecta a las intersecciones con el indeterminado, en el que caben varias soluciones, todas ellas razonables. El propio Lukasiewicz y Tarski elaboran lógicas infinitovalentes con posterioridad. En este contexto la lógica difusa no ha podido ser plenamente axiomatizada hasta que no se ha contado con el concepto de conjunto difuso. La idea es simple: para cualquier elemento de un conjunto, su condición de pertenencia está dada por una función m(x). Cuando m(x) toma sólo dos valores, 1 (pertenece) y 0 (no pertenece), entonces se está ante un conjunto ordinario; cuando m(x) puede tomar cualquier valor dentro del intervalo discreto [0,1], entonces se está ante un conjunto difuso.

Lukasiewicz, como resultado de una meditación sobre el “Peri Hermeneias” de Aristóteles, describió un sistema en que las proposiciones, además de verdaderas o falsas, podrían ser indeterminadas; en términos técnicos construyó una lógica trivalente en vez de bivalente. Autores como Post escribieron sobre lógicas de muchos valores de verdad, es decir, polivalentes. Otros lógicos experimentaron con sistemas que no incluían el concepto de negación. Con todo esto se modifica el mismo concepto de axioma. En el caso de Principia Mathematica, los axiomas no son lo que es mejor conocido que las conclusiones. Las relaciones matemáticas, por ejemplo, 3+5=8, son mucho más obvias que la definición de número o las proposiciones acerca de conjuntos. Asimismo el principio de no contradicción es más evidente que el llamado principio de suma, aunque formalmente el principio de no-contradicción no es axiomático, sino derivado en Principia Mathematica. El axioma se ha convertido en un medio de economía intelectual. Se hace una especie de juego lógico en el que se pretende obtener el mayor número de conclusiones posibles del menor número de principios posibles.

La lógica aristotélica, al operar sobre la base de que toda proposición es o bien verdadera o bien falsa, distingue sólo dos tipos de valores lógicos: la verdad y la falsedad. Si se simboliza la verdad, la falsedad, la identidad y la implicación, se puede deducir todas las leyes de la lógica aristotélica a partir de los siguientes principios y definiciones: (1) Los principios de identidad de la falsedad, de identidad de la verdad y de no identidad de la verdad y la falsedad. (2) Los principios de la implicación. (3) Las definiciones de negación, adición y multiplicación. En estas definiciones, todas las variables pueden tomar sólo dos valores: 0 y 1. Todas las leyes lógicas, expresadas por medio de variables, se pueden verificar sustituyendo las letras por 0 y 1.

La lógica trivalente es un sistema de lógica no aristotélica, puesto que opera sobre la base de que, además de proposiciones verdaderas y falsas, hay también proposiciones que no son ni verdaderas ni falsas, y, por tanto, de que existe un tercer valor lógico. Este tercer valor lógico se puede interpretar como la “posibilidad” y se puede simbolizar por ½. Si se quiere formular un sistema de lógica trivalente, se ha de añadir, los principios relativos a 0 y 1, principios relativos a ½. Esto puede hacerse de varias maneras; el sistema adoptado por Lukasiewicz en el estado de sus investigaciones, desviándose lo menos posible de la lógica “bivalente” es el siguiente: (1) Principios de identidad (2) Principios de implicación.

Los principios antes especificados relativos a 0 y 1, y las definiciones de negación, adición y multiplicación siguen siendo los mismos en lógica trivalente, con la única diferencia de que las variables pueden tomar tres valores: 0, 1, y ½. Las leyes de la lógica trivalente difieren en parte de las de la lógica bivalente. Algunas de las leyes de la lógica aristotélica son sólo “posibles” en lógica trivalente: por ejemplo, el principio del silogismo en la formulación ordinaria, el principio de contradicción, el principio de tercio excluso, etc. Algunas de las leyes de la lógica bivalente son falsas en lógica trivalente, entre ellas la ley del complemento, esto explica el hecho de que en lógica trivalente no haya antinomias.

En lógica, los valores de verdad son aquellos valores posibles que pueden asignarse a las proposiciones. La lógica clásica, en tanto que va referida al discurso apofántico, es bivalente al admitir únicamente dos valores de verdad: verdadero (1) o falso (0). No obstante, existen otras lógicas, las llamadas lógicas no clásicas o divergentes, que admiten más valores de verdad. Por ejemplo, la lógica trivalente de Lukasiewicz utiliza tres valores: verdadero (1), falso (0) e incierto (½).

Lukasiewicz concibió la idea de recurrir a un sistema de lógica trivalente como medio para resolver el problema aristotélico de los futuros contingentes. El cálculo de proposiciones ordinario es bivalente y admite implícitamente la ley según la cual toda proposición o bien es verdadera o bien es falsa. Ahora bien, según Lukasiewicz, esta ley, la más fundamental de la lógica no parece completamente evidente. La proposición “Estaré en Santa Cruz a mediodía del 10 de enero del año próximo” no puede ser ahora ni verdadera ni falsa; debe, pues, poseer un valor distinto de “1” y “0”, este valor puede designarse por “½” y representa “lo posible”. En 1938 S. C. Kleene presenta un nuevo sistema de lógica trivalente en el marco de la teoría de las funciones recursivas. Construye sus tablas de verdad en términos de una aplicación matemática.

La lógica trivalente tiene sobre todo importancia teórica como medio para construir un sistema de lógica no aristotélica. Si este nuevo sistema de lógica tiene o no importancia práctica es algo que sólo podrá determinarse cuando se examinen en detalle fenómenos lógicos, y en especial los fenómenos lógicos que se dan en las ciencias deductivas, y cuando las consecuencias de la filosofía indeterminista, que es el sustrato metafísico de la nueva lógica, se comparen con los datos empíricos.

Guillermo Choque Aspiazu
www.eldiario.net
Febrero 18 de 2008

sábado, 12 de abril de 2008

Agentes Racionales

En la filosofía, la persona es la expresión de la esencia misma del ser humano, la cual no sólo se circunscribe a la ontología y a la lógica, sino que abarca también la ética, la axiología y la filosofía social. Al mismo tiempo proporciona la idea del ser humano en sus relaciones consigo mismo, con el otro y con el mundo. Así, pues, la filosofía define la persona como un ente racional, dotado de palabra, lenguaje, discurso, arraigado en la moral y en las relaciones de animal político que produce mercancías y que interactúa a diferentes niveles con el mundo y con los demás en un espacio atravesado por las normas. Boecio sintetiza la definición que se tenía en la antigüedad filosófica: “sustancia indivisa de naturaleza racional”, gobernada por la teología. En la modernidad, el término persona indica al sujeto moral puesto en el mundo, inquietándose por él en las experiencias cotidianas o “en la existencia que se ha encontrado en sí misma, por la libertad”.

Se denomina racional a una persona que puede justificar sus acciones recurriendo a las normativas vigentes y, sobre todo, a aquél que en un conflicto normativo actúa con lucidez no dejándose llevar por sus pasiones ni entregándose a sus intereses inmediatos, sino esforzándose por juzgar imparcialmente la cuestión desde un punto de vista moral y resolviéndola consecuentemente. Una persona debe interpretar sus necesidades a la luz de los estándares de valor aprendidos en su cultura pero, sobre todo, cuando es capaz de adoptar una actitud reflexiva frente a los estándares de valor con que interpreta sus necesidades. Los valores culturales, a diferencia de las normas de acción, no se presentan con una pretensión de universalidad. Los valores son, a lo sumo, candidatos a interpretaciones bajo las que un círculo de afectados puede, llegado el caso, describir el interés común y normarlo. En este contexto, el concepto de racionalidad se refiere a un sistema de pretensiones de validez. La lógica de la argumentación se refiere a las relaciones internas, también de tipo no deductivo, entre las unidades pragmáticas de las que se componen los argumentos.

La racionalidad es una capacidad humana que permite pensar, evaluar y actuar de acuerdo a ciertos principios de optimidad y consistencia, para satisfacer algún objetivo o finalidad. Usando la razón el ser humano intenta elegir para conseguir los mayores beneficios, de forma “económica”, desde las variadas limitaciones del cerebro, y las limitaciones de acción sobre el entorno. El ejercicio de la racionalidad está sujeto a los dos principios mencionados. Cualquier construcción mental llevada a cabo mediante procedimientos racionales tiene por tanto una estructura lógico-mecánica distinguible. El ser humano tiene otras formas para tomar decisiones o idear comportamientos donde la racionalidad no parece el principal motor mental, adjetivadas a veces como “irracionales”. Algunas conductas humanas son completamente “irracionales”, y ninguna es completamente “racional”.

La racionalidad puede aplicarse a las expectativas del ser humano, a sus evaluaciones y a sus posteriores acciones. Puede fundamentarse en creencias o axiomas. Pero no siempre se evalúa racionalmente. Dado que la parte racional depende de la educación recibida, la forma de educar limita en mayor o menor medida el marco de posibilidades a las cuales acudir como parte de las soluciones, por lo que no siempre se evalúa de manera racional y no siempre se actúa de manera racional. La causa es que el ser humano no posee el suficiente criterio como para poder educar a la razón de manera que entienda sus propios sentimientos, pasiones y emociones de forma que dirijan y moldeen a la imaginación y facultades de creación. El buen uso de la razón le da al hombre la voluntad de vivir, perdiendo ésta en el momento que no encuentra razones que le satisfagan y alivien el sufrimiento. Por ese motivo no todas las expectativas responden a las exigencias de la racionalidad, ni tampoco las intenciones a la hora de actuar, ni la forma como se la hace. La racionalidad es, desde este punto de vista, una aspiración humana, más que una realidad. A falta de una educación que capacite al ser humano para ello, la dura realidad actual es que sin las religiones, el hombre, se enfrenta a la desesperanza del ser humano ante el desgarrador sufrimiento de pensar que se encuentra desprotegido y solo depende de sus facultades mentales, que para colmo no conoce ni quizá se conocerá nunca a plenitud por limitación propia.

Un agente es todo aquello que puede considerarse que percibe su ambiente mediante sensores y que responde o actúa en tal ambiente por medio de efectores. Los agentes humanos tienen ojos, oídos y otros órganos que le sirven de sensores, así como manos, piernas, boca y otras partes de su cuerpo que le sirven de efectores. En el caso de agentes robóticos, los sensores son sustituidos por cámaras infrarrojas y los efectores son reemplazados mediante motores. En el caso de un agente de software, sus percepciones y acciones vienen a ser una cadena de bits codificados. Se puede decir que un agente racional es aquel que hace lo correcto, lo correcto se refiere al hecho de que el agente tenga el mejor desempeño, como característica particular resalta que el agente racional puede medir su propio desempeño. El término de medición de desempeño se aplica al cómo es el criterio que sirve para definir qué tan exitoso ha sido un agente. Desde luego que no existe una medida fija que pueda aplicarse por igual a todos los agentes porque sus respuestas van a ser subjetivas, entonces una verdadera medición de desempeño solamente la pueden realizar observadores externos.

El análisis de la actividad de un agente racional como una correlación que permite pasar de secuencias de percepciones a acciones probablemente se haya originado del esfuerzo por definir las conductas racionales dentro del ámbito de la economía y de otras formas de razonamiento bajo condiciones de incertidumbre y de los trabajos de conductistas psicológicos como los realizados por Skinner, el año 1953, que se encuentran enfocados a reducir la psicología de los organismos a meras correlaciones entrada-salida o estímulo-respuesta. Jon Doyle el año 1983 propuso la idea de que el diseño de agentes racionales es la medula de la inteligencia artificial y seguiría siendo su objetivo primordial, en tanto que otros temas relacionados con la inteligencia artificial experimentarían una evolución hasta constituirse en nuevas disciplinas. Por su parte Horvitz, el año 1988, fue específico al sugerir el empleo de la racionalidad, concebida ésta como la obtención del máximo de utilidad esperada como fundamento de la inteligencia artificial. Herbert Simon, investigador en inteligencia artificial y economista ganador del premio Nobel, hacia el año 1958, estableció una clara diferencia entre la racionalidad bajo limitaciones de recursos, racionalidad de procedimientos, y la racionalidad de hacer una elección objetivamente racional, la denominada racionalidad sustantiva. Cherniak, el año 1986, explora el nivel mínimo de racionalidad necesario para que una entidad se pueda considerar como agente.

Por otra parte no se debe confundir el término omnisciencia con la racionalidad. Un agente omnisciente es aquel que sabe el resultado real que producirán sus acciones, y su conducta es congruente con dichas acciones. Considere el siguiente ejemplo: Un día una persona va caminando y desea atravesar la calle. No hay tránsito en las cercanías y él, actuando racionalmente, empieza a cruzar la calle. Al instante, a esa persona le cae cierta parte de un avión y queda aplastado. Se puede deducir, entonces que la racionalidad tiene más bien que ver con un éxito esperado, tomando como base lo que se ha percibido. Un agente que hubiera contado con un radar para detectar partes de un avión en caída, o que estuviera dentro de una caja de acero que lo protegiera, habría tenido más éxito, pero no por ello habría sido más racional.

En resumen, el carácter de racionalidad de lo que se hace en un momento dado dependerá de cuatro factores: (1) De la medida con la que se evalúa el grado de éxito logrado. (2) De todo lo que hasta ese momento haya percibido el agente. A esta historia perceptual completa se la denomina “secuencia de percepciones”. (3) Del conocimiento que posea el agente acerca del medio. (4) De las acciones que el agente puede emprender. Lo anterior conduce a definir lo que es un agente racional ideal: En todos los casos de posibles secuencias de percepciones, un agente racional deberá emprender todas aquellas acciones que favorezcan obtener el máximo de su medida de rendimiento, basándose en las evidencias aportadas por la secuencia de percepciones y en todo conocimiento incorporado en tal agente.


Guillermo Choque Aspiazu
http://www.eldiario.net/
Febrero 11 de 2008

Interfaz de Usuario

Los avances de la ciencia y la tecnología han puesto al hombre en un plano intermedio entre lo tangible e intangible, actualmente es común el convivir con una computadora a diario que cada vez se hace más imperativo la mejor interacción hombre-máquina a través de una adecuada interfaz de usuario, que brinde tanto comodidad como eficiencia. El año 1993 los investigadores Lewis y Rieman definieron las interfaces hombre computadora como: “Las interfaces básicas de usuario son aquellas que incluyen cosas como menús, ventanas, teclado, ratón, y algunos otros sonidos que la computadora hace, en general, todos aquellos canales por los cuales se permite la comunicación entre el hombre y la computadora”

La idea fundamental en el concepto de interfaz es el de mediación, entre hombre y máquina. La interfaz es lo que "media", lo que facilita la comunicación, la interacción, entre dos sistemas de diferente naturaleza, típicamente el ser humano y una máquina como la computadora. Esto implica, además, que se trata de un sistema de traducción, ya que los dos “hablan” lenguajes diferentes: verbo-icónico en el caso del hombre y binario en el caso del procesador electrónico. De una manera más técnica se define la interfaz de usuario, como el conjunto de componentes empleados por los usuarios para comunicarse con las computadoras. El usuario dirige el funcionamiento de la máquina mediante instrucciones, denominadas genéricamente entradas. Las entradas se introducen mediante diversos dispositivos, por ejemplo un teclado, y se convierten en señales electrónicas que pueden ser procesadas por la computadora. Estas señales se transmiten a través de circuitos conocidos como bus, y son coordinadas y controladas por la unidad central de proceso y por un soporte lógico conocido como sistema operativo. Una vez que la unidad central de proceso ha ejecutado las instrucciones indicadas por el usuario, puede comunicar los resultados mediante señales electrónicas, o salidas, que se transmiten por el bus a uno o más dispositivos de salida, por ejemplo una impresora o un monitor.

Al interior de la teoría relacionada con las interfaces de usuario se pueden distinguir básicamente dos tipos: (1) Una interfaz de hardware, que se encuentra en el nivel de los dispositivos utilizados para ingresar, procesar y entregar los datos: teclado, ratón y pantalla visualizadora. (2) Una interfaz de software, destinada a entregar información acerca de los procesos y herramientas de control, a través de los que el usuario observa habitualmente la pantalla. De esta clasificación general se puede ir desprendiendo algunas otras, la evolución de las interfaces de usuario corre en paralelo con la de los sistemas operativos; de hecho, la interfaz constituye actualmente uno de los principales elementos de un sistema operativo.

La creación de las interfaces de usuario ha sido un área del desarrollo de software que ha evolucionado dramáticamente a partir de la década de los años 1970. La interfaz de usuario es el vínculo entre el usuario y el programa de computadora. Una interfaz es un conjunto de comandos o menús a través de los cuales el usuario se comunica con el programa. Esta es una de las partes más importantes de cualquier programa ya que determina que tan fácilmente es posible que el programa haga lo que el usuario quiere hacer. Un programa muy poderoso con una interfaz pobremente elaborada tiene poco valor para un usuario no experto. La elaboración de una interfaz de usuario, bien diseñada, exige una gran dedicación pues generalmente las interfaces son grandes, complejas y difíciles de implementar, depurar y modificar. Hoy en día las interfaces de manipulación directa, también llamadas interfaces gráficas de usuario, son prácticamente universales. Las interfaces que utilizan ventanas, íconos y menús se han convertido en estándar en los sistemas computacionales.

La interfaz gráfica de usuario es un tipo de visualización que permite al usuario elegir comandos, iniciar programas y ver listas de archivos y otras opciones utilizando representaciones visuales y listas de elementos del menú. Las selecciones pueden activarse bien a través del teclado o con el ratón. Para los autores de aplicaciones, las interfaces gráficas de usuario ofrecen un entorno que se encarga de la comunicación con la computadora. Esto hace que el programador pueda concentrarse en la funcionalidad, ya que no está sujeto a los detalles de la visualización ni a la entrada a través del ratón o del teclado. También permite a los programadores crear programas que realicen de la misma forma las tareas más frecuentes, como guardar un archivo, porque la interfaz proporciona mecanismos estándar de control como ventanas y cuadros de diálogo. Otra ventaja es que las aplicaciones escritas para una interfaz gráfica de usuario son independientes de los dispositivos: a medida que la interfaz cambia para permitir el uso de nuevos dispositivos de entrada y salida, como un monitor de pantalla grande o un dispositivo óptico de almacenamiento, las aplicaciones pueden utilizarlas sin necesidad de cambios.

Por consiguiente se puede decir que la interfaz de usuario es la forma en la que los usuarios pueden comunicarse con una computadora, y comprende todos los puntos de contacto entre el usuario y el equipo. Sus principales funciones son: (1) Manipulación de archivos y directorios. (2) Herramientas de desarrollo de aplicaciones. (3) Comunicación con otros sistemas. (4) Información de estado. (5) Configuración de la propia interfaz y entorno. (6) Intercambio de datos entre aplicaciones. (7) Control de acceso. (8) Sistema de ayuda interactivo.

La interfaz de usuario como sistema de ayuda interactiva se encuentra ampliamente relacionada con el campo de los sistemas basados en conocimiento propios de la inteligencia artificial. Un sistema basado en conocimiento o sistema experto, vienen a ser un programa computacional que: (1) Posee conocimiento de un experto humano o de un área de conocimiento altamente especializada. (2) Es capaz de proporcionar recomendaciones que infiere a partir de su conocimiento. (3) Puede justificar sus propias conclusiones. (4) Poseen conocimiento no codificado implícitamente dentro del programa. Con los sistemas expertos se busca una mejor calidad y rapidez en las respuestas dando así lugar a una mejora de la productividad del experto. Un sistema experto está conformado por: (1) Base de conocimientos, que contiene conocimiento modelado extraído del diálogo con el experto. (2) Base de hechos o memoria de trabajo, que contiene los hechos sobre un problema que se ha descubierto durante el análisis. (3) Motor de inferencia:, que se encarga de modelar el proceso de razonamiento humano. (4) Módulo de justificación, que explica el razonamiento utilizado por el sistema para llegar a una determinada conclusión. (5) Interfaz de usuario, que constituye la interacción entre el sistema experto y el usuario.

La interfaz de usuario permite que el usuario pueda describir el problema al sistema experto. Interpreta sus preguntas, los comandos y la información ofrecida. A la inversa, formula la información generada por el sistema incluyendo respuestas a las preguntas, explicaciones y justificaciones. Es decir, posibilita que la respuesta proporcionada por el sistema sea inteligible para el interesado. También puede solicitar más información si le es necesaria al sistema experto. En algunos sistemas se utilizan técnicas de tratamiento del lenguaje natural para mejorar la comunicación entre el usuario y el sistema experto.

De esta manera las interfaces de usuario al interior de un sistema experto ofrecen muchas ventajas, ya que pueden: (1) Ayudar a capacitar empleados nuevos; (2) Reducir el número de errores humanos; (3) Encargarse de tareas rutinarias para que los trabajadores puedan concentrarse en actividades más importantes; (4) Ofrecer asesoría experta cuando no hay expertos humanos; (5) Conservar el conocimiento de los expertos después de que éstos abandonan una organización; (6) Combinar el conocimiento de varios expertos; (7) Lograr que el conocimiento esté disponible para más personas; (8) Un solo sistema experto puede ampliar las capacidades de toma de decisiones de muchas personas; (9) Mejorar la productividad y del desempeño de quienes toman decisiones; (10) Ofrece estabilidad y consistencia en un área particular de la toma de decisiones, a diferencia de los seres humanos, un sistema experto es consistente por lo que siempre presentará la misma decisión con base en un conjunto de información; (11) Reduce la dependencia de personal crítico.

Guillermo Choque Aspiazu
www.eldiario.net
Febrero 4 de 2008

Ingeniería del Software

El software se ha convertido en el alma mater para el funcionamiento de los sistemas computacionales. Es el elemento que conduce a la toma de decisiones comerciales. Sirve como base para la investigación científica moderna y la resolución de problemas de ingeniería. Es el factor clave que diferencia los productos y servicios modernos. Está inmerso en sistemas de todo tipo: de transportes, médicos, de telecomunicaciones, militares, procesos industriales, entretenimientos, productos de oficina, etc., la lista es casi interminable. A medida que transcurra el siglo XXI, será uno de los pilares que conduzca a grandes cambios, desde la educación elemental hasta la ingeniería genética.

La ingeniería del software se caracteriza por ser una tecnología estratificada. Una definición desarrollada por el instituto de Ingenieros Electrónicos y Eléctricos de los Estados Unidos menciona: “La ingeniería del software es la aplicación de un enfoque sistemático, disciplinado y cuantificable hacia el desarrollo, operación y mantenimiento del software”.

La ingeniería del software fue definida por Bauer a finales de los años 1960 como el establecimiento y uso de principios de ingeniería para obtener software que fuera confiable y que funcionara eficientemente con las máquinas reales. A pesar de ser vieja, esta definición da el sentimiento correcto detrás de la disciplina. La importancia del uso de estas medidas es característica para todas las disciplinas de la ingeniería. En una estructura de ingeniería, la métrica se refiere a estándares de las medidas usadas para cuantificar aspectos específicos de un proceso, de un producto o de un proyecto de la ingeniería. Una medida es el mapa de un mundo empírico a un mundo más formal y más matemático.

Los desarrollos de la ingeniería del software comenzaron con la técnica de programación y después fueron utilizados en otras fases del ciclo vital del software. La programación estructurada fue seguida por otros métodos estructurados de análisis y también métodos estructurados de diseño. Además, comenzaron a surgir tecnologías orientadas a objeto. En épocas tempranas la programación era la tarea de oro de ingeniería del Software pero ahora la ingeniería de requerimientos, la ingeniería de diseño y la ingeniería de pruebas, todas ellas ubicadas al interior de la ingeniería del software, son más populares. En los años 1990 la gerencia de proyecto ganó interés y llego a ser un componente importante de la ingeniería del Software. En la década pasada, los estándares de la ingeniería del software y la madurez del proceso han caracterizado la industria del software como una disciplina bastante madura.

En un nivel técnico, la ingeniería de sistemas de información comienza con una serie de tareas que hacen modelos y que resultan en una especificación completa de requisitos y una representación comprensiva de diseño del software que será construido. Se han desarrollado muchos métodos para hacer modelos de sistemas de información. Sin embargo, los métodos orientados a objeto constituyen en este momento estándares obligados para el desarrollo de productos software. Para ciertos sistemas de información crítico, se han desarrollado métodos formales para producir sistemas con la integridad más alta. Los métodos formales confían en las técnicas matemáticas que expresan y modelan los requisitos de cualquier producto en el ciclo vital del software. El uso de métodos formales es recomendado cuando sea posible en un ciclo vital del software.

El desarrollo de software orientado a objetos comenzó en los años 1980 como una etapa natural de los métodos estructurados. El Lenguaje de Modelado Unificado ha emergido como una unificación de los diversos métodos orientados a objeto y se está convirtiendo en un estándar de la Organización Internacional de Estándares.

En los primeros años del siglo XXI, la tecnología de componentes es un método para desarrollar sistemas de información que está en pleno crecimiento. A diferencia de los métodos tradicionales, la tecnología de componente ensambla componentes para formar una solución de software. Los componentes de software son materiales reutilizables para construir sistemas de software. La tecnología basada en componentes es un método poderoso para una empresa de ingeniería de sistemas de información porque es una tecnología que reduce el conflicto entre sistemas de alta complejidad y de búsqueda, debido a su alta calidad y productividad.

La ingeniería del software es una tecnología multicapa. Los cimientos que son la base de la ingeniería del software están orientados hacia la calidad. La gestión de calidad total y las filosofías similares fomentan una cultura continua de mejora de proceso, y es esta cultura la que conduce últimamente al desarrollo de enfoques cada vez más robustos para la ingeniería del software. El fundamento de la ingeniería del software es la capa proceso. El proceso es la unión que mantiene juntas las capas de tecnología y que permite un desarrollo racional y oportuno de la ingeniería del software. Las áreas clave del proceso forman la base del control de gestión de proyectos del software y establecen en contexto en el que se aplican los métodos técnicos, se producen resultados del trabajo, se establecen hitos, se asegura la calidad y se gestiona el cambio de manera adecuada. Los métodos indican como construir de manera técnica el software. Los métodos abarcan una gama de tareas que incluyen análisis de requisitos, diseño, construcción de programas, pruebas y mantenimiento. Los métodos dependen de un conjunto de principios básicos que gobiernan cada área de la tecnología e incluyen actividades de modelado y otras técnicas descriptivas. Las herramientas proporcionan un soporte automático o semi-automático para el proceso y para los métodos. Cuando se integran herramientas para que la información creada por una herramienta la pueda utilizar otra, se establece un sistema de soporte para el desarrollo de software denominada ingeniería de software asistida por computadora.

La ingeniería de software requiere llevar a cabo muchas tareas, sobre todo las siguientes: (1) Análisis de requisitos. Se encarga de extraer los requisitos de un producto software, es la primera etapa para crearlo. Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de habilidad y experiencia para reconocer requisitos incompletos, ambiguos o contradictorios. El resultado del análisis de requisitos con el cliente se plasma en el documento de Especificación de Requerimientos del Sistema, cuya estructura puede venir definida por varios estándares. (2) Especificación. Es la tarea de describir detalladamente el software a ser escrito, en una forma matemáticamente rigurosa. En realidad, la mayoría de las buenas especificaciones han sido escritas para entender y afinar aplicaciones que ya estaban desarrolladas. Las especificaciones son más importantes para las interfaces externas, que deben permanecer estables. (3) Diseño y arquitectura. Se refiere a determinar como funcionará el producto software de forma general sin entrar en detalles. (4) Programación. Reducir un diseño a código debe ser la parte más obvia del trabajo de ingeniería del software, pero no es necesariamente la porción que más interés requiere. (5) Prueba. Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación. Una técnica de prueba es verificar por separado cada módulo del software, y luego probarlo de manera integral. (6) Documentación. Consiste en la realización del manual de usuario, y posiblemente un manual técnico con el propósito de mantenimiento futuro y ampliaciones al sistema. (7) Mantenimiento. Mantener y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo inicial del software. Alrededor de 2/3 de toda la ingeniería del software tiene que ver con dar mantenimiento.

Por estos días es cada vez más frecuente la consideración de la ingeniería del software como una nueva área de la ingeniería y el ingeniero del software comienza a ser una profesión implantada en el mundo laboral internacional. La ingeniería del software trata con áreas muy diversas de la informática y de las ciencias de la computación, tales como la construcción de compiladores, sistemas operativos o desarrollos de Internet abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de sistemas de información y aplicables a una infinidad de áreas tales como negocios, investigación científica, producción, logística, banca, medicina, redes, Internet, intranet, extranet, etc.
Guillermo Choque Aspiazu
http://www.eldiario.net/
Enero 28 de 2008

Máquinas Pensantes

La emancipación de las máquinas y su eventual poderío sobre los hombres es una de esas fantasías modernas que aceptan el calificativo de “terrible”. La ciencia ficción abunda en páginas que desarrollan o modifican dicha idea, cuyo desenlace parece estar escrito en caracteres ominosos. Un cerebro de silicio que razona, inventa y bosteza puede ser entendido como un gran logro de la tecnología, como la culminación del sueño inmemorial de robar a la divinidad sus atributos creadores; pero también, según prefigura el argumento de Frankenstein, no deja de ser una posibilidad que linda con la pesadilla, con la inminencia de destrucción y catástrofe. Quizá la variante más aterradora e increíble sea la de una suplantación final y completa del hombre por la máquina.

Desde un punto de vista instrumental, la computadora representa la herramienta universal, dada su versatilidad formal y su grado de polivalencia. Pero, también, la computadora se presenta como el símbolo de un paradigma tecnológico, que supera, o al menos amplía, el concepto tradicional de instrumento. Las primeras metáforas aplicadas a la computadora trataban de expresar su posible consideración como máquina pensante, como cerebro electrónico. Ya en 1946, como señala Benjamín Woolley, la prensa describía la computadora ENIAC de la Universidad de Pensilvania como un “cerebro electrónico”. Según Woolley, “En esa época, la palabra ‘computadora’ se seguía utilizando para referirse a un calculista, y su aplicación a una máquina sugería evidentemente la existencia de una conexión entre el trabajo mental del ser humano y los procesos electrónicos de la máquina.”

Una metáfora antropomórfica en la que subyace la pretensión de construir máquinas que puedan igualar o superar algunas de las capacidades, hasta ahora consideradas, estrictamente humanas. El uso de una determinada metáfora establece, de alguna manera, ciertos preconceptos de lo que puede llegar a ser una entidad dada, en este caso: la computadora. Benjamin Woolley señala, que a lo largo de su breve historia, la investigación en inteligencia artificial ha adoptado dos enfoques completamente distintos: “por un lado se ha intentado que las computadoras reproduzcan la conducta inteligente y, por otro, se ha intentado descubrir si la mente es una computadora.” En el caso referente a la Máquina Analítica de Babbage, la misma se encuentra más cerca del concepto de máquina propio de la Revolución Industrial. Al llegar al siglo XX, con el desarrollo de las computadoras digitales, como sistemas de procesamiento de la información, se trasciende lo puramente mecánico. Según Bruce Mazlish “en este nuevo contexto, la metáfora dominante es la mente, no la máquina.”

Fue el matemático Alan Turing el primero en considerar la cuestión de las máquinas inteligentes y lo que significaría para una máquina el acto de “pensar”. La propuesta de Turing para evaluar si las computadoras podían pensar y actuar inteligentemente fue extendiéndose en la comunidad científica. El año 1956 John McCarthy acuñó el término “inteligencia artificial” en una conferencia cuyo planteamiento estaba centrado en la propuesta de que la inteligencia en principio puede ser descrita con la suficiente precisión como para que una máquina construida a tal efecto pueda simularla. Marvin Minsky que junto a McCarthy fundó el departamento de inteligencia artificial del Instituto Tecnológico de Massachussets, definió la inteligencia artificial como, “la ciencia de construir máquinas que hacen cosas que requerirían inteligencia si fueran hechas por seres humanos.” También Herbert Simon, investigador de la inteligencia artificial, desarrolló la idea de que los procesos en una computadora son análogos a los procesos de la mente.

El pensamiento de Turing comprende un amplio campo de reflexión, ya que su concepción de las máquinas inteligentes, expuesta en el trabajo “Computing Machinery and Intelligence”, aparecido en la revista “Mind”, el año 1950, supone una visión científica y filosófica que está en el origen de las grandes transformaciones que dieron lugar a la idea de una sociedad tecnológica de la información. Las reservas y críticas a sus planteamientos no se hicieron esperar, pero su visión del futuro le llevó a proyectarse al año 2000, cuándo, según su previsión “el empleo de las palabras y la opinión académica habrá variado y se podrá hablar de máquinas pensantes sin que se produzcan descalificaciones”. Toda función computable por la naturaleza humana es computable por la máquina, de acuerdo con la idea de Turing, por lo que concibe la denominada “máquina universal”. No hay nada humano, incluido el pensamiento, afirmaba Turing, que no pueda ser reproducido por una máquina pensante. La “prueba de Turing” venía a dar respuesta acerca de la capacidad pensante de las máquinas. Desde una posición claramente conductista, los comportamientos aparecían directamente guiados por estímulos concretos. Por consiguiente, las pautas de la conducta y de la acción podrían ser codificadas, memorizadas y reproducidas a través respuestas sujetas a la lógica causal.

Es necesario comentar algunos elementos acerca del camino que se debe recorrer para lograr la construcción de máquinas con ciertas capacidades propias del hombre; es decir, con habilidad para la solución de problemas complejos como la toma de decisiones para la planeación de empresas, la evaluación de riesgos para las compañías de seguros, pruebas de eficiencia de motores, detección de arritmias cardiacas, análisis y evaluación de encefalogramas, de sismogramas, espectros de luz emitida o absorbida por estrellas o por materiales, etcétera. Todos estos problemas consisten en optimización o toma de decisiones no basada en reglas concretas. Entre el tipo de trabajos que estas máquinas podrían realizar, el de aplicación más directa es el reconocimiento y procesamiento de imágenes. Esto engloba desde tareas relativamente simples y específicas, como la identificación de firmas, voces, huellas dactilares, reconstrucción de imágenes con mucho ruido, etc., hasta tareas de gran complejidad como la identificación y clasificación de personas y objetos. Este último tipo de tareas representa una mayor dificultad debido a que se debe lograr invariancia de la detección con respecto a rotación, cambios de escala, perspectiva, oclusión parcial, cambio en las condiciones de iluminación, etcétera.

Las computadoras saben jugar ajedrez, demostrar teoremas matemáticos, leer y traducir idiomas, pero ninguna máquina, por compleja que sea, puede reproducir la gama completa del pensamiento humano. Nadie aún, ha construido una máquina capaz de aprender a hablar un idioma, si bien este proceso es algo que los niños dominan en sus primeros años de vida. En la década de 1970 se requirieron grandes esfuerzos en la Universidad de Edimburgo para hacer que una computadora pudiese reconocer unos cuantos objetos tan simples como una taza o un plato. Una de las dificultades es que las computadoras y los cerebros están organizados de diferente manera. El cerebro es una red de células llamadas neuronas. Ese órgano tan importante contiene entre 10000 y 100000 millones de ellas; cada una está conectada con aproximadamente otras 10000, todas las cuales funcionan al mismo tiempo. Las computadoras contienen millones de circuitos lógicos, cada uno de estos circuitos está conectado con otro circuito y sólo funciona después del anterior, no simultáneamente. La información que fluye a través de la computadora sigue un solo “camino”, en lugar de distribuirse por todas partes, como sucede en el cerebro. Con todo, los circuitos de la computadora funcionan con mucha mayor rapidez que las neuronas y son mejores para algunas actividades; por ejemplo, para cálculos matemáticos arduos y complejos. Pero el cerebro, pese a sus neuronas relativamente lentas, es mucho más eficaz en el proceso de reconocimiento y el aprendizaje. Ante él, las computadoras resultan limitadas.
El profesor Igor Aleksander, del Imperial College de Londres, diseñó una red neuronal llamada Wisard, para reconocer la sonrisa humana; la red neuronal fue entrenada mostrándole varias imágenes, algunas de las mismas de gente sonriente. Con esto el artefacto pudo ver caras que no había visto antes y distinguir aquellas que sonreían. En la Universidad John Hopkins, en Estados Unidos, en la década de 1980 Terrence Sejnowski produjo una red neuronal capaz de pronunciar correctamente las palabras que se le escriben en un teclado. La red aprendió del mismo modo que un niño, y se le corrigió hasta que hizo bien las cosas. La empresa japonesa de radiotransmisión NHK tiene una red neuronal que sabe reconocer caracteres japoneses manuscritos con un 95% de exactitud, independientemente de su tamaño, posición y cambios de escala. Las redes neuronales están en las primeras etapas de desarrollo. Pero la mayoría de los científicos considera que, si algún día llega a existir una computadora pensante, que pueda exhibir rasgos de inteligencia, ésta será la forma de lograrla.
Guillermo Choque Aspiazu
http://www.eldiario.net/
Enero 21 de 2008

Lenguaje para la Realidad Virtual

La realidad virtual es un sistema informático que genera entornos sintéticos en tiempo real, es la representación de la realidad de las cosas a través de medios electrónicos, una realidad ilusoria, pues se trata de una realidad perceptiva sin soporte objetivo, sin red extensa, ya que existe sólo dentro de la computadora. Por eso puede afirmarse que la realidad virtual es una seudo realidad alternativa, perceptivamente hablando. La virtualidad establece una nueva forma de relación entre el uso de las coordenadas de espacio y de tiempo, supera las barreras espaciotemporales y configura un entorno en el que la información y la comunicación se muestran accesibles desde perspectivas hasta ahora desconocidas al menos en cuanto a su volumen y posibilidades.

La realidad virtual puede ser de dos tipos: inmersiva y no inmersiva. Los métodos inmersivos de realidad virtual con frecuencia se relacionan con un ambiente tridimensional creado por computadora el cual se maneja a través de cascos, guantes u otros dispositivos que capturan la posición y rotación de diferentes partes del cuerpo humano. La realidad virtual no inmersiva utiliza medios como el que actualmente ofrece Internet en el cual se puede interactuar en tiempo real con diferentes personas en espacios y ambientes que en realidad no existen, sin necesidad de dispositivos adicionales a la computadora. La realidad virtual no inmersiva ofrece un nuevo mundo a través de una ventana de escritorio. Este enfoque no inmersivo tiene varias ventajas sobre el enfoque inmersivo como: bajo costo y fácil y rápida aceptación de los usuarios. Los dispositivos inmersivos son de alto costo y generalmente el usuario prefiere manejar el ambiente virtual por medio de dispositivos familiares como son el teclado y el ratón que por medio de pesados cascos o aparatosos guantes.

Actualmente Internet proporciona los medios suficientes para hacer reuniones con diferentes personas en el mismo espacio virtual. En este sentido Internet tiende a ser un mecanismo de telepresencia. Este medio brinda espacios o realidades que físicamente no existen pero que sin embargo forman parte de la forma de vida del ser humano. Es a través de Internet como nace el lenguaje para la realidad virtual (VRML), que es un estándar para la creación de mundos virtuales no inmersivos.

Técnicamente hablando, el lenguaje para la realidad virtual no es un lenguaje para programar realidad virtual inmersiva ni tampoco un lenguaje de modelado. La realidad virtual inmersiva implica una experiencia tridimensional inmersiva y dispositivos externos como cascos o guantes digitales para lograr capturar otros sentidos diferentes al oído y a la vista. El lenguaje para la realidad virtual no requiere o prevé una inmersión sensorial total, dicho lenguaje proporciona un conjunto básico de primitivas para el modelado geométrico tridimensional y tiene la capacidad de asignar comportamiento a los objetos y establecer diferentes animaciones que pueden ser activadas por eventos generados por diferentes usuarios.

En la evolución del lenguaje para la realidad virtual se puede ver grandes avances que dan cada vez más y mejores herramientas para la comunicación. Las herramientas van desde nuevas y mejores primitivas para representar objetos virtuales, hasta medios visuales y auditivos que permiten integrar los medios electrónicos tradicionales a las avanzadas características de la realidad virtual. Aunque muchas aplicaciones del lenguaje para la realidad virtual fueron en realidad las impulsoras de su desarrollo con base en las necesidades, se han ampliando los horizontes de la comunicación al aparecer nuevas opciones que antes ni siquiera eran soñadas por los visionarios. Actualmente se puede hacer cosas que hace apenas algunos años los científicos las tomaban por imposibles.

Los requerimientos técnicos para aprovechar la tecnología de la realidad virtual son cada vez más sencillos, gracias no sólo al avance de sus desarrolladores, sino también a la evolución de sus usuarios y de los equipos de computación. Sin embargo los requerimientos conductuales, son quizá de mayor importancia: Ha sido muy difícil para la sociedad evolucionar a la velocidad de las nuevas tecnologías. La mayoría de las personas tienen grandes problemas para adaptarse a los complejos cambios en su forma de vida actual; mayores problemas se tienen cuando intentan emigrar a tecnologías que, aunque para su uso no requieren de mayores conocimientos técnicos, sí representan un gran reto por tener un manejo diferente al de las tecnologías conocidas. Se habla del lenguaje para la realidad virtual como la siguiente tecnología predominante en la Web y frecuentemente es considerada como una herramienta para la construcción de ambientes totalmente inmersivos.

Algunas de las aplicaciones de este lenguaje son: (1) Demostración de productos. Mediante el uso del lenguaje para la realidad virtual la demostración de productos en línea es interactiva, integra audio e imágenes tridimensionales y cuenta con un tiempo de transmisión optimo. (2) Anuncios publicitarios. Con el lenguaje para la realidad virtual es posible generar animaciones de mayor impacto y de menor tamaño. Además el hecho de que la animación se realice en un ambiente tridimensional provee de mucha mayor información al usuario, logrando esta técnica un mayor impacto publicitario. (3) Arquitectura. Hasta ahora la forma convencional de mostrar proyectos de construcción es mediante imágenes y planos. Desafortunadamente, utilizar un medio bidimensional para visualizar un espacio tridimensional resulta la mayoría de las veces poco efectivo y no proporciona la oportunidad de experimentar con el espacio que se trata de modelar. Con el uso del lenguaje para la realidad virtual estos problemas se eliminan, permitiendo al usuario sentir que está al interior del edificio en demostración. La interacción mediante programación adicional permite al visitante modificar variables como colores, formas, texturas, luces o posiciones para visualizar al máximo los ambientes en construcción, incluso antes de colocar la primera piedra. (4) Visualización organizada de datos. El lenguaje para la realidad virtual ayuda a visualizar no sólo las estructuras de los diferentes tipos de información, sino además elimina casi totalmente algunos problemas del mundo real como la tele transportación, el almacenamiento masivo, la combinación de medios y la seguridad, poniendo fácilmente los datos al alcance de quien los debe tener. (5) Comercio electrónico. A través de centros comerciales virtuales, el lenguaje para la realidad virtual proporciona nuevas opciones para que el comerciante llegue a su público objetivo. Ahora millones de usuarios conectados en línea pueden acceder centros comerciales ubicados en cualquier parte del mundo, pasear entre las tiendas, visualizar los productos para comprarlos o interactuar con otros compradores o vendedores. Se han traspasado las fronteras y el concepto de “entrega a tu domicilio” se ha complementado con “visita desde tu domicilio”. (6) Laboratorios virtuales y visualización científica. El lenguaje para la realidad virtual puede ser un medio sencillo y barato para simular muchos tipos de procesos, o para hacer demostraciones visuales muy variadas. Si se añade interacción con otros usuarios de cualquier parte del mundo, se puede tener un laboratorio virtual muy valioso y un excelente medio de comunicación para mostrar sus resultados. (7) Arte. Para muchos, las computadoras limitan la creatividad de los artistas, para muchos otros, los medios digitales son precisamente los que permiten a los artistas expandir su creatividad dándoles las herramientas para transmitir sus ideas. El lenguaje para la realidad virtual no es la excepción. Al contrario, la visualización tridimensional combinada con medios tradicionales como imágenes bidimensionales y sonidos es la oportunidad para muchos artistas de comunicar conceptos que antes no podían, de explorar nuevos estilos y nuevos estímulos. (8) Entretenimiento. El lenguaje para la realidad virtual abre nuevas formas de entretenimiento, con juegos más apegados a la realidad y con centros de encuentro virtual, en los que los visitantes pueden interactuar con los demás de varias formas, incluyendo sus voces, acciones y apariencias.

Gracias a que el lenguaje para la realidad virtual fue desarrollado para que millones de personas puedan interactuar, casi cualquier usuario puede acceder a sitios producidos en este lenguaje. De manera contraria a lo que se piensa, los mundos de realidad virtual se descargan muy rápidamente de la Web, reduciendo el tiempo de espera enormemente comparado con su contraparte: el lenguaje de marcado de hipertexto. Los navegadores actuales ya tienen instalados diferentes versiones de accesorios para el lenguaje para la realidad virtual, por lo que si cuenta con un navegador actualizado es posible observar mundos virtuales, con el lenguaje para la realidad virtual, sin necesidad de contar con ningún complemento especial.
Guillermo Choque Aspiazu
www.eldiario.net
Enero 14 de 2008

Mineria de Datos Espacial

El almacenamiento de datos se ha convertido en una tarea rutinaria de los sistemas de información de las organizaciones. Esto es aún más evidente en las empresas de la nueva economía, el comercio electrónico, la telefonía, el marketing directo, etc. Los datos almacenados son un tesoro para las organizaciones, es donde se guardan las interacciones pasadas con los clientes, la contabilidad de sus procesos internos, y lo fundamental es que representan la memoria de la organización. Pero con tener memoria no es suficiente, es necesario pasar a la acción inteligente sobre los datos para extraer la información que almacenan. En este contexto, aparece la minería de datos como el conjunto de técnicas y herramientas aplicadas al proceso no trivial de extraer y presentar conocimiento implícito, previamente desconocido, potencialmente útil y humanamente comprensible, a partir de grandes conjuntos de datos, con objeto de predecir de forma automatizada tendencias y comportamientos, además de la descripción de manera automatizada de modelos previamente desconocidos.

Un almacén de datos espacial es una colección de datos orientados al tema, integrados, no volátiles, variantes en el tiempo y que añaden la geografía de los datos, para la toma de decisiones. Sin embargo la componente geográfica no es un dato agregado, sino que una dimensión o variable en la tecnología de la información, de tal manera que permita modelar todo el negocio como un ente holístico, y que a través de herramientas de procesamiento analítico en línea, no solamente se posea un alto desempeño en consultas multidimensionales si no que adicionalmente se puedan visualizar espacialmente los resultados. El almacén de datos espacial forma el corazón de un extensivo sistema de información geográfica para la toma de decisiones, éste al igual que los sistemas de información geográfica, permiten que un gran número de usuarios accedan a información integrada, a diferencia de un simple almacén de datos que es orientado al tema, el almacén de datos espacial adicionalmente es geo-relacional, es decir que en combina e integra los datos espaciales con los datos descriptivos.

Actualmente un almacén de datos es de tipo geo-objeto, esto significa que los elementos geográficos se manifiestan como objetos con todas sus propiedades, y que adicionalmente están almacenados en una única base de datos objeto-relacional. Los almacenes de datos espaciales son aplicaciones basadas en un alto desempeño de las bases de datos, que utilizan arquitecturas cliente-servidor para integrar diversos datos en tiempo real. Mientras los almacenes de datos trabajan con muchos tipos y dimensiones de datos, muchos de los cuales no referencian la ubicación espacial, a pesar de poseerla intrínsecamente. Sabiendo que un 80% de los datos poseen representación y ubicación en el espacio, en los almacenes de datos espaciales, la variable geográfica desempeña un papel importante para la construcción del análisis, y de igual manera que para un almacén de datos, la variable geográfica debe ser almacenada directamente en ella.

La minería de datos espacial es utilizada para extraer conocimiento interesante y regular. Sus métodos pueden ser usados para entender los datos espaciales, descubrir relaciones entre datos espaciales y no espaciales, reorganizar los datos en bases de datos espaciales y determinar sus características generales de manera simple y concisa. La minería de datos espacial es el descubrimiento de conocimiento implícito y previamente desconocido en base de datos espaciales. La minería de datos espacial se refiere a la extracción del conocimiento, de las relaciones espaciales, o de otros patrones interesantes almacenados no explícitamente en bases de datos espaciales. La minería de datos espacial exige una integración de los datos que se minan con tecnologías espaciales. Puede ser utilizada para entender datos espaciales, descubriendo relaciones espaciales y relaciones entre los datos espaciales y no espaciales, construyendo bases de conocimiento espaciales, reorganizando preguntas y optimizando las bases de datos espaciales. El conocimiento a ser descubierto en los datos espaciales puede ser de varios tipos, como características representativas, estructuras o agrupamientos, asociaciones espaciales, solamente por mencionar algunos.

Un sistema de minería de datos espacial está configurado por la siguiente arquitectura: (1) Base de datos: Puede ser de tipo base de datos normal, almacén de datos, hoja de cálculo u otra clase de repositorio. A estos datos se le aplican técnicas de limpieza e integración. (2) Servidor de bases de datos. Utilizado para obtener la información relevante según el proceso de minería de datos. (3) Base de conocimiento. Conocimiento del dominio para guiar la búsqueda y evaluar los patrones. Se tienen en cuenta las creencias de los datos. Los umbrales de evaluación y el conocimiento previo. (3) Algoritmo de minería de datos. Generalmente es modular para realizar distintos tipos de análisis tales como: Caracterización, Asociación, Clasificación, Análisis de grupos, Evolución y Análisis de desviaciones. (4) Módulo de evaluación. Mide que tan interesante es un patrón. Interactúa con el algoritmo de minería de datos para guiar la búsqueda hacia patrones interesantes. (5) Interfaz gráfica. Interacciona con el usuario. Elige la tarea de minería de datos. Provee información para enfocar la búsqueda. Ayuda a evaluar los patrones. Explora los patrones encontrados y la base de datos original. Visualiza los patrones en distintas formas.

Los métodos de minería de datos espacial son aplicados para extraer conocimiento interesante y regular. Estos métodos pueden ser usados para comprender los datos espaciales, descubrir relaciones entre datos espaciales y no espaciales, reorganizar los datos en bases de datos espaciales y determinar sus características generales de manera simple y concisa. Existen cinco grupos de métodos de minería de datos espacial: (1) Métodos basados en generalización. Los cuales requieren la implementación de jerarquías de conceptos, estas jerarquías pueden ser temáticas o espaciales. Una jerarquía temática puede ser ejemplificada al generalizar naranja y piña a frutas. Una jerarquía espacial puede ser ejemplificada generalizando varios puntos en un mapa como una región y un grupo de regiones como un país. (2) Métodos de reconocimiento de patrones. Estos pueden ser usados para realizar reconocimientos y categorizaciones automáticas de fotografías, imágenes y textos, entre otros. (3) Métodos que usan agrupamiento. Consisten en crear agrupaciones o asociaciones de datos, cuando en estos existan nociones de similitud. (4) Agrupamiento. Es el proceso de agrupar datos en grupos de tal forma que los objetos de un grupo tengan una similitud alta entre ellos, y baja con objetos de otros grupos. (4) Métodos de exploración de asociaciones espaciales. Permiten descubrir reglas de asociaciones espaciales, es decir, reglas que asocien uno o más objetos espaciales con otro u otros objetos espaciales. Su aplicación está en bases de datos grandes, donde puede existir una gran cantidad de asociaciones entre los objetos, pero la mayoría de ellos son aplicables solamente a un pequeño número de objetos, teniendo en cuenta que la confianza de la regla puede ser baja. (5) Métodos que utilizan aproximación y agregación. Descubren conocimiento con base en las características representativas del conjunto de datos. La proximidad agregada es la medida de proximidad del sistema de puntos en el grupo con base en una característica en comparación con el límite del grupo y el límite de una característica. Las consultas de proximidad solicitan objetos que se hallen cerca de una posición específica

En la parte operativa, los algoritmos de minería de datos espacial deben cumplir con las siguientes características básicas: (1) Poder operar en conjuntos de datos de tamaño considerable. Las bases de datos espaciales tienen la potencialidad de almacenar grandes cantidades de información. Por ende, pensar en algoritmos que asumen que el conjunto completo de datos a ser analizados puedan residir en memoria principal. (2) Deben realizar su tarea de manera rápida. (3) Deben tener en cuenta el razonamiento espacial y las técnicas existentes de optimización de búsquedas espaciales. Las características y técnicas disponibles en las bases de datos espaciales y la geometría computacional deben utilizarse cuando sea conveniente para mejorar el rendimiento del proceso de minería.

Se espera que la minería de datos espacial tenga usos amplios en sistemas de información geográfica, geo-marketing, detección remota, exploración de imágenes en bases de datos, proyección de imágenes médicas, navegación, control de tráfico, estudios ambientales, y muchas otras áreas donde se utilizan los datos espaciales.
Guillermo Choque Aspiazu
Enero 7 de 2008