Métricas de Similitud para Búsqueda Aproximada

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Métricas de Similitud para Búsqueda Aproximada"

Transcripción

1 Métricas de Similitud para Búsqueda Aproximada Juan Felipe García Resumen En el presente artículo se presentan las distancias que han venido apareciendo como medidas y unidades utilizadas en la búsqueda aproximada, donde estas métricas definen los k errores admitidos en la comparación o búsqueda de un patrón p en un texto t. Esta recopilación del estado del arte en métricas de similitud, muestra una explicación de las diferentes y más usadas distancias incluyendo algunos algoritmos de relevancia para el cálculo de dichas distancias y de búsqueda aproximada utilizando esas mismas métricas. Esta presentación pretende mostrar un paralelo comparativo entre las diferentes distancias a la vez que una nomenclatura que permita la estandardización en pro de la inclusión de diferentes distancias y excluya los términos ambiguos utilizados hasta ahora. Abstract This paper shows the different distances that represents the maximus k errors allowed when approximate stringn matching is done. This paper also introduces an explanation of the most used algorithms and the actual ones as well. The goal of the present work is to show a comparative survey of the actual metrics used in approximate string matching and a standard way to use the terms that have growing in number and in complexity. Key words: Approximate string matching, edit distances, pattern recognition. Palabras claves: Búsqueda aproximada de texto, distancias de edición, reconocimiento de patrones.

2 14 Universidad El Bosque - Facultad de Ingeniería de Sistemas I. INTRODUCCIÓN Este trabajo tiene como objetivo mostrar el estado del arte de la búsqueda aproximada desde el punto de vista de las distancias entre las cadenas de caracteres de texto. La búsqueda aproximada es un tema muy estudiado y activo, que consta del intento por encontrar el número de apariciones de determinado patrón en un texto permitiendo un cierto número de diferencias o errores. Existen varios trabajos anteriores sobre el estado del arte [6]-[3]-[34]; el presente trabajo no pretende remplazarlos, sino complementarlos dando una visión y panorama general desde el punto de vista clasificatorio de las distancias que se han trabajado como medida de los errores entre determinados textos diferentes; hasta ahora el panorama se ha dado generalmente por la forma o método tal que los algoritmos se ocupan de los problemas asociadas a diferentes distancias, estas distancias son las métricas que permiten enumerar las diferencias o similitudes y poder llegar a cuantificar la búsqueda, contando las operaciones de edición necesarias para convertir una cadena en otra. En el presente artículo se pretende mostrar los algoritmos utilizados y reconocidos hoy en día para las diferentes distancias, muy generalmente, con el ánimo de buscar parecidos y patrones entre las soluciones planteadas a una distancia en particular, así como entre las diferentes distancias. Se tratan las distancias más reconocidas, así como también, unas distancias menos trabajadas, pero importantes al intentar ver similitudes entre diferentes tipos de problemas. Distancias de Edición Figura 1. Contenido del documento Introducción Aplicaciones Distancias Conclusiones En la Figura 1 se puede ver la organización que lleva este documento. La siguiente sección tratará de las definiciones y el glosario de conceptos utilizados en el presente trabajo donde se define la nomenclatura particular de cada término; esto también como objetivo de este trabajo, que pretende generar una estandarización de nomenclaturas y conceptos en este tema. En la sección tres se encontrarán las diferentes distancias y sus explicaciones que también pretende estandarizar a cual asociar ciertos problemas. La sección cuatro trata algunos de los algoritmos relevantes a través de la historia de dichas distancias y la explicación de uno o más algoritmos actualmente aceptados, ya sea por su complejidad o sencillez, que resuelva el problema para esa distancia. Las secciones finales abordarán las conclusiones y algunos resultados experimentales presentados por los autores, las conclusiones también abarcan una mirada a algunas posibles direcciones que el trabajo en esta área puede tomar. Julio de 007 II. DEFINICIONES El problema que nos atañe durante estas páginas es la búsqueda aproximada de texto, más conocido por su nombre en inglés: Approximate String Matching [34], que es la búsqueda de una cadena de caracteres en otra donde se admite un número máximo de errores, más específicamente se tratará las distancias entre cadenas de caracteres. Como es común en todas las disciplinas, este problema contiene un lenguaje específico que se ha ido acuñando con el pasar del tiempo y el avance del estudio y las investigaciones en este campo. Así, en esta sección se mostrarán y definirán algunos conceptos necesarios para la mejor concepción del campo de estudio, incluyendo el presente artículo. Así se presentan una serie de conceptos, mostrando una nomenclatura que permita su correcta interpretación, es basada en la utilizada por la mayoría de los autores citados en este trabajo, pero principalmente en [7], que presenta una muy buena estandarización y definición. 1) Alfabeto: Es un conjunto finito de símbolos, donde cada símbolo representa una unidad e independencia de los otros símbolos. Estos símbolos, también llamados caracteres, no se repiten en el mismo alfabeto y son representados irrepetiblemente por una gráfica y un número binario determinado. Al referirse a un alfabeto se utilizará la letra griega sigma mayúscula ( ), y su representación por extensión contendrá los símbolos o caracteres que lo componen separados por comas entre corchetes. El alfabeto comúnmente utilizado en las cadenas de ADN se representaría así: = {A, C, G, T}. ) Cadena de caracteres: Es un conjunto finito de símbolos que pertenecen a determinado alfabeto. Se representarán por sus símbolos seguidos y en letra cursiva, es posible identificarlos mediante un nombre en letras minúsculas que se le asigna mediante el símbolo igual, ej., cad= AAACCCTTTGA. El número de caracteres o símbolos de determinada cadena se especifica mediante el nombre de la cadena con dos barras verticales, una al inicio y otra al final del nombre, ej., cad =11. También es posible representar una cadena que haga parte de otra que no necesariamente contenga toda la extensión de la cadena original indicando los índices iniciales y finales entre paréntesis cuadrados como sub-índice al nombre de la cadena, ej. teniendo la cadena = hola mundo también la podemos escribir como: cadena = cadena [1:::10] y si se

3 Revista de Tecnología - Journal of Technology Volumen 6, No., Julio - Diciembre desea obtener una sub-cadena es posible notarla como cadena [6:10] = mundo. Así un sub-índice representa una sub cadena o un único carácter, es decir, cadena = 'o', y cadena i representa el i-ésimo carácter de la cadena. También es posible hacer repeticiones de caracteres en una cadena mediante el super- índice que denotaría el número. 3) Patrón, texto y errores: Patrón es la cadena de caracteres que es buscada en un texto, es un patrón porque también se buscan sus similitudes, es decir las cadenas o sub-cadenas contenidas en el texto, que no siendo idénticas al patrón se pueden convertir en él haciendo una serie de operaciones; si se le asigna determinado peso a cada operación realizada, la suma de estos pesos se definen como errores. El patrón se denota con la letra p minúscula, ej., p= ACG ; el texto con la letra t minúscula, ej, t = ACCCGGGAGGGGAGGTTTT, y finalmente el número de errores permitidos se denota mediante la letra k minúscula, ej., k = 3. Estos errores hacen referencia a una diferencia específica entre el texto y el patrón, esto es, que en el i-ésimo carácter de ambas cadenas se encuentren diferentes símbolos. 4) Alineamiento y transcripción: Son términos usados por varios autores [1]. El alineamiento busca una forma de representar una transformación de una cadena en otra y la transcripción presentar la información necesaria de como se transforma una cadena en otra. En otras palabras, es la secuencia de operaciones de edición, tales que, se transforma una cadena en otra [4]. 5) Distancia o métrica de similitud: Las operaciones, que serán explicadas a profundidad en esta sección, poseen un peso que será adicionado a un contador cada vez que se realice una de estas operaciones y llevará registro de la distancia entre una cadena y otra. Dependiendo de las operaciones permitidas las distancias toman nombre y serán el objeto de estudio en el presente trabajo, se presentará una sección completa destinada a enumerar y explicar diferentes métricas Es importante anotar que la distancia conocida como Levenshtein también es conocida, generalmente, como distancia de edición, para evitar ambigüedades, en este texto se referirá a esta distancia como distancia Levenshtein. 6) Búsqueda Exacta: Cuando se tienen dos cadenas de caracteres de longitud mayor a cero y un alfabeto común, un problema típico surge de la necesidad de encontrar una de las cadenas en la otra y el número de esas ocurrencias. A ese problema se le suele llamar búsqueda exacta, es decir, la búsqueda de un determinado texto en otro sin admitir ningún tipo de error. 7) Búsqueda Aproximada: Es la búsqueda de una cadena en otra donde se admite un número determinado de errores, estos errores son delimitados por las operaciones descritas más adelante en este documento. Es una variación de la búsqueda exacta en la que un buen número de disciplinas ha encontrado una herramienta para la búsqueda de ciertos patrones donde la búsqueda exacta no ofrece una solución satisfactoria. Se encuentran varias adaptaciones y variaciones dependiendo de lo que se busca y las restricciones, ej., Si se codifican los textos y en uno de ellos se utiliza un alfabeto binario se habla de una clase de búsqueda aproximada parametrizada [1], visto de otra forma es la búsqueda definida por cadenas parametrizadas como Brenda Baker define en [3], tipos de cadenas como una serie de construcciones a partir de diferentes alfabetos. 8) Búsqueda probabilística de proximidad: Este término muy utilizado desde las bases de datos multimediales hasta la predicción de funciones, pasando obviamente por la bioinformática y afines, se define como la búsqueda para espacios métricos, donde casi todos los trabajos existentes se refieren a búsqueda exacta, en este espacio las métricas son particulares e informativo para el lector, pero este trabajo se centra en la búsqueda aproximada [8]. 9) Operaciones de Bits: Algunos algoritmos basan su funcionamiento en operaciones con bits, en este artículo sólo se utilizarán dos valores lógicos para la representación de un bit. El valor verdadero se representará con un cero y el falso mediante el uno. Las operaciones serán referidas mediante los siguientes símbolos: Negación: También conocida como complemento, se utiliza cuando se desea obtener el inverso lógico de uno o una serie de bits y se denotará por el símbolo ~ antes del identificador del bit o de la palabra de bits, ej., val = , ~ val = Conjunción Lógica: Conocida como el y lógico, y hace referencia a la obligatoriedad de bits verdaderos para obtener una salida verdadera. Se representara mediante el símbolo ampersand (&) y su tabla de verdad se encuentra en la Tabla I. Disyunción Lógica Inclusiva: Conocida como la o lógica, y hace referencia a la validación como verdadero a partir de uno o más bits verdaderos. Se representará mediante una barra vertical ( ) y su tabla de verdad se encuentra en la Tabla II. Disyunción Lógica Exclusiva: Conocida como la o exclusiva, y hace referencia a la validación como verdadero a partir de un solo bit verdadero. Se representará mediante el símbolo y su tabla de verdad se encuentra en la Tabla III.

