|
v7: Сеть Петри (Функциональная сеть Петри) реализация в 1С | ☑ | ||
---|---|---|---|---|
0
pvase
12.11.12
✎
11:51
|
Суть задачи. Есть некоторый граф с узлами, родителей у узла может быть от 0 до N, потомков может быть от 0 до N, вершины графа храняться с указанием их индексов Х и У.
Вопросов сразу несколько. 1 - Как лучше хранить такой граф в памяти? 2 - Как сделать функциональную сеть Петри по графу, с обходом узлов и проверкой маркеров? Прикладываю рисунок сети: <a href='http://imglink.ru/show-image.php?id=e1ef26061a7dae22e7a2edb4e5bc023b'> <img src='http://imglink.ru/thumbnails/12-11-12/b29dff7b779df967daa8223b8c21a7b3.jpg' border='0'> </a> Или так: http://imglink.ru/show-image.php?id=e1ef26061a7dae22e7a2edb4e5bc023b |
|||
1
mikecool
12.11.12
✎
11:52
|
бизнеспроцесс?
|
|||
2
Юрий Лазаренко
12.11.12
✎
11:54
|
Справочник?
|
|||
3
acsent
12.11.12
✎
11:57
|
Так это же обычное дерево, только перевернутое
|
|||
4
pvase
12.11.12
✎
11:58
|
(1) Можно сказать что да, хотя дело с производством.
(2) В Справочнике хранятся связи. Надо в памяти организовать структуру и обойти ее на признак на каком узле сейчас находиться остановка (не хватка маркеров) и решать задачу в этом узле (фактически надо получить координаты узлов, которые сейчас могут работать ввиду достаточности маркеров). |
|||
5
Cube
12.11.12
✎
11:59
|
(2) +1 С иерархией групп, как справочник "Подразделения" сделан.
|
|||
6
Cube
12.11.12
✎
11:59
|
+(5) Оу, это семерка... :) А там есть иерархия групп? Я что-то забыл... :)
|
|||
7
pvase
12.11.12
✎
12:00
|
(3) По виду похоже, но как такое дерево хранить лучше в памяти?
(5) Несколько родителей может быть. |
|||
8
pvase
12.11.12
✎
12:02
|
Можно через ТаблицаЗначений, но вопрос, как организовать структуру? Можно через ИндексированнуюТаблицу- та же ТЗ, вопрос по структуре остается. И еслибы только сохранить, а так нужно посчитать что не сделано.
Самый тупой вариант - рекурсия с перебором всех доступных родителей с защитой от зацикливания - но это очень плохой алгорим, если узлов много, то получим избыточне цикли. |
|||
9
akaBrr
12.11.12
✎
12:04
|
(8) ТЗ с вложеными ТЗ, так обычно дерево в памяти хранится в 7.7
|
|||
10
Юрий Лазаренко
12.11.12
✎
12:07
|
(6) Оу, точно. Тогда справочник не покатит.
|
|||
11
ДемонМаксвелла
12.11.12
✎
12:11
|
ТЗ, все строки имеют уникальный ключ (число или строка), есть колонки "ТЗ_Ключи_Родителей", "ТЗ_Ключи_Детей".
|
|||
12
ADirks
12.11.12
✎
12:25
|
(0) Навскидку: http://infostart.ru/public/158512/
не читал? |
|||
13
ILM
гуру
12.11.12
✎
12:37
|
Решается просто хранением уникальной пары.
"откуда", "куда". "Откуда", которых нет в выборке "куда" являются "началом или стартом", а когда "куда" нет в выборке "откуда" являются "окончанием или корнем". В одной таблице можно хранить целую кучу зависимостей. Структура и стоимость веток графа считается рекурсивно, алгоритмами обхода. Если граф постоянный и не меняется, то имеет смысл хранить более сложную структуру, для ускорения вычислений. Описание структуры не буду описывать, но она позволяет одним запросом получить весь граф или его отдельные части с весами, стоимостью и т.д. |
|||
14
ILM
гуру
12.11.12
✎
12:38
|
(13) Это конечно к уникальному нецикличному графу.
|
|||
15
pvase
12.11.12
✎
15:11
|
(13) Спасибо, так и сделал, ТЗ + Рекурсивно пересчет через функцию.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |