What is a good Monte Carlo algorithm for generating an archipelago in a particular map? Sort of like the archipelago map in Age of Empires II
(But this is actually a real question that I do need for my exoplanet research)
 A: As a starter, you can generate a Brownian sheet and take slices of it. In two dimensions, a Brownian sheet is a Gaussian process on $[0,1]^2$ with covariance $\mbox{Cov}B(s,t)B(u,v) = \min(s,u) \min(t,v)$, which you can simulate on a grid (Gaussian means that any finite subset of values $B(s_1,t_1),\ldots,B(s_k,t_k), \mbox{all of} (s_1,t_1), \ldots, (s_k,t_k) \in [0,1]^2$ will have a multivariate normal distritubion (see Wikipedia).
If that does not quite work (Brownian sheet tends to produce grid-like patterns, if you trust this paper), you can also simulate spatial processes with sufficiently strong local dependence using anisotropic kernels/variograms that depend only on the distance between two points. Matern covariance function (Wikipedia definition) is a popular choice among geostaticians for its flexible form. So:


*

*Set up a grid of sufficient resolution; this may be a flat set $[0,1]^2$ or a sphere $S_3$ with geodesic distances on it.

*Pick parameters of your spatial correlation function. In the above article, $\rho$ is the range parameter (a typical "size" of the island), and $d$ is the shape parameter (how spiky the result is, I am guessing).

*Compute the matrix of distances between the pairs of points.

*Compute the matrix of covariances based on the chosen variogram and the distances.

*Simulate an instance of a multivariate normal distribution (simulating uncorrelated normal variates is easy, and Cholesky decomposition should help to transform them to correlated ones).

*Pick as "continents" or "islands" the points on a grid on which the simulated process exceeds a certain level.


I am sure some of the steps can be made super-computationally-efficient, but as a starter this might do.