4 16 Universidad El Bosque - Facultad de Ingeniería de Sistemas Desplazamiento: Corresponde al corrimiento en un bit. Puede realizarse en sentido izquierda-derecha o derechaizquierda y se rellena con determinado bit. Se denota con dos símbolos mayor-que o menor-que mostrando la dirección del desplazamiento, y la representación de un bit del lado de abertura del símbolo, este bit será el que llene el último espacio que ha quedado vacío después del corrimiento, ej., si se tiene la palabra de bits pal = entonces la operación de desplazamiento a la derecha con relleno de cero sería representado así: 0»pal = , y la operación de desplazamiento a la izquierda con relleno de uno se representaría de la siguiente forma: pal«1 = reglas, una distancia de edición, el juego consistía en que al dar dos palabras, una inicial y otra final, encontrar un conjunto de palabras tales que formen una cadena de palabras donde partiendo de la inicial sólo sea posible adicionar o remover una letra, cambiar una letra por otra o usar las mismas letras en diferente orden para finalmente terminar la cadena con la palabra final dada. Un ejemplo de este juego se puede observar en la Tabla IV. 1) Inserción: Consiste en agregar un carácter más en una determinada posición de una cadena. Por ejemplo, si se quisiera convertir la palabra MES en MESA, solo bastaría con utilizar la operación inserción con la letra A. TABLA I. Tabla de verdad para la conjunción lógica bit a bit b a & b TABLA II. Tabla de verdad para la disyunción lógica inclusiva bit a bit b a b TABLA III. Tabla de verdad para la disyunción lógica exclusiva bit a bit b a b A. Operaciones comunes Las operaciones que se describen a continuación, son las unidades que definen las diferentes distancias, cada distancia contiene una o más de las siguientes operaciones y es el diferenciador de esa distancia. En 1879 Charles Lutwidge Dogson 1 inventó un juego al que llamó doublet [9], este problema ya definía, por medio de sus 1 Charles L. Dogson es conocido por ser el autor de varios libros, entre ellos, Alicia en el País de las Maravillas, bajo el seudónimo de Lewis Carroll. TABLA IV. Ejemplo de Doublet MORSA Palabra Inicial MORAS Transposición de letras MORA Supresión de la letra S ROMA Transposición de letras RAMO Transposición de letras AMOR Transposición de letras molar toma hola cola ola Figura. Distancia usando la métrica Levenshtein ) Eliminación: Consiste en quitar un carácter determinado de una cadena. En el ejemplo de Doublet en la Tabla IV se puede observar como para transformar la palabra en plural MORAS a su forma en singular, se utiliza la operación de eliminación del carácter S. 3) Sustitución: Consiste en cambiar un carácter por otro diferente en una posición determinada del texto. Si se necesitara convertir la palabra ALTO en la palabra ARGO, mediante dos sustituciones es posible; la primer sustitución cambiaría la letra T por la letra G para obtener 1 1

5 Revista de Tecnología - Journal of Technology Volumen 6, No., Julio - Diciembre ALGO y a esta nueva palabra mediante otra sustitución obtenemos ARGO gracias a la sustitución de la letra L por la R. TABLA V. Ejemplo de la distancia Levenshtein 4) Transposición: Consiste en intercambiar un carácter con el siguiente o el anterior, existe también la operación en la cual se traspone todo un bloque de caracteres. III. DISTANCIAS A. Distancia Levenshtein Pese que el término distancia fue acuñado formalmente en un principio por Hamming [9], cuando Vladimir Iosifovich Levenshtein definió su concepto de distancia, revolucionaría y encaminaría muchos esfuerzos por solucionar el problema planteado por él. Temprano se iniciaría esta tarea, Fig. 3 [3], pero perdería rápidamente interés el problema de cálculo de la distancia para darle cabida al uso de la distancia en la búsqueda de patrones. Una explicación teórica y formal de esta distancia se encuentra en [4]. Visto de manera simple esta distancia permite inserciones, supresiones y reemplazos todos con costos de uno. Es importante notar que las distancias y los problemas computacionales derivados de esta distancia hace referencia a la búsqueda de la mínima distancia entre dos cadenas, esta distancia es simétrica y se encuentra en la cota: 0 d(x, y) max( x, y ) [3]. En la Tabla V se muestran las operaciones necesarias para convertir la cadena ANIVERSARIO en 3 UNIVERSALIDAD. En ese caso la distancia Leveshtein es de cinco, y es computada contando las operaciones requeridas para la transformación, es necesario cambiar la A por la U, la R por la L y la O por la D; además hay que agregar las dos últimas letras, AD. De igual forma en la Figura se observa esta métrica utilizada para diferentes palabras con un mismo patrón. Una variación de esta distancia de edición que es importante anotar, es la normalizada, introducida por Vidal, Marzal y Aibar [33]. Se define como el mínimo cociente entre las suma de los pesos de la operaciones requeridas para transformar una cadena en otra, y la longitud del camino de edición para esas operaciones. Esto es, W(P) L(P), donde P es un camino de edición entre dos cadenas, W(P) es la suma de los pesos de las operaciones de edición básicas en P, y L(P) es el número de esas operaciones, es decir P. Otra variación bien conocida además de ampliamente estudiada es la Vladimir I. Levenshtein es un científico ruso nacido en 1935 reconocido por sus trabajos en teoría de la información y por el algoritmo para el cálculo de la distancia que lleva su nombre. 3 Es bueno observar que las distancia Levenshtein es conmutable, esto es, que la distancia es la misma sin importar el orden que se calcule, es decir, d(a, b) = d(b, a). aceptación de transposición de sub-cadenas, esto es, que si cualquier subcadena se encuentra exactamente o en su forma inversa en otra cadena []. Otra variación importante yace en la distancia Levenshtein para gaps, que se basa en dos cadenas de longitud n con algunas restricciones en sus distancias particulares, buscar en cual de estas dos se encuentra un patrón [4]. También es interesante el uso de esta métrica en niveles más altos, como lo son métricas por bloques que reciben inclusive, sus propios nombres, o estructuras de datos, como es el caso de distancias entre árboles ordenados que se encuentra en [6]. B. Distancia de Edición por Bloques Esta distancia referencia directamente la métrica Levenshtein, esto es, que admite adiciones, inserciones y eliminaciones, con la particularidad de no realizar comparaciones entre caracteres, sino entre sub-cadenas completas. Esta característica implica necesariamente la adición de un algoritmo de extracción de tokens que en la mayoría de los casos, propone algoritmos NP-Completos [1]. C. Distancia Hamming Es, quizá, la distancia más sencilla y prácticamente contenida en todas las otras distancias, simplemente se permite solo reemplazos y se les da un costo de uno es importante notar que esta distancia está definida únicamente entre cadenas de igual longitud. Así esta distancia tiene un límite superior en las longitudes de las cadenas, en la Figura 4 se ven cadenas con distancias entre la unidad y la longitud de la cadena.

