Matice sousedství je jedním ze způsobů, jak reprezentovat graf jako matici.
Matice sousedství grafu s konečným počtem vrcholů (číslovaných od 1 do ) je čtvercová celočíselná matice velikosti , ve které je hodnota prvku rovna počtu hran od teho vrcholu grafu k temu vrcholu.
Někdy, zejména v případě neorientovaného grafu, se smyčka (hrana od -tého vrcholu k sobě samému) počítá jako dvě hrany, to znamená, že hodnota diagonálního prvku je v tomto případě rovna dvojnásobku počtu smyček kolem sebe. -tý vrchol .
Matice sousedství jednoduchého grafu (neobsahující smyčky nebo více hran) je binární matice a obsahuje nuly na hlavní diagonále .
Matici sousednosti bipartitního grafu , jehož části mají také vrcholy , lze zapsat v následujícím tvaru
kde je matice a a jsou nulové matice. V tomto případě menší matice jednoznačně reprezentuje graf a zbývající části matice mohou být vyřazeny. někdy nazývaná matice bis-adjacency.
Formálně nechť je bipartitní graf s částmi a . Bikonjugovaná matice je matice 0–1, ve které tehdy a jen tehdy, když .
Pokud je bipartitní multigraf nebo vážený graf, pak prvky budou počet hran mezi vrcholy nebo váhy hran .
Graf | Matice sousedství |
---|---|
Matice sousedství neorientovaného grafu je symetrická , což znamená, že má skutečné vlastní hodnoty a ortogonální základ vlastních vektorů. Soubor jeho vlastních hodnot se nazývá spektrum grafu a je hlavním předmětem studia teorie spektrálních grafů .
Dva grafy a s maticemi sousednosti a jsou izomorfní právě tehdy, když existuje permutační matice taková, že
.Z toho vyplývá, že matice a jsou podobné , a proto mají stejné sady vlastních čísel, determinantů a charakteristických polynomů. Opak však není vždy pravdou - dva grafy s podobnými maticemi sousedství nemusí být izomorfní (to se stane, pokud matice není permutabilní, například matice a jsou podobné, ale odpovídající grafy nejsou izomorfní).
Pokud je matice sousednosti grafu , pak má matice následující vlastnost: prvek v -tém řádku, -tém sloupci je roven počtu cest z -tého vrcholu k -tému, sestávajícího přesně z hran.
Matice sousedství a seznamy sousedství jsou hlavní datové struktury , které se používají k reprezentaci grafů v počítačových programech.
Použití matice sousednosti je výhodnější pouze v případě neřídkých grafů s velkým počtem hran, protože vyžaduje uložení jednoho bitu dat pro každý prvek. Pokud je graf řídký, pak bude většina paměti promarněna ukládáním nul, ale v případě neřídkých grafů představuje matice sousednosti graf v paměti poměrně kompaktně, s využitím asi kousku paměti, což může být řád mnohem lepší než seznamy sousedství.
V algoritmech, které pracují s váženými grafy (například v algoritmu Floyd-Warshall ), prvky matice sousednosti namísto čísel 0 a 1, které označují přítomnost nebo nepřítomnost hrany, často obsahují váhy hran. oni sami. Současně se na místo chybějících hran vloží nějaká speciální hraniční hodnota ( anglicky sentinel ) , v závislosti na řešeném problému, obvykle 0 nebo .