SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Algoritmo Tree Code
Aproximando el c´lculo de la fuerza, en el problema de n-cuerpos.
                a




                                    Cristi´n D. Maureira Fredes
                                          a
                                           cmaureir@hpc.cl

                                           Universidad T´cnica
                                                         e
                                           Federico Santa Mar´
                                                             ıa

                                      19 de septiembre de 2011
Algoritmo Tree Code


Introducci´n
          o
Problema de n-cuerpos




Definici´n
       o
Predecir el movimiento de un grupo de objetos celestes, que van
interactuando unos con otros gravitacionalmente.




 2 of 31
                                                        Cristi´n D. Maureira Fredes
                                                              a
Algoritmo Tree Code


Introducci´n
          o
Secciones cr´
            ıticas




 Posiciones iniciales.
      Random.
                                  C´lculo de las fuerzas.
                                   a
      Plummer Model.
                                    Particle-Particle. O(n2 )
 M´todo de integraci´n.
  e                 o
                                    Particle-Mesh. O(n + ng log ng )
      Euler.                        Treecode. O(n log n)
      Leapfrog.                     Multipole. O(n)
      Runge Kutta.                  etc.
      Two step Adams-Bashworth.
      etc.




 3 of 31
                                                    Cristi´n D. Maureira Fredes
                                                          a
Algoritmo Tree Code


Introducci´n
          o
Algoritmo General



   C´lculo de la fuerza.
    a
           Posiciones iniciales xi .
           Velocidades iniciales vi .
           1≤i ≤N
                                             mi · mj       rij
                                 fij = G ·           2
                                                       ·
                                             ||rij ||    ||ri j||

           mi y mj masas de los cuerpos i y j.
           rij = (xj − xi ) vector de distancia entre los cuerpos i y j.
           G , constante gravitacional. (6, 67428 × 10−11 m3 kg −1 s −2 )



 4 of 31
                                                                       Cristi´n D. Maureira Fredes
                                                                             a
Algoritmo Tree Code


Introducci´n
          o
Tree-code




    “A Hierarchical O(N log N) Force Calculation Algorithm”, Josh
             Barnes & Piet Hut, 1986. Nature 324, 446.

   Joshua Edward Barnes
           Faculty member at the Institute for Astronomy (IfA), University of
           Hawaii.
   Piet Hut
           Professor of Interdisciplinary Studies, Institute for Advanced Study.




 5 of 31
                                                                     Cristi´n D. Maureira Fredes
                                                                           a
Algoritmo Tree Code


Barnes-Hut Tree Code
Idea




       “Agrupar cuerpos cercanos y aproximarlos en un solo cuerpo”




 6 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Barnes-Hut Tree Code
Idea




       “Agrupar cuerpos cercanos y aproximarlos en un solo cuerpo”

   Si el grupo est´ muy lejos, se aproximan los efectos gravitacionales
                   a
   utilizando el centro de masa.




 6 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Barnes-Hut Tree Code
Idea




       “Agrupar cuerpos cercanos y aproximarlos en un solo cuerpo”

   Si el grupo est´ muy lejos, se aproximan los efectos gravitacionales
                   a
   utilizando el centro de masa.
   Centro de masa, promedio de las posiciones de un cuerpo en un
   grupo, ponderado por la masa.




 6 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Barnes-Hut Tree Code
Idea

Centro de Masa

Formalmente si dos cuerpos con posiciones (x1 , y1 ), (x2 , y2 ) y masas
  m1 , m2 , la masa total del centro de masa (x, y ) est´ dada por:
                                                        a



                     m = m1 + m2
                         (x1 · m1 + x2 · m2 )
                     x =
                                  m
                         (y1 · m1 + y2 · m2 )
                     y =
                                  m

 7 of 31
                                                           Cristi´n D. Maureira Fredes
                                                                 a
Algoritmo Tree Code


Barnes-Hut Tree Code
Algoritmo




   Esquema inteligente para agrupar cuerpos suficientemente lejos.




 8 of 31
                                                        Cristi´n D. Maureira Fredes
                                                              a
Algoritmo Tree Code


Barnes-Hut Tree Code
Algoritmo




   Esquema inteligente para agrupar cuerpos suficientemente lejos.
   Recursivamente divide el conjunto de cuerpos en grupos
   guard´ndolos en un “quad-tree”.
        a




 8 of 31
                                                        Cristi´n D. Maureira Fredes
                                                              a
Algoritmo Tree Code