6 18 Universidad El Bosque - Facultad de Ingeniería de Sistemas D. Distancia Episodio Es una distancia con la particularidad de no ser simétrica, propiedad que permite la posibilidad de la existencia de una distancia infinita. Esto es causado porque en esta distancia sólo las eliminaciones son admitidas, por lo peculiar de este caso es común que al proceso de búsqueda se le llame: episode matching [3], cuando se busca una secuencia de eventos que ocurren en periodos muy cortos, la búsqueda aproximada de esta distancia puede ser una buena aproximación a su modelado. Esta distancia se simplifica a que d(x, y) = ( y - x ). Esto sucede por la posibilidad de que cierta cadena no pueda ser convertida en otra utilizando solo la operación de eliminación. La Figura 5 muestra unos ejemplos de esta distancia. pera moda rosa 3 toga mario 3 hola rosario osa rio Figura 5. Distancia usando la métrica Episodio E. Distancia Indel (LCS) Esta distancia es la que permite únicamente inserciones y eliminaciones, es muy conocida por su cercanía a la Levenshtein, esto es debido a que si cambiamos los pesos en la distancia Levenshtein obtenemos esta distancia, solo es necesario utilizar un peso de dos en la sustitución, esto es porque en esta distancia se ve la sustitución como dos operaciones, una eliminación y una inserción [16]. También es conocida como la distancia de la subsequencia común más larga denotada como LCS de la sigla en inglés: Longest Common Subsequence [3], pese que la búsqueda de esta sub-secuencia retornaría una cadena, la 4 cola popa Figura 4. Distancia usando la métrica Hamming dado métrica propiamente dicha retorna la longitud de dicha subsecuencia [18], como se observa en el ejemplo de la Figura 6, en este trabajo el interés es por la métrica, pero para el lector que desee profundizar no sólo en la métrica sino también en la obtención de la cadena es recomendable revisar [10]. En ciertos contextos genéticos toma importancia la búsqueda de un LCS que aparezca por lo menos dos veces en conjuntos de sub-strings, permitiendo inversiones, esto se conoce como el problema de la repetición del LCS [19] - [0]. Modal Colada Morada 3 Norma hola Morsa Figura 6. Distancia usando la métrica LCS Tolva Ahogala Ola F. Q-Grams Este es el nombre que se le da a sub-cadenas cortas de caracteres4 con longitud q, la idea general se basa en que dos cadenas, entre más similares fueren, más sub-cadenas de este tipo compartirán, así utilizando una ventana corrediza que busca las sub-cadenas previamente indexadas en algún tipo de estructura de dato de rápido acceso como una tabla hash, se obtiene una métrica de cuantas veces aparece cierto q-gram en algún trozo del texto y del patrón, generando la distancia. G. SAD y MAD Estas métricas utilizadas cuando la distancia del texto y del patrón son iguales, hacen referencia tanto a la suma como a la distancia diferencial absoluta. Se les da nombre por las siglas en inglés, Sum of absolute difference distance y Maximum absolute difference distance respectivamente. SAD refiere ha la distancia dada por: m i=1 a i - b i, mientras que la distancia MAD es la generada por: max{ a i- bi 1 i m} []. H. Distancia Damerau Si a la distancia Levenshtein se le adiciona la operación de transposición obtenemos esta distancia. Esto es una distancia que admite inserciones, eliminaciones y sustituciones de un carácter de determinada cadena, además también se permite la transposición de un carácter con el siguiente o el anterior en dicha cadena [14]. 4 En otros contextos también se define este nombre, como en procesamiento de voz y computación lingüística[11]

7 Revista de Tecnología - Journal of Technology Volumen 6, No., Julio - Diciembre I. Distancia de Segmento Afín Utilizada cuando la distancia Levenshtein castiga demasiado a otra cadena que realmente suele ser una abreviatura de dicha cadena, se suman dos nuevas operaciones a la distancia Levenshtein como lo son el segmento abierto y el segmento extendido, se suele utilizar un costo menor para este último segmento, asegurando una penalización menor para ciertas abreviaturas que en la métrica normal [11]. J. Distancia Smith-Waterman Si se ignoran los prefijos y los sufijos de ciertas cadenas, ya tratadas con la distancia de segmento afín se obtiene una distancia menor en casos muy especiales, como en los cuales se está trabajando con tratamientos de nombres, ej., Dr. Pepito Pérez y Pepito Pérez MD. [11]. K. Distancia Jaro Siguiendo en la misma línea de la comparación de nombres de personas, se encuentra esta métrica que computa los caracteres comunes tales que el i-ésimo carácter es igual al j-ésimo carácter donde el valor absoluto de i-j sea menor o igual que la mitad del mínimo entre las longitudes de los dos textos [11]. Además se calcula también, el número de transposiciones de estos caracteres comunes como la comparación fallida del i- ésimo de estos entre las dos diferentes cadenas. L. Distancia Markov Propuesta por Jie Wei [35], e inspirada en la teoría de campos aleatorios de Markov, esta métrica pretende utilizar información oculta, que según su autor, yace en los patrones y en los textos que se utilizan en la búsqueda aproximada, tomando ventaja de las dependencias estadísticas de los patrones y sus sub-cadenas encontrando mejoras en la ejecución de los algoritmos. En general en esta distancia se definen ciertas operaciones específicas o se toma otra distancia y se penaliza en mayor o menor grado cada operación dependiendo de los grados de cercanía y vecindad entre posiciones adyacentes tanto en el texto como en el patrón. IV. ALGORITMOS Sin lugar a dudas la computabilidad de estas distancias y de las búsquedas definidas por ellas es un punto obligado a tocar cuando se quiere contemplar un panorama generalizado de la evolución de los algoritmos que resuelven estos problemas; Giovanni Pighizzini muestra cómo es posible computar la distancia de edición efectivamente dependiendo del alfabeto y más particularmente del lenguaje utilizado [8]. Este tipo de medidas son interesantes cuando la búsqueda de nuevos algoritmos necesita los lugares de mayor entropía que obstaculizan un cómputo, en el caso de Pighizzini se concluye la eficiencia computacional mientras el tipo de lenguaje sea aceptado en tiempo polinomial por un autómata determinado. En esta misma línea, en [5] se encuentra un límite inferior de la complejidad en tiempo mínima en el cálculo de la distancia Levenshtein muy interesante, ya que es calculado a partir del número promedio de caracteres examinados para buscar r patrones aleatorios de tamaño n en un alfabeto uniforme de tamaño o, dando como resultado: (n log o(rm)/m). En general se encuentran dos tipos de algoritmos, los que resuelven el problema del cálculo de la distancia y el que resuelve el problema de la búsqueda acotada por los errores definidos en determinada distancia. Uno de los propósitos de este artículo es buscar similitudes entre las distancias, y una similitud evidente se encuentra en los algoritmos que para varias distancias simplemente se trata de una modificación a algoritmos ya probados en otras distancias. Es por esto que en esta sección se muestran por el tipo de implementación usada y como han evolucionado estas implementaciones hasta resolver el problema utilizando otras distancias. La taxonomía que utilizará este artículo se encuentra en la Figura 7 que es basada en la taxonomía encontrada en [3] y para dar una visión general de los algoritmos se utilizarán ejemplos de matriz dinámica y de su paralelización por bits. En la práctica ya existen algoritmos con muy buenas respuestas en tiempo y en espacio que resuelven muy bien el problema de la búsqueda aproximada, en general son para patrones pequeños, pero tienen un nivel de madurez suficiente para ser utilizados con confianza, un muy buen ejemplo se encuentra en [4]. Como el objetivo central de este documento se refiere a las métricas propiamente dichas no se profundiza en índices o estructuras de datos utilizadas, pero es bueno mencionar que existen algoritmos de esta categoría y bien estudiados [9]. Otro punto que no se menciona en esta revisión, es la posibilidad de entrenamiento de ciertos sistemas, para la búsqueda de distancias, en lo cual se puede profundizar en [30]. A. Programación Dinámica La técnica denominada programación dinámica consiste en reducir el espacio o el tiempo de ejecución de cierto algoritmo mediante la utilización de sub-problemas, es decir, la descomposición de un problema general en problemas más pequeños que al se resueltos de forma independiente, organizan la ejecución, la programación y reducen costos innecesarios de ejecución. Este método se utiliza para tratar con las distancias de edición desde el principio de estudio de este problema, es considerado como el primer algoritmo [3]. 1) Cálculo de la distancia Levenshtein mediante programación dinámica: Este cálculo se basa en el llenado de una matriz mediante programación dinámica que contendrá las distancias para cada prefijo de una cadena t y cada prefijo de una cadena p. Esta matriz, que se le suele dar el nombre D, se computa de la siguiente manera:

