#### (1) viability of eggs produced by rotifers increases with food concentration

Experimental evidence suggests that the energetic investment in *B. calyciflorus* eggs increases with food availability, and this investment may increase the survivorship of offspring (Kirk 1997). It is therefore possible that rotifer recruitment per egg in the chemostats may be greater when feeding on a higher algal density. This concept is built into the original model by replacing *b*_{B} in equation 2b with an increasing function of algal density, *b*_{B}(*C*),

- (eqn 3)

In this function, *b*_{M} is an upper bound on the maximum rotifer recruitment rate for when algal density is high. When algal density is low, *b*_{B}(*C*) reduces toward a proportion α_{1} of *b*_{M}. As algal density increases, *b*_{B}(*C*) approaches the upper bound at a rate controlled by α_{2}. We note that *b*_{B} in equation 2b was originally estimated from exponentially growing rotifer populations feeding on high algal densities, and consequently serves as an estimate of the upper bound *b*_{M} under Hypothesis 1. This leaves two new parameters, α_{1} and α_{2}.

#### (2) nutritional value of algae increases with nitrogen availability

The nutritional quality of prey can affect predator population growth rates. Nutritional value of algae as a food source for zooplankton can vary depending on algal size (Rothhaupt 1990) and biochemical composition (Ahlgren *et al*. 1990; Sterner 1993), both of which can be affected by nutrient availability. Specifically, it has been shown that rotifer population growth rates can be reduced when feeding on nutrient-limited algae (Rothhaupt 1995).

Again, the hypothesis is built into the original model by replacing *b*_{B} in equation 2b, this time with an increasing function of nitrogen availability, *b*_{B}(*N*):

- (eqn 4)

Here *b*_{m} is the lower bound of *b*_{B}(*N*), realized when *N* is zero. The original *b*_{B} in equation 2b serves as an estimate of the lower bound *b*_{m}. It receives the opposite interpretation as under Hypothesis 1 because *b*_{B} was originally estimated from rotifer populations feeding on high algal densities with correspondingly low nitrogen concentrations. When *N* is abundant in the system, *b*_{B}(*C*) approaches an upper bound of α_{3}*b*_{m}, where α_{3} ≥ 1. The parameter α_{4} controls how quickly the function approaches its upper bound as *N* increases. Equation 4 tacitly assumes that the algal cell quota of *N* responds instantly to the availability of *N* in the medium. Although not precisely correct, we justify this assumption by observing that the time scale of algal population turnover is very short relative to the period of cycles that the model is trying to explain. The nutritional value model imposes two new parameters, α_{3} and α_{4}.

#### (3) algal physiological state varies with the accumulation of toxins in the chemostat

Kirk (1998 ) found that unidentified autotoxins reduce rotifer population growth rates and individual survival. The toxic effect increases with rotifer abundance, creating a density-dependent negative feedback. In a chemostat set-up, toxins accumulate if their production rate is greater than the dilution rate, as may occur during population cycles when rotifer density is high.

The simplest toxicity model would assume a direct self-limiting process: rotifer-produced toxins in the medium decrease rotifer fecundity or survival. However, analysis of the original model shows that reducing the rotifer recruitment rate would shorten the period of cycles, not lengthen it. To give the toxins hypothesis a chance of explaining the period, we posit an indirect effect via algal quality. Rotifer population growth is assumed to diminish by feeding on toxin-contaminated algae, and toxin contamination also reduces the algal population growth rate.

We build this hypothesis into the original model by structuring the algal population into two classes, one ‘sick’ (contaminated by toxins) and one ‘healthy’. State variable *C*_{1} represents the sick class and *C*_{2} represents the healthy class so that total algal density is *C*_{1} *+ C*_{2}. The maximum recruitment rate of sick algae is a proportion α_{5} of that of healthy algae (i.e. *b*_{C} α_{5}*b*_{C}); maximum recruitment of healthy algae is as the original model. Because algae are well mixed due to chemostat bubbling and because rotifers do not selectively feed due to filter feeding, each algal class is consumed at a rate proportional to its relative density, where total consumption by rotifers is *F*_{B}(*C*_{1} *+ C*_{2}). However, rotifers are only able to convert *C*_{1} into new biomass at a fraction α_{6} of the rate they convert *C*_{2}. The term [(α_{6}*C*_{1} + *C*_{2})/(*C*_{1} + *C*_{2})]*F*_{B}(*C*_{1} + *C*_{2}) replaces the rotifer recruitment rate *F*_{B}(*C*) in equations 1c and d.

