речь о эвристическом решении поставленной задачи эвристический метод это метод не самый эффективный, но приводящий к оптимальному результату можно сказать это некоторые стратегии, которых стоит придерживаться для получения результата я бы рекомендовал решить эту задачу самому, поигравшись, а затем передать свои стратегии машине в конце концов, чтобы научить чему-то, нужно это что-то уметь обычно всё заключается в простейшем продвижении элементов на свои позиции пока не останутся два последних ряда. в последних двух рядах нужно весьма хитро сортировать элементы "крутя их" после того как элементы встанут в нужном порядке, их остаётся "докрутить" в свои позиции