Тестирование графа плоскостности в R

Есть ли способ проверить, является ли сетевой граф плоским в R? Я смотрел в igraph, но безрезультатно.

Я знаю, что могу с MATLAB, используя BGL toolbox, но я хочу знать, пробовал ли кто-нибудь это в R.

1 ответ

Решение

Пакет RBGL в составе биокондуктора - это то, что вы ищете. RBGL предоставляет интерфейс к библиотеке Boost для анализа графиков (C++)

source("https://bioconductor.org/biocLite.R")
biocLite("RBGL")

library(RBGL)
library(igraph)

set.seed(1234)
g <- erdos.renyi.game(20, 1/5) ##Make an igraph graph
plot(g)

g <- as_graphnel(g) ## Convert igraph object to graphNEL object for planarity testing
boyerMyrvoldPlanarityTest(g)

# [1] FALSE

g <- erdos.renyi.game(20, 1/8)
plot(g)

g <- as_graphnel(g)
boyerMyrvoldPlanarityTest(g)
# [1] TRUE

Неплоский график

Непланарный

Планарный график

Planar

Другие вопросы по тегам