hantavirus epidemics have been studied extensively in the biological literature following a number of outbreaks in the north american southwest in the 1990 s  .the host of this infection is the deer mouse , the most numerous mammal in north america .the virus is transmitted among deer mice via biting and to humans via contact with their excreta .recently , the hantavirus has been receiving increasing attention in the physical and mathematical literature .a basic population dynamics model was introduced and solved by kenkre  , the spatiotemporal patterns of the infection were studied by abramson and kenkre  , monte carlo simulations were performed by aguirre _et al . _ , propagating fronts of the disease were analyzed by abramson _et al . _ , and the relation between outbreaks of the disease and seasonal changes was explored by buceta __  .this work has shed light on the mechanisms of propagation of the disease among mice , and will hopefully help design more effective prevention policies .  in this paperwe go a step further and analyze the effects of the _ internal _ fluctuations on the propagation of the disease .these fluctuations are inevitable because the mouse population is discrete and finite , and they may have profound consequences , as reported by escudero _et al . _ using a generic population dynamics model .the basic model introduced in  incorporates birth , death , competition for resources , and infection .the model reads :    where stands for the total number of mice , for the total number of infected mice , is the birth rate coefficient , the death rate coefficient , the infection rate coefficient , and the carrying capacity that characterizes the resources available to the mice and the resulting competition .the steady state value of the total mouse population is .one can see that there is a transcritical bifurcation at , with }.  \label{kc}\ ] ] when the stable point has zero infected mice , while when the stable point includes a positive number of infected mice , the two rate equations can be thought of as describing two `` reactants , '' and , undergoing four types of `` reactions '' with rate coefficients , , , and respectively . one of these conserves the total number of mice ( the infection ) , while the other three ( birth , death , competition ) do not. note that eq .( [ meanfielda ] ) depends only on the latter three , whose effect on the total population can thus be studied separately from the issue of infection .infected pregnant mice produce hanta antibodies that keep their foetus free from the infection .consequently , there is no birth term in eq .( [ meanfieldb ] ) . also , there is no recovery term in the model because mice become chronically infected with the virus .the analysis of the internal fluctuations in the mouse population due to the discrete and finite sizes of the populations requires the generalization of the mean field model to a stochastic description , e.g. , a master equation . in this paperwe start with such a master equation , but at the very outset we outline some reasonable approximations that lead to a mathematically tractable model .a full master equation description of the problem would involve , the probability distribution function for there to be total mice and infected mice at time .we find this full master equation to be analytically intractable .we therefore break the problem up into two parts as follows .first , we formulate a master equation for the reduced probability distribution function associated only with the mean field equation ( [ meanfielda ] ) .this master equation ( which is not influenced by the infection ) is tractable , as we shall see .we then argue that the fluctuations in the _ infected _ mouse population arise from two sources .one is the dependence on in eq .( [ meanfieldb ] ) and the fact that this total population fluctuates . having solved the master equation associated with , we are able to incorporate these fluctuations into the stochastic description of infected mice. we will show that the effects of these fluctuations may be profound , especially when the mean mouse population is not too large , and may lead to unexpected consequences .these are the new features that we are particularly interested in exploring .the other arises from the additional inherent fluctuations in the number of infected mice due to the fact that this population is also finite and discrete .these are especially important when the number of infected mice is small , but we do not include them explicitly in our equations , again because of tractability problems .this is not as serious as one might think because we do know their consequences , which can also be profound ( as we have shown in  ) : these fluctuations may cause a small population of infected mice to disappear entirely .in other words , if one is in a regime where the population of infected mice is small in the absence of these fluctuations , consideration of these fluctuations might eliminate this population entirely .thus , results obtained without consideration of these fluctuations can be thought of as an upper bound on the number of infected mice . at worst one would be overestimating the presence of infected mice in the regime where the number of infected mice is in any case small or zero .  in sec .[ modeltotal ] we present the stochastic model for the total mouse population . section [ modelinfected ] deals with the stochastic model for the infected mouse population , and in sec .[ results ] we discuss the results of the analysis .we summarize our conclusions in sec .[ conclusions ] .the master equation for the total mouse population is easily written down if we think explicitly of the `` reactions '' contributing to eq .( [ meanfielda ] ) .they are births , deaths , and competition for resources , the master equation describing these processes is + c\left[(n+1)p(n+1,t)-np(n , t)\right ] \nonumber\\ & & + k^{-1}\left[(n+1)np(n+1,t)-n(n- 1)p(n , t)\right ] .\label{masterequation}\end{aligned}\ ] ] this equation is not tractable as it stands , but it is amenable to a system size expansion as introduced by van kampen  . a system size expansion is appropriate when the system is `` large '' or , as in our case , the species under consideration numerous .it is important to note that this implies that the steady state solution for given in eqs .( [ meanfieldsol1 ] ) and ( [ meanfieldsol2 ] ) , which we expect the mean of the stochastic solution to reproduce , must therefore be `` large '' , that is , must be proportional to the system size .the ratio where is the size of the system , must be essentially independent of the system size for this analysis to be appropriate . to implement a system size expansionwe thus write the third coefficient on the right of eq .( [ masterequation ] ) as .the implemention of a system size expansion requires several steps .first , although is a discrete variable , we can represent the discrete changes in via an infinite series of derivatives in which is treated as a continuous variable : this exact relation allows us to rewrite the master equation ( [ masterequation ] ) as np(n , t ) + \frac{d}{\omega } \sum_{j=1}^\infty \frac { 1}{j!}\frac{\partial^j}{\partial n^j } n(n-1)p(n , t).\ ] ] next , one makes the heuristic assumption that one can perform the change of variables where is the mean value of the mouse population density and represents the fluctuations around the mean .we then define the probability distribution applying the standard chain rule together with the relation which follows from the change of variables relation , we can ( after multiplying through by ) rewrite the master equation in terms of the new distribution , \left(\omega\phi + \omega^{1/2}z\right)\rho(z , t ) \nonumber\\ & & + \frac{d}{\omega } \sum_{j=1}^\infty  \omega^{-j/2}\frac{1}{j!}\frac{\partial^j}{\partial z^j}\left(\omega\phi+\omega^{1/2}z\right ) \left(\omega\phi+\omega^{1/2}z-1\right ) \rho(z , t ) .\label{stillexact}\end{aligned}\ ] ] this equation is still exact .  in the large system size limitthere are three divergent terms in eq .( [ stillexact ] ) proportional to that must cancel , that is , we must require that note that this exactly corresponds to eq .( [ meanfielda ] ) , that is , is indeed the mean population density . in the steady statewe thus have using this result in the surviving terms in eq .( [ stillexact ] ) in the large limit then leads , in the steady state , to the equation this is the steady state limit of a fokker - planck equation for the probability density of the stochastic variable .its solution with natural boundary conditions at is given by a gaussian distribution centered at zero and of width proportional to .this in turn implies that the total number of mice also has a gaussian distribution whose mean is the mean number of mice predicted by the deterministic model and whose width is proportional to .the internal fluctuations thus do not alter the behavior of the total number of mice in any dramatic way .they simply lead to a gaussian distribution around the deterministic mean whose width increases with increasing birth rate and increasing carrying capacity .however , as we will see in the following sections , the consequences of this distribution on the number of infected mice can be unexpected .we now return to the infected mouse population , whose evolution is described in mean field by eq .( [ meanfieldb ] ) .while we are ignoring the internal fluctuations that arise from the fact that this population is finite and discrete ( as discussed earlier ) , we do wish to provide a stochastic description that incorporates the effects of the fluctuations in the total mouse population .our results of the previous section indicate that in the steady state we can think of as a stochastic variable , where the fluctuations have zero mean and are generated from the ornstein - uhlenbeck stochastic differential equation here is zero - centered -correlated gaussian noise of unit intensity , . in the stationary statethe correlation function of the fluctuations is then we include these fluctuations in eq .( [ meanfieldb ] ) by replacing with .the resulting stochastic differential equation reads -an_i^2+\frac{a - k^{-1}}{\sqrt{b - c } } n_i \zeta(t),\ ] ] where is an orstein - uhlenbeck process with zero mean and correlation function this is our basic stochastic equation for the infected population .the intensity of these fluctuations is determined by the width of the total mouse population distribution .the correlation time is a measure of the time it takes a total population diminished by fluctuations to recover .  because is a `` colored noise '' with finite correlation time , the exact solution of the problem ( [ stochastic])-([basicinf ] ) is not known . in particular, there is no exact fokker - planck equation for the probability distribution function that the number of infected mice is at time .a number of approximate fokker - planck equation schemes can be found in the literature  , some of which have the virtue of becoming exact in both the limits and .since these theories lead to a qualitatively similar panorama of possibilities , we apply the simplest of these theories , developed by fox  .the resulting effective fokker - planck equation is where - an_i^2,\ ] ]    and the stationary solution of this equation is } { \displaystyle b(ak-1)^2}\right ) } \nonumber\\ \nonumber\\ & & \times \exp\left [ - \frac { k a^2n_i^2}{2b(ak-1)^2 } + \frac { ak\left[ak(b - c)-2b + c\right]n_i}{b(ak-1)^2}\right ] , \label{probdistr}\end{aligned}\ ] ] where is the normalization constant . in the next sectionwe analyze and comment on the interesting features of this solution .the first point to note is that the mean number of mice , is exactly as predicted in the mean field theory , cf . eqs .( [ meanfieldsol1])-([meanfieldsol2 ] ) . however , here there are distributions of infected mouse populations underlying this mean , and our interest lies in the different shapes of these distributions in different parameter regimes , and in the additional information beyond the mean contained in these distributions . the distributions , described in detail below , are sketched in fig .[ figshape ] , where we present the phase diagrams of the system in space for fixed and .the values of and have been chosen to match those used in earlier monte carlo simulations  and/or to make most evident the different behaviors that are observed in the system .various phase boundary lines are shown in fig .[ figshape ] .the solid curves in both panels are the curves .when the probability distribution ( [ probdistr ] ) can not be normalized because it has a nonintegrable singularity at .since this is a fixed point of the dynamics , the probability distribution must be interpreted as a function centered at zero  .the insets at the lower left of each panel are a schematic of this behavior .when crosses the curve there is still a divergence at , but the probability distribution becomes integrable and hence normalizable .the most probable value for the infected population is still zero , but nonzero values now have a finite probability and the mean value of infected mice is positive .the lower right hand insets in both panels are sketches of this behavior , which persists as a function of increasing until the carrying capacity reaches a second critical value , +\sqrt{b(b - c)[b^2-c(4a+b)]}}. \label{kc2}\ ] ] when crosses the curve the divergence in the distribution ( [ probdistr ] ) disappears and the most probable number of infected mice moves to finite values .the curve has a divergent asymptote at , but its behavior as a function of otherwise depends on the other parameters . if then also diverges at .this is the situation in panel ( a ) of fig .[ figshape ] . on the other hand , if then is complex when , thus producing the abrupt vertical boundary seen in panel ( b ) .this second case corresponds to the parameters and in the monte carlo simulations of aguirre _ et al ._  . in either case , within the region enclosed by the curve ( dashed curve in the figure ) the probability distribution goes to zero at the origin and has a maximum at a finite value of , as shown in the upper left sketches in both panels .both the average number of infected mice and the most probable number of infected mice are now positive .note that we have labeled the rightmost value of on the dashed curve as , whether it is an asymptote as in panel ( a ) or the abrupt ending point of the curve as in panel ( b ) .there is an additional transition curve , more subtle than the other two , drawn as the dotted curves in both panels in fig .[ figshape ] .we denote this transition curve as . on the upper right hand in both panelsis the sketch of the probability distribution in this region . herethe probability distribution diverges at zero , but another maximum develops at a finite number of infected mice .this maximum is found as the finite positive root of the derivative condition .the dotted curves in the phase diagrams indicate the location of this transition .a number of points about these results deserve special highlighting .the particular behavior just described for large and ( divergence at the origin and also another maximum ) is entirely due to the fact that the internal fluctuations are _the correlation time of these fluctuations is , and the color has arisen naturally and not as an additional assumption .it is interesting to note that the monte carlo simulation results of aguirre _ et al . _ exhibit a number of features that might be related to the results that we have derived here .one is that in their simulations the number of infected mice as a function of jumps discontinuously from zero to a finite number ( whereas the mean field value does not ) .they note that an explanation for this result lies in the fact that the number of mice is discrete and that one whole mouse is needed to obtain a result different from zero ( although their jump is much greater than unity ) . in our continuous language , the behavior they observe might reflect the abrupt transition between the -function distribution ( or the one with a maximum at the origin ) to the one with a zero probability density of no infected mice as increases .their simulations use the value . to support this argument further ,we have plotted in fig .[ dispersion ] the ratio of the dispersion to the mean for these parameter values .the dispersion is of the order of the mean and , near the transition value , the ratio actually diverges .we have elsewhere pursued the argument that a possible criterion for the likely extinction of a species is precisely that the dispersion be of the same size as the mean  .the substantial width of the distribution might make itself apparent in a simulation through the high likelihood of absence of the infected species . for comparison ,we have also plotted the ratio of the dispersion to the mean for a value of .the fluctuations are now decidedly smaller , even though we are in a regime of far fewer infected mice on average ( as indicated by the values of ). it would be interesting to see whether the size of the jump in the infected mouse population at the transition would decrease in a monte carlo simulation with . finally , we comment on three last points .one concerns the validity of the system size expansion .the total mean number of mice in the population is , andthe system size expansion is valid if this number is in some sense sufficiently large ( the expansion is valid if the neglected terms are small ) .while we have not explicitly checked the validity , in most of the regimes under discussion the number of infected mice is an order of magnitude greater than unity .our second point is to stress that the fluctuations that lead to the distributions of infected mice are entirely due to the discrete and finite character of the _ total _ number of mice . andyet , while the ratio of the width of the distribution of total mice to the mean number of total mice , , is small in most of the phase diagram ( ) , the width of the distribution induced in the number of infected mice is relatively large ( of ) in most of the diagram . the third point is a reminder that this theory has not included the fluctuations caused directly by the fact that the number of infected mice is discrete and finite .these fluctuations would further broaden the distributions .we have considered the effect of the internal fluctuations in the total mouse population on the number of infected mice .although these fluctuations cause no dramatic effects in the total mouse population , yielding a gaussian distribution of relatively small variance for a sufficiently large population , these fluctuations have a rather strong effect on the distribution of infected mice . because the fluctuations are not `` direct '' but instead appear indirectly through the coupling between infected and uninfected mice , the fluctuations necessarily and naturally appear as colored in the equations that describe the evolution of infected mice .this leads to a variety of effects beyond those that would be caused by simple white noise  .the mean infected population in this model is exactly that predicted in mean field .however , while the mean field model predicts one critical value of the carrying capacity parameter ( ) such that below this value there is no infection and above this value there is , the stochastic model leads to three critical values ( , and ) .the first , which occurs at the same critical value as that of the deterministic model , here corresponds to a transition between a state with no infected mice to an intermediate state in which the most probable state is still one with no infected mice but with a finite probability of infection .the second describes a transition between this intermediate state and the outbreak state , where the probability distribution that there is no infection goes to zero .the intermediate state ( ) displays different behaviors depending on the parameter values .in particular , in some parameter ranges the intermediate state has very few infected mice .we argued that the inclusion of the internal fluctuations in the infected mouse population ( which was not considered due to analytic difficulties ) would probably lead to extinction of this small number of infected mice .this then means that the effective transition between non - epidemic and epidemic states may occur at rather than at .we also identified another transition curve , , beyond which the probability diverges at zero but where another maximum develops at a finite number of infected mice .these features may be useful in the design of more effective prevention policies .for instance , an increase in the effective annihilation rate of the mice ( by either increasing the death rate or decreasing the birth rate or both ) might help because it increases the relative size of the region in parameter space in which the infected mouse population distribution has a divergence at the origin ( the state of no infected mice ) .the most effective strategy for the control of hantavirus outbreaks is the reduction of the carrying capacity so as to cross from one regime to another with a higher probability of no infected mice .  c. escudero is grateful to the department of chemistry and biochemistry of the university of california , san diego for its hospitality .j. buceta wishes to acknowledge support by the la jolla interfaces in science interdisciplinary program funded through the generosity of the burroughs wellcome fund .this work has been partially supported by the engineering research program of the office of basic energy sciences at the u. s. department of energy under grant no .de - fg03 - 86er13606 , by the ministerio de educacin y cultura ( spain ) through grant no .ap2001 - 2598 , and by the ministerio de ciencia y tecnologa ( spain ) , project no .bfm2001 - 0291 .j. n. mills , t. l. yales , t. g. ksiazek , c. j. peters and j. e. childs , emerg .dis . * 5 * , 95 ( 1999 ); d. m. engelthaler , d. g. mosley , j. e. cheek , c. e.levy , k. k. komatsu , p. ettestad , t. davis , d. t. tanda , l. miller , j. w. frampton , r. porter and r. t. bryan , _ ibid ._ 87 ; j. n. mills , t. g. ksiazek , c. j. peters and j. e. childs , _ ibid ._ 135 ; a. j. kuenzi , m. l. morrison , d. e. swann , p. c. hardy and g. t. downard , _ ibid . _ 113 ; k. d. abbott , t. g. ksiazek and j. n. mills , _ ibid . _ 102 ; c. h. calisher , w. sweeney , j. n. mills and b. j. beaty , _ ibid . _ 126 ; b. hjelle and g. e. glass , j. infect . dis . *181 * , 1569 ( 2000 ) ; j. w. hooper , t. larsen , d. m. custer and c. s. schmaljohm , virology * 289 * , 6 ( 2001 ) .v. m. kenkre , in _ modern challenges in statistical mechanics : patterns , noise , and the interplay of nonlinearity and complexity _ , edited by v. m. kenkre and k. lindenberg , aip conference proceedings * 658 * ( new york , 2003 ) .