8 0 Universidad El Bosque - Facultad de Ingeniería de Sistemas TABLA VI. Matriz de programación dinámica para el cálculo de la distancia Levenshtein La distancia Levenshtein entre las cadenas UNIV ERSO y ANIV ERSARIO es cuatro, sólo es necesario intercambiar la primer letra y eliminar o insertar las tres penúltimas letras para transformar una cadena en la otra. La Figura 8 muestra el algoritmo que llena la matriz de programación dinámica para el cálculo de la distancia Levenshtein, la matriz llena se encuentra en la Figura 8. El primer paso según la ecuación (1), es el llenado de la primer fila con el número correspondiente al índice de una de las cadenas, esto se ve en el ciclo de la línea 8.3 y se observa en la fila cero de la Tabla VI, de la misma forma la primer columna es llenada con el índice de la otra cadena que corresponde a la ecuación () y se realiza siguiendo el ciclo de la línea 8.13; con esto se ha preparado la matriz para realizar la recursión necesaria. Después se computa cada celda restante dependiendo si es la intersección de una correspondencia de igualdad entre dos letras o no, buscando el mínimo para después adicionarle un peso si es el caso. Una de las ventajas y propiedades que han hecho de esta técnica tan reconocido es la facilidad para transformar el algoritmo del cálculo de la distancia en un algoritmo que calcule el número de ocurrencias del patrón en el texto, simplemente se cambia el algoritmo en el momento de llenar la primera fila, en el caso del cálculo de la distancia se utilizaba el sub-índice de la cadena de texto, en este caso se llena con ceros, línea 9.3 del algoritmo de la Figura 9. Al obtener la matriz dinámica después de ejecutar el algoritmo, se recorre la última fila buscando las ocurrencias menores o iguales al número de errores que se quiera admitir, e.j. en la Tabla VII se encuentra una ocurrencia del patrón GTA sobre el texto terminando en la posición 4, y tres ocurrencias en total con uno o menos errores. Figura 8. Algoritmo de programación dinámica para el cálculo de la distancia de Leveshtein Algoritmos Presentados con complejidad en el peor caso Basados en matriz de programación dinámica Presentados con complejidad promedio Autómatas finitos Para patrones moderados Filtrados Para patrones largos Basados en matriz de programación dinámica Paralelismo por Bits Basados en autómata Figura 7. Taxonomía de los algoritmos utilizados

9 Revista de Tecnología - Journal of Technology Volumen 6, No., Julio - Diciembre TABLA VII. Matriz de programación dinámica para búsqueda de ocurrencias mediante la distancia Levenshtein con k 1 B. Paralelización por Bits Este tipo de algoritmos ha sido muy estudiado y es actualmente de los más activos gracias a que este tipo de algoritmos son aceptados entre los mejores en la práctica, ya que en promedio tienen una muy buena velocidad de ejecución. En general, la filosofía de este tipo de algoritmos es basarse en un algoritmo pre-existente y utilizar algún tipo de fórmula booleana que permita agilizar la ejecución [3], es importante hacer notar la gran influencia del algoritmo de los cuatro rusos en la búsqueda aproximada 5. Particularmente es interesante los ajustes por paralelización para el cálculo de la matriz dinámica y la implementación de autómatas finitos. En general, un algoritmo de este tipo posee dos grandes fases, una donde se preparan los datos, llamada comúnmente etapa de pre-procesamiento y otra donde se encuentra el algoritmo propiamente dicho, se realizan las operaciones de bits y se le suele llamar etapa de actualización [13] - [15]. Es interesante revisar uno de estos algoritmos, Gene Myers en 1999 presentó un algoritmo para realizar el computo de la matriz dinámica de Levenshtein mediante paralelización por bits, donde de una forma muy elegante, teniendo en cuenta que el patrón buscado sea menor al número de bits capaz de manejar el bus de datos del sistema de computo, obtuvo una solución en tiempo lineal [13]. Hay que recalcar este punto, los algoritmos de paralelización por bits en su complejidad temporal suelen tener un factor, generalmente denotado mediante la letra k, que indica el ancho del bus de datos en bits, a simple vista esto muestra una desventaja, pero es un precio bajo teniendo en cuenta que la razón de esto es que las operaciones realizadas son ejecutadas directamente como operaciones de bits en la unidad aritmetológica del procesador, y a su vez, esta es la razón por la cual estos algoritmos tienen tan buen desempeño en promedio, estas operaciones son las que se ejecutan más rápidamente en el sistema de computo. Por otro lado y teniendo en cuenta que los sistemas de computo de hoy en día son de 3 y 64 bits, se obtiene una solución muy buena para los problemas que se desean resolver actualmente. TABLA VIII. Vectores binarios del agoritmo de Myers Figura 9. Algoritmo de programación dinámica para el cálculo del número de ocurrencias de búsqueda aproximada para la distancia Leveshtein 5 Vladimir El algoritmo de los cuatro rusos, llamado así por la nacionalidad de sus cuatro autores: V. L. Arlazarov, E. A. Dinic, M.A. Kronrod e I. A. Faradzev; quienes encontraron un método para multiplicar matrices en tiempo O( n 3 ) siempre y log(n) cuando sean matrices booleanas. Este algoritmo parte de la observación de la matriz de programación dinámica para el cálculo de la distancia de edición D, donde las celdas adyacentes y diagonales no poseen una diferencia mayor a uno, esto es, D i,j - D i-1,j-1 = 0 ó 1, para las celdas y diagonales, y para las celdas adyacentes: D i,j - D i,j-1 = -1; 0 ó 1 y D i,j - D i-1,j = -1, 0 ó 1. Gracias a esta observación se encontró la forma de codificar la matriz entera en vectores binarios que suele llamarse: codificación delta. Estos vectores se encuentran en la Tabla VIII y su significado en muy claro, guardan los valores donde las diferencias de adyacencia o diagonal valen 1, 0 ó -1; mediante la bandera positiva, es decir, para cada caso guardan un uno según su propiedad. Es claro que es sencillo reconstruir la matriz dinámica a partir de estos vectores codificados, si se saben los valores iniciales de la matriz, fácilmente se pueden seguir los vectores y realizando las operaciones aritmetológicas necesarias construir la matriz, lo importante es que estas operaciones se realizan con bits directamente y la unidad aritmetológica las puede realizar sin problemas. Un ejemplo de estos vectores se encuentran en la Tabla IX, donde están los que

10 Universidad El Bosque - Facultad de Ingeniería de Sistemas corresponden a la columna 11 de la matriz que ya se había calculado en la Tabla VII para las ocurrencias en la matriz dinámica tradicional. El algoritmo se encuentra en la Figura 10, se divide fácilmente entre el preproceso y la etapa de búsqueda, en esta última es importante notar las operaciones aritmetológicas de construcción de la matriz y como sólo existe un ciclo para realizarlas que dará una complejidad lineal en función de la longitud del texto. Este algoritmo es una versión de [13], donde se muestra una variación del algoritmo de Myers para los casos en que la longitud del patrón es menor o igual a la longitud en bits del bus de datos del sistema computacional pero es una gran ayuda para entender el funcionamiento del algoritmo. TABLA IX. Codificación delta para la columna 11 de la Tabla VII V. APLICACIONES En los últimos años las aplicaciones de la búsqueda aproximada ha ido creciendo hasta llegar a un punto de madurez y de gran complejidad. La aplicación vanguardia siempre ha sido en al campo de la biología y sus necesidades bio-informáticas, cada vez más crecientes, sobre todo en el procesamiento de cadenas de ADN. Igualmente el problema combinatorio ha sido estudiado y utilizado en una gran número de disciplinas, desde el procesamiento digital de imágenes, la minería de datos e inclusive la inteligencia artificial. Pero nunca dejando de lado el simple gusto por la solución, optimización y estudio del problema meramente computacional. Pese que las aplicaciones de la búsqueda aproximada crecen cada día, una motivación siempre latente es la simple resolución del problema computacional y el estudio de sus respuestas a diferentes algoritmos tanto prácticos como teóricos. A. Bio-Informática Actualmente las cadenas de ADN se representan como cadenas lineales muy extensas, que mediante un alfabeto de tan sólo cuatro símbolos, se logra representar el código genético de los seres vivos. Nace la necesidad de comparar diferentes cadenas de ADN, una primera aproximación al problema es utilizar búsqueda exacta con el fin de comparar las cadenas, rápidamente se observa que no es una solución adecuada al analizar un poco más a fondo el contexto del problema; las cadenas de ADN pueden diferir un poco unas de otras y ser lo suficientemente similares como para reportar una concordancia positiva. B. Reconocimiento de patrones Teniendo en cuenta la facilidad para representar distintos tipos de datos mediante cadenas de texto, p.e. imágenes, la búsqueda aproximada toma una importancia valiosa en este campo [5], también esto es visible en la musicología, donde el reconocimiento de patrones mediante estas técnicas se ha incrementado mucho en los últimos años. C. Procesamiento de señales El reconocimiento del habla ha sido uno de las aplicaciones que han tomado herramientas de las distancias de edición y en general de la búsqueda aproximada. El problema, visto simplemente, es determinar a partir de una señal de audio dada, el mensaje que se está transmitiendo. El intento obvio de realizar una comparación exacta decae cuando se observa que es muy posible que la transmisión del habla por muchas razones técnicas suele encontrase compreso y la forma de hablar implica la posibilidad que parte del mensaje no sea pronunciado[3]. El primer paso fue dotar de costo las separaciones o similaridades entre diferentes reconocimientos de mensajes recibidos, en función del error en la línea de transmisión se ha usado la distancia Levenshtein, ahora con el crecimiento de la necesidad de reconocimiento y clasificación de patrones estas técnicas y métricas toman la forma de una buena herramienta a explorar. D. Comparación de Archivos Los archivos en general son flujos de bits, que por su particularidad es sencillo leerlos en tramas de bytes y codificarlos en determinado alfabeto, es decir, es sencillo ver cualquier archivo como una serie de bytes y su codificación es sencilla. En el momento de realizar una comparación exacta, existen múltiples algoritmos que realizan la tarea en forma muy veloz, pero muchas veces es importante obtener indicadores de cambio y una medida de cercanía entre archivos, esto se realiza muy bien mediante la búsqueda aproximada en texto, ya que presta ambos servicios en el mismo tiempo. E. Corrección de Texto Es posiblemente una de las aplicaciones más antiguas y de la cual no es bueno olvidarse, teniendo en cuenta que el problema combinatorial de encontrar palabras cercanas a las que se están escribiendo podría incurrir en computaciones de distancias redundantes [17], sin contar solo la búsqueda exacta en un diccionario que desencadene la búsqueda aproximada ha tomado fuerza desde que las aplicaciones ofimáticas se convirtieron en un residente obligado de los sistemas de cómputo personales, brindando una ayuda en velocidad y presentación en los escritos a tal punto que se han convertido en indispensables.

