Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Graph.doc
Скачиваний:
7
Добавлен:
16.08.2019
Размер:
1.3 Mб
Скачать

Операції над графами та перетворення графів

Об’єднанням графів G1=(V1,E1) та G2=(V2,E2) (позначається G1G2) називається граф виду (V1V2,E1E2). Якщо графи G1=(V1,E1) та G2=(V2,E2) такі, що V1V2=, то G1G2 називається диз’юнктивним об’єднанням G1 та G2.

Нехай, наприклад, G1=({a,b,c},{(a,b),(a,c)}), G2=({a,b,c,d},{(a,d),(b,a), (c,d)}). Тоді G1G2=({a,b,c}{a,b,c,d},{(a,b),(a,c)}{(a,d),(b,a),(c,d)}) =({a,b, c,d},{(a,b),(a,c),(a,d),(c,d)}).

Розглянемо приклад диз’юнктивного об’єднання графів. Нехай G1=({a,b,c},{(a,b),(a,c)}), G2=({1,2,3,4},{(1,4),(2,3),(3,1)}). Оскільки {a,b,c}{1,2,3,4}=, то G1G2=({a,b,c,1,2,3,4},{(a,b),(a,c),(1,4),(2,3),(3,1)}) – диз’юнктивне об’єднання графів G1 та G2.

Перерізом графів G1=(V,E1) та G2=(V,E2) (позначається G1G2) називається граф виду (V,Е1Е2).

Різницею графів G1=(V,E1) та G2=(V,E2) (позначається G1\G2) називається граф виду (V,E1\E2).

Доповненням графу G=(V,E) (позначається G) називається граф виду (V,V(2)\E).

Нехай, наприклад,

G1=({a,b,c,d}, {(a,c),(a,d),(b,c),(c,c),(d,c)}),

G2=({a,b,c,d}, {(a,a),(b,c),(c,a),(c,d)}).

Тоді G1G2=({a,b,c,d}, {(a,c),(b,c),(d,c)}),

G1\G2=({a,b,c,d},{(a,d),(c,c)}),

G2\G1=({a,b,c,d},{(a,a)}),

G1=({a,b,c,d},{(a,a),(a,b),(b,b),(b,d),(d,d)}),

G2=({a,b,c,d},{(a,b),(a,d),(b,b),(b,d),(c,c),(d,d)}).

Добутком графів G1=(V1,E1) та G2=(V2,E2) (позначається G1G2) називається граф виду (V1V2,E), множина ребер якого Е визначається такою умовою:

та або

та .

Нехай, наприклад,

G1=({a,b,c},{(a,a),(a,c),(b,c)}),

G2=({1,2,3},{(1,2),(1,3)}).

Тоді G1G2=({<a,1>,<a,2>,<a,3>,<b,1>,<b,2>,<b,3>,<c,1>,<c,2>,<c,3>}, {(<a,1>,<a,1>),(<a,1>,<a,2>),(<a,1>,<a,3>),(<a,1>,<c,1>),(<a,2>,<a,2>),

(<a,2>,<c,2>),(<a,3>,<a,3>),(<a,3>,<c,3>),(<b,1>,<b,2>),(<b,1>,<b,3>), (<b,1>,<c,1>),(<b,2>, <c,2>), (<b,3>,<c,3>),(<c,1>,<c,2>),(<c,1>,<c,3>)}).

Вилучення вершини. Нехай G=(V,E) – граф, vV. Вилучення вершини v з графа G визначається таким чином: G-v=(V\{v}, E\{(v,u)|(v,u)E}). Нехай, наприклад, G=({a,b,c,d},{(a,b),(a,c),(b,d),(b,c)}). Тоді

G-a=({a,b,c,d}\{a},{(a,b),(a,c),(b,d),(b,c)}\{(a,b),(a,c)})=({b,c,d},{(b,d), (b,c)});

G-b=({a,b,c,d}\{b},{(a,b),(a,c),(b,d),(b,c)}\{(a,b),(b,d),(b,c)})= ({a,c,d},{(a,c)}).

Уведення вершини. Нехай G=(V,E) – граф, vV. Уведення вершини v у граф G визначається таким чином: G+v=(V{v},E}). Нехай, наприклад, G=({a,b,c,d},{(a,b),(a,c),(b,d),(b,c)}). Тоді G+f=({a,b,c,d}{f},E)=({a,b,c,d,f},E).

