Просмотр полной версии : Сложное програмирование!
У меня знакомый делает программу, которая бы решала кубик-рубик два на два поля (вместо обычного 3х3) за 4 (!) поворота граней. На середине алгоритм зашел в тупик, возможно ли вообще сделать такую программу?
ПС есть программа, которая решает обычный кубик-рубик за 9 ходов с любого положения.
не писти. минимальное количество ходов для решения кубика рубика >20
вся разница в кол-во полей
хз, вроде 9, завтра точно скажу
если за 9 то автору проги подскажу куда обращаться для получения нобелевки за половину приза;)
Хм, если с исходного положения нужно решить кубик за 4 хода, нужно сделать 4 правельных хода подряд. Шанс сделать первый правельный ход 1:6, тогда второй 1:6 в степени количества ходов. Тогда методом подбора при 4 ходи нужно попробовать 1296 вариантов. Или я не прав?
ты какую то не ту задачу решаешь камрад
не ту задачу, не с того конца, не теми методами - я подскажу, нейронные сети надо использовать, ога ;)
почему не ту, объясните пожайлуста:) ведь с начального правильного положения возможно сделать лишь 1296 разных вариантов за 4 хода. Или я снова что то не понимаю?:)
Три танкиста
10-12-2009, 15:13
Неразрешимые ситуации в кубике 2х2х2 бывают?
да просто интересно решить програмно:)
короче, программно разные подходы бывают - можно тупым перебором, можно по правилам, чтобы правила действовали надо их описать - в какой ситуации программа как должна поступить
Mephisto
10-12-2009, 17:18
а нука давай теоретиг. Слабай нам прогу на турбо паскале на своем :D
я уже 7 лет как кодингом не занимаюсь, только учу :D:D:D
не факт что за 4 хода можно собрать кубик. надо просчитать минимальное количество ходов необходимое для сбора кубика. для кубика 3Х3 на данный момент минимальное количество ходов 25
6лять, сцука нах, чорт, едрит-гидропирит, мысль ускользнула - я чуть не изобрел как измерять новую величину, которая описывает насколько изменяется расклад ситуации по шкале движения от исходного состояния к цели в зависимости от хода
Fillippiq
10-12-2009, 17:44
тут надо десяток теорем походу доказать из комбинаторной математики.
без степени к.ф-м.н. нефег брацца за эту прогу...
эти теоремы давно доказаны, их достаточно найти прочитать, этот мальчик вполне настойчив чтобы справиться с этим
понимаете, эту программу пишет компютерный полу-гений из 10 класса, зовут его Булат. Сегодня я его на выходе из школы встретил, и спросил как идут дела, он мне ответил, что застрял на середине алгарифма, что мол списывался с американскими програмистами, они типа тоже теперь озадачились. Я подумал, чем Фарит хуже, и озадачил вас тоже. Булат мне говорил, что возможность собрать кубик за 4 хода доказана. Завтра будут подробности)
знать количество ходов и знать какие они - не одно и то же
передай ему что тут надо использовать подход как в шахматах - ввести понятие энтропии и смотреть как с предполагаемым ходом эта энтропия увеличивается или уменьшается
доработал свою теорию, с начального, полностью собранного состояния, где одна из шести граней может принять 3 положения, независимо от направления движения, можно получить 6(граней)*3(положения)*1(степень хода). Тоесть, теперь за 4 хода получим 104976 вариантов. Конечно, в этих цифрах огромное кол-во повторов, но все равно это не такие запредельные числа. Теперь думаю, как посчитать кол-во ВСЕХ вариантов расположения цветов) в воскресенье спрошу у дяди-програмиста)
ЗЫ Возможно мой метод очень грубый, и напоминает брутофорс, но как никрути, должен работать)
и что ты еще хочешь услышать?
его не существует, а перебор сделать - это проще простого и не спортивно
кстати, я в посте 21 написал один подход - чем он тебе не нравится
+100500
очень сложное япономать
ваще ахуеть
не существует алгоритма решения кубика рубика?))
До 23 ходов говорят добрались.......
откуда инфа? слышал что 24 только разрабатывают
Инфа официальная, вольный перевод:
Максимальное количество ходов, которое требуется для сбора кубика Рубика, сокращено до двадцати трёх. Эту математическую задачу решил стенфордский выпускник Томаш Рокицки. Разработанная им стратегия была запущена на вычислительной станции, которая подтвердила правильность расчётов.
Рокицки применил оригинальный подход. Вместо анализа отдельных ходов он взял в расчёт форму кубика и разбил её на набор его состояний. Всего получилось 2 млрд состояний (sets) с 20 млрд элементов в каждом. В этой концепции ходы рассматриваются как пары «связанных состояний» (cosets). Рокицки доказал, что большое количество состояний на самом деле повторяют друг друга и поэтому могут быть проигнорированы. Но даже после оптимизации для расчёта всей модели требуются очень большие вычислительные ресурсы. Предыдущий рекорд (25 ходов) потребовал 1500 часов на машине с процессором и Q6600 (1,6 ГГц) и 8 ГБ оперативной памяти. Сейчас Рокицки позаимствовал 7,8 ядро-лет вычислений на более мощном кластере в известной киностудии Sony Pictures Imageworks (вычисления выполнялись во время простоя на тех же машинах, где просчитывались спецэффекты «Человека-паука 3» и мультика «Лови волну»): всего было проанализировано более 200 тыс. связанных состояний.
Взято:
http://www.soulphysics.org/2008/05/f...roblem-is.html
а комп долго будет 107000 вариатов переьирать?
пс 256 метров оперативы)
Тыб ещё разрешение и частоту развёртки монитора указал
Mephisto
11-12-2009, 17:23
:D:D:D
это то не важно! а вот сетевая карта у меня старая, долго будет, да?
Главное что бы клава попрочнее была, с упругими короткоходными клавишами, тогда будеш очень быстро варианты подбирать