**A** Le Monde mathematical puzzle once again in a Sudoku mode:

*In an *nxn* table, all integers between 1 and n appear n times. If *max* denotes the maximum over the numbers of different integers on all rows and columns, what is the minimum value of max when *n=7*? when *n=11*?*

**I** tried to solve it by the following R code (in a pre-breakfast mode in my Reykjavik Airbnb flat!):

#pseudoku
n=7
T=10^4
vals=rep(1:n,n)
minmax=n
for (t in 1:T){
psudo=matrix(sample(vals),ncol=n)
maxc=maxr=max(sapply(apply(psudo,1,unique),length))
if (maxc<minmax)
maxr=max(sapply(apply(psudo,2,unique),length))
minmax=min(minmax,max(maxc,maxr))
}

but later realised that (a) the

sapply(apply(psudo,1,unique),length)

failed when all rows or all columns had the same number of unique terms and (b) I did not have to run the whole matrix:

vals=rep(1:n,n)
minmax=n
for (t in 1:T){
psudo=matrix(sample(vals),ncol=n)
maxc=max(length(unique(psudo[1,])),length(unique(psudo[,1])))
i=1
while((i<n)&(maxc<minmax)){
i=i+1
maxc=max(maxc,
length(unique(psudo[i,])),
length(unique(psudo[,i])))}
minmax=min(minmax,maxc)
}

gaining a factor of 3 in the R execution. With this random exploration, the minimum value returned was 2,2,2,3,4,5,5,6,7,8 for n=2,3,4,5,6,7,8,9,10,11. Half-hearted simulating annealing during one of the sessions of AISTATS 2014 did not show any difference…

Filed under: Books, Kids, R, Statistics, University life Tagged: AISTATS 2014, Le Monde, mathematical puzzle, R, Reykjavik, sapply(), sudoku, unique()

*Related*

To

**leave a comment** for the author, please follow the link and comment on his blog:

** Xi'an's Og » R**.

R-bloggers.com offers

**daily e-mail updates** about

R news and

tutorials on topics such as: visualization (

ggplot2,

Boxplots,

maps,

animation), programming (

RStudio,

Sweave,

LaTeX,

SQL,

Eclipse,

git,

hadoop,

Web Scraping) statistics (

regression,

PCA,

time series,

trading) and more...

If you got this far, why not

__subscribe for updates__ from the site? Choose your flavor:

e-mail,

twitter,

RSS, or

facebook...