A Shuffling Puzzle

Q: You have an array of items that you want to shuffle. You pick an element and then pick a random number uniformly between $$[1,n]$$ and swap it with the element following which you move on to the next element and repeat. Would this result in a fair shuffle?

Fifty Challenging Problems in Probability with Solutions (Dover Books on Mathematics) A: Some people shuffle a deck of playing cards in the above manner. They tend to pick a small (random sized) slab of cards from under the deck, place it on top and do so several times over.

The above shuffle would not result in a fair shuffle. Here is why. Assume you have $$n$$ items in the list. When you pick an element and swap it out with another element there are $$n$$ positions you could swap it with, including itself in which case there is no swap. This implies that the first swap would result in $$n$$ arrangements. The second swap follows the same algorithm and would result in the same number of arrangements, that is $$n$$. This leads to a total of $$n^{n}$$ possible arrangements. However in a fair shuffle, the first element would be chosen from $$[1,n]$$, the second from $$[1,n-1]$$ and so on, leading to $$n!$$ arrangements in total. Clearly, any strategy that gives a fair shuffle has to yield a number of arrangements $$N$$ such that
$$N \pmod{n!} = 0$$
However
$$n^{n}\pmod{n!} \ne 0$$
As $$n^{n}$$ does not divide $$n!$$ it implies that the algorithm would end up favouring some combinations over the other resulting in a biased shuffle.

If you looking to learn probability & algorithms here are some good books.

Introduction to Algorithms This is a book on algorithms, some of them are probabilistic. But the book is a must have for students, job candidates even full time engineers & data scientists

Data Mining: Practical Machine Learning Tools and Techniques, Third Edition (The Morgan Kaufmann Series in Data Management Systems) This one is a must have if you want to learn machine learning. The book is beautifully written and ideal for the engineer/student who doesn't want to get too much into the details of a machine learned approach but wants a working knowledge of it. There are some great examples and test data in the text book too. Introduction to Probability Theory An Introduction to Probability Theory and Its Applications, Vol. 1, 3rd Edition The Probability Tutoring Book: An Intuitive Course for Engineers and Scientists (and Everyone Else!) Introduction to Probability, 2nd Edition The Mathematics of Poker
Good read. Overall Poker/Blackjack type card games are a good way to get introduced to probability theory

Quantum Poker Well written and easy to read mathematics. For the Poker beginner.

Bundle of Algorithms in Java, Third Edition, Parts 1-5: Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms (3rd Edition) (Pts. 1-5) An excellent resource (students/engineers/entrepreneurs) if you are looking for some code that you can take and implement directly on the job.

Understanding Probability: Chance Rules in Everyday Life A bit pricy when compared to the first one, but I like the look and feel of the text used. It is simple to read and understand which is vital especially if you are trying to get into the subject The Best Books to Learn Probability

If you are looking to buy some books in probability here are some of the best books to learn the art of Probability

The Probability Tutoring Book: An Intuitive Course for Engineers and Scientists (and Everyone Else!)
A good book for graduate level classes: has some practice problems in them which is a good thing. But that doesn't make this book any less of buy for the beginner.

An Introduction to Probability Theory and Its Applications, Vol. 1, 3rd Edition
This is a two volume book and the first volume is what will likely interest a beginner because it covers discrete probability. The book tends to treat probability as a theory on its own

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.

Fifty Challenging Probl…

The Best Books for Time Series Analysis

If 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.

Pattern Recognition and Machine Learning (Information Science and Statistics)
This is excelle…

The Best Books for Linear Algebra

The following are some good books to own in the area of Linear Algebra.

Linear Algebra (2nd Edition)
This is the gold standard for linear algebra at an undergraduate level. This book has been around for quite sometime a great book to own.

Linear Algebra: A Modern Introduction
Good book if you want to learn more on the subject of linear algebra however typos in the text could be a problem.

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.

Linear Algebra, 4th Edition
This is good book …