Table of Contents
Chess - Programming - Links
AI
Alpha Beta Pruning
BitBoards
https://www.chessprogramming.org/Checks_and_Pinned_Pieces_(Bitboards)
https://stackoverflow.com/questions/30680559/how-to-find-magic-bitboards?rq=1
https://stackoverflow.com/questions/6464110/getting-occupancy-bit-masks-for-bitboards?rq=1
https://stackoverflow.com/questions/8543455/chess-sliding-pieces-bitboards?rq=1
https://www.sciencedirect.com/science/article/pii/S0012365X15002873
https://www.sciencedirect.com/science/article/pii/S0012365X15002873#br000075
https://www.sciencedirect.com/science/article/pii/S0012365X15002873?via%3Dihub
http://www.rivalchess.com/magic-bitboards/
https://stackoverflow.com/questions/16925204/sliding-move-generation-using-magic-bitboard?rq=1
https://www.madchess.net/2018/10/28/madchess-3-0-beta-build-39-bitboards/
https://www.stmintz.com/ccc/index.php?id=490287
https://www.chessprogramming.org/SBAMG
http://www.open-aurec.com/wbforum/viewtopic.php?f=4&t=4781
https://www.madchess.net/2018/10/28/madchess-3-0-beta-build-39-bitboards/
http://www.rivalchess.com/magic-bitboards/
https://groups.google.com/g/comp.lang.asm.x86/c/3pVGzQGb1ys?pli=1
https://www.chessprogramming.org/Looking_for_Magics
Book Moves
Chessbase
https://www.chessprogramming.org/CTG
http://www.talkchess.com/forum3/viewtopic.php?t=29468&highlight=ctg+book+specification
https://www.chessprogramming.org/ChessBase_(Database)
https://github.com/niklasf/python-chess/issues/46
https://github.com/sshivaji/ctgreader
https://www.chess.com/forum/view/general/free-online-ctg-opening-book
C++
https://ofstack.com/category/C++/
https://www.reddit.com/r/C_Programming/comments/416li3/24_bit_unsigned_int/
http://ostack.cn/qa/?qa=935158/
https://people.engr.tamu.edu/djimenez/ut/utsa/cs3343/lecture20.html
https://stackoverflow.com/questions/10516196/append-an-int-to-a-stdstring
https://tutorialspoint.dev/algorithm/dynamic-programming-algorithms
https://tutorialspoint.dev/algorithm/geometric-algorithms
https://en.cppreference.com/w/cpp/algorithm/find
https://www.cs.technion.ac.il/users/yechiel/c++-faq/explicit-ctors.html
https://www.techiedelight.com/page/29/
https://stackoverflow.com/questions/191757/how-to-concatenate-a-stdstring-and-an-int
https://newbedev.com/error-use-of-deleted-function
https://dzone.com/articles/all-about-lambda-functions-in-cfrom-c11-to-c17
https://www.tutorialspoint.com/print-all-sequences-of-given-length-in-cplusplus
C++ - Array
C++ - Bits
http://graphics.stanford.edu/~seander/bithacks.html#IntegerLog
https://archive.ph/jpUqo#selection-1803.200-1805.36
https://stackoverflow.com/questions/3465098/bit-twiddling-which-bit-is-set
https://www.techiedelight.com/swap-adjacent-bits-number/
https://www.techiedelight.com/circular-shift-integer-k-positions/
https://newbedev.com/efficient-bitwise-operations-for-counting-bits-or-find-the-right-left-most-ones
https://blog.stephencleary.com/2010/10/implementing-gccs-builtin-functions.html
https://hackmd.io/@nickchenchj/sysprog2020_quiz3
https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
https://www.felixcloutier.com/x86/blsi
https://www.chessprogramming.org/BMI1
https://stackoverflow.com/questions/757059/position-of-least-significant-bit-that-is-set
https://www.chessprogramming.org/BitScan
https://newbedev.com/bit-twiddling-which-bit-is-set
https://graphics.stanford.edu/~seander/bithacks.html
https://graphics.stanford.edu/~seander/bithacks.html#ZerosOnRightMultLookup
http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogIEEE64Float
C++ - Combinations
https://catwolf.org/qs?id=6bb86fe8-eb1a-4383-aa01-1319ad7dac09&x=y
https://gist.github.com/rg3/731626
https://www.codegrepper.com/code-examples/whatever/print+all+combinations+of+a+string+c%2B%2B
https://www.codeguru.com/cplusplus/combinations-in-c/
https://www.sanfoundry.com/cpp-program-possible-combinations-list-numbers/
https://central.bac-lac.gc.ca/.item?id=TC-OGU-8812&op=pdf&app=Library&oclc_number=1033001812
https://tutorialspoint.dev/algorithm/algorithms/check-two-given-sets-disjoint
https://tutorialspoint.dev/algorithm/divide-and-conquer
https://www.techiedelight.com/find-distinct-combinations-of-given-length/
https://www.techiedelight.com/find-distinct-combinations-given-length-2/
C++ - Hash
C++ - ifstream
C++ - Iterator
C++ - Map and Multimap
http://www.java2s.com/Tutorial/Cpp/0460__map-multimap/Updateakeyvalue.htm
https://stackoverflow.com/questions/11343822/how-to-replace-key-value-in-a-std-multimap/11352166
https://riptutorial.com/cplusplus/example/2241/iterating-over-std--map-or-std--multimap
https://stackoverflow.com/questions/18560593/get-the-content-of-returned-multimap-iterator
https://stackoverflow.com/questions/4527686/how-to-update-stdmap-after-using-the-find-method
C++ - Math
C++ - Matrix
https://www.techiedelight.com/Category/Matrix/
https://www.techiedelight.com/inplace-rotate-matrix-180-degrees/
https://www.techiedelight.com/print-all-shortest-routes-rectangular-grid/
https://www.techiedelight.com/find-index-row-containing-maximum-number-1s-matrix/
https://www.techiedelight.com/largest-square-sub-matrix-surrounded-by-1s/
https://www.techiedelight.com/find-largest-rectangle-of-1s-binary-matrix/
https://www.techiedelight.com/construct-complete-binary-tree-from-linked-list/
C++ - Operators
https://en.cppreference.com/w/cpp/language/operators
https://stackoverflow.com/questions/7825055/what-does-the-operator-do-in-c?rq=1
C++ - Random Numbers
https://www.softwaretestinghelp.com/random-number-generator-cpp/
https://stackoverflow.com/questions/9878965/rand-between-0-and-1
https://www.pcg-random.org/index.html
https://www.pcg-random.org/download.html
https://codeforces.com/blog/entry/61587
https://medium.com/@sddkal/c-reimplementing-default-congruential-random-generator-6000936f38a3
C++ - Search
https://stackoverflow.com/questions/15517991/search-a-vector-of-objects-by-object-attribute
https://www.delftstack.com/howto/cpp/cpp-binary-search-tree-in-cpp/
C++ - Std Forward
C++ - Threads
https://github.com/bshoshany/thread-pool
https://github.com/Fdhvdu/ThreadPool/tree/master/comparison
https://github.com/bilash/threadpool/blob/master/ThreadPool.cpp
https://github.com/bilash/threadpool
https://webdevdesigner.com/q/thread-pooling-in-c-11-76929/
https://codereview.stackexchange.com/questions/221617/thread-pool-c-implementation
https://wiki.sharewiz.net/doku.php?id=c:c_threads:mutex
https://mfreiholz.de/posts/make-a-class-thread-safe-cpp/
https://www.justsoftwaresolutions.co.uk/threading/multithreading-in-c++0x-part-3.html
https://newbedev.com/c-2011-std-thread-simple-example-to-parallelize-a-loop
https://accu.org/journals/overload/17/93/williams_1584/
https://stackoverflow.com/questions/10998780/stdthread-calling-method-of-class
https://stackoverflow.com/questions/11004273/what-is-stdpromise?noredirect=1&lq=1
https://stackoverflow.com/questions/10998780/stdthread-calling-method-of-class/10998831#10998831
https://stackoverflow.com/questions/20516773/stdunique-lockstdmutex-or-stdlock-guardstdmutex?rq=1
https://stackoverflow.com/questions/13667810/massive-cpu-load-using-stdlock-c11
http://howardhinnant.github.io/dining_philosophers.html
http://howardhinnant.github.io/dining_philosophers.html#Polite
http://howardhinnant.github.io/dining_philosophers.html#codeA
https://stackoverflow.com/questions/11004273/what-is-stdpromise?noredirect=1&lq=1
https://en.cppreference.com/w/cpp/thread/promise
http://www.cplusplus.com/reference/future/future/get/
http://www.gerald-fahrnholz.eu/sw/online_doc_multithreading/html/group___grp_intro.html
C++ - Vector
de Bruijn sequence
[Good] https://datagenetics.com/blog/october22013/index.html
[Good] https://www.chessprogramming.org/De_Bruijn_Sequence
https://www.chessprogramming.org/De_Bruijn_Sequence_Generator
https://www.stmintz.com/ccc/index.php?id=339184
https://www.sciencedirect.com/science/article/pii/S0012365X15002873
https://www.sciencedirect.com/science/article/pii/S0012365X15002873#br000075
https://www.sciencedirect.com/science/article/pii/S0012365X15002873?via%3Dihub
https://oeis.org/A000011/a000011.pdf
https://arxiv.org/pdf/1803.09009.pdf
https://newbedev.com/how-to-compute-de-bruijn-sequences-for-non-power-of-two-sized-alphabets
https://people.engr.tamu.edu/djimenez/ut/utsa/cs3343/lecture19.html
https://people.engr.tamu.edu/djimenez/ut/utsa/cs3343/lecture14.html
https://codeforces.com/problemset/problem/1367/E
https://stackoverflow.com/questions/31230146/number-of-distinct-necklaces-using-k-colors
https://www.sciencedirect.com/science/article/pii/S0012365X15002873#t000005
https://central.bac-lac.gc.ca/.item?id=TC-OGU-8812&op=pdf&app=Library&oclc_number=1033001812
https://scholar.google.com/citations?user=uvBahbkAAAAJ&hl=en&oi=sra
https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.60.7180&rep=rep1&type=pdf
http://supertech.csail.mit.edu/papers/debruijn.pdf
https://www.chessprogramming.org/De_Bruijn_Sequence_Generator
https://en.wikipedia.org/wiki/De_Bruijn_sequence
https://ostack.cn/qa/?qa=899440/
https://rosettacode.org/wiki/De_Bruijn_sequences#C.2B.2B
https://en.wikipedia.org/wiki/De_Bruijn_sequence
https://www.tutorialspoint.com/print-all-sequences-of-given-length-in-cplusplus
https://newbedev.com/how-to-compute-de-bruijn-sequences-for-non-power-of-two-sized-alphabets
https://leetcode.com/problems/cracking-the-safe/discuss/110260/de-bruijn-sequence-c
https://rosettacode.org/wiki/De_Bruijn_sequences
https://www.sciencedirect.com/science/article/pii/S0012365X15002873
https://www.sciencedirect.com/science/article/pii/S0012365X15002873#br000075
https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.1038.9096&rep=rep1&type=pdf
http://supertech.csail.mit.edu/papers/debruijn.pdf
https://www.chessprogramming.org/De_Bruijn_Sequence_Generator
https://www.chessprogramming.org/De_Bruijn_Sequence
https://stackoverflow.com/questions/21888140/de-bruijn-algorithm-binary-digit-count-64bits-c-sharp
End Games
Engine
https://www.chessprogramming.org/Main_Page
http://computer-chess.org/doku.php?id=computer_chess:wiki:lists:chess_engine_list&
https://towardsdatascience.com/implementing-a-chess-engine-from-scratch-be38cbdae91
https://en.chessbase.com/post/the-future-is-here-alphazero-learns-chess
https://codereview.stackexchange.com/questions/175946/chess-engine-in-c?rq=1
https://www.lkessler.com/brutefor.shtml#bf6
https://chess24.com/en/read/news/how-do-chess-engines-think
https://github.com/hennimohammed/parallel_chess_engine
https://www.chessprogramming.org/Stockfish_NNUE
https://github.com/AaronBecker/daydreamer
https://www.chessprogramming.org/Brutus_NL
http://www.open-aurec.com/wbforum/viewtopic.php?f=2&t=50747
http://scleinzell.schachvereine.de/p_cbtipps/cb8_f6_02.shtml
http://scleinzell.schachvereine.de/home/sitemap.shtml
http://scidb.sourceforge.net/download.html
https://sourceforge.net/projects/scidb/
https://www.chessprogramming.org/Engines
https://github.com/AaronBecker/daydreamer
http://www.rybkachess.com/index.php?auswahl=Downloads
http://ulysse.io/ComputerChess.pdf
https://www.chessprogramming.org/Godot
https://github.com/ucarion/godot/blob/master/src/godot/Board.java
https://web.archive.org/web/20190203055228/http://craftychess.com/
https://www.madchess.net/category/code/
https://www.codeproject.com/Articles/1168892/Test-Driven-Chess-Artificial-Intelligence
https://github.com/Gigantua/Gigantua/pull/1
https://github.com/Gigantua/Gigantua/blob/main/Gigantua/Gigantua.cpp
https://www.madchess.net/guides/technical-specifications/
https://www.chessprogramming.org/Syed_Fahad
http://www.talkchess.com/forum3/viewtopic.php?t=52709
http://computer-chess.org/forum/index.php?id=3153
http://computer-chess.org/doku.php?id=computer_chess:wiki:lists:chess_news_list
https://zipproth.de/Brainfish/download/
Evaluation
https://hxim.github.io/Stockfish-Evaluation-Guide/
https://www.chess.com/article/view/how-to-calculate-chess
https://www.chess.com/forum/view/general/how-does-the-analysis-engine-score-a-position
https://stackoverflow.com/questions/297577/is-there-a-perfect-algorithm-for-chess
https://catwolf.org/qs?id=457914e1-8f6e-45ad-9ff6-b3baab564dca&x=x
https://www.chess.com/article/view/10-positions-chess-engines-just-dont-understand
https://www.madchess.net/2021/09/13/madchess-3-1-beta-2b475bc-color-agnostic-code/
https://www.madchess.net/2021/10/24/madchess-3-1-beta-26e5323-threats/
https://www.madchess.net/2021/09/13/madchess-3-1-beta-2b475bc-color-agnostic-code/
https://chesstempo.com/chess-tactics/
Fen
https://github.com/epeld/fen/blob/master/src/Square.hs
https://www.reddit.com/r/chess/comments/69t7s3/is_there_an_open_fen_database/
https://www.chess.com/terms/fen-chess
Games
https://www.ficsgames.org/cgi-bin/download.cgi
http://kirill-kryukov.com/chess/kcec/games.html
http://kirill-kryukov.com/chess/tablebases-online/
http://www.rybkachess.com/index.php?auswahl=Downloads
[GOOD] https://database.lichess.org/#standard_games
https://old.chesstempo.com/game-database.html
Huffman
https://www.studytonight.com/data-structures/huffman-coding
https://coderedirect.com/questions/85781/efficient-way-of-storing-huffman-tree
https://math.hws.edu/eck/cs225/s03/binary_trees/
https://www.delftstack.com/howto/cpp/cpp-binary-search-tree-in-cpp/
https://stackoverflow.com/questions/759707/efficient-way-of-storing-huffman-tree
https://stackoverflow.com/questions/759707/efficient-way-of-storing-huffman-tree?noredirect=1&lq=1
https://github.com/cynricfu/huffman-coding/blob/master/huffman.cpp
https://leetcode.com/problems/encode-and-decode-tinyurl/discuss/302761/c-using-huffman-coding
https://stackoverflow.com/questions/65138869/decoding-a-huffman-tree-c
https://cseweb.ucsd.edu//~kube/cls/100/Lectures/lec9/lec9.pdf
https://www2.cs.duke.edu/csed/poop/huff/info/
https://www.programiz.com/dsa/b-tree
https://cs.calvin.edu/activities/books/c++/ds/2e/WebItems/Chapter15/Huffman.pdf
https://gist.github.com/pwxcoo/72d7d3c5c3698371c21e486722f9b34b
Knights Tour
Logging
Minmax
Moves
https://codereview.stackexchange.com/questions/53875/generating-possible-chess-moves?rq=1
https://codereview.stackexchange.com/questions/213606/chess-move-validator?rq=1
http://www.problemschach.de/KMOVEComposer.pdf
https://www.chessprogramming.org/Move_Generation
https://stackoverflow.com/questions/43351532/sliding-piece-generation-in-chess-engine?rq=1
https://stackoverflow.com/questions/16925204/sliding-move-generation-using-magic-bitboard?rq=1
https://chess.stackexchange.com/questions/15705/c-vs-java-engine-move-generation-performance
https://www.madchess.net/2018/10/28/madchess-3-0-beta-build-39-bitboards/
https://www.codeproject.com/Articles/5313417/Worlds-Fastest-Bitboard-Chess-Movegenerator
https://www.codeproject.com/Articles/5313417/Worlds-Fastest-Bitboard-Chess-Movegenerator#_comments
https://github.com/Gigantua/Gigantua/pull/1
[Good] https://www.reddit.com/r/cpp/comments/q2t54l/worlds_fastest_chess_move_generator_2_billion/
https://github.com/Gigantua/Gigantua
https://gist.github.com/ekmadsen/d140be3c81a8d86b4698332cb8683dcc
https://gist.github.com/ekmadsen
https://svn.filezilla-project.org/filezilla/chess/move.hpp?revision=5155&view=markup
Openings
https://en.m.wikipedia.org/wiki/Encyclopaedia_of_Chess_Openings
https://en.m.wikipedia.org/wiki/List_of_chess_openings
https://rebel13.nl/download/books.html
https://chess.stackexchange.com/questions/2389/where-can-one-get-a-large-bin-opening-book
https://chess.stackexchange.com/questions/2431/how-to-test-the-quality-of-an-opening-book?rq=1
https://www.365chess.com/opening.php
https://www.365chess.com/opening.php?m=2&n=3&ms=e4&ns=3
https://chess.stackexchange.com/questions/2389/where-can-one-get-a-large-bin-opening-book?rq=1
https://chess.stackexchange.com/questions/8004/opening-book-for-stockfish?rq=1
https://github.com/michaeldv/donna_opening_books
https://www.chess.com/forum/view/general/free-online-ctg-opening-book
https://github.com/niklasf/python-chess/issues/46
https://github.com/sshivaji/ctgreader/blob/master/book_ctg.c
https://github.com/sshivaji/ctgreader
http://www.talkchess.com/forum3/viewtopic.php?t=29468&highlight=ctg+book+specification
https://github.com/makemefriendanshu/daydreamer/blob/release/book_ctg.c
https://github.com/AaronBecker/daydreamer/blob/release/v1/book_ctg.cc
http://www.pgnmentor.com/files.html#openings
https://old.chesstempo.com/chess-openings.html
https://www.reddit.com/r/chess/comments/69t7s3/is_there_an_open_fen_database/
https://www.hiarcs.com/chess-opening-book-free.html
https://old.chesstempo.com/chess-openings.html
https://www.chess2u.com/t8582-bin-books-vs-ctg-books
https://www.chess.com/forum/view/general/free-online-ctg-opening-book
Perft
https://www.chessprogramming.net/perfect-perft/
https://open-chess.org/viewtopic.php?t=2855
https://github.com/abulmo/MPerft
https://github.com/kongsian/melee-perft
https://github.com/kongsian/melee-perft/commit/23a473ff08c87d3fed2e2502aeb4dfaa50c2b477
https://github.com/kongsian/melee-perft/commit/326c1f45d25e1281f1d56d580f0121aab1e70ca3
https://github.com/kongsian/melee-perft/commit/26babafce38341db3f434f5717c5842ebc06aa66
https://github.com/Gigantua/Gigantua/blob/main/Gigantua/Gigantua.cpp
PGN
Polyglot
http://rebel13.nl/download/books.html
https://catwolf.org/qs?id=d9d66184-e61f-4889-8573-fcc15dcec76b&x=x
https://www.chess2u.com/t12460-polyglot-tolerant-a-new-tool-to-create-bin-books
https://github.com/dsjoerg/polyglot_elo/blob/master/src/piece.cpp
https://github.com/ulthiel/polyglot
http://hgm.nubati.net/book_format.html
https://chess.stackexchange.com/questions/28874/how-to-use-polyglot-opening-book-bin-file?rq=1
http://hgm.nubati.net/book_format.html
https://www.chessprogramming.org/PolyGlot
https://chess.stackexchange.com/questions/35448/looking-for-polyglot-opening-books
http://rebel13.nl/download/polyglot.html#weight
http://hgm.nubati.net/book_format.html
https://github.com/sshivaji/polyglot
Pruning
https://web.archive.org/web/20070820072632/http://www.glaurungchess.com/lmr.html
https://www.madchess.net/2018/12/03/madchess-3-0-beta-build-84-history-heuristics/
Ratings
https://www.chess.com/forum/view/tournaments/english-grade-conversion
https://www.hiarcs.net/forums/viewtopic.php?t=3389
https://second.wiki/wiki/bt2450
http://kirill-kryukov.com/chess/kcec/rating_list_all.html
https://en.wikipedia.org/wiki/Elo_rating_system
https://www.madchess.net/ratings/position-tests/
SCID
Searching
Tablebases
Tests
https://es.wikipedia.org/wiki/Bratko-Kopec-Test
https://www.chessprogramming.org/Bratko-Kopec_Test
https://groups.google.com/g/rec.games.chess.misc/c/OeK0k5KDaf4
https://second.wiki/wiki/bt2450
https://www.schach-computer.info/wiki/index.php/BT-2630
http://utzingerk.com/test_kaufman
http://ichatz.me/uniroma1/pcs2-2019/uniroma1-bioinformatics-pcs2-2019-ichatz-talk20.pdf
https://chess.stackexchange.com/questions/19633/chess-problem-database-with-pgn-or-fen
https://www.madchess.net/ratings/position-tests/