Протестируйте на циклы в ориентированном графе
graphisdag(
G
)
G | N на n разреженная матрица, которая представляет ориентированного графа. Ненулевые записи в матричном G указывают на присутствие ребра. |
Дополнительные сведения о функциях теории графов см. в Функциях Теории графов.
graphisdag(
возвращает логическую единицу (G
)true
), если ориентированный граф, представленный матричным G
, является направленным графом без петель (DAG) и логическим нолем (false
) в противном случае. G
является N на n разреженной матрицей, которая представляет ориентированного графа. Ненулевые записи в матричном G
указывают на присутствие ребра.
Создайте и просмотрите направленный граф без петель (DAG) с шестью узлами и восемью ребрами.
DG = sparse([1 1 1 2 2 3 4 6],[2 4 6 3 5 4 6 5],true,6,6) DG = (1,2) 1 (2,3) 1 (1,4) 1 (3,4) 1 (2,5) 1 (6,5) 1 (1,6) 1 (4,6) 1 view(biograph(DG))
Протестируйте на циклы в DAG.
graphisdag(DG) ans = 1
Добавьте ребро в DAG, чтобы сделать его циклическим, и затем просмотреть ориентированного графа.
DG(5,1) = true DG = (5,1) 1 (1,2) 1 (2,3) 1 (1,4) 1 (3,4) 1 (2,5) 1 (6,5) 1 (1,6) 1 (4,6) 1 view(biograph(DG))
Протестируйте на циклы в новом графике.
graphisdag(DG) ans = 0
Загрузите базу данных Gene Ontology на объект geneont.
GO = geneont('live',true);
Преобразуйте объект geneont в матрицу.
CM = getmatrix(GO);
Протестируйте на циклы в графике.
graphisdag(CM)
Создайте и просмотрите случайный направленный граф без петель (DAG) с 15 узлами и 20 ребрами.
g = sparse([],[],true,15,15); while nnz(g) < 20 edge = randsample(15*15,1); % get a random edge g(edge) = true; g(edge) = graphisdag(g); end view(biograph(g))
Протестируйте на циклы в графике.
graphisdag(g)
[1] Siek, J.G., Ли, L-Q и Lumsdaine, A. (2002). Руководство пользователя библиотеки графика повышения и справочник, (верхний Сэддл-Ривер, образование НДЖ:ПИРСОНА).
graphallshortestpaths
| graphconncomp
| graphisomorphism
| graphisspantree
| graphmaxflow
| graphminspantree
| graphpred2path
| graphshortestpath
| graphtopoorder
| graphtraverse
| isdag