Barnes-Hut Tree Code
Algoritmo




   Esquema inteligente para agrupar cuerpos suficientemente lejos.
   Recursivamente divide el conjunto de cuerpos en grupos
   guard´ndolos en un “quad-tree”.
        a
   Cada nodo representa una regi´n en un espacio de dos dimensiones.
                                o




 8 of 31
                                                        Cristi´n D. Maureira Fredes
                                                              a
Algoritmo Tree Code


Barnes-Hut Tree Code
Algoritmo




   Esquema inteligente para agrupar cuerpos suficientemente lejos.
   Recursivamente divide el conjunto de cuerpos en grupos
   guard´ndolos en un “quad-tree”.
        a
   Cada nodo representa una regi´n en un espacio de dos dimensiones.
                                o
   El nodo m´s alto representa todo el espacio, y sus cuatro hijos
             a
   representan cuatro cuadrantes en el espacio,




 8 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Barnes-Hut Tree Code
Aproximaci´n
          o


                                   B
                               C
                   A
                                       D


                           E




                       G
               F                   H

 9 of 31
                                              Cristi´n D. Maureira Fredes
                                                    a
Algoritmo Tree Code


Barnes-Hut Tree Code
Aproximaci´n
          o




   Cada nodo externo, representa un unico cuerpo.
                                    ´




10 of 31
                                                       Cristi´n D. Maureira Fredes
                                                             a
Algoritmo Tree Code


Barnes-Hut Tree Code
Aproximaci´n
          o




   Cada nodo externo, representa un unico cuerpo.
                                    ´
   Cada nodo interno, representa el grupo de cuerpos debajo de ella,
   (guarda “centro de masa” y “masa total”).




10 of 31
                                                         Cristi´n D. Maureira Fredes
                                                               a
Algoritmo Tree Code


Barnes-Hut Tree Code
Aproximaci´n
          o

                                        *


NO A                    NE                   SO                SE H


                                    D          E   F   G
                                            NO NE SO SE
              B C
           NO NE SO SE

               Cuerpo        Regi´n con > 1 cuerpo
                                 o                     Cuadrante vac´
                                                                    ıo

11 of 31
                                                              Cristi´n D. Maureira Fredes
                                                                    a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza
 a




   En un cuerpo particular.
           Recorrer los nodos del ´rbol, partiendo de la ra´
                                  a                        ız.
   Centro de masa de un nodo interno:
           Si lo suficientemente lejos del cuerpo.
              Se aproximan los cuerpos contenidos. (con centro de masa y masa total)
           No lo suficientemente lejos del cuerpo.
              Recorrer los sub-´rboles recursivamente.
                               a




12 of 31
                                                                      Cristi´n D. Maureira Fredes
                                                                            a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza
 a




   ¿C´mo determinarlo?
     o
                         ancho regi´n nodo (s)
                                    o
           Cociente =   distancia Cuerpo-CM (d)
   Despu´s, comparar con un valor umbral θ.
        e
              s
           Si d < θ, entonces el nodo interno esta lo suficiente lejos.
           Ajustando θ, podemos cambiar la velocidad y la precisi´n de la
                                                                   o
           simulaci´n.
                   o
           Se suele utilizar θ = 0,5. Si θ = 0, degenera (fuerza bruta).




13 of 31
                                                                   Cristi´n D. Maureira Fredes
                                                                         a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x.
                                       a           ız
1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´
                                                                 ı.




14 of 31
                                                         Cristi´n D. Maureira Fredes
                                                               a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x.
                                       a           ız
1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´
                                                                 ı.
2. Si el nodo x es un nodo interno, actualizar el CM y M.
   (Recursivamente inserta el cuerpo b en el cuadrante apropiado).




14 of 31
                                                         Cristi´n D. Maureira Fredes
                                                               a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x.
                                       a           ız
1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´
                                                                 ı.
2. Si el nodo x es un nodo interno, actualizar el CM y M.
   (Recursivamente inserta el cuerpo b en el cuadrante apropiado).
3. Si el nodo x es un nodo externo, digamos que contiene un cuerpo
   c, entonces hay dos cuerpos, b y c en la misma regi´n.
                                                       o




14 of 31
                                                         Cristi´n D. Maureira Fredes
                                                               a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x.
                                       a           ız
1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´
                                                                 ı.
2. Si el nodo x es un nodo interno, actualizar el CM y M.
   (Recursivamente inserta el cuerpo b en el cuadrante apropiado).
