szó jelentését keresi. A DICTIOUS-ban nem csak a
szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a
szót egyes és többes számban mondani. Minden, amit a
szóról tudni kell, itt található. A
szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. A
és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.
Kiejtés
Főnév
szomszédsági mátrix
- (matematika, gráfelmélet) Egy véges irányított vagy irányítatlan csúcsú gráf szomszédsági mátrixa (ritkábban: adjacenciamátrixa) az az -es mátrix, amelynek a nem a főátlóban szereplő eleme az csúcsból a csúcsba vezető élek száma, míg a főátlóban található , vagy az csúcsnál lévő hurkok számának kétszerese vagy csak a hurkok száma (az, hogy melyiket használjuk a matematikai felhasználástól függ.
Szomszédsági mátrix definíció
A **szomszédsági mátrix** egy gráf vagy hipergráf reprezentációja, ahol egy mátrix elemei a csúcsok közötti kapcsolatokat írják le. Hagyományos gráf esetén a mátrix sorai és oszlopai a csúcsokat jelölik, míg a mátrix elemei a csúcsokat összekötő élek súlyait vagy meglétét mutatják.
Definíció gráf esetén
Ha a gráf irányítatlan:
Az irányítatlan gráf szomszédsági mátrixa szimmetrikus.
Ha a gráf irányított:
Definíció hipergráf esetén
Hipergráfban a szomszédsági mátrix sora a csúcsok, oszlopa pedig a hiperélek szerint alakul:
Szomszédsági mátrix példák
1. Gráf szomszédsági mátrixa (irányítatlan gráf)
Példa:
- Csúcsok:
- Élek:
A mátrix:
2. Gráf szomszédsági mátrixa (irányított gráf)
Példa:
- Csúcsok:
- Irányított élek:
A mátrix:
3. Hipergráf szomszédsági mátrixa
Példa:
- Csúcsok:
- Hiperélek:
A mátrix:
Szomszédsági mátrix generálása
Gráf szomszédsági mátrixának generálása
def create_adjacency_matrix(edges, num_nodes):
import numpy as np
matrix = np.zeros((num_nodes, num_nodes), dtype=int)
for u, v in edges:
matrix = 1
matrix = 1 # Irányítatlan gráf esetén
return matrix
# Példa: Irányítatlan gráf
edges = # A=0, B=1, C=2
num_nodes = 3
adj_matrix = create_adjacency_matrix(edges, num_nodes)
print("Szomszédsági mátrix:\n", adj_matrix)
Hipergráf szomszédsági mátrixának generálása
def create_hypergraph_adjacency_matrix(hyperedges, vertices):
import numpy as np
num_vertices = len(vertices)
num_edges = len(hyperedges)
matrix = np.zeros((num_vertices, num_edges), dtype=int)
for j, edge in enumerate(hyperedges):
for i, vertex in enumerate(vertices):
if vertex in edge:
matrix = 1
return matrix
# Példa
vertices =
hyperedges =
matrix = create_hypergraph_adjacency_matrix(hyperedges, vertices)
print("Hipergráf szomszédsági mátrix:\n", matrix)
Szomszédsági mátrix előnyei és hátrányai
Előnyök
- Egyszerű és közvetlen reprezentáció.
- Könnyen implementálható algoritmusokhoz, mint például:
* Gráf bejárás (DFS, BFS).
* Legrövidebb út keresése (pl. Floyd-Warshall).
- Hatékony éleket keresni: .
Hátrányok
- Nagy memóriaigény sűrű gráfokhoz: , ahol a csúcsok száma.
- Ritka gráfok esetén sok felesleges nulla érték.
Összegzés
A szomszédsági mátrix egyszerű, de nagy memóriaigényű reprezentációja miatt főként sűrű gráfokhoz használatos. Hipergráfok esetében szintén hasznos, különösen incidenciamátrixként alkalmazva, amikor a csúcsok és hiperélek kapcsolatait vizsgáljuk.
Fordítások