Abstract: we study the spread of hantavirus over a host population of deer mice using a population dynamics model . we show that taking into account the internal fluctuations in the mouse population due to its discrete character strongly alters the behaviour of the system . in addition to the familiar transition present in the deterministic model , the inclusion of internal fluctuations leads to the emergence of an additional deterministically hidden transition . we determine parameter values that lead to maximal propagation of the disease , and discuss some implications for disease prevention policies .


decoding plays a very important role in modern data communications . the best known decoding algorithm for turbo codes and ldpc codesis called the sum - product algorithm  .it is a message passing algorithm operating in a general graph . to the surprise of many mathematicians, we have little theoretical understanding of its principles despite of its effectiveness .although it has demonstrated satisfying performances in decoding and solving many other optimization problems , it may also give poor results or fail to converge .this paper presents the application of cooperative optimization in decoding ldpc codes .it is a new optimization principle completely unknown to the mathematics and engineering societies before .similar to the sum - product algorithm , the cooperative algorithm also employs message passing operated in a general graph . unlike the sum - product algorithm , its computational properties are better understood . while many classic methods struggled with local minima , our method always has a unique equilibrium and converges to it with an exponential rate regardless of initial conditions .it can determine if the equilibrium is a global optimum or not .in many important cases , it guarantees to find the global optima for difficult optimization problems when conventional methods often fail .theories for optimization have been studied for centuries .they caught special attention after the invention of computers because of their importance in solving many practical problems with the use of computers . yet in the past many effective optimization methods are found not by applying the known optimization theories . instead they are empirical ones discovered with some threads of chances , just like the sum - product algorithm for decoding turbo codes and ldpc codes used in data communications .this crucial realization demands us to discover new principles for optimization and build new theories for them .we can always expect better results through deeper theoretical understanding beyond discovering empirical rules .hopefully , the application of a new optimization principle for decoding ldpc codes presented in this paper could support this point of view .to solve a hard problem , we follow the divide - and - conquer principle .we first break up the problem into a number of sub - problems of manageable sizes and complexities . following that, we assign each sub - problem to an agent , and ask those agents to solve the sub - problems in a cooperative way .the cooperation is achieved by asking each agent to compromise its solution with the solutions of others instead of solving the sub - problems independently .we can make an analogy with team playing , where the team members work together to achieve the best for the team , but not necessarily the best for each member . in many cases , cooperation of this kindcan dramatically improve the problem - solving capabilities of the agents as a team , even when each agent may have very limited power .  to be more specific, the cooperation is achieved in such a multi - agent system via two vital steps executed by each agent in an iterative way , 1 ) solving its sub - problem by soft decision making , and 2 ) passing its soft decisions to its neighboring agents . at the very beginning ,each agent makes soft decisions by solving its own sub - problem and ranking the solutions in order of preferences measured by some values . for an agent ,the most preferable one is the best solution to its sub - problem and the less preferable ones are the solutions sub - optimal to its sub - problem . following that , each agent passes its soft decisions as messages to its neighboring agents . after receiving its neighbor agents soft decisions, each agent goes back to the soft decision making step again . at this time , instead of solving its sub - problem independently , it tries to solve its sub - problem by compromising its solutions with its neighboring agents. the best solution for one agent may not be the best one for another .if there is any conflict among the agents , it is required for each agent to compromise its solutions with its neighbors to reach a consensus .if a consensus in picking solutions is reached through compromising , the system reports it as a solution for the original problem . otherwise , the system iterates until a consensus is reached among the agents or the iteration exceeds some cap .the very core of cooperation is the soft decision making via solution compromising .paper  formally describes the cooperative optimization in the language of game theory .it has been shown in that there are different cooperation schemes yielding different computational behaviors of the system .one of them leads the system to find the nash equilibria .another ensures the system of a unique equilibrium . with this scheme, the system always converges to the equilibrium with an exponential rate regardless of initial conditions .theory also tells us that the equilibrium must be the global optimum if it is a consensus solution .details about these together with the theoretical investigation of the cooperative optimization are provided in .let the cost function ( also referred to as energy function or objective function ) to be minimized be , which can be expressed as an aggregation of three binary sub - functions , , , and .  to illustrate the decomposition of this problem into simple sub - problems , we map the cost function ( [ cost_function ] ) into a graph ( shown in the upper portion of fig . [ fig_decomposition ] ) .we can view each variable as a node in the graph and each binary sub - function as a connection between two nodes .this graph has one loop and we can decompose it into three sub - graphs of no loop shown in the lower portion of fig .[ fig_decomposition ] , one for each variable ( double circled ) .each sub - graph is associated with one cost function , .for example , the sub - graph for variable has its cost function as so are the cost functions of the sub - graphs for other two variables :  obviously , with such a decomposition , the original problem , , becomes three sub - problems , , .    for the sub - problem ,the preferences for picking values for variable are used as the soft decisions for solving the sub - problem . those preferencesare measured by some real values and are described as a function of , denoted as .it is also called the assignment constraint for variable .the different function values , , stand for the different preferences in picking values for variable .because we are dealing with minimizing , for the convenience of the mathematical manipulation , we choose to use smaller function values , , for more preferable variable values .to introduce cooperation in solving the sub - problems , we iteratively update the assignment constraints ( soft decisions in assigning variables ) as where is the iteration step , are non - negative weight values satisfying .it has been found  that such a choice of makes sure the iterative update functions converge .parameter controls the level of the cooperation at step and is called the cooperation strength , satisfying a higher value for will weigh the solutions of the other sub - problems more than the one of the current sub - problem .in other words , the solution of each sub - problem will compromise more with the solutions of other sub - problems . as a consequence , a higher level of cooperation in the optimizationis reached in this case .the update functions , ( [ u1]),([u2 ] ) , and ( [ u3 ] ) , are a set of difference equations of the assignment constraints . unlike conventional difference equations used by probabilistic relaxation algorithms  , and hopfield networks , this set of difference equations always has one and only one equilibrium given and .some important properties of this cooperative optimization will be shown in the following subsections .let be a multivariate cost function , or simply denoted as , where each variable has a finite domain of size ( ) .we break the function into sub - cost functions ( ) , one for each variable , such that contains at least variable , the minimization of each cost function ( the sub - problem ) is computational manageable in complexity , and   the cooperative optimization is defined by the following set of difference equations :   intuitively , we might choose such that it is non - zero if is contained by .however , theory tells us that this is too restrictive . to make the algorithm work , we need to choose to be a propagation matrix defined as follows :  a propagation matrix is a irreducible , nonnegative , real - valued square matrix and satisfies [ definition_propagation_matrix ]  a matrix is called reducible if there exists a permutation matrix such that has the block form   the system is called reaching a consensus solution if , for any and where contains , where is defined as [ consensus ]  a solution to the difference equations ( [ cooperative_optimization ] ) is called an equilibrium of the system . specifically , it is a set of values for all the assignment constraints ( the soft decisions ) , , such that the difference equations are satisfied .  to simplify the notations in the following discussions ,let let , the favorable value for assigning variable .let .it is the candidate solution obtained by the cooperative algorithm at iteration .the theoretical understanding of the cooperative optimization has been given in detail in .here we list some important properties .the following theorem shows that for have a direct relationship to the lower bound on the cost function .given any propagation matrix and the general initial condition or , is a lower bound function on , denoted as .that is in particular , let , then is a lower bound on the optimal cost , that is .[ theorem_1 ]  here , subscript `` - '' in indicates that it is a lower bound on .this theorem tells us that provides a lower bound on the cost function .we will show in the next theorem that this lower bound is guaranteed to be improved as the iteration proceeds .given any propagation matrix , a constant cooperation strength , and the general condition , is a non - decreasing sequence with upper bound .[ theorem_3 ]if a consensus solution is found at some step or steps , then we can find out the closeness between the consensus solution and the global optimum in cost .if the algorithm converges to a consensus solution , then it must be the global optimum also .the following theorem makes these points clearer .given any propagation matrix , and the general initial condition or .if a consensus solution is found at iteration step and remains the same from step to step , then the closeness between the cost of , , and the optimal cost , , satisfies the following two inequalities ,  where is the difference between the optimal cost and the lower bound on the optimal cost , , obtained at step .when and for , .[ theorem_2 ]  the performance of the cooperative algorithm further depends on the dynamic behavior of the difference equations ( [ cooperative_optimization ] ) .its convergence property is revealed in the following two theorems .the first one shows that , given any propagation matrix and a constant cooperation strength , there does exist a solution to satisfy the difference equations ( [ cooperative_optimization ] ) .the second part shows that the cooperative algorithm converges exponentially to that solution .given any symmetric propagation matrix and a constant cooperation strength , then difference equations ( [ cooperative_optimization ] ) have one and only one solution , denoted as or simply .[ theorem_7 ]  given any symmetric propagation matrix and a constant cooperation strength , the cooperative algorithm , with any choice of the initial condition , converges to with an exponential convergence rate .that is [ theorem_8 ]  this theorem is called the convergence theorem .it indicates that our cooperative algorithm is stable and has a unique attractor , .hence , the evolution of our cooperative algorithm is robust , insensitive to perturbations , and the final solution of the algorithm is independent of initial conditions . in contrast ,conventional algorithms based on iterative improvement ( e.g. gradient descent ) have many local attractors due to the local minima problem .the evolution of these algorithms are sensitive to perturbations , and the final solutions of these algorithms are dependent on initial conditions .ldpc codes belong to a special class of linear block codes whose parity check matrix has a low density of ones .ldpc codes were originally introduced by gallager in his thesis  . after the discovery of turbo codes in 1993 by berrou et al . , ldpc codes were rediscovered by mackay and neal  in 1995 .both classes have excellent performances in terms of error correction close to the shannon limit .the parity check matrix is a binary matrix with elements in .it is sparse with a few non - zero elements .let the code word length be and the input data be then is a matrix , where is the number of rows .each row of , denoted as , introduces one parity check constraint on , since has rows , there are constraints on .that is ,    to minimize the probability of decoding error , the optimal decoder for a channel code finds an input that has the maximum posterior probability given an output .usually , we assume a uniform prior distribution on . in this case , the maximum posterior criteria reduces to the maximum likelihood , i.e. , finding an input which makes the likelihood distribution a maximum .  for a discrete memoryless additive guassian channel and a binary modulation , the output data bit at position , , can be modeled as the following random variable : where and is a additive noise of the gaussian distribution with variance .let where , is the conditional distribution of output data bit given the input data bit . in this case, the maximum likelihood decoding becomes   this is a constrained maximization problem . without loss of generality , we can transform it into an unconstrained minimization problem in a more general form . to do that, we introduce unary constraints on variables , and convert each parity check constraint to a -ary constraint on the variables of the constraint . let the parity check constraint , , define on a subset of variables , denoted as of size .then the -ary constraint on is defined as using those definitions , ( [ original_problem ] ) becomes in general , the above problem is called the constraint - based optimization , which is np - hard .it is a core problem in mathematical logic and computing theory . in practice, it is fundamental in solving many problems in machine vision , image processing , computational chemistry , integrated circuit design , computer network design , artificial intelligence and more .the tanner graph is used to help us understand the decomposition .a tanner graph for a ldpc code is a bipartite graph with variable nodes on one side and constraint nodes ( parity check nodes ) on the other side .edges in the graph connect constraint nodes to variable nodes .a constraint node connects to those variable nodes that participate in its parity check .a variable node connects to those constraint nodes that use the variable in the parity checks .the tanner graph can be decomposed into tree - like sub - graphs , one for each variable .those sub - graphs can have overlaps .because their tree - like structures , we can find the exact solutions for the sub - problems associated with those sub - graphs .there are many ways of decomposing a graph which lead to different performances of the cooperative algorithm . a simple, straightforward way of decomposition is to have the sub - graph of each variable node consisting of all the constraint nodes linked to the variable node , together with their connections , all the variable nodes linked to those constraint nodes , together with their connections , and the variable node itself .we developed high performance us patent pending methods and apparatus for decoding turbo codes and ldpc codes using the cooperative algorithm .usually , short ldpc codes have high commercial values because the decoding time is also short .it also has been found that irregular ldpc codes have better performances than regular ones  .a candidate code for china hdtv ( proposed by the author using a new way of code construction called quantum coding ) is a -irregular ldpc code of a data rate .china decides to use ldpc codes instead of turbo codes for channel coding because of their higher coding gains and lower complexity in decoding .fig [ decodingldpc ] shows the performances of the cooperative algorithm and the sum - product algorithm in decoding the ldpc code using code words and awgn ( additive white gaussian noise ) channel .the maximum number of iterations for the sum - product algorithm is 30 .it was found that there is not much improvement in the decoding quality after 30 iterations .an error floor was observed at bers below using the sum - product algorithm .the acceptable error rate is below for china hdtv .the sum - product algorithm can not achieve that even after the is higher than   the error floor trouble was completely removed by the cooperative algorithm .the error rate drops to zero after the is higher than . at the `` water fall '' region ,the cooperative algorithm has reduced the decoding error rates further by more than three fold . for the cooperative algorithm ,the maximum iteration number is 120 mainly because of much less complexity of its computation .even with that number , it was still more than six times faster than the sum - product algorithm .in the second example , we use a regular ldpc code to demonstrate that the cooperative algorithm has much less dependence on the code structure than the sum - product algorithm .the code is the turbo - like production of a simple parity check code  the configuration of the code is a dimensional cubic .the block size is , the data size is , and the data rate is .lpdc codes of this kind are simplest in structure and the most easy to encode ( but not necessarily the best code distances ) .the sum - product algorithm has terrible performance in decoding this kind of codes due to the high regularity of the code structure .fig [ decodingldpc ] shows the performances of both algorithms using code words and the awgn channel .the cooperative algorithm was much better than the sum - product algorithm in this case .the success of the cooperative algorithm in decoding this type of lpdc codes implies that we can have greater flexibility at constructing high performance codes without worrying too much about the limitations of decoding algorithms .we have presented the application of a new optimization technique called cooperative optimization for decoding ldpc codes .like the well - known sum - product algorithm , the cooperative algorithm is also based on iterative message passing operating in the tanner graph .although similar in operations , they are derived from different principles .the sum - product algorithm is a generalization of the belief propagation algorithm  used in ai .it can find exact solutions when the graph it operates on has no cycles . with cycles ,we still lack a theoretical understanding of the behavior of the algorithm .unlike many conventional methods , cooperative optimization has a solid theoretical foundation on many computational properties . in our experiments, it significantly outperformed the sum - product algorithm both in efficiency and accuracy for decoding different ldpc codes .the new cooperative decoding algorithm can be extended further from the min - sum semiring to other semirings similar to those done for the sum - product algorithm  and general distributive law  .t. j. richardson , m. a. shokrollahi , and r. l. urbanke , `` design of capacity - approaching irregular low - density parity - check codes , '' _ ieee trans .inform . theory _47 , no . 2 ,619637 , feb 2001 .