3. Si el nodo x es un nodo externo, digamos que contiene un cuerpo
   c, entonces hay dos cuerpos, b y c en la misma regi´n.
                                                       o
           Subdivide la regi´n creando cuatro hijos.
                            o




14 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x.
                                       a           ız
1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´
                                                                 ı.
2. Si el nodo x es un nodo interno, actualizar el CM y M.
   (Recursivamente inserta el cuerpo b en el cuadrante apropiado).
3. Si el nodo x es un nodo externo, digamos que contiene un cuerpo
   c, entonces hay dos cuerpos, b y c en la misma regi´n.
                                                       o
           Subdivide la regi´n creando cuatro hijos.
                            o
           Entonces, recursivamente inserta ambos cuerpos, b y c, en el
           cuadrante apropiado.




14 of 31
                                                                  Cristi´n D. Maureira Fredes
                                                                        a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x.
                                       a           ız
1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´
                                                                 ı.
2. Si el nodo x es un nodo interno, actualizar el CM y M.
   (Recursivamente inserta el cuerpo b en el cuadrante apropiado).
3. Si el nodo x es un nodo externo, digamos que contiene un cuerpo
   c, entonces hay dos cuerpos, b y c en la misma regi´n.
                                                       o
           Subdivide la regi´n creando cuatro hijos.
                            o
           Entonces, recursivamente inserta ambos cuerpos, b y c, en el
           cuadrante apropiado.
           Recursividad!



14 of 31
                                                                  Cristi´n D. Maureira Fredes
                                                                        a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x.
                                       a           ız
1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´
                                                                 ı.
2. Si el nodo x es un nodo interno, actualizar el CM y M.
   (Recursivamente inserta el cuerpo b en el cuadrante apropiado).
3. Si el nodo x es un nodo externo, digamos que contiene un cuerpo
   c, entonces hay dos cuerpos, b y c en la misma regi´n.
                                                       o
           Subdivide la regi´n creando cuatro hijos.
                            o
           Entonces, recursivamente inserta ambos cuerpos, b y c, en el
           cuadrante apropiado.
           Recursividad!
           Finalmente, actualizar el CM y M de x.


14 of 31
                                                                  Cristi´n D. Maureira Fredes
                                                                        a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


   Ejemplo, 5 cuerpos.
           Convenci´n ramas, de izquierda a derecha (NO, NE, SO y SE).
                   o

                           B
               A
                       C           D




                               E
                                           NO     NE      SO      SE


15 of 31
                                                                Cristi´n D. Maureira Fredes
                                                                      a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


   Agregar cuerpo A.
           Encaja en el cuadrante NO de la ra´
                                             ız.




                      NO NE                             1
                      SO SE

                                              A
                              masa: 1        NO    NE       SO      SE


16 of 31
                                                                 Cristi´n D. Maureira Fredes
                                                                       a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


   Agregar cuerpo B.
           Encaja en el cuadrante NE de la ra´
                                             ız.




                      NO NE                             2
                      SO SE

                                              A    B
                              masa: 2        NO    NE       SO      SE


17 of 31
                                                                 Cristi´n D. Maureira Fredes
                                                                       a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


   Agregar cuerpo C.
           Cuadrante NE ocupado por B, se crea rama y se insertan los dos.



                           NO NE                            3
                           SO SE
                            masa: 2           A        2
                                             NO                 SO        SE

                                            B              C
                            masa: 3        NO     NE       SO    SE


18 of 31
                                                                      Cristi´n D. Maureira Fredes
                                                                            a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


   Agregar cuerpo D.
           Encaja en el cuadrante SE de la rama.



                           NO NE                             4
                           SO SE
                            masa: 3           A         3
                                             NO                  SO        SE

                                             B              C     D
                            masa: 4         NO     NE       SO    SE


19 of 31
                                                                       Cristi´n D. Maureira Fredes
                                                                             a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


   Agregar cuerpo E.
           Encaja en el cuadrante SE de la ra´
                                             ız.



                                                             5

                     NO NE                     A        3                   E
                     SO SE                    NO                 SO        SE

                                              B             C     D
                             masa: 5         NO    NE       SO    SE


20 of 31
                                                                       Cristi´n D. Maureira Fredes
                                                                             a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a




Calcular la fuerza que ejerce la red sobre un cuerpo b, comenzando
con la raiz:
1. Si el nodo actual es un nodo externo (y no b).
   Calcular y agregar fuerza.




21 of 31
                                                        Cristi´n D. Maureira Fredes
                                                              a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a




