| randomprobs {aylmer} | R Documentation |
Probabilities of a random Markov chain of boards, chosen by the Metropolis-Hastings algorithm
randomprobs(x, B=2000, n=100, burnin = 0, use.brob=FALSE, func=NULL) candidate(x, n = 100, give = FALSE)
x |
Matrix, coerced to class board: the start point |
B |
Number of samples to take |
burnin |
Number of samples to discard at the beginning |
use.brob |
Boolean, with default FALSE meaning to use IEEE
arithmetic and TRUE meaning to use Brobdingnagian arithmetic |
n |
The number of times to try to find a candidate board with no non-negative entries; special value 0 means to search until one is found |
func |
In function randomprobs(), the statistic to
return; default of NULL interpreted as prob() |
give |
In function candidate(), Boolean with default
FALSE meaning to return a permissible board, and TRUE
meaning to return instead the number of attempts made to find a
permissible board (zero meaning no board was found). See details
section below |
Returns a vector of length B with entries corresponding to the
probabilities of the boards encountered
Argument n of function candidate() specifies how many
times to search for a board with no non-negative entries. The special
value n=0 means to search until one is found.
Boards with a large number of zeros may require more than the default
100 attempts to find a permissible board. Set the give flag to
see how many candidates are generated before a permissible one is found.
Warning: a board with at most one entry greater than zero is
the unique permissible board and the algorithm will not terminate if
n=0
A board that requires more than 100 attempts is probably well-suited
to the exact test as permissible boards will likely be enumerable
using allboards().
To find the permissible board that maximizes some objective function,
use best(), which applies the bespoke optimization routines of
optim()
Robin K. S. Hankin (R); Luke J. West (C++)
data(chess) aylmer.test(chess) a <- matrix(1,9,9) # See Sloane's A110058 plot(randomprobs(a,1000),type="b",main="Importance of burn-in") set.seed(0) b <- diag(rep(6,6)) plot(randomprobs(b,B=1000,n=1000), type="b",main="Importance of burn-in, part II")