[Vegan-commits] r254 - in pkg/inst: . doc
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Thu Mar 6 21:32:48 CET 2008
Author: jarioksa
Date: 2008-03-06 21:32:48 +0100 (Thu, 06 Mar 2008)
New Revision: 254
Modified:
pkg/inst/ChangeLog
pkg/inst/doc/decision-vegan.Rnw
pkg/inst/doc/vegan.bib
Log:
Added discussion on backtracking in vignettes
Modified: pkg/inst/ChangeLog
===================================================================
--- pkg/inst/ChangeLog 2008-03-06 12:28:29 UTC (rev 253)
+++ pkg/inst/ChangeLog 2008-03-06 20:32:48 UTC (rev 254)
@@ -28,8 +28,8 @@
5.98, Bajabo 11.18, Bajabs 10.13. Smaller change is that packing
is based on indices s and t directly instead of their ranks.
- * vignettes: added discussion on nestedtemp() in "Design
- decisions and implementation".
+ * vignettes: added discussion on nestedtemp and backtrackingin
+ "Design decisions and implementation".
Version 1.12-1 (closed Mar 2, 2008)
Modified: pkg/inst/doc/decision-vegan.Rnw
===================================================================
--- pkg/inst/doc/decision-vegan.Rnw 2008-03-06 12:28:29 UTC (rev 253)
+++ pkg/inst/doc/decision-vegan.Rnw 2008-03-06 20:32:48 UTC (rev 254)
@@ -77,7 +77,7 @@
outside the fill line or absences within the fill line.}
\end{SCfigure}
The function can be implemented in many ways following the general
-principles. Rodr{\'i}guez-Girond{\'e}z and Santamaria \cite{RodGir06}
+principles. Rodr{\'i}guez-Girond{\'e}s and Santamaria \cite{RodGir06}
have seen the original code and reveal more details of calculations,
and their explanation is the basis of the implementation in
\texttt{vegan}. However, there are still some open issues, and
@@ -87,7 +87,7 @@
this documents --- all details can be seen in the source code of
\texttt{nestedtemp}.
-\begin{enumerate}
+\begin{itemize}
\item Species and sites are put into unit square \citep{RodGir06}. The
coordinates for $n$ item will be $(k-0.5)/n$ for $k=1 \ldots n$, so
that there are no points in the corners or the margins of the unit
@@ -138,9 +138,52 @@
found using function \texttt{uniroot}. The difference of this
intersection and the row coordinate gives the argument $d$ of matrix
temperature (Fig. \ref{fig:nestedtemp}).
- \item In other software, ``duplicate'' species occurring on every
+ \item In other software, ``duplicated'' species occurring on every
site are removed, as well as empty sites and species after
reordering \cite{RodGir06}. This is not done in \texttt{vegan}.
+\end{itemize}
+
+\subsection{Backtracking}
+
+Gotelli and Entsminger's seminal paper \cite{GotelliEnt01} on filling
+algorithms is somewhat confusing: it explicitly deals with ``knight's
+tour'' which is quite a different problem than the one we face with
+null models. The chess piece ``knight''\footnote{``Knight'' is
+ ``Springer'' in German which is very appropriate as Springer was the
+ publisher of the paper on ``knight't tour''} has a track of history:
+a piece in a certain position could only have entered from some
+candidate squares. The filling of incidence matrix no such a history:
+if we know that the item last added was in certain row and column, we
+have no information to guess which of the filled items was entered
+previously. A consequence of dealing with a different problem is that
+\citet{GotelliEnt01} does not give many hints on implementing a fill
+algorithm as a community null model.
+
+The backtracking is implemented in two stage: filling and
+backtracking.
+\begin{enumerate}
+ \item The matrix is filled in the order given by the marginal
+ probabilities. In this way the matrix will look similar to the
+ final matrix at all stages of filling. Equal filling probabilities
+ were not used since that was ineffective and produced strange fill
+ patterns: the rows and columns with one or a couple of presences
+ were filled first, and the process was cornered to columns and
+ rows with many presences. As a consequence, the the process tried
+ harder to fill that corner, and the result was a more tighlty
+ packed quadratic fill pattern than with other methods.
+ \item The filling stage stops when no new points can be added
+ without exceeding row or column totals. ``Backtracking'' means
+ removing random points and seeing if this allows adding new points
+ to the plot. No record of history is kept (and there is no reason
+ to keep a record of history), but random points are removed and
+ filled again. The number of removed points increases from one to
+ four points. New configuration is kept if it is at least as good
+ as the previous one, and the number of removed points is reduced
+ back to one if the new configuration is better than the old one.
+ Because there is no record of history, this does not sound like a
+ backtracking, but it still fits the general definition of
+ backtracking: ``try something, and if it fails, try something
+ else'' \cite{Sedgewick90}.
\end{enumerate}
Modified: pkg/inst/doc/vegan.bib
===================================================================
--- pkg/inst/doc/vegan.bib 2008-03-06 12:28:29 UTC (rev 253)
+++ pkg/inst/doc/vegan.bib 2008-03-06 20:32:48 UTC (rev 254)
@@ -1,5 +1,27 @@
+ at Book{Sedgewick90,
+ author = {R. Sedgewidk},
+ title = {Algorithms in {C}},
+ publisher = {Addison Wesley},
+ year = 1990}
+ at Article{MiklosPod04,
+ author = {I. Mikl{\'o}s and J. Podani},
+ title = {Randomization of presence--absence matrices:
+ comments and new algorithms},
+ journal = {Ecology},
+ year = 2004,
+ volume = 85,
+ pages = {86-92}}
+ at Article{GotelliEnt01,
+ author = {N. J. Gotelli and G. L. Entsminger},
+ title = {Swap and fill algorithms in null model analysis:
+ rethinking the knight's tour},
+ journal = {Oecologia},
+ year = 2001,
+ volume = 129,
+ pages = {281-291}}
+
@Article{AtmarPat93,
author = {W. Atmar and B. D. Patterson},
title = {The measure of order and disorder in the
More information about the Vegan-commits
mailing list