Calcular la fuerza que ejerce la red sobre un cuerpo b, comenzando
con la raiz:
1. Si el nodo actual es un nodo externo (y no b).
   Calcular y agregar fuerza.
                   s      s
2. Si no, calcular d . Si d < θ, nodo interno como un unico cuerpo.
                                                      ´
   Calcular y agregar fuerza.




21 of 31
                                                         Cristi´n D. Maureira Fredes
                                                               a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a




Calcular la fuerza que ejerce la red sobre un cuerpo b, comenzando
con la raiz:
1. Si el nodo actual es un nodo externo (y no b).
   Calcular y agregar fuerza.
                   s      s
2. Si no, calcular d . Si d < θ, nodo interno como un unico cuerpo.
                                                      ´
   Calcular y agregar fuerza.
3. Si no, recursividad del procedimiento en cada hijo del nodo actual.




21 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a




   Ejemplo, calcular la fuerza de la red sobre el cuerpo a.
   Comenzaremos en la ra´ (nodo interno).
                           ız
           Representa CM de los 6 cuerpos.
             a, b, c, d, e y f, con masas 1, 2, 3, 4, 5 y 6 Kg.

El calculo de fuerza procede de la siguiente forma.




22 of 31
                                                                     Cristi´n D. Maureira Fredes
                                                                           a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a
1. El primer nodo examinado es la ra´
                                    ız.
                                s       100
   Cociente entre A y CM.       d   =   43,1   > θ = 0,5
   → Proceso recursivo dentro.

                         B C
                           D
                                                   A                    F
           A
                         E
                                                                  E

                  F
                                          B        C         D

23 of 31
                                                              Cristi´n D. Maureira Fredes
                                                                    a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a
2. El primer hijo es el cuerpo A
   No ejerce fuerza sobre si mismo.
   → No hacemos nada.




                                           A               F


                                                     E


                                       B   C    D

24 of 31
                                                  Cristi´n D. Maureira Fredes
                                                        a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a
3. Hijo representante NE (contiene b, c, d y e).
   s        50
   d   =   62,7   > θ.
   → Proceso recursivo dentro.




                                           A                   F


                                                         E


                                       B   C        D

25 of 31
                                                      Cristi´n D. Maureira Fredes
                                                            a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a
4. Hijo representante NE del padre (contiene b, c y d).
   s
   d   = 25/66,9 < θ.
   → Se calcula la fuerza como un s´lo nodo.
                                   o




                                           A                       F


                                                              E


                                       B   C              D

26 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a
5. El siguiente hijo es el que contiene el cuerpo e.
   Este es un nodo externo.
   → Calculamos fuerza entre a y e.




                                           A                       F


                                                             E


                                       B   C            D

27 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a
6. Volvemos al nivel anterior, para ver otro hijo.
   Este es un nodo externo.
   → Calculamos fuerza entre a y f.




                                           A                     F


                                                           E


                                       B   C          D

28 of 31
                                                        Cristi´n D. Maureira Fredes
                                                              a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a




7. Finalmente, en cada paso vamos sumando las fuerzas calculadas,
para obtener la fuerza total de la red sobre el cuerpo a.




29 of 31
                                                       Cristi´n D. Maureira Fredes
                                                             a
Algoritmo Tree Code


Conclusiones



   Muestra nuevo enfoque para abordar el problema.




30 of 31
                                                        Cristi´n D. Maureira Fredes
                                                              a
Algoritmo Tree Code


Conclusiones



   Muestra nuevo enfoque para abordar el problema.
   Es m´s r´pido, pues no recorre todos los cuerpos.
       a a




30 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Conclusiones



   Muestra nuevo enfoque para abordar el problema.
   Es m´s r´pido, pues no recorre todos los cuerpos.
       a a
   Disminuye el orden del algoritmo de O(n2 ) a O(n log n).




30 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Conclusiones



   Muestra nuevo enfoque para abordar el problema.
   Es m´s r´pido, pues no recorre todos los cuerpos.
       a a
   Disminuye el orden del algoritmo de O(n2 ) a O(n log n).
   Generamos errores, lo que nos lleva a tener una menor precisi´n.
                                                                o




30 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Conclusiones



   Muestra nuevo enfoque para abordar el problema.
   Es m´s r´pido, pues no recorre todos los cuerpos.
       a a
   Disminuye el orden del algoritmo de O(n2 ) a O(n log n).
   Generamos errores, lo que nos lleva a tener una menor precisi´n.
                                                                o
           Podemos controlar la precisi´n, modificando θ.
                                       o




