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


Он получается в случае, когда мы имеем «чистый» кубик и комплект наклеек.
Поскольку, в общем случае, не существует никаких ограничений на их наклейку, то мы имеем 54 наклейки и 54 места для их наклеивания. Количество вариантов наклейки будет равно
N = 54! = 2.3 х 10&71 = 2.3 x 10_71
54! = 230843697339241380472092742683027581083278564571807941132288000000000000
Здесь значок «&» обозначает степень, поскольку не все редакторы позволяют ставить индексы.
Далее, нет никаких ограничений на количество цветов в комплекте наклеек. Поэтому их может быть и больше чем 54.

В этом случае количество вариантов наклейки резко увеличивается.
И наконец нет никаких ограничений на количество комплектов наклеек



В этом случае количество вариантов наклейки становится равным бесконечности.
Возникает вопрос - а есть ли смысл рассматривать этот вариант? Что он может нам дать для построения модели?
Оказывается - достаточно много.
Те, кто занимался программированием, уже, наверное, уловили ассоциацию.
У нас есть выделенная область памяти «чистый кубик» и информация, которая может быть помещена в эту память - «наклейки».
Такая выделенная область памяти в программировании называется «массив» (array).
То, что такое представление Кубика в виде массива ячеек компьютерной памяти и информации в них содержащейся допустимо, подтверждает существование «кубика для слепых».

Итак, мы вполне можем создать модель Кубика Рубика в виде массива в памяти компьютера.
Осталось выяснить правила заполнения этого массива информацией и правила обработки этой информации.
Этим мы и займемся в следующих частях.
http://wlad55wlad.livejournal.com/9860.html
Оценили 0 человек
0 кармы