11 Revista de Tecnología - Journal of Technology Volumen 6, No., Julio - Diciembre implementaciones, aprovechando la mezcla de varios tipos de distancias de edición. También existen propuestas de realizar conjunciones entre los algoritmos indexados y la búsqueda aproximada [7]. VI. CONCLUSIÓN Y PROPUESTAS DE DIRECCIÓN EN TRABAJOS FUTUROS Se muestra una estandarización tanto en conceptos de métricas como en las nomenclaturas relacionadas. Este trabajo muestra diferentes algoritmos pretendiendo dar una revisión de los problemas encontrados en la búsqueda aproximada utilizando diferentes distancias. Siguiendo esta revisión y estado del arte se encuentra una necesidad de encontrar una generalización de distancias que permita ser más flexible en la búsqueda aproximada sin alterar negativamente la complejidad temporal del algoritmo. Esto es, la búsqueda y el diseño de un algoritmo que permita castigar determinadas operaciones con un peso mayor, menor o inclusive cero. Visto de otro punto de vista, un algoritmo polimórfico que pueda ser configurado para realizar búsqueda con diferentes métricas; pero que tenga una complejidad temporal atractiva para su uso en promedio. Figura 10. Algoritmo de Gene Myers de cálculo de la matriz dinámica mediante paralelización por bits modificado por Hyyro para el caso m 6 k F. Minería de Datos En esta disciplina tan activa actualmente, está naciendo una nueva mirada hacia la utilización de hardware reconfigurable que se encargue de las tareas de interfaz entre los accesos a disco y el ordenamiento de la información solicitada. Estos sistemas que implican, generalmente, múltiples procesadores 6, lo que realmente deben hacer es una comparación basada en cadenas de caracteres, que mediante la búsqueda aproximada programada directamente sobre firmwares, se han encontrado resultados satisfactorios llamativos que están encaminando muchas investigaciones en ese sentido [36]. No solo es una ventaja para la minería de datos esta incursión, la misma estructura de datos física que se utiliza en algunas aplicaciones, como en [3], muestra posibles mejores computacionales que pueden ser aprovechadas para la solución o mejora del problema combinatorial. G. Bases de Datos En muchas aplicaciones de bases de datos, es común encontrar consultas de similitud, esto se suele llamar Búsqueda de vecino próximo [31], mediante tipos de índices muy especializados se da una solución a este problema, Sahinalp muestra una serie de resultados que dan cierta ventaja a la búsqueda aproximada sobre otras 6 En muchos casos, este número puede ascender a varias decenas e inclusive a cientos. REFERENCIAS [1] A. Apostolico, P. L. Erdos, and M. Lewenstein, Parameterized matching with mismatches, Journal of Discrete Algorithms, vol. 5, no. 1, pp , March 007. [Online].Available: 8c-6//ad01648d986bf4ef5b1fa8f5116c3 [] A. Arslan, An algorithm for string edit distance allowing substring reversals, in Sixth IEEE Symposium on BioInformatics and BioEngineering. BIBE 006, Arlington, VArlington, VA, 006, pp [3] B. S. Baker, Parameterized pattern matching: Algorithms and applications, Journal of Computer and System Sciences, vol. 5, no. 1, pp. 84, [4] Bar-Yossef, Z. Jayram, T. S. Krauthgamer, and R. Kumar, Approximating edit distance efficiently, in Proceedings 45th Annual IEEE Symposium on Foundations of Computer Science, 004. Haifa, Israel: Dept. of Electr. Eng., Technion, Oct. 004, pp [5] H. Bunke and J. Csirik, Parametric string edit distance and its application to pattern recognition, IEEE Transactions on Systems, Man and Cybernetics, vol. 5, no. 1, pp. 0 06, Jan [6] J. A. Bustos, Estudio comparativo de algoritmos indizados para búsqueda aproximada en texto, Master's thesis, Universidad de Chile,

12 4 Universidad El Bosque - Facultad de Ingeniería de Sistemas [7] R. D. Castro, Teoría de la Computación, Lenguajes, autómatas, gramáticas, ser. Notas de Clase de la Facultad de Ciencias., U. N. d. C. Facultad de Ciencias, Ed. Universidad Nacional de Colombia, 004. [8] E. Chávez and G. Navarro, Probabilistic proximity search: Fighting the curse of dimensionality in metric spaces, Information Processing Letters,Information Processing Letters, vol. 85, no. 1, pp. 3946, January BCSD4//4b9e5165db dcbfbdbe10c3 [9] E. Chávez and G. Navarro, A metric index for approximate string matching, Theoretical Computer Science, vol. 35, no. Issues 1-3, pp. 6679, March HXBGSH1//889a4ca051eca9d b167cc4 [10] M. Crochemore, C. S. Iliopoulos, Y. J. Pinzón, and J. F. Reid, A fast and practical bit-vector algorithm for the longest common subsequence problem, Information processing Letters, vol. 80, no. 6, pp. 7985, December W6K//8ff4c55a0756ed7bdfe7fe77fef964 [11] A. K. Elmagarmid, P. G. Ipeirotis, and V. S. Verykios, Duplicate record detection: A survey, IEEE Transactions on Knowledge and Data Engineering, vol. 19, no. 1, pp. 116, 007. [1] D. Gustfield, Algorithms On Strings, Trees and Sequences, nd ed. Cambridge University Press, [13] H. Hyyrö, Extending and explaining the bit-parallel approximate string matching algorithm of myers, University of Tampere, Tech. Rep., helmu/pubs/pubs.html [14] ----, A bit-vector algorithm for computing levenshtein and damerau edit distances, Nordic Journal of Computing, vol. 10, no. 1, pp. 939, [15] ----, Bit-parallel approximate string matching algorithms with transposition, Journal of Discrete Algorithms, vol. 3, no. -4, pp. 159, June DBCF4Y1//da34c9cb978a70d1a174b18faf3c6c1 [16] H. Hyyrö, Y. Pinzón, and A. Shinohara, Fast bitvector algorithms for approximate string matching under indeldistance, in Proceedings of the 31st Annual Conference on Current Trends in Theory and Practice of Informatics (SOFSEM'05), vol Springer-Verlag, 005, pp [17] R. L. Kashyap and B. J. Oommen, An effective algorithm for string correction using generalized edit distances I: description of the algorithm and its optimality, Information Sciences, vol. 3, no., pp. 1314, ublished.pdf [18] G. M. Landau, E. Myers, and M. Ziv-Ukelson, Two algorithms for lcs consecutive suffix alignment, Journal of Computer and System Sciences, 007. [19] I. Lee and Y. J. Pinzón, Linear time algorithm for the generalised longest common repeat problem, in Proceedings of the 1th International Symposium on String Processing and Information Retrieval (SPIRE'05), S.-V. Consens and G. Navarro, Eds., vol Springer- Verlag, 005, pp [0] K. Lemström, G. Navarro, and Y. Pinzón, Practical algorithms for transposition-invariant string-matching, Journal of Discrete Algorithms, vol. 3, no. -4, pp. 679, June 005, combinatorial Pattern Matching (CPM) Special Issue. 4DBJSWW3// f08055c4cfd1cf580f [1] D. Lopresti and A. Tomkins, Block edit models for approximate string matching, Theoretical Computer Science, vol. 181, pp , [] V. Makinen, G. Navarro, and E. Ukkonen, Transposition invariant string matching, Journal of Algorithms, vol. 56, no., pp , August [3] G. Navarro, A guided tour to approximate string matching, ACM Computing Surveys (CSUR), vol. 33, no. 1, pp. 3188, March 001. [4] G. Navarro and R. Baeza-Yates, Very fast and simple approximate string matching, Information Processing Letters, vol. 7, no. 1-, pp. 6570, October Y0JBNH9//3f e8c7f068b58904c84cbe19 [5] G. Navarro and K. Fredriksson, Average complexity of exact and approximate multiple string matching, Theoretical Computer Science, vol. 31, no. -3, pp. 8390, August DB-7//4fbd86fd89d61bbed9cbd9fba1c43 [6] A. Ouangraoua, P. Ferraro, L. Tichit, and S. Dulucq, Local similarity between quotiented ordered trees, Journal of Discrete Algorithms, vol. 5, no. 1, pp. 335, March 007.

