Este documento presenta un algoritmo basado en optimización por colonia de hormigas para detectar el clique (subgrafo completo) con la mayor interconectividad en un grafo. El algoritmo imita el comportamiento de las hormigas al depositar y evaporar feromonas a lo largo de los caminos para guiar la búsqueda hacia cliques óptimos. Los experimentos muestran que el algoritmo puede encontrar el clique máximo conocido en un grafo completo de 100 nodos.
2do Trabajo de Matemática Aplicada II - Limites y continuidad en complejos - ...Ing. Electrónica xD
El documento presenta soluciones a problemas de funciones, límites y continuidad complejos. Incluye gráficas de funciones complejas y cálculos para hallar valores y representaciones gráficas.
El documento introduce el lenguaje de programación Go. Go fue creado por Google para aprovechar la capacidad de los procesadores multicore y permitir la programación concurrente y paralela. El documento explica características del lenguaje como goroutines, canales, select y más. También cubre temas como instalación, compilación de programas, mapas, locks y más patrones de concurrencia en Go.
El documento presenta un informe sobre el uso de MATLAB para graficar series de Fourier y representar diferentes señales. Incluye ejercicios para hallar la serie de Fourier de una señal rectangular, calcular los coeficientes de Fourier de una señal cuadrada y aproximar dicha señal cuadrada mediante series de Fourier. El documento muestra códigos de MATLAB y las gráficas resultantes para cada ejercicio.
Este documento contiene información sobre subprogramas y funciones en C++. Explica las razones para crear subprogramas, como dividir la complejidad del código y promover la reutilización. También describe los pasos para escribir un subprograma, como definir el problema, darle un nombre y decidir cómo probarlo. Además, cubre temas como los parámetros, el paso de parámetros, el ámbito de variables y la recursividad. Finalmente, incluye ejercicios prácticos sobre el uso de subprogramas.
Este documento presenta una serie de ejercicios de programación en C++ desarrollados por Silvio Javier Cuenca Macas, estudiante de Electrónica y Telecomunicaciones. Los ejercicios incluyen programas para cambiar vocales minúsculas a mayúsculas en una cadena de caracteres, calcular la velocidad y posición de un objeto en caída libre, determinar si un número digitado es un número o carácter, calcular la suma de los primeros 50 números pares, y crear un programa de calculadora con funciones básicas.
Este documento presenta un análisis de señales usando la transformada z. Explica cómo encontrar polos y ceros usando MATLAB, y cómo trazar polos y ceros. También muestra cómo hallar la respuesta al impulso y aplicar la transformada inversa z. Por último, explica cómo usar MATLAB para graficar la respuesta en frecuencia de un sistema.
Este documento presenta un manual básico sobre el lenguaje de programación C++. Introduce conceptos como entrada y salida mediante cout y cin, variables, condicionales if/else, bucles while, y cálculos matemáticos. Incluye varios ejemplos de programas sencillos con explicaciones para ilustrar estos conceptos.
2do Trabajo de Matemática Aplicada II - Limites y continuidad en complejos - ...Ing. Electrónica xD
El documento presenta soluciones a problemas de funciones, límites y continuidad complejos. Incluye gráficas de funciones complejas y cálculos para hallar valores y representaciones gráficas.
El documento introduce el lenguaje de programación Go. Go fue creado por Google para aprovechar la capacidad de los procesadores multicore y permitir la programación concurrente y paralela. El documento explica características del lenguaje como goroutines, canales, select y más. También cubre temas como instalación, compilación de programas, mapas, locks y más patrones de concurrencia en Go.
El documento presenta un informe sobre el uso de MATLAB para graficar series de Fourier y representar diferentes señales. Incluye ejercicios para hallar la serie de Fourier de una señal rectangular, calcular los coeficientes de Fourier de una señal cuadrada y aproximar dicha señal cuadrada mediante series de Fourier. El documento muestra códigos de MATLAB y las gráficas resultantes para cada ejercicio.
Este documento contiene información sobre subprogramas y funciones en C++. Explica las razones para crear subprogramas, como dividir la complejidad del código y promover la reutilización. También describe los pasos para escribir un subprograma, como definir el problema, darle un nombre y decidir cómo probarlo. Además, cubre temas como los parámetros, el paso de parámetros, el ámbito de variables y la recursividad. Finalmente, incluye ejercicios prácticos sobre el uso de subprogramas.
Este documento presenta una serie de ejercicios de programación en C++ desarrollados por Silvio Javier Cuenca Macas, estudiante de Electrónica y Telecomunicaciones. Los ejercicios incluyen programas para cambiar vocales minúsculas a mayúsculas en una cadena de caracteres, calcular la velocidad y posición de un objeto en caída libre, determinar si un número digitado es un número o carácter, calcular la suma de los primeros 50 números pares, y crear un programa de calculadora con funciones básicas.
Este documento presenta un análisis de señales usando la transformada z. Explica cómo encontrar polos y ceros usando MATLAB, y cómo trazar polos y ceros. También muestra cómo hallar la respuesta al impulso y aplicar la transformada inversa z. Por último, explica cómo usar MATLAB para graficar la respuesta en frecuencia de un sistema.
Este documento presenta un manual básico sobre el lenguaje de programación C++. Introduce conceptos como entrada y salida mediante cout y cin, variables, condicionales if/else, bucles while, y cálculos matemáticos. Incluye varios ejemplos de programas sencillos con explicaciones para ilustrar estos conceptos.
Este documento presenta 20 problemas/programas de algoritmos resueltos. Cada problema contiene el código del programa en Java para resolver la tarea planteada, como calcular costos, conversiones de unidades, ecuaciones y más. Los programas utilizan métodos como JOptionPane para solicitar datos de entrada y mostrar resultados.
Este documento presenta una serie de ejercicios de programación orientada a objetos en C++. Incluye varios ejercicios que proponen implementar clases, métodos y funciones para representar conceptos como un taller mecánico, una biblioteca con libros y revistas, y una jerarquía de herencia para barcos. También incluye preguntas sobre polimorfismo, constructores y destructores para varias clases definidas en C++. El objetivo es que los estudiantes practiquen y demuestren su comprensión de conceptos básicos de POO
Este documento trata sobre diferentes métodos para realizar zoom en una imagen, incluyendo interpolación polinómica y spline cúbico. Presenta los conceptos teóricos de interpolación polinómica de Lagrange y Newton, e introduce la interpolación segmentaria mediante splines lineales, cuadráticos y cúbicos. Incluye ejemplos numéricos para ilustrar el cálculo de cada tipo de spline sobre una nube de puntos dada.
El documento presenta un informe sobre el análisis de señales mediante la transformada de Fourier. Explica brevemente la definición y fórmula de la transformada de Fourier y su uso en ingeniería eléctrica. Luego, describe 5 ejercicios prácticos para comprobar la utilidad de esta herramienta, incluyendo gráficos y algoritmos de código para cada uno. El objetivo general es analizar señales en el dominio de la frecuencia usando la transformada de Fourier.
El documento presenta una serie de ejercicios sobre clases y objetos en Java. En particular, propone diseñar e implementar clases para triángulos isósceles, productos y pedidos, así como resolver otros problemas relacionados con herencia, asociación, métodos y atributos de clases.
Electrónica digital: Ruta de datos multiplexores y demultiplexores SANTIAGO PABLO ALBERTO
Este documento describe los multiplexores y demultiplexores. Los multiplexores tienen varias entradas y una salida, y se utilizan para combinar señales o implementar funciones lógicas. Los demultiplexores tienen una entrada y varias salidas, y se utilizan para distribuir señales o decodificar códigos. El documento también explica cómo diseñar circuitos con multiplexores y demultiplexores en árboles, y cómo utilizarlos para cambiar entre los códigos BCD y Gray.
Este documento describe diferentes algoritmos para la multiplicación de una matriz por un vector utilizando procesamiento paralelo. Presenta el algoritmo secuencial y tres algoritmos paralelos basados en la descomposición de filas, bloques y cuadrícula. Analiza la complejidad computacional y de comunicaciones de cada enfoque.
Este documento describe diferentes modelos econométricos con variables retardadas. Explica el modelo de Koyck, que transforma un modelo de rezagos distribuidos en un modelo autoregresivo, y también describe modelos derivados como el de expectativas adaptativas y el de ajuste parcial de existencias. Finalmente, introduce el modelo de Almon para aproximar coeficientes de rezagos distribuidos mediante un polinomio.
Este documento presenta las cinco leyes fundamentales de los exponentes enteros y positivos a través de definiciones, ejemplos y ejercicios. Las leyes describen las operaciones de multiplicación, división, elevación a potencia y radicación que se pueden realizar con términos exponentes. El objetivo es que los estudiantes aprendan a aplicar correctamente estas leyes al resolver operaciones algebraicas.
1) El documento habla sobre variables aleatorias, que son variables cuyos valores numéricos dependen del resultado de un experimento aleatorio. 2) Las variables aleatorias pueden ser discretas o continuas dependiendo de si su conjunto de valores posibles es numerable o no. 3) La distribución de una variable aleatoria discreta viene dada por sus valores posibles y sus probabilidades asociadas, mientras que para una continua se usa la función de densidad.
El primer documento presenta un problema de sumar las columnas de una matriz cuadrada de tamaño n. El segundo documento presenta un problema de crear una clase calculadora que realice las cuatro operaciones básicas. El tercer documento presenta un problema de girar una matriz 90 grados a la derecha.
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Kiim Kerrigan
1) El documento presenta 20 algoritmos en lenguaje C con ejemplos de código para calcular diferentes operaciones matemáticas y lógicas como promedios, áreas, conversiones de unidades, comparaciones y más.
2) Los algoritmos van desde cálculos simples como sumas y promedios hasta operaciones más complejas como determinar si un número está en un rango específico o calcular el costo de una llamada telefónica.
3) El documento provee el código completo en C para cada algoritmo junto con explicaciones breves sobre lo que cada programa calcul
Este documento presenta una introducción al lenguaje C#. Explica que C# es un lenguaje derivado de C y C++ diseñado para el desarrollo en .NET. Describe las características principales de C# como su sintaxis, tipos de datos, variables, operadores, sentencias de control de flujo y estructuras como clases y métodos. También explica conceptos como espacios de nombres, tipos por valor y referencia, arrays, constantes y excepciones.
Este documento presenta cuatro algoritmos desarrollados en C++ para realizar diferentes cálculos matemáticos. El primer algoritmo suma, resta, multiplica y divide dos números. El segundo calcula la suma de tres edades. El tercero calcula el promedio de cuatro notas. Cada algoritmo solicita los datos de entrada, realiza los cálculos correspondientes y presenta los resultados.
Este documento presenta un capítulo introductorio sobre el lenguaje de programación C++. Explica conceptos básicos como entrada y salida de datos, variables, condicionales y bucles. Incluye ejemplos de programas sencillos que ilustran estas ideas con código y salidas.
El documento presenta 10 problemas propuestos de programación en PSEINT y Java. Cada problema describe un ejercicio diferente de programación que involucra operaciones matemáticas y lógicas como conversiones de unidades monetarias, cálculo de valores absolutos, promedios, porcentajes y más. Se provee el código de programa en PSEINT y Java para cada problema.
The Goal and The Journey - Turning back on one year of C++14 MigrationJoel Falcou
C++14 has been announced as the next best thing since sliced bread in terms of simplicity, performance and overall elegance of c++ code. This talk is the story of why and how we decided to migrate one of our old 'modern C++' software library -- BSP++, a C++ implementation of the BSP parallel programming model -- to C++14.
More than just a recollection of 'use this' or 'do that' mottos, this talk will try to ponder on :
why one should consider migrating to C++14 now
which features actually helped and which one did not
the traps and pitfalls compilers tried to pull on us
The document provides instructions for a lesson on using sports vocabulary in the present continuous tense to describe what is happening in a park. It includes a vocabulary list of sports terms like jump, run, throw, and kick. It reviews the structure of the present continuous, including affirmative, negative, and interrogative forms. Students then listen to a description of a park by Andrew and answer questions to practice using the tense.
SIMD extensions have been a feature of choice for processor manufacturers for a couple of decades. Designed to exploit data parallelism in applications at the instruction level, these extensions still require a high level of expertise or the use of potentially fragile compiler support or vendor-specific libraries. While a large fraction of their theoretical accelerations can be obtained using such tools, exploiting such hardware becomes tedious as soon as application portability across hardware is required.
Accessing such capabilities directly from C++ code could be a major improvements in a lot of use cases. Different take on this has been proposed either by the community or as an actual standard proposal. Solutions include pragma based annotations, standard algorithms policies, full blown compiler support and libraries.
In this talk we will present one such solution - the Boost.SIMD library (currently being proposed as such) which takes a library approach to this issues.
We will go over the basic notion required to grasp SIMD programming in general. Then, we'll discuss the different existing approaches. We will describe Boost.SIMD API and API design to demonstrate how it solves issues raised by the actual idiomatic way of writting SIMD enabled code. Design issues like standard algorithm integration, memory handling and how to fill the gaps in SIMD instructions sets will be discussed. Finally, we show its performances with respect to a subset of well known benchmarks.
Este documento presenta el trabajo de titulación de dos estudiantes de ingeniería química de la Universidad de Guayaquil sobre la aplicación de las operaciones unitarias de lixiviación y destilación para obtener sustratos a partir de la albahaca y cuantificar su poder antioxidante. El documento incluye agradecimientos, dedicatorias, derechos de autoría y certificación del tutor. También presenta un resumen del trabajo, palabras clave y objetivos del estudio.
Este documento describe un programa para estudiantes de quinto grado que los reta a crear obras de arte usando materiales reciclados. Los estudiantes deben hacer una narración digital sobre la importancia del reciclaje, recolectar y seleccionar materiales de reciclaje, y crear un objeto artístico usando esos materiales en 4 semanas de retos semanales con diferentes temas. Al final, los estudiantes expondrán sus creaciones y compartirán sus aprendizajes sobre la importancia del reciclaje.
Este documento presenta 20 problemas/programas de algoritmos resueltos. Cada problema contiene el código del programa en Java para resolver la tarea planteada, como calcular costos, conversiones de unidades, ecuaciones y más. Los programas utilizan métodos como JOptionPane para solicitar datos de entrada y mostrar resultados.
Este documento presenta una serie de ejercicios de programación orientada a objetos en C++. Incluye varios ejercicios que proponen implementar clases, métodos y funciones para representar conceptos como un taller mecánico, una biblioteca con libros y revistas, y una jerarquía de herencia para barcos. También incluye preguntas sobre polimorfismo, constructores y destructores para varias clases definidas en C++. El objetivo es que los estudiantes practiquen y demuestren su comprensión de conceptos básicos de POO
Este documento trata sobre diferentes métodos para realizar zoom en una imagen, incluyendo interpolación polinómica y spline cúbico. Presenta los conceptos teóricos de interpolación polinómica de Lagrange y Newton, e introduce la interpolación segmentaria mediante splines lineales, cuadráticos y cúbicos. Incluye ejemplos numéricos para ilustrar el cálculo de cada tipo de spline sobre una nube de puntos dada.
El documento presenta un informe sobre el análisis de señales mediante la transformada de Fourier. Explica brevemente la definición y fórmula de la transformada de Fourier y su uso en ingeniería eléctrica. Luego, describe 5 ejercicios prácticos para comprobar la utilidad de esta herramienta, incluyendo gráficos y algoritmos de código para cada uno. El objetivo general es analizar señales en el dominio de la frecuencia usando la transformada de Fourier.
El documento presenta una serie de ejercicios sobre clases y objetos en Java. En particular, propone diseñar e implementar clases para triángulos isósceles, productos y pedidos, así como resolver otros problemas relacionados con herencia, asociación, métodos y atributos de clases.
Electrónica digital: Ruta de datos multiplexores y demultiplexores SANTIAGO PABLO ALBERTO
Este documento describe los multiplexores y demultiplexores. Los multiplexores tienen varias entradas y una salida, y se utilizan para combinar señales o implementar funciones lógicas. Los demultiplexores tienen una entrada y varias salidas, y se utilizan para distribuir señales o decodificar códigos. El documento también explica cómo diseñar circuitos con multiplexores y demultiplexores en árboles, y cómo utilizarlos para cambiar entre los códigos BCD y Gray.
Este documento describe diferentes algoritmos para la multiplicación de una matriz por un vector utilizando procesamiento paralelo. Presenta el algoritmo secuencial y tres algoritmos paralelos basados en la descomposición de filas, bloques y cuadrícula. Analiza la complejidad computacional y de comunicaciones de cada enfoque.
Este documento describe diferentes modelos econométricos con variables retardadas. Explica el modelo de Koyck, que transforma un modelo de rezagos distribuidos en un modelo autoregresivo, y también describe modelos derivados como el de expectativas adaptativas y el de ajuste parcial de existencias. Finalmente, introduce el modelo de Almon para aproximar coeficientes de rezagos distribuidos mediante un polinomio.
Este documento presenta las cinco leyes fundamentales de los exponentes enteros y positivos a través de definiciones, ejemplos y ejercicios. Las leyes describen las operaciones de multiplicación, división, elevación a potencia y radicación que se pueden realizar con términos exponentes. El objetivo es que los estudiantes aprendan a aplicar correctamente estas leyes al resolver operaciones algebraicas.
1) El documento habla sobre variables aleatorias, que son variables cuyos valores numéricos dependen del resultado de un experimento aleatorio. 2) Las variables aleatorias pueden ser discretas o continuas dependiendo de si su conjunto de valores posibles es numerable o no. 3) La distribución de una variable aleatoria discreta viene dada por sus valores posibles y sus probabilidades asociadas, mientras que para una continua se usa la función de densidad.
El primer documento presenta un problema de sumar las columnas de una matriz cuadrada de tamaño n. El segundo documento presenta un problema de crear una clase calculadora que realice las cuatro operaciones básicas. El tercer documento presenta un problema de girar una matriz 90 grados a la derecha.
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Kiim Kerrigan
1) El documento presenta 20 algoritmos en lenguaje C con ejemplos de código para calcular diferentes operaciones matemáticas y lógicas como promedios, áreas, conversiones de unidades, comparaciones y más.
2) Los algoritmos van desde cálculos simples como sumas y promedios hasta operaciones más complejas como determinar si un número está en un rango específico o calcular el costo de una llamada telefónica.
3) El documento provee el código completo en C para cada algoritmo junto con explicaciones breves sobre lo que cada programa calcul
Este documento presenta una introducción al lenguaje C#. Explica que C# es un lenguaje derivado de C y C++ diseñado para el desarrollo en .NET. Describe las características principales de C# como su sintaxis, tipos de datos, variables, operadores, sentencias de control de flujo y estructuras como clases y métodos. También explica conceptos como espacios de nombres, tipos por valor y referencia, arrays, constantes y excepciones.
Este documento presenta cuatro algoritmos desarrollados en C++ para realizar diferentes cálculos matemáticos. El primer algoritmo suma, resta, multiplica y divide dos números. El segundo calcula la suma de tres edades. El tercero calcula el promedio de cuatro notas. Cada algoritmo solicita los datos de entrada, realiza los cálculos correspondientes y presenta los resultados.
Este documento presenta un capítulo introductorio sobre el lenguaje de programación C++. Explica conceptos básicos como entrada y salida de datos, variables, condicionales y bucles. Incluye ejemplos de programas sencillos que ilustran estas ideas con código y salidas.
El documento presenta 10 problemas propuestos de programación en PSEINT y Java. Cada problema describe un ejercicio diferente de programación que involucra operaciones matemáticas y lógicas como conversiones de unidades monetarias, cálculo de valores absolutos, promedios, porcentajes y más. Se provee el código de programa en PSEINT y Java para cada problema.
The Goal and The Journey - Turning back on one year of C++14 MigrationJoel Falcou
C++14 has been announced as the next best thing since sliced bread in terms of simplicity, performance and overall elegance of c++ code. This talk is the story of why and how we decided to migrate one of our old 'modern C++' software library -- BSP++, a C++ implementation of the BSP parallel programming model -- to C++14.
More than just a recollection of 'use this' or 'do that' mottos, this talk will try to ponder on :
why one should consider migrating to C++14 now
which features actually helped and which one did not
the traps and pitfalls compilers tried to pull on us
The document provides instructions for a lesson on using sports vocabulary in the present continuous tense to describe what is happening in a park. It includes a vocabulary list of sports terms like jump, run, throw, and kick. It reviews the structure of the present continuous, including affirmative, negative, and interrogative forms. Students then listen to a description of a park by Andrew and answer questions to practice using the tense.
SIMD extensions have been a feature of choice for processor manufacturers for a couple of decades. Designed to exploit data parallelism in applications at the instruction level, these extensions still require a high level of expertise or the use of potentially fragile compiler support or vendor-specific libraries. While a large fraction of their theoretical accelerations can be obtained using such tools, exploiting such hardware becomes tedious as soon as application portability across hardware is required.
Accessing such capabilities directly from C++ code could be a major improvements in a lot of use cases. Different take on this has been proposed either by the community or as an actual standard proposal. Solutions include pragma based annotations, standard algorithms policies, full blown compiler support and libraries.
In this talk we will present one such solution - the Boost.SIMD library (currently being proposed as such) which takes a library approach to this issues.
We will go over the basic notion required to grasp SIMD programming in general. Then, we'll discuss the different existing approaches. We will describe Boost.SIMD API and API design to demonstrate how it solves issues raised by the actual idiomatic way of writting SIMD enabled code. Design issues like standard algorithm integration, memory handling and how to fill the gaps in SIMD instructions sets will be discussed. Finally, we show its performances with respect to a subset of well known benchmarks.
Este documento presenta el trabajo de titulación de dos estudiantes de ingeniería química de la Universidad de Guayaquil sobre la aplicación de las operaciones unitarias de lixiviación y destilación para obtener sustratos a partir de la albahaca y cuantificar su poder antioxidante. El documento incluye agradecimientos, dedicatorias, derechos de autoría y certificación del tutor. También presenta un resumen del trabajo, palabras clave y objetivos del estudio.
Este documento describe un programa para estudiantes de quinto grado que los reta a crear obras de arte usando materiales reciclados. Los estudiantes deben hacer una narración digital sobre la importancia del reciclaje, recolectar y seleccionar materiales de reciclaje, y crear un objeto artístico usando esos materiales en 4 semanas de retos semanales con diferentes temas. Al final, los estudiantes expondrán sus creaciones y compartirán sus aprendizajes sobre la importancia del reciclaje.
ESO 2º UD 1 Estadística descriptiva (trabajo cooperativo)Jose Gallegos
Esta unidad didáctica de 12 sesiones sobre estadística descriptiva para estudiantes de 2o de ESO tiene los objetivos de mejorar las habilidades de pensamiento matemático de los estudiantes, enseñarles a cuantificar y analizar datos, y utilizar herramientas tecnológicas. Los estudiantes aprenderán sobre variables, tablas de frecuencias, medidas de tendencia central y dispersión. La evaluación incluye un proyecto estadístico grupal y un examen.
C++11 introduced many new features including type deduction with auto, uniform initialization syntax, rvalue references and move semantics, improved enums, lambda expressions, and smart pointers. Type deduction with auto lets the compiler deduce the type of a variable based on its initializer. Uniform initialization uses curly braces {} and allows narrowing conversions only if explicitly cast. Rvalue references and move semantics allow moving an object to avoid expensive copies by leaving the source object in a valid but unspecified state.
DuPage County Presentation: Maya Angelou and Speech WritingAmy Vujaklija
How can we use Maya Angelou’s words to model writing our own speeches? By using research-based practice for increased comprehension, we will see how multiple, purposeful readings help students develop their analyzing skills. We will also create a foundation for students as they write their own speeches. This interactive presentation embeds Common Core Standards in Reading, Writing, and Speaking and Listening with ideas to take back to a middle or high school classroom.
NOTE: Animations and embedded videos have been removed to decrease file size.
Nowadays we all seem to be working with small independent services that need to talk with numerous other services. This is a problem because when developing your service, you need to have a working environment—but bringing up all your dependencies is often not an option.
In this talk, I will take you through our journey of creating a mock server to increase dev speed, and how it allowed us to write better tests.
Este documento contiene 39 preguntas sobre programación en Python relacionadas con conceptos matemáticos como representación de números, álgebra booleana, cálculo de áreas y perímetros geométricos, expresiones y operaciones aritméticas, cadenas y tipos de datos. Las preguntas van desde definir algoritmos hasta evaluar expresiones, pasando por analizar la validez de identificadores y operadores.
Este documento contiene 39 preguntas sobre programación en Python relacionadas con conceptos matemáticos como representación de números, álgebra booleana, cálculo de áreas y perímetros geométricos, expresiones y operaciones aritméticas, cadenas y tipos de datos. Las preguntas van desde definir algoritmos hasta evaluar expresiones, pasando por diseñar programas sencillos y analizar su funcionamiento.
Ejercicios introduccion a la programación en Chack3 Org
El documento contiene una serie de preguntas sobre programación en C y Python. Se piden comparaciones entre los lenguajes, traducciones de código Python a C, y explicaciones sobre código C. También incluye ejercicios para que el lector diseñe programas C sencillos.
El documento presenta una serie de preguntas sobre la traducción de programas de Python a C y sobre conceptos básicos de C como comentarios, tipos de datos, operadores, etc. Se piden detalles como las diferencias entre los bucles for de Python y C, la función de las llaves y puntos y coma en C, y cómo traducir constructos comunes de Python como entrada de datos, condicionales if/else, funciones matemáticas y bucles while al lenguaje C.
Solución de un problema eliptico elementos finitos matlabWilder Ramirez
Este documento describe un programa para resolver problemas elípticos bidimensionales utilizando el método de elementos finitos. El programa sigue tres etapas: 1) pre-proceso, que implementa el mallado y las condiciones de contorno; 2) proceso, que genera la matriz de rigidez y el vector de fuerza y resuelve el sistema; y 3) post-proceso, que grafica la solución y analiza el error. El programa permite resolver automáticamente ecuaciones elípticas bidimensionales ingresando los parámetros del dominio, las funciones f y k, y
El algoritmo de gradiente conjugado (CGBP) converge a un mínimo de una función cuadrática en un número finito de iteraciones. En Matlab, las funciones traincgf, traincgp, traincgb y trainscg entrenan redes neuronales utilizando diferentes variantes del algoritmo CGBP como Fletcher-Reeves, Polak-Ribiere, Powell-Beale y gradiente conjugado escalado respectivamente.
Uso de CMSA para resolver el problema de selección de requisitosjfrchicanog
El documento describe el uso del algoritmo Construct, Merge, Solve and Adapt (CMSA) para resolver el problema de selección de requisitos (Next Release Problem, NRP). Se proponen dos versiones de CMSA para NRP donde los componentes son los requisitos o los clientes. Se generan instancias aleatorias de NRP y se comparan los resultados de CMSA con un resolutor exacto (CPLEX) en términos de valor objetivo medio obtenido. Los resultados muestran que CMSA es capaz de encontrar soluciones de calidad similar al resolutor exacto pero en menos tiempo.
El documento describe el desarrollo de una interfaz gráfica en MATLAB para el método numérico de bisección. Presenta el marco teórico del método de bisección, incluyendo algoritmos, consideraciones, criterios de parada y ejemplos de aplicación. El objetivo es crear una interfaz sencilla que guíe al usuario a través del proceso de resolución de ecuaciones mediante este método numérico. El documento también incluye la introducción, objetivos, índice y referencias bibliográficas.
El documento describe los tipos básicos de variables en MATLAB, incluyendo variables numéricas, lógicas y vectores. Explica cómo crear y manipular estas variables, así como funciones matemáticas comunes aplicadas a ellas. Se proporcionan ejemplos de cómo definir variables, realizar operaciones entre ellas y acceder a componentes de vectores.
Este documento describe varios métodos numéricos para calcular integrales definidas, incluyendo las reglas de la trapezoidal, Simpson y Monte Carlo. Explica cómo aplicar estos métodos de forma paralela usando múltiples procesadores, donde cada procesador calcula una porción de la integral total. También discute cómo mejorar la precisión del método de Monte Carlo usando una distribución de muestreo no uniforme guiada por la función a integrar.
1) El documento presenta apuntes sobre el uso del software MATLAB para ingeniería. Se dividen en secciones sobre comandos básicos, vectores, matrices, gráficas 2D y 3D, cálculo simbólico y programación.
2) Explica comandos básicos como variables, operadores matemáticos, formatos numéricos y ayuda. También introduce variables lógicas.
3) Detalla operaciones con vectores como suma, multiplicación y funciones matemáticas aplicadas a vectores. Explica también polinomios y matrices
Este documento proporciona instrucciones para varios ejercicios y actividades relacionadas con el lenguaje de programación C# y métodos numéricos. Incluye preguntas sobre las ventajas y desventajas de C#, órdenes de operaciones, instalación de software, errores de redondeo, funciones predefinidas, programas para resolver ecuaciones y sistemas de ecuaciones, interpolación, integración numérica, ecuaciones diferenciales, y más, con el objetivo de practicar y aplicar estos conceptos. Se pide que los
Este documento proporciona instrucciones para varios ejercicios y actividades relacionadas con el lenguaje de programación C# y métodos numéricos. Incluye instrucciones para instalar Microsoft Visual C# 2010 Express, realizar programas en C# para resolver problemas matemáticos utilizando conceptos como arreglos, funciones y tipos de datos, y utilizar herramientas como C# y Matlab para aplicar métodos numéricos como la interpolación, integración numérica, y resolución de ecuaciones y sistemas de ecuaciones.
Este documento presenta el solucionario de problemas de matemáticas de un libro de preparación para la universidad. Contiene las soluciones de 15 problemas de conjuntos numéricos y potencias y raíces. Cada solución sigue un procedimiento paso a paso para llegar a la respuesta correcta.
Este documento presenta el solucionario de un examen de matemáticas con 20 problemas resueltos. Los problemas abarcan temas como conjuntos numéricos, fracciones, potencias y raíces. Cada problema contiene los pasos para llegar a la solución correcta.
Este documento trata sobre conjuntos de vectores y matrices ortogonales. Explica conceptos como producto interno, norma de un vector, distancia entre vectores, vectores ortogonales, conjuntos ortogonales de vectores y matrices ortogonales. Proporciona ejemplos ilustrativos de cada uno de estos conceptos matemáticos en diferentes espacios vectoriales como Rn, Cn, funciones continuas y matrices.
Clase 9 grafos parte iii (cam min - arbol min)-ay_ed-2014Nicolas Mattone
Este documento presenta información sobre algoritmos para encontrar caminos de costo mínimo en grafos. Explica la definición de camino de costo mínimo y describe algoritmos como BFS para grafos sin peso y el algoritmo de Dijkstra para grafos con pesos positivos. También cubre grafos con pesos positivos y negativos.
Este documento presenta un tutorial sobre el uso del software MATLAB para crear gráficas. Explica cómo generar gráficas simples de una variable frente a otra usando los comandos plot, title, xlabel, ylabel y grid. También muestra cómo crear gráficas de superficies tridimensionales, gráficas logarítmicas, subgráficas y gráficas múltiples usando comandos como subplot, semilogx y loglog. Finalmente, incluye códigos de ejemplo para que el estudiante los ejecute y analice.
Similar a Cecti rodrigo lopez - buqueda del clique (20)
TIA portal Bloques PLC Siemens______.pdfArmandoSarco
Bloques con Tia Portal, El sistema de automatización proporciona distintos tipos de bloques donde se guardarán tanto el programa como los datos
correspondientes. Dependiendo de la exigencia del proceso el programa estará estructurado en diferentes bloques.
Los puentes son estructuras esenciales en la infraestructura de transporte, permitiendo la conexión entre diferentes
puntos geográficos y facilitando el flujo de bienes y personas.
Presentación Aislante térmico.pdf Transferencia de calorGerardoBracho3
Las aletas de transferencia de calor, también conocidas como superficies extendidas, son prolongaciones metálicas que se adhieren a una superficie sólida para aumentar su área superficial y, en consecuencia, mejorar la tasa de transferencia de calor entre la superficie y el fluido circundante.
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdfElisaLen4
Un pequeño resumen de lo que fue el estilo arquitectónico Ecléctico, así como el estilo arquitectónico histórico, sus características, arquitectos reconocidos y edificaciones referenciales de dichas épocas.
Estilo Arquitectónico Ecléctico e Histórico, Roberto de la Roche.pdf
Cecti rodrigo lopez - buqueda del clique
1. Detecci´on de comunidades
B´uqueda del Clique con la mayor Interconectividad en un Grafo
utilizando Optimizaci´on basado en Colonia de Hormigas
Rodrigo L´opez Far´ıas1
Juan J. Flores 2
14 de octubre de 2016
Universidad Michoacana de San Nicol´as de Hidalgo
1
Centro de Informaci´on y C´omputo
rdglpz@gmail.com
2
Posgrado de Ingenier´ıa El´ectrica
juanfie@umich.mx
2. Tabla de Contenidos
1. Introducci´on
2. Los Cliques en los Grafos
3. Algoritmo para la detecci´on de un clique
4. Optimizaci´on por colonia de Hormigas
5. Experimentos y Resultados
1/23
4. Introducci´on
• El problema de b´usqueda del clique tiene muchas aplicaciones como
por ejemplo: bioinform´atica, b´usqueda de estructuras y redes en
qu´ımica computacional, y detecci´on de comunidades redes sociales.
Figura 1: Ejemplo de una red compleja
2/23
5. Introducci´on
• Los algoritmos tradicionales enfrentan el obst´aculo del alto costo
computacional, y no escalabilidad para la b´usqueda de ciertas
estructuras en grafos [5].
• El uso de heur´ısticas como Optimizaci´on basada en Colonia de
Hormigas (OCH) son adecuados para resolver de manera aproximada
este problema.
• OCH Ha demostrado en la pr´actica su capacidad para resolver
problemas NP-Completos y NP-Duros presentes en grafos como la
b´usqueda del camino m´as corto, el problema del viajero y b´usqueda
de comunidades.
3/23
6. Introducci´on
Que es OCH?
• Es una metaheuristica que aproxima la soluci´on.
• Es bio-inspirada, propuesta por Dorigo et al 1991.
• Se basa en la imitaci´on del comportamiento de las hormigas.
• Las hormigas sirven a su comunidad llevando comida.
• El uso de las feromonas como transmisi´on de conocimiento son de
gran utilidad para su sobrevivencia.
• Estas feromonas son depositadas a lo largo del camino de la hormiga.
• Sirven a la hormiga para seleccionar aquel que fu´e recorrido
recientemente.
4/23
7. Puntos clave
• Que es un clique?.
• C´omo se detecta un clique.
• C´omo se mide la optimalidad o calidad de un clique.
• Principio de Optimizaci´on con Colonia de Hormigas.
• Feromonas como componente de aprendizaje.
5/23
9. Grafos y Clique
Los cliques ”viven”dentro de los grafos los cuales son definidos como:.
Definition
Grafo: Es un par ordenado G = (V , E) donde:
• V es un conjunto de v´ertices
• Eij ∈ E Son el conjunto de aristas que relacionan el nodo i con el
nodo j.
• En caso de los grafos con pesos: cij es el costo o peso de traslado de
un v´ertice i a un vertice j.
Definition
Clique
Es un sub-grafo completo no dirigido G con un conjunto de V v´ertices
los cuales todos est´an conectados entre s´ı.
6/23
10. Ejemplo: Soluci´on del Clique Ck mas grande de un grafo no
dirigido
Ck es el clique k que contiene |Ck | elementos, En este caso el clique con
los v´ertices de color rojo es definido por Ck = {v5, v1, v2} donde el
tama˜no de la comunidad es la cardinalidad |Ck | = 3
Figura 2: Clique
7/23
11. Soluci´on del Clique de tama˜no 3 con la suma de pesos m´axima
Ck es el clique k que ademas de contener el n´umero m´aximo de nodos,
tambi´en es el mayor interconectado de todos,
• c1 = {vg , vb, vg }, Suma de pesos 13
• c2 = {vb, ve, vf }, Suma de pesos 13
• c3 = {vf , ve, vd }, Suma de pesos 103
• c4 = {vc , ve, vd }, Suma de pesos 220
Suma de pesos (Mas
adelante se utiliza como la
funci´on de aptitud o
(Fitness))
(|Ck |−1)
j=1
|Ck |
j=i+1
cij vi vj
2010
100
100
4 3
2
c
eba
g
8/23
12. El problema se va haciendo intratable
El problema se vuelve mas complicado con solo 10 nodos si se trata de
un grafo completo.
9/23
16. Construcci´on del clique
• Se inicializa el clique como vac´ıo. Ck = {}
• Se selecciona al azar un v´ertice vi de grafo G
(en este caso v1), y se agrega a Ck = {v1}
11/23
17. Construcci´on del clique
• Se inicializa el clique como vac´ıo. Ck = {}
• Se selecciona al azar un v´ertice vi de grafo G
(en este caso v1), y se agrega a Ck = {v1}
• Se seleccionan los v´ertices adyacentes y se
marcan como candidatos.
Candidatos = {v5, v2}
11/23
18. Construcci´on del clique
• Se inicializa el clique como vac´ıo. Ck = {}
• Se selecciona al azar un v´ertice vi de grafo G
(en este caso v1), y se agrega a Ck = {v1}
• Se seleccionan los v´ertices adyacentes y se
marcan como candidatos.
Candidatos = {v5, v2}
• Se selecciona un v´ertice de candidatos al azar,
en este caso v5 y se guarda en Ck = {v1, v5}.
11/23
19. Construcci´on del clique
• Se inicializa el clique como vac´ıo. Ck = {}
• Se selecciona al azar un v´ertice vi de grafo G
(en este caso v1), y se agrega a Ck = {v1}
• Se seleccionan los v´ertices adyacentes y se
marcan como candidatos.
Candidatos = {v5, v2}
• Se selecciona un v´ertice de candidatos al azar,
en este caso v5 y se guarda en Ck = {v1, v5}.
• Se guardan los nodos adyacentes del nodo
candidato seleccionado v5. ({v1, v2})
11/23
20. Construcci´on del clique
• Se inicializa el clique como vac´ıo. Ck = {}
• Se selecciona al azar un v´ertice vi de grafo G
(en este caso v1), y se agrega a Ck = {v1}
• Se seleccionan los v´ertices adyacentes y se
marcan como candidatos.
Candidatos = {v5, v2}
• Se selecciona un v´ertice de candidatos al azar,
en este caso v5 y se guarda en Ck = {v1, v5}.
• Se guardan los nodos adyacentes del nodo
candidato seleccionado v5. ({v1, v2})
• Se actualiza
Candidatos = (v2) = Candidatos ∩ {v1, v2}
11/23
21. Construcci´on del clique
• Se inicializa el clique como vac´ıo. Ck = {}
• Se selecciona al azar un v´ertice vi de grafo G
(en este caso v1), y se agrega a Ck = {v1}
• Se seleccionan los v´ertices adyacentes y se
marcan como candidatos.
Candidatos = {v5, v2}
• Se selecciona un v´ertice de candidatos al azar,
en este caso v5 y se guarda en Ck = {v1, v5}.
• Se guardan los nodos adyacentes del nodo
candidato seleccionado v5. ({v1, v2})
• Se actualiza
Candidatos = (v2) = Candidatos ∩ {v1, v2}
• Se repite la operaci´on hasta que
Candidatos = {}
11/23
23. Soluci´on: Optimizaci´on por colonia de Hormigas
Comportamiento natural de la colonia de hormigas.
Gracias a la feromona y su volatilidad, las hormigas tienden a encontrar
caminos eficientes.
12/23
24. Comportamiento Natural de las hormigas
Este comportamiento es ´util para encontrar soluciones en grafos para
diversos problemas cl´asicos como el camino mas corto entre dos puntos
donde la funci´on objetivo es la suma de los pesos de los aristas recorridos.
Las feromonas se distribuyen a lo largo del grafo seg´un la calidad de la
soluci´on.
13/23
25. Algoritmo B´asico OCH
1. Inicializa el grafo asignando cero feromona en todos los aristas.
2. Repetir
3. Situar cada hormiga en un v´ertice de manera aleatoria.
4. Para cada hormiga, generar una soluci´on tomando caminos con
probabilidad seg´un la cantidad de feromona.
5. Evaluar cada soluci´on acorde a la funci´on objetivo.
6. Depositar feromona en los nodos/aristas seg´un a la calidad de la
soluci´on.
7. Evaporizar feromona y actualizar.
8. Actualizar BestFitness con la mejor soluci´on hasta el momento.
9. Fin Repetir
14/23
26. Feromona como componente de aprendizaje
Si la hormiga se encuentra en un v´ertice vj , la probabilidad de seleccionar
la ruta a vi es:
p(vi ) =
τα
i
vj ∈Candidatos τα
j
donde τ es la feromona depositada en v´ertice i, α es un par´ametro que
pondera exponencialmente los factores de la feromona,
15/23
27. Actualizaci´on de las feromonas
Los rastros de feromona se actualizan en dos pasos:
(a): La feromona se refuerza inversamente proporcional a la diferencia de
la mejor soluci´on y la soluci´on encontrada.
τi = τi +
1
1 + (BestFitness − Fitness(Ck ))K
(b): La persistencia/evaporaci´on de la feromona est´a dada por
τi = τi ∗ ρ
D´onde 0 < ρ < 1
16/23
28. Actualizaci´on de las feromonas (a)
Con la constante K > 1 se regula la penalizaci´on a las malas soluciones.
Figura 5: Efecto constante K
17/23
29. Funci´on objetivo
Sea Ck = (V , E ) un sub-grafo completo el cual la suma de sus aristas
esta dada por
Fitness(Ck ) =
(|Ck |−1)
j=1
|Ck |
j=i+1
cij vi vj
donde Ck es un clique o sub-grafo completo de tama˜no q = |Ck |, y cij
son los pesos que existen en las conexiones de vi a vj .
18/23
32. Resultados
Experimentos.
La instancia para probar el algoritmo es un grafo completo G=(V,E) con
100 vertices, donde la suma de los v´ertices M´aximo Clique
Ck,optimo = {21, 22, 30, 40, 50, 60, 70, 80, 90, 99}, todos los dem´as aristas
no contenidas en Coptimo son asignados valores con una distribuci´on
aleatoria uniforme [0,29]. Los par´ametros de OCH son:
• Iteraciones = 500
• K = 20
• Q = 10
• α = 1
Se program´o en Python utilizando librer´ıas networkx (manejo de grafos) y
numpy (paquete n´umerico)
20/23
37. References I
• C. Solnon and S. Fenet, A study of ACO capabilities for solving the
maximum clique problem, Journal of Heuristics, pp. 1 31, 2006.
• Solnon and D. Bridge, Chapter I An Ant Colony Optimization
Meta-Heuristic for Subset Selection Problems, pp. 1 23
• W. Dai, S. Liu, and S. Liang, An improved ant colony optimization
cluster algorithm based on swarm intelligence, Journal of Software,
vol.6 4, no. 4, pp. 299 306, 2009.
• M. Hinne and E. Marchiori, Cutting graphs using competing ant
colonies and an edge clustering heuristic, Evolutionary Computation
in Combinatorial Optimization 2011.
• S. Sadi, . Etaner-Uyar, and . G. U, COMMUNITY DE- TECTION
USING ANT COLONY OPTIMIZATION TECHNIQUES, Proc. Int.
Conf. Soft Computing, 2009.
38. References II
• B. Alidaee, F. Glover, G. Kochenberger, and H. Wang, Solving the
maximum edge weight clique problem via unconstrained quadratic
pro- gramming, European Journal of Operational Research, vol. 181,
no. 2, pp. 592 597, Sep. 2007.
• R. Battiti and M. Protasi. Reactive local search for the maximum
clique problem. Algorithmica, 29(4):610 637, 2001.
• A. Grosso, M. Locatelli, and F. Della Croce. Combining swaps and
node weights in an adaptive greedy approach for the maximum
clique problem. Journal of Heuristics, 10(2):135 152, 2004
• E. Marchiori. Genetic, iterated andmultistart local search for the
maxi- mum clique problem. In S. Cagnoni, J. Gottlieb, E. Hart, M.
Middendorf, and G.R. Raidl, editors, Applications of Evolutionary
Computing, Pro- ceedings of EvoWorkshops 2002: EvoCOP,
EvoIASP, EvoSTim, volume 2279 of lncs, pages 112 121.
Springer-Verlag, 2002