построение ациклического графа кусочно - PullRequest
0 голосов
/ 24 мая 2018

Я хотел бы построить ациклический граф.

Мне нужно построить это снизу вверх, потому что я могу только построить только подграф с ограниченным количеством узлов за раз.Я также могу прикрепить корень такого подграфа куда угодно.

Например, давайте предположим, что я хочу построить следующий граф (g).Края ориентированы и всегда направлены вниз.Также допускается использование нескольких ребер, поскольку это очевидно между G и I (я не думаю, что это сильно повлияет на алгоритм).

           A 
         / | \
        B  |  D 
        | /   | \  
  g =   C     E  F 
              | /
              G
             / \\
            H   I

Давайте предположим, что я могу создавать не более 5 узлов одновременно.График может быть построен в 3 этапа.

Сначала создайте подграф (g1) с 3 узлами:

          G
  g1 =   / \\
        H   I

После этого мы можем добавить другой подграф (g2) с g1, прикрепленным внизу

          D           D
          | \         | \
          E  F        E  F
 g2 =     | /    =    | /
          g1          G
                     / \\
                    H   I           

Наконец, мы можем построить график (g):

           A               A 
         / | \           / | \
        B  |  g2        B  |  D 
        | /             | /   | \  
 g =    C          =    C     E  F 
                              | /
                              G
                             / \\
                            H   I           

Надеемся, проблема ясна из примера.Я пытаюсь составить алгоритм, который для данного DAG и максимального размера идентифицирует такие части или приходит к выводу, что решения не существует.Например, граф (g) не может быть разделен, если максимальный размер равен 2.

Очевидно, что это будет тривиально для решения в дереве.

Существует ли алгоритм для этого?У этой или подобной проблемы есть имя?

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