You are currently viewing a new version of our website. To view the old version click .
ISPRS International Journal of Geo-Information
  • Article
  • Open Access

23 March 2017

A Novel k-Means Clustering Based Task Decomposition Method for Distributed Vector-Based CA Models

,
,
and
The State Key Laboratory of Information Engineering in Surveying, Mapping and Remote Sensing,Wuhan University, 129 Luoyu Road, Wuhan 430079, China
*
Author to whom correspondence should be addressed.

Abstract

More and more vector-based cellular automata (VCA) models have been built to leverage parallel computing to model rapidly changing cities and urban regions. During parallel simulation, common task decomposition methods based on space partitioning, e.g., grid partitioning (GRID) and recursive binary space partitioning (BSP), do not work well given the heterogeneity of VCA parcel tasks. In this paper, to solve this problem, we propose a novel task decomposition method for distributed VCA models based on k-means clustering, named KCP. Firstly, the polygon dataset is converted into points based on centroids, which combines the size of two parcels and the outer distance. A low-cost recursive quad-partition is then applied to decide the initial cluster centers based on parcel density. Finally, neighbor parcels can be allocated into the same subdivision through k-means clustering. As a result, the proposed KCP method takes both the number of tasks and computing complexity into consideration to achieve a well-balanced local workload. A typical urban VCA growth model was designed to evaluate the proposed KCP method with traditional spatial partitioning methods, i.e., GRID and BSP. KCP had the shortest total simulation time when compared with GRID and BSP. During experimental urban growth simulations, the time spent on a single iteration was reduced by 15% with the BSP and by 25% with the GRID method. The total simulation time with a 120 m neighborhood buffer size was reduced by more than one hour to around three minutes with 32 cores.

1. Introduction

Vector-based cellular automata (VCA) models extend traditional raster-based cellular automata (raster-based CA) models by using irregular vector polygons to represent actual geographic features, e.g., parcels and blocks [1]. This extension relieves the sensitivity of a CA model to spatial resolution and breaks the limits on uniform neighborhood definition [2,3]. VCA models have been widely used to simulate urban dynamics, e.g., land-use and land-cover changes, urban growth [4,5,6], urban planning [7], etc. However, large-scale and highly detailed VCA/CA models usually require massive computing resources to obtain timely simulation results. Thus, researchers are turning to parallel computing to accelerate these time-consuming model simulations, e.g., programs like pRPL [8,9], pSLEUTH [10], CAMEL [11].
In a given VCA model, irregular parcel polygons evolve through a number of discrete time steps following a set of transition rules based on the states of neighboring parcels. Thus, a basic parallel VCA (pVCA) task is equivalent to the corresponding polygon parcel. The computation of one pVCA task includes neighbor search and parcel status transition, and the amount is generally proportional to the area of a parcel.
The task decomposition in pVCA models can be formulated as typical space partitioning problems. There is a growing collection of space partitioning algorithms, which can be grouped according to how partitioning is conducted and classified into two categories; flat grid partitioning and hierarchical tree partitioning. Flat grid-based partitioning algorithms use a rectangular grid to partition the target space, thus directly obtaining discrete regular subdivisions. Hierarchical tree-based algorithms on the other hand, divide the target space into two or more disjoint subsets recursively, eventually producing a binary space partitioning (BSP) tree, e.g., KD-tree.
However, both flat grid-based and hierarchical tree-based algorithms are not easily applicable to pVCA task decomposition because neither the equal subdivision area nor equal task number can guarantee an equal workload. Flat grid partitioning can produce equal-area subdivisions, but the irregular shape of pVCA parcels leads to different task numbers for each subdivision. Conversely, hierarchical tree partitioning can easily produce equal task numbers by recursive division, but the workload of each subdivision is still unbalanced because of the varying computing complexity of pVCA tasks.
In this paper, a novel pVCA task decomposition algorithm based on general k-means clustering named KCP is proposed to overcome these drawbacks. The KCP method formulates a customized k-means clustering to cluster tasks with higher geographical proximity. This method uses parcel centroid to represent parcel polygons and defines a proximity distance combining parcel size and outer distance. Through an iterative process, the generated subdivisions will contain neighboring parcels, while, at the same time, the technique will separate large-sized parcels using the centroid distance. In this way, the KCP decomposition can take both task numbers and their computation complexity into consideration to obtain better workload balance. Since the workload of each subdivision depends on the number of allocated tasks, the computing complexity and communication overhead depend on the amount of ghost parcels, the NSD-PA (normalized standard deviation of the area of parcels), NSD-PN (normalized standard deviation of the number of parcels), and the number of total ghost agents that are applied to indicate local workload balance and the communication overhead.
An additional VCA-based urban growth model was developed to evaluate the efficiency of the proposed KCP algorithm. Further, we parallelized the model based on a bulk synchronous parallel model and adopted the ghost agent strategy to reduce information exchange frequency. Two groups of experiments were designed, with four subdivision sizes, 4, 8, 16, and 32, to test their scalability and three buffer sizes, 120 m, 240 m, and 360 m, to test their effects on the communication overhead. In addition, we made a detailed study on the local workload and communication overhead separately using the NSD-PN, NSD-PA, and the number of total ghost agents. The experimental results show that KCP employs the least local computing time with acceptable communication overhead and achieves the best parallel performance, compared with two common decomposition methods, GRID and BSP. The proposed KCP method can be used to partition spatial tasks of large-scale detailed VCA models effectively, which can shorten the computing time and improve the efficiency of adopting a VCA model.
The rest of the paper is outlined as follows. Section 2 provides a detailed introduction to VCA models and an overview of existing task decomposition methods with spatial-partitioning. Section 3 explains the proposed KCP task decomposition method. In Section 4, a parallel VCA urban growth model is presented. In Section 5, we evaluate and compare the KCP performance to the GRID and BSP performance. In Section 6, we present a discussion and draw some conclusions.

