% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/games.R
\name{sample_smallworld}
\alias{sample_smallworld}
\alias{smallworld}
\title{The Watts-Strogatz small-world model}
\usage{
sample_smallworld(dim, size, nei, p, loops = FALSE, multiple = FALSE)

smallworld(dim, size, nei, p, loops = FALSE, multiple = FALSE)
}
\arguments{
\item{dim}{Integer constant, the dimension of the starting lattice.}

\item{size}{Integer constant, the size of the lattice along each dimension.}

\item{nei}{Integer constant, the neighborhood within which the vertices of
the lattice will be connected.}

\item{p}{Real constant between zero and one, the rewiring probability.}

\item{loops}{Logical scalar, whether loops edges are allowed in the
generated graph.}

\item{multiple}{Logical scalar, whether multiple edges are allowed int the
generated graph.}
}
\value{
A graph object.
}
\description{
This function generates networks with the small-world property
based on a variant of the Watts-Strogatz model. The network is obtained
by first creating a periodic undirected lattice, then rewiring both
endpoints of each edge with probability \code{p}, while avoiding the
creation of multi-edges.
}
\details{
Note that this function might create graphs with loops and/or multiple
edges. You can use \code{\link[=simplify]{simplify()}} to get rid of these.

This process differs from the original model of Watts and Strogatz
(see reference) in that it rewires \strong{both} endpoints of edges. Thus in
the limit of \code{p=1}, we obtain a G(n,m) random graph with the
same number of vertices and edges as the original lattice. In comparison,
the original Watts-Strogatz model only rewires a single endpoint of each edge,
thus the network does not become fully random even for \code{p=1}.
For appropriate choices of \code{p}, both models exhibit the property of
simultaneously having short path lengths and high clustering.
}
\section{Related documentation in the C library}{
\href{https://igraph.org/c/html/0.10.17/igraph-Generators.html#igraph_watts_strogatz_game}{\code{watts_strogatz_game()}}
}

\examples{

g <- sample_smallworld(1, 100, 5, 0.05)
mean_distance(g)
transitivity(g, type = "average")

}
\references{
Duncan J Watts and Steven H Strogatz: Collective dynamics of
\sQuote{small world} networks, Nature 393, 440-442, 1998.
}
\seealso{
\code{\link[=make_lattice]{make_lattice()}}, \code{\link[=rewire]{rewire()}}

Random graph models (games)
\code{\link{bipartite_gnm}()},
\code{\link{erdos.renyi.game}()},
\code{\link{sample_}()},
\code{\link{sample_bipartite}()},
\code{\link{sample_chung_lu}()},
\code{\link{sample_correlated_gnp}()},
\code{\link{sample_correlated_gnp_pair}()},
\code{\link{sample_degseq}()},
\code{\link{sample_dot_product}()},
\code{\link{sample_fitness}()},
\code{\link{sample_fitness_pl}()},
\code{\link{sample_forestfire}()},
\code{\link{sample_gnm}()},
\code{\link{sample_gnp}()},
\code{\link{sample_grg}()},
\code{\link{sample_growing}()},
\code{\link{sample_hierarchical_sbm}()},
\code{\link{sample_islands}()},
\code{\link{sample_k_regular}()},
\code{\link{sample_last_cit}()},
\code{\link{sample_pa}()},
\code{\link{sample_pa_age}()},
\code{\link{sample_pref}()},
\code{\link{sample_sbm}()},
\code{\link{sample_traits_callaway}()},
\code{\link{sample_tree}()}
}
\author{
Gabor Csardi \email{csardi.gabor@gmail.com}
}
\concept{games}
\keyword{graphs}
