Parallel algorithm of computing convex hull based on multinuclear framework

A parallel algorithm and convex hull technology, applied in the field of computational geometry, can solve the problems of occupying computing resources and cumbersome algorithms, and achieve the effects of saving computing resources, eliminating bottlenecks, and reducing parallel overhead

Inactive Publication Date: 2013-05-22
NANJING UNIV OF INFORMATION SCI & TECH
3 Cites 8 Cited by

AI-Extracted Technical Summary

Problems solved by technology

In this algorithm, firstly determine which side of the directed line segment the point is on (i.e. positive and negative division), and then use the...
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Method used

[0052] Wherein, MAXGROW in (d) is the threshold for parallel and serial selection, and only when the number of outer points of the directed edge to be grown is large enough, the parallel algorithm is selected. With the deepening of iterations, the number of outliers decreases continuously. When the ...
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Abstract

The invention provides a parallel algorithm of computing a convex hull based on a multinuclear framework specific to the defect of an existing convex hull algorithm. The parallel algorithm of computing the convex hull based on the multinuclear framework comprises the following steps: (1), finding the initial incomplete convex hull of initial point assembly, indicating edges by counter clockwise direction directed edge; (2), classifying a point set based on the initial incomplete convex hull, finding out all of the outer points of directed edges; (3), iteratively and concurrently breeding each of the directed edge of the initial incomplete convex hull; (4), deleting final acquired non-convex-hull peak on the convex hull. The parallel algorithm of computing the convex hull based on the multinuclear framework effectively optimizes an original algorithm and plenarily saves calculation resources, parallelly expands the classification process of the point set and the iterative process to the original algorithm, and fully utilizes the parallel calculation resources of a multi-core processor; so that parallel speed-up ratio is controlled by controlling parallel mission grain size further by self-adaption selection of the parallel and serial, and possibly produced bottlenecks are eliminated.

Application Domain

Technology Topic

Image

  • Parallel algorithm of computing convex hull based on multinuclear framework
  • Parallel algorithm of computing convex hull based on multinuclear framework
  • Parallel algorithm of computing convex hull based on multinuclear framework

Examples

  • Experimental program(1)

Example Embodiment