3. The k-Means Based Partitioning Method

3.1. k-Means Clustering Method

The k-means clustering method is one of the most widely used clustering algorithms because of its simplicity, efficiency, and empirical success [16]. Given a set of samples (x1, x2, …, xn) in which each sample is a Rd real vector, k-means clustering partitions n samples into k sets S = {S1, S2, …, Sk}, where (kn) and minimizes the within-cluster sum of squares (WCSS), i.e., the sum of the distance functions of each point within one cluster of the k center, as in Equation (1),
arg min s i = 1 k X S i | | X μ i | | 2
where μi is the cluster center in Si. The kernel of k-means clustering is the user-defined distance function, which provides a quantitative measurement of proximity between features. The basic k-means clustering algorithm has been extended in many different ways, including soft membership in Fuzzy c-means [17,18], recursively hierarchical divisive bisecting of the k-means [19], automatically critical based k finding in X-means [20], etc. Readers can refer to [16] for a more detailed review.

3.2. The KCP Task Decomposition Method

In VCA models, both adjacent and buffer neighborhood definitions follow a common idea that closer features have a more important effect on the center feature. Inspired by this approach, the proposed KCP method formulates a new k-means clustering model to decompose VCA tasks. The KCP method consists of three phases; mapping, initial centers choosing, and clustering. The mapping phase converts polygon-based tasks into point types. The second phase chooses initial centers for each future cluster. The clustering phase carries out iterative clustering computation.
(1) Mapping phase
As the k-means clustering algorithm requires point input, a mapping is firstly conducted to convert VCA polygons into points representing the centroid of its minimum bounding box. Shown in Figure 3, the distance d between polygons consists of three parts: d1 and d3 represent the sizes of two polygons, and d2 is the actual outer spatial distance between parcels. By this distance definition, two bigger parcels are more likely to be separated. For example, parcel A and B are big parcels, and parcel C is small. Although A and B have shorter outer distances than A and C, nevertheless, A and C are more likely to be allocated into the same subdivision. Furthermore, A and B are more likely to be allocated into different subdivisions because A and C have a smaller combination distance than A and B under this mapping strategy.
Figure 3. An illustration of distance definition between parcels.
Thus, this mapping strategy exhibits two advantages: (1) two close big polygons may end up with a large distance, and thus these two polygons are likely to be allocated into two different subdivisions and (2) though two dispersed small polygons have share a smaller distance, they are likely to be allocated into the same subdivisions. Since bigger polygons usually create more computation than smaller ones when geometry computation involved, these two traits can ensure a more balanced local workload among subdivisions.
(2) Choosing the k initial cluster centers
The total number of clusters, k, and initial centers are important for convergence speed and final clustering results. There are many customizations designed to find a cluster number or initial centers, such as canopy clustering and hierarchical clustering. As for task decomposition, k can be trivially defined as the number of processors. Usually initial cluster centers should be picked from the high-density areas of input points. In this paper, a simple recursive 4-way method was designed to determine the initial cluster centers. Shown in Figure 4, it partitions the whole space into 4 l e v e l sub grids and records the point number in each sub grid. For a given cluster number k, the geometric centers with the k highest values are chosen as the initial cluster centers.
Figure 4. An illustration of recursive 4-way partitioning.
In order to determine the partitioning level, let 1 indicate the selection freedom factor (SFF); then the least total sub grid numbers is n = k and the least partition level is l e v e l = log 4 n . For example, k is 4, is 4, and the minimum number of sub grids is 16, which means the minimum partition level is 2.
(3) Clustering phase
Each subdivision has a center at Cj, which represents the geometric center of all the spatial tasks belonging to this subdivision. The goal of k-means clustering is to minimize the value J in Equation (2).
J = i = 1 n j = 1 k p r e d i j X i C j
where predi->j is a criterion function. If the feature Xi belongs to the subdivision Cj, the predi->j is 1; otherwise it is 0. Repeat the following three steps until the cluster members stabilize.
(a)
Generate a new clustering by assigning each spatial task to its closest cluster center according to Equation (3).
c i t : = arg min X i C j
(b)
Compute new cluster centers following Equation (4)
C j t + 1 = p r e d i > j X i p r e d i > j
(c)
Check if the current clustering results are stable according to the criteria in Equation (5). If true, go to step (a) and repeat the assignment operation; otherwise the clustering is finished.
j C j t + 1 C j t > θ

