Este documento presenta un informe sobre un proyecto de investigación sobre algoritmos de grafos. En la primera sección, introduce conceptos básicos sobre teoría de grafos como nodos, aristas, caminos, subgrafos, conectividad y tipos de grafos como árboles. Luego describe algoritmos clásicos para problemas de grafos como Dijkstra y Floyd-Warshall para encontrar caminos mínimos. Finalmente, discute el desarrollo de un editor de grafos como herramienta para el proyecto.
El documento trata sobre algoritmos para encontrar la ruta más corta en un grafo. Explica el algoritmo de Dijkstra para hallar la ruta de costo mínimo entre un vértice origen y todos los demás vértices en un grafo dirigido con pesos no negativos. También discute variantes del problema de ruta más corta y complejidad de los algoritmos.
Este documento presenta el análisis cinemático de mecanismos planos utilizando métodos gráficos y analíticos. Se estudian los mecanismos de cuatro barras y de manivela-biela-corredera. El método analítico utiliza números complejos para representar vectores y resolver ecuaciones de lazo vectorial para determinar posiciones, velocidades y aceleraciones de los eslabones. Se presentan ejemplos numéricos para ilustrar el proceso de cálculo.
Analisis cinematico de mecanismos analisis de velocidad (metodo Analitico y C...Angel Villalpando
Este documento presenta un análisis del método analítico para analizar la velocidad en mecanismos. Explica los conceptos de centros instantáneos de velocidad, que son puntos comunes a dos eslabones que tienen la misma velocidad instantánea. Describe cómo usar los centros instantáneos para realizar un análisis gráfico rápido de la velocidad de un mecanismo. También cubre el análisis de la velocidad de deslizamiento y la relación de velocidad angular entre la entrada y la salida de un me
Este documento describe los conceptos fundamentales de la cinemática de los fluidos. Explica que estudia el movimiento de los fluidos sin considerar las fuerzas involucradas, analizando la forma del movimiento. Luego describe dos métodos de estudio, el de Lagrange y el de Euler, y conceptos clave como líneas de corriente, tubos de corriente, líneas de emisión y circulación. Finalmente, presenta la ecuación de continuidad que expresa la conservación de la masa en un fluido continuo.
Este documento presenta un resumen de los métodos para analizar las velocidades en mecanismos. Explica dos métodos, el análisis gráfico de velocidades usando el polígono de velocidades y el método de los centros instantáneos de rotación, y el análisis numérico de velocidades. También cubre conceptos como órganos deslizantes y aplica los métodos a ejemplos numéricos para ilustrar los cálculos de velocidad.
Este documento presenta los conceptos y métodos de cálculo de velocidad y aceleración en mecanismos. Explica definiciones de desplazamiento, velocidad y aceleración, y métodos gráficos y analíticos para calcular la velocidad y aceleración de elementos en mecanismos de 4 barras y biela-manivela-corredera. También cubre aceleración tangencial, normal y de Coriolis, centros instantáneos de rotación y el teorema de Kennedy.
ANÁLISIS CINEMÁTICO DE MECANISMOS Unidad 2.DianaJulia10
Este documento describe el análisis cinemático de mecanismos, que incluye determinar las posiciones, velocidades y aceleraciones de las partes móviles de un mecanismo. Explica que primero se calculan las posiciones, luego las velocidades y finalmente las aceleraciones, usando incrementos pequeños de las variables de entrada. También cubre representaciones de vectores, análisis para casos donde la magnitud y orientación de un vector son variables o fijas, y ecuaciones cinemáticas para mecanismos de 4 barras y
El documento trata sobre algoritmos para encontrar la ruta más corta en un grafo. Explica el algoritmo de Dijkstra para hallar la ruta de costo mínimo entre un vértice origen y todos los demás vértices en un grafo dirigido con pesos no negativos. También discute variantes del problema de ruta más corta y complejidad de los algoritmos.
Este documento presenta el análisis cinemático de mecanismos planos utilizando métodos gráficos y analíticos. Se estudian los mecanismos de cuatro barras y de manivela-biela-corredera. El método analítico utiliza números complejos para representar vectores y resolver ecuaciones de lazo vectorial para determinar posiciones, velocidades y aceleraciones de los eslabones. Se presentan ejemplos numéricos para ilustrar el proceso de cálculo.
Analisis cinematico de mecanismos analisis de velocidad (metodo Analitico y C...Angel Villalpando
Este documento presenta un análisis del método analítico para analizar la velocidad en mecanismos. Explica los conceptos de centros instantáneos de velocidad, que son puntos comunes a dos eslabones que tienen la misma velocidad instantánea. Describe cómo usar los centros instantáneos para realizar un análisis gráfico rápido de la velocidad de un mecanismo. También cubre el análisis de la velocidad de deslizamiento y la relación de velocidad angular entre la entrada y la salida de un me
Este documento describe los conceptos fundamentales de la cinemática de los fluidos. Explica que estudia el movimiento de los fluidos sin considerar las fuerzas involucradas, analizando la forma del movimiento. Luego describe dos métodos de estudio, el de Lagrange y el de Euler, y conceptos clave como líneas de corriente, tubos de corriente, líneas de emisión y circulación. Finalmente, presenta la ecuación de continuidad que expresa la conservación de la masa en un fluido continuo.
Este documento presenta un resumen de los métodos para analizar las velocidades en mecanismos. Explica dos métodos, el análisis gráfico de velocidades usando el polígono de velocidades y el método de los centros instantáneos de rotación, y el análisis numérico de velocidades. También cubre conceptos como órganos deslizantes y aplica los métodos a ejemplos numéricos para ilustrar los cálculos de velocidad.
Este documento presenta los conceptos y métodos de cálculo de velocidad y aceleración en mecanismos. Explica definiciones de desplazamiento, velocidad y aceleración, y métodos gráficos y analíticos para calcular la velocidad y aceleración de elementos en mecanismos de 4 barras y biela-manivela-corredera. También cubre aceleración tangencial, normal y de Coriolis, centros instantáneos de rotación y el teorema de Kennedy.
ANÁLISIS CINEMÁTICO DE MECANISMOS Unidad 2.DianaJulia10
Este documento describe el análisis cinemático de mecanismos, que incluye determinar las posiciones, velocidades y aceleraciones de las partes móviles de un mecanismo. Explica que primero se calculan las posiciones, luego las velocidades y finalmente las aceleraciones, usando incrementos pequeños de las variables de entrada. También cubre representaciones de vectores, análisis para casos donde la magnitud y orientación de un vector son variables o fijas, y ecuaciones cinemáticas para mecanismos de 4 barras y
Este documento introduce las coordenadas polares como una alternativa a las coordenadas cartesianas para describir el movimiento de una partícula. Explica cómo definir vectores como ur y uθ que permiten expresar la posición, velocidad y aceleración de una partícula en términos de la magnitud r, la dirección θ y sus derivadas. Aplica estas ideas al movimiento circular y al caso general de movimiento en el plano, y usa las coordenadas polares para derivar las ecuaciones del movimiento de un péndulo simple.
Este documento presenta 16 problemas relacionados con el movimiento circular y la cinemática rotacional. Los problemas cubren temas como el cálculo del período, la frecuencia, la velocidad angular, la aceleración radial y tangencial, el número de revoluciones, y la velocidad y aceleración angular en función del tiempo para objetos que se mueven en trayectorias circulares.
Este documento presenta una introducción al estudio de las aceleraciones en mecanismos articulados coplanares utilizando el método gráfico de los polígonos de aceleración. Explica que la aceleración tiene componentes normal y tangencial, y que a diferencia de la velocidad, los centros instantáneos de aceleración no se abordan. Además, incluye un índice con las secciones y figuras que componen el documento.
1) El documento introduce conceptos básicos de vectores como magnitud, dirección y sentido. Describe formas de representar vectores en coordenadas cartesianas, esféricas y cilíndricas en 2 y 3 dimensiones.
2) Explica operaciones con vectores como suma, producto escalar y vectorial. Presenta propiedades de estas operaciones.
3) Proporciona expresiones para derivadas de vectores y magnitudes vectoriales.
Este documento describe algoritmos para encontrar caminos mínimos en grafos dirigidos y ponderados, incluyendo el algoritmo de Floyd-Warshall y su codificación. También describe métodos para encontrar árboles de expansión mínimos, como los algoritmos de Prim y Kruskal, explicando su lógica y codificación.
Este documento presenta nociones fundamentales de cinemática de la partícula, incluyendo definiciones de magnitudes escalares y vectoriales como posición, velocidad y aceleración. Explica los sistemas de coordenadas cartesianas, polares, esféricas y cilíndricas, y cómo se expresan la velocidad y aceleración en cada sistema. También analiza el movimiento rectilíneo, curvilíneo y circular, y las ecuaciones que relacionan posición, velocidad y aceleración.
Este documento describe los conceptos fundamentales de aceleración en mecanismos. Explica que la aceleración es la tasa de cambio de la velocidad con respecto al tiempo y puede ser relativa, vectorial o angular. Luego describe cómo se relacionan las aceleraciones a través de una cadena cinemática y cómo calcular la aceleración de un punto usando el método de aceleración relativa. También cubre conceptos como aceleración angular, aceleración en movimiento circular y el teorema de los tres centros.
Este documento trata sobre la velocidad y aplicación de fuerzas en mecanismos. Explica conceptos como velocidad lineal, velocidad angular, relación entre velocidad lineal y angular, velocidad de eslabones, velocidad relativa, curvas de velocidad y aplicación de fuerzas en mecanismos. Incluye ejemplos para ilustrar cómo calcular estas velocidades y fuerzas en diferentes configuraciones de mecanismos.
1. El documento describe el método del polígono para analizar velocidades y aceleraciones en mecanismos mediante un enfoque gráfico. 2. Explica conceptos como escalares, vectores, tipos de movimiento y ecuaciones de movimiento relativo. 3. Proporciona un ejemplo numérico para calcular velocidades y aceleraciones en un mecanismo manivela-biela-corredera usando el método del polígono.
Un coche aumenta su velocidad uniformemente de 72 km/h a 30 m/s en 5 segundos para adelantar. Su aceleración es de 2 m/s2 y recorre un espacio de 125 metros.
El documento presenta información sobre el Sistema Internacional de Unidades, magnitudes escalares y vectoriales, y conceptos básicos de cinemática como posición, velocidad, aceleración y movimiento rectilíneo. Se definen las magnitudes fundamentales y derivadas del SI, así como conversiones de unidades. También se explican vectores, sumas vectoriales y cálculo de componentes. Finalmente, se describen conceptos cinemáticos como velocidad y aceleración media e instantánea para movimiento en una dimensión.
EN ESTE DOCUMENTO SE HABLA SOBRE LAS VELOCIDADES QUE PUEDE TENER UN MECANISMO Y LA MANERA EN QUE PODEMOS CALCULAR CADA VELOCIDADES DEPENDIENDO DE LOS VALORES QUE EL PROBLEMA NOS DÉ
Este documento presenta un capítulo sobre cinemática. Introduce conceptos como el vector de posición, la velocidad y la aceleración de un punto móvil, y cómo expresar estas cantidades en diferentes sistemas de coordenadas como cartesianas, cilíndricas y esféricas. También describe cómo calcular estas cantidades a través de derivaciones sucesivas y cómo resolver problemas cinemáticos directa e inversamente.
Este documento presenta el método de Cross, el cual permite resolver sistemas de ecuaciones con múltiples incógnitas que surgen al aplicar el Teorema de Clapeyron para analizar estructuras hiperestáticas. Primero se explican conceptos previos como el coeficiente de traspaso y los coeficientes de distribución. Luego, se ilustra cómo el método de Cross facilita la resolución de ejemplos complejos con varias incógnitas, como marcos de varios pisos, donde Clapeyron sería tedioso.
El documento describe gráficas de velocidad-tiempo (v-t) y aceleración-tiempo (a-t) para un ciclista que viaja a lo largo de una carretera recta durante 20 segundos. La gráfica de v-t muestra que la velocidad del ciclista aumenta de 0 a 24 m/s en los primeros 10 segundos y luego disminuye de 24 a 15 m/s en los siguientes 10 segundos. La gráfica de a-t muestra que la aceleración del ciclista es de 0.48 m/s2 en los primeros
Este documento describe el movimiento rectilíneo uniformemente variado, donde la aceleración es constante. Las ecuaciones clave son: v = v0 + at, x = x0 + v0t + 1/2at2. Estas ecuaciones relacionan la velocidad, posición, aceleración y tiempo para resolver problemas en este tipo de movimiento.
Este documento presenta conceptos básicos de cinemática, incluyendo variables como tiempo, posición, desplazamiento, velocidad, aceleración y ecuaciones que rigen diferentes tipos de movimiento como movimiento rectilíneo uniforme, movimiento con aceleración constante y caída libre. También incluye ejemplos resueltos para ilustrar el uso de estas variables y ecuaciones.
CURSO DINAMICA ING. CIVIL CINEMÁTICA DEL MOVIMIENTO RECTILÍNEOYuri Milachay
Este documento trata sobre la dinámica del movimiento rectilíneo. Explica conceptos como sistemas de referencia, posición, velocidad, aceleración y ecuaciones del movimiento rectilíneo con aceleración constante. También cubre gráficos como s-t, v-t y a-t y cómo usarlos para analizar diferentes tipos de movimiento como el movimiento errático.
El documento presenta varios problemas relacionados con la cinemática de partículas en movimiento rectilíneo uniforme y acelerado. El primer problema describe el movimiento de una partícula y pide calcular su aceleración, velocidad media y graficar su posición, velocidad y aceleración. El segundo problema analiza el movimiento vertical de un punto y pide calcular su aceleración, desplazamiento y distancia recorrida. El tercer problema pide graficar la aceleración y posición de una partícula a partir de su gráfica de veloc
Google fue fundada en 1998 por Larry Page y Sergey Brin. Su misión es organizar la información mundial para que sea universalmente accesible. Google se caracteriza por su constante innovación y desarrollo de nuevos productos como Gmail, Android y Google Docs. Su éxito se debe a su enfoque en el usuario, escuchar ideas nuevas y mantener a sus empleados felices.
Este documento discute los valores de diseño de las claves para el algoritmo RSA. Explica que las claves deben tener al menos 1024 bits y que los primos p y q deben tener al menos 500 bits y diferir en unos pocos dígitos. También describe cómo seleccionar primos p y q "seguros" para fortalecer la seguridad de RSA.
Este documento presenta el plan de estudios 2006 del programa de Ingeniería Informática (Ciencia de la Computación) de la Universidad Católica San Pablo. Se basa en el estándar internacional Computing Curricula 2 de ACM e IEEE-CS. Describe 14 áreas de conocimiento centrales de la Ciencia de la Computación y los objetivos de cada una. También detalla los cursos del plan de estudios, sus dependencias, horas dedicadas a teoría, práctica y laboratorio, y los créditos asignados. El plan busca formar profesionales con sól
Este documento introduce las coordenadas polares como una alternativa a las coordenadas cartesianas para describir el movimiento de una partícula. Explica cómo definir vectores como ur y uθ que permiten expresar la posición, velocidad y aceleración de una partícula en términos de la magnitud r, la dirección θ y sus derivadas. Aplica estas ideas al movimiento circular y al caso general de movimiento en el plano, y usa las coordenadas polares para derivar las ecuaciones del movimiento de un péndulo simple.
Este documento presenta 16 problemas relacionados con el movimiento circular y la cinemática rotacional. Los problemas cubren temas como el cálculo del período, la frecuencia, la velocidad angular, la aceleración radial y tangencial, el número de revoluciones, y la velocidad y aceleración angular en función del tiempo para objetos que se mueven en trayectorias circulares.
Este documento presenta una introducción al estudio de las aceleraciones en mecanismos articulados coplanares utilizando el método gráfico de los polígonos de aceleración. Explica que la aceleración tiene componentes normal y tangencial, y que a diferencia de la velocidad, los centros instantáneos de aceleración no se abordan. Además, incluye un índice con las secciones y figuras que componen el documento.
1) El documento introduce conceptos básicos de vectores como magnitud, dirección y sentido. Describe formas de representar vectores en coordenadas cartesianas, esféricas y cilíndricas en 2 y 3 dimensiones.
2) Explica operaciones con vectores como suma, producto escalar y vectorial. Presenta propiedades de estas operaciones.
3) Proporciona expresiones para derivadas de vectores y magnitudes vectoriales.
Este documento describe algoritmos para encontrar caminos mínimos en grafos dirigidos y ponderados, incluyendo el algoritmo de Floyd-Warshall y su codificación. También describe métodos para encontrar árboles de expansión mínimos, como los algoritmos de Prim y Kruskal, explicando su lógica y codificación.
Este documento presenta nociones fundamentales de cinemática de la partícula, incluyendo definiciones de magnitudes escalares y vectoriales como posición, velocidad y aceleración. Explica los sistemas de coordenadas cartesianas, polares, esféricas y cilíndricas, y cómo se expresan la velocidad y aceleración en cada sistema. También analiza el movimiento rectilíneo, curvilíneo y circular, y las ecuaciones que relacionan posición, velocidad y aceleración.
Este documento describe los conceptos fundamentales de aceleración en mecanismos. Explica que la aceleración es la tasa de cambio de la velocidad con respecto al tiempo y puede ser relativa, vectorial o angular. Luego describe cómo se relacionan las aceleraciones a través de una cadena cinemática y cómo calcular la aceleración de un punto usando el método de aceleración relativa. También cubre conceptos como aceleración angular, aceleración en movimiento circular y el teorema de los tres centros.
Este documento trata sobre la velocidad y aplicación de fuerzas en mecanismos. Explica conceptos como velocidad lineal, velocidad angular, relación entre velocidad lineal y angular, velocidad de eslabones, velocidad relativa, curvas de velocidad y aplicación de fuerzas en mecanismos. Incluye ejemplos para ilustrar cómo calcular estas velocidades y fuerzas en diferentes configuraciones de mecanismos.
1. El documento describe el método del polígono para analizar velocidades y aceleraciones en mecanismos mediante un enfoque gráfico. 2. Explica conceptos como escalares, vectores, tipos de movimiento y ecuaciones de movimiento relativo. 3. Proporciona un ejemplo numérico para calcular velocidades y aceleraciones en un mecanismo manivela-biela-corredera usando el método del polígono.
Un coche aumenta su velocidad uniformemente de 72 km/h a 30 m/s en 5 segundos para adelantar. Su aceleración es de 2 m/s2 y recorre un espacio de 125 metros.
El documento presenta información sobre el Sistema Internacional de Unidades, magnitudes escalares y vectoriales, y conceptos básicos de cinemática como posición, velocidad, aceleración y movimiento rectilíneo. Se definen las magnitudes fundamentales y derivadas del SI, así como conversiones de unidades. También se explican vectores, sumas vectoriales y cálculo de componentes. Finalmente, se describen conceptos cinemáticos como velocidad y aceleración media e instantánea para movimiento en una dimensión.
EN ESTE DOCUMENTO SE HABLA SOBRE LAS VELOCIDADES QUE PUEDE TENER UN MECANISMO Y LA MANERA EN QUE PODEMOS CALCULAR CADA VELOCIDADES DEPENDIENDO DE LOS VALORES QUE EL PROBLEMA NOS DÉ
Este documento presenta un capítulo sobre cinemática. Introduce conceptos como el vector de posición, la velocidad y la aceleración de un punto móvil, y cómo expresar estas cantidades en diferentes sistemas de coordenadas como cartesianas, cilíndricas y esféricas. También describe cómo calcular estas cantidades a través de derivaciones sucesivas y cómo resolver problemas cinemáticos directa e inversamente.
Este documento presenta el método de Cross, el cual permite resolver sistemas de ecuaciones con múltiples incógnitas que surgen al aplicar el Teorema de Clapeyron para analizar estructuras hiperestáticas. Primero se explican conceptos previos como el coeficiente de traspaso y los coeficientes de distribución. Luego, se ilustra cómo el método de Cross facilita la resolución de ejemplos complejos con varias incógnitas, como marcos de varios pisos, donde Clapeyron sería tedioso.
El documento describe gráficas de velocidad-tiempo (v-t) y aceleración-tiempo (a-t) para un ciclista que viaja a lo largo de una carretera recta durante 20 segundos. La gráfica de v-t muestra que la velocidad del ciclista aumenta de 0 a 24 m/s en los primeros 10 segundos y luego disminuye de 24 a 15 m/s en los siguientes 10 segundos. La gráfica de a-t muestra que la aceleración del ciclista es de 0.48 m/s2 en los primeros
Este documento describe el movimiento rectilíneo uniformemente variado, donde la aceleración es constante. Las ecuaciones clave son: v = v0 + at, x = x0 + v0t + 1/2at2. Estas ecuaciones relacionan la velocidad, posición, aceleración y tiempo para resolver problemas en este tipo de movimiento.
Este documento presenta conceptos básicos de cinemática, incluyendo variables como tiempo, posición, desplazamiento, velocidad, aceleración y ecuaciones que rigen diferentes tipos de movimiento como movimiento rectilíneo uniforme, movimiento con aceleración constante y caída libre. También incluye ejemplos resueltos para ilustrar el uso de estas variables y ecuaciones.
CURSO DINAMICA ING. CIVIL CINEMÁTICA DEL MOVIMIENTO RECTILÍNEOYuri Milachay
Este documento trata sobre la dinámica del movimiento rectilíneo. Explica conceptos como sistemas de referencia, posición, velocidad, aceleración y ecuaciones del movimiento rectilíneo con aceleración constante. También cubre gráficos como s-t, v-t y a-t y cómo usarlos para analizar diferentes tipos de movimiento como el movimiento errático.
El documento presenta varios problemas relacionados con la cinemática de partículas en movimiento rectilíneo uniforme y acelerado. El primer problema describe el movimiento de una partícula y pide calcular su aceleración, velocidad media y graficar su posición, velocidad y aceleración. El segundo problema analiza el movimiento vertical de un punto y pide calcular su aceleración, desplazamiento y distancia recorrida. El tercer problema pide graficar la aceleración y posición de una partícula a partir de su gráfica de veloc
Google fue fundada en 1998 por Larry Page y Sergey Brin. Su misión es organizar la información mundial para que sea universalmente accesible. Google se caracteriza por su constante innovación y desarrollo de nuevos productos como Gmail, Android y Google Docs. Su éxito se debe a su enfoque en el usuario, escuchar ideas nuevas y mantener a sus empleados felices.
Este documento discute los valores de diseño de las claves para el algoritmo RSA. Explica que las claves deben tener al menos 1024 bits y que los primos p y q deben tener al menos 500 bits y diferir en unos pocos dígitos. También describe cómo seleccionar primos p y q "seguros" para fortalecer la seguridad de RSA.
Este documento presenta el plan de estudios 2006 del programa de Ingeniería Informática (Ciencia de la Computación) de la Universidad Católica San Pablo. Se basa en el estándar internacional Computing Curricula 2 de ACM e IEEE-CS. Describe 14 áreas de conocimiento centrales de la Ciencia de la Computación y los objetivos de cada una. También detalla los cursos del plan de estudios, sus dependencias, horas dedicadas a teoría, práctica y laboratorio, y los créditos asignados. El plan busca formar profesionales con sól
El diplomado tiene como objetivo consolidar la actividad en internet dentro del Marketing y las Comunicaciones; además de comprender el potencial de Internet como fuente de información y conocimiento del consumidor.
Este documento describe las tablas hash, incluyendo su definición como una estructura de datos que asocia claves con valores para permitir búsquedas eficientes. Explica dos métodos comunes para resolver colisiones en las tablas hash, el hashing abierto que usa listas enlazadas y el hashing cerrado que almacena elementos directamente en la tabla. También discute factores que afectan el rendimiento de las tablas hash como la función hash, la estrategia para resolver colisiones y el tamaño de la tabla.
Crítica de la información. Scott Lash. NotasJorge Yunes
Este documento analiza la "sociedad de la información" desde diferentes perspectivas. Explora cómo ha pasado de una cultura de representación a una cultura tecnológica sin interrupciones de tiempo. También examina teorías no lineales del poder y cómo la propiedad intelectual es la base del poder en esta sociedad. Finalmente, discute cómo la comunicación, los códigos y la reproducción están en crisis constante debido a la hibridación e incrustación de códigos circulantes.
This document discusses generating random prime numbers for use in cryptography. It begins with an introduction to prime numbers and their importance in public key ciphers like RSA. It then covers generating random numbers, both true random sources from physical phenomena and pseudorandom number generators that appear random. The document discusses prime number theory, the importance of primality testing for large random numbers, and describes some common primality tests like Fermat's, Solovay-Strassen, and Rabin-Miller. It concludes with an implementation of a random prime number generator in Python using the Rabin-Miller test.
Arequipa valley - Arequipa esta de modaAlfredo Gama
Arequipa Valley es una comunidad de emprendedores y profesionales de tecnología en Arequipa, Perú. El grupo se reúne periódicamente para conversar sobre proyectos y startups, capacitarse, y apoyarse mutuamente. Su objetivo es convertir a Arequipa en el polo tecnológico de Perú mediante el fomento del emprendimiento y la incubación de proyectos de tecnología.
Este documento compara diferentes algoritmos para generar números primos fuertes para criptografía. Explica que los números primos fuertes son aquellos con un tamaño de bits grande y cuyos mayores factores también son grandes. Luego describe algoritmos como el método original de RSA, el de Williams/Schmid y el de Gordon, realizando comparativas de tiempo de generación. Concluye recomendando el uso de generadores de primos fuertes como Williams/Schmid para mayor seguridad, siendo este más eficiente que otros métodos.
20150527_El Modelo de Innovación de GoogleSantiago Sanz
El documento describe el modelo de innovación de Google según el libro "Work Rules" de Laszlo Bock, jefe de operaciones de personas en Google. Se destacan tres aspectos fundamentales de la cultura de Google: una misión inspiradora, transparencia y dar voz a los empleados. También se discuten conceptos como aprendizaje continuo, motivación intrínseca, y crear un equipo fuerte a través de la contratación de personas mejores que uno mismo. La cultura de Google se basa en un liderazgo que fomenta la innovación y la satisf
La fermentación es un proceso metabólico anaeróbico en el que las levaduras y bacterias producen compuestos orgánicos como etanol o ácido láctico a partir de azúcares. Fue descubierta por Pasteur y tiene usos industriales como la producción de vino, cerveza y pan, así como beneficios nutricionales y de preservación de alimentos. Existen diferentes tipos de fermentación como la alcohólica, acética y láctica.
Este documento presenta un resumen del algoritmo de Johnson. En primer lugar, introduce el algoritmo de Johnson como una estrategia para encontrar los caminos más cortos en un grafo ponderado, incluso cuando contiene aristas con pesos negativos, siempre que no contenga ciclos negativos. Luego, explica los pasos del algoritmo de Johnson, que incluyen agregar un nuevo vértice, ejecutar el algoritmo de Bellman-Ford, reponderar los pesos de las aristas, y ejecutar el algoritmo de Dijkstra. Finalmente, presenta un ejemplo res
Este documento presenta un proyecto de aula sobre la generación automática de variantes de trayectorias aplicada al diseño óptimo de redes hidráulicas de abasto. El proyecto utiliza algoritmos de grafos para generar múltiples variantes de trayectorias y seleccionar la opción óptima según criterios múltiples definidos por el usuario. El documento describe cada etapa del procedimiento, incluyendo la generación de grafos, triangulación de Delaunay, algoritmo de Kruskal, y selección de la mejor solución.
Titulo informe de estadisticasan etes de ordenadsjeremycristhian
Este documento resume los resultados de un estudio estadístico sobre los tiempos de llegada de buses en la estación Naranjal. En el Caso I, que analizó varias líneas en la mañana, se encontró un tiempo promedio de 94 segundos entre buses con una desviación estándar de 116 segundos. En el Caso II, estudiando una sola línea en la tarde-noche, el tiempo promedio fue de 107 segundos con una desviación estándar de 101 segundos.
Este documento resume tres algoritmos para análisis de grafos: el algoritmo de Dijkstra para encontrar el camino más corto entre un vértice origen y los demás, el algoritmo de Floyd para encontrar el camino más corto entre todos los pares de vértices, y el algoritmo de Warshall para encontrar todos los caminos posibles directos o indirectos entre vértices. Incluye ejemplos y aplicaciones de cada algoritmo.
Este documento presenta un tutorial interactivo sobre el algoritmo de Dijkstra desarrollado como applet de Java. El tutorial permite a los estudiantes dibujar sus propios grafos y ejecutar el algoritmo de forma paso a paso o completa para encontrar el camino de coste mínimo. El tutorial es una herramienta educativa útil gracias a su interactividad y accesibilidad a través de Internet, lo que mejora el aprendizaje de los estudiantes en comparación con métodos tradicionales.
Este documento describe el problema del agente viajero (TSP por sus siglas en inglés), un problema NP-completo que busca encontrar la ruta más corta para visitar todas las ciudades exactamente una vez y regresar al punto de partida. Explica que el problema involucra grafos y variables como distancias y tiempos. También describe algoritmos como fuerza bruta y heurísticas para encontrar soluciones aproximadas, así como aplicaciones del TSP en logística, transporte y más.
Este documento resume el problema de encontrar caminos de longitud mínima en grafos ponderados y presenta el algoritmo de Dijkstra para resolverlo. Explica que muchos problemas pueden representarse como grafos ponderados donde se asignan pesos a las aristas. Luego define la longitud de un camino como la suma de los pesos de sus aristas y plantea el objetivo de encontrar el camino más corto entre dos vértices dados. Finalmente, describe brevemente el algoritmo de Dijkstra y provee un ejemplo de su aplicación.
Este documento trata sobre el análisis y modelado de redes. Define una red como un conjunto de puntos o vértices unidos por aristas que representan conexiones. Explica que los grafos son modelos matemáticos utilizados para representar objetos y conexiones entre ellos. También describe algunos algoritmos comunes para el análisis de redes como Dijkstra, A* y PgRouting.
Este documento trata sobre el análisis y modelado de redes. Define una red como un conjunto de puntos o vértices unidos por aristas que representan conexiones. Explica que los grafos son modelos matemáticos utilizados para representar objetos y conexiones entre ellos. También describe algunos algoritmos comunes para el análisis de redes como Dijkstra, A* y PgRouting.
Unidad 3 funciones vectoriales de una variable realTezca8723
Este documento presenta conceptos sobre funciones vectoriales de una variable real, incluyendo definiciones, derivación, integración, longitud de arco, vectores tangente, normal y binormal, curvatura y aplicaciones. Explica cómo calcular la derivada y integral de funciones vectoriales, y cómo usar funciones vectoriales para modelar curvas en el espacio y calcular propiedades como longitud de arco, vectores de curvatura y fuerza de rozamiento.
El documento describe el uso del software TransCAD para analizar rutas de transporte público. Explica los pasos para crear un sistema de rutas en TransCAD, incluyendo la creación de paradas de buses, rutas y matrices origen-destino. Luego, compara dos posibles rutas entre dos puntos, analizando el tiempo y costo de cada ruta. Los resultados muestran que la Ruta 1 es más eficiente.
1) El documento describe un sistema de suspensión automática para un autobús modelado como un sistema masa-resorte-amortiguador unidimensional. 2) Se calculan las funciones de transferencia del sistema G1(s) y G2(s) para analizar la respuesta a las entradas de fuerza de suspensión u(s) y perturbación de la carretera w(s). 3) La respuesta a un escalón muestra oscilaciones iniciales demasiado grandes que deberían reducirse usando controladores P, PI, PD o PID.
Este documento resume el problema de encontrar caminos de longitud mínima en grafos ponderados. Explica que muchos problemas pueden representarse usando grafos ponderados donde se asignan pesos a las aristas. Luego define la longitud de un camino como la suma de los pesos de sus aristas y plantea el problema de encontrar el camino más corto entre dos vértices dados. Finalmente, introduce el algoritmo de Dijkstra para resolver este problema en grafos ponderados no dirigidos con pesos positivos.
Este documento introduce el concepto de integral y su relación con el cálculo del espacio recorrido por un objeto en movimiento cuando se conoce su velocidad en función del tiempo. Explica cómo dividir el intervalo de tiempo en subintervalos y sumar las áreas de los rectángulos definidos por las velocidades y tiempos para obtener estimaciones cada vez más precisas del espacio recorrido. Finalmente, define la integral como el límite de esta suma cuando el número de subintervalos tiende a infinito, lo que proporciona el valor exacto del espacio recorrid
Este documento describe el movimiento rectilíneo uniformemente acelerado de un tren que viaja entre dos ciudades. El tren pasa el primer puente a 4 km de la estación a una velocidad constante de 30 km/h. 35 minutos después pasa el segundo puente. La gráfica de la ecuación que modela este movimiento se genera en Desmos y muestra que la distancia al segundo puente es de 21.5 km. El movimiento del tren se describe como rectilíneo uniformemente acelerado debido a que mantiene una aceleración constante.
Exposicion de Matematica determinantes 1.pptxwoleho6472
Este documento describe el uso de matrices en la ingeniería, con un enfoque en su aplicación en el transporte. Explica tres tipos de matrices comúnmente utilizadas: 1) matrices origen-destino que muestran los flujos entre zonas, 2) matrices de distancias que representan las distancias entre puntos, y 3) matrices de flujos que muestran el tráfico a través de los enlaces de una red de transporte. Estas matrices proporcionan información clave para la planificación, diseño y análisis de sistemas de transporte.
Este documento presenta una base de datos lógica con información geográfica de la ciudad de Montevideo para ayudar a peatones a planificar rutas a pie y en ómnibus. Describe predicados que proveen datos sobre tramos de calles, líneas de transporte público, y define tareas como encontrar la distancia entre puntos, intersecciones de calles, y algoritmos para calcular caminos óptimos.
Este documento presenta información sobre matemática computacional, incluyendo algoritmos de optimización como el problema de la ruta corta. Explica conceptos como grafos, caminos eulerianos y hamiltonianos, y algoritmos como Dijkstra y A* para encontrar la ruta óptima entre dos puntos. También cubre herramientas como pgRouting que permiten realizar análisis de redes y rutas en bases de datos PostGIS.
Este documento presenta información sobre matemática computacional, incluyendo algoritmos de optimización como el problema de la ruta corta. Explica conceptos como grafos, caminos eulerianos y hamiltonianos, y algoritmos como Dijkstra y A* para encontrar la ruta óptima entre dos puntos. También cubre herramientas como pgRouting que permiten realizar análisis de redes y rutas en bases de datos PostGIS.
Este documento describe conceptos clave relacionados con redes y demanda de transporte en logística. Explica que una red logística se compone de nodos y arcos que representan agentes y medios de transporte. La gestión de una red logística involucra decisiones estratégicas, tácticas y operacionales para optimizar su funcionamiento minimizando costos. También presenta algoritmos como el de Dijkstra para encontrar la ruta más corta entre nodos en una red.
Los ciclos económicos son inevitables debido a la innovación tecnológica, pero las políticas pueden mitigar sus efectos negativos como la pérdida de empleos. La crisis financiera se originó por la falta de preocupación por el bien común y la persona humana en los procesos económicos, lo que llevó a la cesación de pagos de préstamos de alto riesgo en Estados Unidos y propagó la recesión globalmente.
J. J. Milón2 G. and S. L. Braga2
1 Paper presented at the Fifteenth Symposium on Thermophysical Properties, June 22- 27, 2003, Boulder, Colorado, U.S.A.
2 Department of Mechanical Engineering. Pontifical Catholic University of Rio de Janeiro. CEP 22453-900 – Rio de Janeiro, RJ, Brazil
Miguel León M., Rocío Rodríguez G., Juan J. Milón G., Sergio L. Braga
Technological Research Laboratory in Energy San Pablo Catholic University
Energy Institute, PUC-RIO Pontifical Catholic University of Rio de Janeiro
This document summarizes an experimental study on the effects of using liquefied petroleum gas (LPG) as an alternative fuel in a spark ignition engine originally designed for gasoline. Temperatures, power, and torque were measured for the engine running on gasoline and LPG at different speeds. The results showed that all temperatures increased significantly with LPG use. Power and torque decreased by 5-20% with LPG compared to gasoline under similar conditions. Safety issues were also examined for retrofitting vehicles with LPG systems not designed for factory installation.
Un dispositivo experimental fue desarrollado para investigar la conservación y transporte de caracoles de tierra utilizando pasta de hielo. Fueron medidas las temperaturas interna y externa del producto mediante termopares tipo K, utilizando un sistema de adquisición de datos multicanal y con un intervalo de adquisición de datos de treinta segundos. Los resultados indican que el enfriamiento y conservación de los caracoles terrestres se presentan en mejores condiciones cuando se utiliza la pasta de hielo, comparándolo con el enfriamiento directo con hielo en escamas.
Juan J. Milón G.1, Sergio L. Braga2
1 Universidad Católica San Pablo. Arequipa, Perú.
2 Pontificia Universidade Católica do Rio de Janeiro, Rio de Janeiro, Brasil. 184s
JUAN J. MILÓN G., Researcher, Technological Research Laboratory in energy, San Pablo Catholic University, Arequipa, Perú,
SERGIO L. BRAGA, Researcher, Energy Laboratory, Pontifical Catholic University of Rio de Janeiro. Rio de Janeiro. Brazil
Este documento analiza las perspectivas historiográficas sobre las relaciones entre la Iglesia y el Estado en Hispanoamérica desde el siglo XIX. Explica que la irrupción del Estado moderno generó una tensión con la Iglesia debido a su naturaleza laica y su pretensión de hegemonía sobre lo público. También describe la institución del Patronato Regio, que permitió a la Corona intervenir en asuntos eclesiásticos y fue continuado por los nuevos estados americanos tras las independencias.
Este artículo presenta el diseño de una plataforma que permite monitorear el tráfico vehicular en tiempo real usando redes de sensores inalámbricas y el servicio GPRS. La plataforma consta de estaciones base ubicadas en semáforos que recopilan datos de tráfico usando sensores y los transmiten a un servidor central a través de GPRS. El servidor puede enviar comandos a los semáforos para ajustar los ciclos de acuerdo a la demanda de tráfico, mejorando el flujo vehicular.
Este documento presenta los cálculos matemáticos y especificaciones técnicas para el diseño de un enlace inalámbrico de 4 saltos entre Cayma y Condoroma, ubicados en Arequipa, Perú. Se calculan las distancias, pérdidas por espacio libre, márgenes de desvanecimiento, potencias isotrópicas radiadas efectivamente y potencias de recepción para cada salto. El enlace propuesto usa repetidoras intermedias en Chachani, Chachani-Frayle y Condoroma operando a 5.
Este documento está basado en la malla curricular propuesta por la Sociedad Peruana de Computación (SPC) http://www.spc.org.pe/education/PCC/index.html
ISBN: Todos los derechos reservados. Ernesto Cuadros-Vargas, Eduardo Tejada, Alex Cuadros-Vargas.
Ernesto Cuadros Vargas (E2)
Alex Cuadros Vargas (E2)
Luis Diaz Basurco (E4)
Christian López del Alámo (E4)
Christian López del Alámo (E4)
Edwin Huarhua Chambi (E4)
Manuel Bellido Oviedo (E4)
Este documento está basado en la propuesta internacional de IEEE-CS y ACM para carreras de Ciencia de la Computación que a su vez sirvió como base de la versión en Español creada por la Sociedad Peruana de Computación (SPC) http://www.spc.org.pe/education/PCC/index.html
ISBN: Todos los derechos reservados. Ernesto Cuadros-Vargas, Eduardo Tejada, Alex Cuadros-Vargas.
Este documento está basado en la propuesta internacional de IEEE-CS y ACM para carreras de Ciencia de la Computación que a su vez sirvió como base de la versión en Español creada por la Sociedad Peruana de Computación (SPC) http://www.spc.org.pe/education/PCC/index.html
ISBN: Todos los derechos reservados. Ernesto Cuadros-Vargas, Eduardo Tejada, Alex Cuadros-Vargas.
Este documento resume los hallazgos clave de una investigación sobre la violencia familiar hacia niños y niñas de escasos recursos en provincias de Arequipa, Perú. La investigación encontró que:
1) Casi todos (96%) los niños y niñas entrevistados reportaron haber sido víctimas de algún tipo de maltrato, incluyendo maltrato físico, psicológico, económico y sexual.
2) Los agresores más comunes reportados fueron padres y otros familiares cercanos.
3
El documento discute la discriminación laboral por edad, un problema creciente a nivel mundial dado el envejecimiento de la población. La Organización Internacional del Trabajo (OIT) considera la edad como una forma de discriminación y pide eliminar barreras que impidan a las personas desarrollar sus talentos. A nivel global, hay preocupación por la disminución de la fuerza laboral, pero las empresas discriminan a los mayores de 45 años. En América Latina, la discriminación laboral por edad, junto con mercados laborales precarios y sist
Este documento presenta un análisis preliminar del mercado laboral urbano en Arequipa, Perú. Resume algunos hallazgos clave sobre el mercado laboral a nivel nacional, como altas tasas de desempleo, subempleo e informalidad, y bajos niveles educativos entre la fuerza laboral. También analiza factores como horas de trabajo, ingresos, sectores económicos y servicios públicos. El documento concluye con una breve historia del desarrollo urbano en Arequipa para contextualizar un aná
ELABORADO POR: GERMÁN CHAVEZ CONTRERAS
(*) Documento elaborado a partir de la investigación realizada en el marco del Concurso de Investigación CIES ACDI-IDRC 2005. Los datos han sido actualizados al año 2007. Publicado en el número 6 de la revista Economía, Gestión y Desarrollo de la Pontificia Universidad Javeriana de Cali, Colombia.
CRECIMIENTO ECONÓMICO, EMPLEO Y POBREZA: UN ANÁLISIS PARA EL CASO PERUANO
Proyecto pibap
1. Universidad Católica San Pablo
Proyecto PIBAP 03-295 Contrato #040
Informe Componente 1
Periodo 1 de Marzo- 30 de Junio 2009
Ernesto Cuadros Vargas (E2) {ecuadros@gmail.com}
Alex Cuadros Vargas (E2) {alex.jcv@gmail.com}
Luis Diaz Basurco (E4) {l.diaz@gmail.com}
Christian López del Alámo (E4) {criloal23@gmail.com}
Christian Portilla Pauca (E4) {xhrist@xhrist.co.cc}
Edwin Huarhua Chambi (E4) {ehuarhua@gmail.com}
Manuel Bellido Oviedo (E4) {manubellido@gmail.com}
18 de junio de 2009
3. Introducción
En el desarrollo de la plataforma de software que brindará información de
rutas que conecten dos puntos dados de una ciudad se considerará que las posi-
bles rutas de conexión conforman un grafo donde las aristas son las calles y
los nodos las esquinas incluyendo también como nodos importantes los puntos
de origen y destino. La ruta incluirá tanto desplazamientos a pié como con ve-
hículos motorizados de transporte público y privado respetando criterios
especícos. Esto obliga a considerar diferentes tipos de grafos como: grafos no
dirigidos en el caso que el desplazamiento sea realizado a pie, y dirigidos en
el caso que se use un vehículo de transporte. Puesto que la elección de la ruta
depende del tiempo, número de trasbordos, costo, etc se trabajar pesos que sern
variables en el tiempo de acuerdo a las condiciones.
En esta primera parte se trabajará bajo supuestos estables. La informacíon
necesaria que incluyen el catastro de vías y de líneas de transporte público para
la obtención del grafo a tratar, se suponen disponibles independiente de la ciudad
en donde se quiera resolver el problema de conexión. Este trabajo incluirá la
suciente exibilidad para adaptarse a cambios de condiciones y de operación
que se incluirán en una segunda parte de este proyecto donde el abordaje tomará
en cuenta consideraciones estocásticas que surgen en el problema real de ruta
más corta.
Cabe mencionar que existen diferentes sistemas que implementan variadas
soluciones al problema de la ruta más corta disponibles para diferentes ciudades
del mundo. Estos sistemas son generalmente disponibilizados por la empresa de
transportes contratista encargada del transporte público de la ciudad. Entre es-
tos sistemas, algunos de los que proveen una mayor información son los ofrecidos
por Massachussets Bay Transportation Authority (http://www.mbta.com/) del
estado de Massachussets en los Estados Unidos de América, Transport of Lon-
don (http://www.t.gov.uk/) de la ciudad de Londres en Inglaterra y Verkehrs-
und Tarifverbund Stuttgart (http://www.vvs.de/) de la ciudad de Stuttgart en
Alemania. Este último en particular es capaz de calcular rutas que incluyan
trayectos a pié, en taxi, y los diferentes sistemas de transporte urbano (metro,
ómnibus, tranvía, etc.).
Estos sistemas lidian con cronogramas de circulación jos para todas las
líneas de transporte. Por esta raízón algoritmos exactos de búsqueda de rutas
pueden ser aplicados [Gallo y Pallottino, 1988; Cherkassky et al. 1996]. Existen
investigaciones especícas en este respecto que evalúan las diferentes técnicas
2
4. de cálculo de rutas más cortas para el caso particular de redes de transporte
público y privado. Las más relevantes en este contexto son las presentadas por
Zhan y Noon [Zhan, 1997; Zhann y Noon 1998; Zhann y Noon 2000]. Los autores
en un inicio evalúan un conjunto de tres algoritmos de cálculo de la ruta más
corta [Zhan,1997], los cuáles se demostró que ofrecían los mejores resultados
en redes viales reales [Cherkassky et al. 1996], especicamente 1) el algoritmo
de crecimiento de grafos implementado con dos colas [Pallottino 1984], 2) el
algoritmo de Dijkstra [1959] implementado con cubos (buckets) aproximados
[Goldberg y Silverstein, 1995] y 3) el algoritmo de Dijkstra implementado con
buckets dobles [Cherkassky et al. 1996]. En su evaluación, Zhan resume estos tres
algoritmos y demuestran las estructuras de datos y procedimientos relacionados
a ellos.
En un segundo trabajo Zhan y Noon [1998] tratan el problema especíco
de la aplicación de algoritmos de rutas más cortas en redes viales reales. Es
dicho trabajo los autores prueban diferentes algoritmos en una variedad de re-
des viales reales lo que conlleva a la identicación de algoritmos ideales para
realizar este cálculo. Posteriormente un estudio comparativo entre algoritmos
de establecimiento de etiquetas frente a algoritmos de corrección de etiquetas,
en problemas de cálculo de rutas más cortas entre dos nodos de una red, fue
realizado [Zhan y Noon 2000]. En este estudio también se utilizó redes viales
reales y se comparó especicamente el algoritmo de Dijkstra implementado con
cubos (buckets) aproximados [Goldberg y Silverstein, 1995] y el algoritmo de
crecimiento de grafos implementado con dos colas [Pallottino 1984]. Trabajos
centrados en el cálculo de rutas más cortas en redes viales especícos para
escenarios temporales (por ej. simulación en el tiempo) también han sido desar-
rollados [Kaufman y Smith, 1993; Horn, 2000; Horn, 2006].
A pesar de ser un tema bien documentado, como mencionado anteriormente,
estos algoritmos exactos pueden ser aplicados en situaciones donde el cronogra-
ma de circulación de las empresas de transporte público es jo. Actualmente
esta no es la situación en las ciudades del país. Por lo tanto una alternativa que
permita incluir la exibilidad necesaria, relajar e introducir fácilmente restric-
ciones de acuerdo a los cambios estructurales del sistema de transporte (tales
como la implementación de servicios de transporte público organizados). Esto
se puede lograr atacando el problema como un cálculo estocástico de rutas más
cortas.
Nuestro propósito en el presente trabajo es desarrollar una técnica más e-
ciente que las existentes en términos de exibilidad y de tiempo de procesamien-
to. Así mismo, los trabajos existentes al respecto presentan resultados teóricos
y no incluyen su evaluación en redes viales reales como en el caso de algoritmos
exactos. Por lo tanto, pretendemos también realizar esta evaluación.
3
5. Capítulo 1
Preliminares
En esta primera parte introducimos los conceptos básicos necesarios para el
desarrollo y entendimiento de los resultados obtenidos hasta el momento.
1.1. Teoría básica de grafos
Grafos
Para cualquer conjunto V, denotaremos por V (2) el conjunto de todos los
pares ordenados o no ordenados de elementos de V.
Un grafo es un par (V, A) en donde V es un conjunto arbitrário y A es un
subconjunto de V (2) . Los elementos de V son llamados vértices o nodos y los de
A son llamadas aristas.
Para nes del presente estudio el conjunto V es nito.
La denición de grafo implica que a toda arista e ∈ A del grafo se le puede
asociar una pareja ordenada (u, v) o desordenada {u, v} de nodos u, v del grafo.
Se dene el grado de entrada de v ∈ V como el número de aristas que inciden
en v .
De forma paralela se dene el grado de salida de v como el número de aristas
que emergen de v .
El grado de v es la suma de los grados de entrada y salida de v . Así el grado
de un grafo es el máximo grado de sus vértices.
Caminos
Camino desde un vértice u∈V a un vérticev ∈ V es una sucesión {v0 ; v1 ; . . . ; vk }
de vértices de G = (V ; A) tal que v0 = u; vk = v ; (vi ; vi+1 ) ∈ A, para todo
i = 0..k .
La longitud de un camino {v0 ; v1 ; ...; vk } es el número k de aristas que lo
forman.
Se denomina camino simple a un camino en el que todos sus vértices son
distintos.
Un ciclo es un camino simple {v0 ; v1 ; . . . ; vk } tal que v0 = vk .
4
6. Grafo acclico es un grafo sin ciclos.
Subgrafos
Se dice que G = (V ; A ) es un subgrafo de G = (V ; A) si V ⊆ V y A ⊆ A.
El subgrafo inducido por V ⊆ V es un subgrafo G = (V ; A ) tal que
A = {(u; v) ∈ A : u; v ∈ V }.
Conexidad
Antes de denir cuando un grafo es conexo recordemos que un vértice alcan-
zable desde un vértice u es cualquier vértice v para el que existe un camino de
u a v.
Un grafo (fuertemente) conexo es un grafo (dirigido) G = (V ; A) en el que
u; v ∈ V , v es alcanzable desde u. Se denominan componentes (fuertemente)
conexas de un grafo (dirigido) a las clases de equivalencia de vértices según la
relación ser mutuamente alcanzable.
Un grafo completo es un grafo G = (V ; A) en el que ∀u; v ∈ V ; u = v;
(u; v) ∈ A
Isomorsmo de grafos
Dos grafos G = (V ; A); G = (V ; A ) son isomorfos si existe una biyección
f :V →V tal que (u; v) ∈ A si y solo si (f (u); f (v)) ∈ A
Grafos etiquetados
Se denomina grafo etiquetado a un grafo G = (V ; A) acompañado de una
función f : A → E, donde E es un conjunto cuyas componentes se denominan
etiquetas.
Grafo ponderado es un grafo etiquetado con números reales (E = R)
árboles
Se dene un bosque como un grafo no dirigido aciclico.
Un árbol es un grafo en el que existe único nodo desde el que se puede acceder
a todos los demás y cada nodo tiene único predecesor, excepto el primero, que
no tiene ninguno. También podemos denir un árbol como:
Un grafo conexo y sin ciclos.
Un grafo sin ciclos y con n−1 aristas, siendo n el némero de vértices.
Grado de un nodo en un árbol es el número de subárboles de aquel nodo.
Denominamos hojas en un árbol a los nodos nales. Un árbol de máximo alcance
es aquel que obtenemos en un grafo conexo y sin ciclos.
Por otro lado, se denominará árbol de mínima expansión es el árbol de
máximo alcance cuyo valor es mínimo, es decir, la suma de sus aristas es mínima.
Dentro de los tipos de árboles a considerar en el presente trabajo se tiene:
Un árbol libre que viene a ser un grafo no dirigido acíclico conexo.
Un árbol de recubrimiento de un grafo no dirigido G = (V ; A) es un a¯bol
libre T = (V A ) tal que V =V y A ⊆ A.
5
7. Un árbol enraizado es un a¯bol libre con un vértice distinguido denominado
raíz. La raíz de un árbol A se denota como raiz(A), o simplemente A si
no hay confusión.
Theorem 1 Si G es un grafo con M 2 vértices, entonces los siguientes
proposiciones son equivalentes:
1. G es un árbol libre.
2. G es conexo y tiene M − 1 aristas.
3. Cualquier par de vértices están conectados por un único camino.
4. Si se añade una arista a G se crea un ciclo.
Sea A un árbol enraizado en el vértice r y sea v un vértice de A. Sea C el
único camino de r a v:
1. Se dice que un vértice u es antecesor o predecesor de v, siu est en C. En
este caso también se dice que v es descendiente o sucesor u,
2. Si (u; v) es la última arista de C, se dice que u es el (único) padre de v
y se denota como u = p(v). Así mismo, se dice que v es un hijo de u. El
conjunto de hijos de un vértice v se denota como hijos(v).
3. Dos vértices v ,v de A son hermanos, si p(v ) = p(v).
4. Se dice que un vértice v es una hoja si hijos(v) = nodos internos son
aquellos vértices que no son hojas.
5. La profundidad de v en A es la longitud del camino C desde la raíz hasta
v.
6. Altura de A, h(A), es la profundidad de la hoja de mxima profundidad.
7. El grado de un vértice v se dene como la talla de hijos(v).
Un a¯bol ordenado es un a¯bol enraizado en el que los hijos de cada vértice
esta« ordenados.
1.2. Algoritmos sobre grafos
1.2.1. Algoritmo de Dijkstra del camino mínimo
Esencialmente el algoritmo Dijkstra del camino mínimo es un algoritmo para
la determinación del camino más corto dado un vértice origen al resto de vér-
tices en un grafo dirigido y con pesos en cada arista. La idea subyacente en este
algoritmo consiste en explorar todos los caminos más cortos que parten del vér-
tice origen y que llevan a todos los demás vértices; cuando se obtiene el camino
más corto desde el vértice origen, al resto de vértices que componen el grafo, el
algoritmo se detiene.
6
8. Algoritmo
Teniendo un grafo dirigido ponderado de N nodos no aislados, sea x el nodo
inicial, un vector D de tamaño N guardar al nal del algoritmo las distancias
desde x al resto de los nodos.
1. Inicializar todas las distancias en D con un valor innito relativo ya que
son desconocidas al principio, exceptuando la de x que se debe colocar en
0 debido a que la distancia de x a x sera 0.
2. Sea a=x (tomamos a como nodo actual).
3. Recorremos todos los nodos adyacentes de a menos los nodos marcados,
llamaremos a estos vi .
4. Si la distancia desde x hasta vi guardada en D es mayor que la distancia
desde x hasta a sumada a la distancia desde a hasta vi ; esta se substituye
con la segunda nombrada, esto es: si (D1 Da + d(a, vi )) entonces Di =
Da + d(a, vi )
5. Marcamos como completo el nodo a.
6. Tomamos como próximo nodo actual el de menor valor en D (puede hac-
erse almacenando los valores en una cola de prioridad) y volvemos al paso
3 mientras existan nodos no marcados.
Una vez terminado al algoritmo, D estar completamente lleno.
Complejidad
Orden de complejidad del algoritmo: O(|V |2 + |E|) = O(|V |2 ) sin utilizar
cola de prioridad, O((|E| + |V |)log|V |) utilizando cola de prioridad (por ejemplo
un montículo). Podemos estimar la complejidad computacional del algoritmo
de Dijkstra (en términos de sumas y comparaciones). El algoritmo realiza a lo
más n−1 iteraciones, ya que en cada iteración se añade un vértice al conjunto
distinguido. Para estimar el número total de operaciones basta estimar el número
de operaciones que se llevan a cabo en cada iteración. Podemos identicar el
vértice con la menor etiqueta entre los que no están en Sk realizando n−1
comparaciones o menos. Despus hacemos una suma y una comparación para
actualizar la etiqueta de cada uno de los vértices que no están en Sk . Por tanto,
en cada iteración se realizan a lo sumo 2(n − 1) operaciones, ya que no puede
haber más de n − 1 etiquetas por actualizar en cada iteración. Como no se
realizan más de n−1 iteraciones, cada una de las cuales supone a lo más 2(n−1)
operaciones, llegamos al siguiente teorema.
Theorem 2 El Algoritmo de Dijkstra realiza O(n2 ) operaciones (sumas y com-
paraciones) para determinar la longitud del camino más corto entre dos vértices
de un grafo ponderado simple, conexo y no dirigido con n vértices.
7
9. Pseudocódigo
Estructura de datos auxiliar: Q = Estructura de datos Cola de prioridad (se
puede implementar con un montículo)
DIJKSTRA (Grafo G, nodo-fuente s )
// inicializamos todos los nodos del grafo. La distancia de
// cada nodo es infinita y los padres son NULL
Para cada u en V[G] hacer distancia[u] = INFINITO
padre[u] = NULL
fpara
distancia[s] = 0
// encolamos el nodo-fuente s
Encolar (cola, grafo)
mientras cola no es vaca hacer
// OJO: Se extrae el nodo que tiene distancia mínima y se
// conserva la condici'on de Cola de prioridad
u = extraer-minimo(cola)
para cada v en adyacencia[u] hacer
si distancia[v] distancia[u] + peso (u, v) do
distancia[v] = distancia[u] + peso (u, v)
padre[v] = u
fsi
Pseudocódigo sin cola de prioridad
funcion Dijkstra (Grafo G, nodo-salida s)
// Usaremos un vector para guardar las distancias del nodo salida al
// resto. Inicializamos el vector con distancias iniciales
// boleano visto[n]
// vector de boleanos para controlar los vertices
// de los que ya tenemos la distancia minima
para cada w en V[G] hacer
Si (no existe arista entre s y w) entonces
distancia[w]=Infinito // marcar la casilla con un -1 por ejemplo
Sino
distancia[w] = peso (s, w)
fsi
fpara
distancia[s] = 0
visto[s] = cierto
// n es el numero de vertices que tiene el Grafo
mientras (no-esten-vistos-todos) hacer
vertice = coger-el-minimo-del-vector distancia y que no este visto;
visto[vertice] = cierto;
para cada w ? sucesores (G, vertice) hacer
si distancia[w]distancia[vertice]+peso (vertice, w) entonces
8
10. distancia[w] = distancia[vertice]+peso (vertice, w)
fsi
fpara
fmientras
finfuncion
Al nal tenemos en el vector distancia en cada posición la distancia mínima
del vértice salida a otro vértice cualquiera.
1.2.2. Algoritmo de Kruskal
El algoritmo de Kruskal es un algoritmo de la teoría de grafos para encontrar
un a¯bol recubridor mínimo en un grafo conexo y ponderado. Es decir, busca
un subconjunto de aristas que, formando un a¯bol, incluyen todos los vértices
y donde el valor total de todas las aristas del a¯bol es el mínimo. Si el grafo no
es conexo, entonces busca un bosque expandido mínimo (un a¯bol expandido
mínimo para cada componente conexa).
1. Se marca la arista con menor valor. Si hay más de una, se elige cualquiera
de ellas.
2. De las aristas restantes, se marca la que tenga menor valor, si hay más de
una, se elige cualquiera de ellas.
3. Repetir el paso 2 siempre que la arista elegida no forme un ciclo con las
ya marcadas.
4. El proceso termina cuando tenemos todos los nodos del grafo en alguna
de las aristas marcadas, es decir, cuando tenemos marcados n−1 arcos,
siendo n el número de nodos del grafo.
Pseudocódigo
Entrada: Un grafo ponderado conexo con todos sus pesos diferentes.
Salida: Las aristas de un a¯bol generador minimal.
i = 1;
N = tamagno del grafo de Entrada en numero de vertices;
mientras (i N) hacer
escoger la arista de peso minimo A de entre todas las que no han sido escogidas;
si A no forma ciclo con las que ya forman parte de la Salida entonces
agnadir A a la Salida;
i = i + 1;
fsi
fmientras
Por lo tanto, como podemos ver, el algoritmo de Kruskal va generando difer-
entes bosques con las aristas que va seleccionando y posteriormente se van unien-
do hasta formar el a¯bol de expansin mínimo. Complejidad del algoritmo m el
9
11. número de aristas del grafo y n el número de vértices, el algoritmo de Kruskal
muestra una complejidad O(mlogm) o, equivalentemente, O(mlogn), cuando se
ejecuta sobre estructuras de datos simples. Los tiempos de ejecución son equiv-
alentes porque: ”m es a lo sumo n2 y logn2 = 2logn es O(logn). ïgnorando los
vértices aislados, los cuales forman su propia componente del a¯bol de expansin
mínimo, n?2m, as que log n es O(logm).
Se puede conseguir esta complejidad de la siguiente manera: primero se or-
denan las aristas por su peso usando una ordenacin por comparación con una
complejidad del orden de O(mlogm); esto permite que el paso .eliminar una
arista de peso mínimo de C se ejecute en tiempo constante. Lo siguiente es us-
ar una estructura de datos sobre conjuntos disjuntos para controlar qu vértices
están en que componentes. Es necesario hacer orden de O(m) operaciones ya que
por cada arista hay dos operaciones de búsqueda y posiblemente una unión de
conjuntos. Incluso una estructura de datos sobre conjuntos disjuntos simple con
uniones por rangos puede ejecutar las operaciones mencionadas en O(mlogn).
Por tanto, la complejidad total es del orden de O(mlogm) = O(mlogn). Con
la condición de que las aristas están ordenadas o puedan ser ordenadas en un
tiempo lineal (por ejemplo, mediante el ordenamiento por cuentas o con el or-
denamiento Radix), el algoritmo puede usar estructuras de datos de conjuntos
disjuntos más complejas para ejecutarse en tiempos del orden de O(m?(n)),
donde ? es la inversa (tiene un crecimiento extremadamente lento) de la función
de Ackermann.
1.2.3. Algoritmo de Prim
El algoritmo de Prim permite hallar el a¯bol minimal de cualquier grafo
ponderado. Hay que seguir los siguientes pasos:
1. Se marca un nodo cualquiera, ser el nodo de partida.
2. Seleccionamos la arista de menor valor incidente en el nodo marcado an-
teriormente, y marcamos el otro nodo en el que incide.
3. Repetir el paso 2 siempre que la arista elegida enlace un nodo marcado y
otro que no lo es.
4. El proceso termina cuando tenemos todos los nodos del grafo marcados.
Pseudocódigo
Entrada: Un grafo ponderado conexo con todos sus pesos diferentes.
Salida: Las aristas de un a¯bol generador minimal.
i = 1;
N = tamagno del grafo de Entrada en numero de vertices;
mientras (i N) hacer
escoger la arista de peso mínimo A de entre todas las que aún no han sido escogidas y son in
si la Salida aún esta vacía, es decir, que estamos en la primera iteracion entonces
10
12. escoge la arista A de menor peso;
fsi
si A no forma ciclo con las que ya forman parte de la Salida entonces
agnadir A a la Salida;
i := i + 1;
fsi
fmientras
En este caso podemos observar que el algoritmo de Prim a cada iteración
va formando un a¯bol que va creciendo hasta completar el a¯bol de expansin
mínimo del grafo de entrada.
1.3. Algoritmos
1.3.1. Dijkstra: Camino mas corto
Este algoritmo resuelve el problema de encontrar la ruta mas corta entre un
nodo origen y un nodo destino en un grafo G = (V, E), siendo E el conjunto de
aristas con peso no negativo, asumimos que w(u, v) ≥ 0
Algorithm 1 Dijkstra(G,w,s)
Require: n ≥ 0 ∨ x = 0
Ensure: y = xn
INITIALIZE-SINGLE-SOURCE(G,s)
n←φ
Q ← V [G]
while N = 0 do
u ← EXT RACT − M IN {Q}
S ← S(U )
for all each vertex v Adj[u] do
RELAX(u, v, w)
end for
end while
1.3.2. Floyd-Warshall: Todos los caminos mínimos
El algoritmo de Floyd-Warshall calcula los caminos mínimos que existan
entre todos los pares de nodos de un Grafo dirigido G = (V, E). Donde V es el
conjunto de VAlgortices y E son el conjunto de Aristas. La complejidad de este
algoritmo es Θ(V 3 ) y se asume que no existen ciclos de costo negativo.
Asumiendo que los vértices de G son V = {1, 2, 3, ..., n} consideremos un
subconjunto {1, 2, 3, ...k} de vértices para algún k . Para cualquier par de vér-
tices u, v ∈ V , consideremos todos los caminos desde i hacia j cuyos vértices
intermedios son sacados de {1, 2, 3, ...k}, y sea p el camino de costo mínimo
11
13. de todos ellos (p es un camino simple). El algoritmo Floyd-Warshall explota la
relación de p y el camino mínimo entre i y j con todos los vértices intermedios
en el conjunto {1, 2, 3, ...k−1}. Ésta relación depende en que k sea o no el vértice
intermedio del camino p de la siguiente manera:
(k) wij if k = 0
dij = (k−1) (k−1) (k−1)
min(dij , dik + dkj ) if k ≥ 1
El seudo-código para el algoritmo de Warshall es el siguiente:
Algorithm 2 FLOYD-WARSHALL(w)
n ← f ilas(w)
D(0) ← W
for k ← 1 to n do
for i ← 1 to n do
for j ← 1 to n do
d(k)ij ← min(d(k−1)ij , d(k−1)ik + d(k−1)kj )
end for
end for
end for
return D(n)
12
14. 1.3.3. Desempeño de los algoritmos de busqueda
13
15. 1.4. Editor de Grafo
1.4.1. Introducción
Este editor esta basado en el api de google Maps la cual nos permite hacer
una interfaz de usuario para poder desplazarnos por mapas del mundo, hacer
edición sobre los mismos, asimismo como manipular información relativa a los
mapas de google Maps, también se ha hecho uso de YUI Yahoo User Interface
un framework de programación en javascript que nos permite interacción Ajax
entre nuestra interfaz y el servidor remoto mediante el cual se procesa solicitudes
de información de tipo variado como puede ser paginas Web, imágenes, y todo
tipo de información que nos sea útil.
Editor Grafo
14
17. 1.4.2. Características del editor
El editor del grafo nos permite hacer la edición de nodos de modo sencillo,
sus principales características son:
Creación de Nodos del grafo mediante la interfaz
Almacenamiento de información del nodo del grafo.
Modicación del nodo mediante la interfaz.
Almacenamiento de cambios de la información del nodo del grafo.
Eliminación de nodo de grafo.
Creación de aristas del grafo mediante la interfaz.
Almacenamiento de información del arista del grafo.
Almacenamiento de cambios de la información del nodo del grafo.
Navegación en el mapa por medio de el mouse.
Agrandar o disminuir la proporción del mapa.
Desplazamiento en el mapa por medio del localizador.
Ver los tipos de mapas como son satelital , en relieve y mixto.
Nos muestra información del punto central del mapa para ubicar coorde-
nadas del mismo.
Se puede hacer la carga de información mediante una archivo especico
para la carga de información en el mapa.
1.4.3. Funcionalidad del editor
El modo de funcionamiento es sencillo y de facil interacción con el usuario:
Edición de nodos:
En la edición de los nodos podemos crear un nodo al hacer clic sobre el
mapa, inmediatamente se cargara la información en el archivo saved.txt y en el
archivo nodes.txt, además de generar grácamente el nodo correspondiente en
el mapa.
16
18. Borrado de un nodo, esta tarea se logra haciendo doble clic encima de un nodo
en particular, en ese momento se sucede el cambio en la información registrada
en los archivos de nodos y aristas tanto como en el archivo de información global
del grafo saved.txt.
Modicación del nodo, al arrastrar el nodo con el mouse la interfaz hará
el desplazamiento del nodo en la interfaz asimismo como la modicación de
la información relacionada con el nodo en particular, tomando en cuenta el
desplazamiento de las aristas asimismo como el nodo.
17
19. Edición de Aristas:
Creación de aristas, para poder crear una arista la condición minima de
creación de aristas es que por lo menos haya una arista creada, sin la misma la
consecución de la creación de la misma no sera posible, por tanto para crear una
arista hacemos clic en un nodo y luego procedemos a hacer clic sobre otro nodo
para poder generar gracamente nuestra arista, luego la información relativa a
la arista generada será almacenada.
El borrado de una arista es consecuencia del borrado de un nodo ante el bor-
rado de un nodo se borraran las aristas correspondientes al mismo así como la
información relacionada a la arista.
La modicación de una arista es dada según la modicación que se de en un
nodo en particular puesto que la arista es dependiente de un nodo en especi-
co, por tanto al ser modicado su localización del nodo será posteriormente
modicada la arista.
Desplazamiento en el mapa:
El desplazamiento en el mapa puede ser hecho en función del solo uso del
mouse o del uso del mouse mas el desplazador del mapa conjuntamente con la
acción del mouse, para poder desplazarse en el mapa debemos arrastrar con el
mouse el mapa hacia la locación que deseamos ver o haciendo uso del desplazador
podemos hacer clic encima de los indicadores de dirección y desplazarnos hacia
una locación que deseemos ver.
18
20. Vistas de los mapas:
En el mapa tenemos distintos tipos de vista, para poder hacer uso de las
mismas solo debemos hacer clic en los botones de la izquierda superior derecha
y esperar la carga de la respectiva vista.
Carga de información en el mapa:
Para hacer la carga de información del mapa, tenemos que hacer click en
el boton LoadFile mediante el cual cargara un dialogo en el cual accedemos
19
21. al cuadro de dialogo abrir y seleccionamos un archivo que tenga un formato
adecuado para hacer la carga de información y procedemos a hacer click en el
boton cargar. Dependiendo de la velocidad de conexión se dara a continuación
la carga de información del grafo en el mapa.
20
23. 1.4.4. Formato de archivo de Editor Grafo
Para poder hacer uso correcto de las características de nuestro editor de
grafo tenemos que tener un formato adecuado el cual es el que a continuación
se detalla:
En la parte inicial colocamos toda la información de los nodos siguiendo
la norma básica de tener un identicador por Ej.: id1 luego la latitud y a
continuación la longitud.
Seguidamente se coloca para hacer la diferencia de la información que
viene a continuación:
Se coloca información de los edges un identicador de edge por Ej. edge1
luego ideticador de nodo inicial posterior a este un identicador de nodo nal.
22