Estrategia evolutiva para el problema de la supersecuencia común más corta
|
|
- Jesús Ponce Rivero
- hace 9 años
- Vistas:
Transcripción
1 Estrategia evolutiva para el problema de la supersecuencia común más corta Marcela Rivera Martínez Facultad de Ciencias de la Computación, Benemérita Universidad Autónoma de Puebla Luis René Marcial Castillo Facultad de Ciencias de la Computación, Benemérita Universidad Autónoma de Puebla María de Lourdes Sandoval Solís Facultad de Ciencias de la Computación, Benemérita Universidad Autónoma de Puebla Sira Allende Alonso Facultad de Matemática y Computación, Universidad de la Habana sira@matcom.uh.cu Resumen El problema de la supersecuencia común más corta es un problema NP y tiene aplicaciones en compresión de datos, ingeniería mecánica, biología molecular y planeación entre otros. Este problema ha sido abordado de diversas formas, en este trabajo se propone modelar el problema de la supersecuencia común más corta con una estrategia evolutiva. Se presentan varios experimentos usando problemas prueba reportados en la literatura y se comparan los resultados con los obtenidos en otros trabajos. Palabras clave: supersecuencia común más corta; estrategia evolutiva; job shop. 1 Introducción El problema de la supersecuencia común más corta (shortest common supersequence, SCS) es un problema NP-duro bajo ciertas restricciones concernientes al tamaño del alfabeto y la longitud de las cadenas [10, 20]. El problema de la SCS tiene aplicaciones en compresión de datos, ingeniería mecánica, planeación y biología molecular entre otros [12]. El problema de la supersecuencia común más corta está dado de la siguiente forma: Dado un lenguaje L sobre un alfabeto, se desea encontrar una de las cadenas w de menor longitud que sea una supersecuencia de L. Se dice que S es una supersecuencia de una cadena T, si S se puede obtener desde T mediante la inserción de cero o más símbolos de la misma cadena. Ejemplo: Dado = {a, b} y L = {ab, ba}; las siguientes cadenas son supersecuencias de L: abba, aabba, aba, bab. No son las únicas, existen muchas más, se dice que todas ellas son supersecuencias porque cada una de ellas contiene a todas las cadenas de L (aún cuando no las contengan de manera contigüa). Ahora bien, las supersecuencias
2 comunes más cortas son dos y son: S = aba y S = bab. Ambas son supersecuencias de L y son las más cortas porque ambas son de longitud 3, se denota: S = 3, es decir, la supersecuencia puede no ser única. Existen diferentes formas de resolver el problema de la SCS, entre ellas se tienen: Algoritmos secuencia por secuencia. Este tipo de algoritmos construyen la supersecuencia tomando pares de cadenas, la forma de elegir esos pares de cadenas varía dependiendo del algoritmo, entre ellos tenemos el algoritmo de programación dinámica [6], el algoritmo de torneo, etc. Algoritmos de reducción y/o expansión. Inician con alguna supersecuencia común del lenguaje L y van eliminando (y/o expandiendo) dicha supersecuencia, entre ellos están el algoritmo de reducciónexpansión [11], el algoritmo de Hubbell-Morris-Winkler [7], etc. Algoritmos símbolo por símbolo. La supersecuencia se construye símbolo a símbolo considerando algún factor que involucra a todas las cadenas del Lenguaje, Majority Merge [3], H1, H2, H3 [2, 16] son algoritmos de éste tipo. Debido a la complejidad del problema, se han abordado varias formas de resolver el problema, algunas de ellas combinan heurísticas específicas del problema con alguna heurística clásica. En este trabajo se modela el problema proponiendo una estrategia evolutiva, para ello se considera la función de aptitud como la longitud de la suepersecuencia común, en donde se utilizan dos reducciones distintas, se propone una representación del espacio de soluciones y se llevan a cabo dos diferentes tipos de mutaciones con el fin de resolver el problema de la SCS. En la siguiente sección se dará un bosquejo general de las estrategias evolutivas, para posteriormente presentar el algoritmo que resuelve el problema de la SCS y explicar en la siguiente subsección cada uno de los puntos del algoritmo; la sección 3 muestra los experimentos que se llevaron a cabo en este trabajo así como los resultados obtenidos; las conclusiones se exponen en la sección 4 y finalmente se listan las referencias consultadas para el desarrollo de éste trabajo. 2. Estrategia evolutiva Esta técnica de optimización basada en el principio de evolución de Darwin, fue originalmente desarrollada por Rechenberg [14, 15] y llevada a su forma actual por Schwefel [17, 18]. Imitan principios de la evolución natural, asociando el concepto de individuo o miembro a una solución factible del problema, y el de población a un conjunto de individuos (soluciones factibles). Los individuos se evalúan a través de una función de aptitud (fitness) que corresponde a una medida de la calidad del individuo como solución del problema [9]. La recombinación de los individuos permite la evolución de una población de generación en generación Algoritmo A continuación se presenta el algoritmo utilizado en la solución del problema de la supersecuencia común más corta. Entrada: Lenguaje L y alfabeto 1. Generar la población inicial 2. Desde 1 hasta la cantidad de generaciones hacer 2.1 Evaluar la población de forma colectiva 2.2 Seleccionar la población a mutar 2.3 Desde 1 hasta la cantidad de cadenas a mutar Aplicar mutación Evaluar individualmente Seleccionar la nueva población
3 2.4 Fin de Fin de 2 SALIDA: Supersecuencia común de L bajo el alfabeto así como la longitud de dicha supersecuencia Modelación del problema El problema de la supersecuencia común más corta, está conformado por un conjunto k de cadenas c i cada una de ellas de tamaño n i. El cromosoma se representa con valores enteros de tamaño n 1 +n 2 + n k, y cada valor entero entre 1 y k, de esta forma la población inicial se genera concatenando aleatoriamente todas las cadenas en L, esto garantiza que toda la población inicial sea factible. En este algoritmo se presentan dos evaluaciones una colectiva y otra individual que aparece en la parte de mutación. La evaluación de forma colectiva, se refiere a que todos los individuos de la población serán evaluados de acuerdo a una función de aptitud. La función de aptitud está dada por la longitud de la supersecuencia común más pequeña obtenida al aplicarle dos reducciones: R1 seguida de R2 y viceversa [13]. La primera reducción (R1) consiste en dada la supersecuencia común de L (S ), es decir, un individuo de la población inicial, de tamaño p considerando S de izquierda a derecha, ir marcando en una matriz M kxp aquellos caracteres que correspondan a la cadena k de L, hacer esto para cada cadena que está en L, posteriormente, eliminar de S aquellos caracteres que correspondan a las columnas cuya suma al final de revisar todas las cadenas de L sea cero, lo cual significa que el símbolo no se utiliza. Ejemplo: Dado = {a, b} y L = {ab, ba} y la cadena w = abba, se aplica R1. Se construye una matriz M 2x4, se verifica para la primera cadena de L (ab) y se marcan en la matriz de izquierda a derecha la posición cuyo carácter coincida con el símbolo de la cadena del lenguaje, lo mismo se hace para la cadena restante de L y al final se suman la cantidad de columnas marcadas, se obtiene lo siguiente: a b b a X X M X X Como se puede observar la tercera columna tiene un valor de cero, lo cual significa que se puede prescindir de ésta. En la segunda reducción (R2) se realiza el mismo procedimiento pero se hace considerando S de derecha a izquierda. Ejemplo: Dado = {a, b} y L = {ab, ba} y la cadena w = abba, se aplica R2. Se construye una matriz M 2x4, se verifica para la primera cadena de L (ab) y se marcan en la matriz de derecha a izquierda la posición cuyo carácter coincida con el símbolo de la cadena del lenguaje, lo mismo se hace para la cadena restante de L y al final se suman la cantidad de columnas marcadas, se obtiene lo siguiente: a b b a X X M X X Como se puede observar la segunda columna tiene un valor de cero, lo cual significa que se puede prescindir de ésta, es decir, se puede eliminar el símbolo correspondiente a la columna y seguir siendo una supersecuencia común. La selección de los individuos a mutar, se realiza de manera elitista considerando a aquellos que tengan una mejor evaluación, dado que el problema es de minimización, serán aquellos que tengan una menor evaluación en la función de aptitud.
4 Para el problema de la supersecuencia común más corta, se aplican dos tipos de mutación: la mutación por inversión y la mutación por desplazamiento. En la mutación por inversión, se generan dos números diferentes aleatorios entre 1 y p-1 posteriormente se invierte la subcadena correspondiente. Ejemplo: Sea el individuo , si los valores de las posiciones generados aleatoriamente son el 2 y el 5, lo cual correspondería las subcadena cuyos elementos son , y la inversión de dicha subcadena resulta ser , por lo tanto el individuo mutado es: La mutación por desplazamiento, realiza un corrimiento hacia la derecha, esto es, todos los alelos se recorren una posición hacia la derecha, en el caso del primer elemento, se hace de forma circular, pasando a ser ahora el último elemento. Ejemplo: Dado el individuo , el nuevo individuo mutado es: Posteriormente a esto, se evalúa de manera individual, esta evaluación, se aplica a los individuos mutados, para ello se forma una nueva función de aptitud la cual consiste de una reducción símbolo por símbolo seguida de una reducción por intercambio de izquierda a derecha y se finaliza con una reducción por intercambio de derecha a izquierda [4]. A continuación se describen cada una de éstas reducciones. La reducción símbolo por símbolo consiste en ir eliminado un símbolo cada vez, en orden consecutivo, desde 1 hasta p (longitud de S ), donde S es el tamaño de la concatenación aleatoria de las cadenas de L, seguido de esto se verifica que la nueva cadena encontrada w, sea una supersecuencia común de L bajo el alfabeto, si la cadena cumple con lo anterior es considerada, en caso contrario no se considera. En la reducción por intercambio de izquierda a derecha se realizan permutaciones de los símbolos en las posiciones j y j+1 desde 1 hasta p-1, verificándose posterior a esto que la cadena obtenida sea una supersecuencia común de L bajo, si la cadena cumple con lo anterior es considerada, en caso contrario no se considera. La reducción por intercambio de derecha a izquierda es similar, salvo que ahora se intercambian los símbolos desde p hasta 2. A continuación se selecciona la nueva población de manera elitista. 3 Experimentos y resultados El problema de transformar un job shop en un flow shop puede verse como el problema de la supersecuencia común más corta, cuando se desea minimizar la cantidad de máquinas donde todos los trabajos se ejecuten en un orden específico, la analogía que se utiliza es la siguiente: el alfabeto estará constituido por las máquinas y el lenguaje contendrá las secuencias [5]. Se utilizaron cuarenta problemas prueba correspondientes a instancias de job shop: la01-la20 [8], orb01-orb10 [1] y swv01-swv10 [19]. Las pruebas se realizaron en una máquina Intel Core i7, 2.2 Ghz, 8 Gb RAM. Se utilizaron 15 generaciones, un porcentaje de mutación del 10% y una población inicial de 18*m individuos, donde m es la cantidad de cadenas. Los resultados se presentan a continuación, en una tabla, la cual tiene la siguiente estructura: la primera columna nos indica el nombre del archivo de prueba (la, orb, swv), la segunda columna proporciona la cantidad de trabajos (n), la cantidad de máquinas (m) se reporta en la tercera columna, la cuarta columna es el resultado reportado en [4] en donde se resuelve el problema utilizando un algoritmo de búsqueda tabú, el valor que se presenta en la quinta columna corresponde a los resultados reportados en [13] aquí se utiliza una colonia de hormigas para resolver el problema, los resultados reportados tanto en [4] como en [13] son los mejores resultados reportados en la literatura para este problema, la columna seis muestra los resultados obtenidos en ése trabajo.
5 Tabla1: Resultados para los problemas la s NOMBRE n m FRAMIÑAN ACO EE la la la la la la la la la la la la la la la la la la la la Como puede observarse en la tabla 1, en donde se encuentran subrayados loe mejores valores encontrados, de los veinte problemas prueba, en 16 el resultado obtenido por la estrategia evolutiva logra igualar al mejor encontrado y reportado por Framiñan y/o Rajendran, en cuatro problemas, no encuetra el mejor reportado y en un problema mejora al mejor reportado en [4] y [13]. En la tabla 2 se observa que la estrategia evolutiva llega al mismo resultado que el mejor reportado en 9 ocasiones de 20 problemas prueba, no logra igual el mejor resultado reportado en 9 de veinte (valores en cursiva) y la estrategia evolutiva mejora el resultado en 1 problema. Por lo tanto, de los cuarenta problemas prueba, se tiene que la estrategia evolutiva mejora los resultados en un 5%, se iguala en un 62.5% y en un 30% no llega al resultado reportado en [4] y/o 13.
6 Tabla 2: Resultados para los problemas orb s y swv s NOMBRE n m FRAMIÑAN ACO EE orb orb orb orb orb orb orb orb orb orb swv swv swv swv swv swv swv swv swv swv Conclusiones Se presenta una nueva forma de solucionar el problema de la supersecuencia común más corta. Se verifica la propuesta con problemas prueba de la literatura y al compararse con resultados de otras técnicas se obtienen buenos resultados. Como trabajo futuro, se implementarán otras variantes de la estrategia evolutiva. Referencias 1. D. Applegate, W. Cook. A computational study of the job-shop problem. ORSA Journal of Computing, 3, , J. Branke, M Middendorf, F. Schneider. Improved heuristic and a genetic algorithm for finding short supersequences. OR Spektrum. Vol. 20, 39 45, D. Foulser, M. Li, Q. Yang. Theory and algorithms for plan merging, Artificial Intelligence. vol. 5, , J. M. Framiñan. Efficient heuristic approaches to transform job shops into flow shops. IIE Transactions, 37, , 2005.
7 5. J. M. Framiñan and R. Ruiz-Usano. On transforming job-shops into flow-shop, Production Planning and Control, 13, , C. B. Fraser, R. W. Irving. Approximation algorithms for the shortest common supersequence. Nordic Journal of Computing. Vol. 2, , E. A. Hubbell, M. S. Morris, and J. L. Winkler. Computeraided engineering system for design of sequence arrays and lithographic masks. US Patent , S. Lawrence. Resource constrained project scheduling: an experimental investigation of heuristic scheduling techniques, Technical report, Carnegic-Mellon University, Pittsburgh, PA, Z. Michalewicz. Genetic Algorithms+Data Structures=Evolution Programs, 3a ed., Springer, M. Middendorf. More on the complexity of common superstring and supersequence problems. Theoretical Computer Science. Vol. 125, , K. Ning and Hon Wai L. Towards a better solution to the shortest common supersequence problem: the deposition and reduction algorithm. BMC Bioinformatics. 7(4):S12, S. Rahmann. The shortest common supersequence problem in a microarray production setting Approximation algorithms for the shortest common supersequence. Bioinformatics, Vol. 19, , S. Rajendran, C. Rajendran and H. Ziegler. An Ant-Colony Algorithm to Transform Jobshops into Flowshops: A Case of Shortest-Common-Supersequence Stringology Problem. Bio-Inspired Models of Network, Information, and Computing Systems Lecture Notes of the Institute for Computer Science, Social Informatics and Telecomunications Engineering. Vol. 87, , I. Rechenberg. Evolutions strategie 94, Frommann-Holzboog Verlag, I. Rechenberg. Evolutions strategie: Optimierung Technischer Systeme Nach Prinzipien Der Biologischen Evolution, Frommann-Holzboog, Verlag, Stuttgart, M. Rivera, L. R. Marcial, L Sandoval. Heurísticas para resolver el problema de la Supersecuencia Común más corta. Research in Computing Science, 60, 55-64, H. P. Schwefel. Evolution and Optimum Seeking, Wiley, H. P. Schwefel. Evolution Strategies: A Family of Non Linear Optimization Techniques Based on Imitating Some Principles of Organic Evolution. Annals of Operations Research, volumen 1, , R. H. Storer, S. D. Wu, R. Vaccari. New search spaces for sequencing problems with application to job shop scheduling. Management Science, 38, , V. G. Timkovsky. Complexity of common subsequence and supersequence problems and related problems. Cybernetics and Systems Analysis. Vol. 25, , 1990.
ESTRATEGIAS EVOLUTIVAS PARA LA SELECCIÓN AUTOMATIZADA DE POLOS PARA LA ESTABILIZACIÓN DE UN SISTEMA DINÁMICO
III Congreso Internacional sobre Métodos Numéricos en Ingeniería y Ciencias Aplicadas S. Gallegos, I. Herrera, S. Botello, F. Zárate, y G. Ayala (Editores) ITESM, Monterrey 2004 CIMNE, Barcelona 2004 ESTRATEGIAS
Flow-Shop Dinámico. Por: Juan Carlos Rivera Samuel De Greiff
Flow-Shop Dinámico Por: Juan Carlos Rivera Samuel De Greiff 1 Configuración tipo Flow- Shop Disposición lineal de los equipos. Productos con altos niveles de estandarización. Varios productos en volúmenes
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
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
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
Un algoritmo genético híbrido para resolver el EternityII. Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau
Un algoritmo genético híbrido para resolver el EternityII Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau Temas Temas Introducción Eternity II Historia Descripción Demo Metaheurísticas Algoritmos
T E C N O L O G Í A OPTIMIZACIÓN DE MATERIALES MEDIANTE PATRONES DE CORTE EFICIENTE. Aplicación. a la INDUSTRIA
OPTIMIZACIÓN DE MATERIALES MEDIANTE PATRONES DE CORTE EFICIENTE Aplicación a la INDUSTRIA de la construcción 1 El presente estudio propone el uso de un algoritmo comúnmente utilizado en la rama de investigación
Descripción y tablas de especificaciones de las pruebas formativas. Área Matemática 2015
Descripción y tablas de especificaciones de las pruebas formativas Área Matemática 2015 De 3 de Primaria a 3 de Media Contenidos El referente conceptual de la evaluación... 3 CUADRO 1. TABLA DE ESPECIFICACIONES
Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014
Tecnologías en la Educación Matemática jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR 1 Datos Los algoritmos combinan datos con acciones. Los datos de entrada
CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de
CAPITULO 4 JUSTIFICACION DEL ESTUDIO En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de estudios previos y los alcances que justifican el presente estudio. 4.1. Justificación.
MEDIDAS DE TENDENCIA CENTRAL
CAPÍTULO 14 MEDIDAS DE TENDENCIA CENTRAL A veces, de los datos recolectados ya organizados en alguna de las formas vistas en capítulos anteriores, se desea encontrar una especie de punto central en función
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
Estructuras de Control - Diagrama de Flujo
RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS Ingeniería en Computación Ingeniería en Informática UNIVERSIDAD NACIONAL DE SAN LUIS DEPARTAMENTO DE INFORMÁTICA AÑO 2015 Índice 1. Programación estructurada 2 1.1.
Matrices Invertibles y Elementos de Álgebra Matricial
Matrices Invertibles y Elementos de Álgebra Matricial Departamento de Matemáticas, CCIR/ITESM 12 de enero de 2011 Índice 91 Introducción 1 92 Transpuesta 1 93 Propiedades de la transpuesta 2 94 Matrices
PROGRAMACIÓN LINEAL. 8.1. Introducción. 8.2. Inecuaciones lineales con 2 variables
Capítulo 8 PROGRAMACIÓN LINEAL 8.1. Introducción La programación lineal es una técnica matemática relativamente reciente (siglo XX), que consiste en una serie de métodos y procedimientos que permiten resolver
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
Estructuras de datos: Proyecto 2
Estructuras de datos: Proyecto 2 28 de mayo de 2013 Instrucciones Enviar las soluciones por email a los ayudantes, con copia a la profesora. Plazo de entrega: 16 de junio (durante todo el día). Se debe
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
1. MANEJO DE SUMATORIOS. PROPIEDADES Y EJERCICIOS.
1. MANEJO DE SUMATORIOS. PROPIEDADES Y EJERCICIOS. El sumatorio o sumatoria) es un operador matemático, representado por la letra griega sigma mayúscula Σ) que permite representar de manera abreviada sumas
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
EXPLORAR RELACIONES NUMÉRICAS EN LAS TABLAS DE MULTIPLICAR
EXPLORAR RELACIONES NUMÉRICAS EN LAS TABLAS DE MULTIPLICAR er. Grado Universidad de La Punta Consideraciones Generales: En este año es necesario realizar un trabajo específico que favorezca la construcció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
CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de
CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de cualquier modelo en el software Algor. La preparación de un modelo,
PRODUCTIVIDAD DE PROYECTOS DE DESARROLLO DE SOFTWARE: FACTORES DETERMINANTES E INDICADORES
PRODUCTIVIDAD DE PROYECTOS DE DESARROLLO DE SOFTWARE: FACTORES DETERMINANTES E INDICADORES Raúl Palma G. y Guillermo Bustos R. Escuela de Ingeniería Industrial Universidad Católica de Valparaíso Casilla
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
Implementación de algoritmos genéticos paralelos de grano burdo en redes locales de computadoras. Resumen
Implementación de algoritmos genéticos paralelos de grano burdo en redes locales de computadoras. Arturo Gómez Cortés y Raúl Leal Ascencio ITESO, Guadalajara Resumen El presente trabajo describe una arquitectura
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
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
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.
RELACIONES DE RECURRENCIA
Unidad 3 RELACIONES DE RECURRENCIA 60 Capítulo 5 RECURSIÓN Objetivo general Conocer en forma introductoria los conceptos propios de la recurrencia en relación con matemática discreta. Objetivos específicos
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
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
SEDO: SOFTWARE EDUCATIVO DE MATEMÁTICA NUMÉRICA. Lic. Maikel León Espinosa. mle@uclv.edu.cu
EDU082 Resumen SEDO: SOFTWARE EDUCATIVO DE MATEMÁTICA NUMÉRICA Lic. Maikel León Espinosa mle@uclv.edu.cu Departamento de Ciencia de la Computación Universidad Central Marta Abreu de Las Villas Carretera
Una (muy) breve introducción a la teoría de la computación
Una (muy) breve introducción a la teoría de la computación Marcelo Arenas M. Arenas Una (muy) breve introducción a la teoría de la computación 1 / 48 Ciencia de la computación Cuál es el objeto de estudio
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
GPU IMPLEMENTATIONS OF SCHEDULING HEURISTICS FOR HETEROGENEOUS COMPUTING ENVIRONMENTS
GPU IMPLEMENTATIONS OF SCHEDULING HEURISTICS FOR HETEROGENEOUS COMPUTING ENVIRONMENTS MAURO CANABÉ SERGIO NESMACHNOW Centro de Cálculo, Facultad de Ingeniería Universidad de la República, Uruguay GPU IMPLEMENTATIONS
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
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
Eduardo Kido 26-Mayo-2004 ANÁLISIS DE DATOS
ANÁLISIS DE DATOS Hoy día vamos a hablar de algunas medidas de resumen de datos: cómo resumir cuando tenemos una serie de datos numéricos, generalmente en variables intervalares. Cuando nosotros tenemos
Enfoque del Marco Lógico (EML)
Enfoque del Marco Lógico (EML) Qué es el EML? Es una herramienta analítica que se utiliza para la mejorar la planificación y la gestión de proyectos tanto de cooperación al desarrollo como de proyectos
Optimización de Procesos
Optimización de Procesos Tier I: Métodos Matemáticos de Click to edit Master title style Optimización Sección 4: Optimización Multi-Objetivo Click to Introducción edit Master title style La optimización
Tutorial Diario Dı a 6
Tutorial Diario Dı a 6 Introducción Hola! Bienvenido al sexto día del taller Programa Tus Ideas :) Hoy aprenderás a desarrollar aplicaciones tipo cuestionario o trivia donde el usuario va avanzando a través
Introducción a la Computación TFA
Introducción a la Computación TFA Departamento de Informática Facultad de Ciencias Físico, Matemáticas y Naturales- UNSL Lenguaje de Diseño de Algoritmos Estructura de Control Condicional Simple y Múltiple
Estructuras algebraicas
Tema 2 Estructuras algebraicas básicas 2.1. Operación interna Definición 29. Dados tres conjuntos A, B y C, se llama ley de composición en los conjuntos A y B y resultado en el conjunto C, y se denota
I. ALGEBRA DE BOOLE. c) Cada operación es distributiva con respecto a la otra: a. ( b + c) = a. b + a. c a + ( b. c ) = ( a + b ).
I. I.1 DEFINICION. El Algebra de Boole es toda clase o conjunto de elementos que pueden tomar dos valores perfectamente diferenciados, que designaremos por 0 y 1 y que están relacionados por dos operaciones
1. INTRODUCCIÓN 1.1 INGENIERÍA
1. INTRODUCCIÓN 1.1 INGENIERÍA Es difícil dar una explicación de ingeniería en pocas palabras, pues se puede decir que la ingeniería comenzó con el hombre mismo, pero se puede intentar dar un bosquejo
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
Actividades con GeoGebra
Conectar Igualdad - "Netbooks Uno a Uno" Actividades con GeoGebra Nociones básicas, rectas Silvina Ponce Dawson Introducción. El GeoGeobra es un programa que permite explorar nociones matemáticas desde
Ejercicios de Programación Lineal
Ejercicios de Programación Lineal Investigación Operativa Ingeniería Informática, UCM Curso 8/9 Una compañía de transporte dispone de camiones con capacidad de 4 libras y de 5 camiones con capacidad de
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.
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...
Selección Sexual Discriminatoria en un Algoritmo Evolutivo con una Matriz de Preferencias para la mejora de calidad de los Horarios de Trabajo
Selección Sexual Discriminatoria en un Algoritmo Evolutivo con una Matriz de Preferencias para la mejora de calidad de los Horarios de Trabajo Víctor Arroyo Ciencia de la Computación Universidad Católica
MINISTERIO DE EDUCACION DIVISON DE PLANIFICACION Y PRESUPUESTO. Nota Técnica METODO DE COHORTES
MINISTERIO DE EDUCACION DIVISON DE PLANIFICACION Y PRESUPUESTO Nota Técnica METODO DE COHORTES Departamento de Estudios y Estadísticas Marzo 2000 Método de cohortes I. Introducción. El propósito de esta
Programación Genética
Programación Genética Programación Genética consiste en la evolución automática de programas usando ideas basadas en la selección natural (Darwin). No sólo se ha utilizado para generar programas, sino
Un modelo híbrido de inteligencia computacional para resolver el problema de Job Shop Scheduling
Un modelo híbrido de inteligencia computacional para resolver el problema de Job Shop Scheduling Jacob Meneses Angel, Marcela Rivera Martínez, Luis René Marcial Castillo, Sandoval Solís Lourdes Benemérita
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
&$3Ì78/2 $/*25,7026 (92/87,926 $9$1=$'26 3$5$ 763 6.1. INTRODUCCIÓN
&$3Ì78/2 6.1. INTRODUCCIÓN Los primeros avances para solucionar el TSP, por medio de Algoritmos Evolutivos han sido introducidos por Goldberg y Lingle en [68] y Grefenstette en [72]. En éste área muchos
INSTITUCIÓN EDUCATIVA LA ESPERANZA AUDITORIAS INTERNAS. CÓDIGO: A1-IN01 VERSIÓN: 1 PÁGINA 1 de 6
CÓDIGO: A1-IN01 VERSIÓN: 1 PÁGINA 1 de 6 1. ESPECIFICACIONES GENERALES NOMBRE: AUDITORÌAS INTERNAS OBJETIVO: Evaluar el nivel de implementación y eficacia del S.G.C RESPONSABLE: Líder de la Gestión de
Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina
Datos del autor Nombres y apellido: Germán Andrés Paz Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina Correo electrónico: germanpaz_ar@hotmail.com =========0========= Introducción
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étodos Heurísticos en Inteligencia Artificial
Métodos Heurísticos en Inteligencia Artificial Javier Ramírez rez-rodríguez Ana Lilia Laureano-Cruces Universidad Autónoma Metropolitana Métodos Heurísticos en Inteligencia Artificial Los problemas de
Apuntes de Matemática Discreta 9. Funciones
Apuntes de Matemática Discreta 9. Funciones Francisco José González Gutiérrez Cádiz, Octubre de 004 Universidad de Cádiz Departamento de Matemáticas ii Lección 9 Funciones Contenido 9.1 Definiciones y
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
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
PRACTICA 6. VECTORES Y MATRICES.
PRACTICA 6. VECTORES Y MATRICES. 1. Introducción. Los vectores y matrices son uno de los medios principales para el almacenamiento de los datos en un programa. En esta práctica veremos todos los conceptos
ANÁLISIS DE UN JUEGO DE CARTAS: LAS SIETE Y MEDIA
ANÁLISIS DE UN JUEGO DE CARTAS: LAS SIETE Y MEDIA MaMaEuSch (Management Mathematics for European School) http://www.mathematik.uni-kl.de/~mamaeusch/ Modelos matemáticos orientados a la educación Clases
RESOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES
RESOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES 1 La ecuación 2x - 3 = 0 se llama ecuación lineal de una variable. Obviamente sólo tiene una solución. La ecuación -3x + 2y = 7 se llama ecuación lineal de
x 10000 y 8000 x + y 15000 a) La región factible asociada a las restricciones anteriores es la siguiente: Pedro Castro Ortega lasmatematicas.
Pruebas de Acceso a Enseñanzas Universitarias Oficiales de Grado (PAEG) Matemáticas aplicadas a las Ciencias Sociales II - Septiembre 2012 - Propuesta A 1. Queremos realizar una inversión en dos tipos
Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III
Complejidad - Problemas NP-Completos Algoritmos y Estructuras de Datos III Teoría de Complejidad Un algoritmo eficiente es un algoritmo de complejidad polinomial. Un problema está bien resuelto si se conocen
Administración de Empresas. 11 Métodos dinámicos de evaluación de inversiones 11.1
Administración de Empresas. 11 Métodos dinámicos de evaluación de inversiones 11.1 TEMA 11: MÉTODOS DINÁMICOS DE SELECCIÓN DE INVERSIONES ESQUEMA DEL TEMA: 11.1. Valor actualizado neto. 11.2. Tasa interna
Movimiento a través de una. José San Martín
Movimiento a través de una curva José San Martín 1. Introducción Una vez definida la curva sobre la cual queremos movernos, el siguiente paso es definir ese movimiento. Este movimiento se realiza mediante
DISEÑO DE FUNCIONES (TRATAMIENTOS)
DISEÑO DE FUNCIONES (TRATAMIENTOS) Diseño Estructurado. Estrategias para Derivar el Diagrama de Estructura. Diseño de Módulos Programables. 1. DISEÑO ESTRUCTURADO El Diseño es el proceso por el cual se
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
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
Aplicación de la inteligencia artificial a la resolución del problema de asignación de estudiantes del departamento de PDI
Aplicación de la inteligencia artificial a la resolución del problema de asignación de estudiantes del departamento de PDI Ricardo Köller Jemio Departamento de Ciencias Exactas e Ingeniería, Universidad
RESULTADOS CONSULTA CIUDADANA VIRTUAL. Consulta Laboral en Línea
RESULTADOS CONSULTA CIUDADANA VIRTUAL Consulta Laboral en Línea Septiembre, 2015 1 Agradecimientos Ponemos a disposición de ustedes los resultados de la Consulta Ciudadana Virtual, efectuada en julio de
Práctica 5. Curso 2014-2015
Prácticas de Seguridad Informática Práctica 5 Grado Ingeniería Informática Curso 2014-2015 Universidad de Zaragoza Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas
El problema del cumpleaños
El problema del cumpleaños Vicent Giner i Bosch 26 de febrero de 2004 Dedicado a mis alumnos de la Escuela Técnica Superior de Ingeniería del Diseño de la Universidad Politécnica de Valencia, en quienes
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
ADM-OPERACIONES: PERT - CPM
1. Definición Conceptual : ADMINISTRACIÓN DE PROYECTOS PERT - CPM Un Proyecto es la búsqueda de la solución inteligente al planeamiento de un problema tendente a resolver una necesidad humana. En forma
CESMA BUSINESS SCHOOL MATEMÁTICAS FINANCIERAS. TEMA 3 CAPITALIZACIÓN COMPUESTA
CESMA BUSINESS SCHOOL MATEMÁTICAS FINANCIERAS. TEMA 3 CAPITALIZACIÓN COMPUESTA Javier Bilbao García 1 1.- Capitalización Compuesta Definición: Operación financiera que persigue sustituir un capital por
CAPÍTULO 6 SIMULACIONES Y RESULTADOS
CAPÍTULO 6 SIMULACIONES Y RESULTADOS 6.1 Proceso de Simulación Las simulaciones fueros llevadas a cabo empleando como herramienta la Versión 6.5 Release 13 de Matlab. Para lo cual fue empleado un banco
TIPOS DE RESTRICCIONES
RESTRICCIONES: Las restricciones son reglas que determinan la posición relativa de las distintas geometrías existentes en el archivo de trabajo. Para poder aplicarlas con rigor es preciso entender el grado
no descompone no descompone no descompone
Problema 1. Sea I n el conjunto de los n primeros números naturales impares. Por ejemplo: I 3 = {1, 3, 5, I 6 = {1, 3, 5, 7, 9, 11, etc. Para qué números n el conjunto I n se puede descomponer en dos partes
4 Pruebas y análisis del software
4 Pruebas y análisis del software En este capítulo se presentan una serie de simulaciones donde se analiza el desempeño de ambos sistemas programados en cuanto a exactitud con otros softwares que se encuentran
UNIDAD 3: ARITMÉTICA DEL COMPUTADOR
UNIDAD 3: ARITMÉTICA DEL COMPUTADOR Señor estudiante, es un gusto iniciar nuevamente con usted el desarrollo de esta tercera unidad. En esta ocasión, haremos una explicación más detallada de la representación
Tema 3 : Algebra de Boole
Tema 3 : Algebra de Boole Objetivo: Introducción al Algebra de Boole 1 INTRODUCCIÓN George Boole creó el álgebra que lleva su nombre en el primer cuarto del siglo XIX. Pretendía explicar las leyes fundamentales
Curso Excel Básico - Intermedio
Curso Excel Básico - Intermedio Clase 4 Relator: Miguel Rivera Adonis Introducción Base de Datos: Definición de Base de Datos Ordenar datos Formulario Filtros Trabajar con Sub-Totales Validación de 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
Planeación del Proyecto de Software:
Apéndice A. Cuestionarios del Sistema Evaluador Nivel2. Requerimientos de Administración: Goal 1: Los requerimientos del sistema asociados a software están bien controlados y existe un estándar para los
Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:
Departamento de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Antioquia Arquitectura de Computadores y Laboratorio ISI355 (2011 2) Práctica No. 1 Diseño e implementación de una unidad aritmético
BASE DE DATOS RELACIONALES
BASE DE DATOS RELACIONALES Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya
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
Modelando la cadena de suministro como un problema de programación multinivel y su solución a través de la programación multiparamétrica
Modelando la cadena de suministro como un problema de programación multinivel y su solución a través de la programación multiparamétrica Introducción La importancia de la cadena de suministro Lo siento,
BASE DE DATOS UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II. Comenzar presentación
UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II BASE DE DATOS Comenzar presentación Base de datos Una base de datos (BD) o banco de datos es un conjunto
Un juego de cartas: Las siete y media
Un juego de cartas: Las siete y media Paula Lagares Federico Perea Justo Puerto * MaMaEuSch ** Management Mathematics for European Schools 94342 - CP - 1-2001 - DE - COMENIUS - C21 * Universidad de Sevilla
Introducción a la estadística y SPSS
Introducción a la estadística y SPSS Marcelo Rodríguez Ingeniero Estadístico - Magister en Estadística Universidad Católica del Maule Facultad de Ciencias Básicas Pedagogía en Matemática Estadística I
Procesamiento Digital de Imágenes. Compresión de imágenes
FICH, UNL - Departamento de Informática - Ingeniería Informática Procesamiento Digital de Imágenes Guía de Trabajos Prácticos 8 Compresión de imágenes 2010 1. Objetivos Analizar las características y el
Plan de Gestión de Configuración. Universidad Nacional de la Patagonia Austral
Plan de Gestión de Configuración Universidad Nacional de la Patagonia Austral Temario 1. Gestión de Configuración de Software 1.1 Definición 2. Plan de SCM 2.1 Estructura Organizacional 2.2 Actividades