randomprobs
Probabilities of random boards
Probabilities of a random Markov chain of boards, chosen by the Metropolis-Hastings algorithm
- Keywords
- array
Usage
randomprobs(x, B=2000, n=100, burnin = 0, use.brob=FALSE, func=NULL)
randomboards(x, B=2000, n=100, burnin=0)
candidate(x, n = 100, give = FALSE)
Arguments
- 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 andTRUE
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 ofNULL
interpreted asprob()
- give
- In function
candidate()
, Boolean with defaultFALSE
meaning to return a permissible board, andTRUE
meaning to return instead the number of attempts made to find a permissible board (zero meaning no board
Value
- Function
randomprobs()
returns a vector of lengthB
with entries corresponding to the probabilities of the boards encountered.Function
randomboards()
returns an array with slices being successive boards
Note
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()
References
- N. A. Metropolis and others 1953.Equation of State Calculations by Fast Computing Machines. Journal of Chemical Physics, 21:1087--1092
See Also
Examples
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")
data(purum)
randomboards(purum,10)