13 Revista de Tecnología - Journal of Technology Volumen 6, No., Julio - Diciembre Y3VF-1//56b1ec1b7c1b9147ef90cbfb8c1ace [7] S. Park, D. Lee, and W. Chu, Fast retrieval of similar subsequences in long sequence databases, in Proceedings 1999 Workshop on Knowledge and Data Engineering Exchange (KDEX '99), 1999, pp [8] G. Pighizzini, How hard is computing the edit distance? Information and Computation, vol. 165, no. 1, pp. 113, 001. [9] Y. Pinzón, Efficient approximate string algorithms using bit-vector techniques, Ph.D. dissertation, King's College, [30] E. S. Ristad and P. N. Yianilos, Learning string-edit distance, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 0, no. 5, pp. 553, May [31] S. Sahinalp, M. Tasan, J. Macker, and Z. Ozsoyoglu, Distance based indexing for string proximity search, in Proceedings 19th International Conference on Data Engineering, no. 5-8, March 003, pp [3] R. Sastry, N. Ranganathan, and K. Remedios, Casm: a vlsi chip for approximate string matching, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 17, no. 8, pp , Aug [33] E. Vidal, A. Marzal, and P. Aibar, Fast computation of normalized edit distances, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 17, no. 9, pp , Sep [34] R. A. Wagner and M. J. Fischer, The string-to-string correction problem, Journal of the Association for Computing Machinery, vol. 1, no. 1, pp , [35] J. Wei, Markov edit distance, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 6, no. 3, pp , Mar 004. [36] Q. Zhang, R. D. Chamberlain, R. S. Indeck, B. M. West, and J. White, Massively parallel data mining using reconfigurable hardware: Approximate string matching, in Parallel and Distributed Processing Symposium, 004. Proceedings. 18th International, vol. 16. Los Alamitos, CA, USA: IEEE Computer Society, 004, p. 59a. Artículo de Investigación Científica y Tecnológica. Sometido a Arbitraje. El Autor Juan Felipe García Es candidato a la Maestría en Ingeniería de Sistemas y Computación de la Universidad Nacional de Colombia. Es ingeniero electrónico de la Universidad El Bosque, especialista en Historia y Filosofía de la Ciencia de la misma universidad. Actualmente se desempeña como secretario del comité ejecutivo del capítulo colombiano de la sociedad de educación del IEEE. jfgarciapen@unal.edu.co

TEMA 2: Representación de la Información en las computadoras

TEMA 2: Representación de la Información en las computadoras TEMA 2: Representación de la Información en las computadoras Introducción Una computadora es una máquina que procesa información y ejecuta programas. Para que la computadora ejecute un programa, es necesario

Más detalles

1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1

1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 5.1.3 Multiplicación de números enteros. El algoritmo de la multiplicación tal y como se realizaría manualmente con operandos positivos de cuatro bits es el siguiente: 1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0

Más detalles

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad

Más detalles

ARREGLOS DEFINICION GENERAL DE ARREGLO

ARREGLOS DEFINICION GENERAL DE ARREGLO ARREGLOS DEFINICION GENERAL DE ARREGLO Conjunto de cantidades o valores homogéneos, que por su naturaleza se comportan de idéntica forma y deben de ser tratados en forma similar. Se les debe de dar un

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

UNIDADES DE ALMACENAMIENTO DE DATOS

UNIDADES DE ALMACENAMIENTO DE DATOS 1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL ELECTRÓNICA DIGITAL La electrónica es la rama de la ciencia que se ocupa del estudio de los circuitos y de sus componentes, que permiten modificar la corriente eléctrica amplificándola, atenuándola, rectificándola

Más detalles

Capitulo V Administración de memoria

Capitulo V Administración de memoria Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Definición 1.1.1. Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

Definición 1.1.1. Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas. Tema 1 Matrices Estructura del tema. Conceptos básicos y ejemplos Operaciones básicas con matrices Método de Gauss Rango de una matriz Concepto de matriz regular y propiedades Determinante asociado a una

Más detalles

❷ Aritmética Binaria Entera

