
It is known that there is a whole set of mathematical methods for studying the properties of the Rubik's cube from an abstract-mathematical point of view, and the discipline studying these laws is referred to as the Rubik-cube mathematics. This math studies different cube assembly algorithms and evaluates them. At the heart of her scientific approach, she uses graph theory, group theory, and the theory of computability and combinatorics.
Since the middle of the 20th century, many mathematicians, programmers and amateurs have sought to find the perfect algorithm in order to practice a Rubik's cube in the minimum number of moves. There are many algorithms designed to translate Rubik's cube from an arbitrary configuration to its final configuration, however, it should be mentioned that in 2010, programmers from Google put forward a rigorous mathematical rationale that to translate a Rubik's cube from an arbitrary configuration into its assembled form no more than 20 facet turns. In order to perform the required amount of calculations, it took 35 years of CPU time, and the duration of the calculations was several weeks.
It is true that the highest priority in the development of the Rubik's Cube algorithm is to create a fast and optimized assembly method. There are many algorithms for solving this problem, but the program developed by us is a unique variant of the implementation of the 2x2 Rubik Cube assembly method in the C# programming language.
1. Pages and scripts are written by JaapScherphuis, 1999–2015. Available at: http://www.jaapsch.net/puzzles/cube2.htm (accessed 15.03.2019).
2. Pages and scripts are written by JaapScherphuis, 1999–2015. Available at: http://www.jaapsch.net/puzzles/pyraminx.htm (accessed 15.03.2019).
3. Klein E. Rйsoudre un Rubik's pocket cube avec Neo4j. JeffProd. Coding for fun: website. Available at: https://fr.jeffprod.com/blog/2017/resoudre-un-rubik-pocket-cube-avec-neo4j/ (accessed 15.03.2019).
4. Algoritm Boga [God's algorithm]. Vikipediya [Wikipedia]. Available at: https://ru.wikipedia.org/wiki/Алгоритм_Бога (accessed 15.03.2019).
5. Myl'nikov M. Vsem kubikam kubik [All cubes cube]. Yunyi tekhnik, 1982, no. 7, p. 64. (In Russian).
6. Konstantinov I. Vektornoe slozhenie kubika [Vector addition of a cube]. Nauka i zhizn' – Science and Life, 1999, no. 5, p. 74. (In Russian).
7. Karasev A. Kak nauchit'sya sobirat' kubik Rubika v ob"eme [How to learn to collect the Rubik's cube in volume]. Nauka i zhizn' – Science and Life, 1999, no. 5, p. 75. (In Russian).
8. Zalgaller V., Zalgaller S. Vengerskii sharnirnyi kubik [Hungarian articulated cube]. Kvant, 1980, no. 12, pp. 17–21. (In Russian).
9. Dubrovskii V. Algoritm volshebnogo kubika [The magic cube algorithm]. Kvant, 1982, no. 7, pp. 22–25. (In Russian).
10. Rubik i ego kubik: raskrutka, skazochnoe vezenie, vozvrashchenie [Rubik and his cube: promotion, fabulous luck, return]. Available at: http://www.membrana.ru/ (accessed 15.03.2019).
11. Konstantinov I. Sostavlyaem katalog vrashchenii kubika [A catalog of the rotation of the cube]. Nauka i zhizn' – Science and Life, 1985, no. 3–11. (In Russian). Available at: http://www.seoded.ru/downloads/cube/NKJ_1985-03.pdf (accessed 15.03.2019).
12. Kubik Rubika i problema Khigmana [Rubic's cube and Higman problem]. 20th summer conference International mathematical Tournament of towns, 2008. Available at: http://olympiads.mccme.ru/lktg/2008/2/2-1ru.pdf (accessed 15.03.2019).
Mikov E.P., Bondar V.A., Alimov A.A. Algoritm dlya sborki kubika Rubika 2 × 2 na C# [Algorithm for building a Rubik's cube 2x2 on C#]. Sbornik nauchnykh trudov Novosibirskogo gosudarstvennogo tekhnicheskogo universiteta – Transaction of scientific papers of the Novosibirsk state technical university, 2018, no. 3–4 (93), pp. 83–90. DOI:10.17212/2307-6879-2018-3-4-83-90.