4. A Parallelized Urban Growth Model Based on VCA

In order to evaluate the KCP method, a parallel urban growth model was designed to study the performance of KCP on workload-balance and communication overhead.

4.1. The VCA Based Urban Growth Model

The design of the VCA model is illustrated in Figure 5. The model input contains a collection of data layers related to urban growth, including transportation, terrain, and parcels. The model output represents a future urban growth area. The whole urban growth simulation can be viewed as an iteration process; each iteration spans a period of time, e.g., a month, a quarter, or a year. During iteration, the new status of each polygon is derived according to the status and its neighbor information.
Figure 5. A typical urban growth model based on GIS suitability analysis.
In this model, each parcel polygon has two statuses: undeveloped and developed. The initial parcels status of each polygon was extracted from the initial urban map by overlap analysis. The polygons covered by the initial urban area were assigned to developed parcels; otherwise they were set as undeveloped. A buffer neighborhood was included in the neighbor definition, and three buffer distances (120 m, 240 m, and 360 m) were applied to evaluate how the neighborhood size affected the communication overhead.
As shown in Figure 6, the transition status of a parcel contains two phases; calculating the transition probability to developed status and conducting a transition rule test. The NASZ scheme was used to calculate the transition probability of the parcels. This scheme contains three steps; accumulate the effect of neighbors, evaluate the suitability of a parcel on its own, and synthesize these two results.
Figure 6. The evolution flowchart of each parcel polygon.
The derived transition probability combines its current conditions, the status of its neighbors, and a set of suitability criteria in Equation (6),
p i t = F g c o n d ( c i t 1 ) j e f f e c t ( c j t 1 )
where, C i t is the current condition of parcel i at time t 1 and Fg is the global factor indicating the external driving force, such as positive policy, the vitality of the city, etc. The second term cond(Ci) is a function that calculates the suitability of a parcel for development, based on a set of suitability criteria, including the distance to major roads, the slope, and area. The last accumulated term represents the accumulated effect of neighboring parcels on the center parcel, e.g., if there are more developed cells around it, it is more likely to be developed.
After computing transition probability, a transition rule test is applied to all parcels. Generally, there are two kinds of transition rule tests, i.e., threshold and stochastic tests. The threshold type uses a user-specified threshold value to determine if the transition probability of a parcel can pass the test. In contrast, the stochastic type of rule test applies a random number generator to determine if a parcel can make a transition. In this way, the stochastic type of test can introduce random factors to an urbanization process, which can simulate uncertainties such as policy planning, environment change, etc. A threshold transition rule was applied in our urban growth model parallelization testing design.

