A gráf egy tetszőleges természetű valós rendszer matematikai absztrakciója , amelynek objektumai páronkénti kapcsolatban állnak egymással. A gráf mint matematikai objektum két halmaz gyűjteménye - maguknak az objektumoknak a halmaza, amelyet csúcskészletnek neveznek , és páronkénti kapcsolataik halmaza, amelyet élek halmazának neveznek. Egy élhalmaz eleme egy csúcshalmaz elempárja.
A grafikonokat széles körben használják a modern tudomány és technológia területén. Mind a természettudományokban (fizika és kémia), mind a társadalomtudományokban (például szociológia) használják őket, de a gráfok használata a számítástechnikában és a hálózati technológiákban érte el a legnagyobb léptéket.
Az életből a legegyszerűbb példaként megadhatjuk egy adott légitársaság repülési diagramját, amelyet egy gráf modellez, ahol a gráf csúcsai városok, élei pedig várospárokat összekötő járatok. A számítógépben található könyvtárfa egyben gráf is: a meghajtók, mappák és fájlok csúcsok, az élek pedig a fájlok és mappák egymásba ágyazását mutatják mappákban és meghajtókban [1] . A Wikipédia szerkezetét irányított gráf modellezi , amelyben a cikkek a gráf csúcsai, a hiperhivatkozások pedig ívek ( tematikus térkép ).
A gráfelmélet tanulmányozásának fő tárgya a grafikon .
A valós természet gráfokkal modellezett rendszerei igen változatosak, ezért a gráfok különböző típusai léteznek. A páronkénti kapcsolattal rendelkező elemekből álló rendszerek legegyszerűbb absztrakciója egy egyszerű gráf .
Meghatározás. Az egyszerű gráf két halmaz gyűjteménye - egy nem üres halmaz és a halmaz különböző elemeinek rendezetlen párjainak halmaza . A halmazt csúcsok halmazának , a halmazt élek halmazának nevezzük
,vagyis a halmaz a halmaz 2 elemű részhalmazaiból áll .
Kapcsolódó kifejezések
A gráfelméletnek nincs jól bevált terminológiája. Ezért egyes kiadványok az alábbiakban felsoroltaktól eltérő kifejezéseket is használhatnak.
A gráfokat általában diagramként ábrázolják : csúcsok - pontok, élek - vonalak.
Az pszeudográf két halmaz gyűjteménye – egy nem üres halmaz és a halmaz rendezetlen elempárjainak halmaza .
Az elem megengedett a pszeudográf éleinek halmazában .
Más szóval, ha az E halmaz elemei lehetnek hurkok, akkor a gráfot pszeudográfnak nevezzük [2] .
A multigráf két halmaz gyűjteménye – egy nem üres halmaz és a halmaz különböző elemeinek rendezetlen párjainak multihalmaza .
Vagyis ha nem halmaz, hanem család, vagyis ha ugyanazokat az elemeket tartalmazza, akkor az ilyen elemeket többszörös élnek, a gráfot pedig multigráfnak [2] .
A pszeudomultigráf két halmaz gyűjteménye – egy nem üres halmaz és a halmaz rendezetlen elempárjainak több halmaza .
Más szóval, ha egy család ugyanazokat az elemeket (több élt) tartalmazza és tartalmazhat hurkokat, akkor a gráfot pszeudo-multigráfnak nevezzük [2] .
Az irányított gráf (digráf) ( eng. irányított gráf vagy dirgaph ) két halmaz halmaza - egy nem üres halmaz és a halmaz különböző elemeiből álló ívek vagy rendezett párok halmaza
.két kijelzővel együtt
,ahol a leképezés minden ívhez hozzárendeli a kezdeti csúcsát (az ív kezdetét) , és a leképezés minden ívhez hozzárendeli a végcsúcsot (az ív végét) . Azt mondják, hogy az ív tól ig vezet
A vegyes gráf három halmaz gyűjteménye - csúcsok nem üres halmaza , és a halmaz különböző elemeiből álló ívek vagy rendezett párok halmaza , valamint a halmaz különböző elemeiből álló rendezetlen párok éleinek halmaza.
.két kijelzővel együtt
Az irányított és irányítatlan gráfok a vegyes gráfok speciális esetei.
Egy gráfot akkor nevezünk izomorf gráfnak, ha a gráf csúcsainak halmazától a gráf csúcshalmazához bijekció van , amelynek a következő tulajdonsága van: ha a gráfnak van egy éle a csúcstól a csúcsig , akkor a gráf élnek kell lennie a csúcstól a csúcsig és fordítva - ha a gráfnak van egy éle a csúcstól a csúcsig , akkor a gráfnak csúcstól csúcsig kell élnie . Irányított gráf esetén ennek a bijekciónak meg kell őriznie az él orientációját is. Súlyozott gráf esetén a bijekciónak meg kell őriznie az él súlyát is.
Az útvonal a gráfban egy véges csúcssorozat, amelyben minden csúcs (az utolsó kivételével) egy éllel kapcsolódik a sorozat következő csúcsához. A lánc ismétlődő élek nélküli útvonal. Az egyszerű útvonal egy ismétlődő csúcsok nélküli útvonal (ami azt jelenti, hogy az egyszerű útvonalban nincsenek ismétlődő élek).
Az orientált útvonal (vagy útvonal ) egy digráfban csúcsok és ívek véges sorozata, amelyben minden elem az előzőre és a következőre esik.
A ciklus olyan lánc, amelyben az első és az utolsó csúcs egybeesik. Ebben az esetben az út (vagy ciklus) hossza az alkotó éleinek száma . Figyeljük meg, hogy ha a és csúcsok valamelyik él végei, akkor e definíció szerint a sorozat egy ciklus. Az ilyen "elfajzott" esetek elkerülése érdekében a következő fogalmakat vezetjük be.
Egy utat (vagy ciklust) egyszerűnek nevezünk , ha a benne lévő élek nem ismétlődnek; elemi , ha egyszerű, és a benne lévő csúcsok nem ismétlődnek (ciklus esetén a kezdő és a záró kivételével).
Az utak és ciklusok legegyszerűbb tulajdonságai:
A gráf csúcshalmazán lévő bináris reláció , amelyet úgy adunk meg, hogy "van egy út innentől -ig ", egy ekvivalenciareláció , és ezért ezt a halmazt ekvivalenciaosztályokba osztja fel, amelyeket a gráf összekapcsolt összetevőinek neveznek. Ha egy gráfnak pontosan egy összefüggő komponense van, akkor a gráf össze van kötve. Az összekapcsolt komponensen bevezethetjük a csúcsok közötti távolság fogalmát, mint az ezeket a csúcsokat összekötő út minimális hosszát.
A gráf bármely maximálisan összefüggő részgráfját a gráf összekapcsolt komponensének (vagy egyszerűen komponensének) nevezzük . A „maximum” szó a befogadás tekintetében maximumot jelent, vagyis nem szerepel egy összefüggő részgráfban nagyszámú elemmel.
Egy gráf élét hídnak nevezzük, ha eltávolítása megnöveli az összetevők számát.
A grafikon neve:
Ez is előfordul:
Az egyszerű gráf egy egydimenziós egyszerű komplex .
Elvontabban a gráf hármasként definiálható , ahol és néhány halmaz ( csúcsokból és élekből ), és egy beesési függvény (vagy incidens ), amely minden élhez (rendezett vagy rendezetlen) egy pár csúcsot és -tól ( végei ). Ennek a koncepciónak a különleges esetei a következők:
Egy táblázat, ahol az oszlopok és a sorok is megfelelnek a gráf csúcsainak. Ennek a mátrixnak minden cellájába egy szám van írva, amely meghatározza a kapcsolat jelenlétét a felső sorból a felső oszlopba (vagy fordítva).
Ez a legkényelmesebb módja a sűrű grafikonok ábrázolásának.
Hátránya a memóriaigény, amely egyenesen arányos a csúcsok számának négyzetével.
Egy táblázat, ahol a sorok a gráf csúcsainak, az oszlopok pedig a grafikon hivatkozásainak (éleinek) felelnek meg. Egy mátrixcellában egy sor és egy oszlop metszéspontjában a következőt írjuk:
egy ha a kapcsolat "elhagyja" a tetejét , -1, ha a kapcsolat "belép" a csúcsba, 0 minden más esetben (vagyis ha a kapcsolat hurok, vagy a kapcsolat nem incidens a csúcsban)Ez a módszer meglehetősen nagy kapacitású (a méret arányos ) a tároláshoz, ezért nagyon ritkán, speciális esetekben alkalmazzák (például ciklusok gyors megtalálásához egy grafikonon).
Egy lista, ahol a gráf minden csúcsa egy karakterláncnak felel meg, amely a szomszédos csúcsok listáját tárolja. Az ilyen adatstruktúra nem a szokásos értelemben vett táblázat, hanem egy "listák listája".
Memória mérete: .
Ez a legkényelmesebb módja a ritka gráfok ábrázolásának, valamint az alapvető gráf bejárási algoritmusok szélességben vagy mélységben történő megvalósításánál, ahol gyorsan meg kell szerezni az éppen nézett csúcs "szomszédjait".
Egy lista, ahol a gráf minden éle egy karakterláncnak felel meg, amely az élre eső két csúcsot tárolja.
Memória mérete: .
Ez a legkompaktabb módja a grafikonok ábrázolásának, ezért gyakran használják külső tárolásra vagy adatcserére.
A gépi feldolgozásra alkalmas és egyben az emberi érzékelés számára kényelmes grafikonok leírására több szabványos nyelvet használnak, beleértve:
Egy sor kereskedelmi programot fejlesztettek ki gráfok készítésére, például a gráfépítés az ILOG alkalmazási szoftvercsomagok alapja (2009 óta az IBM Corporation tulajdona ), többek között a GoView, Lassalle AddFlow, LEDA (van ingyenes kiadás) ).
Van még egy ingyenes grafikus program, az igraph és egy ingyenes könyvtár , a Boost .
Vizualizációs programokA következő szoftvereszközöket használják a grafikonok megjelenítéséhez :