❷ Aritmética Binaria Entera ❷ Una de las principales aplicaciones de la electrónica digital es el diseño de dispositivos capaces de efectuar cálculos aritméticos, ya sea como principal objetivo (calculadoras, computadoras, máquinas

Más detalles

Introducción En los años 60 s y 70 s cuando se comenzaron a utilizar recursos de tecnología de información, no existía la computación personal, sino que en grandes centros de cómputo se realizaban todas

Más detalles

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03.

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03. INFORMÁTICA Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial Curso 2013-2014 v1.0 (05.03.14) A continuación figuran una serie de ejercicios propuestos, agrupados

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

ANÁLISIS DE DATOS NO NUMERICOS

ANÁLISIS DE DATOS NO NUMERICOS ANÁLISIS DE DATOS NO NUMERICOS ESCALAS DE MEDIDA CATEGORICAS Jorge Galbiati Riesco Los datos categóricos son datos que provienen de resultados de experimentos en que sus resultados se miden en escalas

Más detalles

Materia: Informática. Nota de Clases Sistemas de Numeración

Materia: Informática. Nota de Clases Sistemas de Numeración Nota de Clases Sistemas de Numeración Conversión Entre Sistemas de Numeración 1. EL SISTEMA DE NUMERACIÓN 1.1. DEFINICIÓN DE UN SISTEMA DE NUMERACIÓN Un sistema de numeración es un conjunto finito de símbolos

Más detalles

Operación Microsoft Access 97

Operación Microsoft Access 97 Trabajar con Controles Características de los controles Un control es un objeto gráfico, como por ejemplo un cuadro de texto, un botón de comando o un rectángulo que se coloca en un formulario o informe

Más detalles

Módulo 9 Sistema matemático y operaciones binarias

Módulo 9 Sistema matemático y operaciones binarias Módulo 9 Sistema matemático y operaciones binarias OBJETIVO: Identificar los conjuntos de números naturales, enteros, racionales e irracionales; resolver una operación binaria, representar un número racional

Más detalles

CREACIÓN Y OPERABILIDAD DE UNA BASE DE DATOS DE ADN DISTRIBUIDA MEDIANTE EL USO DE UN SISTEMA GRID CREACIÓN DE ÁRBOLES DE SUFIJOS

CREACIÓN Y OPERABILIDAD DE UNA BASE DE DATOS DE ADN DISTRIBUIDA MEDIANTE EL USO DE UN SISTEMA GRID CREACIÓN DE ÁRBOLES DE SUFIJOS CREACIÓN Y OPERABILIDAD DE UNA BASE DE DATOS DE ADN DISTRIBUIDA MEDIANTE EL USO DE UN SISTEMA GRID CREACIÓN DE ÁRBOLES DE SUFIJOS BÚSQUEDA DE PATRONES HABITUALES COMPRESIÓN DE MOLÉCULAS DE ADN ESTUDIOS

Más detalles

Servicio WWW World Wide Web Office Express

Servicio WWW World Wide Web Office Express Servicio WWW World Wide Web Office Express 2000 Ciclo de Cursos Abiertos a la Comunidad Facultad de Ciencias Exactas, Ingeniería y Agrimensura. Rosario. Servicios de Internet Qué es el servicio WWW (World

Más detalles

MODELOS DE RECUPERACION

MODELOS DE RECUPERACION RECUPERACIÓN Y ORGANIZACIÓN DE LA INFORMACIÓN INGENIERÍA INFORMÁTICA RECUPERACIÓN Y ACCESO A LA INFORMACIÓN MODELOS DE RECUPERACION AUTOR: Rubén García Broncano NIA 100065530 grupo 81 1 INDICE 1- INTRODUCCIÓN

Más detalles

SISTEMAS DE NUMERACIÓN. Sistema decimal

SISTEMAS DE NUMERACIÓN. Sistema decimal SISTEMAS DE NUMERACIÓN Sistema decimal Desde antiguo el Hombre ha ideado sistemas para numerar objetos, algunos sistemas primitivos han llegado hasta nuestros días, tal es el caso de los "números romanos",

Más detalles

LiLa Portal Guía para profesores

LiLa Portal Guía para profesores Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista

Más detalles

Charla N 6: Utilidades de Consulta de datos.

Charla N 6: Utilidades de Consulta de datos. 1 Charla N 6: Utilidades de Consulta de datos. Objetivos Generales: La manipulación de los datos organizados en forma de lista, donde la lista relaciones diferentes ocurrencias de una información común,

Más detalles

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO I. SISTEMAS NUMÉRICOS DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO LIC. LEYDY ROXANA ZEPEDA RUIZ SEPTIEMBRE DICIEMBRE 2011 Ocosingo, Chis. 1.1Sistemas numéricos. Los números son los mismos en todos

Más detalles

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema Sistema de Gestión Portuaria Uso General del Sistema Uso General del Sistema Página 1 de 21 Contenido Contenido... 2 1.Ingreso al Sistema... 3 2.Uso del Menú... 6 3.Visualizar Novedades del Sistema...

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN I. P. N. ESIME Unidad Culhuacan INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA UNIDAD CULHUACAN INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN LABORATORIO

Más detalles

UNIDAD I: LÓGICA PROPOSICIONAL

UNIDAD I: LÓGICA PROPOSICIONAL UNIDAD I: LÓGICA PROPOSICIONAL ASIGNATURA: INTRODUCCIÓN A LA COMPUTACIÓN CARRERAS: LICENCIATURA Y PROFESORADO EN CIENCIAS DE LA COMPUTACIÓN DEPARTAMENTO DE INFORMÁTICA FACULTAD DE CIENCIAS FÍSICO MATEMÁTICA

Más detalles

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION CHIQUINQUIRA (BOYACA) 2015 1 CONTENIDO Pág. QUE ES UN SISTEMA BINARIO. 3 CORTA HISTORIA DE LOS

Más detalles

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016! INFORMÁTICA Práctica4. ProgramaciónbásicaenC. GradoenIngenieríaenElectrónicayAutomáticaIndustrial Curso2015H2016 v2.1(18.09.2015) A continuación figuran una serie de ejercicios propuestos, agrupados por

Más detalles

Profesor: M. en C. Luis Rodolfo Coello Galindo

Profesor: M. en C. Luis Rodolfo Coello Galindo Área Académica: Computación Tema: Seguridad en Redes Profesor: M. en C. Luis Rodolfo Coello Galindo Periodo: Julio Diciembre de 2013 Tema: Network Security Abstract The network security comprises an area

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

Capítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8

Capítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8 Dpto. de ATC, Universidad de Sevilla - Página de Capítulo : INTRODUCCIÓN SISTEMAS DE REPRESENTACIÓN NUMÉRICA Introducción Bases de numeración Sistema decimal Sistema binario Sistema hexadecimal REPRESENTACIÓN

Más detalles

Los números racionales

Los números racionales Los números racionales Los números racionales Los números fraccionarios o fracciones permiten representar aquellas situaciones en las que se obtiene o se debe una parte de un objeto. Todas las fracciones

Más detalles

MATERIAL 2 EXCEL 2007

MATERIAL 2 EXCEL 2007 INTRODUCCIÓN A EXCEL 2007 MATERIAL 2 EXCEL 2007 Excel 2007 es una planilla de cálculo, un programa que permite manejar datos de diferente tipo, realizar cálculos, hacer gráficos y tablas; una herramienta

Más detalles

Análisis de los datos

Análisis de los datos Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Análisis de los datos Hojas de cálculo Tema 6 Análisis de los datos Una de las capacidades más interesantes de Excel es la actualización

Más detalles

Roberto Quejido Cañamero

Roberto Quejido Cañamero Crear un documento de texto con todas las preguntas y respuestas del tema. Tiene que aparecer en él todos los contenidos del tema. 1. Explica qué son los modos de presentación en Writer, cuáles hay y cómo

Más detalles

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda: Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor

Más detalles

UNIDAD 2 Configuración y operación de un sistema de cómputo Representación de datos Conceptos El concepto de bit (abreviatura de binary digit) es fundamental para el almacenamiento de datos Puede representarse

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

Cálculo Simbólico también es posible con GeoGebra

Cálculo Simbólico también es posible con GeoGebra www.fisem.org/web/union ISSN: 1815-0640 Número 34. Junio de 2013 páginas 151-167 Coordinado por Agustín Carrillo de Albornoz Cálculo Simbólico también es posible con GeoGebra Antes de exponer las posibilidades

Más detalles

Operación de Microsoft Word

Operación de Microsoft Word Generalidades y conceptos Combinar correspondencia Word, a través de la herramienta combinar correspondencia, permite combinar un documento el que puede ser una carta con el texto que se pretende hacer

Más detalles

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 1 de agosto de 2003 1. Introducción Cualquier modelo de una situación es una simplificación de la situación real. Por lo tanto,

Más detalles

VII. Estructuras Algebraicas

VII. Estructuras Algebraicas VII. Estructuras Algebraicas Objetivo Se analizarán las operaciones binarias y sus propiedades dentro de una estructura algebraica. Definición de operación binaria Operaciones como la suma, resta, multiplicación

Más detalles

Naturaleza binaria. Conversión decimal a binario

Naturaleza binaria. Conversión decimal a binario Naturaleza binaria En los circuitos digitales sólo hay 2 voltajes. Esto significa que al utilizar 2 estados lógicos se puede asociar cada uno con un nivel de tensión, así se puede codificar cualquier número,

Más detalles

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte)

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte) Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte) Unidad de trabajo 2: INFORMÁTICA BÁSICA... 1 1. Representación interna de datos.... 1 1.2. Sistemas de numeración.... 2 1.3. Aritmética binaria...

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto INFORMÁTICA INFORMÁTICA 1 Sesión No. 4 Nombre: Procesador de Texto Contextualización La semana anterior revisamos los comandos que ofrece Word para el formato del texto, la configuración de la página,

Más detalles

Copyright 2011 - bizagi. Gestión de Cambios Documento de Construcción Bizagi Process Modeler

Copyright 2011 - bizagi. Gestión de Cambios Documento de Construcción Bizagi Process Modeler Copyright 2011 - bizagi Gestión de Cambios Bizagi Process Modeler Tabla de Contenido Gestión de Cambios... 4 Descripción... 4 Principales factores en la Construcción del Proceso... 5 Modelo de Datos...

Más detalles

Capítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones.

Capítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones. Capítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones. 2.1 Revisión sistema reconocimiento caracteres [9]: Un sistema de reconocimiento típicamente esta conformado por

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

1.4.1.2. Resumen... 1.4.2. ÁREA DE FACTURACIÓN::INFORMES::Pedidos...27 1.4.2.1. Detalle... 1.4.2.2. Resumen... 1.4.3. ÁREA DE

1.4.1.2. Resumen... 1.4.2. ÁREA DE FACTURACIÓN::INFORMES::Pedidos...27 1.4.2.1. Detalle... 1.4.2.2. Resumen... 1.4.3. ÁREA DE MANUAL DE USUARIO DE ABANQ 1 Índice de contenido 1 ÁREA DE FACTURACIÓN......4 1.1 ÁREA DE FACTURACIÓN::PRINCIPAL...4 1.1.1. ÁREA DE FACTURACIÓN::PRINCIPAL::EMPRESA...4 1.1.1.1. ÁREA DE FACTURACIÓN::PRINCIPAL::EMPRESA::General...4

Más detalles

Ampliación de Estructuras de Datos

Ampliación de Estructuras de Datos Ampliación de Estructuras de Datos Amalia Duch Barcelona, marzo de 2007 Índice 1. Diccionarios implementados con árboles binarios de búsqueda 1 2. TAD Cola de Prioridad 4 3. Heapsort 8 1. Diccionarios

Más detalles

1.1. Introducción y conceptos básicos

1.1. Introducción y conceptos básicos Tema 1 Variables estadísticas Contenido 1.1. Introducción y conceptos básicos.................. 1 1.2. Tipos de variables estadísticas................... 2 1.3. Distribuciones de frecuencias....................

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

Observatorio Bancario

Observatorio Bancario México Observatorio Bancario 2 junio Fuentes de Financiamiento de las Empresas Encuesta Trimestral de Banco de México Fco. Javier Morales E. fj.morales@bbva.bancomer.com La Encuesta Trimestral de Fuentes

Más detalles

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Especificación algebraica ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Un tipo abstracto de datos se determina por las operaciones asociadas, incluyendo constantes que se consideran como operaciones sin

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores

PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores Martha Alicia Alles Es contadora pública nacional, doctora por la Universidad de Buenos Aires en la especialidad

Más detalles

Capítulo 9. Archivos de sintaxis

Capítulo 9. Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

Más detalles

Representación de números en binario

Representación de números en binario Representación de números en binario Héctor Antonio Villa Martínez Programa de Ciencias de la Computación Universidad de Sonora El sistema binario es el más utilizado en sistemas digitales porque es más

Más detalles

Matemática de redes Representación binaria de datos Bits y bytes

Matemática de redes Representación binaria de datos Bits y bytes Matemática de redes Representación binaria de datos Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo pueden entender

Más detalles

Computación Evolutiva - Mutación: Cruza, Inversión y Mutación para Permutaciones