30 of 31
                                                              Cristi´n D. Maureira Fredes
                                                                    a
Algoritmo Tree Code


Conclusiones



   Muestra nuevo enfoque para abordar el problema.
   Es m´s r´pido, pues no recorre todos los cuerpos.
       a a
   Disminuye el orden del algoritmo de O(n2 ) a O(n log n).
   Generamos errores, lo que nos lleva a tener una menor precisi´n.
                                                                o
           Podemos controlar la precisi´n, modificando θ.
                                       o
           Desarrollo multipolar (Multipole expansions) lo corrige!.




30 of 31
                                                                       Cristi´n D. Maureira Fredes
                                                                             a
Algoritmo Tree Code
Aproximando el c´lculo de la fuerza, en el problema de n-cuerpos.
                a




                                    Cristi´n D. Maureira Fredes
                                          a
                                           cmaureir@hpc.cl

                                           Universidad T´cnica
                                                         e
                                           Federico Santa Mar´
                                                             ıa

                                      19 de septiembre de 2011

Más contenido relacionado

Último

Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 

Destacado

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Destacado (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

Algoritmo Tree code

  • 1. Algoritmo Tree Code Aproximando el c´lculo de la fuerza, en el problema de n-cuerpos. a Cristi´n D. Maureira Fredes a cmaureir@hpc.cl Universidad T´cnica e Federico Santa Mar´ ıa 19 de septiembre de 2011
  • 2. Algoritmo Tree Code Introducci´n o Problema de n-cuerpos Definici´n o Predecir el movimiento de un grupo de objetos celestes, que van interactuando unos con otros gravitacionalmente. 2 of 31 Cristi´n D. Maureira Fredes a
  • 3. Algoritmo Tree Code Introducci´n o Secciones cr´ ıticas Posiciones iniciales. Random. C´lculo de las fuerzas. a Plummer Model. Particle-Particle. O(n2 ) M´todo de integraci´n. e o Particle-Mesh. O(n + ng log ng ) Euler. Treecode. O(n log n) Leapfrog. Multipole. O(n) Runge Kutta. etc. Two step Adams-Bashworth. etc. 3 of 31 Cristi´n D. Maureira Fredes a
  • 4. Algoritmo Tree Code Introducci´n o Algoritmo General C´lculo de la fuerza. a Posiciones iniciales xi . Velocidades iniciales vi . 1≤i ≤N mi · mj rij fij = G · 2 · ||rij || ||ri j|| mi y mj masas de los cuerpos i y j. rij = (xj − xi ) vector de distancia entre los cuerpos i y j. G , constante gravitacional. (6, 67428 × 10−11 m3 kg −1 s −2 ) 4 of 31 Cristi´n D. Maureira Fredes a
  • 5. Algoritmo Tree Code Introducci´n o Tree-code “A Hierarchical O(N log N) Force Calculation Algorithm”, Josh Barnes & Piet Hut, 1986. Nature 324, 446. Joshua Edward Barnes Faculty member at the Institute for Astronomy (IfA), University of Hawaii. Piet Hut Professor of Interdisciplinary Studies, Institute for Advanced Study. 5 of 31 Cristi´n D. Maureira Fredes a
  • 6. Algoritmo Tree Code Barnes-Hut Tree Code Idea “Agrupar cuerpos cercanos y aproximarlos en un solo cuerpo” 6 of 31 Cristi´n D. Maureira Fredes a
  • 7. Algoritmo Tree Code Barnes-Hut Tree Code Idea “Agrupar cuerpos cercanos y aproximarlos en un solo cuerpo” Si el grupo est´ muy lejos, se aproximan los efectos gravitacionales a utilizando el centro de masa. 6 of 31 Cristi´n D. Maureira Fredes a
  • 8. Algoritmo Tree Code Barnes-Hut Tree Code Idea “Agrupar cuerpos cercanos y aproximarlos en un solo cuerpo” Si el grupo est´ muy lejos, se aproximan los efectos gravitacionales a utilizando el centro de masa. Centro de masa, promedio de las posiciones de un cuerpo en un grupo, ponderado por la masa. 6 of 31 Cristi´n D. Maureira Fredes a
  • 9. Algoritmo Tree Code Barnes-Hut Tree Code Idea Centro de Masa Formalmente si dos cuerpos con posiciones (x1 , y1 ), (x2 , y2 ) y masas m1 , m2 , la masa total del centro de masa (x, y ) est´ dada por: a m = m1 + m2 (x1 · m1 + x2 · m2 ) x = m (y1 · m1 + y2 · m2 ) y = m 7 of 31 Cristi´n D. Maureira Fredes a
  • 10. Algoritmo Tree Code Barnes-Hut Tree Code Algoritmo Esquema inteligente para agrupar cuerpos suficientemente lejos. 8 of 31 Cristi´n D. Maureira Fredes a
  • 11. Algoritmo Tree Code Barnes-Hut Tree Code Algoritmo Esquema inteligente para agrupar cuerpos suficientemente lejos. Recursivamente divide el conjunto de cuerpos en grupos guard´ndolos en un “quad-tree”. a 8 of 31 Cristi´n D. Maureira Fredes a
  • 12. Algoritmo Tree Code Barnes-Hut Tree Code Algoritmo Esquema inteligente para agrupar cuerpos suficientemente lejos. Recursivamente divide el conjunto de cuerpos en grupos guard´ndolos en un “quad-tree”. a Cada nodo representa una regi´n en un espacio de dos dimensiones. o 8 of 31 Cristi´n D. Maureira Fredes a
  • 13. Algoritmo Tree Code Barnes-Hut Tree Code Algoritmo Esquema inteligente para agrupar cuerpos suficientemente lejos. Recursivamente divide el conjunto de cuerpos en grupos guard´ndolos en un “quad-tree”. a Cada nodo representa una regi´n en un espacio de dos dimensiones. o El nodo m´s alto representa todo el espacio, y sus cuatro hijos a representan cuatro cuadrantes en el espacio, 8 of 31 Cristi´n D. Maureira Fredes a
  • 14. Algoritmo Tree Code Barnes-Hut Tree Code Aproximaci´n o B C A D E G F H 9 of 31 Cristi´n D. Maureira Fredes a
  • 15. Algoritmo Tree Code Barnes-Hut Tree Code Aproximaci´n o Cada nodo externo, representa un unico cuerpo. ´ 10 of 31 Cristi´n D. Maureira Fredes a
  • 16. Algoritmo Tree Code Barnes-Hut Tree Code Aproximaci´n o Cada nodo externo, representa un unico cuerpo. ´ Cada nodo interno, representa el grupo de cuerpos debajo de ella, (guarda “centro de masa” y “masa total”). 10 of 31 Cristi´n D. Maureira Fredes a
  • 17. Algoritmo Tree Code Barnes-Hut Tree Code Aproximaci´n o * NO A NE SO SE H D E F G NO NE SO SE B C NO NE SO SE Cuerpo Regi´n con > 1 cuerpo o Cuadrante vac´ ıo 11 of 31 Cristi´n D. Maureira Fredes a
  • 18. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza a En un cuerpo particular. Recorrer los nodos del ´rbol, partiendo de la ra´ a ız. Centro de masa de un nodo interno: Si lo suficientemente lejos del cuerpo. Se aproximan los cuerpos contenidos. (con centro de masa y masa total) No lo suficientemente lejos del cuerpo. Recorrer los sub-´rboles recursivamente. a 12 of 31 Cristi´n D. Maureira Fredes a
  • 19. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza a ¿C´mo determinarlo? o ancho regi´n nodo (s) o Cociente = distancia Cuerpo-CM (d) Despu´s, comparar con un valor umbral θ. e s Si d < θ, entonces el nodo interno esta lo suficiente lejos. Ajustando θ, podemos cambiar la velocidad y la precisi´n de la o simulaci´n. o Se suele utilizar θ = 0,5. Si θ = 0, degenera (fuerza bruta). 13 of 31 Cristi´n D. Maureira Fredes a
  • 20. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız 1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´ ı. 14 of 31 Cristi´n D. Maureira Fredes a
  • 21. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız 1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´ ı. 2. Si el nodo x es un nodo interno, actualizar el CM y M. (Recursivamente inserta el cuerpo b en el cuadrante apropiado). 14 of 31 Cristi´n D. Maureira Fredes a
  • 22. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız 1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´ ı. 2. Si el nodo x es un nodo interno, actualizar el CM y M. (Recursivamente inserta el cuerpo b en el cuadrante apropiado). 3. Si el nodo x es un nodo externo, digamos que contiene un cuerpo c, entonces hay dos cuerpos, b y c en la misma regi´n. o 14 of 31 Cristi´n D. Maureira Fredes a
  • 23. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız 1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´ ı. 2. Si el nodo x es un nodo interno, actualizar el CM y M. (Recursivamente inserta el cuerpo b en el cuadrante apropiado). 3. Si el nodo x es un nodo externo, digamos que contiene un cuerpo c, entonces hay dos cuerpos, b y c en la misma regi´n. o Subdivide la regi´n creando cuatro hijos. o 14 of 31 Cristi´n D. Maureira Fredes a
  • 24. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız 1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´ ı. 2. Si el nodo x es un nodo interno, actualizar el CM y M. (Recursivamente inserta el cuerpo b en el cuadrante apropiado). 3. Si el nodo x es un nodo externo, digamos que contiene un cuerpo c, entonces hay dos cuerpos, b y c en la misma regi´n. o Subdivide la regi´n creando cuatro hijos. o Entonces, recursivamente inserta ambos cuerpos, b y c, en el cuadrante apropiado. 14 of 31 Cristi´n D. Maureira Fredes a
  • 25. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız 1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´ ı. 2. Si el nodo x es un nodo interno, actualizar el CM y M. (Recursivamente inserta el cuerpo b en el cuadrante apropiado). 3. Si el nodo x es un nodo externo, digamos que contiene un cuerpo c, entonces hay dos cuerpos, b y c en la misma regi´n. o Subdivide la regi´n creando cuatro hijos. o Entonces, recursivamente inserta ambos cuerpos, b y c, en el cuadrante apropiado. Recursividad! 14 of 31 Cristi´n D. Maureira Fredes a
  • 26. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız 1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´ ı. 2. Si el nodo x es un nodo interno, actualizar el CM y M. (Recursivamente inserta el cuerpo b en el cuadrante apropiado). 3. Si el nodo x es un nodo externo, digamos que contiene un cuerpo c, entonces hay dos cuerpos, b y c en la misma regi´n. o Subdivide la regi´n creando cuatro hijos. o Entonces, recursivamente inserta ambos cuerpos, b y c, en el cuadrante apropiado. Recursividad! Finalmente, actualizar el CM y M de x. 14 of 31 Cristi´n D. Maureira Fredes a
  • 27. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Ejemplo, 5 cuerpos. Convenci´n ramas, de izquierda a derecha (NO, NE, SO y SE). o B A C D E NO NE SO SE 15 of 31 Cristi´n D. Maureira Fredes a
  • 28. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Agregar cuerpo A. Encaja en el cuadrante NO de la ra´ ız. NO NE 1 SO SE A masa: 1 NO NE SO SE 16 of 31 Cristi´n D. Maureira Fredes a
  • 29. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Agregar cuerpo B. Encaja en el cuadrante NE de la ra´ ız. NO NE 2 SO SE A B masa: 2 NO NE SO SE 17 of 31 Cristi´n D. Maureira Fredes a
  • 30. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Agregar cuerpo C. Cuadrante NE ocupado por B, se crea rama y se insertan los dos. NO NE 3 SO SE masa: 2 A 2 NO SO SE B C masa: 3 NO NE SO SE 18 of 31 Cristi´n D. Maureira Fredes a
  • 31. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Agregar cuerpo D. Encaja en el cuadrante SE de la rama. NO NE 4 SO SE masa: 3 A 3 NO SO SE B C D masa: 4 NO NE SO SE 19 of 31 Cristi´n D. Maureira Fredes a
  • 32. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Agregar cuerpo E. Encaja en el cuadrante SE de la ra´ ız. 5 NO NE A 3 E SO SE NO SO SE B C D masa: 5 NO NE SO SE 20 of 31 Cristi´n D. Maureira Fredes a
  • 33. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a Calcular la fuerza que ejerce la red sobre un cuerpo b, comenzando con la raiz: 1. Si el nodo actual es un nodo externo (y no b). Calcular y agregar fuerza. 21 of 31 Cristi´n D. Maureira Fredes a
  • 34. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a Calcular la fuerza que ejerce la red sobre un cuerpo b, comenzando con la raiz: 1. Si el nodo actual es un nodo externo (y no b). Calcular y agregar fuerza. s s 2. Si no, calcular d . Si d < θ, nodo interno como un unico cuerpo. ´ Calcular y agregar fuerza. 21 of 31 Cristi´n D. Maureira Fredes a
  • 35. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a Calcular la fuerza que ejerce la red sobre un cuerpo b, comenzando con la raiz: 1. Si el nodo actual es un nodo externo (y no b). Calcular y agregar fuerza. s s 2. Si no, calcular d . Si d < θ, nodo interno como un unico cuerpo. ´ Calcular y agregar fuerza. 3. Si no, recursividad del procedimiento en cada hijo del nodo actual. 21 of 31 Cristi´n D. Maureira Fredes a
  • 36. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a Ejemplo, calcular la fuerza de la red sobre el cuerpo a. Comenzaremos en la ra´ (nodo interno). ız Representa CM de los 6 cuerpos. a, b, c, d, e y f, con masas 1, 2, 3, 4, 5 y 6 Kg. El calculo de fuerza procede de la siguiente forma. 22 of 31 Cristi´n D. Maureira Fredes a
  • 37. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a 1. El primer nodo examinado es la ra´ ız. s 100 Cociente entre A y CM. d = 43,1 > θ = 0,5 → Proceso recursivo dentro. B C D A F A E E F B C D 23 of 31 Cristi´n D. Maureira Fredes a
  • 38. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a 2. El primer hijo es el cuerpo A No ejerce fuerza sobre si mismo. → No hacemos nada. A F E B C D 24 of 31 Cristi´n D. Maureira Fredes a
  • 39. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a 3. Hijo representante NE (contiene b, c, d y e). s 50 d = 62,7 > θ. → Proceso recursivo dentro. A F E B C D 25 of 31 Cristi´n D. Maureira Fredes a
  • 40. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a 4. Hijo representante NE del padre (contiene b, c y d). s d = 25/66,9 < θ. → Se calcula la fuerza como un s´lo nodo. o A F E B C D 26 of 31 Cristi´n D. Maureira Fredes a
  • 41. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a 5. El siguiente hijo es el que contiene el cuerpo e. Este es un nodo externo. → Calculamos fuerza entre a y e. A F E B C D 27 of 31 Cristi´n D. Maureira Fredes a
  • 42. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a 6. Volvemos al nivel anterior, para ver otro hijo. Este es un nodo externo. → Calculamos fuerza entre a y f. A F E B C D 28 of 31 Cristi´n D. Maureira Fredes a
  • 43. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a 7. Finalmente, en cada paso vamos sumando las fuerzas calculadas, para obtener la fuerza total de la red sobre el cuerpo a. 29 of 31 Cristi´n D. Maureira Fredes a
  • 44. Algoritmo Tree Code Conclusiones Muestra nuevo enfoque para abordar el problema. 30 of 31 Cristi´n D. Maureira Fredes a
  • 45. Algoritmo Tree Code Conclusiones Muestra nuevo enfoque para abordar el problema. Es m´s r´pido, pues no recorre todos los cuerpos. a a 30 of 31 Cristi´n D. Maureira Fredes a
  • 46. Algoritmo Tree Code Conclusiones Muestra nuevo enfoque para abordar el problema. Es m´s r´pido, pues no recorre todos los cuerpos. a a Disminuye el orden del algoritmo de O(n2 ) a O(n log n). 30 of 31 Cristi´n D. Maureira Fredes a
  • 47. Algoritmo Tree Code Conclusiones Muestra nuevo enfoque para abordar el problema. Es m´s r´pido, pues no recorre todos los cuerpos. a a Disminuye el orden del algoritmo de O(n2 ) a O(n log n). Generamos errores, lo que nos lleva a tener una menor precisi´n. o 30 of 31 Cristi´n D. Maureira Fredes a
  • 48. Algoritmo Tree Code Conclusiones Muestra nuevo enfoque para abordar el problema. Es m´s r´pido, pues no recorre todos los cuerpos. a a Disminuye el orden del algoritmo de O(n2 ) a O(n log n). Generamos errores, lo que nos lleva a tener una menor precisi´n. o Podemos controlar la precisi´n, modificando θ. o 30 of 31 Cristi´n D. Maureira Fredes a
  • 49. Algoritmo Tree Code Conclusiones Muestra nuevo enfoque para abordar el problema. Es m´s r´pido, pues no recorre todos los cuerpos. a a Disminuye el orden del algoritmo de O(n2 ) a O(n log n). Generamos errores, lo que nos lleva a tener una menor precisi´n. o Podemos controlar la precisi´n, modificando θ. o Desarrollo multipolar (Multipole expansions) lo corrige!. 30 of 31 Cristi´n D. Maureira Fredes a
  • 50. Algoritmo Tree Code Aproximando el c´lculo de la fuerza, en el problema de n-cuerpos. a Cristi´n D. Maureira Fredes a cmaureir@hpc.cl Universidad T´cnica e Federico Santa Mar´ ıa 19 de septiembre de 2011