Чтобы решить вопрос ниже относительно суммы карт в колоде, я хочу запустить MonteCarlo Simulations, но получаю сообщение об ошибке **.
Вопрос: ** Определите, происходит ли сигнал «преимущества»если совокупное количество карт в колоде возрастает строго выше 5. Используйте симуляцию Монте-Карло с размером репликации 1 000 000, чтобы оценить вероятность того, что случайно перемешанная колода карт создаст сигнал «преимущества» в первых 30 сыгранных картах.Сигнал генерируется, если в любой точке в пределах первых 30 карт совокупное количество карт превышает 5. Между каждой итерацией убедитесь, что вы перетасовываете колоду. Команда «cumsum» окажется очень полезной вэта задача."cumsum" вычисляет совокупную сумму вектора, которая в точности соответствует количеству накопленных карт.Вырежьте и вставьте код, который выполняет Монте-Карло, вместе с окончательной оценочной вероятностью.
CARDS <- paste(
rep(c("ACE","2","3","4","5","6","7","8","9","10","J","Q","K"),rep(4,13)),
rep(c("H","C","D","S"),13),sep="_")
set.seed(19900209)
my.deck <- sample(CARDS)
cardvalues <- c("ACE","2","3","4","5","6","7","8","9","10","J","Q","K")
cardcounts <- c(-1,0.5,1,1,1.5,1,0.5,0,-0.5,-1,-1,-1,-1)
new.my.deck<-gsub("_.*","",my.deck)
table.new <- cbind(cardvalues,cardcounts)
match(new.my.deck,cbind(cardvalues,cardcounts),nomatch=NA_integer_)
library(MonteCarlo)
card.test<-function(CARDS,cardvalues,cardcounts){
# generate sample:
set.seed(19900209)
my.deck <- sample(CARDS)
new.my.deck<-gsub("_.*","",my.deck)
card.count <- match(new.my.deck,cbind(cardvalues,cardcounts),nomatch=NA_integer_)
card.sum <-cumsum(card.count)
# get test decision:
descision <- as.numeric(card.sum)>5
# return result:
return(list("advantage attained"=descision))
}
Ошибка - Размер сетки очень большой.Если вы все еще хотите запустить симуляцию, измените max_grid.>