Abstract: cooperative optimization is a new way for finding global optima of complicated functions of many variables . it has some important properties not possessed by any conventional optimization methods . it has been successfully applied in solving many large scale optimization problems in image processing , computer vision , and computational chemistry . this paper shows the application of this optimization principle in decoding ldpc codes , which is another hard combinatorial optimization problem . in our experiments , it significantly out - performed the sum - product algorithm , the best known method for decoding ldpc codes . compared to the sum - product algorithm , our algorithm reduced the error rate further by three fold , improved the speed by six times , and lowered error floors dramatically in the decoding .


an increasing number of applications require laser sources with low frequency noise , large frequency dynamics , or both .examples are lidar , optical communications to satellites , optical doppler ranging and telemetry to satellites or between satellites , optical spectrum analyzers , coherent manipulation of atoms for quantum processing , and low noise interferometric sensors .  in this work we consider one particular application : ground to satellite optical doppler ranging at the atmospheric turbulence limit .that technique uses phase coherent tracking of an optical signal reflected from a corner cube onboard a low earth orbit satellite , thereby measuring the optical distance variations between the ground telescope and the satellite with a potential for several orders of magnitude improvement over standard satellite laser ranging techniques .more importantly , such measurements , when limited by atmospheric turbulence , provide valuable information on the phase and amplitude noise of that effect ( up and down link ) of particular importance for phase coherent optical communications and long distance optical free space clock comparisons .the latter is of particular interest in the context of next generation atomic clocks for space applications in fundamental physics , navigation , and geodesy .  in 2009 coherent optical doppler ranging to a stationary ground targethas demonstrated the feasibility of the method and its limitations from atmospheric turbulence on a 5 km horizontal link .furthermore , that experiment has allowed the estimation of the residual noise from atmospheric turbulence in long distance clock comparisons , with very promising results .those estimations have been confirmed experimentally in another 2 km horizontal ground link very recently .however similar experiments for ground - space links are still missing and direly needed in order to demonstrate the feasibility under much more difficult conditions ( large doppler dynamics , low return power , high frequency stability requirements of the source ) .of interest in their own right for precision satellite ranging they are also crucial for the characterization of atmospheric turbulence phase and amplitude noise .here we report on progress towards the realization of that goal .we describe the experimental development of the required lasers that need to display state of the art frequency stability , whilst being capable of a controlled frequency sweep spanning ghz at a maximum rate exceeding 100 mhz / s in order to compensate the doppler effect due to satellite motion .we derive the requirements on the laser stability from the expected turbulence noise and show that our laser system meets those requirements .the application described above requires high stability and controlled and broad frequency tunability at the same time , which is a challenge to many laser stabilization schemes ( eg .fabry - perot cavities or locking to atomic / molecular transitions ) .a solution is to use large arm length unbalance fibre interferometers .it has been demonstrated that such systems display state of the art stability with simultaneous sweep linearity . however , the achieved sweep rates ( up to 40 mhz / s ) and range ( ghz ) are insufficient for our purposes .a system with much faster and broader tuning was reported in , however with insufficient stability for our purposes .  our own systemis comprised of two lasers each stabilized on an unequal arm fibre interferometer closely inspired by .the system is less stable than the one reported in but still sufficient for our purposes , whilst having broader and faster tuning capability .it is a compromise between compactness and performance as it has to be moved frequently to astronomical sites where it will be used to realize first coherent ground - satellite optical doppler ranging .it has recently been transported from paris to the observatoire de la cte dazur in southern france where first preliminary tests with the 1.5 m lunar / satellite ranging telescope have taken place .further tests are planned in 2014 .the paper is organized as follows .we first describe the application ie . the planned experiment for a coherent optical ground to satellite link , and derive the resulting requirements on the lasers .we then provide the details of our laser system designed and built for that purpose .this is followed by the experimental results of the laser frequency stability in different configurations ( no sweep , linear sweep , non - linear sweep ) .finally we discuss those results and conclude .the laser system described here was developed within the scope of the mini - doll ( miniature deep - space optical laser link ) project that aims at demonstrating the feasibility and studying the phase noise limitations of coherent ground to satellite optical links across large distances as proposed for distant clock comparisons and communication across the solar system .mini - doll uses a two way link with the light reflected off a corner cube onboard low earth orbit satellites ( around 1000 km altitude ) .thus the signal crosses the atmosphere twice and is subject to the large doppler dynamics of low earth orbit satellites .concerning the received power , we expect less than 1 pw power in the return signal due mainly to the two - way configuration and the small size of the corner cubes ( cm ) .this is only about an order of magnitude more than the received power from 1 w emission from a spacecraft at 3 astronomical units from the earth ie .if successful mini - doll demonstrates the feasibility of such a deep space link with similar received power levels but significantly more adverse doppler conditions and a double ( rather than single ) crossing of the atmosphere .  consider a ground to satellite link as shown in fig .[ fig_teory_satellite ] . at the instant the laser is emitted towards the satellite where , at time , it is reflected by the corner cube and received back at the ground telescope at instant .the measurement is the beatnote ( fractional frequency difference ) between the local laser and the signal returning from the satellite .the measured beatnote can be written as where is the laser frequency at instant ( normalized to the nominal laser frequency ) , and are the satellite and ground station velocities respectively projected onto the line of sight , is the perturbation in fractional frequency due to the crossing of the atmosphere ( turbulence ) , and is the velocity of light .the aim is to determine the satellite motion ( velocity terms in ( [ eq_1 ] ) ) limited only by atmospheric turbulence ( terms in ( [ eq_1 ] ) ) . for the laser stabilitythis implies    which in terms of power spectral densities ( psd ) becomes , where is a stochastic process , is given by     where , and , are the noise psd of the laser and the atmospheric perturbation respectively .equation ( [ eq_3 ] ) defines our requirements on laser stability , from an assumption on the noise induced by atmospheric turbulence and from a knowledge of the ground to satellite distance ie . . throughout the paperwe will assume that the atmospheric noise psd is of the order of the one measured in , as justified in , and that the satellites that we aim at are in low earth orbit typically at altitudes around 1000 km giving ms .other requirements for our experiment come from the expected low signal power and the large doppler effect induced by satellite motion . we expect that the signal power will be attenuated by at least a factor 10 , due to divergence of the beam , small size of the corner cube , attenuation of the atmosphere , losses in the telescope and detection optics , and other effects .emitting at 30 w this implies a return power of the order of 1 pw . to achieve a reasonable, shot noise limited , signal to noise ratio the signal needs to be filtered in a narrow band of about 1 khz .the expected s / n ratio is then of the order 30 db at our 1064 nm wavelength , and expected to fluctuate due to atmospheric scintillation .however , a typical satellite at 1000 km altitude will induce doppler shifts varying from + 12 ghz to -12 ghz during the satellite pass at a maximum rate of about 120 mhz / s .it is not possible to measure a beatnote in a 1 khz band that varies between 0 and 12 ghz at that rate , so we use the following approach to overcome the doppler effect .our experiment is composed of 2 lasers , a local oscillator and an emitting laser .the emitting laser will be at constant frequency while the laser frequency of the local oscillator will be swept to compensate the doppler shift of the returning signal .we will sweep the frequency of the local oscillator according to the satellite orbit prediction .the result is a beatnote that varies sufficiently slowly to be tracked with a 1 khz bandwidth ( ie .it stays within a 1 khz band for at least a few ms ) .  in conclusion ,the requirements on our laser system can be summarized as follows :  * stabilize the emitting laser and local oscillator laser to a level satisfying ( [ eq_3 ] ) .* allow for a controlled sweep of the local oscillator laser to compensate for the predicted ( theoretical ) doppler shift due to satellite motion ( + 12 ghz to -12 ghz at a maximum rate of 120 mhz / s ) .* ensure that the difference between the actual laser frequency during the sweep and the predicted sweep has a stability satisfying ( [ eq_3 ] ) . *allow for large emission power (  10 w ) without deteriorating the frequency stability .in our setup we use two lasers one for emission ( nd : yag laser + er : yb multi - stage fibre amplifier ) and a broadly tunable fibre bragg grating ( fbg ) laser as the local oscillator . the set - upis shown schematically in figure [ figura_grande ] .the stabilization and sweep control are based on the method described in , and the reader is referred to that article for details . in our casewe stabilize our two lasers on a 1 km ( local oscillator ) and 2 km ( emitting laser ) single mode fibre delay line , which are both housed in the same temperature controlled and seismically isolated box .the detailed scheme is shown in figure [ fig_rf ] .due to the arm imbalance ( and 20 for the 1 km and 2 km spools respectively ) of the michelson - morley interferometers , the beatnote frequency on photodiodes pd1 and pd2 depends on ie . on the laser frequency derivative .therefore , by adding a frequency to the demodulation signal of the fibre laser , in closed loop operation ( error signal = 0 ) , its frequency is varied ( swept ) according to the condition    the programmed rf frequency for the sweep is provided by a direct digital synthesizer ( dds ) , to which we upload the predicted satellite doppler shifts before the pass . during the satellitepass ( about 20 min ) the required laser frequency derivative varies from 0 to 120 mhz / s and back which requires generating an appropriate ramp of varying from 0 to 1.2 khz according to equ .( [ eq_302 ] ) .the dds generates a new frequency every millisecond according to a previously uploaded file .additionally it allows for manual frequency steps or time steps during the pre - programmed sequence in order to be able to correct `` in real time '' for orbit prediction errors .any manual adjustments ( their value and the time at which they are applied ) are logged in a file for later traceability .  the emitting laser is a nd : yag oscillator emitting at 1064 nm ( manufactured by innolight ) .the maximum output power is 500 mw , the spectral linewidth ( over 100 ms ) is 1 khz .the wavelength can be tuned by acting on the temperature by 30 ghz , and by acting on the piezo - electric actuator ( pzt ) , mounted on one mirror of the laser cavity , by mhz .the fibre amplifier is manufactured by nufern and provides 50 w maximum output .the local oscillator is a dfb yb : fiber laser emitting at 1064 nm ( manufactured by nkt photonics ) .the maximum output power is 100 mw , the spectral linewidth inferior to 10 khz .the wavelength can be tuned by acting on the temperature by ghz , and by acting on the pzt by ghz ( wide piezo tuning option of nkt - photonics ) . to sweep the laser for doppler compensation , we have chosen to act on the pzt of the local oscillator only .the typical optical power sent into each interferometer is  .different devices and techniques are used to ensure the thermal , vibration and pressure isolation of the fiber spools .all these effects worsen the performances of the stabilization system in different ways . for thermal and pressure isolationwe use 4 boxes one inside the other .the 2 fiber spools are inserted in a metallic box with diameter 30 cm and height 20 cm .this box is inserted in another metallic box with cylindrical shape .  inside this second box , but not in thermal contact with the box of the fibers , are placed the 3 aoms ( acousto optic modulators ) of the interferometers ( aom 2 , 3 , and 5 in fig . [ fig_rf ] ) .the second box is actively thermally stabilized by 4 peltier modules attached on the external lateral surface . on the lid of the second boxare placed the 2 photodiodes .the 2 metallic boxes are air - sealed to attenuate pressure variations .the second box is placed inside another metallic box of cubic shape .the inside of the cubic box is covered with 5 cm thin acoustic absorber ( polyurethane agglomerate ) to attenuate acoustic vibrations .the cubic box is mounted on an active vibration table that filters the seismic vibrations between 10 and 100 hz .  to dissipate the heat of the peltier elements , they are in thermal contact with the ground by means of 4 twisted copper wires .finally the cubic box is housed inside a wooden cubic box to reduce fluctuations of room temperature , to further attenuate acoustic noise and to protect the complete set - up .the inside of the wooden box is covered with 5 cm thick acoustic absorber ( polyurethane agglomerate ) to attenuate acoustic vibrations . from the outsidethe complete stabilization set - up is then a wooden cube of 86 cm sides .the stabilized temperature of the fiber spool has been studied .we measure the temperature inside the box containing the fiber spool , the floor temperature and the room temperature .the experimental setup is located in an air conditioned laboratory at 22 .figure [ fig_inside - floor ] shows that , as expected , the temperature of the box of the fiber spool is strongly correlated on the long term with the temperature of the floor , that is used for dissipating the heat inside the stabilization boxes .the temperature drift for the floor temperature is 42.1 mk / day , while for the inner box is 1.5 mk / day : the protection system attenuates the long term temperature variations by a factor 27 .however , the diurnal variations of the environment temperature also affect the temperature of the fiber spool . by analyzing the residual of the temperatures after removal of the linear drift ( fig.[fig_residual_temp ] ) , we can see that the room and box temperatures have correlated diurnal variations , with the box being delayed by about 15 hours , and attenuated by about a factor 200 .practically no diurnal variations are visible on the floor temperature residuals .we want to verify that the linear drift of the temperature of the inner box corresponds to the linear frequency drift of the stabilized nd : yag laser ( a few hundred hz / s ) when measured with respect to an independent outside reference ( see section [ drift_femto ] ) .the relation between a temperature change ( ) and a frequency change due to an optical length variation of the fibre is where is the coefficient of optical length expansion of our fibres  .the measured long term temperature drift over several days is  1.7  / s ( see above ) giving a frequency drift of only  hz / s , somewhat less than observed .however , the frequency measurements were carried out over much shorter intervals , typically a few minutes . as the inset of figure [ fig_inside - floor ] shows , the temperature drift over such short periods can reach up to  k / s which is compatible with the observed frequency drifts of a few hundred hz / s .the lasers are characterized in terms of power spectral density ( psd ) and allan deviation of the fractional frequency fluctuations of the lasers . to characterize the experimental stability of the lasers ,2 different measurements have been performed .the first one is the comparison between the 2 lasers of the experiment , the local oscillator and the emitting laser .we aquire the beat - note between the 2 stabilized lasers with a fast frequency counter ( brilliant instruments bi200 ) .the counter can measure from dc up to 2 ghz .the counter noise of the instrument depends on the measured frequency , but is negligible in all our measurements for fourier frequencies below 100 khz .the 2 lasers are combined in a fiber coupler , and the output is focused on a free space fast photo - diode .all the rf signals , and the frequency counter have the same reference , so its frequency noise plays no role in the measurement .three measurements at different sampling times are performed : at 1 , at 10 and at 1 ms .the linear drift between the 2 stabilized lasers is of the order of a few hz / s over the measurement intervals ( typically a few minutes ) .the noise of the 2 stabilized lasers is correlated because the stabilization system ( spools , aoms , diodes , etc .. ) are located in the same box . as a consequencethe absolute phase noise of the lasers is certainly higher than when measured relative to each other .therefore , the stabilized emitting laser has also been compared with a completely independent system ( a cryogenic sapphire oscillator at 12 ghz ) using a frequency comb .the laboratories where the lasers of the experiment and the frequency comb are located , are in different buildings and are connected by a 130 m long optical fiber link .the noise of the return optical fiber link , 260 m in total , shows an allan deviation of 1x10 at 1 s and 5x at 10 s , ie .is negligible for our purposes , at least for integration times greater than 0.1 s.  the sampling time of the frequency comb measurement is 10 ms .the linear drift of the emitting laser with respect to the frequency comb is 600 hz / s[drift_femto ] .compared to the drift between the 2 stabilized lasers , the drift of the frequency of the emitting laser is about two orders of magnitude worse .this clearly shows that on the long term our two lasers are strongly correlated , as expected .the performances of the stabilized lasers are shown in fig .[ fig_no_sweep_psd ] and [ fig_no_sweep_allan_deviation ] . from figure [ fig_no_sweep_allan_deviation ]we see that for optimum integration times ( 0.2 s ) the level of the noise of the stabilized laser is times worse when compared to an independent source than when the two lasers are compared between them . for comparisonwe have also plotted in figure [ fig_no_sweep_psd ] the expected noise that will limit our satellite experiment , ie . the expected atmospheric turbulence noise multiplied by the transfer function from equ .( [ eq_3 ] ) ( with ms ) .we note that for fourier frequencies of interest to us ( hz ) the noise of the lasers will be sufficient for our experiment.  the full experimental setup has been built and tested at the syrte , paris observatory . in november 2012 it was transported to the calern site of the observatoire de la cte dazur in southern france at an altitude of 1270 m , in preparation for the satellite tests . in both sitesthe stabilized lasers remain locked for some hours , but at the calern site the locking is much more robust maintaining lock for many hours without requiring any adjustments .we have also noted that the typical stability of our two lasers when compared to each other is in general about a factor 2 to 3 better at calern than in the paris lab , although the temperature stabilization of the room in calern ( just below the telescope with open cupola etc .. ) is significantly less good than in the paris laboratory .both these effects are most likely due to the lower atmospheric pressure at the calern altitude leading to less thermal and acoustic coupling between the room and the inside box that contains the fiber spools for the stabilization .next we have verified that the laser stability is not modified when the local oscillator laser frequency is swept over 20 ghz at different rates . as a first step we carry out purely linear frequency sweeps , which also serve for the precise determination of the delay ( c.f .( [ eq_302 ] ) ) required for the controlled non - linear sweep for correct doppler compensation .  to perform the following measurements , the beat - note between the swept local oscillator and the emitting laseris collected with a 25 ghz fast photodiode .the signal from the photo - detector is divided by 8 by a low noise digital divider that operates from some khz to 18 ghz input frequency .the divided signal is then recorded with the frequency counter described in the previous section , that operates up to 2 ghz .the setup allows to measure a frequency change of 32ghz , from -16 ghz to + 16 ghz .figure [ figure_tau ] shows a linear frequency sweep at 1 ghz spanning more than 20 ghz .the residuals clearly show a quadratic behavior , as expected from the dispersion of the fibre ( for our corning hi1060 fibres the nominal dispersion coefficient around 1060 nm is 1.43 s/km ) .we fit a quadratic model of the local oscillator ( lo ) frequency to the data , of the form    obtaining c=-1043714018.62.6 hz / s and d=-15.470.02 hz/s . combining equations ( [ eq_302 ] ) and ( [ quadfit ] ) we find the relation for the dispersion effect on our delay where is the delay of our 2 km ( 1 km double pass ) fibre at the nominal frequency ) into ( [ eq_302 ] ) with we obtain . knowing that is constant for all we have . ] .we find a dispersion coefficient of 1.36 s/km , very close to the value quoted by the manufacturer .  in principleit is possible to take the dispersion effect into account when programming to compensate for the predicted doppler effect of the satellite .however , in practice this is not necessary as the sweep velocities are low when the frequency is far ( 10 ghz ) from its nominal value ( see section [ non - linear ] and fig . [ fig_simulation_envisat ] ) .consequently an error in has a smaller effect at those frequencies ie . when the dispersion effect is largest .for example , at a 10 mhz / s sweep rate a 3 ps error in tau ( ghz ) corresponds to a 3 hz / s sweep error , less than the natural drift of our lasers .thus we determine a single value of at the central frequency and use it to program for the satellite doppler correction . to do so the following procedure has been adopted . in the stabilization system of fig .[ fig_rf ] , constant values of are introduced in the servo - loop .this corresponds to linearly sweeping the local oscillator . to take into account the natural drift of the laser , for each value of , we sweep with the positive value and the negative value . to further take in account the natural drift of the laser , we repeat the same values of after some seconds .the set of data of is the following : + 1khz , -1 khz , then after 1 second + 2 khz , -2 khz , + 5 khz and -5 khz .after 50 seconds we repeat + 2 khz and -2 khz , and after waiting 50 seconds we apply + 5 khz and -5 khz .the values of sent to the system , 1 khz , 2 khz and 5 khz , correspond to laser frequency changes of roughly 100 , 200 and 500 mhz / s , respectively .  for each value ,the laser beatnote is recorded and a linear fit of the data is carried out to compute the values of from which we calculate the average value and its standard deviation .a typical averaged value of is 9.5761890718608 s with a standard deviation of 2 s. we attribute that uncertainty to the effect of the natural drift of the two lasers during and between measurements . repeating the measurements , even separated by several days , the obtained value of does not change by more than a few picoseconds .the instability at different linear sweep velocities has been tested .[ figure_sweep3 ] shows the psd of the fractional frequency difference between the 2 lasers , after subtraction of the applied linear sweep .the figure shows that it is possible to linearly sweep the laser up to 1 ghz / s without significantly degrading the stability .the data comply with the requirement for measuring the turbulence , even taking in account the worsening of the noise level when comparing to an independent laser source ( see fig .[ fig_no_sweep_psd ] ) .  note that the data for fig .[ figure_sweep3 ] were collected months before the data of fig .[ fig_no_sweep_psd ] .the new data have been obtained after several improvements of the isolation of the boxes that contain the fiber spools , which resulted in the disappearance of the peaks in the psd below 20hz , probably due to pressure fluctuations of the room .  in summary , we have carried out linear sweeps up to 1 ghz / s over more than 25 ghz without a noticeable degradation of the laser stability and in compliance with our requirements for the satellite experiment ie . with a noise level below the expected contribution from atmospheric turbulence .to evaluate the capability of our experimental setup to compensate the satellite doppler effect , we have simulated the corresponding frequency shift for a typical satellite pass for our experiment ( 800 km altitude , inclination 98 degrees , pass culminating at 78 degrees elevation ) , shown in fig . [ fig_simulation_envisat ] .the maximum sweep rate is mhz / s , and it corresponds to a decrease of the frequency of .8 ghz .the full duration is 652 seconds .we measure the beat - note between the two stabilized lasers as in the previous section .after stabilizing the 2 lasers , the beat - note is first increased by + 12ghz by use of the dds acting on the pzt of the local oscillator .next we sweep the local oscillator frequency by introducing the correct data sequence in the dds .the sampling time for the counter is 1 ms .  as a result , the frequency measured by the counter decreases, then it crosses zero and it restarts to increase up to to ghz .this is due to the fact that the frequency counter measures the absolute value of the frequency difference between the 2 lasers , regardless of the sign . in the measuring setup ,there are several components that cut the low frequency resulting in the absence of data from the counter near 0 frequency .the data from the counter , are processed in the following way .we compute the difference after interpolating the data to ensure that and are taken at the same instant ( see fig.[fig_difference_simulation ] ) .the frequency difference represents the error we commit in our doppler compensation and it includes the natural drift of the beatnote .the remaining linear drift is 5.76 hz / s .  in fig .[ fig_difference_simulation ] , we see the natural relative drift of our lasers but the large signature of the doppler effect is entirely compensated , ie. the actual frequency sweep corresponds to the intended one to within the natural drift of our lasers .this result also justifies neglecting the dispersion effect ( see section [ linear ] ) for our purposes . when computing the psd and the allan deviation of ( fig.[fig_simulationpsd ] and [ fig_simulationallan ] ) we see slightly larger noise than when applying a linear sweep or no sweep , but which is still sufficiently low for our purposes .to maximize the returning signal power we amplify the signal from our stabilized emitting laser using a multiple stage nufern fibre amplifier ( max .50 w output ) . typically such amplifiers are specified for a minimum seed laser linewidth of about 10 khz , but our stabilized laser has much lower linewidth ( around 25 hz ) and we require the amplified light to have the same stability characteristics as the seed laser . to ensure that this is the case we have tested a 10 w model of the same amplifier ( on loan from nufern ) before acquiring our 50 w version . as shown below , the phase noise added by the amplifier is negligible for our purposes , so we use it to amplify our emission laser as the last stage before injection into the telescope .if this had not been the case we could have stabilized the laser+amplifier ( extracting a small fraction of light before the telescope ) on our fibre spool at the cost of higher complexity .it turns out that this is not necessary .  for the amplifier phase noise measurementwe have used a mach - zender setup as shown in figure [ fig_setup_amplified ] .the emitting laser , that is frequency stabilized , is split in 2 parts : one part passes in a fiber pigtailed aom , which shifts its frequency by 80 mhz , the second is amplified and 1 mw is split off the amplified beam to perform the measurement .the beat - note at 80 mhz is measured as described in sect .[ set - up ] .[ fig_results_amplifier ] shows the measurements done with and without amplifier ( short - circuiting the amplifier in fig .[ fig_setup_amplified ] ) , the latter characterizes the noise floor of our measurements system .  from fig .[ fig_results_amplifier ] we conclude that the psd of the frequency noise added by the amplifier is at or below 10 hz in fractional frequency ( 8 x 10 hz/hz in absolute frequency ) for 10 hz 10 khz , and well below the noise of our stabilized emitting laser at all frequencies .the peak at 20 hz is most likely due to pressure fluctuations in the laboratory ( which we have investigated seperately ) and the noise above 10 khz is consistent with the phase noise of our frequency counter .it seems clear that the observed noise is the noise floor of the measuring setup , so the actual phase noise added by the amplifier is likely to be below that . for comparison , a flat psd ( white frequency noise ) at 8 x 10 hz/hz corresponds to a line - width of 25 mhz , ie .we expect that the amplifier does not degrade any seed signal as narrow as that or below , which is remarkable .we have presented an original laser system designed for ground to low earth orbit satellite coherent optical links .the aim was to develop a system that is capable to cope with the high doppler dynamics ( ghz with rates up to 120 mhz / s ) whilst displaying state of the art frequency stability in order to be limited by phase noise from atmospheric turbulence rather than the laser stability .our solution is based on laser stabilization using unequal arm fibre interferometers closely inspired by .based on simulated satellite doppler shifts and expected turbulence conditions taken from we demonstrate that our system satisfies these requirements .a system with better stability was reported in , however with sweep rates no higher than 40 mhz / s and range ghz , that are insufficient for our purposes .much broader and faster tuning was reported in , however with insufficient stability for our purposes .we combine both these features in a compromise between performance and compactness as it has to be moved frequently to astronomical sites where it will be used to realize first coherent ground - satellite optical doppler ranging .the system has been transported from paris to the observatoire de la cte dazur in southern france where it was used with the 1.5 m lunar / satellite ranging telescope .first tests have encountered difficulties because of the impossibility of using the in situ adaptive optics system as planned .further tests are planned for 2014 after an upgrade of the adaptive optics system .helpful discussions with giorgio santarelli and sbastien bize are greatfully acknowledged .we would also like to thank yann le coq , laurent volodimer , jos pinto and michel lours for their valuable contributions .this work was supported by cnes research grant ( r - s09/su-0001 - 021 ) da 10069354 , financing by lne and by the action spcifique gram ( insu / inp / cnes ) .= time delay due to arm inbalance .in closed loop operation , the error signals are zero , implying for the emission laser ( yag laser ( 2 ) ) and for the local oscillator ( fiber laser ( 1)).,title="fig : " ] +    , = laser frequency = 282 thz ) .black : beatnote between the 2 stabilized lasers .red : beatnote between the stabilized emitting laser and an independent reference .blue : expected noise of the turbulence weighted by the transfer function according to ( [ eq_3]).,title="fig:",scaledwidth=100.0% ] +   ) between the 2 lasers when the local oscillator ( lo ) is linearly swept at 1 ghz / s over more than 20 ghz .bottom : residuals of the beatnote after linear ( black ) and quadratic ( red ) fitting.,title="fig : " ] +

