Игра в камни (Интерпретация условия задачи)
От: Didro Россия home~pages
Дата: 18.01.08 18:59
Оценка:
Добрый день, у меня есть не мой рукописный сборник всяческих задач по программированию,
среди прочих разделов в нем есть раздел по параллельному програмированию.

В этом разделе есть вот такой текст задачи:

Игра в камни
Игрой в камни называется игра на ориентированном ациклическом графе G, в которой камни кладутся на вершины графа согласно следующим правилам:

  1. В любой момент времени может быть снято любое число камней.
  2. Процесс вычисления. Камень может быть положен на вершину, если эта вершина входная или на всех ее предшественниках лежат камни. Допускается сдвиг камня с вершины на следующую за ней.
  3. Правило окончания. Игра заканчивается после того, как на каждой выходной вершине побывает камень.
Игры в камни рассматриваются на ориентированном ациклическом графе. Традиционная игра в красные камни обобщается до параллельной игры (RA-игра), в которой допускается одновременная выкладка или передвижение нескольких камней, число которых равно числу процессоров. Обобщение игры в красно-синие камни (RB-игра) допускает групповой обмен данными между СОЗУ и ОЗУ.


Внимание вопрос.

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

Были мысли, что это задача принадлежит тому же классу, что и задача про Философов (Дейкстра) — т.е. что это задача на моделирование процесса вычислений и тогда вроде бы как, так же как и в Философах, конечной целью является сам процесс моделирования.

Мысли по поводу возможных интерпретаций условий задачи, ссылки на авторов задачи, мысли о возможных решениях (для тех кто понял условие )приветствуются.

Спасибо.




Далее идет много букв, т.е. описание RA и RB игр. RA и RB игры выделены в отдельные задачи, но для общей картины приведу и их условия тоже:

Игра в красные камни
Игра в камни называется параллельной игрой порядка A, если в правиле 2 допускается одновременная выкладка A камней. Параллельная игра порядка A называется RA-игрой, если имеется R (красных) камней. Степень параллелизма A соответствует числу процессоров системы, R – числу регистров, действия над которыми могут выполняться одновременно. Временем игры на графе G называется — число применений правила 2 до завершения игры.
{Ну тут хоть понятно, что задача похожа на задачу оптимизации по времени игры}

Игра в синие камни
Пусть красный камень на вершине графа обозначает величину, записанную в СОЗУ, а синий – величину, хранящуюся во внешней памяти. Обмен между СОЗУ и внешней памятью осуществляется блоками размера B, т.е. одновременно самое большее на B вершин графа, содержащих красные (синие) камни, могут быть положены синие (красные). RB – игра ведется с R красными камнями и неограниченным числом синих камней. На вершине допускается одновременное нахождение красного и синего камней.
Групповая RB-игра в камни порядка B – игра на ориентированном ациклическом графе, которая ведется по правилам:

  1. В любой момент времени с вершин графа может быть снято любое количество камней
  2. Ввод. В начальный момент времени все входные вершины содержат синие камни.
  3. Результат вычисления. На каждую вершину должен быть положен синий камень.
  4. Процесс вычисления. Красный камень может быть положен на вершину, если на всех ее предшественниках лежат красные камни. Допускается сдвиг камня с вершины на следующую за ней. Допускаются параллельное положение и сдвиг камней.
  5. Запись во внешнюю память. Не больше B вершин, на которых расположены красные камни, могут быть одновременно помечены синими камнями.
  6. Считывание из внешней памяти. Не больше B вершин, на которых расположены синие камни, могут быть одновременно помечены красными камнями.
RB-игра ведется с использованием R красных камней. Временем обмена RB-игры на графе называется величина , равная числу применений правила 5 и правила 6.
RB-игра сильно отличается от RA-игры, т.к. в первой за счет замены красных камней синими можно обойтись без перевычисления промежуточных величин (сохранив их во внешней памяти), для которых в RA-игре не хватило бы места на регистрах.

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.