Визуализация второй композиции графа с помощью networkx
В этой статье мы увидим, как визуализировать композицию два графа с помощью networkx. Если нам даны два графа A и B, то их композицию можно найти, выполнив операцию объединения на множестве узлов и на множестве ребер A и B.
Просто, если ребро содержится между любыми двумя вершинами в любом из начальных графов, оно будет входить в состав этих графов.
Пример:
Начальный график G:
Начальный график H:
Результат композиции G и H:
Объяснение: Если мы назовем узлы в обоих графах G и H целыми числами, то мы ясно заметим, что набор узлов и ребер G будет надмножеством H, и, следовательно, их объединение даст G взамен.
Пример 2:
Начальный график G:
Начальный график H:
Результат композиции G и H:
Объяснение: Мы видим, что все ребра, которые находятся в графе G, присутствуют в графе H, за исключением узла между первым и третьим узлами справа, поэтому выполнение композиции G и H добавляет все ребра из G и H в результат.
Важные моменты о функции Compose:
- Атрибуты H имеют приоритет над атрибутами G.
- Возвращаемый график имеет тот же тип, что и G.
- G и H должны быть либо направленными, либо ненаправленными.
- G и H должны быть графами или мультиграфами.
Реализация композиции с использованием Python:
Для нашей задачи мы воспользуемся функцией networkx.compose (), чтобы составить 2 графа.
Syntax: compose(G, H)
- G: It is a networkx Graph object which is passed as an argument to compose function.
- H: It is also an networkx Graph object which is passed as an argument to compose function.
Result of compose function will be union of edge and vertices set of G and H.
Подход:
- Мы будем импортировать networkx с псевдонимом nx.
- Создайте образец графического объекта G с помощью функции path_graph ().
- Создайте второй образец графического объекта H с помощью функции path_graph ().
- Затем мы вызовем функцию compose, передав G в качестве аргумента.
- Мы захватим объект, возвращаемый функцией compose, в другом объекте R.
- Затем мы вызовем функцию draw (), передав R в качестве аргумента, который отобразит дополнительный график.
Code:
Python3
# importing networkx module import networkx as nx # creating sample graph object G = nx.path_graph( 7 ) # creating sample graph object H = nx.path_graph( 3 ) # compose of G and H saving in R R = nx.compose(G,H) # calling draw() to visualize the complement graph nx.draw(R) |
Выход:
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.