]> mj.ucw.cz Git - saga.git/blob - notation.tex
a9f1fa270fbae5b61855f961def0b8b9fbc84d28
[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{$\bb R$}{the set of all real numbers}
11 \n{$\bb N$}{the set of all natural numbers, including 0}
12 \n{${\bb N}^+$}{the set of all positive integers}
13 \n{$T[u,v]$}{the path in a tree~$T$ joining vertices $u$ and $v$ \[heavy]}
14 \n{$T[e]$}{the path in a tree~$T$ joining the endpoints of an~edge~$e$ \[heavy]}
15 \n{$A\symdiff B$}{symetric difference of sets: $(A\setminus B) \cup (B\setminus A)$}
16 \n{$G-e$}{graph $G$ with edge $e$ removed}
17 \n{$G+e$}{graph $G$ with edge $e$ added}
18 \n{$w(e)$}{weight of an edge $e$}
19 \n{$V(G)$}{set of vertices of a graph~$G$}
20 \n{$E(G)$}{set of edges of a graph~$G$}
21 \n{$n(G)$}{number of vertices of a graph~$G$, that is $\vert V(G)\vert$}
22 \n{$m(G)$}{number of edges of a graph~$G$, that is $\vert E(G)\vert$}
23 \n{$V,E,n,m$}{when used without $(G)$, they refer to the input of the current algorithm}
24 \n{$\delta_G(U)$}{all edges connecting $U\subset V(G)$ with $V(G)\setminus U$; we usually omit the~$G$}
25 \n{$\delta_G(v)$}{the edges of a one-vertex cut, i.e., $\delta_G(\{v\})$}
26 \n{MST}{minimum spanning tree \[mstdef]}
27 \n{MSF}{minimum spanning forest \[mstdef]}
28 \n{$\mst(G)$}{the unique minimum spanning tree of a graph~$G$ \[mstnota]}
29 \n{$X \choose k$}{a set of all $k$-element subsets of a set~$X$}
30 \n{$G/e$}{multigraph contraction \[contract]}
31 \n{$G.e$}{simple graph contraction \[simpcont]}
32 \n{$\alpha(n)$}{the inverse Ackermann's function}
33 \n{$f[X]$}{function applied to a set: $f[X]:=\{ f(x) ; x\in X \}$}
34 \n{$f[e]$}{as edges are two-element sets, $f[e]$ maps both endpoints of an edge~$e$}
35 \n{$\varrho({\cal C})$}{edge density of a graph class~$\cal C$ \[density]}
36 \n{$\deg_G(v)$}{degree of vertex~$v$ in graph~$G$; we omit $G$ if it is clear from context}
37 \n{${\bb E}X$}{expected value of a~random variable~$X$}
38 \n{${\rm Pr}[\varphi]$}{probability that a predicate~$\varphi$ is true}
39 \n{$\log n$}{a binary logarithm of the number~$n$}
40 \n{$f^{(i)}$}{function~$f$ iterated $i$~times: $f^{(0)}(x):=x$, $f^{(i+1)}(x):=f(f^{(i)}(x))$}
41 \n{$2\tower n$}{the tower function (iterated exponential): $2\tower 0:=1$, $2\tower (n+1):=2^{2\tower n}$}
42 \n{$\log^* n$}{the iterated logarithm: $\log^*n := \min\{i: \log^{(i)}n \le 1\}$; the inverse of~$2\tower n$}
43 \n{$\beta(m,n)$}{$\beta(m,n) := \min\{i: \log^{(i)}n \le m/n \}$ \[itjarthm]}
44 \n{$W$}{word size of the RAM \[wordsize]}
45 \n{$\(x)$}{number~$x\in{\bb N}$ written in binary \[bitnota]}
46 \n{$\(x)_b$}{$\(x)$ zero-padded to exactly $b$ bits \[bitnota]}
47 \n{$x[i]$}{the value of the $i$-th bit of the number~$x$ \[bitnota]}
48 \n{$\sigma^k$}{the string~$\sigma$ repeated $k$~times \[bitnota]}
49 \n{$\0$, $\1$}{bits in a~bit string \[bitnota]}
50 \n{$\equiv$}{congruence modulo a~given number}
51 \n{$\<LSB>(x)$}{the position of the lowest bit set in~$x$ \[lsbmsb]}
52 \n{$\<MSB>(x)$}{the position of the highest bit set in~$x$ \[lsbmsb]}
53 \n{$\bf x$}{a~vector with elements $x_1,\ldots,x_d$; $x$ is its bitwise encoding \[vecnota]}
54 \n{$\band$}{bitwise conjunction: $(x\band y)[i]=1$ iff $x[i]=1 \land y[i]=1$}
55 \n{$\bor$}{bitwise disjunction: $(x\bor y)[i]=1$ iff $x[i]=1 \lor y[i]=1$}
56 \n{$\bnot$}{bitwise negation: $(\bnot x)[i]=1-x[i]$}
57 \n{$\bxor$}{bitwise non-equivalence: $(x\bxor y)[i]=1$ iff $x[i]\ne y[i]$}
58 \n{$x \shl n$}{bitwise shift of~$x$ by $n$~positions to the left: $x\shl n = x\cdot 2^n$}
59 \n{$x \shr n$}{bitwise shift of~$x$ by $n$~positions to the right: $x\shr n = \lfloor x/2^n \rfloor$}
60 \n{$R_{C,\prec}(x)$}{the rank of~$x$ in a~set~$C$ ordered by~$\prec$ \[rankdef]}
61 \n{$R^{-1}_{C,\prec}(i)$}{the unrank of~$i$: the $i$-th smallest element of a~set~$C$ ordered by~$\prec$ \[rankdef]}
62 }
63
64 %--------------------------------------------------------------------------------
65
66 \section{Multigraphs and contractions}
67
68 Since the formalism of multigraphs is not fixed in the literature, we will
69 better define it carefully, following \cite{diestel:gt}:
70
71 \defn A~\df{multigraph} is an ordered triple $(V,E,M)$, where $V$~is the
72 set of vertices, $E$~is the set of edges, taken as abstract objects disjoint
73 with the vertices, and $M$ is a mapping $E\mapsto V \cup {V \choose 2}$
74 which assigns to each edge either a pair of vertices or a single vertex
75 (if the edge is a loop).
76
77 \proclaim{Notation}%
78 When the meaning is clear from the context, we use our notation originally
79 defined for graphs even for multigraphs. For example, $xy\in E(G)$ becomes a
80 shorthand for $\exists e\in E(G)$ such that $M(G)(e) = \{x,y\}$. Also, we
81 consider multigraphs with no multiple edges nor loops and simple graphs to be
82 the same objects, although they formally differ.
83
84 \defn\id{contract}%
85 Let $G=(V,E,M)$ be a multigraph and $e=xy$ its edge. \df{(Multigraph) contraction of~$G$ along~$e$}
86 produces a multigraph $G/e=(V',E',M')$ such that:
87 $$\eqalign{
88 V' &= (V(G) \setminus \{x,y\}) \cup \{v_e\},\quad\hbox{where $v_e$ is a new vertex,}\cr
89 E' &= E(G) - \{e\},\cr
90 M'(f) &= \{ m(v) ; v\in M(f) \} \quad\hbox{for every $f=\in E'$, and}\cr
91 m(x) &= \cases{v_e & \hbox{for $v=x,y,$}\cr v & \hbox{otherwise.}} \cr
92 }$$
93
94 Sometimes we need contraction for simple graphs as well. It corresponds to performing
95 the multigraph contraction, unifying parallel edges and deleting loops.
96
97 \defn\id{simpcont}%
98 Let $G=(V,E)$ a simple graph and $e=xy$ its edge. \df{(Simple graph) contraction of~$G$ along~$e$}
99 produces a graph $G.e=(V',E')$ such that:
100 $$\eqalign{
101 V' &= (V(G) \setminus \{x,y\}) \cup \{v_e\},\quad\hbox{where $v_e$ is a new vertex,}\cr
102 E' &= \{ \{m(x),m(y)\} ; xy\in E \land m(x)\ne m(y) \},\cr
103 m(x) &= \cases{v_e & \hbox{for $v=x,y,$}\cr v & \hbox{otherwise.}} \cr
104 }$$
105
106 \endpart