Насколько я помню, один из алгоритмов сборки кубика Рубика 3х3 - это последовательность действий:
1. Операции по перестановке кубиков на средних гранях - выстановка "крестов" на всех гранях
2. Перестановка угловых кубиков (тройками по кругу или 4-ками попарно), при которых кубики встают на свои места, но ориентация как получится (кресты при каждой перестановке восстанавливаются)
3. Разворот угловых граней, при этом кресты и положение угловых кубиков (за исключением 3х или 4х поворачиваемых) сохраняется.
При этом интеллекта от программы требуется по-минимуму.
ЗЫ
Описания данного алгоритма перестановки не нашел, но что помню:
Движение 1: ЛПЛ'П' 2 или 3 раза
Движение 2: ЛП'Л'П 2 или 3 раза
Л - левая грань по часовой Л' - против часовой
П и П' - аналогично для правой.
Советую проверить на полностью собранном кубике. 6 повторений каждого из движений возвращает всё на свои места.
Нашел источник:
http://playlab.ru/upload/pdf/kvant_1980_12.pdf
Java
сложно ли написать программу кубик-рубик с интеллектом исскуственныи чтобы подсказывал как собирать?
Сложность любой программы в первую очередь зависит от способностей программиста.
Нет, не очень. Хотя, конечно, все зависит от человека.
Если он пишет хело-ворлд и скалдывает 2 числа по 3 часа - то сложно.
Если умеет программировать и гуглить - то нет.
Если он пишет хело-ворлд и скалдывает 2 числа по 3 часа - то сложно.
Если умеет программировать и гуглить - то нет.
Если ты сам умеешь собирать - это тебе ничего не даст. никакие роботы, компьютерные программы не собирают кубик рубика по фридриху или какой-нибудь начальной методике. Они делают это примерно как "Число Бога" - минимальное число ходов, за которое можно собрать кубик - примерно 21-22. Они собирают медленно, но быстро (17 секунд). Если ты хочешь написать прогу, собирающую по методике фридрих и т. д., то это долго, но просто (относительно). Если как описал я, то долго и сложно,. но интересно. Попахивает искусственным интеллектом. Сложно также создать интерфейс пользователя, если ты хочешь, чтобы прога тебе помогала, то как ты будешь вводить положение разных кубиков?
Лично я собираю за 45 сек по началке. Тебе Удачи!
Лично я собираю за 45 сек по началке. Тебе Удачи!
Похожие вопросы
- Написать программу на языке java
- Хочу написать программу -калькулятор .Через какой язык мне нужно писать ?/И как вообще писать ?
- Если написать программу на Java для телефона то он запуститься и на компьютере?
- Помогите написать java программу нахождения максимального числа из 4-х
- Работа со строками Java Разработать программу, которая вводит строку и находит все слова указанной длины n (n вводится).
- Составь программу в зависимости величины даны чисел матрица количество положительных и отрицательных элементов
- Можно ли создать такую программу?
- Люди, помогите пожалуйста с программой!!!
- Подскажите пожалуйста, как в данном коде Java сделать так, чтоб при нажатии цифры 3 программа завершала свою работу?
- Помогите разобрать программу java