Вилучення ребра. Нехай G=(V,E) – граф, еE. Вилучення ребра е з графа G визначається таким чином: G-е=(V, E\{е}). Нехай, наприклад, G=({a,b,c,d},{(a,b),(a,c),(b,d),(b,c)}), е=(a,c). Тоді:

G-е=({a,b,c,d},{(a,b),(a,c),(b,d), (b,c)}\ {(a,c)})=({a,b,c,d}, {(a,b),(b,d),(b,c)}).

Уведення ребра. Нехай G=(V,E) – граф, u,vV, u та v несуміжні. Уведення ребра е=(u,v) у граф G визначається таким чином: G+е=(V,E{е}). Нехай, наприклад, G=({a,b,c,d},{(a,b),(a,c)}). У цьому графі вершини а та d несуміжні, отже, можна увести в G ребро е=(a,d). Маємо: G+е=({a,b,c,d}, {(a,b),(a,c)}{(a,d)})=({a,b,c,d},{(a,b),(a,c),(a,d)}).

Уведення вершини у ребро. Нехай G=(V,E) – граф, uV, (v,w)E. Щоб увести вершину u у ребро (v,w) графу G, потрібно: а) вилучити ребро (v,w) з графу G; нехай G1=G-(v,w); б) увести вершину u у граф G1: G2=G1+u; в) увести у граф G2 ребра (u,v) та (u,w): G3=(G2+(u,v))+(u,w). Нехай, наприклад, G=({a,b,c,d},{(a,b),(a,c),(b,d),(b,c)}). Уведемо вершину е у ребро (a,c). Маємо:

G1=G-(а,с)=({a,b,c,d},{(a,b),(b,d),(b,c)}); G2=G1+е=({a,b,c,d,е},{(a,b),(b,d),(b,c)}); G3=(G2+(е,а))+(е,с)=({a,b,c,d,е},{(a,b),(b,d),(b,c),(е,а),(е,с)}).

Ототожнення вершин. Нехай G=(V,E) – граф, v,wV. Щоб ототожнити вершини v та w графу G потрібно:

а) якщо вершини v та w суміжні, то вилучити ребро (v,w) й покласти G1=G-(v,w), інакше покласти G1=G;

б) побудувати множини См(v)={x| xV,(v,x)E}, См(w)={x| xV,(w,x)E};

в) вилучити вершини v та w з графу G1: G2=(G1-v)-w;

г) увести вершину u у граф G2: G3=G2+u;

д) послідовно увести у граф G3 ребра виду (u,x), де x  См(v)См(w).

Нехай, наприклад, G=({a,b,c,d},{(a,d),(a,c),(b,d),(b,c)}). Ототожнимо вершини a та b графу G. Оскільки a та b несуміжні, то G1=G; См(a)={d,c}, См(b)={d,c}, См(a)См(b)={d,c}; G2=(G1-a)-b=({c,d},). Оскільки серед вершин графу G2 немає вершини a, то можемо увести a у G2: G3=G2+a=({а,c,d},); тепер слід послідовно увести в G3 ребра (a,d) та (a,c): G4=(G3+(a,d))+(a,c)=({a,d,c},{(a,d),(a,c)}).

Стягування ребра. Нехай G=(V,E) – граф, (v,w)E. Щоб стягнути ребро (v,w), потрібно ототожнити кінці цього ребра, тобто вершини v та w графу G. Нехай, наприклад, G=({a,b,c,d},{(a,d),(a,c),(b,d),(b,c)}). Стягнемо ребро (a,c) графу G. Спочатку вилучимо ребро (a,c): G1=G-(a,c) =({a,b,c,d},{(a,d),(b,d),(b,c)}). Знайдемо вершини, суміжні відповідно з a та c: См(a)={d}, См(c)={b}. G2=(G1-a)-c=({b,d},{(b,d)}). Оскільки серед вершин графу G2 немає a, то можемо увести a у G2: G3=G2+a=({а,b,d},{(b,d)}); тепер слід послідовно увести в G3 ребра (a,d) та (a,b): G4=(G3+(a,d))+(a,b) = ({a,b,d}, {(a,d),(a,b),(b,d)}).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]