It is assumed that the current rotifer abundance is an index of the level of toxicity (this ignores lags in the washout of toxins, possible at lower dilution rates). Additionally, it is assumed that sick algae beget only sick algae and that healthy algae become sick through vertical transmission. The proportion *I*(*B*) of healthy algae producing sick algae increases with the rotifer density:

- (eqn 5)

Here *I*(*B*) increases from 0 to 1 and α_{7} determines algal sensitivity to toxins. The toxicity model introduces one additional differential equation for a second algal class and three new parameters, α_{5}, α_{6} and α_{7}.

#### (4) algae evolve in response to predation

The previous hypothesis is concerned with how algal quality may vary as a consequence of rotifer density. In contrast, Hypothesis 4 is concerned with how algal quality may vary as a selective response. The quality of algae as a food source can depend on edibility (Leibold 1989) and digestibility (van Donk & Hessen 1993), both of which may vary with changes in morphology, structure or chemical composition. We hypothesize that algal evolution reduces the vulnerability to predation, but only at the expense of a reduction in the maximum population growth rate.

The model of Hypothesis 4 replaces *F*_{B}(*C*) in equation 2b with *F*_{B}(*pC*), where the function *p* represents algal palatability relative to algae adapted to a predator-free environment. We posit an underlying algal physiological variable *z* such that algal palatability and maximum growth rate *b*_{C} are functions of *z*. For convenience, we let *z* = 0 denote the optimal trait value in the absence of rotifers so that *b*_{C}(0) = *b*_{0}, where *b*_{0} takes the value of the original maximum growth rate *b*_{C} (equation 2a). But here the constant parameter *b*_{C} in equation 2a is replaced with the function *b*_{C}(*z*):

- (eqn 6)

This function dictates that the maximum algal growth rate decreases at a rate controlled by the parameter α_{8} as *z* departs from zero. For α_{8} close to 1, equation 6 describes a curve that decreases rapidly as *z* departs from 0, creating a relatively intense trade-off between palatability and growth rate. Increasing α_{8} produces a curve that is more ‘flat’ near *z* = 0, which allows algae to reduce their palatability without much cost in terms of reduced growth rate.

Because *p*(*z*) is algal palatability relative to that of algae adapted to a predator-free environment, *p*(0) = 1. As *z* increases, *p*(*z*) should decrease monotonically to a minimum possible value of *p*(*z*) = 0. These properties are met by the simple function:

- (eqn 7)

The level of defence against predation is 1 − *p*(*z*). The parameter α_{9} measures the effectiveness of the defence trait relative to its cost. As *z* increases above 0, a larger value of α_{9} offers greater gains in predation defence with a smaller sacrifice in growth rate.

To describe the dynamics of *z*, we incorporate the standard model for continuous-time population growth that depends on a single quantitative trait, d*?*/d*t* = w̄*C*, where w̄ is the Malthusian mean fitness, or, arithmetic mean growth rate of different genotypes weighted by their frequencies (Crow & Kimura 1970; Lynch & Walsh 1998). We assume for simplicity that all algae at a given time have the same trait values (i.e. there is a single genotype). An ordinary differential equation describes the evolution of character *z* (Saloniemi 1993) and is added to the system described by equations 1, 6 and 7:

- (eqn 8)

Here α_{10} is the additive genetic variance and ∂*w*/∂*z* is the selection gradient per unit time. The evolution model introduces one additional differential equation for the underlying physiological trait and three new parameters, α_{8}, α_{9} and α_{10}.

#### FITTING MODELS TO DATA