4.2. Research Area and Input Datasets

The research area covers a small city near San Bernardino, California, with area of around 207.823 km2. The major parcel dataset used in this case study was downloaded from the Internet [21] and contains 38820 parcels, as shown in Figure 7.
Figure 7. The reasearch area and experimental parcel dataset.
The detailed attributes of other relevant datasets are also listed in Table 1.
Table 1. Basic information of the dataset used in the VCA-based urban growth model.

4.3. Parallelization of the VCA-Based Urban Growth Test Model

As described in Section 4.1, the kernel of an urban growth model is to evaluate the new status of each parcel iteratively, and each parcel is equal to an independent task unit in the whole simulation process. During parallelization, the task decomposition method, e.g., KCP, GRID, or BSP, divides all VCA tasks into discrete groups, and each processing element is in charge of one group simulation.
A bulk synchronous parallel strategy was used to coordinate the computation and communication during parallel simulation [22], consisting of local computing and synchronization in each iteration. In the local computing phase, the local status of each parcel was computed according to the transition function. The synchronization phase conducts neighboring information exchange between processors. The parallel VCA urban growth model is illustrated in Figure 8.
Figure 8. Parallelization of the urban growth model based on a bulk synchronous parallel strategy.
Neighboring information exchanges result in additional communication overhead. In order to reduce the communication overhead, ghost parcels [23,24] were created to lower the status exchange frequency between cells. Figure 9 illustrates how ghost parcels reduce the communication overhead [14]. To avoid requesting the status of remote parcels during each iteration, current processing nodes will cache selected parcels on the local process; these are called ‘ghost parcels’. Each ghost parcel acts as a copy of an original remote parcel. Local process can query the status of a ghost parcel but does not have permission to update their status. Their status can be only updated during the synchronization phase when the original parcels are changed.
Figure 9. The ghost agent strategy used in the parallelized VCA model.
The simulation was implemented in a parallel simulation framework, 4D-SAS [25]. Its GIS-enabled functionalities provided essential support for geometric computing required by the VCA test model. The 4D-SAS framework accommodated the proposed KCP task decomposition method and the ghost-parcel strategy to reduce the communication overhead.

5. Case Study and Experiments

In this paper, two groups of experiments were carried out with the designed parallel VCA urban growth model to evaluate the proposed KCP algorithm. The evaluations compared the proposed KCP method with two other task decomposition methods, GRID, and BSP. The first group used different numbers of divisions, i.e., 4, 8, 16, and 32, to test scalability. The second group was configured with different buffer distances, i.e., 120 m, 240 m, and 360 m, to inspect communication overhead sensitivity. The 4D-SAS simulation framework was deployed on a high-performance computing cluster, consisting of five machines configured as follows; one was used as a master node, three machines were used as simulation engines, and the last one was used for input/output dataset storage. All the servers were directly connected by a dedicated 1 Gbps Ethernet. The hardware and OS of these servers are listed in Table 2.
Table 2. Detailed configuration of the cluster servers.

5.1. Experimental Results

5.1.1. The Total Simulation Time

In order to evaluate the overall parallel efficiency of KCP, GRID, and BSP, the total simulation time of a 24-year simulation (24 iterations, each iteration represents a year) were recorded as in Table 3.
Table 3. Total computing time for 24 iterations.
As seen in Table 3, KCP achieves the best parallel efficiency with the least simulation time; about 15% less than BSP and 25% less than GRID. The total simulation time for KCP was reduced from over one hour to about three minutes, using 32 cores with a 120 m neighborhood buffer. The simulation results after 24 iterations are shown in Figure 10. Compared to Figure 9, a large part of the parcels has become developed. Parcels near the initial urban area and with good transportation are more likely to be developed. Those areas with limitations, e.g., a protected zone or steep slope, were less likely to be developed.
Figure 10. Simulation results of the designed urban growth model.

