COMPUTACIÓN EVOLUTIVA (CE) PROGRAMACIÓN GENÉTICA EVOLUCIÓN GRAMATICAL PROGRAMACIÓN POR EXPRESIÓN GENÉTICA
|
|
- Francisca Salas Maidana
- hace 8 años
- Vistas:
Transcripción
1 COMPUTACIÓN EVOLUTIVA (CE) PROGRAMACIÓN GENÉTICA EVOLUCIÓN GRAMATICAL PROGRAMACIÓN POR EXPRESIÓN GENÉTICA Angel García Baños Escuela de Ingeniería de Sistemas y Computación Universidad del Valle 04 de febrero de 2008
2 OTROS ALGORITMOS EVOLUTIVOS
3 PROGRAMACIÓN GENÉTICA
4 GP GP (Genetic Programing), ideada por Koza en Se trata de diseñar programas usando técnicas evolutivas (GAs). Aunque se puede hacer con cualquier lenguaje, con LISP hay algunas ventajas: Los programas y los datos tienen la misma forma (Expresiones-Simbólicas). Entonces, es fácil manipular programas. Las expresiones simbólicas son equivalentes al árbol de análisis (parse-tree). Las operaciones del algoritmo genético deben hacerse sobre este árbol. Es interpretado (no hace falta recompilar cada vez que hay un cambio en el programa). 4
5 GP Para resolver un problema con GP hay que definir: Conjunto de funciones (que requieren argumentos). Conjunto de terminales (variables, constantes o funciones que no requieren argumentos). Ejemplo: Conjunto de funciones = { AND, OR, NOT } Conjunto de terminales = { D0, D1 } Una posible expresión simbólica: (AND (OR D1 D0) (NOT (AND D0 D0))) OR AND NOT D1 D0 AND ÁRBOL DE ANÁLISIS (PARSING) D0 D0 5
6 GP Deben cumplirse las condiciones de suficiencia y cerradura (clausura). La propiedad de clausura requiere que cada una de las funciones del conjunto de funciones sea capaz de recibir como argumento cualquier dato (valor y tipo) que pueda retornar cualquier función, y cualquier dato (valor y tipo) del conjunto de terminales. Por ejemplo, el álgebra de Boole es cerrada: Conjunto de funciones = { AND, OR, NOT } Conjunto de terminales = { nil, T } Pero no ocurre así con la aritmética. 6
7 GP Para cerrar la aritmética hay que redefinir ciertos operadores: (defun % (numerador denominador) La función de division protegida (if (= 0 denominador) 1 (/ numerador denominador))) (defun srt (argumento) La funcion raiz cuadrada protegida (sqrt(abs argumento))) (defun gt (primer segundo) La funcion mayor-que con resultado numerico (if (> primero segundo) 1-1))) 7
8 GP En Common LISP hay un problema adicional: ciertas operaciones (ejecución condicional y ejecución iterativa) no se pueden implementar con facilidad. Ello es debido a que LISP evalúa todos los argumentos antes de pasarlos a una función. Por ejemplo: (IF-HAY-COMIDA (AVANZA) (GIRA-DERECHA)) Se realizarán las dos cosas, independientemente de la condición. Para evitarlo, el IF se implementa con una MACRO: (defmacro ifltz (condicion then else) (if (< (eval,condicion) 0) (eval,then) (eval,else))) 8
9 GP La población inicial de individuos (expresiones simbólicas) se puede generar así: Cada función tiene tantas ramas como argumentos. Los terminales no tienen ramas. Se elige al azar una función, que servirá como raíz. Se van añadiendo a sus ramas otras funciones o terminales elegidos al azar, hasta que no queden ramas libres * C * (+ (* A B) C) A B 9
10 GP Hay varias formas de realizar la inicialización: Full : Crear los programas con todos los caminos de longitud L. Para ello, en los nodos intermedios se seleccionan aleatoriamente solo funciones, y cuando se llega a la longitud L deseada, se seleccionan aleatoriamente solo terminales. Grow : Crear los programas con caminos de longitud variable, menor que L. Para ello, en los nodos intermedios se seleccionan aleatoriamente funciones y terminales,, y cuando se llega a la longitud L deseada, se seleccionan aleatoriamente solo terminales. Ramped half-and-half : se crean un número igual de programas con una profundidad especificada entre 2 y el máximo L. Por ejemplo, si se desea L=6, el 20% de la población tendrá profundidad 2, el 20% 3, el 20% 4, el 20% 5 y el 20% tendrá profundidad 6. 10
11 GP El método Ramped half-and-half : crea la mayor diversidad de formas. Es conveniente eliminar individuos que salgan repetidos en la generación 0 (en las demás no). La aptitud de un programa se calcula ejecutándolo y midiendo lo mal o bien que cumple con sus objetivos. Ello indica el punto débil de GP: requiere mucho cómputo. Los operadores de reproducción son: Cruce (intercambiar dos sub-árboles al azar de dos individuos). Mutación (eliminar al azar un sub-árbol y generar allí otro al azar). Permutación (similar al cruce, pero dentro del mismo individuo). Edición (eliminar bloques inútiles) Ej: (+ 1 2) 3 y (AND X X) X Encapsulación (definir funciones). Ej: (+ A (* B C)) (defun E0 () (* B C)) y cambiar por (+ A (E0)) 11
12 GP RESUMEN CARACTERÍSTICAS: Requiere mucha potencia de cómputo (computación paralela o distribuida). El usuario debe de saber cuales funciones primitivas son mas apropiadas para un determinado problema. Y lo mismo con las variables. Si hay funciones y/o variables superfluas, aumenta mucho el tiempo para encontrar la solución. Y si faltan funciones y/o variables, no encontrará la solución. Las constantes (PI, 1, 2, 3, etc.) se suelen generar al azar, e incluso así el GP puede encontrar la solución. Si la función de aptitud cambia suavemente en el tiempo, el GP puede encontrar la solución óptima para cada momento. El programa solución suele tener muchos intrones ( code bloat ). 12
13 GP Puede diseñar automáticamente la estructura de un programa: ADF: funciones automáticamente definidas. Por medio de operadores de: Encapsulación (Creación de una función). Borrado de una función. Adición de un argumento. Borrado de un argumento. Generación automática de bucles (ADL) y recursiones (ADR). Variables internas automáticamente definidas (arrays, colas, listas...). Constantes automáticamente generadas. 13
14 GP APLICACIONES: Integración, derivación e inversión simbólicas. Predicción de secuencias. Compresión de datos con pérdidas (imágenes...). Descubrimiento de leyes a partir de datos empíricos (leyes de Kepler...). Demostración de identidades matemáticas. Diseño en ingeniería (civil, etc...). Estrategias en robots (hormigas artificiales). Regresión simbólica. Diseño de circuitos digitales (multiplexor...). 14
15 GP Comportamiento emergente (hormigas artificiales, agentes, robots...). Diseño de controladores y automatismos (péndulo invertido, parquear un trailer...). Diseño de estrategias óptimas en juegos (Pac-Man). Diseño de arquitecturas internas (para path planning de robots...). Generación de secuencias seudoaleatorias. Clasificación de datos (Clustering, Data Mining...). 15
16 EVOLUCIÓN GRAMATICAL
17 GE GE (grammatical evolution): evolución gramatical, ideada por Michael O Neill y Conor Ryan en Gramáticas BNF (Backus-Naur Form): Contienen un conjunto de símbolos terminales (+, -, 1,2,3...) y un conjunto de símbolos no terminales. Y hay reglas de producción que permiten generar los símbolos no terminales en función de ellos mismos y de los terminales. Una gramática puede expresarse por medio de una tupla {N,T,P,S} donde N es el conjunto de símbolos no terminales, T el conjunto de símbolos terminales, P el conjunto de reglas de producción que mapean los elementos de N en T, y S es el símbolo inicial, que debe ser miembro de N. 17
18 GE Ejemplo: N = {expresion, op, pre_op, var} T = {sin, cos, tan, log, +, -, /, *, X, () } S = <expresion> P = (1) <expresion> ::= <expresion> <op> <expresion> [0] ( <expresion> <op> <expresion> ) [1] <pre_op> ( <expresion> ) [2] <var> [3] (2) <op> ::= + [0] - [1] * [2] / [3] (3) <pre_op> ::= sin [0] cos [1] tan [2] log [3] (4) <var> ::= X [0] 18
19 GE Es habitual no usar toda una especificación BNF de un lenguaje, sino solo un subconjunto de interés. En GE, el fenotipo es un programa de computador escrito en cualquier lenguaje (especificado a su vez en BNF). El genotipo es un conjunto de strings binarios de longitud variable. Los codones son grupos de 8 bits (por ejemplo). La expresión se consigue tomando secuencialmente los codones y usándolos para tomar decisiones sobre una secuencia de reglas BNF. Ejemplo de regla BNF: <sentencia> := if (<expresion>) { <sentencia>; } else { <sentencia>; } [0] <sentencia> ; <sentencia> [1] variable = <expresion>; [2] 19
20 GE Si tomamos un codón (número entre 0 y 255) y sacamos su módulo 3 (porque hay 3 reglas de producción), el resultado puede salir 0, 1 o 2 y, según salga, se elegirá una de las tres reglas de producción. Y así sucesivamente hasta lograr un programa completo (con todas las reglas resueltas en nodos terminales) o hasta que se acaben los codones. Si se acaban los codones: Se pueden volver a comenzar a extraer desde el principio, reusándolos. Aunque algunos investigadores hacen esto, no es una buena idea. Se dice que el programa resultante no es ejecutable, y se le asigna el menor valor de adaptación posible. 20
21 GE Degeneración del código genético: Como los codones software son de 8 bits, pero hay menos reglas de producción, se emplea el operador módulo. Entonces, diversos codones pueden dar lugar a la misma regla de producción (ej: 3, 6, 9, etc.. ya que 3 MOD 3 = 6 MOD 3 = 9 MOD 3 etc). A esto se le llama degeneración del código genético y es un fenómeno que ocurre también en biología, donde hay 4 3 = 64 posibles codones (61 que dan lugar a aminoácidos y 3 de STOP). Pero solo se producen 20 aminoácidos. O sea que, en promedio, hay 3 codones que producen el mismo aminoácido. La degeneración no tiene ninguna importancia en GE. 21
22 GE Se ha descubierto que de los tres nucleótidos, los dos primeros codifican el aminoácido, mientras que el tercero no suele tener importancia. Ello tiene sus consecuencias: si se produce una mutación sobre el tercer nucleótido, no suele producir cambios en el fenotipo del individuo. La teoría de la "evolución neutral" de Kimura dice que son esas mutaciones silenciosas las responsables de la gran diversidad genética que hay. 22
23 GE En GE se han introducido nuevos operadores: Duplicación: seleccionar al azar unos cuantos genes consecutivos y copiarlos al final del cromosoma. Ello sirve para: Permitir mutaciones mortales (el gen que muta puede ser imprescindible, pero como existe una copia, no hay problema). Evolucionar nuevas funciones. Producir mas cantidad de lo mismo. Poda: si un cromosoma no necesitó usar todos sus genes para generar un programa, se aplica este operador con una cierta probabilidad. La poda consiste en quitar los genes no usados. De esta manera se eliminan los intrones (genes que no se expresan). 23
24 GE Los intrones sirven para dos cosas: Permiten acumular mutaciones sin dañar el organismo (lo cual es bueno). Mas del 90% del ADN humano son intrones. Vuelven mucho más lento el proceso evolutivo (lo cual es malo). Por ello, el operador de poda se aplica con baja probabilidad (0.01%). En GE hay problemas de dependencias similares a los de GP (programación genética): cuanto mas lejos de la raíz está un gen, mas probable es que su expresión se vea alterada por los genes que están antes. 24
25 PROGRAMACIÓN POR EXPRESIÓN GENÉTICA
26 GEP GEP (gene expression programing): Programación por expresión genética, ideado por Ferreira (Univ. Azores) en Muy similar a GE, aunque con mas detallitos. En biología, un gen comienza con un codón de comienzo, continúa con la secuencia de codones que codifican la funcionalidad del gen, y termina con un codón de finalización. 26
27 GEP En GEP se separa el genotipo del fenotipo. En GAs y GPs no se hace esa separación (funcionan como los primitivos ARN). En GEP se mantiene una población de cromosomas, compuestos por genes de tamaño fijo codificados como cadenas de símbolos. Los cromosomas se reproducen como en GA (cruce, mutación, etc.). Luego cada gen se convierte a un ET (expression tree = árbol de expresión), que consiste en un programa de computador. En GEP un gen no es un símbolo, sino una secuencia de símbolos de longitud fija. Lo que usualmente ocurre es que quedan símbolos no usados (no expresados) en el gen. 27
28 GEP De esta manera, cualquier secuencia de símbolos en un gen da lugar a un ET sintácticamente correcto. Por ejemplo, la expresión: ( ) ( ) a + b * c d Se representa en el siguiente ET: (siendo Q la raíz cuadrada). * El gen que lo representa será + (leyendo el ET de arriba abajo y de izquierda a derecha): a b c Esta representación no es prefija ni postfija, sino una expresión-k. Q Q * + - a b c d - d 28
29 GEP Al revés, partiendo de un gen cualquiera: Q * + * a * Q a a b a Q a Equivale al siguiente ET: (obsérvese que no se usan los 5 últimos símbolos) Q * + * a * Q a Cuyo fenotipo es la expresión: a b a ( a + ( a * b) )* ( a * a) 29
30 GEP Cada gen está formado por una cabeza y una cola. La cabeza contiene símbolos que representan funciones y terminales, mientras que la cola contiene solo terminales. La longitud de la cabeza (h) se elige dependiendo del problema. La longitud de la cola (t) depende de h y del número de argumentos (n) de la función que tenga mas argumentos: t = h*(n-1)+1 Con estas reglas se garantiza que no quede el gen corto (es decir, que no queden funciones sin suficientes argumentos) y que el programa tenga una longitud acotada (que no pueda crecer indefinidamente, como ocurre en GP). 30
31 GEP La ventaja de GEP es que los genes son de longitud fija, mientras que los genotipos son de longitud variable. Y que no hacen falta operadores especiales de reproducción, ya que los típicos de GA valen. Y los resultados de estos operadores son siempre genes válidos: El cruce automáticamente da lugar a un gen válido. La mutación hay que hacerla con la restricción de que en la cola solo pueden aparecer símbolos terminales. 31
32 GEP Por ejemplo, si las funciones son {Q, +, -, *, /} y los terminales son {a, b}, entonces n=2. Suponiendo que queramos h=7, sale t=8 y la longitud total del gen será h+t= Q * + * a / Q a a b a a a b a Cabeza: funciones y terminales Cola: solo terminales 32
33 GEP Un cromosoma está compuesto por un número fijo de genes. Cada gen codifica un ET. Los ETs se relacionan a través de una única operación codificada al final del cromosoma. Cada gen puede evolucionar aisladamente de los demás, dentro del mismo cromosoma. Ello facilita el surgimiento de los bloques constructivos. 33
34 GEP Ejemplo (3 genes de h=4, n=2 => t=5 y longitud gen=9): Q * + * a b a a a b a a b a a a a a + * a b b a a b a F 1er. gen 2o. gen 3er. gen Operación final F Q b + * * a + * b b a b a a Nota: F = IF 34
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
Más detallesCiclo de vida y Metodologías para el desarrollo de SW Definición de la metodología
Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto
Más detallesINTRODUCCION A LA PROGRAMACION DE PLC
INTRODUCCION A LA PROGRAMACION DE PLC Esta guía se utilizará para estudiar la estructura general de programación de um PLC Instrucciones y Programas Una instrucción u orden de trabajo consta de dos partes
Más detallesAlgoritmos Genéticos. Introduccion a la Robótica Inteligente
Algoritmos Genéticos Introduccion a la Robótica Inteligente 7 Marzo 2014 (IRIN) AGs 7/03/2014 1 / 43 Índice 1 Introducción 2 Algoritmos Genéticos 3 Algunos Fundamentos Matemáticos 4 Conclusiones (IRIN)
Más detalles1. SISTEMAS DIGITALES
1. SISTEMAS DIGITALES DOCENTE: ING. LUIS FELIPE CASTELLANOS CASTELLANOS CORREO ELECTRÓNICO: FELIPECASTELLANOS2@HOTMAIL.COM FELIPECASTELLANOS2@GMAIL.COM PAGINA WEB MAESTROFELIPE.JIMDO.COM 1.1. INTRODUCCIÓN
Más detallesProgramacion Genetica
Programacion Genetica PG a Vuelo de Pajaro Desarrollado: EEUU en los 90s Pioneros: J. Koza pero Generalmente aplicado a: prediccion, clasificacion Propiedades generales: compite con NN y similares necesita
Más detallesGENERACIÓN DE CÓDIGO
GENERACIÓN DE CÓDIGO INTRODUCCION La generación de código es la fase más compleja de un compilador, puesto que no sólo depende de las características del lenguaje fuente sino también de contar con información
Más detalles18. Camino de datos y unidad de control
Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 18. Camino de datos y unidad de control Un La versatilidad una característica deseable los Los
Más detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detallesCapí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 detallesTransformació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 detallesUNIDADES FUNCIONALES DEL ORDENADOR TEMA 3
UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:
Más detallesEstructuras 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.
Más detallesUnidad 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Árboles. Cursos Propedéuticos 2015. Dr. René Cumplido M. en C. Luis Rodríguez Flores
Árboles Cursos Propedéuticos 2015 Dr. René Cumplido M. en C. Luis Rodríguez Flores Contenido de la sección Introducción Árbol genérico Definición y representación Árboles binarios Definición, implementación,
Más detallesCapí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 detallesUnidad 1 Sistemas de numeración Binario, Decimal, Hexadecimal
Unidad 1 Sistemas de numeración Binario, Decimal, Hexadecimal Artículo adaptado del artículo de Wikipedia Sistema Binario en su versión del 20 de marzo de 2014, por varios autores bajo la Licencia de Documentación
Más detallesIngeniería en Informática
Departamento de Informática Universidad Carlos III de Madrid Ingeniería en Informática Aprendizaje Automático Junio 2007 Normas generales del examen El tiempo para realizar el examen es de 3 horas No se
Más detallesGANTT, PERT y CPM. Figura 5.3: Carta GANTT 3.
GANTT, PERT y CPM Características Conseguir una buena programación es un reto, no obstante es razonable y alcanzable. Ella debe tener el compromiso del equipo al completo, para lo cual se recomienda que
Más detallesEjemplos de conversión de reales a enteros
Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print
Más detallesARQUITECTURA DE DISTRIBUCIÓN DE DATOS
4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia
Más detallesCRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA
CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA Para generar una transmisión segura de datos, debemos contar con un canal que sea seguro, esto es debemos emplear técnicas de forma que los datos que se envían de una
Más detallesNaturaleza 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 detallesSISTEMAS 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 detallesEn la actualidad ASCII es un código de 8 bits, también conocido como ASCII extendido, que aumenta su capacidad con 128 caracteres adicionales
Definición(1) Sistemas numéricos MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Un sistema de representación numérica es un sistema de lenguaje que consiste en: un conjunto ordenado de símbolos
Más detallesMó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 detallesBASE 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
Más detallesÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ
ELECTRÓNICA DIGITAL DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ IES TRINIDAD ARROYO DPTO. DE ELECTRÓNICA ÍNDICE ÍNDICE... 1 1. LIMITACIONES DE LOS CONTADORES ASÍNCRONOS... 2 2. CONTADORES SÍNCRONOS...
Más detallesUnidad Didáctica. Códigos Binarios
Unidad Didáctica Códigos Binarios Programa de Formación Abierta y Flexible Obra colectiva de FONDO FORMACION Coordinación Diseño y maquetación Servicio de Producción Didáctica de FONDO FORMACION (Dirección
Más detallesBase 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 detallesPRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE
PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,
Más detallesARREGLOS 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 detalles1. Representación de la información en los sistemas digitales
Oliverio J. SantanaJaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2005 2006 1. Representación de la información en los sistemas digitales Durante Hoy Los digital tipo muchos
Más detalles1 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 detallesIntroducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual
Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los
Más detallesResumen de técnicas para resolver problemas de programación entera. 15.053 Martes, 9 de abril. Enumeración. Un árbol de enumeración
5053 Martes, 9 de abril Ramificación y acotamiento () Entregas: material de clase Resumen de técnicas para resolver problemas de programación entera Técnicas de enumeración Enumeración completa hace una
Más detalles❷ 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 detallesTecnologí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
Más detallesORMEN / Manuales. Venta de Lotería. Manual de Operación. Serie de Manuales del Departamento Técnico ORMEN S.A. NÚMERO 23
ORMEN / Manuales Venta de Lotería Manual de Operación Serie de Manuales del Departamento Técnico ORMEN S.A. NÚMERO 23 ORMEN S.A. Departamento Técnico Agosto del 2014 Venta de Lotería Manual de Operación
Más detallesSistema de Facturación de Ventas WhitePaper Enero de 2007
Sistema de Facturación de Ventas WhitePaper Enero de 2007 Ronda Guglielmo Marconi, 9 Parque Tecnológico 46980 Paterna Valencia Spain T +34 96 338 99 66 ventas@preference.es Please Recycle PrefSuite Document
Más detallesTABLA 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 detallesUNIDAD 1. LOS NÚMEROS ENTEROS.
UNIDAD 1. LOS NÚMEROS ENTEROS. Al final deberás haber aprendido... Interpretar y expresar números enteros. Representar números enteros en la recta numérica. Comparar y ordenar números enteros. Realizar
Más detallesETSIINGENIO 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 detallesEstas 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 detallesLABORATORIO 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 detalles1.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 detallesComputació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 detallesModificació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 detallesManual 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 detallesMACROS. 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 detallesTema 1: Computadores y Programas
Tema 1: Computadores y Programas Ingeniería Informática Ingeniería Técnica en Informática de Sistemas Ingeniería Técnica en Informática de Gestión Departamento de Ciencia de la Computación e I.A. Universidad
Más detallesFigura 4.1 Clasificación de los lenguajes de bases de datos
1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Este capítulo describen los distintos lenguajes para bases de datos, la forma en que se puede escribir un lenguaje
Más detallesDivisibilidad y números primos
Divisibilidad y números primos Divisibilidad En muchos problemas es necesario saber si el reparto de varios elementos en diferentes grupos se puede hacer equitativamente, es decir, si el número de elementos
Más detallesLa 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 detallesLECCIÓ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 detallesEstructuras de datos: Árboles binarios de
Estructuras de datos: Árboles binarios de búsqueda, Dep. de Computación - Fac. de Informática Universidad de A Coruña Santiago Jorge santiago.jorge@udc.es Árboles binarios de búsqueda, Table of Contents
Más detallesGESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD
GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...
Más detallesSistemas de numeración, operaciones y códigos.
Tema : Sistemas de numeración, operaciones y códigos. Para representar ideas, los seres humanos (al menos los occidentales) utilizamos cadenas de símbolos alfanuméricos de un alfabeto definido. En el mundo
Más detallesPrá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
Más detallesTema IV. Unidad aritmético lógica
Tema IV Unidad aritmético lógica 4.1 Sumadores binarios 4.1.1 Semisumador binario (SSB) 4.1.2 Sumador binario completo (SBC) 4.1.3 Sumador binario serie 4.1.4 Sumador binario paralelo con propagación del
Más detallesforma de entrenar a la nuerona en su aprendizaje.
Sistemas expertos e Inteligencia Artificial,Guía5 1 Facultad : Ingeniería Escuela : Computación Asignatura: Sistemas expertos e Inteligencia Artificial Tema: SISTEMAS BASADOS EN CONOCIMIENTO. Objetivo
Más detallesTema 4. Gestión de entrada/salida
Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada
Más detallesApuntes 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 detallesProblemas indecidibles
Capítulo 7 Problemas indecidibles 71 Codificación de máquinas de Turing Toda MT se puede codificar como una secuencia finita de ceros y unos En esta sección presentaremos una codificación válida para todas
Más detallesAlgoritmos Genéticos Y
Algoritmos Genéticos Y Optimización n Heurística Dr. Adrian Will Grupo de Aplicaciones de Inteligencia Artificial Universidad Nacional de Tucumán awill@herrera.unt.edu.ar Operadores de Mutación El operador
Más detallesAlgoritmos y Diagramas de Flujo 2
Algoritmos y Diagramas de Flujo 2 Programación Java NetBeans 7.0 RPC Contenido 2.1 Algoritmo...1 Fase de creación de un algoritmo...1 Herramientas de un algoritmo...2 2.2 Diagrama de Flujo...2 Símbolos
Más detallesNota 2. Luis Sierra. Marzo del 2010
Nota 2 Luis Sierra Marzo del 2010 Cada mecanismo de definición de conjuntos que hemos comentado sugiere mecanismos para definir funciones y probar propiedades. Recordemos brevemente qué son las funciones
Más detallesFigura 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
Más detallesCreació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 detalles2_trabajar con calc I
Al igual que en las Tablas vistas en el procesador de texto, la interseccción de una columna y una fila se denomina Celda. Dentro de una celda, podemos encontrar diferentes tipos de datos: textos, números,
Más detallesComenzando con MATLAB
ÁLGEBRA LINEAL INGENIERÍA INFORMÁTICA Curso 08/09 PRÁCTICA 1 Comenzando con MATLAB 1 Funcionamiento de Matlab MATLAB es un sistema interactivo basado en matrices para cálculos científicos y de ingeniería.
Más detallesMATEMÁTICAS ESO EVALUACIÓN: CRITERIOS E INSTRUMENTOS CURSO 2014-2015 Colegio B. V. María (Irlandesas) Castilleja de la Cuesta (Sevilla) Página 1 de 7
Página 1 de 7 1 CRITERIOS DE EVALUACIÓN 1.1 SECUENCIA POR CURSOS DE LOS CRITERIOS DE EVALUACION PRIMER CURSO 1. Utilizar números naturales y enteros y fracciones y decimales sencillos, sus operaciones
Más detallesEcuaciones 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 detallesResolución de Problemas
Introducción Resolución de Problemas La resolución de problemas es una capacidad que consideramos inteligente Somos capaces de resolver problemas muy diferentes Encontrar el camino en un laberinto Resolver
Más detalleshttp://www.informatizate.net
http://www.informatizate.net Metodologías De Desarrollo De Software María A. Mendoza Sanchez Ing. Informático - UNT Microsoft Certified Professional - MCP Analísta y Desarrolladora - TeamSoft Perú S.A.C.
Más detallesFunción exponencial y Logaritmos
Eje temático: Álgebra y funciones Contenidos: Función exponencial y Logaritmos Nivel: 4 Medio Función exponencial y Logaritmos 1. Funciones exponenciales Existen numerosos fenómenos que se rigen por leyes
Más detallesNÚMEROS NATURALES Y NÚMEROS ENTEROS
NÚMEROS NATURALES Y NÚMEROS ENTEROS Los números naturales surgen como respuesta a la necesidad de nuestros antepasados de contar los elementos de un conjunto (por ejemplo los animales de un rebaño) y de
Más detallesEstructuras de Control - Diagrama de Flujo
Introducción a la Programación - Introducción a la Computación - Fundamentos de la Informática Ing. Electrónica - T.U.G. - T.U.E. - T.U.R. - T.U.W.- Prof. Tec. Elect. - T.U.T - T.U.M Área de Servicios
Más detallesCOMO CREAR UN DIAGRAMA DE FLUJO
COMO CREAR UN DIAGRAMA DE FLUJO Los diagramas de flujo son una manera de representar visualmente el flujo de datos a través de sistemas de tratamiento de información. Los diagramas de flujo describen qué
Más detallesÁ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 detallesEjemplos básicos de webmathematica para profesores
Ejemplos básicos de webmathematica para profesores Cualquier cálculo hecho dentro Mathematica puede ser realizado usando webmathematica con dos limitaciones significativas. Primero, al usar webmathematica,
Más detallesGuías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online
Guías _SGO Gestione administradores, usuarios y grupos de su empresa Sistema de Gestión Online Índice General 1. Parámetros Generales... 4 1.1 Qué es?... 4 1.2 Consumo por Cuentas... 6 1.3 Días Feriados...
Más detallesDesarrollo de un sistema capaz de optimizar rutas de entrega utilizando algoritmos genéticos
MT 6 Desarrollo de un sistema capaz de optimizar rutas de entrega utilizando algoritmos genéticos Rosario Baltazar 1 Judith Esquivel Vázquez 2 Andrea Rada 3 Claudia Díaz 4 Resumen Durante los últimos 15
Más detallesDISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.
DISCOS RAID Raid: redundant array of independent disks, quiere decir conjunto redundante de discos independientes. Es un sistema de almacenamiento de datos que utiliza varias unidades físicas para guardar
Más detallesTPVFÁCIL. Caja Real. Definiciones.
TPVFÁCIL. Caja Real. TPVFÁCIL incluye desde la versión 3.3.2 la posibilidad de manejar dos cajas, la Caja Real y la Caja normal. La idea es esconder los datos de caja que pueden alcanzar los usuarios no
Más detallesTEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA
TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA Programa: Algoritmo (secuencia no ambigua, finita y ordenada de instrucciones para la resolución de un determinado problema) traducido
Más detallesTEMA 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 detallesMateria: 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 detallesCDI Exclusión mutua a nivel alto. conceptos
conceptos El concepto de usar estructuras de datos a nivel alto libera al programador de los detalles de su implementación. El programador puede asumir que las operaciones están implementadas correctamente
Más detallesParámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE)
QUÉ SON CONCEPTOS PARAMÉTRICOS? Los conceptos paramétricos de Presto permiten definir de una sola vez una colección de conceptos similares a partir de los cuales se generan variantes o conceptos derivados
Más detalles3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)
3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.
Más detallesEscuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática
Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Fundamentos de la informática 2. Algoritmos, diagramas de flujo y pseudocódigo Contenido Algoritmos Diagramas de flujo
Más detallesInteroperabilidad de Fieldbus
2002 Emerson Process Management. Todos los derechos reservados. Vea este y otros cursos en línea en www.plantwebuniversity.com. Fieldbus 201 Interoperabilidad de Fieldbus Generalidades Qué es interoperabilidad?
Más detallesIntroducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
Más detallesMé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
Más detallesMétodos evolutivos de Optimización. Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid
Métodos evolutivos de Optimización Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid Indice Introducción Método de Montecarlo Algoritmos genéticos Tabú Search Simulated
Más detallesEste programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.
1 Programa 1 Utilizando el icono añadimos un movimiento a por cada línea de programa. Podremos usar 8 posibles líneas de programa (Base, Hombro, Codo, Muñeca, Pinza, Salida 1, Salida 2 y línea en blanco).
Más detallesUtilidades de la base de datos
Utilidades de la base de datos Desde esta opcion del menú de Access, podemos realizar las siguientes operaciones: Convertir Base de datos Compactar y reparar base de datos Administrador de tablas vinculadas
Más detallesCASO PRÁCTICO DISTRIBUCIÓN DE COSTES
CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que
Más detallesINFORMÁTICA. Matemáticas aplicadas a la Informática
ACCESO A CICLO SUPERIOR INFORMÁTICA Matemáticas aplicadas a la Informática http://trasteandoencontre.km6.net/ 1 Acceso a grado Superior. Informática 1. Unidades de medida en informática Como sabemos, el
Más detalles