Войти в аккаунт
Хотите наслаждаться полной версией, а также получить неограниченный доступ ко всем материалам?

\"Взлом\" кубика Рубика

\"Взлом\" кубика Рубика

Дэниел Канкл (Daniel Kunkle), ну или, по крайней мере, его компьютер, может собрать кубик Рубика за 26 ходов.

Канкл — специалист в области вычислительной техники Северо-Восточного университета в г. Бостон, доказал, что 26 ходов достаточно, чтобы собрать кубик Рубика, в каком бы состоянии он ни находился. Это на один ход меньше предыдущего рекорда. В процессе «взлома» кубика он разработал несколько алгоритмов, которые вполне можно применить для решения таких сложных задач, как составление графиков авиарейсов и расчет укладки структуры белков.

Приблизительно число возможных комбинаций кубика составляет 43 триллиона. Даже суперкомпьютер не сможет проверить все возможные комбинации в поисках самого быстрого решения с любого начального состояния кубика в разумный период времени. Поэтому Канкл и его помощник Джин Куперман (Gene Cooperman) придумали несколько остроумных математических и вычислительных алгоритмов, чтобы сделать эту задачу выполнимой.

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

Затем они взялись за более простую задачу: они начали рассматривать лишь те комбинации, которые можно было решить, применяя только полуобороты — без четверть-оборотов. Оказалось, что таким способом можно собрать около 15 000 из триллиона комбинаций. Обычный компьютер сможет найти кратчайшее решение для каждой из этого сравнительного небольшого количества комбинаций путем простого перебора всех возможных ходов менее чем за день. Они также обнаружили, что каждая из этих комбинаций может быть решена за 13 ходов и меньше.

Далее они вычислили, сколько шагов потребуется, чтобы привести любую случайную комбинацию к одной из этих 15 000 специальных комбинаций. Для этого они сначала разбили эти комбинации на наборы, каждый из которых состоял их таких комбинаций, которые сами по себе можно было трансформировать только при помощи полуоборотов. Эти наборы были составлены таким образом, что ряд ходов, превращающий одну комбинацию из набора в одну из специальных комбинаций, также превращал другую комбинацию этого набора в специальную. В итоге у них получилось 1,4 триллиона таких наборов — т.е. им требовалось решить лишь 1,4 триллиона задач, что намного меньше, чем первоначальные 43 триллиона, но все равно — пугающее количество.

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

«Подобные методы можно применить для решения любой комбинаторной задачи», говорит Канкл. В качестве примеров он приводит шашки, шахматы, планирование авиарейсов и расчет укладки структуры белков. Подобные вычислительные методы использовались при недавнем расчете оптимального алгоритма для игры в шашки.

Спустя 63 часа вычислений, суперкомпьютер обнаружил, что для превращения любой случайной комбинации в специальную, которую можно собрать лишь при помощи полуоборотов, требуется не более 16 ходов. А так как эти специальные комбинации решаются не более чем за 13 ходов, получалось, что таким способом любую комбинацию кубика Рубика можно собрать за 29 ходов.

Но для нового рекорда это решение не подходило. В прошлом году Сильвиу Раду из Лундского технологического института в Швеции доказал, что любая комбинация кубика Рубика может быть решена не более чем за 27 ходов. Канкл и Куперман понимали, что для нового рекорда им потребуется исключить три хода.

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

Они представили результаты своей работы 29 июля на Международном симпозиуме по вопросам символьных и алгебраических вычислений в г. Ватерлоо, пров. Онтарио, Канада.

Теперь Канкл и Куперман намереваются снизить количество максимальных ходов до 25. Они полагают, что при помощи своего метода «грубой силы» (brute-force) им удастся перебрать все комбинации, требующие 26 ходов, и найти более быстрое решение.

Даже если это у них получится, место для улучшения еще останется. Большинство исследователей считает, что для решения любой комбинации кубика Рубика достаточно всего лишь 20 ходов, однако, никто этого еще не доказал.

Источник: www.diggreader.ru

{{ rating.votes_against }} {{ rating.rating }} {{ rating.votes_for }}

Комментировать

осталось 1800 символов
Свернуть комментарии

Все комментарии (2)

Alisaaliska

комментирует материал 10.08.2007 #

Интересная новость. Кубик вообще достоточно сложная игрушка, а разработка алгоритма - это просто выдающиеся изобретение :) Математическио изобретение.

user avatar
Parvenu

комментирует материал 10.08.2007 #

Если все игры и головоломки математически разложить и объяснить - так и жить станет скучно... Я - за непредсказуемость!-)

user avatar
×
Заявите о себе всем пользователям Макспарка!

Заказав эту услугу, Вас смогут все увидеть в блоке "Макспаркеры рекомендуют" - тем самым Вы быстро найдете новых друзей, единомышленников, читателей, партнеров.

Оплата данного размещения производится при помощи Ставок. Каждая купленная ставка позволяет на 1 час разместить рекламу в специальном блоке в правой колонке. В блок попадают три объявления с наибольшим количеством неизрасходованных ставок. По истечении периода в 1 час показа объявления, у него списывается 1 ставка.

Сейчас для мгновенного попадания в этот блок нужно купить 1 ставку.

Цена 10.00 MP
Цена 40.00 MP
Цена 70.00 MP
Цена 120.00 MP
Оплата

К оплате 10.00 MP. У вас на счете 0 MP. Пополнить счет

Войти как пользователь
email
{{ err }}
Password
{{ err }}
captcha
{{ err }}
Обычная pегистрация

Зарегистрированы в Newsland или Maxpark? Войти

email
{{ errors.email_error }}
password
{{ errors.password_error }}
password
{{ errors.confirm_password_error }}
{{ errors.first_name_error }}
{{ errors.last_name_error }}
{{ errors.sex_error }}
{{ errors.birth_date_error }}
{{ errors.agree_to_terms_error }}
Восстановление пароля
email
{{ errors.email }}
Восстановление пароля
Выбор аккаунта

Указанные регистрационные данные повторяются на сайтах Newsland.com и Maxpark.com