5.1.2. Execution Time in a Single Iteration

In order to understand how the computation workload and communication overhead affect parallel efficiency, the time of local computing and synchronization were recorded separately with different subdivisions and buffer sizes. The results were recorded as shown in Table 4 and Table 5.
Table 4. Average local computing time for an iteration.
Table 5. Average synchronization time for an iteration.
As the buffer size increased, both the local computing time and the synchronization time for all methods increased, which means the computing of each parcel increases as more neighbors become involved. As compared to GRID and BSP, the local computing time of KCP was shorter because both the number of tasks and the computing complexity were considered, based on the centroid distance in KCP. Considering synchronization, KCP takes less time than BSP and more time than GRID, as the communication overhead was lower than that of BSP and higher than that of GRID in terms of the total number of ghost agents.

5.2. Analysis and Discussion

5.2.1. Local Workload Comparison of Different Partition Methods

We assumed that large-sized parcels are surrounded by more neighboring parcels, involving more geometric computing. In this paper, the number of allocated parcels and their total area were examined to analyze workloads obtained from GRID, BSP, and KCP.
(1) The payload distribution of subdivision parcels
Firstly, the normalized number of parcels nni in each subdivision was calculated, and the corresponding normalized standard deviation of the number of parcels (NSD-PN) θ was computed according to Equation (7),
n n i = N i N θ = i = 1 k ( n n i 1 k ) 2 k
where K is the subdivision size, i.e., 4, 8, 16, or 32, and N represents the total number of tasks. Ni is the allocated number of tasks for subdivision i. Shown in Table 6 are the results from the BSP method that generates an equal number of parcels for each subdivision. Compared with GRID, KCP results in a better distribution of parcels. As the subdivision number increased, the NSD-PN θ value of GRID and KCP both decreased.
Table 6. Normalized standard deviation of the number of parcels (NSD-PN) of different patitioning methods.
(2) The subdivision parcel area distribution
The same as the NSD-PN calculation, the first step is to compute normalized allocated area nsj of each subdivision, and then the normalized standard deviation of the resulting partition areas (NSD-PA) μ is computed according to Equation (8),
n s j = i s u b ( j ) s i n = 1 N s n μ = j = 1 k ( n s j 1 k ) 2 k
where si represents the area of parcel i, and nsj represents the ration of allocated parcels area for subdivision j. Shown in Table 7, the GRID method resulted in a well-balanced distribution of task areas among subdivisions, while the BSP method resulted in an unbalanced workload. In addition, the μ value decreased as the subdivision sizes increased.
Table 7. Normalized standard deviation of the resulting partition areas (NSD-PA) of different patitioning methods.
As shown in Table 6 and Table 7, GRID generated the highest NSD-PA and the lowest NSD-PN, while the results produced by BSP were the reverse of the GRID task allocation results. The proposals by KCP were moderate in both aspects. The GRID method weights more spatial task complexity over number of spatial tasks. In contrast, the BSP method focuses on balancing the number of spatial tasks allocated among subdivisions. The KCP method makes a compromise between these two factors, which can achieve the optimum local workload balance.

5.2.2. Global Communication Overhead Comparison of Partition Methods

As described in Section 4.2, the status synchronization of ghost parcels is the major source of the communication overhead. The number of ghost parcels was used to measure the communication overhead among the three task decomposition methods.
Shown in Table 8, KCP leads to less ghost parcels than BSP but more than GRID. As the subdivision size increased, the ghost parcel number of KCP increased more slowly than that of GRID and BSP. In addition, for the same number of subdivisions, as the buffer size increased, KCP also increased more slowly than GRID and BSP. Therefore, KCP is less sensitive to subdivision and buffer size, which makes it suitable for exploring the effect of neighborhood factors.
Table 8. Global communication overhead in the total ghost agent number.
As shown by the experiment results, the KCP method achieved the most efficient parallel performance in comparison to GRID and BSP. However, due to the inherent empirical success of k-means, the KCP method cannot guarantee optimal task decomposition. Moreover, there is no control on the weighting between the local workload balance and the communication overhead, which is critical for the parallelization efficiency of a VCA model operating on a heterogeneous computing cluster.

