PDA

Просмотр полной версии : Сложное програмирование!


Frinet
10-12-2009, 13:25
У меня знакомый делает программу, которая бы решала кубик-рубик два на два поля (вместо обычного 3х3) за 4 (!) поворота граней. На середине алгоритм зашел в тупик, возможно ли вообще сделать такую программу?

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

MC RsT
10-12-2009, 13:31
ю.юююююююююю

Kolos
10-12-2009, 13:32
не писти. минимальное количество ходов для решения кубика рубика >20

Frinet
10-12-2009, 13:32
вся разница в кол-во полей

Frinet
10-12-2009, 13:34
хз, вроде 9, завтра точно скажу

Kolos
10-12-2009, 13:36
если за 9 то автору проги подскажу куда обращаться для получения нобелевки за половину приза;)

Frinet
10-12-2009, 13:59
Хм, если с исходного положения нужно решить кубик за 4 хода, нужно сделать 4 правельных хода подряд. Шанс сделать первый правельный ход 1:6, тогда второй 1:6 в степени количества ходов. Тогда методом подбора при 4 ходи нужно попробовать 1296 вариантов. Или я не прав?

Kolos
10-12-2009, 14:06
ты какую то не ту задачу решаешь камрад

Charli
10-12-2009, 14:13
не ту задачу, не с того конца, не теми методами - я подскажу, нейронные сети надо использовать, ога ;)

Frinet
10-12-2009, 14:59
почему не ту, объясните пожайлуста:) ведь с начального правильного положения возможно сделать лишь 1296 разных вариантов за 4 хода. Или я снова что то не понимаю?:)

Три танкиста
10-12-2009, 15:13
Неразрешимые ситуации в кубике 2х2х2 бывают?

Frinet
10-12-2009, 16:35
да просто интересно решить програмно:)

Charli
10-12-2009, 17:02
короче, программно разные подходы бывают - можно тупым перебором, можно по правилам, чтобы правила действовали надо их описать - в какой ситуации программа как должна поступить

Mephisto
10-12-2009, 17:18
а нука давай теоретиг. Слабай нам прогу на турбо паскале на своем :D

Charli
10-12-2009, 17:24
я уже 7 лет как кодингом не занимаюсь, только учу :D:D:D

Kolos
10-12-2009, 17:27
не факт что за 4 хода можно собрать кубик. надо просчитать минимальное количество ходов необходимое для сбора кубика. для кубика 3Х3 на данный момент минимальное количество ходов 25

Charli
10-12-2009, 17:34
6лять, сцука нах, чорт, едрит-гидропирит, мысль ускользнула - я чуть не изобрел как измерять новую величину, которая описывает насколько изменяется расклад ситуации по шкале движения от исходного состояния к цели в зависимости от хода

Fillippiq
10-12-2009, 17:44
тут надо десяток теорем походу доказать из комбинаторной математики.
без степени к.ф-м.н. нефег брацца за эту прогу...

Charli
10-12-2009, 17:58
эти теоремы давно доказаны, их достаточно найти прочитать, этот мальчик вполне настойчив чтобы справиться с этим

Frinet
10-12-2009, 18:52
понимаете, эту программу пишет компютерный полу-гений из 10 класса, зовут его Булат. Сегодня я его на выходе из школы встретил, и спросил как идут дела, он мне ответил, что застрял на середине алгарифма, что мол списывался с американскими програмистами, они типа тоже теперь озадачились. Я подумал, чем Фарит хуже, и озадачил вас тоже. Булат мне говорил, что возможность собрать кубик за 4 хода доказана. Завтра будут подробности)

Charli
10-12-2009, 18:57
знать количество ходов и знать какие они - не одно и то же
передай ему что тут надо использовать подход как в шахматах - ввести понятие энтропии и смотреть как с предполагаемым ходом эта энтропия увеличивается или уменьшается

Frinet
10-12-2009, 18:58
доработал свою теорию, с начального, полностью собранного состояния, где одна из шести граней может принять 3 положения, независимо от направления движения, можно получить 6(граней)*3(положения)*1(степень хода). Тоесть, теперь за 4 хода получим 104976 вариантов. Конечно, в этих цифрах огромное кол-во повторов, но все равно это не такие запредельные числа. Теперь думаю, как посчитать кол-во ВСЕХ вариантов расположения цветов) в воскресенье спрошу у дяди-програмиста)

ЗЫ Возможно мой метод очень грубый, и напоминает брутофорс, но как никрути, должен работать)

Frinet
10-12-2009, 21:54
типа ап

Charli
10-12-2009, 21:55
и что ты еще хочешь услышать?

Frinet
10-12-2009, 22:20
Алгоритм решения)

Charli
10-12-2009, 22:21
его не существует, а перебор сделать - это проще простого и не спортивно

Charli
10-12-2009, 22:25
кстати, я в посте 21 написал один подход - чем он тебе не нравится

Grommm
10-12-2009, 22:28
без пузыря не разобраца)

ArsEND
10-12-2009, 22:33
+100500
очень сложное япономать
ваще ахуеть

Kolos
11-12-2009, 09:27
не существует алгоритма решения кубика рубика?))

De_mon
11-12-2009, 10:32
До 23 ходов говорят добрались.......

Kolos
11-12-2009, 10:38
откуда инфа? слышал что 24 только разрабатывают

De_mon
11-12-2009, 13:19
Инфа официальная, вольный перевод:
Максимальное количество ходов, которое требуется для сбора кубика Рубика, сокращено до двадцати трёх. Эту математическую задачу решил стенфордский выпускник Томаш Рокицки. Разработанная им стратегия была запущена на вычислительной станции, которая подтвердила правильность расчётов.

Рокицки применил оригинальный подход. Вместо анализа отдельных ходов он взял в расчёт форму кубика и разбил её на набор его состояний. Всего получилось 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

Frinet
11-12-2009, 17:13
а комп долго будет 107000 вариатов переьирать?

пс 256 метров оперативы)

De_mon
11-12-2009, 17:22
Тыб ещё разрешение и частоту развёртки монитора указал

Mephisto
11-12-2009, 17:23
:D:D:D

Frinet
11-12-2009, 17:56
это то не важно! а вот сетевая карта у меня старая, долго будет, да?

De_mon
12-12-2009, 11:07
Главное что бы клава попрочнее была, с упругими короткоходными клавишами, тогда будеш очень быстро варианты подбирать