Escolar Documentos
Profissional Documentos
Cultura Documentos
GUIA 7
"Soy en verdad un viajero solitario expres Einstein e una ocasin-, y los ideales que han iluminado mi camino y han proporcionado una y otra vez nuevo valor para afrontar la vida han sido: la belleza, la bondad y la verdad."
En 1951 present la Teora General de la Relatividad, en la que reformul por completo el concepto de gravedad. Una de las consecuencias fue el surgimiento del estudio cientfico del origen y evolucin del Universo por la rama de la fsica denominada cosmologa. Muy poco despus, Einstein se convirti en un icono popular de la ciencia alcanzando fama mundial, un privilegio al alcance de muy pocos cientficos. Obtuvo el Premio Nobel de Fsica en 1921 por su explicacin del efecto fotoelctrico y sus numerosas contribuciones a la fsica terica, y no por la Relatividad, pues en esa poca era an considerada un tanto controvertida por parte de muchos cientficos.
Pg. 1/14
Objetivos de aprendizaje
El objetivo principal es iniciar al alumno en el diseo y anlisis de algoritmos geomtricos y algoritmos aritmticos. Para ello se muestran las tcnicas bsicas de la Geometra computacional
ALGORITMOS GEOMETRICOS
La geometra computacional es una rama de las ciencias de la computacin que emergi en la dcada de 1970. Estudia los algoritmos que resuelven problemas geomtricos
Aplicaciones Diseo de VLSI CAD diseo asistido por computadoras CAM GIS sistema de informacin geogrfica Las aplicaciones en geometra computacional actan sobre objetos geomtricos simples: punto, recta y polgono Punto: objeto fundamental y es considerado como un par de enteros (x,y) Lnea: par de puntos unidos por un segmento de lnea recta Se puede representar como un struct(x,y) o una clase{x,y} Polgono: Secuencia de segmentos de lnea que unen un conjunto de puntos formando Polgono convexo: un polgono convexo, es un polgono con la propiedad de que cualquier segmento de recta cuyos extremos estn en el polgono cae por completo dentro del polgono
Pg. 2/14
Algunas aplicaciones
Ejemplo 1 Problema de Construccin de una recta que pasa por un par de puntos
Dados dos puntos P y Q, se quiere construir la recta que pase por los dos puntos. Para ello se construye halla la pendiente formada por el segmento de recta PQ. La ecuacin de la recta L tiene la forma y = mx +b Sea P=(X1,Y1) y Q=(X2,Y2) m = (Y2-Y1) / (X2-X1) Cualquier punto (X, Y) en la recta L debe satisfacer tambin la ecuacin m= (Y-Y1) / (X-X1) = (Y2-Y1) / (X2-X1) Despejando Y se tiene Y = [(Y2-Y1) / (X2-X1)] * (X-X1) + Y1 De donde se obtiene que m= (Y2-Y1) / (X2-X1) b= (Y2-Y1) / (X2-X1) *X1 + Y1
package algoritmos_geometricos; // Augusto Cortez Vasquez public class Recta { private private private private double P1[]= new double[2]; double P2[]= new double[2]; double m=0; double b=0;
Pg. 3/14
P1[1]=y1; P2[0]=x2; P2[1]=y2; } public double pendiente(){ m=(P1[1]-P2[1])/(P1[0]-P2[0]); return (m); } public double b() { b=P2[1]-(m*P2[0]); return(b); } public boolean pertenencia(double x, double y) { boolean sw=false; double aux=m*x+b; if(aux==y) sw=true; return sw; } public int lado(double x1, double y1 ){ double aux; double lado; aux = (y1-b)/m; lado=x1-aux; if (lado<0 ) return 0;//esta a la izquierda else return 1;//esta a la derecha } }
Ejemplo 2 Problema de Construccin de una recta que pasa por un punto y tiene pendiente m Ejemplo 3 Problema del par de puntos ms cercano
Pg. 4/14
El algoritmo tradicional tiene un tiempo cuadrtico Una solucin Divide y vencers tiene un orden nLg n Par de puntos mas Par cercanos de puntos mas cercanos
Ejemplo 4
Ejemplo 5
Dado un par de puntos P y Q, decimos que son colindantes, si existe una recta L, tal que P y Q estan en el mismo lado de L P
P y Q son colindantes
Pg. 5/14
P y Q no son colindantes
Ejemplo 6
Cortes de segmentos
(a)
(b)
(c)
(d)
Se distinguen 4 casos: a y b se cortan, porque tienen un punto en comn c y d no se cortan, pero difieren si se considera el punto de interseccin de las lneas definidas por los segmentos. En (d) el punto de interseccin esta contenido en uno de los segmentos, mientras que en (c) no es as
Ejemplo 7
Punto de cubierta
Dado un conjunto de puntos A en el plano y P un punto en A. Decimos que P es un punto de cubierta, si existe una lnea recta L que pasa por P, de modo que todos los puntos de A, excepto P estn en el mismo lado de L
Pg. 6/14
La cubierta convexa de un conjunto de puntos A de un plano, es la sucesin P1, P2,..Pn de puntos de la cubierta, enumerados en el siguiente orden: P1: punto con coordenada mnima Si existen varios puntos con coordenada Y mnima, P1 se elige el que tiene abscisa mnima Sea Ai : ngulo que forma la horizontal con el segmento P1Pi... Los puntos P2, P3,Pn se ordenan de modo que A1, A2,..An sea una sucesin creciente. Se descartan los puntos que no estn en la cubierta convexa
Pg. 7/14
Cerco convexo
El problema del cerco convexo es encontrar el rea ms pequea de un polgono convexo que encierre un conjunto de puntos en el plano
Algoritmo de Graham
Este algoritmo surgi a finales de los 60, cuando en los laboratorios Bell se necesitaba calcular el cierre convexo de unos 10.000 puntos, y con uno de los algoritmos de por entonces, de O(N2) resultaba demasiado lento. Entonces Graham lo solucion con el presente algoritmo.
Diagrama de Voronoi
El conjunto de puntos ms cercanos a un punto dado que todos los otros puntos en un conjunto de puntos es una interesante estructura geomtrica denominada polgono de Voronoi del punto. La unin de todos los polgonos de Voronoi de un conjunto de puntos se denomina diagrama de Voronoi
Pg. 8/14
Una triangulacin de Delaunay /dlo'ne/, a veces escrito fonticamente Delon, es una red de tringulos que cumple la condicin de Delaunay. Esta condicin dice que la circunferencia circunscrita de cada tringulo de la red no debe contener ningn vrtice de otro tringulo. Se usan triangulaciones de Delaunay en geometra por ordenar, especialmente en grficos 3D por computadora
Pg. 9/14
ALGORITMOS NUMERICOS
El anlisis o clculo numrico es la rama de las matemticas que se encarga de disear algoritmos para, a travs de nmeros y reglas matemticas simples simular procesos matemticos ms complejos aplicados a procesos del mundo real.
Ejemplo 9
Se puede calcular el valor de la constante e, base de los logaritmos neperianos. Se hace una aproximacin empelando la siguiente serie infinita
e=
El clculo se detiene cuando el valor acumulado de e, no se logra diferenciar (por la precisin del computador), del valor calculado en la iteracin anterior. Es decir, cuando el siguiente termino a sumar es tan pequeo que el computador lo considera como cero. El factorial representado por el smbolo en la serie, se implementa mediante una funcin Una vez que ser calcula la aproximacin, el programa despliega el valor encontrado, as como el nmero de iteraciones que se emplearon para obtenerlo, es decir, la cantidad de trminos de la serie que fue necesario para llegar a la aproximacin.
ex =
1 + X 1/ 1! + X 2/ 2! + X 3/ 3! . ...
Una vez que ser calcula la aproximacin, el programa despliega el valor encontrado, as como el nmero de iteraciones que se emplearon para obtenerlo, es decir, la cantidad de trminos de la serie que fue necesario para llegar a la aproximacin.
Simpson) o de cuadratura gaussiana. Estos mtodos se basan en una estrategia de "divide y vencers", dividiendo el intervalo de integracin en subintervalos y calculando la integral como la suma de las integrales en cada subintervalo, pudindose mejorar posteriormente el valor de la integral obtenido mediante el mtodo de Romberg. Para el clculo de integrales mltiples estos mtodos requieren demasiado esfuerzo computacional, siendo til el mtodo de Montecarlo.
Pg. 11/14
EJERCICIOS PROPUESTOS
Especifique, construya y evalu las soluciones para los siguientes problemas 1 Dado un conjunto de puntos, Hallar el par de puntos mas cercanos (dar una solucin cuadrtica) Dado un conjunto de puntos, Hallar el par de puntos mas cercanos (dar una solucin divide y vencers) Dada una recta y un par de puntos, verificar si estos estn o no en el mismo lado de la recta( son colindantes) Dadas dos rectas, verificar si son o no paralelas Dadas dos rectas, verificar si son o no ortogonales Dado un conjunto de puntos, hallar el cerco convexo de los puntos Dado un conjunto de puntos, hallar un camino cerrado simple Dado un polgono y un punto P. Verificar si P esta dentro del polgono. Dado un conjunto de puntos verificar si un punto determinado P es un punto de cubierta Hallar el polgono de Voronoi pare un conjunto de puntos Dado un conjunto de enteros , un entero N y un subconjunto S, construya un algoritmo para verificar los elementos de S suma N ( utilice la representacin 1) Dado un conjunto de enteros , un entero N y un subconjunto S, construya un algoritmo para verificar los elementos de S suma N ( utilice la representacin 2) Comente acerca de las aplicaciones deVoronoy Comente acerca de las aplicaciones de Delaunay Indague sobre el mtodo de mnimos cuadrados y proporcione un ejemplo. Especifique y defina el algoritmo utilizado. Indague sobre el mtodo de interpolacin y proporcione un ejemplo. Especifique y defina el algoritmo utilizado. Proporcione una solucin para calcular
4 5 6 7 8 9
10 11
12
13 14 15
16 17
e
Pg. 12/14
18 19 20
ex
En que consiste el algoritmo de Horner. Especifique y defina el Algoritmo. Especifique e implemente el algoritmo para hallar la integral de una funcin
REFERENCIAS BIBLIOGRAFICAS
1. [BRASSARD 1998] Brassard,G. Bratley,P. Fundamentos de Algoritmia, Prentice Hall 1998 Madrid 2. [CORTEZ 1999] Cortez Vasquez,Augusto. Matematica Discreta, UNMSM FISI Lima 1999. 4 [CORTEZ 2002] Cortez Vsquez,Augusto. Algoritmica y Programacin, UCSS Lima 2002. 5 [CORTEZ 2002] Cortez Vasquez,Augusto. Estructura de datos y algoritmos, estructuras no lineales, URP Lima 2002. 6 [GRASSMANN 1996] Grasssmann W. ,Tremblay J. Matematica Discreta y Logica; Prentice Hall 1996. 7 [GRIMALDI 1994] Grimaldi Ralph Matemticas Discreta y Combinatoria; Addison-Wesley 1994 8 [GUTIERREZ 1993] Gutirrez Xavier Franch Estructuras de datos, Especificacin, diseo e implementacin; Edicin UPC Barcelona Espaa 19934 [HERNANDEZ 2001] Hernandez, R.; Lzaro, J.C.; Dormido, R.; Ros, S. Estructura de Datos y Algoritmos; Prentice Hall 2001, Madrid Espaa.
10 [JAIME 2002] Jaime, Alberto. Estructuras de datos y Algoritmos; Prentice Hall 2002 Bogota D.C. 11 [JOHNSONBAUGH 1999] Johnsonbaugh Richard Mateamticas Discretas; Prentice Hall 1999, Pags. 12 [LIPSCHUTZ 1987] Lipschutz Seymour Hill,1987 Estructura de datos, Mc Graw-
13
[CARMONA 1999] Carmona, Poyato Angel y Otros Estructuta de Datos, Caja Sur Universidad de Cordova Espaa 1999
14 [SEDGEWICK 1993] Stroustrup Bjarne El C++ Lenguaje de programacion; Addison-Wesley 1993 , Wilmington-Delaware EUA.
Pg. 13/14
15 [TENEMBNAUM 1993] Tenembaum,A.Langsam Y.Augenstein M. Estructuras de datos en C, Prentice Hall 1993. 16 [WEISS 2000] Weiss, Mark Allen. Estructuras de datos en JAVA; AddisonWesley, 2000.
Pg. 14/14