The original chemostat model and each of the four extensions are implemented using a Runge–Kutta solver with relative tolerance of 10^{−4}. We fit the models to two separate data sets (from different chemostats) displaying population cycles. Both data sets are from chemostat trials with *N*_{i} = 80 µmol l^{−1}; one used a dilution rate of δ = 0·69 per day and the other used δ = 0·95 per day. Approximate replicates of the two representative data sets (i.e. other data sets with *N*_{i} = 80 and δ near 0·69 or 0·95) exhibit similar dynamics in terms of period, phase relationship and amplitude of predator–prey cycles. For each representative data set, we fit each model in two different ways: trajectory matching and ‘probe’ matching.

Trajectory matching compares model solutions with the empirical time series. We have direct data on total rotifer and algal densities, and consequently match only the corresponding state variables (*B* and *C*, or *C*_{1}+ *C*_{2} in the case of the toxicity model). For each model, the goal is to determine values of ‘free’ parameters that minimize the objective function *E*_{1}:

- (eqn 9)

Here *B*_{P}(*t*) is the predicted rotifer density on day *t*, *B*_{O}(*t*) is the observed rotifer density, *C*_{P}(*t*) is the predicted algal density on day *t*, and *C*_{O}(*t*) is the observed algal density. Parameters from the original chemostat model remain fixed at their original values (Table 1), and we search for optimal values of the new parameters in the model extensions (α_{i} values). In addition, we treat as free parameters initial conditions for each state variable and conversions of model units to observational units (i.e. conversion of µmol l^{−1} to individuals ml^{−1} for both algae and rotifers). Initial conditions need be estimated because the data sets we analyse do not start at ‘day 1’ of the experiments, but begin after the system has settled into a pattern of cycling so that initial values are no different from any other data point. This leaves eight or ten free parameters to be estimated, depending on the model (two or three α_{i} values, four or five initial conditions, and two unit conversions).

Probe matching, advocated by Kendall *et al*. (1999), compares models with observations based on a suite of time series descriptors. Here the probes are chosen to address important features of predator–prey cycles, namely amplitude, period and phase relationship. We use six probes: algal maximum, algal minimum, rotifer maximum, rotifer minimum, cycle period and phase difference. Predicted cycle features are calculated from model-generated time series. Observed features are estimated from the two data sets separately by analysing smoothed versions of the data (see Appendix for details). As with trajectory matching, the goal is to locate parameter values that minimize the difference between prediction and observation. The probe-matching objective function *E*_{2} takes the same form as the trajectory-matching version:

- (eqn 10)

where *Q*_{P}(*i*) is predicted value of probe *i* and *Q*_{O}(*i*) is the corresponding observed probe.

However to calculate *E*_{2}, initial conditions of the state variables need not be estimated because the interest is in long-term model behaviour, which is independent of initial conditions. Again, original model parameters remain fixed while searching for optimal values of α_{i} and unit conversions. This leaves four or five free parameters to be estimated, depending on the model (two or three α_{i} values and two unit conversions).

Other possible objective functions besides *E*_{1} and *E*_{2} could be used. For example, one could maximize a likelihood function after assuming some distribution for the errors, which in many cases yields estimates equivalent to least squares. Objective functions could measure squared error rather than absolute error or be scaled by predicted values rather than observed values. Using absolute error in *E*_{1} and *E*_{2} down-weights the effects of outliers relative to squared error (Rousseeuw & Leroy 1987). The denominator in *E*_{1} and *E*_{2} scales the error to be independent of measurement units, which is critical because algal and rotifer densities may differ by up to six orders of magnitude. Scaling by observed rather than predicted values provides consistency when comparing across the different models.

For both trajectory and probe matching, constraints are placed on the range of possible parameter estimates if needed to retain biological relevance. We use a two-step fitting procedure. The first step implements a genetic algorithm to minimize the objective function (Houck, Joines & Kay 1995). Genetic algorithms are relatively efficient optimization routines when the search space is large, but in general are not necessarily highly accurate. The second fitting step implements a locally more accurate optimization routine, the Nelder–Mead simplex algorithm, using optimal parameter values obtained by the genetic algorithm as initial estimates.