6. Conclusions

Compared to raster-based CA models, task decomposition in VCA models is more complex because of heterogeneous parcel distributions and task computing complexity. Existing task decomposition methods employ space partitioning directly (e.g., GRID and BSP) to decompose simulation tasks and thus cannot guarantee a balanced workload and minimum communication. In this paper, a novel task decomposition method based on k-means clustering is proposed to partition tasks in VCA models. The KCP method adopts the centroid distance of parcel polygons as a measurement of proximity, which enables both the task numbers and their computing complexity to be taken into consideration. Illustrated by our experimental results, KCP obtains the optimum workload balance with an acceptable communication overhead, therefore achieving high parallel efficiency. KCP can be applied as an effective approach to do task decomposition in parallelization of large-scale detailed VCA, where the variety in computing units cannot be ignored. In the future, we will conduct a detailed study of KCP performance in urban growth models based on VCA involving geometric change. We will add weights to the local workload balance and communication overhead to make task decomposition more responsive to the characteristics of heterogeneous computing clusters.

Acknowledgments

This work is supported by the Natural Science Foundation of China (Grant No.: 41301411), the Natural Science Foundation of Hubei Province (Grant No.: 2015CFB399) and Grand Special of High resolution On Earth Observation: Application demonstration system of high resolution remote sensing and transportation (Grant NO: 07-Y30B10-9001-14/16).

Author Contributions

Zhenqiang Li and Xuefeng Guan conceived and designed the experiments; Zhenqiang Li performed the experiments; all authors analyzed the data and experimental results; Huayi Wu and Jianya Gong contributed the high-performance computing infrastructure and gave other financial aid; and Zhenqiang Li and Xuefeng Guan wrote the paper. In addition, we sincerely thank Mr. Steve Mcclure for the language polishing and revising.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
KCPK-means clustering based task partitioning
KD-Treek-dimensional tree
GISGeographical Information System
OSOperating System
VCAVector-based CA model
KCPk-means clustering partitioning strategy
GRIDGrid partitioning
BSPBinary space partitioning
NSD-PANormalized standard deviation of the area of parcels
NSD-PNNormalized standard deviation of the number of parcels