Computación Evolutiva - Mutación: Cruza, Inversión y Mutación para Permutaciones Computación Evolutiva - Mutación: Cruza, Inversión y Mutación para Permutaciones Dr. Gregorio Toscano Pulido Laboratorio de Tecnologías de Información Centro de Investigación y de Estudios Avanzados del

Más detalles

ESTADÍSTICA APLICADA A LA INVESTIGACIÓN EN SALUD Construcción de una Base de Datos

ESTADÍSTICA APLICADA A LA INVESTIGACIÓN EN SALUD Construcción de una Base de Datos Descargado desde www.medwave.cl el 13 Junio 2011 por iriabeth villanueva Medwave. Año XI, No. 2, Febrero 2011. ESTADÍSTICA APLICADA A LA INVESTIGACIÓN EN SALUD Construcción de una Base de Datos Autor:

Más detalles

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones Fracciones. Las fracciones y los números Racionales Las fracciones se utilizan cotidianamente en contextos relacionados con la medida, el reparto o como forma de relacionar dos cantidades. Tenemos entonces

Más detalles

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos. RAIDS MODO LINEAL Es un tipo de raid que muestra lógicamente un disco pero se compone de 2 o más discos. Solamente llena el disco 0 y cuando este está lleno sigue con el disco 1 y así sucesivamente. Este

Más detalles

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS EtsiIngenio Inteligencia Artificial 1 Raposo López Alejandro Sánchez Palacios Manuel Resumen dibujo de grafos mediante algoritmos genéticos

Más detalles

UNIDAD 4 PROCESOS DE MARKOV

UNIDAD 4 PROCESOS DE MARKOV UNIDAD 4 PROCESOS DE MARKOV Anteriormente se han cubierto modelos estáticos, esto es, modelos cuyos parámetros permanecen sin cambio a través del tiempo. Con excepción de programación dinámica donde se

Más detalles

Guía N 1: Fundamentos básicos(i)

Guía N 1: Fundamentos básicos(i) 1 Guía N 1: Fundamentos básicos(i) Objetivos Generales: Ver una breve descripción de las capacidades más comunes de Excel Objetivos específicos: Descripción de los elementos de un libro: Hojas, iconos,

Más detalles

PROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN

PROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN PROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN GESTIÓN DE PROYECTOS CON PLANNER AVC APOYO VIRTUAL PARA EL CONOCIMIENTO GESTIÓN DE PROYECTOS CON PLANNER Planner es una poderosa herramienta de software

Más detalles

Aproximación local. Plano tangente. Derivadas parciales.

Aproximación local. Plano tangente. Derivadas parciales. Univ. de Alcalá de Henares Ingeniería de Telecomunicación Cálculo. Segundo parcial. Curso 004-005 Aproximación local. Plano tangente. Derivadas parciales. 1. Plano tangente 1.1. El problema de la aproximación

Más detalles

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP Características del Explorador de Windows El Explorador de Windows es una de las aplicaciones más importantes con las que cuenta Windows. Es una herramienta indispensable

Más detalles

Banco de la República Bogotá D. C., Colombia

Banco de la República Bogotá D. C., Colombia Banco de la República Bogotá D. C., Colombia Subgerencia de Informática Departamento de Seguridad Informática MANUAL DE USUARIO PARA EL SERVICIO - SISTEMA DE GESTIÓN PKI DE USUARIOS ROAMING - USI-GI-56

Más detalles

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007 Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el

Más detalles

Árboles AVL. Laboratorio de Programación II

Árboles AVL. Laboratorio de Programación II Árboles AVL Laboratorio de Programación II Definición Un árbol AVL es un árbol binario de búsqueda que cumple con la condición de que la diferencia entre las alturas de los subárboles de cada uno de sus

Más detalles

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid MANUAL DE EMPRESA Modo de entrar en ÍCARO Para comenzar a subir una oferta de empleo, el acceso es a través del siguiente enlace: http://icaro.uam.es A continuación, aparecerá la página de inicio de la

Más detalles

MACROS. Automatizar tareas a través del uso de las macros.

MACROS. Automatizar tareas a través del uso de las macros. OBJETIVOS MACROS Definiciones Automatizar tareas a través del uso de las macros. Grabar Ejecutar Manipular macros. Tipos de Macros en Excel Introducción Las operaciones tradicionales que se pueden realizar

Más detalles

DE VIDA PARA EL DESARROLLO DE SISTEMAS

DE VIDA PARA EL DESARROLLO DE SISTEMAS MÉTODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS 1. METODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS CICLO DE VIDA CLÁSICO DEL DESARROLLO DE SISTEMAS. El desarrollo de Sistemas, un proceso

Más detalles

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama. Diagrama de Flujo La presentación gráfica de un sistema es una forma ampliamente utilizada como herramienta de análisis, ya que permite identificar aspectos relevantes de una manera rápida y simple. El

Más detalles

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Introducción a la Programación 11 O. Humberto Cervantes Maceda Introducción a la Programación 11 O Humberto Cervantes Maceda Recordando En la sesión anterior vimos que la información almacenada en la memoria, y por lo tanto aquella que procesa la unidad central de

Más detalles

Informàtica i Comunicacions Plaça Prnt. Tarradellas, 11 17600 FIGUERES (Girona) Tel. 902 88 92 67 Fax 972 671 962 www.cesigrup.es

Informàtica i Comunicacions Plaça Prnt. Tarradellas, 11 17600 FIGUERES (Girona) Tel. 902 88 92 67 Fax 972 671 962 www.cesigrup.es DNS (Domain Name System)...2 La estructura... 2 Servidores DNS e Internet... 3 Dominios... 3 Servidores de nombres... 3 Servidores de nombres Principal y Secundario... 4 Los archivos del DNS... 4 Registro

Más detalles

Ecuaciones de primer grado con dos incógnitas

Ecuaciones de primer grado con dos incógnitas Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad

Más detalles

Los sistemas de numeración se clasifican en: posicionales y no posicionales.

Los sistemas de numeración se clasifican en: posicionales y no posicionales. SISTEMAS NUMERICOS Un sistema numérico es un conjunto de números que se relacionan para expresar la relación existente entre la cantidad y la unidad. Debido a que un número es un símbolo, podemos encontrar

Más detalles

Operación de Microsoft Word

Operación de Microsoft Word Trabajar con tablas Las tablas permiten organizar la información y crear atractivos diseños de página con columnas paralelas de texto y gráficos. Las tablas pueden utilizarse para alinear números en columnas

Más detalles

Manual de usuario del Centro de Control

Manual de usuario del Centro de Control Manual de usuario del Centro de Control www.ximdex.com Tabla de contenidos 1. Centro de Control...4 2. Gestor de Canales...5 2.1. Añadir un nuevo canal...6 2.2. Modificar las propiedades del canal...6

Más detalles

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx Resumen Se dan algunas definiciones básicas relacionadas con la divisibilidad

Más detalles

E 1 E 2 E 2 E 3 E 4 E 5 2E 4

E 1 E 2 E 2 E 3 E 4 E 5 2E 4 Problemas resueltos de Espacios Vectoriales: 1- Para cada uno de los conjuntos de vectores que se dan a continuación estudia si son linealmente independientes, sistema generador o base: a) (2, 1, 1, 1),

Más detalles

Microsoft Access proporciona dos métodos para crear una Base de datos.

Microsoft Access proporciona dos métodos para crear una Base de datos. Operaciones básicas con Base de datos Crear una Base de datos Microsoft Access proporciona dos métodos para crear una Base de datos. Se puede crear una base de datos en blanco y agregarle más tarde las

Más detalles

Sistemas de numeración

Sistemas de numeración Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan

Más detalles

Operación de Microsoft Excel

Operación de Microsoft Excel Representación gráfica de datos Generalidades Excel puede crear gráficos a partir de datos previamente seleccionados en una hoja de cálculo. El usuario puede incrustar un gráfico en una hoja de cálculo,

Más detalles

Sistemas de numeración y aritmética binaria

Sistemas de numeración y aritmética binaria Sistemas de numeración y aritmética binaria Héctor Antonio Villa Martínez Programa de Ciencias de la Computación Universidad de Sonora Este reporte consta de tres secciones. Primero, la Sección 1 presenta

Más detalles

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta Conciliación bancaria en CheqPAQ Cargado de estado de cuenta Introducción Con la finalidad de mantenerte informado respecto a todos los cambios y mejoras de los productos de CONTPAQ i, ponemos a tu disposición

Más detalles

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie. Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra

Más detalles

Guía paso a paso para la cumplimentación del formulario de candidatura

Guía paso a paso para la cumplimentación del formulario de candidatura Guía paso a paso para la cumplimentación del formulario de candidatura INDICE 1. INSTRUCCIONES GENERALES... 2 2. PARTENARIADO... 4 3. GRUPOS DE TAREAS... 8 4. INDICADORES... 14 5. CUMPLIMENTACIÓN DEL RESTO

Más detalles

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS ESTRUCTURA DE COMPUTADORES Pag. 8.1 LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS 1. Circuitos de multiplicación La operación de multiplicar es mas compleja que la suma y por tanto se

Más detalles