]> mj.ucw.cz Git - saga.git/blob - notation.tex
Disctractors and hedgehogs.
[saga.git] / notation.tex
1 \ifx\endpart\undefined
2 \input macros.tex
3 \fi
4
5 \chapter{Notation}
6
7 {\obeylines\parskip=0pt
8 \def\n#1#2{\>\hbox to 6em{#1 \dotfill} #2}
9 \def\[#1]{[\ref{#1}]}
10 \n{$T[x,y]$}{the path in a tree~$T$ joining $x$ and $y$ \[heavy]}
11 \n{$T[e]$}{the path in a tree~$T$ joining the endpoints of an~edge~$e$ \[heavy]}
12 \n{$A\symdiff B$}{symetric difference of sets: $(A\setminus B) \cup (B\setminus A)$}
13 \n{$G-e$}{graph $G$ with edge $e$ removed}
14 \n{$G+e$}{graph $G$ with edge $e$ added}
15 \n{$w(e)$}{weight of an edge $e$}
16 \n{$V(G)$}{set of vertices of a graph~$G$}
17 \n{$E(G)$}{set of edges of a graph~$G$}
18 \n{$n(G)$}{number of vertices of a graph~$G$, that is $\vert V(G)\vert$}
19 \n{$m(G)$}{number of edges of a graph~$G$, that is $\vert E(G)\vert$}
20 \n{$V,E,n,m$}{when used without $(G)$, they refer to the input of the current algorithm}
21 \n{MST}{minimum spanning tree \[mstdef]}
22 \n{MSF}{minimum spanning forest \[mstdef]}
23 \n{\mst(G)}{the unique minimum spanning tree of a graph~$G$ \[mstnota]}
24 \n{$X \choose k$}{a set of $k$-element subsets of a set~$X$}
25 \n{$G/e$}{multigraph contraction \[contract]}
26 \n{$G.e$}{simple graph contraction \[simpcont]}
27 \n{$\alpha(n)$}{the inverse Ackermann's function}
28 \n{$f[X]$}{function applied to a set: $f[X]:=\{ f(x) ; x\in X \}$.}
29 \n{$\varrho({\cal C})$}{edge density of a graph class~$\cal C$ \[density]}
30 }
31
32 \section{Multigraphs and contractions}
33
34 Since the formalism of multigraphs is not fixed in the literature, we will
35 better define it carefully, following \cite{diestel:gt}:
36
37 \defn A~\df{multigraph} is an ordered triple $(V,E,M)$, where $V$~is the
38 set of vertices, $E$~is the set of edges, taken as abstract objects disjoint
39 with the vertices, and $M$ is a mapping $E\mapsto V \cup {V \choose 2}$
40 which assigns to each edge either a pair of vertices or a single vertex
41 (if the edge is a loop).
42
43 \proclaim{Notation}%
44 When the meaning is clear from the context, we use our notation originally
45 defined for graphs even for multigraphs. For example, $xy\in E(G)$ becomes a
46 shorthand for $\exists e\in E(G)$ such that $M(G)(e) = \{x,y\}$. Also, we
47 consider multigraphs with no multiple edges nor loops and simple graphs to be
48 the same objects, although they formally differ.
49
50 \defn\id{contract}%
51 Let $G=(V,E,M)$ be a multigraph and $e=xy$ its edge. \df{(Multigraph) contraction of~$G$ along~$e$}
52 produces a multigraph $G/e=(V',E',M')$ such that:
53 $$\eqalign{
54 V' &= (V(G) \setminus \{x,y\}) \cup \{v_e\},\quad\hbox{where $v_e$ is a new vertex,}\cr
55 E' &= E(G) - \{e\},\cr
56 M'(f) &= \{ m(v) ; v\in M(f) \} \quad\hbox{for every $f=\in E'$, and}\cr
57 m(x) &= \cases{v_e & \hbox{for $v=x,y,$}\cr v & \hbox{otherwise.}} \cr
58 }$$
59
60 Sometimes we need contraction for simple graphs as well. It corresponds to performing
61 the multigraph contraction, unifying parallel edges and deleting loops.
62
63 \defn\id{simpcont}%
64 Let $G=(V,E)$ a simple graph and $e=xy$ its edge. \df{(Simple graph) contraction of~$G$ along~$e$}
65 produces a graph $G.e=(V',E')$ such that:
66 $$\eqalign{
67 V' &= (V(G) \setminus \{x,y\}) \cup \{v_e\},\quad\hbox{where $v_e$ is a new vertex,}\cr
68 E' &= \{ \{m(x),m(y)\} ; xy\in E \land m(x)\ne m(y) \},\cr
69 m(x) &= \cases{v_e & \hbox{for $v=x,y,$}\cr v & \hbox{otherwise.}} \cr
70 }$$
71
72 \endpart