### Abstract

This work defines and proves the correctness of the Fisher–Yates algorithm for shuffling – i.e. producing a random permutation – of a list. The algorithm proceeds by traversing the list and in each step swapping the current element with a random element from the remaining list.

### License

BSD License

### Topics

- Computer science/Algorithms/Randomized

### Session Fisher_Yates

- Fisher_Yates

## Cite

×

Fisher_Yates-AFP

    @article{Fisher_Yates-AFP,
      author  = {Manuel Eberl},
      title   = {Fisher–Yates shuffle},
      journal = {Archive of Formal Proofs},
      month   = {September},
      year    = {2016},
      note    = {\url{https://isa-afp.org/entries/Fisher_Yates.html},
                 Formal proof development},
      ISSN    = {2150-914x},
    }

Download

## Download

× Download latest

Older releases:

- Sep 13, 2023 : Isabelle2023
- Oct 27, 2022 : Isabelle2022
- Dec 14, 2021 : Isabelle2021-1
- Feb 23, 2021 : Isabelle2021
- Apr 18, 2020 : Isabelle2020
- Jun 11, 2019 : Isabelle2019
- Aug 16, 2018 : Isabelle2018
- Oct 10, 2017 : Isabelle2017
- Dec 17, 2016 : Isabelle2016-1