]> mj.ucw.cz Git - saga.git/commitdiff
Finished the verification chapters.
authorMartin Mares <mj@ucw.cz>
Sat, 8 Mar 2008 21:27:06 +0000 (22:27 +0100)
committerMartin Mares <mj@ucw.cz>
Sat, 8 Mar 2008 21:27:06 +0000 (22:27 +0100)
PLAN
adv.tex

diff --git a/PLAN b/PLAN
index 11d0215f978139589994ec6456a7e9dd916fa444..179658089570f0389eafb20f309591654a481310 100644 (file)
--- a/PLAN
+++ b/PLAN
@@ -17,8 +17,9 @@
 
   o  Minor-closed classes
   o  Fredman-Tarjan algorithm
-  .  MST verification
-  .  Randomized algorithms
+  o  MST verification
+  o  Linear-time verification
+  .  A randomized algorithm
   .  ?? Chazelle ??
   .  ?? Pettie ??
   o  Special cases and related problems
@@ -65,6 +66,7 @@ Models:
 - mention in-place radix-sorting?
 - consequences of Q-Heaps: Thorup's undirected SSSP etc.
 - add more context from thorup:aczero, also mention FP operations
+- expand the section on radix-sorting, mention Buchsbaum
 
 Ranking:
 
diff --git a/adv.tex b/adv.tex
index 69bdcae424204ce49ea74c377bff9e944d6b1b0b..9c4b1baa519f3c8c4ced962a3d0fd0add9c231d8 100644 (file)
--- a/adv.tex
+++ b/adv.tex
@@ -801,7 +801,8 @@ We have proven that $\O(m)$ edge weight comparisons suffice to verify minimality
 of a~given spanning tree. In this section, we will show an~algorithm for the RAM,
 which finds the required comparisons in linear time. We will follow the idea
 of King from \cite{king:verify}, but as we have the power of the RAM data structures
-from Section~\ref{bitsect} at our command, the low-level details will be easier.
+from Section~\ref{bitsect} at our command, the low-level details will be easier,
+especially the construction of vertex and edge labels.
 
 \paran{Reduction}
 First of all, let us make sure that the reduction to fully branching trees
@@ -1029,8 +1030,19 @@ as there are $\O(1)$ query paths per edge, the first sum is $\O(\#\hbox{comparis
 which is $\O(m)$ by Theorem \ref{verify}.
 \qed
 
-\FIXME{Mention online version}
-\FIXME{Mention Buchsbaum}
+\rem
+Buchsbaum et al.~have recently shown in \cite{buchsbaum:verify} that linear-time
+verification can be achieved even on the pointer machine. They first solve the
+problem of finding the lowest common ancestors for a~set of pairs of vertices
+by batch processing, combining an~$\O(m\alpha(m,n))$ algorithm using the Union-Find
+data structure with table lookup for small subtrees. Then they use a~similar
+technique for the path maxima themselves. The tricky part is of course the table
+lookup, which they handle by radix-sorting pointer-based codes of the subtrees.
+
+\rem
+The online version of this problem (build a~data structure for a~weighted tree
+in linear time and then answer queries for individual paths in constant time)
+is still open even for the RAM.
 
 %--------------------------------------------------------------------------------