In this diploma thesis, we first prepared a programme for automatic recognising of positional motifs. We focused on recognising of pawn structures, such as isolated pawns, passed pawns, doubled pawns, backward pawns, pawn chains, and pawn islands. The programme was implemented in the Python programming language with the help of the library python-chess that enables simple use of bitboards. The developed programme could be used for automatic annotation of chess games.
Then, we addressed the problem of searching for chess positions with similar content. The automatic recognising of pawn structures was integrated into the programme as a component, wherein the programme is able to find chess positions with similar content, taking into account the characteristics of pawn structures on a chessboard as well. We used techniques for information retrieval from text documents, using an open-source library Apache Lucene. Partly, the development took place in the environment Jupyter Notebook, which enables simple visualization of chess positions.
The search of positions with similar content can be used for automatic preparation of chess trainings, whereby the job of chess trainers can be made easier. We could improve the algorithm for searching similar positions by recognising dynamic, tactical motifs. The competence of the programme for discovering positions with similar content was confirmed by a survey carried out among chess players.
|