الگوریتم پس‌رو-پیش‌رو
احتمالات رو به جلو (پسین)

در توضیحات پیش رو به جای توزیع احتمالاتی، از ماتریس احتمالاتی استفاده می‌شود. در حالت عمومی از الگوریتم پس‌رو-پیش‌رو می‌توان هم در مدل‌های پیوسته و هم در مدل‌های گسستهٔ احتمالاتی استفاده کرد.
ما توزیعات احتمالاتی مربوط به مدل پنهان مارکف را به ماتریس احتمالاتی تبدیل می‌کنیم. احتمالات \ \mathbf {P} (X_{t}\mid X_{t-1}) (با متغیر تصادفی  X_{t}) که تمامی حالات مدل پنهان مارکف را بیان می‌کند، به صورت ماتریس احتمالاتی  \mathbf {T}   نشان داده خواهند شد که در آن ستون‌ها با شاخص  i نمایندهٔ حالت پایانی هستند و ردیف‌ها با شاخص  j نمایندهٔ حالت آغازین. گذار(انتقال) از حالت بردار ردیفی  \mathbf {\pi _{t}}  به حالت بردار ردیفی افزایش یافته  \mathbf {\pi _{t+1}}  به صورت  \mathbf {\pi _{t+1}} =\mathbf {\pi _{t}} \mathbf {T}  نشان داده می‌شود. مثال زیر نشان دهندهٔ یک سیستم است که احتمال ماندن یک حالت در جای خودش بعد از هر مرحله ۷۰٪ و احتمال تبدیل شدن به حالت دیگر ۳۰٪ است. ماتریس انتقال به صورت زیر است:
در مدل مارکف معمولی ما حالت فعلی را در این ماتریس ضرب می‌کردیم تا احتمالات حالت بعدی را به دست آوریم. اما در مدل پنهان مارکف حالت فعلی پنهان است و در عوض ما وقایع مرتبط با حالت فعلی را مشاهده می‌کنیم. یک ماتریس وقایع به صورت زیر است که احتمال مشاهده شدن هر واقعه را در هر حالت خاص بیان می‌کند:
در این مثال احتمال مشاهده شدن واقعهٔ یک زمانی که در حالت اول هستیم ۹۰٪ است در حالی که احتمال مشاهده شدن واقعهٔ دو زمانی که در حالت اول هستیم ۱۰٪ می‌باشد. به همین ترتیب واقعهٔ یک تنها ۲۰٪ اوقات مشاهده می‌شود اگر در حالت دوم باشیم و واقعهٔ دو با احتمال ۸۰٪ در حالت دوم قابل مشاهده است. هر بردار افقی دلخواه نشان دهندهٔ یک حالت از سیستم است( \mathbf {\pi } ) و احتمال مشاهدهٔ واقعه j به صورت زیر است:
ما می‌توانیم با جبر ماتریسی این عمل را به این صورت نشان بدهیم که بردار افقی  \mathbf {\pi }   را در ماتریس مشاهده  \mathbf {O_{j}} =\mathrm {diag} (b_{*,o_{j}}) ضرب کنیم. این ماتریس یک ماتریس قطری است یعنی به جز قطر اصلی تمامی درایه‌های آن صفر هستند و در درایه‌های قطر اصلی آن احتمال رویداد آن واقعه خاص در حالت مربوط به آن درایه وجود دارد. ماتریس مشاهدهٔ برای واقعهٔ یک به صورت زیر است:
این به ما اجازه می‌دهد تا با استفاده از قضیهٔ بیز بردار احتمالاتی غیرنرمال شدهٔ  \mathbf {\pi '}  را به دست آوریم. چون می‌دانیم احتمال این که هر عنصر \mathbf {\pi }  رویداد یک را تولید کند به صورت زیر است:
اکنون ما می‌توانیم این روش کلی را به مجموعه ای از مشاهدات خود اختصاص دهیم. فرض می‌کنیم بردار حالت اولیه ما  \mathbf {\pi _{0}} ,>(که می‌تواند به صورت بازگشتی بهینه شود). به این صورت شروع می‌کنیم:
این فرایند می‌تواند رو به جلو (پس) تکرار شود و از مشاهدات اضافی و جدید نیز استفاده شود:
نتیجه یک بردار پسین غیرنرمال احتمالاتی است. i اُمین ورودی این بردار نتیجه می‌دهد:
به‌طور معمول ما در هر مرحله این بردار را نرمال می‌کنیم (جمع ورودی‌ها را یک می‌کنیم) یک عامل مقیاس گذاری را در هر مرحله به صورت زیر معرفی می‌کنیم:
که در آن  \mathbf {{\hat {f}}_{0:t-1}}   نشان دهنده بردار مقیاس‌پذیر از مرحله قبلی و   c_{t} نشان دهنده عامل مقیاس است که باعث می‌شود مجموع ورودی‌ها یک شود. ضرب عوامل مقیاس احتمال کامل مشاهدهٔ وقایع را بدون در نظر گرفتن شرایط نهایی به ما می‌دهد:
ای به ما اجازه می‌دهد که بردار احتمالاتی مقیاس‌پذیر را این‌گونه تفسیر کنیم:
پس تا به حال نتیجه گرفتین که ضرب عوامل مقیاس، احتمال حقیقی مشاهدهٔ توالی مورد نظر تا زمان t را مهیا می‌کند و این که بردار احتمالاتی اسکیل شده به ما احتمال بودن در هر حالت را در زمان می‌دهد.