References

  1. Menard, A. Vecgca: A vector-based geographic cellular automata model allowing geometric transformations of objects. Environ. Plan. B Plan. Des. 2008, 35, 647–665. [Google Scholar]
  2. Moreno, N.; Wang, F.; Marceau, D.J. Implementation of a dynamic neighborhood in a land-use vector-based cellular automata model. Comput. Environ. Urban Syst. 2009, 33, 44–54. [Google Scholar] [CrossRef]
  3. Moore, K. Resel filtering to aid visualisation within an exploratory data analysis system. J. Geogr. Syst. 2000, 2, 375–398. [Google Scholar]
  4. Shi, W.; Pang, M.Y.C. Development of voronoi-based cellular automata-an integrated dynamic model for geographical information systems. Int. J. Geogr. Inf. Sci. 2000, 14, 455–474. [Google Scholar] [CrossRef]
  5. Shiyuan, H.; Deren, L. Vector Cellular Automata Based Geographical Entity. In Proceedings of the 12th International Conference on Geoinformatics, Gävle, Sweden, 7–9 June 2004. [Google Scholar]
  6. Allen, J.; Lu, K. Modeling and prediction of future urban growth in the Charleston region of South Carolina: A GIS-based integrated approach. Conserv. Ecol. 2003. [Google Scholar] [CrossRef]
  7. Abolhasani, S.; Taleai, M.; Karimi, M.; Rezaee Node, A. Simulating urban growth under planning policies through parcel-based cellular automata (parca) model. Int. J. Geogr. Inf. Sci. 2016, 30, 1–26. [Google Scholar]
  8. González, P.B.; Gómez-Delgado, M.; Benavente, F.-A. Vector-Based Cellular Automata: Exploring New Methods of Urban Growth Simulation with Cadastral Parcels and Graph Theory. In Proceedings of the CUPUM 2015, Cambridge, MA, USA, 7–10 July 2015. [Google Scholar]
  9. Dahal, K.R.; Chow, T.E. Characterization of neighborhood sensitivity of an irregular cellular automata model of urban growth. Int. J. Geogr. Inf. Sci. 2015, 29, 475–497. [Google Scholar]
  10. White, R.; Engelen, G. High-resolution integrated modelling of the spatial dynamics of urban and regional systems. Comput. Environ. Urban Syst. 2000, 24, 383–400. [Google Scholar] [CrossRef]
  11. Barreira-González, P.; Gómez-Delgado, M.; Aguilera-Benavente, F. From raster to vector cellular automata models: A new approach to simulate urban growth with the help of graph theory. Comput. Environ. Urban Syst. 2015, 54, 119–131. [Google Scholar]
  12. Wang, D.; Berry, M.W.; Carr, E.A.; Gross, L.J. A parallel fish landscape model for ecosystem modeling. Simulation 2006, 82, 451–465. [Google Scholar] [CrossRef]
  13. Li, X.; Zhang, X.; Yeh, A.; Liu, X. Parallel cellular automata for large-scale urban simulation using load-balancing techniques. Int. J. Geogr. Inf. Sci. 2010, 24, 803–820. [Google Scholar] [CrossRef]
  14. Kim, I.-H.; Tsou, M.-H.; Feng, C.-C. Design and implementation strategy of a parallel agent-based schelling model. Comput. Environ. Urban Syst. 2015, 49, 30–41. [Google Scholar]
  15. Guan, Q.; Clarke, K.C. A general-purpose parallel raster processing programming library test application using a geographic cellular automata model. Int. J. Geogr. Inf. Sci. 2010, 24, 695–722. [Google Scholar] [CrossRef]
  16. Jain, A.K. Data clustering: 50 years beyond k-means. Pattern Recognit. Lett. 2010, 31, 651–666. [Google Scholar] [CrossRef]
  17. Dunn, J.C. A fuzzy relative of the isodata process and its use in detecting compact well-separated clusters. J. Cybern. 1973, 3, 32–57. [Google Scholar]
  18. Cannon, R.L.; Dave, J.V.; Bezdek, J.C. Efficient implementation of the fuzzy c-means clustering algorithms. IEEE Trans. Pattern Anal. Mach. Intell. 1986, 8, 248–255. [Google Scholar] [CrossRef] [PubMed]
  19. Steinbach, M.; Karypis, G.; Kumar, V. A Comparison of Document Clustering Techniques. In Proceedings of the KDD Workshop on Text Mining, Boston, MA, USA, 20 August 2000. [Google Scholar]
  20. Pelleg, D.; Moore, A.W. X-means: Extending K-means with Efficient Estimation of the Number of Clusters. In Proceedings of the Seventeenth International Conference on Machine Learning, Stanford, CA, USA, 29 June–2 July 2000. [Google Scholar]
  21. Johnston, K.M. Agent Analyst: Agent-Based Modeling in Arcgis; Esri Press: Redlands, CA, USA, 2013; pp. 240–308. [Google Scholar]
  22. Valiant, L.G. A bridging model for parallel computation. Commun. ACM 1990, 33, 103–111. [Google Scholar] [CrossRef]
  23. Rao, D.M. Efficient parallel simulation of spatially-explicit agent-based epidemiological models. J. Parallel Distrib. Comput. 2016, 93, 102–119. [Google Scholar] [CrossRef]
  24. Collier, N.; North, M. Parallel agent-based simulation with repast for high performance computing. Simulation 2013, 89, 1215–1235. [Google Scholar] [CrossRef]
  25. Li, Z.; Guan, X.; Li, R.; Wu, H. 4d-sas: A distributed dynamic-data driven simulation and analysis system for massive spatial agent-based modeling. ISPRS Int. J. Geo-Inf. 2016. [Google Scholar] [CrossRef]

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.