Возможно, многие из читателей пытались собрать кубик Рубика 3×3 самостоятельно, но после множества неудачных попыток либо бросали это занятие, либо искали готовое решение. Целью этой статьи является показать на примере кубика Рубика что найти решение любой (из класса решаемых) задачи самостоятельно, есть вполне выполнимая задача для каждого, если при этом руководствоваться определенным набором правил. Данное решение получено мною за 10 часов, плюс этого алгоритма что он не требует запоминать сложные комбинации и длительное время тренироваться — достаточно собрать данным способом всего несколько раз.
Итак, рассмотрим одно из возможных решений. Снизу под каждым пунктом дана грубая оценка вычислительной сложности (Сn) данной подзадачи(исходя из времени поиска решения, которое прямо пропорционально общему количеству комбинаций возможных ходов):
1. Изучаем конструкцию (начальные условия задачи) — понимаем что вершины кубика Рубика, боковые и центральные грани не «перемешиваются», а значит задачу можно разбить как минимум на три подзадачи сборки:
- вершин
- центральных граней
- боковых граней
Еще что необходимо уяснить из конструкции: положение всех цветов по сторонам, собранного куба, относительно друг друга строго фиксировано (убедитесь в этом самостоятельно).
Само собой, постановка задачи и разбиение ее на части это тоже задача, поэтому данному пункту тоже соответствует некая «интеллектуальная сложность», но единого критерия оценки для неё не существует, так что пропускаем.
Читать далее |