Orgraf, nebo orientovaný graf je grafický model složený z vrcholů a směrových hran, které umožňují modelovat různé síťové procesy. Sestavení orgrafu podle hmotnostní matice je důležitým úkolem v analýze dat a teorii grafů.
Hmotnostní matice je čtvercová matice, kde každý prvek označuje hmotnost hrany mezi dvěma vrcholy orgrafu. Existuje několik způsobů, jak postavit orgraf podle hmotnostní matice, a v tomto článku se podíváme na podrobného průvodce, jak tento úkol provést.
Prvním krokem je vytvoření vrcholů grafu. Pro každý vrchol je třeba přiřadit jedinečný název nebo štítek. Poté se v závislosti na velikosti hmotnostní matice vytvoří odpovídající počet vrcholů. Pokud je například v matici 3x3, musíte vytvořit 3 vrcholy.
Po vytvoření vrcholů byste mezi ně měli přidat hrany. Chcete-li to provést, musíte projít každý prvek hmotnostní matice a zkontrolovat jeho hodnotu. Pokud je hodnota prvku vynikající od nuly, pak mezi příslušnými vrcholy existuje hrana. Směr žebra je určen polohou prvku v matici - řádek odpovídá počátečnímu vrcholu a sloupec je konečný.
Krok 1. Vytvoření propojovací matice
Chcete-li vytvořit matici sousedství, musíte znát počet vrcholů grafu. Toto číslo označíme jako N. poté vytvoříme prázdnou matici o velikosti N X N.
Matici vyplníme hodnotami závaží žeber. Pokud mezi vrcholy s čísly i a j chybí hrana, pak prvek matice s indexem (i, j) bude nulový. Pokud existuje žebro s váhou W, pak odpovídající prvek bude w.
Vezměme si příklad. Ať máme graf se 4 vrcholy a jeho hmotnostní matice vypadá následovně:
1 0 4 02 0 0 30 1 0 00 0 0 0
Abychom vytvořili matici sousedství, vytvoříme prázdnou matici 4x4 a vyplníme ji hodnotami vah:
0 0 4 02 0 0 30 1 0 00 0 0 0
Vytvořili jsme tedy matici sousedství pro daný graf. Pomůže nám v další analýze a konstrukci orgrafu.
Jak vytvořit sousední matici založenou na hmotnostní matici grafu
Sousední matice je tabulka, kde řádky a sloupce odpovídají vrcholům grafu, zatímco hodnoty v buňkách matice označují přítomnost hrany nebo její nepřítomnost mezi příslušnými vrcholy. Chcete-li vytvořit sousední matici založenou na hmotnostní matici grafu, postupujte podle následujících kroků:
- Vytvořte prázdnou čtvercovou matici o velikosti n x n, kde n je počet vrcholů v grafu.
- Proinicializujte všechny hodnoty matice hodnotou 0 a označte nepřítomnost hran mezi vrcholy.
- U každého hranu (i, j) v hmotnostní matici grafu, kde i a j jsou čísla vrcholů, změňte hodnotu matice sousedství na odpovídající hmotnost hrany.
Graf hmotnostní matice:
| 0 | 2 | 0 || 1 | 0 | 4 || 0 | 0 | 0 |
| 0 | 2 | 0 || 1 | 0 | 4 || 0 | 0 | 0 |
V tomto příkladu má žebro (0, 1) hmotnost 2, žebro (1, 0) má hmotnost 1, žebro (1,2) má hmotnost 4. Zbývající hodnoty sousední matice jsou 0, protože neexistují žádná odpovídající žebra.
Krok 2. Určení směru žeber
Chcete-li určit směr žeber, musíte se podívat na hmotnostní matici a analyzovat hodnoty v každé buňce.
1. Projděte si řádky matice, počínaje prvním a posledním.
2. Každá hodnota buňky matice by měla být testována na rovnost nulovou nebo nižší. Pokud je hodnota větší než nula, pak hrana jde z vrcholu ve sloupci matice na vrchol odpovídající danému řádku.
3. Pokud je hodnota buňky nulová nebo menší, žebro jde opačným směrem: od vrcholu odpovídajícího danému řádku až po vrchol ve sloupci matice. To může být užitečné, když potřebujete nastavit závaží.
Po určení směru žeber zbývá pouze postavit org pomocí získaných hodnot. Za tímto účelem musí každý vrchol grafu přiřadit odpovídající žebra se zadaným směrem.
Jak určit směr ortografických žeber na základě sousední matice
Pro určení směru žeber v ortografu na základě matice sousedství je nutné použít následující pravidlo:
- Analyzujte každou buňku sousední matice.
- Pokud je hodnota buňky 1, znamená to, že existuje směrový okraj z vrcholu reprezentovaného řádkem na vrchol reprezentovaný sloupcem.
- Pokud je hodnota buňky 0, znamená to, že mezi odpovídajícími vrcholy není žádný okraj.
Pokud je například v matici sousedství na průsečíku 1. řádku a 2.sloupce 1 a na průsečíku 2. řádku a 1. sloupce je 0, znamená to, že v orgrafu existuje směrové žebro z 1. vrcholu na 2. vrchol, ale neexistuje žebro z 2. vrcholu na 1. vrchol.
Analýzou hodnoty každé buňky sousední Matice lze tedy určit směr okrajů orgrafu.
Krok 3. Konstrukce vrcholů a hran orgrafu
Po vytvoření hmotnostní matice můžeme začít stavět orgraf. Orgraf je graf, ve kterém mají žebra směr.
Vrcholy orgrafu odpovídají prvkům hmotnostní matice. Každý prvek matice se stává samostatným vrcholem v orgrafu.
Ortografická žebra jsou definována podle hodnot hmotnostní matice. Pokud je hodnota prvku matice větší než nula, provede se směrový hrana mezi příslušnými vrcholy.
Směr hrany v orgrafu odpovídá pořadí umístění vrcholů v hmotnostní matici. Pokud je například prvek matice v I. řádku a J.sloupci, pak bude hrana směřovat z I. vrcholu do J. vrcholu.
Vytvořením vrcholů a okrajů orgrafu tedy můžeme vizualizovat vztahy mezi prvky hmotnostní matice a získat představu o datové struktuře.