Abstract: we present the experimental realization of a laser system for ground to satellite optical doppler ranging at the atmospheric turbulence limit . such a system needs to display good frequency stability ( a few parts in ) whilst allowing large and well controlled frequency sweeps of ghz at rates exceeding 100 mhz / s . furthermore it needs to be sufficiently compact and robust for transportation to different astronomical observation sites where it is to be interfaced with satellite ranging telescopes . we demonstrate that our system fulfills those requirements and should therefore allow operation of ground to low earth orbit satellite coherent optical links limited only by atmospheric turbulence .


in this paper , we describe an algorithm to create a wait - free stack .a concurrent data structure is said to be wait - free if each operation is guaranteed to complete within a finite number of steps . in comparison, the data structure is said to be lock - free if at any point of time , at least one operation is guaranteed to complete in a finite number of steps .lock - free programs will not have deadlocks but can have starvation , whereas wait - free programs are starvation free .wait - free stacks have not received a lot of attention in the past , and we are not aware of algorithms that are particularly tailored to creating a generalized wait - free stack .however , approaches have been proposed to create wait - free stacks with certain restrictions  ,  ,  ,  , and with universal constructions  ,  .the main reason that it has been difficult to create a wait - free stack is because there is a lot of contention at the stack top between concurrent and operations .it has thus been hitherto difficult to realize the gains of additional parallelism , and also guarantee completion in a finite amount of time .the crux of our algorithm is as follows .we implement a stack as a linked list , where the pointer points to the stack top .each operation adds an element to the linked list , and updates the pointer .both of these steps are done atomically , and the overall operation is linearizable ( appears to execute instantaneously ) .however , the operation does not update the pointer .this design decision has been made to enable more parallelism , and reduce the time per operation .it instead scans the list starting from the pointer till it reaches an unmarked node .once , it reaches an unmarked node , it marks it and returns the node as the result of the operation . over time , more and more nodes get marked in the stack .to garbage collect such nodes we implement a operation that can be invoked by both the and operations .the cleanup operation removes a sequence of consecutively marked nodes from the list . in our algorithm, we guarantee that at no point of time the size of the list is more than times the size of the stack ( number of pushes - pops ) .this property ensures that operations complete within a finite amount of time . here , is a user defined parameter and it needs to be set to an optimal value to ensure the best possible performance .the novel feature of our algorithm is the operation that always keeps the size of the stack within limits .it does not allow the number of marked nodes that have already been popped to indefinitely grow .the other novel feature is that concurrent and operations do not cross each others paths .moreover , all the operations can take place concurrently .this allows us to have a linearizable operation . in this paper , we present our basic algorithm along with proofs of important results .readers can find the rest of the pseudo code , asymptotic time complexities , and proofs in the appendices .in 1986 , treiber  proposed the first lock - free implementation of a concurrent stack .he employed a linked list based data structure , and in his implementation , both the and operations modified the pointer using cas instructions .subsequently , shavit et al . and hendler et al . designed a linearizable concurrent stack using the concept of software combining . here ,they group concurrent operations , and operate on the entire group .  in 2004 , hendler et al . proposed a highly scalable lock - free stack using an array of lock - free exchangers known as an elimination array .if a operation is paired with a operation , then the baseline data structure need not be accessed .this greatly enhances the amount of available parallelism , and is known to be one of the most efficient implementations of a lock - free stack .this technique can be incorporated in our design as well .subsequently , bar - nissan et al . have augmented this proposal with software combining based approaches .recently , dodds et al . proposed a fast lock - free stack , which uses a timestamp for ordering the and operations .the restricted wait - free algorithms for the stack data structure proposed so far by the researchers are summarized in table [ tab : rel ] .    _ author _ & _ primitives _ & _ remarks _ +  & & 1 .copies every global update to the private copy of every thread .+ & & 2 . replicates the stack data structure times ( # threads ) .+  afek et al . & f&a , & 1 .requires a semi - infinite array ( impractical ) .+ 2006 ] & tas & 2 .unbounded stack size .+  hendler et al . & & 1 .dcas not supported in modern hardware + 2006 ] & & 2 .variation of an implementation of a shared counter .+  fatourou et al . & ll / sc , & 1 .copies every global update to the private copy of every thread .+ 2011 ] & f&a & 2 .relies on wait - free implementation of f&a in hardware .+ david et al .2011  & bh object & 1 .supports at the most two concurrent pop operations +  +  +  -3 mm  the - stack proposed in  employs a semi - infinite array as its underlying data structure .a operation obtains a unique index in the array ( using getandincrement ( ) ) and writes its value to that index .a operation starts from the top of the stack , and traverses the stack towards the bottom .it marks and returns the first unmarked node that we find .our operation is inspired by this algorithm .due to its unrestricted stack size , this algorithm is not practical .david et al . proposed another class of restricted stack implementations .their implementation can support a maximum of two concurrent operations .kutten et al . suggest an approach where a wait - free shared counter can be adapted to create wait - free stacks .however , their algorithm requires the dcas ( double cas ) primitive , which is not supported in contemporary hardware .wait - free universal constructions are generic algorithms that can be used to create linearizable implementations of any object that has valid sequential semantics .the inherent drawback of these approaches is that they typically have high time and space overheads ( creates local copies of the entire ( or partial ) data structure ) . a recent proposal by fatourou et al . can be used to implement stacks and queues .the approach derives its performance improvement over the widely accepted universal construction of herlihy  by optimizing on the number of shared memory accesses .algorithm [ alg : node ] shows the class , which represents a node in a stack .it has a , and pointers to the next ( ) and previous nodes ( ) respectively .note that our stack is not a doubly linked list , the next pointer is only used for reaching consensus on which node will be added next in the stack .  to support operations , every node has a field .the field contains the i d of the thread that created the request .the field and is an atomic integer and is used to clean up the stack .  *class node * +  +  +  +  +  +  +  / * initially set to 0 * / +  in our wait - free stack , the nodes are arranged as a linked list .initially , the list contains only the node , which is a dummy node .as we push elements , the list starts to grow .the pointer points to the current stack top .the operation starts by choosing a phase number ( in a monotonically increasing manner ) , which is greater than the phase numbers of all the existing push operations in the system .this phase number along with a reference to the node to be pushed and a flag indicating the status of the operation are saved in the array in an atomic step .after this , the thread scans the array and finds out the thread , which has a request with the least phase number .note that , the thread found out by in the last step might be itself .next , helps in completing s operation . at this point of time, some threads other than might also be trying to help , and therefore , we must ensure that s operation is applied exactly once .this is ensured by mandating that for the completion of any request , the following steps must be performed in the exact specified order :  1 .  modify the state of the stack in such a manner that all the other requests in the system must come to know that a request is in progress and additionally they should be able to figure out the details required by them to help .2 .  update the status flag to in s entry in the array .3 .  update the pointer to point to the newly pushed node .the operation has been designed in such a manner that it does not update the pointer .this decision has the dual benefit of eliminating the contention between concurrent and operations , as well as enabling the parallel execution of multiple operations .the operation starts by scanning the linked list starting from the stack s top till it reaches an unmarked node .once , it gets an unmarked node , it marks it and returns the node as a result of the operation .note that there is no helping in the case of a operation and therefore , we do not need to worry about a operation being executed twice . over time , more and more nodes get marked in the stack . to garbage collect such nodes we implement a operation that can be invoked by both the and operations .   the first step in pushing a node is to create an instance of the class .it contains the reference to a node ( ) , a boolean variable that indicates the status of the request , and a phase number ( ) to indicate the age of the request .let us now consider the method ( line [ line : push ] ) .we first get the phase number by atomically incrementing a global counter . once the is created and its phase is initialized , it is saved in the array .subsequently , we call the function to actually execute the request.  the function ( line [ line : help ] ) finds the request with the least phase number that has not been pushed yet .if there is no such request , then it returns .otherwise it helps that request ( ) to complete by calling the method .after helping , we check if the request that was helped is the same as the request that was passed as an argument to the function ( ) in line [ line : help ] .if they are different requests , then we call for the request in line [ line : attachreq ] .this is a standard construction to make a lock - free method wait - free ( refer to  ) .  in the function , we first read the value of the pointer , and its field . if these fields have not changed between lines [ read1 ] and [line : notlast ] , then we try to find the status of the request in line [ line : ifdone ] .note that we check that is equal to null , and is equal to false in the previous line ( line [ line : nextnull ] ) .the field is made true after the pointer has been updated .hence , in line [ line : nextnull ] , if we find it to be true then we need to abort the current iteration and read the pointer again .  * class pushop * +  +  +  +  + * push*( , ) [ line : push ] +  +  new (,, (, ) ) + announce[tid ]  + ( ) +  * help*( ) [ line : help ] + ( , )  \ { ( , )  ,  ] , = * true * } + ( ) +   let us now consider the , , and functions .their functionality at a high level is very similar to the and methods . here, we first create a that has four fields : ( similar to phase in ) , , ( whether the delete has been finished or not ) , and the value of the node .akin to the function , we add the newly created to a global array of in line [ line : alldel ] .subsequently , we call the function .this function finds a pending request with the minimum phase in the array , and returns the request as .subsequently , we invoke .  note that at this stage it is possible for multiple threads to read the same value of the request with the minimum phase number .it is also possible for different sets of threads to have found different requests to have the minimum phase .for example , if a request with phase 2 ( ) got added to the array before the request with phase 1 ( ) , then a set of threads might be trying to perform on , and another set might be trying to perform on .our aim in the function is to ensure that only one set goes through to the next stage .it takes two arguments : ( request ) and ( phase number ) .we adopt a strategy similar to the one adopted in the function .we define a global atomic variable , .if a delete is not pending ( line [ line : deluniquepending ] ) on , we read its contents , and try to perform a cas operation on it .we try to atomically replace its current contents with the argument , .note that at this stage , only one set of threads will be successful . beyond this point, all the threads will be working on the same deleterequest .they will then move on to call the function that will finish the delete request . for threads that are not successful in the cas operation , or threads that find that the current request contained in a delete pending will also call the function .this is required to ensure wait freedom .  * helpfinishdelete * ( ) +  ( ) [ line : currreada ] +  [ line : endidxa ] + / * search for the request from the * / +  +  + [ line : sentinela ]     lastly , let us describe the function in algorithm [ alg : helpfinishdeletea ] .we first read the current request from the atomic variable , in line [ line : currreada ] .if the request is not pending , then some other helper has completed the request , and we can return from the function . however , if this is not the case , then we need to complete the delete operation .our aim now is to find the , , and .we search for these nodes starting from the stack top .the index of the is equal to the index of the node in the current request ( ) + . is set to this value in line [ line : endidxa ] .subsequently , in lines [ line : righta][line : sentinela ] , we start from the top of the stack , and keep traversing the pointers till the index of is equal to . once , the equality condition is satisfied lines [ line : righta ] and [ line : lefta ] give us the pointers to the and respectively .if we are not able to find the , then it means that another helper has successfully deleted the nodes .we can thus return .the next task is to find the .the is hops away from the .lines [ line : targetstarta][line : targetenda ] run a loop times to find the target . note that we shall never have any issues with null pointers because is set to itself .once , we have found the target , we need to perform a cas operation on the pointer of the .we accomplish this in line [ line : rightcasa ] . if the pointer of is equal to , then we set it to .this operation removes entries ( from to ) from the list .the last step is to set the status of the field in the current request ( ) to false ( see line [ line : setpendinga ] ) .

Abstract: in this paper , we describe a novel algorithm to create a concurrent wait - free stack . to the best of our knowledge , this is the first wait - free algorithm for a general purpose stack . in the past , researchers have proposed restricted wait - free implementations of stacks , lock - free implementations , and efficient universal constructions that can support wait - free stacks . the crux of our wait - free implementation is a fast operation that does not modify the stack top ; instead , it walks down the stack till it finds a node that is unmarked . it marks it but does not delete it . subsequently , it is lazily deleted by a operation . this operation keeps the size of the stack in check by not allowing the size of the stack to increase beyond a factor of as compared to the actual size . all our operations are wait - free and linearizable .