[0034]The technical solutions provided by the present invention will be described in detail below in conjunction with specific examples. It should be understood that the following specific embodiments are only used to illustrate the present invention and are not intended to limit the scope of the present invention.
[0035] The parallel algorithm flow of calculating the convex hull based on the multi-core architecture is as follows: figure 1 As shown, the specific process is described as follows:
[0036] (1) First find the initial incomplete convex hull of the initial point set, and its sides are represented by directed edges in the counterclockwise direction: find four extreme points along the x-coordinate and y-coordinate directions, and delete the same , the convex polygon surrounded by the remaining points in the counterclockwise direction is the initial incomplete convex hull, denoted as LPBCH(S).
[0037] LPBCH(S) includes NCP(S) and NCE(S); the vertex column in the incomplete convex hull is recorded as NCP(S), and each vertex is denoted by P i (x i , y i ), where 1≤i≤n, i is an integer, and n is the number of points in the point set, so there are n vertices in NCP(S). Denote the counterclockwise directed edge chain formed between every two vertices as NCE(S), and use P for each directed edge i P i+1 (P i (x i , y i ), P i+1 (x i+1 , y i+1 )) to represent; where 1≤i≤n, i is an integer, n is the number of points in the point set; when i=n, ​​P i+1 =P n+1 =P 1 , so there are also n elements in NCE(S), where the nth directed edge is P n P n+1 , namely P n P 1 , n directed edges form a closed convex polygon.
[0038] (2) Classify all points in the point set according to the right side of the directed edge of the initial incomplete convex hull found in step (1), find out all the outer points of each directed edge:
[0039] The points in the point set are represented by P(x, y), and the directed edges in the initial incomplete convex hull are represented by vector P 1 P 2 (P 1 (x 1 , y 1 ), P 2 (x 2 , y 2 ))To represent;
[0040] define determinant The value of the point P(x, y) to the vector P 1 P 2 (P 1 (x 1 , y 1 ), P 2 (x 2 , y 2 )), denoted as YD(P,P 1 P 2 ). All points in the point set are classified according to whether they are on the right side of each directed edge of the initial incomplete convex hull found in step (1), wherein the Yan's distance to the directed edge is greater than 0 to the right of the directed edge. Add all points on the right side of the directed edge to the set of outer points of the directed edge. Delete all points in the point set that are not on the right side of any directed edge, because they are inside the initial incomplete convex hull and must not be points on the final convex hull.
[0041] (3) For each directed edge P in the incomplete convex hull edge chain i P i+1 Iterative growth is performed in parallel. The process of iterative growth is:
[0042] (a) If there is an edge P i P i+1 If the set of outer points is empty, return an empty point column;
[0043] (b) From the directed edge P i P i+1 Find the point P with the largest Yan's distance to the directed edge from the outer point set of , and this point P must be the convex hull point of the point set;
[0044] (c) Connection point P i and point P, point P and point P i+1 , generating two new directed edges P i P and PP i+1 , for the original edge P i P i+1 The set of exterior points of the directed edge P i P and PP i+1 Reclassify and get the directed edge P respectively i P and directed edge PP i+1 the respective set of outliers;
[0045] (d) If there is a directed edge P i P i+1 The number of points in the set of outer points is not greater than twice of MAXGROW, then go to step (f);
[0046] (e) Iteratively grow the directed edge P in parallel i P and PP i+1 respectively get point column L 1 and L 2 , let the point column L={P i}∪L 1 ∪{P}∪L 2 ∪{P i+1}, go to step (j);
[0047] (f) Define linked list E to store several directed edges, set P i P and PP i+1 Insert E;
[0048] (g) For each directed edge e in E, if its outer point set is not empty, then follow (b) (c) two-step method to get two new directed edges e 1 and e 2 , and e 1 and e 2 set of outliers; delete e from E, and insert e at the original e's place 1 and e 2 , where e 1 same origin as e;
[0049] (h) If the outer point set of any newly generated directed edge in (g) is not empty, go to step (g);
[0050] (i) Delete the first directed edge in E, and let L be the point sequence formed by the starting points of each directed edge in E;
[0051] (j) Return the point column L as the result.
[0052] Among them, MAXGROW in (d) is the threshold for parallel and serial selection, and only when the number of outliers of the directed edge to be grown is large enough, the parallel algorithm is selected. With the deepening of iterations, the number of outliers decreases continuously. When the number of outliers drops below twice the threshold, the parallel algorithm will no longer have superiority. At this time, the serial strategy will be selected to end the iteration, and in the limited results within the loop. In this step, the parallel task granularity is controlled through the adaptive selection of parallel and serial to control the parallel acceleration ratio and eliminate possible bottlenecks.
[0053] (4) Traverse each point in the convex polygon obtained in step (3) in turn, let P be the current traversal point, R be the predecessor of P (that is, the previous point arranged counterclockwise), and Q be the successor of P (that is, press next point counterclockwise). If the three points R, P, and Q are collinear, delete point P from LPBCH(S). After traversing LPBCH(S), deleting all non-convex hull vertex points, the convex hull vertex sequence of the point set can be obtained, and the convex hull of the point set is formed by forming a convex polygon with these vertices.
[0054] Utilize the convex hull parallel algorithm provided by the present invention to carry out the fusion test, what the fusion test adopts is to represent the meteorological sampling point data of a certain province in my country, such as figure 2 As shown in , the dense point set is the sampling distribution of meteorological data, and this distribution is all precipitation stations in the area. figure 2 The polygonal area in is the convex hull of the point set obtained by using the parallel algorithm provided by the present invention.
[0055] like image 3 As shown, the algorithm adopted in the present invention and the original Z 3-2 The execution efficiency of the algorithm was compared and analyzed. For further testing the parallel performance of the algorithm of the present invention, the present invention is to original Z 3-2 The algorithm is optimized to be comparable with the algorithm of the present invention. To the original Z 3-2 The optimization method of the algorithm is: similar to the algorithm of the present invention, the Euclidean distance is replaced by Yan's distance, and the original Z is eliminated with the stack structure. 3-2 The recursion in the algorithm makes the optimized Z 3-2 The performance of the algorithm is close to that of this algorithm when it is executed serially. image 3 For the algorithm adopted in the present invention, the original Z 3-2 Algorithms and optimized Z 3-2 The execution time comparison chart of the algorithm to distinguish the performance improvement caused by optimization and parallel operation.
[0056] Depend on image 3 It can be known that the algorithm of the present invention is 10 6 The solution time of the convex hull of an order of magnitude point set is close to 200 milliseconds, which fully demonstrates the high efficiency of the algorithm; after optimization, the performance of the algorithm is greatly improved; the calculation time is further reduced by parallel computing. When the number of processors is larger, the algorithm execution time is shorter.
[0057] Figure 4 It is the speedup ratio after the improved and optimized algorithm of the present invention, wherein, the optimized speedup ratio refers to the execution time ratio of the algorithm before and after optimization, the parallel speedup ratio refers to the execution time ratio of the optimized algorithm and the algorithm of the present invention, and the total speedup ratio refers to the original algorithm and this algorithm. The execution time ratio of the invented algorithm. The experiment shows that the average parallel speedup ratio of the algorithm is about 1.55, and the overall speedup ratio is about 3.89. The parallel speedup ratio converges to 2 when the number of points is large, which shows that the parallel overhead of the algorithm is small. from Figure 4 It can also be seen that as the number of computing points increases, the parallel speedup tends to be relatively stable, while the optimization speedup fluctuates greatly. This is because the optimization process of the algorithm changes the basic data structure and execution flow of the algorithm, while the parallelization process does not change the structure of the algorithm itself. Depend on Figure 4 It can be seen that this algorithm is correct for the original Z 3-2 The algorithm has a strong acceleration effect, which greatly saves computing resources and improves overall performance.
[0058] The technical means disclosed in the solution of the present invention are not limited to the technical means disclosed in the above technical means, but also include technical solutions composed of any combination of the above technical features.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

no PUM

Description & Claims & Application Information

We can also present the details of the Description, Claims and Application information to help users get a comprehensive understanding of the technical details of the patent, such as background art, summary of invention, brief description of drawings, description of embodiments, and other original content. On the other hand, users can also determine the specific scope of protection of the technology through the list of claims; as well as understand the changes in the life cycle of the technology with the presentation of the patent timeline. Login to view more.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Similar technology patents

Voice processing system based on vehicle-mounted application

Owner:SHANGHAI PATEO ELECTRONIC EQUIPMENT MANUFACTURING CO LTD

Classification and recommendation of technical efficacy words

  • Save computing resources
  • Reduce operational complexity

Method for determining unstable driving states

Owner:CONTINENTAL TEVES AG & CO OHG

Facial expression recognition method and facial expression recognition device

InactiveCN107358169AReduce operational complexityImprove computing efficiencyAcquiring/recognising facial featuresFacial expression recognitionEmotion identification
Owner:厦门熵基科技有限公司
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products