Визуализация второй композиции графа с помощью networkx

Опубликовано: 12 Апреля, 2022

В этой статье мы увидим, как визуализировать композицию два графа с помощью networkx. Если нам даны два графа A и B, то их композицию можно найти, выполнив операцию объединения на множестве узлов и на множестве ребер A и B.

Просто, если ребро содержится между любыми двумя вершинами в любом из начальных графов, оно будет входить в состав этих графов.

Пример:

Начальный график G:

грамм

Начальный график H:

Результат композиции 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. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.