X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=notation.tex;h=f2c84dd1ec0bf08c0817028aa0e55ef6d2ded9e1;hb=b66b5869a0ccfd85ada5d012fe70bfc0119bda11;hp=dd76722d50e0d1b2392929d59393d8f583e7e2c2;hpb=6fc3a3466d9f8fe4f5bce1e1e3a2179c4c4fc8ea;p=saga.git diff --git a/notation.tex b/notation.tex index dd76722..f2c84dd 100644 --- a/notation.tex +++ b/notation.tex @@ -6,8 +6,16 @@ {\obeylines\parskip=0pt \def\n#1#2{\>\hbox to 6em{#1 \dotfill} #2} -\def\[#1]{[\thmref{#1}]} -\n{$T[x,y]$}{the path in a tree~$T$ joining $x$ and $y$ \[heavy]} +\def\[#1]{~{\it(\ref{#1})}} +\n{$\bb R$}{the set of all real numbers} +\n{$\bb N$}{the set of all natural numbers, including 0} +\n{${\bb N}^+$}{the set of all positive integers} +\n{$\O(g)$}{asymptotic~$O$: $f=\O(g)$ iff $\exists c>0: f(n)\le g(n)$ for all~$n\ge n_0$} +\n{$\Omega(g)$}{asymptotic~$\Omega$: $f=\Omega(g)$ iff $\exists c>0: f(n)\ge g(n)$ for all~$n\ge n_0$} +\n{$\Theta(g)$}{asymptotic~$\Theta$: $f=\Theta(g)$ iff $f=\O(g)$ and $f=\Omega(g)$} +\n{$\widetilde\O(g)$}{$f=\widetilde\O(g)$ iff $f=\O(g\cdot\log^{\O(1)} g)$} +\n{$\poly(n)$}{$f=\poly(n)$ iff $f=\O(n^c)$ for some $c$} +\n{$T[u,v]$}{the path in a tree~$T$ joining vertices $u$ and $v$ \[heavy]} \n{$T[e]$}{the path in a tree~$T$ joining the endpoints of an~edge~$e$ \[heavy]} \n{$A\symdiff B$}{symetric difference of sets: $(A\setminus B) \cup (B\setminus A)$} \n{$G-e$}{graph $G$ with edge $e$ removed} @@ -18,8 +26,112 @@ \n{$n(G)$}{number of vertices of a graph~$G$, that is $\vert V(G)\vert$} \n{$m(G)$}{number of edges of a graph~$G$, that is $\vert E(G)\vert$} \n{$V,E,n,m$}{when used without $(G)$, they refer to the input of the current algorithm} -\n{MST}{minimal spanning tree \[mstdef]} -\n{MSF}{minimal spanning forest \[mstdef]} +\n{$G[U]$}{subgraph induced by a~set $U\subset V(G)$} +\n{$\delta_G(U)$}{all edges connecting $U\subset V(G)$ with $V(G)\setminus U$; we usually omit the~$G$} +\n{$\delta_G(v)$}{the edges of a one-vertex cut, i.e., $\delta_G(\{v\})$} +\n{MST}{minimum spanning tree \[mstdef]} +\n{MSF}{minimum spanning forest \[mstdef]} +\n{$\mst(G)$}{the unique minimum spanning tree of a graph~$G$ \[mstnota]} +\n{$X \choose k$}{a set of all $k$-element subsets of a set~$X$} +\n{$G/e$}{multigraph contraction \[contract]} +\n{$G.e$}{simple graph contraction \[simpcont]} +\n{$G/X$, $G.X$}{contraction by a~set $X$ of vertices or edges \[setcont]} +\n{$\alpha(n)$}{the inverse Ackermann's function} +\n{$f[X]$}{function applied to a set: $f[X]:=\{ f(x) ; x\in X \}$} +\n{$f[e]$}{as edges are two-element sets, $f[e]$ maps both endpoints of an edge~$e$} +\n{$\varrho({\cal C})$}{edge density of a graph class~$\cal C$ \[density]} +\n{$\deg_G(v)$}{degree of vertex~$v$ in graph~$G$; we omit $G$ if it is clear from context} +\n{${\bb E}X$}{expected value of a~random variable~$X$} +\n{${\rm Pr}[\varphi]$}{probability that a predicate~$\varphi$ is true} +\n{$\log n$}{a binary logarithm of the number~$n$} +\n{$f^{(i)}$}{function~$f$ iterated $i$~times: $f^{(0)}(x):=x$, $f^{(i+1)}(x):=f(f^{(i)}(x))$} +\n{$2\tower n$}{the tower function (iterated exponential): $2\tower 0:=1$, $2\tower (n+1):=2^{2\tower n}$} +\n{$\log^* n$}{the iterated logarithm: $\log^*n := \min\{i: \log^{(i)}n \le 1\}$; the inverse of~$2\tower n$} +\n{$\beta(m,n)$}{$\beta(m,n) := \min\{i: \log^{(i)}n \le m/n \}$ \[itjarthm]} +\n{$W$}{word size of the RAM \[wordsize]} +\n{$\(x)$}{number~$x\in{\bb N}$ written in binary \[bitnota]} +\n{$\(x)_b$}{$\(x)$ zero-padded to exactly $b$ bits \[bitnota]} +\n{$x[i]$}{when $x\in{\bb N}$: the value of the $i$-th bit of~$x$ \[bitnota]} +\n{$x[B]$}{when $x\in{\bb N}$: the values of the bits at positions in the set~$B$ \[qhnota]} +\n{$\pi[i]$}{when $\pi$ is a~sequence: the $i$-th element of~$\pi$, starting with $\pi[1]$ \[brackets]} +\n{$\pi[i\ldots j]$}{the subsequence $\pi[i], \pi[i+1], \ldots, \pi[j]$} +\n{$\sigma^k$}{the string~$\sigma$ repeated $k$~times \[bitnota]} +\n{$\0$, $\1$}{bits in a~bit string \[bitnota]} +\n{$\equiv$}{congruence modulo a~given number} +\n{$\(x)$}{the position of the lowest bit set in~$x$ \[lsbmsb]} +\n{$\(x)$}{the position of the highest bit set in~$x$ \[lsbmsb]} +\n{$\bf x$}{a~vector with elements $x_1,\ldots,x_d$; $x$ is its bitwise encoding \[vecnota]} +\n{$\band$}{bitwise conjunction: $(x\band y)[i]=1$ iff $x[i]=1 \land y[i]=1$} +\n{$\bor$}{bitwise disjunction: $(x\bor y)[i]=1$ iff $x[i]=1 \lor y[i]=1$} +\n{$\bnot$}{bitwise negation: $(\bnot x)[i]=1-x[i]$} +\n{$\bxor$}{bitwise non-equivalence: $(x\bxor y)[i]=1$ iff $x[i]\ne y[i]$} +\n{$x \shl n$}{bitwise shift of~$x$ by $n$~positions to the left: $x\shl n = x\cdot 2^n$} +\n{$x \shr n$}{bitwise shift of~$x$ by $n$~positions to the right: $x\shr n = \lfloor x/2^n \rfloor$} +\n{$R_{C,\prec}(x)$}{the rank of~$x$ in a~set~$C$ ordered by~$\prec$ \[rankdef]} +\n{$R^{-1}_{C,\prec}(i)$}{the unrank of~$i$: the $i$-th smallest element of a~set~$C$ ordered by~$\prec$ \[rankdef]} +\n{$[n]$}{the set $\{1,2,\ldots,n\}$ \[pranksect]} +\n{$L(\pi,A)$}{lexicographic ranking function for permutations on a~set~$A\subseteq{\bb N}$ \[brackets]} +\n{$L^{-1}(i,A)$}{lexicographic unranking function, the inverse of~$L$ \[brackets]} +\n{$n^{\underline k}$}{the $k$-th falling factorial power: $n\cdot(n-1)\cdot\ldots\cdot(n-k+1)$ \[kpranksect]} +\n{$H\minorof G$}{$H$ is a~minor of~$G$ \[minordef]} +\n{$K_k$}{the complete graph on~$k$ vertices} +\n{$C_k$}{the cycle on~$k$ vertices} +\n{${\cal P}_A$}{the set of all permutations on a~set~$A$ \[restnota]} +\n{${\cal P}_{A,M}$}{the set of all permutations on~$A$ satisfying the restrictions~$M$ \[restnota]} +\n{$N_0(M)$}{the number of permutations satisfying the restrictions~$M$ \[restnota]} +\n{$M^{i,j}$}{the matrix $M$ with $i$-th row and $j$-th column deleted \[restnota]} +\n{$D_n$}{the $n\times n$ matrix with $D[i,i]=0$ for all~$i$ and ones elsewhere else \[hatrank]} +\n{$\per M$}{the permanent of a~square matrix~$M$} } +%-------------------------------------------------------------------------------- + +\section{Multigraphs and contractions} + +Since the formalism of multigraphs is not fixed in the literature, we will +better define it carefully, following \cite{diestel:gt}: + +\defn A~\df{multigraph} is an ordered triple $(V,E,M)$, where $V$~is the +set of vertices, $E$~is the set of edges, taken as abstract objects disjoint +with the vertices, and $M$ is a mapping $E\rightarrow V \cup {V \choose 2}$ +which assigns to each edge either a pair of vertices or a single vertex +(if the edge is a loop). + +\proclaim{Notation}% +When the meaning is clear from the context, we use our notation originally +defined for graphs even for multigraphs. For example, $xy\in E(G)$ becomes a +shorthand for $\exists e\in E(G)$ such that $M(G)(e) = \{x,y\}$. Also, we +consider multigraphs with no multiple edges nor loops and simple graphs to be +the same objects, although they formally differ. + +\defn\id{contract}% +Let $G=(V,E,M)$ be a multigraph and $e=xy$ its edge. \df{(Multigraph) contraction of~$G$ along~$e$} +produces a multigraph $G/e=(V',E',M')$ such that: +$$\eqalign{ +V' &= (V(G) \setminus \{x,y\}) \cup \{v_e\},\quad\hbox{where $v_e$ is a new vertex,}\cr +E' &= E(G) - \{e\},\cr +M'(f) &= \{ m(v) ; v\in M(f) \} \quad\hbox{for every $f=\in E'$, and}\cr +m(x) &= \cases{v_e & \hbox{for $v=x,y,$}\cr v & \hbox{otherwise.}} \cr +}$$ + +Sometimes we need contraction for simple graphs as well. It corresponds to performing +the multigraph contraction, unifying parallel edges and deleting loops. + +\defn\id{simpcont}% +Let $G=(V,E)$ a simple graph and $e=xy$ its edge. \df{(Simple graph) contraction of~$G$ along~$e$} +produces a graph $G.e=(V',E')$ such that: +$$\eqalign{ +V' &= (V(G) \setminus \{x,y\}) \cup \{v_e\},\quad\hbox{where $v_e$ is a new vertex,}\cr +E' &= \{ \{m(x),m(y)\} ; xy\in E \land m(x)\ne m(y) \},\cr +m(x) &= \cases{v_e & \hbox{for $v=x,y,$}\cr v & \hbox{otherwise.}} \cr +}$$ + +\defn\id{setcont}% +We can also extend the above definitions to contractions by a~set of vertices or edges. +For $F\subseteq E(G)$, the graph $G/F$ is defined as $(G/f_1)/f_2/\ldots/f_k$ where +$f_1,\ldots,f_k$ are the elements of~$F$ (you can observe that the result +does not depend on the order of edges). For $U\subseteq V(G)$, we define $G/U$ +as the graph with all vertices of~$U$ merged to a~single vertex, that is $(G\cup U^*)/U^*$, +where $U^*$ is the complete graph on~$U$. Similarly for $G.F$ and $G.U$. + \endpart