20.4 Codificador de orden N

  1. Sea c[i] el contexto actual de orden i y sea L[c[i]] la lista de predicción asociada al contexto c[i] o lo que es lo mismo, la lista de símbolos que alguna vez han sucedido a la cadena c[i].
  2. Sea i k el orden de predicción.
  3. Sea H la lista de símbolos diferentes de predicción probados.
  4. Mientras s∕∈L[c[i]]:
    1. H H + L[c[i]], acumulando aquellos símbolos que son probados por primera vez. Esto significa que H no almacenará más de una vez el mismo símbolo en ningún momento.
    2. Actualizar s en L[c[i]] según el método PBT de orden 0.
    3. i i - 1.
  5. Sea e la posición de s en L[c[i]] (el error de predicción).
  6. e e + size(H) (el número de símbolos en H). Así, sumamos todos los errores de predicción para contextos superiores.
  7. Emitir el código correspondiente al error de predicción e.
  8. Actualizar s en L[c[i]] segín el método PBT de orden 0.