A: A useful concept to understand is that of Derangement. A derangement is the number of ways a set can be permuted such that none of the elements are in their respective positions. For example if \(\{a,b,c\}\) is a set, then the derangements of the set are

\(\{b,c,a\}\)

\(\{c,a,b\}\)

The above two are the only derangements of the set. The number of possible derangements of a set is usually specified as \(!n\) (note, the exclamation is before the \(n\)). There exists an expansion of \(!n\) which is
$$
!n = n! \sum_{k=0}^{n} \frac{(-1)^k}{k!}
$$
Coming back to the probability question at hand, the number of ways by which all guests land up in different rooms from the ones they have booked is simply the number of derangements for the group. The overall number of permutations possible is \(n!\). So the sought probability is
$$
P(\text{at least one guest in own room}) = 1 - P(\text{no guest in own room})
$$
which simplifies to
$$
P(\text{at least one guest in own room}) =1 - \frac{!n}{n!}
$$
There is an interesting observation to be made here. For large \(n\), the ratio of \(\frac{!n}{n!}\) converges to \(\frac{1}{e}\). i.e.
$$
\lim_{n \rightarrow \infty} \frac{!n}{n!} = \frac{1}{e}
$$
So for a large number of guests the sought probability is
$$
P(\text{at least one guest in own room}) = 1 - \frac{1}{e}
$$
If you are looking to buy some books in probability here are some of the best books to learn the art of Probability

Discovering Statistics Using R
This is a good book if you are new to statistics & probability while simultaneously getting started with a programming language. The book supports R and is written in a casual humorous way making it an easy read. Great for beginners. Some of the data on the companion website could be missing.

A Course in Probability Theory, Third Edition
Covered in this book are the central limit theorem and other graduate topics in probability. You will need to brush up on some mathematics before you dive in but most of that can be done online

Discovering Statistics Using R
This is a good book if you are new to statistics & probability while simultaneously getting started with a programming language. The book supports R and is written in a casual humorous way making it an easy read. Great for beginners. Some of the data on the companion website could be missing.

Linear Algebra (Dover Books on Mathematics)
An excellent book to own if you are looking to get into, or want to understand linear algebra. Please keep in mind that you need to have some basic mathematical background before you can use this book.

Linear Algebra Done Right (Undergraduate Texts in Mathematics)
A great book that exposes the method of proof as it used in Linear Algebra. This book is not for the beginner though. You do need some prior knowledge of the basics at least. It would be a good add-on to an existing course you are doing in Linear Algebra.

Follow @ProbabilityPuzIf you are looking to learn time series analysis, the following are some of the best books in time series analysis.

Introductory Time Series with R (Use R!)
This is good book to get one started on time series. A nice aspect of this book is that it has examples in R and some of the data is part of standard R packages which makes good introductory material for learning the R language too. That said this is not exactly a graduate level book, and some of the data links in the book may not be valid.

Econometrics
A great book if you are in an economics stream or want to get into it. The nice thing in the book is it tries to bring out a oneness in all the methods used. Econ majors need to be up-to speed on the grounding mathematics for time series analysis to use this book. Outside of those prerequisites, this is one of the best books on econometrics and time series analysis.