RLS Algorithm (Memoryless)
In its bare classical form the RLS algorithm, recursively (for every new iteration), solves the classical problem of least squares; by computing the optimal FIR transversal filter coefficients $w[n]$ which minimizes the sum of error squares between the produced filter output $y[n]$ and a desired response $d[n]$ where the error sum is based on the entire data set beginning from the first sample $y[0]$ to the last sample (the current sample) $y[n]$. Therefore as time progresses, $n \to \infty$, the range of data set also goes to infinity, which means that the memory of the algorithm is infinite; i.e., the current value of the output $y[n]$ and the FIR coefficients $w[n]$ depend (indirectly via recursion) on the entire sample set.

A consequence of the infinite memory is that the estmation becomes more and more exact and refined given that the inputs were WSS random process. On the other hand a clear drawback of this infinite memory dependency is the fact that if the inputs are not WSS then the filter response to reflect the new conditions is slow (the entire past which is irrelevant to the current computation still effects the output due to infinite memory) and tracking is lost.

In order to improve this last situation, and therefore to make the algorithm track non stationary inputs, its memory should be shortened; i.e., only a finite amount of last local samples should effect the current computations. This is achieved by a forgetting factor $\lambda$ embedded into the recursion equations. The range of $\lambda$ is between $0$ and $1$ where $\lambda = 1$ converts the algorithm to classical form with infinite memory with no tracking and $\lambda \to 0$ has less and less memory and more responsive with better tracking...