# rStrauss

##### Perfect Simulation of the Strauss Process

Generate a random pattern of points, a simulated realisation of the Strauss process, using a perfect simulation algorithm.

##### Usage

`rStrauss(beta, gamma = 1, R = 0, W = owin(), expand=TRUE, nsim=1, drop=TRUE)`

##### Arguments

- beta
intensity parameter (a positive number).

- gamma
interaction parameter (a number between 0 and 1, inclusive).

- R
interaction radius (a non-negative number).

- W
window (object of class

`"owin"`

) in which to generate the random pattern.- expand
Logical. If

`FALSE`

, simulation is performed in the window`W`

, which must be rectangular. If`TRUE`

(the default), simulation is performed on a larger window, and the result is clipped to the original window`W`

. Alternatively`expand`

can be an object of class`"rmhexpand"`

(see`rmhexpand`

) determining the expansion method.- nsim
Number of simulated realisations to be generated.

- drop
Logical. If

`nsim=1`

and`drop=TRUE`

(the default), the result will be a point pattern, rather than a list containing a point pattern.

##### Details

This function generates a realisation of the
Strauss point process in the window `W`

using a ‘perfect simulation’ algorithm.

The Strauss process (Strauss, 1975; Kelly and Ripley, 1976)
is a model for spatial inhibition, ranging from
a strong `hard core' inhibition to a completely random pattern
according to the value of `gamma`

.

The Strauss process with interaction radius \(R\) and parameters \(\beta\) and \(\gamma\) is the pairwise interaction point process with probability density $$ f(x_1,\ldots,x_n) = \alpha \beta^{n(x)} \gamma^{s(x)} $$ where \(x_1,\ldots,x_n\) represent the points of the pattern, \(n(x)\) is the number of points in the pattern, \(s(x)\) is the number of distinct unordered pairs of points that are closer than \(R\) units apart, and \(\alpha\) is the normalising constant. Intuitively, each point of the pattern contributes a factor \(\beta\) to the probability density, and each pair of points closer than \(r\) units apart contributes a factor \(\gamma\) to the density.

The interaction parameter \(\gamma\) must be less than or equal to \(1\) in order that the process be well-defined (Kelly and Ripley, 1976). This model describes an ``ordered'' or ``inhibitive'' pattern. If \(\gamma=1\) it reduces to a Poisson process (complete spatial randomness) with intensity \(\beta\). If \(\gamma=0\) it is called a ``hard core process'' with hard core radius \(R/2\), since no pair of points is permitted to lie closer than \(R\) units apart.

The simulation algorithm used to generate the point pattern
is ‘dominated coupling from the past’
as implemented by Berthelsen and Moller (2002, 2003).
This is a ‘perfect simulation’ or ‘exact simulation’
algorithm, so called because the output of the algorithm is guaranteed
to have the correct probability distribution exactly (unlike the
Metropolis-Hastings algorithm used in `rmh`

, whose output
is only approximately correct).

There is a tiny chance that the algorithm will run out of space before it has terminated. If this occurs, an error message will be generated.

##### Value

If `nsim = 1`

, a point pattern (object of class `"ppp"`

).
If `nsim > 1`

, a list of point patterns.

##### References

Berthelsen, K.K. and Moller, J. (2002)
A primer on perfect simulation for spatial point processes.
*Bulletin of the Brazilian Mathematical Society* 33, 351-367.

Berthelsen, K.K. and Moller, J. (2003)
Likelihood and non-parametric Bayesian MCMC inference
for spatial point processes based on perfect simulation and
path sampling.
*Scandinavian Journal of Statistics* 30, 549-564.

Kelly, F.P. and Ripley, B.D. (1976)
On Strauss's model for clustering.
*Biometrika* **63**, 357--360.

Moller, J. and Waagepetersen, R. (2003).
*Statistical Inference and Simulation for Spatial Point Processes.*
Chapman and Hall/CRC.

Strauss, D.J. (1975)
A model for clustering.
*Biometrika* **62**, 467--475.

##### See Also

`rmh`

,
`Strauss`

,
`rHardcore`

,
`rStraussHard`

,
`rDiggleGratton`

,
`rDGS`

,
`rPenttinen`

.

##### Examples

```
# NOT RUN {
X <- rStrauss(0.05,0.2,1.5,square(141.4))
Z <- rStrauss(100,0.7,0.05)
# }
```

*Documentation reproduced from package spatstat, version 1.55-1, License: GPL (>= 2)*