CAPÍTULO III MATERIALES Y MÉTODOS
RESULTADOS Y DISCUSIÓN
4.4. ANÁLISIS COMPLEMENTARIOS EN INVERNADERO
4.4.3. Número de hojas 28, 48 y 68 días.
In order to reduce the complexity of the algorithm, owing to its inherent processing time and the memory required to store all the vertices for an N-dimensional set of
points, approximate methods of producing a Voronoi diagram have been developed. These consist of analytical methods of subdividing the region between points.
4.3.1 Approximate Diagrams by Sub-division
A fast analytical approach involves bisecting the global region between two points, and then repeating in the newly generated sub-regions for all subsequent points. A simplified example can be seen in Figure 4.3. The algorithm operates as follows:
1. Create Major Region(s)- The initial regions should contain the full set of points from which the Voronoi diagram will be drawn. The boundaries for this region are obtained depending on the criteria of the analysis. For example, a diagram drawn from the points in phase space found in the MICE trackers might take the tracker solenoid fiducial volume as the starting global region. The region sizes are largely inconsequential to the calculated weights, except for those points at the physical edge of the distribution. It is also possible to define several starting regions.
2. Insert initial point- Since this method draws the diagram around each point in turn, the order of the points is of concern. The effect is explored later. 3. Insert additional point
4. Find region containing two points - This method of drawing a Voronoi diagram naturally produces a tree which can be used to find the containing sub-region.
5. Bisect the region - Once the region containing both the new point and an old point is found, it is divided into two new regions, each containing a single point. The distance between the points is found and a mid-point used as the dividing line between the two new regions.
6. Store new regions- The new regions, along with pointers to their parent, are stored and form part of the diagram tree.
7. Repeat steps 3-6 for all remaining points
8. Strip the outer points- The cells whose borders are not provided by other cells, but by the initial major regions, will have a size dependent on that of the major region. This could be arbitrary and may not reflect the true size of the cell (if this could be defined using this method, which it cannot). All cells with a border on that of the major region could then be rejected.
9. Remove high weights - As an alternative to stripping the outer regions a cut can be made on the calculated weights, excluding the high outlying values. Upon completion of the algorithm an approximate Voronoi diagram is drawn along with a tree for nearest neighbour searches. For weighting, the limits of the inte- gration are the only pieces of information required, and thus are the only pieces produced in the generation and searching of the cells.
Figure 4.3: Creating an approximate Voronoi diagram.
The total amount of information stored for each region, measured in floating
point numbers, in this form of the Voronoi diagram is then 2ND, where ND is
the number of dimensions, with smaller items such as integer indices and status bits. The total number of regions produced, including the intermediate steps (for
example, the regions in the second step in Figure 4.3) is 2n−1, where n is the
number of points.
Search methods
One particular area of inefficiency lies in step 4, in which the existing region in which a new point lies must be found. As each region gets divided a new level is created in the tree structure of the regions, with the initial region at the top and most recently created regions at the bottom. As the number of lowest level regions increases with the points, the time spent searching for the region increases geometrically. The simplest brute force method is to loop over all existing regions, and if they are of the lowest level test to see if the new point lies within them.
For a limited set of points the efficiency of this method is comparable to other areas of the algorithm. However, for larger data sets, the time spent searching
through every possible region, which themselves scale as 2n−1, may become un-
tenable. The scaling in time taken for a range of points and dimensions is given in
here, and for the majority of MICE running, the number of events is within the acceptable time spent on the region search.
Points 1 2 4 6
102 0.4 0.4 0.4 0.4
103 0.4 0.4 0.4 0.4
104 2.4 2.4 1.8 1.3
Table 4.1: Times taken in seconds to generate Voronoi diagrams for a range of dimensions and numbers of points, based on a single processor core on a virtual machine. The host processor was a 2.66 GHz dual core with hyper-threading.
At the rates expected in MICE, and the total number of particles required for emittance reduction measurements, a brute force method is acceptable for both online and offline running.