Macro To Micro Model

This project is supported student research project(SRP) of SCUT.

We introduce a generally applicable algorithm model named Macro-to-Micro Model (M2M) which is derived from human thinking pattern. The data structure for the nearest neighbor problem based on M2M can be built in O(n) time. It can also be finished in O(1) time by parallel technology. Moreover, the insertion, deletion and query operation can be completed in constant time without the problem of breaking the balance of tree. And the most noteworthy is that this data structure and preprocessing operation can be shared with most M2M algorithm, so that we can hugely improve the efficiency of the multi-operation problem like image processing and pattern recognition.

 

Generally, Using M2M model to solve problems include the following two steps: 

1)      Preprocessing: Data set should be divided into a number of similar partitions through Macro to Micro levels. This processing is similar to human being's behavior when developing the view of the problem.

2)      Query: From macro to micro, shrink the search space at every level and use the algorithms based on M2M to find the solution quickly.

 

M2M名词解释图

Nearest Neighbour Searching in Planar

Illustration example:

1.     Querying part A, current nearest point 1 is found.

2.     Searching bound shrinked, found current nearest point 2 in part B.

3.     Querying Part C, Searching bound no change.

4.     Searching bound shrinked again and all area intersected has been searched, found point 5 is global nearest point.

M2M最近邻搜索过程1                                   M2M最近邻搜索过程2

Step 1                                                        Step2

M2M最近邻搜索过程3                                   M2M最近邻搜索过程4

Step 3                                                  Step 4

More detail about this algorithm can be found in our paper: A_New_Nearest_Neighbour_Searching_Algorithm_based_on_M2M_Model.pdf.

Convex Hull Algorithm

M2M凸包算法示意图

Our algorithm will firstly get all the parts containing at least one point and compute the convex hull of the centers of those parts in topmost level, which is shown in Figure 3. Secondly, all the subparts of the parts which are in the Center-Hull will be considered in the next level. In the next level, the algorithm will check all the parts handled by the last level and similarly find out all the parts containing at least one point, then compute the Center-Hull of those parts, as shown in Figure 4. It is worthwhile to notice that our algorithm only concerns the centers of the parts handled by the last level and containing at least one point, which leads to a great shrink to the searching space. The algorithm repeats similar processing in the following levels, until reaching the bottom level. In the bottom, the algorithm will consider not just the centers of the parts handled by the last level but all the points contained in those parts, and output the convex hull among considering points, as shown in Figure 5.

凸包0层俯视图

凸包1层俯视图

Figure 2: The point set

Figure 3: The Center-Hull in the top level

凸包2层俯视图

凸包3层俯视图

Figure 4: The Center-Hull in the next level

Figure 5: After several levels computing, the algorithm returns the final convex hull in the bottom level

 

 

More detail about this algorithm can be found in our paper A New Randomized Parallel Dynamic Convex Hull Algorithm based on M2M model.pdf and The proof of Correctness Of M2MCH.pdf.

 

 

Path Finding algorithm

M2M寻径算法示意图(简洁版)

Path Finding algorithm based on M2M is different from two kinds of algorithm above can always find the optimal solution, but it still very useful in many application.

Illustration example:

1.     S is the Start point and E is the end point, our task is finding a path between S and E.

2.     Searching the path in the top level extract the solution path as the next level input.

3.     Searching the path among the parts in the next level according to the last solution.

4.     Searching the path in the bottom level, then output the solution.

寻径0层俯视图                                              寻径1层俯视图

Step 1                                                   Step 2

 寻径2层俯视图                                          寻径3层俯视图

                                                                                                                        Step 3                                                                                                            Step 4

 

 

 

 

 

The advantage of M2M model

Compared with conventional algorithms, Convex hull algorithm based on M2M model have following advantages besides the costing time which shown in the Experiment part:

1)      High parallelism: The preprocessing to setup a M2M structure can be run in multi-independent channels at the same time which run time accounted for 95 percent of the entire convex hull algorithm in practice.

2)      Dynamic structure: The operation of M2M data structure such as inserting or deleting can be finish in O(log n) time in the worst case and in O(1) time in most cases. Moreover, these operations will not delay or influence the process of computing convex hull, just as having preprocessed again.

3)      Preprocessing sharing: The algorithms based on M2M model share an identical preprocessing which takes the mainly part of the costing time of the entire algorithm. Such characteristic very helpful in the image process field where many operation need to be executed on the same image (point set as well) and many algorithms used in image process can be approached based on the M2M model. All those algorithms share one preprocessing, thus the efficiency of the whole processing is greatly improved.

4)      Trade-off between the efficiency and the precision: As with other M2M algorithm, convex hull algorithm based on M2M can easily trade-off between the efficiency and the precision, that is, corresponding approximate algorithm. It’s very useful, for sometimes people are willing to get a approximate result in order to reduce the computing time. For example, if we output the Deputy Hull of certain level Instead of the convex hull in the bottom level, the time of computation is shorter but the result is approximated and It is no doubt that the stop level more near the bottom , the result is more precise.

5)      Trade-off between time efficiency and space cost: The parameters of M2M such as the number of levels and the way of partition at each level can be changed on certain purpose. General speaking, the more sufficiently of the Macro-Micro levels being divided and the smaller ratio of the partition between the adjacent levels, the higher cost of the space may be, but the higher efficiency may get.

Other application of M2M model

With the help of M2M modeling, computer can be more nature, more flexible and more efficient to solve many classical algorithm problems; and the problems in specific domain (such as nearest neighbor, convex hull, TSP, cluster, path finding, collision detection and so on) can be designed the corresponding M2M algorithm. Thus, tasks in many application fields (including geography information system, data mining, pattern recognition, image processing and real time strategy game) related to those fundamental algorithm can be better performed. Taking image processing for example, we can preprocess for a specific point set, and then does a fast convex hull, a fast nearest neighbor, or a fast area calculation in this point set.

 

 

Project member:

Ying-Peng Zhang        YingPeng.Zhang@gmail.com  Project Leader

Zhi-Zhuo Zhang         zzz2010@gmail.com        

Qiong Chen            csqchen@scut.edu.cn         Supervisor

Zhi-Ming Zhou         zzm_guitar@163.com

Sheng-Zhou Lou        lsz_xp@126.com

Zhi-Wei Li             36245740@qq.com