Lichess 2013-2015
I gathered move frequency data from about 50 million lichess games.
Moves are ordered from the most to the least frequent. Moves are considered equal if the from square and the to square are equal. Promotion is assumed to always be to queen.
I've chosen lichess because I have a lot of them sitting on my hard drive.
I don't expect it to do well, it has nothing that is particularily tuned towards this challenge, but I'm curious how it will do.
all_moves = ['g1 f3 q', 'e2 e4 q', 'g8 f6 q', 'd2 d4 q', 'b1 c3 q', 'e1 h1 q', 'b8 c6 q', 'e8 h8 q', 'e7 e6 q', 'd7 d5 q', 'd7 d6 q', 'e7 e5 q', 'g7 g6 q', 'h2 h3 q', 'c7 c6 q', 'c2 c3 q', 'h7 h6 q', 'a7 a6 q', 'c7 c5 q', 'c2 c4 q', 'f8 e7 q', 'g2 g3 q', 'a2 a3 q', 'd2 d3 q', 'e2 e3 q', 'f2 f4 q', 'f7 f6 q', 'b7 b6 q', 'e4 e5 q','f2 f3 q', 'f3 e5 q', 'b2 b3 q', 'b8 d7 q', 'f1 e1 q', 'f1 c4 q', 'b7 b5 q', 'f1 e2 q', 'f8 g7 q', 'e4 d5 q', 'c1 e3 q', 'f6 e4 q', 'b1 d2 q', 'c8 b7 q', 'f8 e8 q', 'c5 d4 q', 'f1 d3 q', 'c1 g5 q', 'f7 f5 q', 'b2 b4 q', 'c8 d7 q', 'd4 d5 q', 'c8 g4 q', 'f3 d4 q', 'd1 d2 q', 'c4 d5 q', 'e6 e5 q', 'd4 e5 q', 'e6 d5 q', 'c3 d5 q', 'a2 a4 q', 'g2 g4 q', 'f6 d5 q', 'c6 d4 q', 'd6 e5 q', 'e5 d4 q', 'd8 d7 q', 'c1 d2 q', 'd8 e7 q', 'd1 e2 q', 'a7 a5 q', 'h2 h4 q', 'f1 g2 q', 'c8 e6 q', 'a1 d1 q', 'd5 e4 q', 'c6 c5 q', 'f8 d6 q', 'a8 c8 q', 'c1 b2 q', 'd6 d5 q', 'e7 f6 q', 'g8 e7 q', 'c1 f4 q', 'h7 h5 q', 'c3 e4 q', 'e5 e4 q', 'c6 e5 q', 'd8 c7 q', 'g7 g5 q', 'd5 d4 q', 'a8 d8 q', 'g1 h1 q', 'a1 c1 q', 'f8 c5 q', 'g7 f6 q', 'b7 c6 q', 'f4 e5 q', 'g8 g7 q', 'd1 f3 q', 'h4 h5 q', 'f3 g5 q', 'e3 e4 q', 'c3 c4 q', 'f4 f5 q', 'g5 f6 q', 'b2 c3 q', 'c6 d5 q', 'e1 a1 q', 'e3 d4 q','b5 b4 q', 'd3 e4 q', 'g8 h8 q', 'd3 d4 q', 'g6 g5 q', 'g4 g5 q', 'a8 b8 q', 'e2 f3 q', 'f3 f4 q', 'g4 f3 q', 'c8 f5 q', 'f8 b4 q', 'g2 f3 q', 'f1 b5 q', 'f6 f5 q', 'h3 h4 q', 'g1 g2 q', 'e8 a8 q', 'g3 g4 q', 'c3 d4 q', 'a1 b1 q', 'c5 c4 q', 'c4 c5 q', 'd1 c2 q', 'h5 h4 q', 'd5 c4 q', 'a5 a4 q', 'g5 g4 q', 'd8 f6 q', 'b4 b5 q', 'h6 h5 q', 'a6 a5 q', 'f5 f4 q', 'f6 e5 q', 'a4 a5 q', 'f7 e6 q', 'g1 e2 q', 'd7 c6 q', 'e7 d6 q', 'f6 g4 q', 'd4 c5 q', 'f1 d1 q', 'b4 c3 q', 'f5 e4 q', 'e8 e7 q', 'b5 c6 q', 'd8 d5 q', 'f8 d8 q', 'b6 b5 q', 'a1 e1 q', 'd1 d3 q', 'd7 e5 q', 'f2 e3 q', 'e2 d3 q', 'c4 b3 q', 'g1 f1 q', 'h8 g8 q', 'e5 f4 q', 'd1 d4 q', 'e1 e2 q', 'a3 a4 q', 'g1 h2 q', 'f3 e4 q', 'e8 d8 q', 'g8 f8 q', 'g1 f2 q', 'b3 b4 q', 'a8 e8 q', 'd1 e1 q', 'd7 f6 q', 'e5 f6 q', 'f6 d7 q', 'd8 e8 q', 'g8 h7 q', 'd8 b6 q', 'g8 f7 q', 'c3 e2 q', 'e6 f5 q', 'e1 d1 q', 'h6 g5 q','d2 c3 q', 'h1 g1 q', 'g5 h4 q', 'd3 c4 q', 'e4 f5 q', 'f8 f7 q', 'd2 f3 q', 'g4 h5 q', 'g7 h6 q', 'c3 b5 q', 'f1 f2 q', 'h5 g6 q', 'e3 f4 q', 'f6 h5 q', 'd8 d6 q', 'h3 g4 q', 'c4 b5 q', 'g5 f4 q', 'd6 c5 q', 'd2 e4 q', 'e5 e6 q', 'b5 c4 q', 'e8 f8 q', 'f7 g6 q', 'd5 d6 q', 'g4 f5 q', 'c1 b1 q', 'c6 e7 q', 'h4 g3 q', 'f3 h4 q', 'd4 d3 q', 'e5 d6 q', 'h7 g6 q', 'f3 d2 q', 'c4 d3 q', 'd8 c8 q', 'e1 f1 q', 'g6 f5 q', 'c8 b8 q', 'a6 b5 q', 'd2 e3 q', 'f6 g5 q', 'd7 c5 q', 'h5 h6 q', 'g2 h3 q', 'd7 e6 q', 'f2 g3 q', 'c6 b4 q', 'f4 g5 q', 'b4 c5 q', 'e7 f5 q', 'e4 e3 q', 'd5 c6 q', 'f4 g3 q', 'f5 g6 q', 'd1 b3 q', 'h4 g5 q', 'f3 g4 q', 'g3 f4 q', 'c7 d6 q', 'd1 c1 q', 'h5 g4 q', 'h2 g3 q', 'd5 e6 q', 'd4 c3 q', 'e4 f3 q', 'c6 a5 q', 'c5 b6 q', 'a3 b4 q', 'c2 d3 q', 'e4 f6 q', 'd1 d8 q', 'd3 e2 q', 'e8 d7 q', 'f3 g3 q', 'h4 h3 q', 'e7 g6 q', 'd7 b6 q', 'd1 h5 q', 'f5 f6 q','b6 c5 q', 'a4 a3 q', 'f4 f3 q', 'b3 c4 q', 'a5 a6 q', 'c5 b4 q', 'e5 f3 q', 'a4 b5 q', 'd8 d1 q', 'e2 g3 q', 'f5 g4 q', 'e7 d7 q', 'g5 g6 q', 'e8 f7 q', 'd2 c4 q', 'd4 c6 q', 'd6 e7 q', 'g4 g3 q', 'c4 c3 q', 'c5 c6 q', 'a5 b4 q', 'f4 e3 q', 'd3 d2 q', 'c8 c7 q', 'd8 a5 q', 'e7 g5 q', 'e2 d2 q', 'c6 b5 q', 'd6 d7 q', 'f6 g6 q', 'b5 a4 q', 'c7 b6 q', 'c3 a4 q', 'f5 e6 q', 'e2 f4 q', 'b4 b3 q', 'f8 g8 q', 'c5 d6 q', 'c1 c2 q', 'd3 c2 q', 'c2 b3 q', 'f8 c8 q', 'd4 e3 q', 'f6 e7 q', 'a1 f1 q', 'e3 d2 q', 'b5 b6 q', 'e4 d3 q', 'c3 b4 q', 'd4 f3 q', 'e6 e7 q', 'e3 e2 q', 'f3 e2 q', 'f1 g1 q', 'a8 f8 q', 'a4 b3 q', 'd7 e7 q', 'h1 h2 q', 'b7 a6 q', 'f7 e7 q', 'd2 e2 q', 'e7 c5 q', 'h6 g7 q', 'd7 c7 q', 'e5 c6 q', 'c8 d8 q', 'h8 h7 q', 'g6 h5 q', 'e1 d2 q', 'd5 f6 q', 'e7 f7 q', 'c8 a6 q', 'd2 b3 q', 'f1 c1 q', 'f2 e2 q', 'c6 c7 q', 'f3 e3 q', 'd1 d5 q', 'g3 h4 q', 'f6 f7 q','b8 a6 q', 'a5 b6 q', 'd8 d4 q', 'e7 d5 q', 'c1 d1 q', 'c3 c2 q', 'b4 a5 q', 'e6 d7 q', 'f3 f2 q', 'e2 f2 q', 'd2 c2 q', 'a6 a7 q', 'a3 a2 q', 'h8 f8 q', 'g8 h6 q', 'e7 d8 q', 'e5 c4 q', 'a2 b3 q', 'g7 f8 q', 'b3 c2 q', 'h6 h7 q', 'g5 e7 q', 'f1 f3 q', 'e4 d6 q', 'b2 a3 q', 'd8 h4 q', 'e2 d4 q', 'e4 c3 q', 'f6 g7 q', 'g5 h6 q', 'e1 e3 q', 'b1 a3 q', 'd6 c7 q', 'f6 e6 q', 'e1 f2 q', 'e3 f2 q', 'd5 c3 q', 'e7 f8 q', 'h7 h8 q', 'e2 c4 q', 'h1 e1 q', 'c7 d7 q', 'f7 g7 q', 'e2 g4 q', 'd1 g4 q', 'e5 d3 q', 'd1 a4 q', 'h8 e8 q', 'b6 b7 q', 'e5 d7 q', 'b6 c7 q', 'd8 g5 q', 'g7 g8 q', 'g6 g7 q', 'h3 h2 q', 'e4 c5 q', 'g5 e3 q', 'b3 b2 q', 'e3 f3 q', 'h2 h1 q', 'e3 d3 q', 'd4 f5 q', 'e6 f7 q', 'd3 e3 q', 'b7 d5 q', 'f8 f6 q', 'c7 b7 q', 'a7 b6 q', 'c2 d2 q', 'd5 f4 q', 'g3 f3 q', 'g7 e5 q', 'd1 d7 q', 'a8 a7 q', 'd8 f8 q', 'd3 f5 q', 'g7 f7 q', 'e7 e8 q', 'g3 g2 q', 'c4 e6 q','e3 g5 q', 'e7 c6 q', 'f7 f8 q', 'h1 f1 q', 'e3 c5 q', 'd7 d8 q', 'e5 g4 q', 'd3 c3 q', 'f2 g2 q', 'e4 g5 q', 'd7 e8 q', 'e1 e4 q', 'g5 e6 q', 'e6 d6 q', 'd6 c6 q', 'd1 f1 q', 'g4 h3 q', 'd1 d6 q', 'g2 f1 q', 'b3 a4 q', 'e5 g6 q', 'g5 f3 q', 'd8 d2 q', 'e2 d1 q', 'e1 e8 q', 'h3 g2 q', 'b8 c8 q', 'e1 e5 q', 'e6 f6 q', 'c2 b2 q', 'g2 f2 q', 'b6 a5 q', 'e8 e6 q', 'a2 a1 q', 'g6 f6 q', 'f3 g2 q', 'e7 h4 q', 'a7 a8 q', 'b8 b7 q', 'a1 a2 q', 'b5 d7 q', 'g2 g1 q', 'd6 e6 q', 'f2 f1 q', 'e8 e1 q', 'e2 e1 q', 'b1 c1 q', 'c7 c8 q', 'g3 f2 q', 'd2 d1 q', 'd7 b5 q', 'f3 h2 q', 'g6 f7 q', 'b7 e4 q', 'd2 f4 q', 'd5 e7 q', 'd3 b5 q', 'e4 g3 q', 'f4 d6 q', 'e2 f1 q', 'g4 e3 q', 'd5 e3 q', 'e1 e7 q', 'b1 b2 q', 'b7 c8 q', 'd6 f4 q', 'c1 a3 q', 'g4 e6 q', 'h8 d8 q', 'e8 e5 q', 'f5 d3 q', 'c2 c1 q', 'c6 d7 q', 'e4 d2 q', 'd4 e6 q', 'g4 f6 q', 'h8 g7 q', 'c5 e3 q', 'e7 b4 q', 'h5 f4 q','e2 c3 q', 'g4 e2 q', 'h1 d1 q', 'd7 f5 q', 'c4 f7 q', 'd7 c8 q', 'h7 g7 q', 'd8 d3 q', 'e2 h5 q', 'g1 h3 q', 'd5 e5 q', 'd4 e2 q', 'c1 h6 q', 'c5 e4 q', 'g7 h7 q', 'h1 g2 q', 'b7 b8 q', 'h7 g8 q', 'd2 e1 q', 'h2 g2 q', 'e6 c4 q', 'b5 d6 q', 'f6 e8 q', 'g3 h3 q', 'b8 a8 q', 'b2 b1 q', 'f7 e8 q', 'c3 d2 q', 'h2 g1 q', 'g4 e5 q', 'f4 g4 q', 'e5 d5 q', 'e4 f4 q', 'e4 d4 q', 'e8 e2 q', 'd2 g5 q', 'c4 e5 q', 'd4 e4 q', 'b4 d2 q', 'e2 b5 q', 'c4 e2 q', 'h5 f3 q', 'g5 e4 q', 'd4 c4 q', 'f4 e4 q', 'e1 e6 q', 'd2 b4 q', 'b2 d4 q', 'e5 f5 q', 'a5 c4 q', 'e8 e4 q', 'f6 h7 q', 'b1 a1 q', 'd3 g6 q', 'h4 f5 q', 'g2 h2 q', 'g6 h6 q', 'f5 e5 q', 'f5 g5 q', 'g4 f4 q', 'e3 h6 q', 'b6 c4 q', 'd5 c5 q', 'g6 f4 q', 'g5 f7 q', 'd2 c1 q', 'c6 b6 q', 'f6 d4 q', 'g4 h4 q', 'f7 g8 q', 'b2 a2 q', 'c8 c2 q', 'c5 d3 q', 'h3 g3 q', 'd4 b5 q', 'g3 f5 q', 'b6 d5 q', 'b7 f3 q', 'b7 a7 q', 'b5 d3 q','h5 g5 q', 'c3 d3 q', 'g2 e4 q', 'd7 g4 q', 'b6 c6 q', 'c2 e4 q', 'g5 f5 q', 'c7 d8 q', 'e6 g4 q', 'c6 d6 q', 'c7 e5 q', 'b7 c7 q', 'g7 d4 q', 'c4 d6 q', 'f8 b8 q', 'g5 h5 q', 'd5 b6 q', 'h4 g4 q', 'c6 b7 q', 'c1 c7 q', 'h6 g6 q', 'b3 d5 q', 'f1 f4 q', 'c3 b2 q', 'b4 d3 q', 'b2 c1 q', 'b2 c2 q', 'c3 b3 q', 'e5 f7 q', 'a6 b7 q', 'b5 c3 q', 'f8 f5 q', 'f1 b1 q', 'c4 e3 q', 'd7 f8 q', 'h5 f6 q', 'd6 b4 q', 'f2 e1 q', 'f5 d4 q', 'g7 h8 q', 'c5 e7 q', 'f3 d5 q', 'd4 b3 q', 'b2 e5 q', 'd5 b4 q', 'b3 c3 q', 'g6 e5 q', 'a4 c5 q', 'f3 e1 q', 'd8 b8 q', 'd5 c7 q', 'b5 a6 q', 'b4 d6 q', 'h4 f6 q', 'e1 c1 q', 'f5 e3 q', 'b6 d4 q', 'd5 d8 q', 'd2 f1 q', 'b4 a3 q', 'c8 c6 q', 'c5 e6 q', 'd4 c2 q', 'g3 e4 q', 'b4 c6 q', 'b3 c5 q', 'g6 h7 q', 'c8 h3 q', 'd1 b1 q', 'c2 d1 q', 'h6 f5 q', 'c7 e7 q', 'h4 f3 q', 'e8 e3 q', 'c1 c3 q', 'c4 d4 q', 'g3 e5 q', 'd8 a8 q', 'f4 d5 q', 'b8 d8 q','c1 e1 q', 'c8 e8 q', 'c8 c1 q', 'c5 d5 q', 'e8 c8 q', 'b5 c7 q', 'f2 g1 q', 'g3 h2 q', 'a3 b2 q', 'c2 e2 q', 'c5 f2 q', 'b6 a6 q', 'b1 d1 q', 'b8 b2 q', 'c4 a2 q', 'c1 c8 q', 'c4 b4 q', 'f4 d3 q', 'd2 h6 q', 'd1 a1 q', 'c8 c3 q', 'f8 h6 q', 'a7 b7 q', 'c8 c4 q', 'f5 e7 q', 'f3 h5 q', 'c5 b5 q', 'd6 g3 q', 'f5 d6 q', 'c3 d1 q', 'd1 g1 q', 'b7 a8 q', 'f4 e6 q', 'c7 b8 q', 'a5 c7 q', 'd8 g8 q', 'b2 f6 q', 'f1 f7 q', 'd4 d1 q', 'g5 d2 q', 'b4 e7 q', 'a2 b2 q', 'e4 f2 q', 'g4 d7 q', 'd4 f6 q', 'b1 b7 q', 'b3 a3 q', 'b3 d4 q', 'c6 d8 q', 'a6 c5 q', 'f3 h3 q', 'a5 c6 q', 'd2 f2 q', 'f1 f8 q', 'g6 e4 q', 'f8 a8 q', 'h4 e7 q', 'f1 f5 q', 'f6 h4 q', 'c6 e4 q', 'g2 d5 q', 'g4 f2 q', 'e7 c7 q', 'c2 b1 q', 'a3 c4 q', 'f1 f6 q', 'h4 g6 q', 'f8 f4 q', 'e2 c2 q', 'g2 h1 q', 'f1 a1 q', 'd5 f3 q', 'b4 c2 q', 'f4 d2 q', 'f4 e2 q', 'e3 b6 q', 'c5 d7 q', 'f8 f1 q', 'd3 h7 q', 'd7 f7 q','a8 a6 q', 'd3 f3 q', 'h2 g4 q', 'b6 b2 q', 'd7 b7 q', 'b4 c4 q', 'b5 d4 q', 'h5 g3 q', 'c8 c5 q', 'c1 c6 q', 'a5 b5 q', 'e3 g3 q', 'f8 h8 q', 'b2 a1 q', 'b6 d7 q', 'b4 d5 q', 'a4 b4 q', 'b1 a2 q', 'f3 f6 q', 'b1 c2 q', 'b8 a7 q', 'b5 c5 q', 'd2 b2 q', 'b5 e2 q', 'f8 f2 q', 'a4 c2 q', 'f8 f3 q', 'a8 g8 q', 'a4 c3 q', 'd4 d2 q', 'a6 b6 q', 'e4 e2 q', 'b3 a2 q', 'e5 g3 q', 'e4 c6 q', 'b4 a4 q', 'e2 e5 q', 'b8 c7 q', 'b5 a5 q', 'g7 c3 q', 'd6 e4 q', 'f3 d3 q', 'c4 d2 q', 'f3 d1 q', 'h3 f4 q', 'c1 c5 q', 'a1 a3 q', 'c3 e5 q', 'h6 g4 q', 'f4 h6 q', 'f5 h4 q', 'd6 f5 q', 'a6 c4 q', 'f3 c6 q', 'a3 b3 q', 'd7 h3 q', 'a1 g1 q', 'f6 c3 q', 'h5 e2 q', 'd7 a4 q', 'f4 c7 q', 'e5 g7 q', 'f5 d7 q', 'd5 d7 q', 'd5 a5 q', 'd3 e5 q', 'e5 c3 q', 'f6 d8 q', 'a6 c7 q', 'd3 f4 q', 'd5 b7 q', 'c1 c4 q', 'e3 f5 q', 'g6 e7 q', 'e4 g6 q', 'b1 e1 q', 'f6 f3 q', 'h3 g5 q', 'b8 b6 q', 'f6 b2 q','f4 h5 q', 'f3 b7 q', 'e6 g6 q', 'b3 b7 q', 'c8 a8 q', 'g4 h6 q', 'd5 b3 q', 'h5 f7 q', 'f1 h1 q', 'h6 f4 q', 'f5 c2 q', 'a6 b4 q', 'e7 g7 q', 'e7 e4 q', 'g3 h5 q', 'e3 d5 q', 'e6 h3 q', 'c7 a7 q', 'f1 h3 q', 'a1 a7 q', 'g3 e2 q', 'f6 f4 q', 'f3 f5 q', 'c8 f8 q', 'e5 e7 q', 'f5 h6 q', 'd2 a5 q', 'b3 e6 q', 'f3 f7 q', 'b1 b3 q', 'b8 e8 q', 'e4 c2 q', 'b6 a7 q', 'c6 b8 q', 'h7 g5 q', 'e6 f4 q', 'f6 h6 q', 'a5 b3 q', 'c7 d5 q', 'd4 b2 q', 'c2 a2 q', 'c2 f5 q', 'd1 h1 q', 'a8 a1 q', 'd6 f6 q', 'a4 c6 q', 'h8 c8 q', 'g5 h3 q', 'a8 a2 q', 'g5 d8 q', 'd6 c4 q', 'c1 f1 q', 'a3 c2 q', 'a5 c3 q', 'a2 b1 q', 'e5 c7 q', 'd8 h8 q', 'f4 h3 q', 'e6 d4 q', 'a1 a8 q', 'b3 d2 q', 'e6 b3 q', 'd4 b6 q', 'c4 b6 q', 'd3 c5 q', 'f4 g6 q', 'c6 f3 q', 'd5 f7 q', 'b6 d8 q', 'e4 g4 q', 'e5 g5 q', 'c1 a1 q', 'f5 g3 q', 'c7 a5 q', 'e2 g2 q', 'd3 a6 q', 'c7 f4 q', 'd4 f2 q', 'd6 d8 q', 'h6 e3 q','h8 h6 q', 'a6 d3 q', 'a3 b5 q', 'c5 b3 q', 'e3 g4 q', 'e4 b7 q', 'h4 f2 q', 'c2 e3 q', 'e1 g1 q', 'c2 f2 q', 'b7 g2 q', 'a8 a5 q', 'c7 f7 q', 'c2 a4 q', 'e1 b1 q', 'e4 g2 q', 'g8 g6 q', 'g6 h4 q', 'h6 f7 q', 'a1 a4 q', 'c7 e6 q', 'a5 c5 q', 'b6 e3 q', 'c2 d4 q', 'b2 g7 q', 'e3 a7 q', 'd3 b1 q', 'f6 d6 q', 'h5 e5 q', 'd4 g7 q', 'a4 b6 q', 'd3 b3 q', 'c7 a8 q', 'f6 g8 q', 'd3 d1 q', 'a3 c5 q', 'g7 b2 q', 'e7 b7 q', 'e5 b2 q', 'd6 h2 q', 'd3 g3 q', 'a4 c4 q', 'd4 f4 q', 'h1 h3 q', 'e2 e6 q', 'g4 d1 q', 'c6 a7 q', 'd6 b6 q', 'e8 g8 q', 'f4 h4 q', 'd2 d5 q', 'd3 f1 q', 'e2 b2 q', 'e3 c4 q', 'b5 b7 q', 'b6 b4 q', 'a7 b8 q', 'g2 c6 q', 'b4 b2 q', 'd3 d5 q', 'c3 f6 q', 'e6 g5 q', 'c5 a7 q', 'h2 f3 q', 'e8 b8 q', 'h3 f5 q', 'a7 c7 q', 'c3 b1 q', 'a8 h8 q', 'h1 c1 q', 'g1 g3 q', 'f5 h3 q', 'b3 d1 q', 'e5 e3 q', 'e6 c5 q', 'f2 d2 q', 'e3 e5 q', 'd5 f5 q', 'g3 d6 q', 'f7 d7 q','e2 e7 q', 'c5 c7 q', 'd6 f8 q', 'f5 h5 q', 'g6 d3 q', 'c7 c4 q', 'e5 c5 q', 'e7 c8 q', 'e5 e2 q', 'h4 f4 q', 'e3 c3 q', 'd5 d3 q', 'h5 f5 q', 'h3 e6 q', 'd6 d4 q', 'c3 a2 q', 'b6 d6 q', 'a1 a6 q', 'f4 f6 q', 'b8 b4 q', 'b7 d7 q', 'e2 a6 q', 'g3 e3 q', 'e7 a3 q', 'f4 h2 q', 'd7 d4 q', 'h8 h5 q', 'c2 g6 q', 'c3 e3 q', 'a1 h1 q', 'd6 b7 q', 'a2 c2 q', 'g5 g3 q', 'e4 e6 q', 'd7 a7 q', 'c4 c2 q', 'b8 b5 q', 'e3 c1 q', 'c4 a5 q', 'g5 e5 q', 'e6 c6 q', 'a8 b7 q', 'g4 g6 q', 'a8 a3 q', 'c6 a6 q', 'c2 a1 q', 'a8 a4 q', 'g4 e4 q', 'e8 f6 q', 'e4 c4 q', 'd4 d6 q', 'f5 f3 q', 'e6 e8 q', 'a1 a5 q', 'f4 f2 q', 'c3 a3 q', 'c5 a4 q', 'd6 f7 q', 'h7 f6 q', 'b1 f1 q', 'f5 f7 q', 'b8 f8 q', 'e1 g3 q', 'f7 e5 q', 'b3 d3 q', 'f1 g3 q', 'f2 d4 q', 'h6 f8 q', 'c6 e6 q', 'e7 e2 q', 'c4 b2 q', 'a3 d6 q', 'b3 b5 q', 'h5 h7 q', 'f6 f2 q', 'c5 b7 q', 'e3 e1 q', 'h4 e4 q', 'b2 d2 q', 'e6 a2 q','g2 b7 q', 'd2 a2 q', 'f8 g6 q', 'c4 a6 q', 'b1 b4 q', 'd5 g2 q', 'e6 f8 q', 'd4 b4 q', 'g6 e6 q', 'g3 g5 q', 'e8 g6 q', 'h3 f2 q', 'd5 b5 q', 'g5 h7 q', 'e4 h4 q', 'h8 h4 q', 'e5 h5 q', 'c6 a4 q', 'd2 g2 q', 'e4 e1 q', 'e6 e4 q', 'e2 c1 q', 'h3 f3 q', 'd2 d6 q', 'h5 h3 q', 'b8 b3 q', 'c7 c3 q', 'c7 b5 q', 'f7 d5 q', 'f7 h7 q', 'c5 a6 q', 'a1 b2 q', 'd5 d2 q', 'f4 d4 q', 'd3 b2 q', 'c4 e4 q', 'a5 d8 q', 'c5 e5 q', 'b1 b5 q', 'c4 a4 q', 'c7 c2 q', 'a6 e2 q', 'h1 h4 q', 'd7 g7 q', 'b1 b8 q', 'c3 a5 q', 'h4 h6 q', 'f3 c3 q', 'd4 a4 q', 'b8 b1 q', 'h1 h5 q', 'e6 c7 q', 'd5 d1 q', 'e7 e3 q', 'd4 d8 q', 'e3 f1 q', 'b4 a6 q', 'a6 c6 q', 'c5 a5 q', 'e5 e1 q', 'f7 d6 q', 'b1 b6 q', 'd4 d7 q', 'e6 c8 q', 'd2 d8 q', 'd6 b5 q', 'e4 e7 q', 'f5 g7 q', 'c6 c4 q', 'c4 c6 q', 'd3 f2 q', 'a4 d7 q', 'f3 g1 q', 'c7 g3 q', 'g8 g2 q', 'c4 a3 q', 'd7 b8 q', 'g8 e8 q', 'a3 c3 q', 'b5 a3 q','b5 a7 q', 'a5 d2 q', 'f2 h4 q', 'f1 e3 q', 'g8 g5 q', 'c2 c5 q', 'a2 d5 q', 'd6 a3 q', 'd3 b4 q', 'h5 g7 q', 'g1 e1 q', 'c5 c3 q', 'g6 g4 q', 'b3 f7 q', 'f2 e4 q', 'c4 c7 q', 'e5 e8 q', 'g6 f8 q', 'h1 h7 q', 'g4 g7 q', 'a5 a2 q', 'f7 h8 q', 'f2 h2 q', 'd7 d1 q', 'f5 d5 q', 'd6 g6 q', 'c6 a8 q', 'g1 g7 q', 'e3 c2 q', 'c2 c7 q', 'd2 d7 q', 'e8 d6 q', 'b7 e7 q', 'f7 g5 q', 'g5 g2 q', 'c6 c8 q', 'f2 c2 q', 'h6 f6 q', 'f8 e6 q', 'b7 c5 q', 'c3 c5 q', 'g5 c1 q', 'd6 b8 q', 'e1 f3 q', 'a7 d7 q', 'f7 c7 q', 'h8 a8 q', 'c2 b4 q', 'g1 g4 q', 'd1 e3 q', 'h4 h2 q', 'c3 c1 q', 'a5 a3 q', 'c6 e8 q', 'b6 a4 q', 'b4 d4 q', 'h8 h3 q', 'a4 a2 q', 'a5 a7 q', 'c5 f8 q', 'c4 f1 q', 'f4 g2 q', 'f5 h7 q', 'f4 f7 q', 'd4 g4 q', 'b2 c4 q', 'c2 c6 q', 'f1 a6 q', 'b6 f2 q', 'a2 c4 q', 'e7 e1 q', 'd3 d6 q', 'a6 c8 q', 'a3 e7 q', 'c6 g2 q', 'g5 g7 q', 'd7 d2 q', 'g3 f1 q', 'b2 e2 q', 'a6 a8 q','c5 c2 q', 'g3 g6 q', 'h8 h2 q', 'g4 h2 q', 'e2 e8 q', 'h8 b8 q', 'd7 d3 q', 'c3 g7 q', 'e1 d3 q', 'h1 h6 q', 'f3 f1 q', 'f8 a3 q', 'f2 d3 q', 'f7 h5 q', 'c5 a3 q', 'd3 d7 q', 'e6 g7 q', 'f6 f8 q', 'b3 a5 q', 'f6 c6 q', 'e3 h3 q', 'e6 e2 q', 'b6 b3 q', 'g4 g2 q', 'a4 a7 q', 'a4 a6 q', 'g8 g4 q', 'f4 c1 q', 'b4 a2 q', 'e3 e6 q', 'c3 a1 q', 'b4 b6 q', 'd5 a2 q', 'c3 e1 q', 'c3 c7 q', 'b5 d5 q', 'd3 d8 q', 'a5 b7 q', 'd6 d2 q', 'a7 b5 q', 'd6 c8 q', 'g7 f5 q', 'h1 a1 q', 'h6 d2 q', 'a2 d2 q', 'e7 a7 q', 'a3 a1 q', 'd6 d1 q', 'e4 e8 q', 'f3 b3 q', 'g8 d8 q', 'b3 b6 q', 'd5 h5 q', 'f7 f4 q', 'c3 f3 q', 'f2 g4 q', 'e3 e7 q', 'd6 d3 q', 'd8 e6 q', 'b5 b3 q', 'c6 c3 q', 'h7 f7 q', 'h3 f1 q', 'c3 c6 q', 'g3 g7 q', 'g1 d1 q', 'e2 a2 q', 'a4 d1 q', 'a8 c6 q', 'h3 h5 q', 'c6 c2 q', 'd4 h4 q', 'd4 a7 q', 'g1 g5 q', 'g6 g3 q', 'd6 a6 q', 'f5 f2 q', 'h1 h8 q', 'a5 d5 q', 'd5 g5 q','b7 d6 q', 'e4 h7 q', 'b7 f7 q', 'd2 b1 q', 'c2 g2 q', 'h6 h4 q', 'b2 f2 q', 'e8 c6 q', 'c7 g7 q', 'a7 d4 q', 'e5 h2 q', 'd3 a3 q', 'h1 b1 q', 'a6 f1 q', 'g4 c8 q', 'b6 b8 q', 'e6 e3 q', 'f2 f5 q', 'd5 a8 q', 'a7 e7 q', 'e8 c7 q', 'f5 c8 q', 'a3 c1 q', 'h4 g2 q', 'b3 e3 q', 'b4 b7 q', 'a7 c5 q', 'h8 h1 q', 'b2 d3 q', 'e3 g2 q', 'b6 e6 q', 'e1 h4 q', 'g3 c7 q', 'g8 g3 q', 'b6 c8 q', 'a2 b4 q', 'f2 b2 q', 'f3 a8 q', 'e7 h7 q', 'b5 b2 q', 'a4 b2 q', 'e8 h5 q', 'g6 c2 q', 'd3 c1 q', 'a4 d4 q', 'b3 b1 q', 'e6 d8 q', 'h4 d8 q', 'f2 c5 q', 'a5 e5 q', 'g1 g6 q', 'h3 d7 q', 'a7 c6 q', 'a1 c3 q', 'g7 e7 q', 'f7 b7 q', 'a2 e2 q', 'e6 e1 q', 'g3 d3 q', 'b1 d3 q', 'd8 c6 q', 'h2 f2 q', 'g2 f4 q', 'e1 c3 q', 'h3 h6 q', 'e3 d1 q', 'b1 e4 q', 'g6 g2 q', 'h5 d1 q', 'd3 h3 q', 'e7 g8 q', 'c6 f6 q', 'f7 f3 q', 'e6 h6 q', 'a2 e6 q', 'a7 f7 q', 'f2 f7 q', 'c8 g8 q', 'h8 f6 q', 'd4 a1 q','g3 e1 q', 'd6 e8 q', 'e3 b3 q', 'a2 f2 q', 'b5 f1 q', 'f2 f6 q', 'f4 b8 q', 'd1 c3 q', 'f8 d7 q', 'g6 e8 q', 'b7 b4 q', 'h2 e5 q', 'e3 e8 q', 'e2 h2 q', 'f5 b1 q', 'a3 a5 q', 'h6 h8 q', 'h7 e4 q', 'f6 h8 q', 'f7 d8 q', 'a6 d6 q', 'h5 h8 q', 'h2 f4 q', 'a7 e3 q', 'c1 g1 q', 'f7 f2 q', 'e6 b6 q', 'a6 a4 q', 'g2 e2 q', 'g4 d4 q', 'f4 f1 q', 'a8 d5 q', 'c5 c8 q', 'd3 e1 q', 'e5 h8 q', 'f6 a1 q', 'c4 c1 q', 'h3 e3 q', 'a2 c3 q', 'h4 h7 q', 'b7 b3 q', 'h6 h3 q', 'c7 c1 q', 'f7 h6 q', 'b2 b6 q', 'b5 e8 q', 'a7 a4 q', 'f5 f8 q', 'c2 c8 q', 'f7 c4 q', 'a2 a5 q', 'c8 d6 q', 'b2 b5 q', 'b4 f8 q', 'c4 f4 q', 'b4 e1 q', 'a3 d3 q', 'h7 f5 q', 'e2 g1 q', 'a1 d4 q', 'h4 d4 q', 'c7 e8 q', 'c8 h8 q', 'c7 a6 q', 'b3 c1 q', 'h3 h1 q', 'b7 b2 q', 'a3 f8 q', 'b3 f3 q', 'a5 a8 q', 'c1 d3 q', 'a4 a1 q', 'g7 e6 q', 'a8 e4 q', 'g5 d5 q', 'b8 d6 q', 'a4 e4 q', 'b8 e5 q', 'h5 d5 q', 'g6 d6 q','h7 d3 q', 'd2 h2 q', 'b4 e4 q', 'e4 b4 q', 'f4 c4 q', 'h6 e6 q', 'e5 b5 q', 'e4 b1 q', 'b2 b7 q', 'c3 g3 q', 'e1 c2 q', 'h4 e1 q', 'e5 a5 q', 'f6 b6 q', 'd7 h7 q', 'g6 h8 q', 'e4 a8 q', 'f1 d2 q', 'c1 h1 q', 'h4 h1 q', 'c5 f5 q', 'h5 e8 q', 'c4 c8 q', 'g7 g4 q', 'f2 h3 q', 'f2 h1 q', 'a1 e5 q', 'h5 h2 q', 'f3 h1 q', 'f3 f8 q', 'b5 e5 q', 'c8 e7 q', 'h7 e7 q', 'g8 c8 q', 'e5 b8 q', 'd1 f2 q', 'b6 f6 q', 'g7 a1 q', 'g2 g5 q', 'b8 g8 q', 'g2 e3 q', 'f5 c5 q', 'b2 g2 q', 'h3 h7 q', 'f2 d1 q', 'e5 a1 q', 'b5 b8 q', 'd8 f7 q', 'e4 a4 q', 'f6 f1 q', 'b1 g1 q', 'h1 f3 q', 'd6 h6 q', 'c5 c1 q', 'g6 g8 q', 'c2 e1 q', 'c3 c8 q', 'a2 g2 q', 'f2 a2 q', 'a8 c7 q', 'b7 g7 q', 'e8 g7 q', 'h7 h4 q', 'c2 a3 q', 'a6 a3 q', 'e4 h1 q', 'c8 b6 q', 'f7 a7 q', 'a7 g7 q', 'a3 a6 q', 'g1 c1 q', 'f4 f8 q', 'b4 b1 q', 'g1 g8 q', 'f5 f1 q', 'g7 d7 q', 'a6 e6 q', 'b8 h8 q', 'h6 c1 q', 'c4 g4 q','a3 e3 q', 'g7 g3 q', 'e6 a6 q', 'g8 g1 q', 'c4 g8 q', 'h2 e2 q', 'c6 c1 q', 'c6 g6 q', 'f7 f1 q', 'a7 a3 q', 'e3 g1 q', 'g2 d2 q', 'e3 a3 q', 'h2 f1 q', 'h7 f8 q', 'a5 a1 q', 'e8 b5 q', 'h2 d6 q', 'a6 a2 q', 'f7 b3 q', 'a3 a7 q', 'b6 a8 q', 'a2 a6 q', 'g3 g1 q', 'a6 b8 q', 'c5 g5 q', 'c2 h7 q', 'f2 b6 q', 'b1 h1 q', 'h8 e5 q', 'f2 f8 q', 'h8 f7 q', 'c1 e2 q', 'g3 c3 q', 'a4 a8 q', 'g2 g6 q', 'h2 h5 q', 'a8 f3 q', 'e1 b4 q', 'e6 g8 q', 'h3 d3 q', 'h5 c5 q', 'g7 c7 q', 'c7 h7 q', 'a1 c2 q', 'a5 f5 q', 'g2 c2 q', 'g2 a8 q', 'b1 f5 q', 'c1 b3 q', 'b3 g3 q', 'g3 h1 q', 'g4 c4 q', 'b4 f4 q', 'a7 a2 q', 'g8 a8 q', 'c2 h2 q', 'g5 c5 q', 'g7 h5 q', 'a7 h7 q', 'a2 a7 q', 'h6 h2 q', 'h7 d7 q', 'a3 f3 q', 'b4 b8 q', 'a4 f4 q', 'b7 a5 q', 'c7 h2 q', 'h1 e4 q', 'b2 b8 q', 'g1 a1 q', 'a2 h2 q', 'c4 h4 q', 'c5 h5 q', 'b3 a1 q', 'a1 f6 q', 'a5 g5 q', 'h2 d2 q', 'b2 a4 q', 'a5 h5 q','b7 b1 q', 'f3 a3 q', 'g8 b8 q', 'h7 c7 q', 'h3 c8 q', 'g6 c6 q', 'h4 c4 q', 'g7 g2 q', 'b6 g6 q', 'a8 b6 q', 'h4 h8 q', 'g2 b2 q', 'b5 b1 q', 'b3 b8 q', 'h2 c2 q', 'a3 b1 q', 'h7 b7 q', 'g1 b1 q', 'h6 d6 q', 'h7 h3 q', 'b5 f5 q', 'f8 h7 q', 'c3 h3 q', 'f4 b4 q', 'a6 f6 q', 'h2 b2 q', 'g2 g7 q', 'e1 g2 q', 'g5 g8 q', 'd4 h8 q', 'g7 b7 q', 'a5 e1 q', 'b6 b1 q', 'b7 h7 q', 'h8 g6 q', 'b8 f4 q', 'a4 e8 q', 'h7 a7 q', 'h6 g8 q', 'g2 h4 q', 'f1 h2 q', 'a7 c8 q', 'g4 g1 q', 'a7 a1 q', 'h5 h1 q', 'a4 g4 q', 'c5 g1 q', 'b2 h2 q', 'a2 a8 q', 'h2 a2 q', 'f4 a4 q', 'd8 b7 q', 'b7 d8 q', 'h2 h6 q', 'f5 b5 q', 'a2 f7 q', 'd5 g8 q', 'f6 a6 q', 'h3 c3 q', 'a6 a1 q', 'a2 c1 q', 'f5 a5 q', 'd4 g1 q', 'a3 a8 q', 'd1 b2 q', 'b4 g4 q', 'g4 g8 q', 'g8 e6 q', 'h8 d4 q', 'h2 h7 q', 'g2 a2 q', 'a3 g3 q', 'g7 a7 q', 'h3 h8 q', 'c6 h6 q', 'e8 a4 q', 'b2 d1 q', 'd5 h1 q', 'g5 g1 q', 'g3 b3 q','e1 a5 q', 'b1 g6 q', 'a7 f2 q', 'a1 b3 q', 'g1 e3 q', 'b5 g5 q', 'h3 g1 q', 'g3 b8 q', 'a4 h4 q', 'h7 h2 q', 'h1 f2 q', 'a6 g6 q', 'g6 b1 q', 'b7 h1 q', 'h6 c6 q', 'g3 g8 q', 'g4 b4 q', 'b3 h3 q', 'g7 e8 q', 'g8 d5 q', 'h6 h1 q', 'g1 d4 q', 'h1 d5 q', 'f2 a7 q', 'c8 a7 q', 'g6 b6 q', 'g5 b5 q', 'g4 a4 q', 'h5 b5 q', 'a1 g7 q', 'g5 a5 q', 'b4 h4 q', 'h4 b4 q', 'a8 g2 q', 'c3 h8 q', 'b2 h8 q', 'a3 h3 q', 'c6 h1 q', 'h5 a5 q', 'g6 g1 q', 'b5 h5 q', 'b6 h6 q', 'b8 g3 q', 'h1 g3 q', 'c1 a2 q', 'h3 b3 q', 'f7 a2 q', 'a6 h6 q', 'h4 a4 q', 'g3 a3 q', 'g2 e1 q', 'h7 h1 q', 'g2 g8 q', 'h2 h8 q', 'g7 g1 q', 'h3 a3 q', 'g6 a6 q', 'h8 c3 q', 'h6 b6 q', 'b3 g8 q', 'h7 c2 q', 'h6 a6 q', 'h2 c7 q', 'h1 c6 q', 'b6 g1 q', 'g1 c5 q', 'g8 c4 q', 'h8 b2 q', 'h1 b7 q', 'b1 h7 q', 'g8 b3 q', 'g1 b6 q', 'b8 h2 q', 'a1 h8 q', 'a8 h1 q', 'h8 a1 q', 'a2 g8 q', 'g1 a7 q', 'h2 b8 q', 'h7 b1 q','a7 g1 q', 'g8 a2 q', 'h1 a8 q']
def move_stream():
while True:
for move in all_moves:
yield move
for m in move_stream():
print(m)
Your program must be runnable with free (lunch) software on at least one of Windows or Linux.
\$\endgroup\$